diff --git a/CMakeLists.txt b/CMakeLists.txt index d002e4e2..ead72009 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,7 @@ option(ENABLE_WASM "" OFF) option(ENABLE_WERROR "" OFF) option(ENABLE_WEXTRA "" OFF) option(IGNORE_EMPTY_BUILD_TYPE "" OFF) +option(BUILD_UNITY_PLUGIN "Build plugin library for Unity" OFF) option(BUILD_FOR_GLTF "" OFF) if (BUILD_FOR_GLTF) @@ -100,6 +101,10 @@ endif () if (ENABLE_GOMA) set_compiler_launcher(ENABLE_GOMA gomacc) endif () +if (BUILD_UNITY_PLUGIN) + set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared library for unity plugin.") + add_cxx_preproc_definition("BUILD_UNITY_PLUGIN") +endif () if(ENABLE_EXTRA_SPEED) if(MSVC) @@ -467,7 +472,6 @@ set(draco_io_sources set(draco_mesh_sources "${draco_src_root}/mesh/corner_table.cc" "${draco_src_root}/mesh/corner_table.h" - "${draco_src_root}/mesh/corner_table_indices.h" "${draco_src_root}/mesh/corner_table_iterators.h" "${draco_src_root}/mesh/corner_table_traversal_processor.h" "${draco_src_root}/mesh/edgebreaker_observer.h" @@ -480,7 +484,6 @@ set(draco_mesh_sources "${draco_src_root}/mesh/mesh_attribute_corner_table.h" "${draco_src_root}/mesh/mesh_cleanup.cc" "${draco_src_root}/mesh/mesh_cleanup.h" - "${draco_src_root}/mesh/mesh_indices.h" "${draco_src_root}/mesh/mesh_misc_functions.cc" "${draco_src_root}/mesh/mesh_misc_functions.h" "${draco_src_root}/mesh/mesh_stripifier.cc" @@ -573,6 +576,10 @@ set(draco_version_sources "${draco_build_dir}/draco_version.cc" "${draco_build_dir}/draco_version.h") +set(draco_unity_plug_sources + "${draco_src_root}/unity/draco_unity_plugin.cc" + "${draco_src_root}/unity/draco_unity_plugin.h") + include_directories("${draco_root}/src") # @@ -758,6 +765,8 @@ else () add_library(draco_points_enc OBJECT ${draco_points_common_sources} ${draco_points_enc_sources}) + add_library(draco_unity_plugin OBJECT + ${draco_unity_plug_sources}) # Library targets that consume the object collections. add_library(dracodec @@ -817,7 +826,30 @@ else () $ $ $) - + if (BUILD_UNITY_PLUGIN) + add_library(dracodec_unity + MODULE + ${draco_version_sources} + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $) + # For Mac, we need to build a .bundle for plugin. + if (APPLE) + set_target_properties(dracodec_unity PROPERTIES BUNDLE true) + endif () + endif () set(draco_header_only_targets draco_compression_attributes_pred_schemes_dec draco_dec_config @@ -832,6 +864,9 @@ else () set_target_properties(dracodec PROPERTIES SOVERSION 1) set_target_properties(dracoenc PROPERTIES SOVERSION 1) set_target_properties(draco PROPERTIES SOVERSION 1) + if (BUILD_UNITY_PLUGIN) + set_target_properties(dracodec_unity PROPERTIES SOVERSION 1) + endif () endif () extract_version_string("${draco_src_root}/core/draco_version.h" draco_version) @@ -886,6 +921,10 @@ else () # Add install rules for lib and executable targets. install(TARGETS dracodec dracoenc draco DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") + if (BUILD_UNITY_PLUGIN) + install(TARGETS dracodec_unity + DESTINATION "${CMAKE_INSTALL_PREFIX}/lib") + endif () install(TARGETS draco_decoder draco_encoder DESTINATION "${CMAKE_INSTALL_PREFIX}/bin") diff --git a/README.md b/README.md index 60381216..eee67cc9 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,13 @@ News ======= +### Version 1.2.4 release +* Up to 20% faster decoding +* Added support for integer attributes to our Javascript Encoder +* Fixed issues with THREE.DracoLoader not releasing memory associated with the Draco module +* OBJ decoder can now be used to parse pure point clouds +* Added Unity plugins to support runtime loading and design-time importing of encoded Draco files + ### Version 1.2.3 release * Fixed Visual Studio building issue diff --git a/javascript/draco_decoder.js b/javascript/draco_decoder.js index bff09bcf..b25aa191 100644 --- a/javascript/draco_decoder.js +++ b/javascript/draco_decoder.js @@ -1,21 +1,22 @@ var DracoDecoderModule = function(DracoDecoderModule) { DracoDecoderModule = DracoDecoderModule || {}; - var Module = DracoDecoderModule; + var Module = DracoDecoderModule; // included code may refer to Module (e.g. from file packager), so alias it -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]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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 __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}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=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+22496;__ATINIT__.push();allocate([20,18,0,0,151,18,0,0,60,18,0,0,112,18,0,0,8,0,0,0,0,0,0,0,60,18,0,0,180,18,0,0,8,0,0,0,0,0,0,0,60,18,0,0,221,18,0,0,64,0,0,0,0,0,0,0,20,18,0,0,249,18,0,0,60,18,0,0,201,20,0,0,48,0,0,0,0,0,0,0,20,18,0,0,235,20,0,0,60,18,0,0,16,21,0,0,48,0,0,0,0,0,0,0,60,18,0,0,135,35,0,0,88,0,0,0,0,0,0,0,60,18,0,0,64,21,0,0,144,0,0,0,0,0,0,0,60,18,0,0,153,21,0,0,160,0,0,0,0,0,0,0,60,18,0,0,237,21,0,0,176,0,0,0,0,0,0,0,60,18,0,0,33,22,0,0,192,0,0,0,0,0,0,0,20,18,0,0,76,22,0,0,60,18,0,0,112,22,0,0,216,0,0,0,0,0,0,0,20,18,0,0,14,23,0,0,60,18,0,0,87,24,0,0,240,0,0,0,0,0,0,0,60,18,0,0,239,24,0,0,144,0,0,0,0,0,0,0,60,18,0,0,24,26,0,0,240,0,0,0,0,0,0,0,60,18,0,0,73,27,0,0,240,0,0,0,0,0,0,0,60,18,0,0,219,27,0,0,240,0,0,0,0,0,0,0,60,18,0,0,129,28,0,0,240,0,0,0,0,0,0,0,60,18,0,0,28,29,0,0,240,0,0,0,0,0,0,0,60,18,0,0,178,29,0,0,96,1,0,0,0,0,0,0,20,18,0,0,93,30,0,0,60,18,0,0,8,31,0,0,120,1,0,0,0,0,0,0,60,18,0,0,173,31,0,0,144,0,0,0,0,0,0,0,60,18,0,0,67,32,0,0,120,1,0,0,0,0,0,0,60,18,0,0,234,32,0,0,120,1,0,0,0,0,0,0,60,18,0,0,137,33,0,0,120,1,0,0,0,0,0,0,60,18,0,0,60,34,0,0,120,1,0,0,0,0,0,0,60,18,0,0,228,34,0,0,120,1,0,0,0,0,0,0,60,18,0,0,214,56,0,0,112,0,0,0,0,0,0,0,60,18,0,0,44,40,0,0,248,1,0,0,0,0,0,0,60,18,0,0,157,40,0,0,160,0,0,0,0,0,0,0,60,18,0,0,202,42,0,0,24,2,0,0,0,0,0,0,20,18,0,0,128,43,0,0,60,18,0,0,231,45,0,0,48,2,0,0,0,0,0,0,60,18,0,0,151,46,0,0,248,1,0,0,0,0,0,0,60,18,0,0,56,47,0,0,80,2,0,0,0,0,0,0,20,18,0,0,251,47,0,0,60,18,0,0,190,48,0,0,104,2,0,0,0,0,0,0,60,18,0,0,123,49,0,0,248,1,0,0,0,0,0,0,60,18,0,0,205,50,0,0,136,2,0,0,0,0,0,0,60,18,0,0,49,51,0,0,160,0,0,0,0,0,0,0,60,18,0,0,144,51,0,0,168,2,0,0,0,0,0,0,20,18,0,0,57,52,0,0,60,18,0,0,226,52,0,0,192,2,0,0,0,0,0,0,60,18,0,0,133,53,0,0,136,2,0,0,0,0,0,0,60,18,0,0,25,54,0,0,224,2,0,0,0,0,0,0,20,18,0,0,207,54,0,0,60,18,0,0,133,55,0,0,248,2,0,0,0,0,0,0,60,18,0,0,53,56,0,0,136,2,0,0,0,0,0,0,60,18,0,0,1,57,0,0,112,0,0,0,0,0,0,0,60,18,0,0,153,57,0,0,216,3,0,0,0,0,0,0,60,18,0,0,175,57,0,0,24,3,0,0,0,0,0,0,60,18,0,0,31,61,0,0,144,3,0,0,0,0,0,0,20,18,0,0,208,57,0,0,60,18,0,0,154,58,0,0,96,3,0,0,0,0,0,0,20,18,0,0,100,59,0,0,20,18,0,0,126,59,0,0,60,18,0,0,185,59,0,0,96,3,0,0,0,0,0,0,60,18,0,0,98,60,0,0,96,3,0,0,0,0,0,0,20,18,0,0,107,61,0,0,60,18,0,0,153,61,0,0,144,3,0,0,0,0,0,0,60,18,0,0,239,61,0,0,144,3,0,0,0,0,0,0,60,18,0,0,92,62,0,0,24,3,0,0,0,0,0,0,60,18,0,0,66,62,0,0,96,3,0,0,0,0,0,0,20,18,0,0,124,62,0,0,60,18,0,0,175,63,0,0,216,3,0,0,0,0,0,0,60,18,0,0,209,63,0,0,216,3,0,0,0,0,0,0,60,18,0,0,218,64,0,0,16,4,0,0,0,0,0,0,20,18,0,0,93,65,0,0,20,18,0,0,221,79,0,0,60,18,0,0,61,80,0,0,48,4,0,0,0,0,0,0,60,18,0,0,234,79,0,0,64,4,0,0,0,0,0,0,20,18,0,0,11,80,0,0,60,18,0,0,24,80,0,0,32,4,0,0,0,0,0,0,60,18,0,0,46,81,0,0,24,4,0,0,0,0,0,0,60,18,0,0,95,81,0,0,48,4,0,0,0,0,0,0,60,18,0,0,59,81,0,0,104,4,0,0,0,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,48,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,72,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,9,0,0,0,5,0,0,0,0,0,0,0,88,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,3,0,0,0,4,0,0,0,11,0,0,0,12,0,0,0,5,0,0,0,0,0,0,192,0,0,0,0,96,0,0,0,10,0,0,0,11,0,0,0,1,0,0,0,13,0,0,0,14,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,112,0,0,0,12,0,0,0,13,0,0,0,6,0,0,0,10,0,0,0,3,0,0,0,4,0,0,0,18,0,0,0,12,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,7,0,0,0,19,0,0,0,0,0,0,0,144,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,1,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,16,0,0,0,12,0,0,0,8,0,0,0,13,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,1,0,0,0,0,0,0,0,64,1,0,0,14,0,0,0,17,0,0,0,14,0,0,0,8,0,0,0,15,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,2,0,0,0,0,0,0,0,48,1,0,0,14,0,0,0,18,0,0,0,16,0,0,0,8,0,0,0,17,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,3,0,0,0,0,0,0,0,32,1,0,0,19,0,0,0,20,0,0,0,18,0,0,0,8,0,0,0,19,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,0,0,0,0,16,1,0,0,21,0,0,0,22,0,0,0,20,0,0,0,8,0,0,0,21,0,0,0,22,0,0,0,24,0,0,0,25,0,0,0,10,0,0,0,11,0,0,0,26,0,0,0,5,0,0,0,0,0,0,0,0,1,0,0,23,0,0,0,24,0,0,0,23,0,0,0,8,0,0,0,24,0,0,0,25,0,0,0,27,0,0,0,28,0,0,0,10,0,0,0,11,0,0,0,29,0,0,0,6,0,0,0,0,0,0,0,224,0,0,0,25,0,0,0,26,0,0,0,26,0,0,0,8,0,0,0,27,0,0,0,28,0,0,0,30,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,32,0,0,0,7,0,0,0,0,0,0,0,200,0,0,0,27,0,0,0,28,0,0,0,33,0,0,0,29,0,0,0,2,0,0,0,0,0,0,0,200,1,0,0,14,0,0,0,29,0,0,0,30,0,0,0,8,0,0,0,31,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,184,1,0,0,14,0,0,0,30,0,0,0,32,0,0,0,8,0,0,0,33,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,9,0,0,0,0,0,0,0,168,1,0,0,31,0,0,0,32,0,0,0,34,0,0,0,8,0,0,0,35,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,34,0,0,0,10,0,0,0,0,0,0,0,152,1,0,0,33,0,0,0,34,0,0,0,36,0,0,0,8,0,0,0,37,0,0,0,38,0,0,0,35,0,0,0,36,0,0,0,10,0,0,0,11,0,0,0,37,0,0,0,11,0,0,0,0,0,0,0,136,1,0,0,35,0,0,0,36,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,41,0,0,0,38,0,0,0,39,0,0,0,10,0,0,0,11,0,0,0,40,0,0,0,12,0,0,0,0,0,0,0,104,1,0,0,37,0,0,0,38,0,0,0,42,0,0,0,8,0,0,0,43,0,0,0,44,0,0,0,41,0,0,0,42,0,0,0,10,0,0,0,11,0,0,0,43,0,0,0,13,0,0,0,0,0,0,0,80,1,0,0,39,0,0,0,40,0,0,0,44,0,0,0,45,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,12,0,0,0,41,0,0,0,9,0,0,0,10,0,0,0,3,0,0,0,10,0,0,0,18,0,0,0,12,0,0,0,7,0,0,0,11,0,0,0,2,0,0,0,46,0,0,0,45,0,0,0,0,0,0,0,232,1,0,0,42,0,0,0,43,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,46,0,0,0,47,0,0,0,51,0,0,0,52,0,0,0,48,0,0,0,14,0,0,0,0,0,0,0,88,2,0,0,44,0,0,0,45,0,0,0,53,0,0,0,48,0,0,0,54,0,0,0,55,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,51,0,0,0,15,0,0,0,0,0,0,0,64,2,0,0,46,0,0,0,47,0,0,0,52,0,0,0,56,0,0,0,4,0,0,0,0,0,0,0,32,2,0,0,48,0,0,0,49,0,0,0,57,0,0,0,48,0,0,0,58,0,0,0,59,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,55,0,0,0,16,0,0,0,0,0,0,0,8,2,0,0,50,0,0,0,51,0,0,0,56,0,0,0,60,0,0,0,5,0,0,0,0,0,0,0,120,2,0,0,42,0,0,0,52,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,57,0,0,0,58,0,0,0,65,0,0,0,66,0,0,0,59,0,0,0,17,0,0,0,0,0,0,0,232,2,0,0,53,0,0,0,54,0,0,0,67,0,0,0,62,0,0,0,68,0,0,0,69,0,0,0,60,0,0,0,61,0,0,0,65,0,0,0,66,0,0,0,62,0,0,0,18,0,0,0,0,0,0,0,208,2,0,0,55,0,0,0,56,0,0,0,63,0,0,0,70,0,0,0,6,0,0,0,0,0,0,0,176,2,0,0,57,0,0,0,58,0,0,0,71,0,0,0,62,0,0,0,72,0,0,0,73,0,0,0,64,0,0,0,65,0,0,0,65,0,0,0,66,0,0,0,66,0,0,0,19,0,0,0,0,0,0,0,152,2,0,0,59,0,0,0,60,0,0,0,67,0,0,0,74,0,0,0,7,0,0,0,0,0,0,0,8,3,0,0,61,0,0,0,62,0,0,0,12,0,0,0,10,0,0,0,3,0,0,0,13,0,0,0,18,0,0,0,12,0,0,0,7,0,0,0,14,0,0,0,1,0,0,0,7,0,0,0,68,0,0,0,75,0,0,0,69,0,0,0,0,0,0,0,24,3,0,0,63,0,0,0,64,0,0,0,76,0,0,0,77,0,0,0,1,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,70,0,0,0,71,0,0,0,1,0,0,0,0,0,0,0,40,3,0,0,65,0,0,0,66,0,0,0,76,0,0,0,83,0,0,0,72,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,84,0,0,0,85,0,0,0,73,0,0,0,74,0,0,0,86,0,0,0,0,0,0,0,56,3,0,0,67,0,0,0,68,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,0,0,0,0,80,3,0,0,69,0,0,0,70,0,0,0,79,0,0,0,91,0,0,0,0,0,0,0,72,3,0,0,71,0,0,0,72,0,0,0,73,0,0,0,0,0,0,192,0,0,0,0,112,3,0,0,74,0,0,0,75,0,0,0,80,0,0,0,92,0,0,0,0,0,0,0,104,3,0,0,76,0,0,0,77,0,0,0,78,0,0,0,0,0,0,0,128,3,0,0,79,0,0,0,80,0,0,0,81,0,0,0,93,0,0,0,0,0,0,0,152,3,0,0,81,0,0,0,82,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,0,0,0,0,168,3,0,0,83,0,0,0,84,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,0,0,0,0,184,3,0,0,63,0,0,0,85,0,0,0,76,0,0,0,77,0,0,0,90,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,70,0,0,0,71,0,0,0,102,0,0,0,0,0,0,0,200,3,0,0,86,0,0,0,87,0,0,0,91,0,0,0,103,0,0,0,0,0,0,0,216,3,0,0,63,0,0,0,88,0,0,0,104,0,0,0,77,0,0,0,1,0,0,0,105,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,0,0,0,0,224,3,0,0,63,0,0,0,89,0,0,0,104,0,0,0,77,0,0,0,92,0,0,0,106,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,0,0,0,0,240,3,0,0,63,0,0,0,90,0,0,0,104,0,0,0,77,0,0,0,93,0,0,0,107,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,0,0,0,192,0,0,0,192,0,0,0,0,0,4,0,0,91,0,0,0,92,0,0,0,8,0,0,0,3,0,0,0,0,0,0,192,0,0,0,0,16,4,0,0,93,0,0,0,94,0,0,0,9,0,0,0,4,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,24,14,0,0,5,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,204,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,16,0,0,0,212,83,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,212,79,0,0,0,0,0,0,32,4,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,19,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,72,4,0,0,95,0,0,0,99,0,0,0,97,0,0,0,98,0,0,0,19,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,88,4,0,0,100,0,0,0,101,0,0,0,109,0,0,0,78,53,100,114,97,99,111,50,56,65,116,116,114,105,98,117,116,101,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,49,56,65,116,116,114,105,98,117,116,101,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,51,48,65,116,116,114,105,98,117,116,101,81,117,97,110,116,105,122,97,116,105,111,110,84,114,97,110,115,102,111,114,109,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,50,54,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,69,0,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,58,32,99,111,109,112,114,101,115,115,105,111,110,32,108,101,118,101,108,32,37,105,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,10,0,40,118,97,108,46,115,105,122,101,40,41,41,32,61,61,32,40,100,105,109,101,110,115,105,111,110,95,116,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,107,100,95,116,114,101,101,95,97,116,116,114,105,98,117,116,101,115,95,100,101,99,111,100,101,114,46,99,99,0,111,112,101,114,97,116,111,114,61,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,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,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,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,51,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,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,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,102,97,108,115,101,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,119,114,97,112,95,116,114,97,110,115,102,111,114,109,95,98,97,115,101,46,104,0,113,117,97,110,116,105,122,97,116,105,111,110,95,98,105,116,115,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,112,111,114,116,97,98,108,101,95,100,101,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,52,52,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,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,100,101,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,51,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,48,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,48,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,40,113,41,32,62,61,32,40,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,110,111,114,109,97,108,95,99,111,109,112,114,101,115,115,105,111,110,95,117,116,105,108,115,46,104,0,83,101,116,81,117,97,110,116,105,122,97,116,105,111,110,66,105,116,115,0,40,113,41,32,60,61,32,40,51,48,41,0,40,105,110,95,115,41,32,62,61,32,40,48,41,0,79,99,116,97,104,101,114,100,97,108,67,111,111,114,100,115,84,111,85,110,105,116,86,101,99,116,111,114,0,40,105,110,95,116,41,32,62,61,32,40,48,41,0,40,105,110,95,115,41,32,60,61,32,40,49,41,0,40,105,110,95,116,41,32,60,61,32,40,49,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,100,101,99,111,100,105,110,103,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,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,48,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,49,93,41,0,40,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,115,73,110,68,105,97,109,111,110,100,0,40,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,118,101,114,116,68,105,97,109,111,110,100,0,40,42,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,32,37,32,50,41,32,61,61,32,40,49,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([102,111,114,109,95,98,97,115,101,46,104,0,115,101,116,95,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,116,104,105,115,45,62,73,115,73,110,105,116,105,97,108,105,122,101,100,40,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,97,114,101,97,46,104,0,67,111,109,112,117,116,101,80,114,101,100,105,99,116,101,100,86,97,108,117,101,0,40,110,111,114,109,97,108,46,65,98,115,83,117,109,40,41,41,32,60,61,32,40,117,112,112,101,114,95,98,111,117,110,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,98,97,115,101,46,104,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,67,111,114,110,101,114,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,68,97,116,97,73,100,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,100,101,99,111,100,101,114,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,115,0,40,110,117,109,95,99,111,109,112,111,110,101,110,116,115,41,32,61,61,32,40,50,41,0,40,112,114,101,100,95,110,111,114,109,97,108,95,51,100,46,65,98,115,83,117,109,40,41,41,32,61,61,32,40,111,99,116,97,104,101,100,114,111,110,95,116,111,111,108,95,98,111,120,95,46,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,48,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,49,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,50,93,41,41,32,61,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,116,101,103,101,114,86,101,99,116,111,114,84,111,81,117,97,110,116,105,122,101,100,79,99,116,97,104,101,100,114,97,108,67,111,111,114,100,115,0,40,105,41,32,61,61,32,40,48,41,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,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,100,101,99,111,100,105,110,103,95,116,114,97,110,115,102,111,114,109,46,104,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,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,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,46,0,73,110,112,117,116,32,105,115,32,110,111,116,32,97,32,109,101,115,104,46,0,73,110,112,117,116,32,105,115,32,110,111,116,32,97,32,112,111,105,110,116,32,99,108,111,117,100,46,0,115,107,105,112,95,97,116,116,114,105,98,117,116,101,95,116,114,97,110,115,102,111,114,109,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,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,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,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,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,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,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,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,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,70,97,105,108,101,100,32,116,111,32,112,97,114,115,101,32,68,114,97,99,111,32,104,101,97,100,101,114,46,0,68,82,65,67,79,0,78,111,116,32,97,32,68,114,97,99,111,32,102,105,108,101,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,109,101,116,97,100,97,116,97,46,0,85,115,105,110,103,32,105,110,99,111,109,112,97,116,105,98,108,101,32,100,101,99,111,100,101,114,32,102,111,114,32,116,104,101,32,105,110,112,117,116,32,103,101,111,109,101,116,114,121,46,0,85,110,107,110,111,119,110,32,109,97,106,111,114,32,118,101,114,115,105,111,110,46,0,85,110,107,110,111,119,110,32,109,105,110,111,114,32,118,101,114,115,105,111,110,46,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,100,101,99,111,100,101,114,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,103,101,111,109,101,116,114,121,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,112,111,105,110,116,32,97,116,116,114,105,98,117,116,101,115,46,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,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,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,100,101,99,111,100,101,114,95,98,117,102,102,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,114,97,110,115,95,98,105,116,95,100,101,99,111,100,101,114,46,99,99,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,97,116,116,95,105,100,32,62,61,32,48,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,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,70,108,111,97,116,80,111,105,110,116,115,84,114,101,101,68,101,99,111,100,101,114,58,32,99,111,109,112,114,101,115,115,105,111,110,32,108,101,118,101,108,32,37,105,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,10,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,100,121,110,97,109,105,99,95,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,68,101,99,111,100,101,73,110,116,101,114,110,97,108,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,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,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,110,97,109,101,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,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,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,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,37,100,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([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+20480);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){Module["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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;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;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}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["___divdi3"]=___divdi3;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["___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;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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 ___cxa_allocate_exception(size){return _malloc(size)}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_getspecific":_pthread_getspecific,"___syscall54":___syscall54,"_pthread_setspecific":_pthread_setspecific,"___cxa_throw":___cxa_throw,"___gxx_personality_v0":___gxx_personality_v0,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___cxa_begin_catch":___cxa_begin_catch,"___syscall146":___syscall146,"_pthread_once":_pthread_once,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_pthread_key_create":_pthread_key_create,"___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,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM -var asm=(function(global,env,buffer) { -"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_iiii;var ga=env.invoke_viiiii;var ha=env.invoke_vi;var ia=env.invoke_vii;var ja=env.invoke_iiiiiii;var ka=env.invoke_ii;var la=env.invoke_viii;var ma=env.invoke_v;var na=env.invoke_viiiiii;var oa=env.invoke_iii;var pa=env.invoke_viiii;var qa=env._pthread_getspecific;var ra=env.___syscall54;var sa=env._pthread_setspecific;var ta=env.___cxa_throw;var ua=env.___gxx_personality_v0;var va=env.___syscall6;var wa=env.___setErrNo;var xa=env._abort;var ya=env.___cxa_begin_catch;var za=env.___syscall146;var Aa=env._pthread_once;var Ba=env._emscripten_memcpy_big;var Ca=env._pthread_key_create;var Da=env.___syscall140;var Ea=env.___resumeException;var Fa=env.___cxa_find_matching_catch;var Ga=env.___assert_fail;var Ha=env.___cxa_pure_virtual;var Ia=env.___cxa_allocate_exception;var Ja=env.__ZSt18uncaught_exceptionv;var Ka=$(0);const La=$(0);function Ma(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +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]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);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};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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}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"]};function ccall(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)}}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 stop;ptr=ret;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){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+22352;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,KBIAAL8SAABQEgAAmBIAAAgAAAAAAAAAUBIAANwSAAAIAAAAAAAAAFASAAAFEwAAQAAAAAAAAAAoEgAAIRMAAFASAAD9FAAAMAAAAAAAAAAoEgAAHxUAAFASAABEFQAAMAAAAAAAAABQEgAAzSMAAFgAAAAAAAAAUBIAAHQVAACQAAAAAAAAAFASAADNFQAAoAAAAAAAAABQEgAAIRYAALAAAAAAAAAAUBIAAFUWAADAAAAAAAAAACgSAACAFgAAUBIAAKQWAADYAAAAAAAAACgSAABCFwAAUBIAAJEYAADwAAAAAAAAAFASAAApGQAAkAAAAAAAAABQEgAAWBoAAPAAAAAAAAAAUBIAAI8bAADwAAAAAAAAAFASAAAhHAAA8AAAAAAAAABQEgAAxxwAAPAAAAAAAAAAUBIAAGIdAADwAAAAAAAAAFASAAD4HQAAYAEAAAAAAAAoEgAAox4AAFASAABOHwAAeAEAAAAAAABQEgAA8x8AAJAAAAAAAAAAUBIAAIkgAAB4AQAAAAAAAFASAAAwIQAAeAEAAAAAAABQEgAAzyEAAHgBAAAAAAAAUBIAAIIiAAB4AQAAAAAAAFASAAAqIwAAeAEAAAAAAABQEgAAMTkAAHAAAAAAAAAAUBIAAIQoAAD4AQAAAAAAAFASAAD1KAAAoAAAAAAAAABQEgAAGSsAABgCAAAAAAAAKBIAAM8rAABQEgAAPC4AADACAAAAAAAAUBIAAOwuAAD4AQAAAAAAAFASAACNLwAAUAIAAAAAAAAoEgAAUDAAAFASAAATMQAAaAIAAAAAAABQEgAA0DEAAPgBAAAAAAAAUBIAACgzAACIAgAAAAAAAFASAACMMwAAoAAAAAAAAABQEgAA6zMAAKgCAAAAAAAAKBIAAJQ0AABQEgAAPTUAAMACAAAAAAAAUBIAAOA1AACIAgAAAAAAAFASAAB0NgAA4AIAAAAAAAAoEgAAKjcAAFASAADgNwAA+AIAAAAAAABQEgAAkDgAAIgCAAAAAAAAUBIAAFw5AABwAAAAAAAAAFASAAD0OQAA2AMAAAAAAABQEgAACjoAABgDAAAAAAAAUBIAAIA9AACQAwAAAAAAACgSAAArOgAAUBIAAPs6AABgAwAAAAAAACgSAADFOwAAKBIAAN87AABQEgAAGjwAAGADAAAAAAAAUBIAAMM8AABgAwAAAAAAACgSAADMPQAAUBIAAPo9AACQAwAAAAAAAFASAABQPgAAkAMAAAAAAABQEgAAvT4AABgDAAAAAAAAUBIAAKM+AABgAwAAAAAAACgSAADdPgAAUBIAABBAAADYAwAAAAAAAFASAAAyQAAA2AMAAAAAAABQEgAAR0EAABAEAAAAAAAAKBIAANBBAAAoEgAAS08AAFASAACrTwAAMAQAAAAAAABQEgAAWE8AAEAEAAAAAAAAKBIAAHlPAABQEgAAhk8AACAEAAAAAAAAUBIAAI1QAAAYBAAAAAAAAFASAACdUAAAWAQAAAAAAABQEgAA0lAAADAEAAAAAAAAUBIAAK5QAAB4BAAAAAAAAAAAAAAQAAAAAQAAAAIAAAABAAAAAQAAAAEAAAAAAAAAIAAAAAMAAAAEAAAAAgAAAAIAAAACAAAAAAAAADAAAAAFAAAABgAAAAEAAAADAAAABAAAAAUAAAADAAAABAAAAAYAAAABAAAABwAAAAUAAAAAAAAASAAAAAUAAAAHAAAAAQAAAAMAAAAEAAAABQAAAAMAAAAEAAAABgAAAAgAAAAJAAAABQAAAAAAAABYAAAACAAAAAkAAAACAAAACgAAAAMAAAAEAAAACwAAAAwAAAAFAAAAAAAAwAAAAABgAAAACgAAAAsAAAABAAAADQAAAA4AAAAFAAAAAwAAAAQAAAAPAAAAEAAAABEAAAAGAAAAAQAAAAAAAABwAAAADAAAAA0AAAAGAAAACgAAAAMAAAAEAAAAEgAAAAwAAAAHAAAACAAAAAEAAAAHAAAAEwAAAAAAAACQAAAADgAAAA8AAAABAAAACAAAAAEAAAAJAAAAFAAAABUAAAAKAAAACwAAABYAAAABAAAAAAAAAIAAAAAOAAAAEAAAAAwAAAAIAAAADQAAAAkAAAAUAAAAFQAAAAoAAAALAAAAFgAAAAEAAAAAAAAAQAEAAA4AAAARAAAADgAAAAgAAAAPAAAACQAAABQAAAAVAAAACgAAAAsAAAAWAAAAAgAAAAAAAAAwAQAADgAAABIAAAAQAAAACAAAABEAAAAJAAAAFAAAABUAAAAKAAAACwAAABYAAAADAAAAAAAAACABAAATAAAAFAAAABIAAAAIAAAAEwAAAAkAAAAUAAAAFQAAAAoAAAALAAAAFwAAAAQAAAAAAAAAEAEAABUAAAAWAAAAFAAAAAgAAAAVAAAAFgAAABgAAAAZAAAACgAAAAsAAAAaAAAABQAAAAAAAAAAAQAAFwAAABgAAAAXAAAACAAAABgAAAAZAAAAGwAAABwAAAAKAAAACwAAAB0AAAAGAAAAAAAAAOAAAAAZAAAAGgAAABoAAAAIAAAAGwAAABwAAAAeAAAAHwAAAAoAAAALAAAAIAAAAAcAAAAAAAAAyAAAABsAAAAcAAAAIQAAAB0AAAACAAAAAAAAAMgBAAAOAAAAHQAAAB4AAAAIAAAAHwAAAAkAAAAUAAAAFQAAAAoAAAALAAAAFgAAAAgAAAAAAAAAuAEAAA4AAAAeAAAAIAAAAAgAAAAhAAAACQAAABQAAAAVAAAACgAAAAsAAAAWAAAACQAAAAAAAACoAQAAHwAAACAAAAAiAAAACAAAACMAAAAJAAAAFAAAABUAAAAKAAAACwAAACIAAAAKAAAAAAAAAJgBAAAhAAAAIgAAACQAAAAIAAAAJQAAACYAAAAjAAAAJAAAAAoAAAALAAAAJQAAAAsAAAAAAAAAiAEAACMAAAAkAAAAJwAAAAgAAAAoAAAAKQAAACYAAAAnAAAACgAAAAsAAAAoAAAADAAAAAAAAABoAQAAJQAAACYAAAAqAAAACAAAACsAAAAsAAAAKQAAACoAAAAKAAAACwAAACsAAAANAAAAAAAAAFABAAAnAAAAKAAAACwAAAAtAAAAAwAAAAAAAADYAQAADAAAACkAAAAJAAAACgAAAAMAAAAKAAAAEgAAAAwAAAAHAAAACwAAAAIAAAAuAAAALQAAAAAAAADoAQAAKgAAACsAAAAvAAAAMAAAADEAAAAyAAAALgAAAC8AAAAzAAAANAAAADAAAAAOAAAAAAAAAFgCAAAsAAAALQAAADUAAAAwAAAANgAAADcAAAAxAAAAMgAAADMAAAA0AAAAMwAAAA8AAAAAAAAAQAIAAC4AAAAvAAAANAAAADgAAAAEAAAAAAAAACACAAAwAAAAMQAAADkAAAAwAAAAOgAAADsAAAA1AAAANgAAADMAAAA0AAAANwAAABAAAAAAAAAACAIAADIAAAAzAAAAOAAAADwAAAAFAAAAAAAAAHgCAAAqAAAANAAAAD0AAAA+AAAAPwAAAEAAAAA5AAAAOgAAAEEAAABCAAAAOwAAABEAAAAAAAAA6AIAADUAAAA2AAAAQwAAAD4AAABEAAAARQAAADwAAAA9AAAAQQAAAEIAAAA+AAAAEgAAAAAAAADQAgAANwAAADgAAAA/AAAARgAAAAYAAAAAAAAAsAIAADkAAAA6AAAARwAAAD4AAABIAAAASQAAAEAAAABBAAAAQQAAAEIAAABCAAAAEwAAAAAAAACYAgAAOwAAADwAAABDAAAASgAAAAcAAAAAAAAACAMAAD0AAAA+AAAADAAAAAoAAAADAAAADQAAABIAAAAMAAAABwAAAA4AAAABAAAABwAAAEQAAABLAAAARQAAAAAAAAAYAwAAPwAAAEAAAABMAAAATQAAAAEAAABOAAAATwAAAFAAAABRAAAAUgAAAEYAAABHAAAAAQAAAAAAAAAoAwAAQQAAAEIAAABMAAAAUwAAAEgAAABOAAAATwAAAFAAAABUAAAAVQAAAEkAAABKAAAAVgAAAAAAAAA4AwAAQwAAAEQAAABLAAAATAAAAE0AAABOAAAAVwAAAFgAAABZAAAAWgAAAAAAAMAAAAAAUAMAAEUAAABGAAAATwAAAFsAAAAAAAAASAMAAEcAAABIAAAASQAAAAAAAMAAAAAAcAMAAEoAAABLAAAAUAAAAFwAAAAAAAAAaAMAAEwAAABNAAAATgAAAAAAAACAAwAATwAAAFAAAABRAAAAXQAAAAAAAACYAwAAUQAAAFIAAABSAAAAUwAAAFQAAABVAAAAXgAAAF8AAABgAAAAYQAAAAAAAACoAwAAUwAAAFQAAABWAAAAVwAAAFgAAABZAAAAYgAAAGMAAABkAAAAZQAAAAAAAAABAAAAAwAAAAUAAAAHAAAAAAAAALgDAAA/AAAAVQAAAEwAAABNAAAAWgAAAE4AAABPAAAAUAAAAFEAAABSAAAARgAAAEcAAABmAAAAAAAAAMgDAABWAAAAVwAAAFsAAABnAAAAAAAAANgDAAA/AAAAWAAAAGgAAABNAAAAAQAAAGkAAABPAAAAUAAAAFEAAAAAAAAA4AMAAD8AAABZAAAAaAAAAE0AAABcAAAAagAAAE8AAABQAAAAUQAAAAAAAADwAwAAPwAAAFoAAABoAAAATQAAAF0AAABrAAAATwAAAFAAAABRAAAAAAAAwAAAAMAAAAAAAAQAAFsAAABcAAAACAAAAAMAAAAAAADAAAAAABAEAABdAAAAXgAAAAkAAAAEAAAAAAAAwAAAAMAAAADAAAAAwCwOAAAFAAAAAAAAAAAAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAADxTAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAPAAAFAAAAAAAAAAAAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEAAAAERTAAAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAIAAABCTwAAAAAAACAEAABfAAAAYAAAAGEAAABiAAAAEwAAAAEAAAABAAAAAwAAAAAAAABIBAAAXwAAAGMAAABhAAAAYgAAABMAAAACAAAAAgAAAAQAAAAAAAAAWAQAAGQAAABlAAAAbQAAAAAAAABoBAAAZAAAAGYAAABtAAAATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZBdHRyaWJ1dGVzRGVjb2RlckludGVyZmFjZUUAS2RUcmVlQXR0cmlidXRlc0RlY29kZXI6IGNvbXByZXNzaW9uIGxldmVsICVpIG5vdCBzdXBwb3J0ZWQuCgAodmFsLnNpemUoKSkgPT0gKGRpbWVuc2lvbl90KQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMva2RfdHJlZV9hdHRyaWJ1dGVzX2RlY29kZXIuY2MAb3BlcmF0b3I9AE1ldGhvZCBub3Qgc3VwcG9ydGVkLiAKAFZlcnNpb24gbm90IHN1cHBvcnRlZC4gCgAoaW5mby5yYW5nZSkgPj0gKDApAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vcG9pbnRfY2xvdWQvYWxnb3JpdGhtcy9xdWFudGl6ZV9wb2ludHNfMy5oAERlcXVhbnRpemVQb2ludHMzAE41ZHJhY28yM0tkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBmYWxzZQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL3ByZWRpY3Rpb25fc2NoZW1lX3dyYXBfdHJhbnNmb3JtX2Jhc2UuaABxdWFudGl6YXRpb25fYml0cwBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9tZXNoX3ByZWRpY3Rpb25fc2NoZW1lX3RleF9jb29yZHNfcG9ydGFibGVfZGVjb2Rlci5oAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfdGV4X2Nvb3Jkc19kZWNvZGVyLmgATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zM1NlcXVlbnRpYWxJbnRlZ2VyQXR0cmlidXRlRGVjb2RlckUAKHEpID49ICgyKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvbm9ybWFsX2NvbXByZXNzaW9uX3V0aWxzLmgAU2V0UXVhbnRpemF0aW9uQml0cwAocSkgPD0gKDMwKQAoaW5fcykgPj0gKDApAE9jdGFoZXJkYWxDb29yZHNUb1VuaXRWZWN0b3IAKGluX3QpID49ICgwKQAoaW5fcykgPD0gKDEpAChpbl90KSA8PSAoMSkAKHByZWRfdmFsc1swXSkgPD0gKDIgKiB0aGlzLT5jZW50ZXJfdmFsdWUoKSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9wcmVkaWN0aW9uX3NjaGVtZV9ub3JtYWxfb2N0YWhlZHJvbl9jYW5vbmljYWxpemVkX2RlY29kaW5nX3RyYW5zZm9ybS5oAENvbXB1dGVPcmlnaW5hbFZhbHVlAChwcmVkX3ZhbHNbMV0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpAChjb3JyX3ZhbHNbMF0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpAChjb3JyX3ZhbHNbMV0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpACgwKSA8PSAocHJlZF92YWxzWzBdKQAoMCkgPD0gKHByZWRfdmFsc1sxXSkAKDApIDw9IChjb3JyX3ZhbHNbMF0pACgwKSA8PSAoY29ycl92YWxzWzFdKQAocykgPD0gKGNlbnRlcl92YWx1ZV8pAElzSW5EaWFtb25kACh0KSA8PSAoY2VudGVyX3ZhbHVlXykAKHMpID49ICgtY2VudGVyX3ZhbHVlXykAKHQpID49ICgtY2VudGVyX3ZhbHVlXykAKCpzKSA8PSAoY2VudGVyX3ZhbHVlXykASW52ZXJ0RGlhbW9uZAAoKnQpIDw9IChjZW50ZXJfdmFsdWVfKQAoKnMpID49ICgtY2VudGVyX3ZhbHVlXykAKCp0KSA+PSAoLWNlbnRlcl92YWx1ZV8pAChtYXhfcXVhbnRpemVkX3ZhbHVlICUgMikgPT0gKDEpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvcHJlZGljdGlvbl9zY2hlbWVfbm9ybWFsX29jdGFoZWRyb25fdHJhbnNmb3JtX2Jhc2UuaABzZXRfbWF4X3F1YW50aXplZF92YWx1ZQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAHRoaXMtPklzSW5pdGlhbGl6ZWQoKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfZ2VvbWV0cmljX25vcm1hbF9wcmVkaWN0b3JfYXJlYS5oAENvbXB1dGVQcmVkaWN0ZWRWYWx1ZQAobm9ybWFsLkFic1N1bSgpKSA8PSAodXBwZXJfYm91bmQpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX3ByZWRpY3Rvcl9iYXNlLmgAR2V0UG9zaXRpb25Gb3JDb3JuZXIATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX2RlY29kZXIuaABDb21wdXRlT3JpZ2luYWxWYWx1ZXMAKG51bV9jb21wb25lbnRzKSA9PSAoMikAKHByZWRfbm9ybWFsXzNkLkFic1N1bSgpKSA9PSAob2N0YWhlZHJvbl90b29sX2JveF8uY2VudGVyX3ZhbHVlKCkpAChzdGQ6OmFicyhpbnRfdmVjWzBdKSArIHN0ZDo6YWJzKGludF92ZWNbMV0pICsgc3RkOjphYnMoaW50X3ZlY1syXSkpID09IChjZW50ZXJfdmFsdWVfKQBJbnRlZ2VyVmVjdG9yVG9RdWFudGl6ZWRPY3RhaGVkcmFsQ29vcmRzAChpKSA9PSAoMCkAR2V0UGFyZW50QXR0cmlidXRlVHlwZQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9wcmVkaWN0aW9uX3NjaGVtZV9ub3JtYWxfb2N0YWhlZHJvbl9kZWNvZGluZ190cmFuc2Zvcm0uaABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAFVuc3VwcG9ydGVkIGVuY29kaW5nIG1ldGhvZC4ASW5wdXQgaXMgbm90IGEgbWVzaC4ASW5wdXQgaXMgbm90IGEgcG9pbnQgY2xvdWQuAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBONWRyYWNvMTFNZXNoRGVjb2RlckUATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRGVjb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUAIWlkZW50aXR5X21hcHBpbmdfAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vYXR0cmlidXRlcy9wb2ludF9hdHRyaWJ1dGUuaABTZXRQb2ludE1hcEVudHJ5AE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzMxTWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsRGVjb2RlckVFRQBONWRyYWNvMzVNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfNDFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxQcmVkaWN0aXZlRGVjb2RlckVFRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUATjVkcmFjbzIxTWVzaFNlcXVlbnRpYWxEZWNvZGVyRQBONWRyYWNvMTdQb2ludENsb3VkRGVjb2RlckUARmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ARFJBQ08ATm90IGEgRHJhY28gZmlsZS4ARmFpbGVkIHRvIGRlY29kZSBtZXRhZGF0YS4AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4AVW5rbm93biBtYWpvciB2ZXJzaW9uLgBVbmtub3duIG1pbm9yIHZlcnNpb24uAEZhaWxlZCB0byBpbml0aWFsaXplIHRoZSBkZWNvZGVyLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAEZhaWxlZCB0byBkZWNvZGUgcG9pbnQgYXR0cmlidXRlcy4ATjVkcmFjbzIzUG9pbnRDbG91ZEtkVHJlZURlY29kZXJFAE41ZHJhY28yN1BvaW50Q2xvdWRTZXF1ZW50aWFsRGVjb2RlckUAKG5iaXRzKSA+PSAoMCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2RlY29kZXJfYnVmZmVyLmgAR2V0Qml0cwAobmJpdHMpIDw9ICgzMikAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2JpdF9jb2RlcnMvcmFuc19iaXRfZGVjb2Rlci5jYwBONWRyYWNvNE1lc2hFAGF0dF9pZCA+PSAwAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vcG9pbnRfY2xvdWQvcG9pbnRfY2xvdWQuY2MAU2V0QXR0cmlidXRlAE41ZHJhY28xMFBvaW50Q2xvdWRFAEZsb2F0UG9pbnRzVHJlZURlY29kZXI6IGNvbXByZXNzaW9uIGxldmVsICVpIG5vdCBzdXBwb3J0ZWQuCgAodHJ1ZSkgPT0gKG51bV9yZW1haW5pbmdfcG9pbnRzICE9IDApAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vcG9pbnRfY2xvdWQvYWxnb3JpdGhtcy9keW5hbWljX2ludGVnZXJfcG9pbnRzX2tkX3RyZWVfZGVjb2Rlci5oAERlY29kZUludGVybmFsACh0cnVlKSA9PSAobmJpdHMgPD0gMzIpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9iaXRfY29kZXJzL2RpcmVjdF9iaXRfZGVjb2Rlci5oAERlY29kZUxlYXN0U2lnbmlmaWNhbnRCaXRzMzIAKHRydWUpID09IChuYml0cyA+IDApAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAKDApIDw9IChhdHRfaWQpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vcG9pbnRfY2xvdWQvcG9pbnRfY2xvdWQuaABhdHRyaWJ1dGUAKGF0dF9pZCkgPCAoc3RhdGljX2Nhc3Q8aW50MzJfdD4oYXR0cmlidXRlc18uc2l6ZSgpKSkAKDApIDw9IChmYWNlX2lkLnZhbHVlKCkpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vbWVzaC9tZXNoLmgAZmFjZQAoZmFjZV9pZC52YWx1ZSgpKSA8IChzdGF0aWNfY2FzdDxpbnQ+KGZhY2VzXy5zaXplKCkpKQARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AACVkAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAU3QxMWxvZ2ljX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9F";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 ___cxa_allocate_exception(size){return _malloc(size)}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){Module["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 ___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 ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}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 ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__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=Runtime.staticAlloc(4);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;var ASSERTIONS=false;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function yb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;A=B+16|0;z=B+4|0;x=B;f[a+36>>2]=b;y=a+24|0;w=a+28|0;d=f[w>>2]|0;c=f[y>>2]|0;g=d-c>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(e=c+(b<<2)|0,(d|0)!=(e|0)):0)f[w>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else jf(y,b-g|0,3528);f[A>>2]=0;v=A+4|0;f[v>>2]=0;t=A+8|0;f[t>>2]=0;if(b|0){if((b|0)<0)nn(A);c=((b+-1|0)>>>5)+1|0;s=Nk(c<<2)|0;f[A>>2]=s;f[t>>2]=c;f[v>>2]=b;c=b>>>5;Yg(s|0,0,c<<2|0)|0;d=b-(c<<5)|0;c=s+(c<<2)|0;if(d|0)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}s=a+4|0;c=(f[s>>2]|0)-(f[a>>2]|0)|0;g=c>>2;f[z>>2]=0;e=z+4|0;f[e>>2]=0;d=z+8|0;f[d>>2]=0;if(g){if((c|0)<0)nn(z);c=((g+-1|0)>>>5)+1|0;h=Nk(c<<2)|0;f[z>>2]=h;f[d>>2]=c;f[e>>2]=g;c=g>>>5;Yg(h|0,0,c<<2|0)|0;d=g-(c<<5)|0;c=h+(c<<2)|0;if(d)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}else h=0;c=f[a>>2]|0;a:do if((f[s>>2]|0)-c>>2>>>0>2){n=a+12|0;q=a+32|0;o=a+52|0;p=a+56|0;r=a+48|0;m=0;d=b;b:while(1){l=m*3|0;if((m|0)>=0){b=f[c+(l<<2)>>2]|0;e=l+1|0;e=((e|0)%3|0|0)==0?l+-2|0:e;if((e|0)<0)g=-1073741824;else g=f[c+(e<<2)>>2]|0;e=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((e|0)<0)c=-1073741824;else c=f[c+(e<<2)>>2]|0;if((b|0)!=(g|0)?!((b|0)==(c|0)|(g|0)==(c|0)):0){k=0;do{g=k+l|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){c=f[(f[a>>2]|0)+(g<<2)>>2]|0;f[x>>2]=c;e=f[A>>2]|0;if(!(f[e+(c>>>5<<2)>>2]&1<<(c&31)))b=0;else{c=f[w>>2]|0;if((c|0)==(f[q>>2]|0))zg(y,3528);else{f[c>>2]=-1073741824;f[w>>2]=c+4}c=f[o>>2]|0;if((c|0)==(f[p>>2]|0))zg(r,x);else{f[c>>2]=f[x>>2];f[o>>2]=c+4}c=f[v>>2]|0;e=f[t>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){nn(A);e=f[t>>2]|0}j=e<<6;c=c+32&-32;ig(A,e<<5>>>0<1073741823?(j>>>0>>0?c:j):2147483647);c=f[v>>2]|0}f[v>>2]=c+1;e=f[A>>2]|0;b=e+(c>>>5<<2)|0;f[b>>2]=f[b>>2]&~(1<<(c&31));f[x>>2]=d;c=d;b=1;d=d+1|0}j=e+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);c:do if(b){c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);e=f[x>>2]|0;f[(f[y>>2]|0)+(e<<2)>>2]=c;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}else{c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);f[(f[y>>2]|0)+(f[x>>2]<<2)>>2]=c;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}while(0);do if((e|0)==67){e=0;if((g|0)==-1073741824){c=-1073741824;e=74}}else if((e|0)==68)if((g|0)>=0){c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=74;break}if(!((c>>>0)%3|0)){c=c+2|0;e=74;break}else{c=c+-1|0;e=74;break}}else e=74}else{c=g;e=74}while(0);d:do if((e|0)==74){h=f[z>>2]|0;g=h+(c>>>5<<2)|0;i=1<<(c&31);e=(c|0)<0;if((c|0)!=-1073741824){if(!b){b=c;c=i;while(1){if(e)break b;f[g>>2]=f[g>>2]|c;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);h=f[z>>2]|0;if((c|0)==-1073741824)break d;else{b=c;g=h+(c>>>5<<2)|0;e=(c|0)<0;c=1<<(c&31)}}}j=f[a>>2]|0;b=g;h=e;e=i;while(1){g=j+(c<<2)|0;do{f[b>>2]=f[b>>2]|e;f[g>>2]=f[x>>2]}while(h);c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=c;break}if(!((c>>>0)%3|0)){e=c+2|0;break}else{e=c+-1|0;break}}else e=c;while(0);h=f[z>>2]|0;if((e|0)==-1073741824)break;else{c=e;b=h+(e>>>5<<2)|0;h=(e|0)<0;e=1<<(e&31)}}}}while(0)}k=k+1|0}while((k|0)<3)}}m=m+1|0;c=f[a>>2]|0;if((m|0)>=(((f[s>>2]|0)-c>>2>>>0)/3|0|0))break a}while(1){}}while(0);j=a+44|0;f[j>>2]=0;c=f[A>>2]|0;b=f[v>>2]|0;y=b>>>5;i=c+(y<<2)|0;b=b&31;e=(y|0)!=0;e:do if(y|b|0){if(!b){g=c;d=0;while(1){f:do if(e){e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break;else e=e+1|0}}else{e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break f;e=e+1|0;if(!e)break e}}while(0);g=g+4|0;if((g|0)==(i|0))break e;else e=1}}if(e){g=c;d=0;e=0;do{h=0;while(1){if(!(f[g>>2]&1<>2]=e;d=e}if((h|0)==31)break;else h=h+1|0}g=g+4|0}while((g|0)!=(i|0))}else{g=c;d=0}e=0;do{if(!(f[g>>2]&1<>2]=d}e=e+1|0}while((e|0)!=(b|0))}while(0);d=f[z>>2]|0;if(d){Co(d);c=f[A>>2]|0}if(!c){u=B;return 1}Co(c);u=B;return 1}function zb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;bm(c)|0;if((I|0)<0){C=1;A=18004;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?18005:18010):18007}bm(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+go(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=oi(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[18039+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Ui(a,32,d,j,g);Lm(a,p,o);Ui(a,48,d,j,g^65536);Lm(a,F,C);Ui(a,48,D-C|0,0,0);Lm(a,n,E);Ui(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=nl(f[j>>2]|0,0,o|0)|0;x=gm(x|0,I|0,l|0,0)|0;y=I;v=Ck(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=en(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=oi(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Ui(a,32,d,j,g);Lm(a,A,C);Ui(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=oi(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){Yg(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Lm(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Lm(a,18055,1);if(m>>>0>>0&(k|0)>0)while(1){l=oi(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){Yg(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Lm(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Ui(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=oi(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Lm(a,l,1);if(e&(k|0)<1){l=m;break}Lm(a,18055,1);l=m}else{if(l>>>0<=F>>>0)break;Yg(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Lm(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Ui(a,48,k+18|0,18,0);Lm(a,v,D-v|0)}Ui(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Ui(a,32,d,j,g&-65537);Lm(a,A,C);Lm(a,c!=c|0.0!=0.0?(F?18031:18035):F?18023:18027,3);Ui(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function Ab(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=oo()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Lm(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=Zj(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=Zj(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(17523+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Gd(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=rk(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=17987;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=wl(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=17987;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?17987:17989):17988;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=17987;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=17987;i=x;break}case 109:{i=oo()|0;i=Sm(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:17997;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Ui(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=zb(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=17987;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=bk(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?17987:17987+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=oi(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=cg(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=17987;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Rm(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Ui(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Rm(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Lm(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Ui(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Ui(a,32,i,l,n);Lm(a,j,k);Ui(a,48,i,l,n^65536);Ui(a,48,q,r,0);Lm(a,o,r);Ui(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Gd(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function Bb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function Cb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;r=F+76|0;s=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0){l=c;m=-1073741824}else{l=c;m=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}}else{l=-1073741824;m=-1073741824}c=a+36|0;j=f[c>>2]|0;g=f[j+4>>2]|0;k=f[j>>2]|0;if(g-k>>2>>>0>l>>>0){c=k;h=g;i=j;g=k}else{mn(j);i=f[c>>2]|0;c=f[i>>2]|0;h=f[i+4>>2]|0;g=f[j>>2]|0}w=f[g+(l<<2)>>2]|0;if(h-c>>2>>>0<=m>>>0){mn(i);c=f[i>>2]|0}h=f[c+(m<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;i=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,i,B)|0;r=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;r=wl(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=wl(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=wl(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Mk(r|0,s|0,r|0,s|0)|0;x=I;B=Mk(t|0,v|0,t|0,v|0)|0;x=gm(B|0,I|0,C|0,x|0)|0;C=I;B=Mk(l|0,m|0,l|0,m|0)|0;B=gm(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=wl(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=wl(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=wl(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Mk(K|0,J|0,r|0,s|0)|0;d=I;g=Mk(H|0,G|0,t|0,v|0)|0;d=gm(g|0,I|0,k|0,d|0)|0;k=I;g=Mk(h|0,i|0,l|0,m|0)|0;g=gm(d|0,k|0,g|0,I|0)|0;k=I;d=wl(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=wl(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Mk(B|0,C|0,q|0,y|0)|0;n=I;q=Mk(B|0,C|0,z|0,A|0)|0;p=I;D=Mk(g|0,k|0,d|0,c|0)|0;e=I;j=Mk(g|0,k|0,w|0,x|0)|0;A=I;n=gm(D|0,e|0,o|0,n|0)|0;o=I;p=gm(j|0,A|0,q|0,p|0)|0;q=I;A=Mk(g|0,k|0,r|0,s|0)|0;j=I;e=Mk(g|0,k|0,t|0,v|0)|0;D=I;m=Mk(g|0,k|0,l|0,m|0)|0;k=I;j=ki(A|0,j|0,B|0,C|0)|0;l=I;D=ki(e|0,D|0,B|0,C|0)|0;e=I;k=ki(m|0,k|0,B|0,C|0)|0;m=I;l=wl(K|0,J|0,j|0,l|0)|0;j=I;e=wl(H|0,G|0,D|0,e|0)|0;D=I;m=wl(h|0,i|0,k|0,m|0)|0;k=I;j=Mk(l|0,j|0,l|0,j|0)|0;l=I;D=Mk(e|0,D|0,e|0,D|0)|0;l=gm(D|0,I|0,j|0,l|0)|0;j=I;k=Mk(m|0,k|0,m|0,k|0)|0;k=gm(l|0,j|0,k|0,I|0)|0;j=I;l=wl(0,0,d|0,c|0)|0;m=I;j=Mk(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=25}break}case 1:{if(!c){g=1;c=0;E=26}else{g=1;c=0;h=j;i=k;E=25}break}default:{g=1;c=0;h=j;i=k;E=25}}if((E|0)==25)while(1){g=nl(g|0,c|0,1)|0;c=I;K=h;h=sl(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=26;break}else{i=I;E=25}}if((E|0)==26)while(1){K=en(j|0,k|0,g|0,c|0)|0;g=gm(K|0,I|0,g|0,c|0)|0;g=sl(g|0,I|0,1)|0;c=I;K=Mk(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=26;else break}E=Mk(g|0,c|0,w|0,x|0)|0;G=I;d=Mk(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=wl(0,0,E|0,G|0)|0;G=gm(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=wl(0,0,d|0,H|0)|0;H=gm(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=ki(G|0,J|0,B|0,C|0)|0;K=ki(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function Db(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;r=F+76|0;s=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);m=f[(f[h>>2]|0)+28>>2]|0;l=f[m+(c<<2)>>2]|0;m=f[m+(g<<2)>>2]|0;g=a+36|0;h=f[g>>2]|0;c=f[h+4>>2]|0;k=f[h>>2]|0;if(c-k>>2>>>0>l>>>0){i=c;j=h;g=k;c=k}else{mn(h);c=f[g>>2]|0;i=f[c+4>>2]|0;j=c;g=f[h>>2]|0;c=f[c>>2]|0}w=f[g+(l<<2)>>2]|0;if(i-c>>2>>>0<=m>>>0){mn(j);c=f[j>>2]|0}h=f[c+(m<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;i=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,i,B)|0;r=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;r=wl(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=wl(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=wl(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Mk(r|0,s|0,r|0,s|0)|0;x=I;B=Mk(t|0,v|0,t|0,v|0)|0;x=gm(B|0,I|0,C|0,x|0)|0;C=I;B=Mk(l|0,m|0,l|0,m|0)|0;B=gm(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=wl(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=wl(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=wl(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Mk(K|0,J|0,r|0,s|0)|0;d=I;g=Mk(H|0,G|0,t|0,v|0)|0;d=gm(g|0,I|0,k|0,d|0)|0;k=I;g=Mk(h|0,i|0,l|0,m|0)|0;g=gm(d|0,k|0,g|0,I|0)|0;k=I;d=wl(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=wl(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Mk(B|0,C|0,q|0,y|0)|0;n=I;q=Mk(B|0,C|0,z|0,A|0)|0;p=I;D=Mk(g|0,k|0,d|0,c|0)|0;e=I;j=Mk(g|0,k|0,w|0,x|0)|0;A=I;n=gm(D|0,e|0,o|0,n|0)|0;o=I;p=gm(j|0,A|0,q|0,p|0)|0;q=I;A=Mk(g|0,k|0,r|0,s|0)|0;j=I;e=Mk(g|0,k|0,t|0,v|0)|0;D=I;m=Mk(g|0,k|0,l|0,m|0)|0;k=I;j=ki(A|0,j|0,B|0,C|0)|0;l=I;D=ki(e|0,D|0,B|0,C|0)|0;e=I;k=ki(m|0,k|0,B|0,C|0)|0;m=I;l=wl(K|0,J|0,j|0,l|0)|0;j=I;e=wl(H|0,G|0,D|0,e|0)|0;D=I;m=wl(h|0,i|0,k|0,m|0)|0;k=I;j=Mk(l|0,j|0,l|0,j|0)|0;l=I;D=Mk(e|0,D|0,e|0,D|0)|0;l=gm(D|0,I|0,j|0,l|0)|0;j=I;k=Mk(m|0,k|0,m|0,k|0)|0;k=gm(l|0,j|0,k|0,I|0)|0;j=I;l=wl(0,0,d|0,c|0)|0;m=I;j=Mk(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=24}break}case 1:{if(!c){g=1;c=0;E=25}else{g=1;c=0;h=j;i=k;E=24}break}default:{g=1;c=0;h=j;i=k;E=24}}if((E|0)==24)while(1){g=nl(g|0,c|0,1)|0;c=I;K=h;h=sl(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=25;break}else{i=I;E=24}}if((E|0)==25)while(1){K=en(j|0,k|0,g|0,c|0)|0;g=gm(K|0,I|0,g|0,c|0)|0;g=sl(g|0,I|0,1)|0;c=I;K=Mk(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=25;else break}E=Mk(g|0,c|0,w|0,x|0)|0;G=I;d=Mk(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=wl(0,0,E|0,G|0)|0;G=gm(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=wl(0,0,d|0,H|0)|0;H=gm(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=ki(G|0,J|0,B|0,C|0)|0;K=ki(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function Eb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+20|0;B=C+8|0;A=C+4|0;y=C;x=a+4|0;do if((h[(f[x>>2]|0)+36>>0]<<8&65535)<512){t=c+8|0;v=f[t>>2]|0;t=f[t+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=gm(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((t|0)<(g|0)|(t|0)==(g|0)&v>>>0>>0){B=-1;u=C;return B|0}else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[w>>2]=d;v=i;f[v>>2]=e;f[v+4>>2]=g;break}}else if(sh(w,c)|0){d=f[w>>2]|0;break}else{B=-1;u=C;return B|0}while(0);a:do if(d|0){v=f[x>>2]|0;if(((h[v+36>>0]<<8|h[v+37>>0])&65535)<258){q=c+8|0;r=c+16|0;t=B+4|0;s=B+8|0;o=a+40|0;p=a+44|0;v=a+36|0;n=0;while(1){j=q;i=f[j>>2]|0;j=f[j+4>>2]|0;l=r;k=f[l>>2]|0;l=f[l+4>>2]|0;e=gm(k|0,l|0,4,0)|0;g=I;if((j|0)<(g|0)|(j|0)==(g|0)&i>>>0>>0)break;m=f[c>>2]|0;D=m+k|0;f[B>>2]=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=r;f[D>>2]=e;f[D+4>>2]=g;g=gm(k|0,l|0,8,0)|0;D=I;if((j|0)<(D|0)|(j|0)==(D|0)&i>>>0>>0)break;e=m+e|0;f[t>>2]=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;e=gm(k|0,l|0,8,0)|0;D=I;g=r;f[g>>2]=e;f[g+4>>2]=D;if(!((j|0)>(D|0)|(j|0)==(D|0)&i>>>0>e>>>0))break;e=b[m+e>>0]|0;m=gm(k|0,l|0,9,0)|0;D=r;f[D>>2]=m;f[D+4>>2]=I;b[s>>0]=b[s>>0]&-2|e&1;e=f[o>>2]|0;if((e|0)==(f[p>>2]|0)){gg(v,B);d=f[w>>2]|0}else{f[e>>2]=f[B>>2];f[e+4>>2]=f[B+4>>2];f[e+8>>2]=f[B+8>>2];f[o>>2]=(f[o>>2]|0)+12}n=n+1|0;if(n>>>0>=d>>>0)break a}D=-1;u=C;return D|0}k=B+4|0;e=a+40|0;g=a+44|0;l=a+36|0;i=0;j=0;do{sh(A,c)|0;f[k>>2]=(f[A>>2]|0)+j;sh(A,c)|0;d=f[A>>2]|0;j=f[k>>2]|0;if(j>>>0>>0){z=35;break}f[B>>2]=j-d;d=f[e>>2]|0;if((d|0)==(f[g>>2]|0))gg(l,B);else{f[d>>2]=f[B>>2];f[d+4>>2]=f[B+4>>2];f[d+8>>2]=f[B+8>>2];f[e>>2]=(f[e>>2]|0)+12}i=i+1|0}while(i>>>0<(f[w>>2]|0)>>>0);if((z|0)==35){D=-1;u=C;return D|0}Te(c,0,0)|0;j=f[w>>2]|0;if(j|0){n=c+36|0;o=c+32|0;l=c+24|0;m=c+28|0;k=a+36|0;d=0;p=0;do{D=f[x>>2]|0;e=(b[n>>0]|0)==0;if(((h[D+36>>0]<<8|h[D+37>>0])&65535)<514){if(!e){d=f[o>>2]|0;g=f[l>>2]|0;i=f[m>>2]|0;e=g+(d>>>3)|0;if(e>>>0>>0){D=(h[e>>0]|0)>>>(d&7)&1;e=d+1|0;f[o>>2]=e;d=D}else{e=d;d=0}if((g+(e>>>3)|0)>>>0>>0)f[o>>2]=e+1}}else if(!e){d=f[o>>2]|0;e=(f[l>>2]|0)+(d>>>3)|0;if(e>>>0<(f[m>>2]|0)>>>0){D=(h[e>>0]|0)>>>(d&7)&1;f[o>>2]=d+1;d=D}else d=0}D=(f[k>>2]|0)+(p*12|0)+8|0;b[D>>0]=b[D>>0]&-2|d&1;p=p+1|0}while(p>>>0>>0)}Oj(c)}while(0);f[B>>2]=0;d=f[x>>2]|0;d=(h[d+36>>0]<<8|h[d+37>>0])&65535;if((d&65535)<512){w=c+8|0;D=f[w>>2]|0;w=f[w+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=gm(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((w|0)<(g|0)|(w|0)==(g|0)&D>>>0>>0)d=-1;else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[B>>2]=d;z=i;f[z>>2]=e;f[z+4>>2]=g;z=42}}else if(d<<16>>16==512)if(sh(B,c)|0){d=f[B>>2]|0;z=42}else d=-1;else z=56;b:do if((z|0)==42)if(!d)z=56;else{D=f[x>>2]|0;if(((h[D+36>>0]<<8|h[D+37>>0])&65535)>=258){j=a+52|0;k=a+56|0;e=a+48|0;g=0;i=0;while(1){f[A>>2]=0;sh(y,c)|0;i=(f[y>>2]|0)+i|0;f[A>>2]=i;d=f[j>>2]|0;if((d|0)==(f[k>>2]|0))zg(e,A);else{f[d>>2]=i;f[j>>2]=d+4}g=g+1|0;if(g>>>0>=(f[B>>2]|0)>>>0){z=56;break b}}}n=c+8|0;o=c+16|0;l=a+52|0;m=a+56|0;j=a+48|0;k=0;while(1){f[A>>2]=0;a=n;D=f[a>>2]|0;a=f[a+4>>2]|0;e=o;d=f[e>>2]|0;e=gm(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((a|0)<(g|0)|(a|0)==(g|0)&D>>>0>>0)break;i=(f[c>>2]|0)+d|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[A>>2]=i;d=o;f[d>>2]=e;f[d+4>>2]=g;d=f[l>>2]|0;if((d|0)==(f[m>>2]|0))zg(j,A);else{f[d>>2]=i;f[l>>2]=d+4}k=k+1|0;if(k>>>0>=(f[B>>2]|0)>>>0){z=56;break b}}d=-1}while(0);if((z|0)==56)d=f[c+16>>2]|0;D=d;u=C;return D|0}function Fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;M=u;u=u+48|0;L=M+24|0;J=M+12|0;z=M;if(!b){L=0;u=M;return L|0}I=a+12|0;A=a+4|0;k=f[A>>2]|0;c=f[a>>2]|0;i=k-c>>2;g=a+16|0;e=f[g>>2]|0;d=f[I>>2]|0;j=e-d>>2;l=c;if(i>>>0<=j>>>0)if(i>>>0>>0?(h=d+(i<<2)|0,(e|0)!=(h|0)):0){f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);g=c}else g=c;else{jf(I,i-j|0,3528);l=f[a>>2]|0;g=l;k=f[A>>2]|0}f[L>>2]=0;H=L+4|0;f[H>>2]=0;f[L+8>>2]=0;e=k-g|0;d=e>>2;c=L+8|0;do if(d)if(d>>>0>1073741823){M=Ia(4)|0;eo(M);ta(M|0,1112,100)}else{i=Nk(e)|0;h=i;f[L>>2]=h;f[H>>2]=h;f[c>>2]=i+(d<<2);break}else{i=0;h=0}while(0);if((e|0)>0){v=i;w=k;x=g;d=h;o=h;p=i;q=i;r=i;s=h;j=h;n=g;e=i;t=0;while(1){l=f[l+(t<<2)>>2]|0;c=f[H>>2]|0;if((l|0)<(c-d>>2|0)){g=v;h=w;i=x;m=e;c=n}else{e=l+1|0;f[J>>2]=0;g=c-d>>2;if(e>>>0<=g>>>0)if(e>>>0>>0?(y=d+(e<<2)|0,(c|0)!=(y|0)):0){f[H>>2]=c+(~((c+-4-y|0)>>>2)<<2);d=v;e=w;c=x}else{d=v;e=w;c=x}else{jf(L,e-g|0,J);d=f[L>>2]|0;e=f[A>>2]|0;c=f[a>>2]|0}j=d;g=d;h=e;i=c;o=j;p=d;q=d;r=d;s=j;m=d;k=e}G=m+(l<<2)|0;f[G>>2]=(f[G>>2]|0)+1;t=t+1|0;if((t|0)>=(k-c>>2|0)){l=s;i=q;break}else{v=g;w=h;x=i;l=c;d=m;n=c;e=m}}}else{c=g;j=h;l=h;r=i;o=h;p=i}c=k-c|0;h=c>>2;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;if(!h){d=0;e=0}else{if(h>>>0>536870911){nn(J);M=Ia(4)|0;eo(M);ta(M|0,1112,100)}g=Nk(c<<1)|0;f[G>>2]=g;f[J>>2]=g;f[J+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){F=e;f[F>>2]=-1;f[F+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[G>>2]=g+(h<<3);d=g;e=g}F=f[H>>2]|0;g=F-j|0;c=g>>2;f[z>>2]=0;E=z+4|0;f[E>>2]=0;f[z+8>>2]=0;do if(c)if(c>>>0>1073741823){nn(z);M=Ia(4)|0;eo(M);ta(M|0,1112,100)}else{D=Nk(g)|0;f[z>>2]=D;C=D+(c<<2)|0;f[z+8>>2]=C;Yg(D|0,0,g|0)|0;f[E>>2]=C;B=D;break}else{B=0;C=0;D=0}while(0);if((F|0)!=(l|0)){h=F-r>>2;c=0;g=0;do{f[B+(c<<2)>>2]=g;g=(f[r+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}z=f[a>>2]|0;c=(f[A>>2]|0)-z|0;A=z;if((c|0)>0){z=a+40|0;y=c>>2;k=i;m=B;j=0;v=e;t=e;w=e;s=e;x=e;while(1){i=(j|0)<0;c=j+1|0;if(!i){c=((c|0)%3|0|0)==0?j+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[A+(c<<2)>>2]|0;c=(j>>>0)%3|0;g=((c|0)==0?2:-1)+j|0;if((g|0)<0){r=-1073741824;q=h}else{r=f[A+(g<<2)>>2]|0;q=h}}else{c=(j>>>0)%3|0;r=-1073741824;q=-1073741824}if((j|0)==((i?-1073741824:j-c|0)|0)){if(i)c=-1073741824;else c=f[A+(j<<2)>>2]|0;if((q|0)==(r|0)|((c|0)==(q|0)|(c|0)==(r|0))){f[z>>2]=(f[z>>2]|0)+1;j=j+2|0;c=v;g=t;l=w;h=s;i=x}else K=60}else K=60;a:do if((K|0)==60){K=0;n=f[k+(r<<2)>>2]|0;b:do if((n|0)>0){c=0;i=f[m+(r<<2)>>2]|0;while(1){g=f[s+(i<<3)>>2]|0;if((g|0)<0){c=v;g=t;h=s;break b}if((g|0)==(q|0))break;c=c+1|0;if((c|0)<(n|0))i=i+1|0;else{c=v;g=t;h=s;break b}}l=f[s+(i<<3)+4>>2]|0;h=t;while(1){c=c+1|0;if((c|0)>=(n|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[v+(i<<3)>>2]|0)<0)break;else{i=g;h=v}}f[w+(i<<3)>>2]=-1;if((l|0)<0){c=w;g=w;h=w}else{c=f[I>>2]|0;f[c+(j<<2)>>2]=l;f[c+(l<<2)>>2]=j;c=w;g=w;l=w;h=w;i=x;break a}}else{c=v;g=t;h=s}while(0);i=f[p+(q<<2)>>2]|0;if((i|0)>0){h=0;c=f[B+(q<<2)>>2]|0;while(1){g=x+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){m=B;k=p;c=x;g=x;l=x;h=x;i=x;break a}else c=c+1|0}f[g>>2]=r;f[e+(c<<3)+4>>2]=j;m=B;k=p;c=e;g=e;l=e;h=e;i=e}else{k=p;l=w;i=x}}while(0);j=j+1|0;if((j|0)>=(y|0))break;else{v=c;t=g;w=l;s=h;x=i}}}f[b>>2]=F-o>>2;if(B){if((C|0)!=(B|0))f[E>>2]=C+(~((C+-4-B|0)>>>2)<<2);Co(D);d=f[J>>2]|0;e=d}if(e|0){c=f[G>>2]|0;if((c|0)!=(e|0))f[G>>2]=c+(~((c+-8-e|0)>>>3)<<3);Co(d)}c=f[L>>2]|0;if(c|0){d=f[H>>2]|0;if((d|0)!=(c|0))f[H>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}L=1;u=M;return L|0}function Gb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))zg(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Je(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Je(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Je(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Je(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))zg(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))zg(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function Hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=La,j=0,k=La,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=La;A=u;u=u+48|0;y=A+24|0;z=A;e=rc(a,c)|0;if(e|0){f[z>>2]=e;f[y>>2]=f[z>>2];oe(a,y)|0}cj(z,c);c=z+12|0;f[c>>2]=0;x=z+16|0;f[x>>2]=0;f[z+20>>2]=0;j=d+4|0;g=(f[j>>2]|0)-(f[d>>2]|0)|0;if(g){if((g|0)<0)nn(c);e=Nk(g)|0;f[x>>2]=e;f[c>>2]=e;f[z+20>>2]=e+g;g=f[d>>2]|0;c=(f[j>>2]|0)-g|0;if((c|0)>0){Xe(e|0,g|0,c|0)|0;f[x>>2]=e+c}}else e=0;s=b[z+11>>0]|0;v=s<<24>>24<0;t=v?f[z>>2]|0:z;s=v?f[z+4>>2]|0:s&255;if(s>>>0>3){g=t;c=s;j=s;while(1){v=X(h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,1540483477)|0;c=(X(v>>>24^v,1540483477)|0)^(X(c,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else g=g+4|0}v=s+-4|0;g=v&-4;j=t+(g+4)|0;g=v-g|0}else{j=t;c=s;g=s}switch(g|0){case 3:{c=h[j+2>>0]<<16^c;w=13;break}case 2:{w=13;break}case 1:{w=14;break}default:{}}if((w|0)==13){c=h[j+1>>0]<<8^c;w=14}if((w|0)==14)c=X(h[j>>0]^c,1540483477)|0;v=X(c>>>13^c,1540483477)|0;v=v>>>15^v;q=a+4|0;j=f[q>>2]|0;r=(j|0)==0;a:do if(!r){p=j+-1|0;d=(p&j|0)==0;if(d)c=v&p;else c=(v>>>0)%(j>>>0)|0;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){if((f[g+4>>2]&p|0)!=(c|0)){w=48;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=48;break a}}}while(1){if((f[o+4>>2]&p|0)!=(c|0)){w=48;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(hj(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=48;break}}}else{if(g){g=o;while(1){if((((f[g+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(c|0)){w=48;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=48;break a}}}while(1){if((((f[o+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(c|0)){w=48;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(hj(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=48;break}}}}else w=48}else{c=0;w=48}while(0);if((w|0)==48){Of(y,a,v,z);d=a+12|0;k=$(((f[d>>2]|0)+1|0)>>>0);B=$(j>>>0);i=$(n[a+16>>2]);do if(r|k>$(B*i)){e=(j>>>0<3|(j+-1&j|0)!=0)&1|j<<1;c=~~$(W($(k/i)))>>>0;Rf(a,e>>>0>>0?c:e);e=f[q>>2]|0;c=e+-1|0;if(!(c&e)){j=e;c=c&v;break}else{j=e;c=(v>>>0)%(e>>>0)|0;break}}while(0);e=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!e){g=a+8|0;f[f[y>>2]>>2]=f[g>>2];f[g>>2]=f[y>>2];f[(f[a>>2]|0)+(c<<2)>>2]=g;g=f[y>>2]|0;e=f[g>>2]|0;if(!e)e=y;else{e=f[e+4>>2]|0;c=j+-1|0;if(!(c&j))e=e&c;else e=(e>>>0)%(j>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=g;e=y}}else{f[f[y>>2]>>2]=f[e>>2];f[e>>2]=f[y>>2];e=y}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;e=f[z+12>>2]|0}if(!e){km(z);u=A;return}if((f[x>>2]|0)!=(e|0))f[x>>2]=e;Co(e);km(z);u=A;return}function Ib(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+176|0;s=A+136|0;w=A+32|0;v=A;t=A+104|0;x=A+100|0;y=a+4|0;q=f[y>>2]|0;d=f[q+32>>2]|0;o=d+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((o|0)>(l|0)|(o|0)==(l|0)&n>>>0>k>>>0)){c=0;u=A;return c|0}j=f[d>>2]|0;r=b[j+k>>0]|0;d=gm(k|0,l|0,1,0)|0;m=I;i=p;f[i>>2]=d;f[i+4>>2]=m;if(!((o|0)>(m|0)|(o|0)==(m|0)&n>>>0>d>>>0)){c=0;u=A;return c|0}m=b[j+d>>0]|0;d=gm(k|0,l|0,2,0)|0;e=I;i=p;f[i>>2]=d;f[i+4>>2]=e;do if(r<<24>>24>-1){i=r<<24>>24;g=f[a+224>>2]|0;if(i>>>0<(((f[a+228>>2]|0)-g|0)/116|0)>>>0){f[g+(i*116|0)>>2]=c;break}else{c=0;u=A;return c|0}}while(0);do if((((h[q+36>>0]|0)<<8|(h[q+37>>0]|0))&65535)>257)if((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0){e=b[j+d>>0]|0;o=gm(k|0,l|0,3,0)|0;f[p>>2]=o;f[p+4>>2]=I;e=e&255;break}else{c=0;u=A;return c|0}else e=0;while(0);n=f[q+44>>2]|0;if(!(m<<24>>24)){if(r<<24>>24<0)d=a+196|0;else{d=r<<24>>24;w=f[a+224>>2]|0;b[w+(d*116|0)+72>>0]=0;d=w+(d*116|0)+76|0}switch((e&255)<<24>>24){case 0:{tc(s,a,d);d=f[s>>2]|0;break}case 1:{Bd(s,a,d);d=f[s>>2]|0;break}default:{c=0;u=A;return c|0}}if(!d){c=0;u=A;return c|0}}else{if(e|0){c=0;u=A;return c|0}j=r<<24>>24;if(r<<24>>24<0){c=0;u=A;return c|0}d=Nk(88)|0;i=f[a+224>>2]|0;k=i+(j*116|0)+76|0;f[d+4>>2]=0;f[d>>2]=3088;l=d+12|0;f[l>>2]=3112;m=d+64|0;f[m>>2]=0;f[d+68>>2]=0;f[d+72>>2]=0;e=d+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d+76>>2]=n;f[d+80>>2]=k;f[d+84>>2]=0;p=w+4|0;f[p>>2]=3112;o=w+56|0;f[o>>2]=0;q=w+60|0;f[q>>2]=0;f[w+64>>2]=0;e=w+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));g=i+(j*116|0)+4|0;f[v>>2]=3112;e=v+4|0;a=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[e>>2]=g;i=f[i+(j*116|0)+68>>2]|0;i=((f[i+4>>2]|0)-(f[i>>2]|0)>>2>>>0)/3|0;b[s>>0]=0;ef(v+8|0,i,s);Pa[f[(f[v>>2]|0)+8>>2]&127](v);ae(t,v);ae(s,t);f[w>>2]=f[s+4>>2];i=w+4|0;Ce(i,s)|0;f[s>>2]=3112;e=f[s+20>>2]|0;if(e|0)Co(e);e=f[s+8>>2]|0;if(e|0)Co(e);f[w+36>>2]=g;f[w+40>>2]=k;f[w+44>>2]=n;f[w+48>>2]=d;f[t>>2]=3112;e=f[t+20>>2]|0;if(e|0)Co(e);e=f[t+8>>2]|0;if(e|0)Co(e);f[d+8>>2]=f[w>>2];Ce(l,i)|0;e=d+44|0;t=w+36|0;f[e>>2]=f[t>>2];f[e+4>>2]=f[t+4>>2];f[e+8>>2]=f[t+8>>2];f[e+12>>2]=f[t+12>>2];b[e+16>>0]=b[t+16>>0]|0;ee(m,f[o>>2]|0,f[q>>2]|0);f[v>>2]=3112;e=f[v+20>>2]|0;if(e|0)Co(e);e=f[v+8>>2]|0;if(e|0)Co(e);e=f[o>>2]|0;if(e|0){g=f[q>>2]|0;if((g|0)!=(e|0))f[q>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}f[p>>2]=3112;e=f[w+24>>2]|0;if(e|0)Co(e);e=f[w+12>>2]|0;if(e|0)Co(e)}e=Nk(64)|0;f[x>>2]=d;gj(e,x);l=e;d=f[x>>2]|0;f[x>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[y>>2]|0;if((c|0)<0){Pa[f[(f[e>>2]|0)+4>>2]&127](e);c=0;u=A;return c|0}k=d+8|0;j=d+12|0;d=f[j>>2]|0;e=f[k>>2]|0;i=d-e>>2;do if((i|0)<=(c|0)){g=c+1|0;if(g>>>0>i>>>0){Ae(k,g-i|0);break}if(g>>>0>>0?(z=e+(g<<2)|0,(d|0)!=(z|0)):0)do{y=d+-4|0;f[j>>2]=y;d=f[y>>2]|0;f[y>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[j>>2]|0}while((d|0)!=(z|0))}while(0);c=(f[k>>2]|0)+(c<<2)|0;d=f[c>>2]|0;f[c>>2]=l;if(!d){c=1;u=A;return c|0}Pa[f[(f[d>>2]|0)+4>>2]&127](d);c=1;u=A;return c|0}function Jb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=u;u=u+736|0;C=D+720|0;s=D+16|0;B=D+72|0;r=D+64|0;v=D+56|0;w=D+48|0;x=D+40|0;y=D+32|0;z=D+24|0;A=D+8|0;t=D;e=Wa[f[(f[a>>2]|0)+20>>2]&127](a,0)|0;a=(Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;a=f[a>>2]|0;if((e|0)<=-1)Ga(17186,17202,67,17293);d=f[a+8>>2]|0;if(((f[a+12>>2]|0)-d>>2|0)<=(e|0))Ga(17303,17202,68,17293);a=f[d+(e<<2)>>2]|0;b[a+84>>0]=1;d=f[a+68>>2]|0;g=a+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);m=c+8|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=c+16|0;k=o;j=f[k>>2]|0;k=f[k+4>>2]|0;if(!((m|0)>(k|0)|(m|0)==(k|0)&l>>>0>j>>>0)){C=0;u=D;return C|0}n=f[c>>2]|0;g=b[n+j>>0]|0;d=gm(j|0,k|0,1,0)|0;e=I;E=o;f[E>>2]=d;f[E+4>>2]=e;switch(g<<24>>24){case 0:{if(((m|0)>(e|0)|(m|0)==(e|0)&l>>>0>d>>>0?(i=gm(j|0,k|0,2,0)|0,p=o,f[p>>2]=i,f[p+4>>2]=I,p=gm(j|0,k|0,6,0)|0,q=I,!((m|0)<(q|0)|(m|0)==(q|0)&l>>>0

>>0)):0)?(E=n+i|0,E=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24,A=o,f[A>>2]=p,f[A+4>>2]=q,jh(a,E)|0,cm(B),f[r>>2]=a,f[r+4>>2]=0,f[C>>2]=f[r>>2],f[C+4>>2]=f[r+4>>2],kd(B,c,C)|0):0){E=1;u=D;return E|0}E=0;u=D;return E|0}case 1:{a:do if((m|0)>(e|0)|(m|0)==(e|0)&l>>>0>d>>>0){i=b[n+d>>0]|0;g=gm(j|0,k|0,2,0)|0;E=o;f[E>>2]=g;f[E+4>>2]=I;if((i&255)>6){f[s>>2]=i&255;il(4894,s)|0;break}d=gm(j|0,k|0,6,0)|0;e=I;if(!((m|0)<(e|0)|(m|0)==(e|0)&l>>>0>>0)){E=n+g|0;E=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;s=o;f[s>>2]=d;f[s+4>>2]=e;jh(a,E)|0;switch(i<<24>>24){case 0:{Tf(B,3);f[v>>2]=a;f[v+4>>2]=0;f[C>>2]=f[v>>2];f[C+4>>2]=f[v+4>>2];E=wd(B,c,C)|0;me(B);if(E)a=1;else break a;u=D;return a|0}case 1:{Tf(B,3);f[w>>2]=a;f[w+4>>2]=0;f[C>>2]=f[w>>2];f[C+4>>2]=f[w+4>>2];E=vd(B,c,C)|0;me(B);if(E)a=1;else break a;u=D;return a|0}case 2:{Uf(B,3);f[x>>2]=a;f[x+4>>2]=0;f[C>>2]=f[x>>2];f[C+4>>2]=f[x+4>>2];E=yd(B,c,C)|0;qe(B);if(E)a=1;else break a;u=D;return a|0}case 3:{Uf(B,3);f[y>>2]=a;f[y+4>>2]=0;f[C>>2]=f[y>>2];f[C+4>>2]=f[y+4>>2];E=xd(B,c,C)|0;qe(B);if(E)a=1;else break a;u=D;return a|0}case 4:{Lf(B,3);f[z>>2]=a;f[z+4>>2]=0;f[C>>2]=f[z>>2];f[C+4>>2]=f[z+4>>2];E=dd(B,c,C)|0;ce(B);if(E)a=1;else break a;u=D;return a|0}case 5:{Lf(B,3);f[A>>2]=a;f[A+4>>2]=0;f[C>>2]=f[A>>2];f[C+4>>2]=f[A+4>>2];E=cd(B,c,C)|0;ce(B);if(E)a=1;else break a;u=D;return a|0}case 6:{Lf(B,3);f[t>>2]=a;f[t+4>>2]=0;f[C>>2]=f[t>>2];f[C+4>>2]=f[t+4>>2];E=bd(B,c,C)|0;ce(B);if(E)a=1;else break a;u=D;return a|0}default:break a}}}while(0);E=0;u=D;return E|0}default:{E=0;u=D;return E|0}}return 0}function Kb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;C=a+8|0;f[C>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);z=e>>>0>1073741823?-1:e<<2;A=zo(z)|0;Yg(A|0,0,z|0)|0;B=zo(z)|0;Yg(B|0,0,z|0)|0;if((f[C>>2]|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[A+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{z=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(z|0)?z:d}i=i+1|0;d=f[C>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;H=18}}else{d=d-(f[i>>2]|0)|0;H=18}if((H|0)==18){H=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[C>>2]|0))}}s=f[a+48>>2]|0;w=a+56|0;h=f[w>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;y=g-d|0;z=y>>2;if((y|0)<=4){Ao(B);Ao(A);return 1}t=f[a+52>>2]|0;v=(e|0)>0;x=a+16|0;u=a+32|0;y=a+12|0;r=a+20|0;q=s+12|0;p=e<<2;i=g;o=1;while(1){if(i-d>>2>>>0<=o>>>0){mn(h);d=f[h>>2]|0}n=f[d+(o<<2)>>2]|0;if(v)Yg(A|0,0,p|0)|0;if((n|0)>-1){m=f[q>>2]|0;a=n;l=0;while(1){g=f[m+(a<<2)>>2]|0;if((g|0)>=0){h=f[s>>2]|0;i=f[t>>2]|0;k=f[i+(f[h+(g<<2)>>2]<<2)>>2]|0;d=g+1|0;d=((d|0)%3|0|0)==0?g+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;j=f[i+(d<<2)>>2]|0;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;d=f[i+(d<<2)>>2]|0;if((k|0)<(o|0)&(j|0)<(o|0)&(d|0)<(o|0)){i=X(k,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(v){d=0;do{f[B+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(v){d=0;do{k=A+(d<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[B+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;d=(((a>>>0)%3|0|0)==0?2:-1)+a|0;do if((d|0)>=0){d=f[m+(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);a=(d|0)==(n|0)?-1073741824:d;if((a|0)<=-1)break;else l=h}g=X(o,e)|0;if(h){if(v){d=0;do{n=A+(d<<2)|0;f[n>>2]=(f[n>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}k=b+(g<<2)|0;j=c+(g<<2)|0;if((f[C>>2]|0)>0){h=0;do{d=f[A+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){i=f[u>>2]|0;f[i+(h<<2)>>2]=g}else{n=f[y>>2]|0;i=f[u>>2]|0;f[i+(h<<2)>>2]=(d|0)<(n|0)?n:d}h=h+1|0;d=f[C>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=j+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[r>>2]|0)+d|0;H=72}}else{d=d-(f[r>>2]|0)|0;H=72}if((H|0)==72){H=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[C>>2]|0))}}}else{G=g;H=50}}else{G=X(o,e)|0;H=50}if((H|0)==50?(H=0,D=c+((X(o+-1|0,e)|0)<<2)|0,E=b+(G<<2)|0,F=c+(G<<2)|0,(f[C>>2]|0)>0):0){h=0;do{d=f[D+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){i=f[u>>2]|0;f[i+(h<<2)>>2]=g}else{n=f[y>>2]|0;i=f[u>>2]|0;f[i+(h<<2)>>2]=(d|0)<(n|0)?n:d}h=h+1|0;d=f[C>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[E+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=F+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[r>>2]|0)+d|0;H=60}}else{d=d-(f[r>>2]|0)|0;H=60}if((H|0)==60){H=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[C>>2]|0))}}g=o+1|0;if((g|0)>=(z|0))break;h=f[w>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;o=g}Ao(B);Ao(A);return 1}function Lb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;B=a+8|0;f[B>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);y=e>>>0>1073741823?-1:e<<2;z=zo(y)|0;Yg(z|0,0,y|0)|0;A=zo(y)|0;Yg(A|0,0,y|0)|0;if((f[B>>2]|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[z+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{y=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(y|0)?y:d}i=i+1|0;d=f[B>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;K=18}}else{d=d-(f[i>>2]|0)|0;K=18}if((K|0)==18){K=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[B>>2]|0))}}r=f[a+48>>2]|0;v=a+56|0;h=f[v>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;x=g-d|0;y=x>>2;if((x|0)<=4){Ao(A);Ao(z);return 1}s=f[a+52>>2]|0;u=(e|0)>0;w=a+16|0;t=a+32|0;x=a+12|0;q=a+20|0;p=r+64|0;o=r+28|0;n=e<<2;i=g;m=1;while(1){if(i-d>>2>>>0<=m>>>0){mn(h);d=f[h>>2]|0}a=f[d+(m<<2)>>2]|0;if(u)Yg(z|0,0,n|0)|0;if((a|0)>-1){l=f[r>>2]|0;k=a;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(J=f[(f[(f[p>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(J|0)>=0):0)?(E=f[o>>2]|0,i=f[s>>2]|0,C=f[i+(f[E+(J<<2)>>2]<<2)>>2]|0,D=J+1|0,D=f[i+(f[E+((((D|0)%3|0|0)==0?J+-2|0:D)<<2)>>2]<<2)>>2]|0,E=f[i+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(C|0)<(m|0)&(D|0)<(m|0)&(E|0)<(m|0)):0){g=X(C,e)|0;h=X(D,e)|0;i=X(E,e)|0;if(u){d=0;do{f[A+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(u){d=0;do{i=z+(d<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[A+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}j=j+1|0}d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(d>>>5<<2)>>2]&1<<(d&31))){if((d|0)>=0){d=f[(f[(f[p>>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);k=(d|0)==(a|0)?-1073741824:d}while((k|0)>-1);g=X(m,e)|0;if(j){if(u){d=0;do{a=z+(d<<2)|0;f[a>>2]=(f[a>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}k=b+(g<<2)|0;j=c+(g<<2)|0;if((f[B>>2]|0)>0){h=0;do{d=f[z+(h<<2)>>2]|0;g=f[w>>2]|0;if((d|0)>(g|0)){i=f[t>>2]|0;f[i+(h<<2)>>2]=g}else{a=f[x>>2]|0;i=f[t>>2]|0;f[i+(h<<2)>>2]=(d|0)<(a|0)?a:d}h=h+1|0;d=f[B>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=j+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[w>>2]|0)){if((d|0)<(f[x>>2]|0)){d=(f[q>>2]|0)+d|0;K=70}}else{d=d-(f[q>>2]|0)|0;K=70}if((K|0)==70){K=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[B>>2]|0))}}}else{I=g;K=48}}else{I=X(m,e)|0;K=48}if((K|0)==48?(K=0,F=c+((X(m+-1|0,e)|0)<<2)|0,G=b+(I<<2)|0,H=c+(I<<2)|0,(f[B>>2]|0)>0):0){h=0;do{d=f[F+(h<<2)>>2]|0;g=f[w>>2]|0;if((d|0)>(g|0)){i=f[t>>2]|0;f[i+(h<<2)>>2]=g}else{a=f[x>>2]|0;i=f[t>>2]|0;f[i+(h<<2)>>2]=(d|0)<(a|0)?a:d}h=h+1|0;d=f[B>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[G+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=H+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[w>>2]|0)){if((d|0)<(f[x>>2]|0)){d=(f[q>>2]|0)+d|0;K=58}}else{d=d-(f[q>>2]|0)|0;K=58}if((K|0)==58){K=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[B>>2]|0))}}g=m+1|0;if((g|0)>=(y|0))break;h=f[v>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;m=g}Ao(A);Ao(z);return 1}function Mb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=u;u=u+16|0;z=A;m=a+144|0;l=f[m>>2]|0;l=Sa[f[(f[l>>2]|0)+32>>2]&127](l)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){e=a+40|0;g=e;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));if(Te(e,1,z)|0){g=a;i=e;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));e=z;l=f[e>>2]|0;e=f[e+4>>2]|0;B=a+8|0;g=a+16|0;k=g;i=f[k>>2]|0;k=f[k+4>>2]|0;B=wl(f[B>>2]|0,f[B+4>>2]|0,i|0,k|0)|0;C=I;if(!(e>>>0>C>>>0|(e|0)==(C|0)&l>>>0>B>>>0)){B=gm(i|0,k|0,l|0,e|0)|0;C=g;f[C>>2]=B;f[C+4>>2]=I;break}}C=0;u=A;return C|0}while(0);do if((j[a+38>>1]|0)<514){e=a+96|0;g=e;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));if(Te(e,1,z)|0){g=a;i=e;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));g=z;e=f[g>>2]|0;g=f[g+4>>2]|0;C=a+8|0;i=a+16|0;l=i;k=f[l>>2]|0;l=f[l+4>>2]|0;C=wl(f[C>>2]|0,f[C+4>>2]|0,k|0,l|0)|0;B=I;if(!(g>>>0>B>>>0|(g|0)==(B|0)&e>>>0>C>>>0)){B=gm(k|0,l|0,e|0,g|0)|0;C=i;f[C>>2]=B;f[C+4>>2]=I;break}}C=0;u=A;return C|0}else nd(a+80|0,a)|0;while(0);if(!(vg(a)|0)){C=0;u=A;return C|0}g=c;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));C=f[m>>2]|0;C=Sa[f[(f[C>>2]|0)+32>>2]&127](C)|0;do if((((h[C+36>>0]|0)<<8|(h[C+37>>0]|0))&65535)<514){C=f[m>>2]|0;C=(Sa[f[(f[C>>2]|0)+32>>2]&127](C)|0)+36|0;if(((h[C>>0]|0)<<8&65535)<512){g=c+8|0;e=f[g>>2]|0;g=f[g+4>>2]|0;m=c+16|0;k=m;i=f[k>>2]|0;k=gm(i|0,f[k+4>>2]|0,4,0)|0;l=I;if(!((g|0)<(l|0)|(g|0)==(l|0)&e>>>0>>0)){n=(f[c>>2]|0)+i|0;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[z>>2]=n;o=m;f[o>>2]=k;f[o+4>>2]=l;o=g;p=l;q=e;r=k;s=m;t=19}}else if(sh(z,c)|0){q=c+8|0;s=c+16|0;r=s;n=f[z>>2]|0;o=f[q+4>>2]|0;p=f[r+4>>2]|0;q=f[q>>2]|0;r=f[r>>2]|0;t=19}if(((t|0)==19?(C=a+152|0,d=(f[C>>2]|0)+n|0,f[C>>2]=d,(o|0)>(p|0)|(o|0)==(p|0)&q>>>0>r>>>0):0)?(C=b[(f[c>>2]|0)+r>>0]|0,t=gm(r|0,p|0,1,0)|0,B=s,f[B>>2]=t,f[B+4>>2]=I,C<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;break}C=0;u=A;return C|0}else{f[a+176>>2]=2;f[a+180>>2]=7;d=f[a+152>>2]|0}while(0);if((d|0)<0){C=0;u=A;return C|0}l=a+156|0;f[z>>2]=0;i=a+160|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;if(d>>>0<=k>>>0)if(d>>>0>>0?(v=e+(d<<2)|0,(g|0)!=(v|0)):0){f[i>>2]=g+(~((g+-4-v|0)>>>2)<<2);d=2;e=7}else{d=2;e=7}else{jf(l,d-k|0,z);d=f[a+176>>2]|0;e=f[a+180>>2]|0}i=e-d+1|0;q=a+184|0;p=a+188|0;e=f[p>>2]|0;g=f[q>>2]|0;k=(e-g|0)/12|0;d=e;if(i>>>0<=k>>>0){if(i>>>0>>0?(w=g+(i*12|0)|0,(d|0)!=(w|0)):0){do{e=d+-12|0;f[p>>2]=e;g=f[e>>2]|0;if(!g)d=e;else{e=d+-8|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g);d=f[p>>2]|0}}while((d|0)!=(w|0));e=d}}else{$d(q,i-k|0);e=f[p>>2]|0}o=a+196|0;d=f[q>>2]|0;m=(e-d|0)/12|0;k=a+200|0;i=f[k>>2]|0;g=f[o>>2]|0;l=i-g>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(x=g+(m<<2)|0,(i|0)!=(x|0)):0)f[k>>2]=i+(~((i+-4-x|0)>>>2)<<2)}else{lg(o,m-l|0);e=f[p>>2]|0;d=f[q>>2]|0}if((e|0)==(d|0)){C=1;u=A;return C|0}n=0;do{sh(z,c)|0;d=f[z>>2]|0;if(d|0){e=f[q>>2]|0;l=e+(n*12|0)|0;k=e+(n*12|0)+4|0;i=f[k>>2]|0;g=f[l>>2]|0;m=i-g>>2;if(d>>>0<=m>>>0){if(d>>>0>>0?(y=g+(d<<2)|0,(i|0)!=(y|0)):0)f[k>>2]=i+(~((i+-4-y|0)>>>2)<<2)}else{lg(l,d-m|0);e=f[q>>2]|0;d=f[z>>2]|0}_g(d,1,c,f[e+(n*12|0)>>2]|0)|0;f[(f[o>>2]|0)+(n<<2)>>2]=f[z>>2]}n=n+1|0}while(n>>>0<(((f[p>>2]|0)-(f[q>>2]|0)|0)/12|0)>>>0);d=1;u=A;return d|0}function Nb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[5222]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[5223]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[5220]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[5218]=f[5218]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=21176+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5219]=f[5219]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[5223]|0;if((k|0)==(f[5224]|0)){k=(f[5221]|0)+b|0;f[5221]=k;f[5224]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[5223]=0;f[5220]=0;return}if((k|0)==(a|0)){k=(f[5220]|0)+b|0;f[5220]=k;f[5223]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[5218]=f[5218]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=21176+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5219]=f[5219]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[5223]|0)){f[5220]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=20912+(a<<1<<2)|0;b=f[5218]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=21176+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[5219]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[5219]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[5226]|0)+-1|0;f[5226]=k;if(!k)a=21328;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[5226]=-1;return}function Ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))zg(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Je(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Je(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;d=d+(i>>>5<<2)|0;f[d>>2]=1<<(i&31)|f[d>>2];d=f[b>>2]|0;i=f[(f[e+28>>2]|0)+(d<<2)>>2]|0;c=f[(f[e+40>>2]|0)+(i<<2)>>2]|0;if((c|0)<0)j=1;else{j=f[(f[f[e+64>>2]>>2]|0)+(c<<2)>>2]|0;j=(1<<(j&31)&f[(f[e+12>>2]|0)+(j>>>5<<2)>>2]|0)!=0}g=(f[n>>2]|0)+(i>>>5<<2)|0;h=1<<(i&31);c=f[g>>2]|0;if(!(c&h)){f[g>>2]=c|h;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Je(k,t,w);e=f[a>>2]|0;c=f[b>>2]|0;if(j){d=c;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)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}}else y=40;if((y|0)==40){y=0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){zg(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))zg(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Je(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Je(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){e=(c|0)/3|0;g=d+(e>>>5<<2)|0;f[g>>2]=1<<(e&31)|f[g>>2];g=f[b>>2]|0;e=f[a>>2]|0;if((g|0)<0)j=-1073741824;else j=f[(f[e>>2]|0)+(g<<2)>>2]|0;d=f[(f[e+24>>2]|0)+(j<<2)>>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){d=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;c=d+1|0;if((d|0)<0)i=d;else i=((c|0)%3|0|0)==0?d+-2|0:c}else i=c}else i=d;d=(f[n>>2]|0)+(j>>>5<<2)|0;h=1<<(j&31);c=f[d>>2]|0;if(!(c&h)){f[d>>2]=c|h;f[s>>2]=j;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Je(k,t,w);d=f[a>>2]|0;c=f[b>>2]|0;if((i|0)<0){g=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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((g|0)<0){y=44;break}c=g+1|0;c=((c|0)%3|0|0)==0?g+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=49;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(g){y=51;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=51;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==44){f[w>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){zg(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function Qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;w=u;u=u+688|0;t=w+680|0;l=w;v=w+8|0;m=w+676|0;n=w+672|0;o=w+668|0;p=w+664|0;q=w+660|0;r=w+656|0;s=w+4|0;i=c+8|0;y=i;g=f[y>>2]|0;y=f[y+4>>2]|0;k=c+16|0;j=k;e=f[j>>2]|0;j=gm(e|0,f[j+4>>2]|0,4,0)|0;x=I;if((y|0)<(x|0)|(y|0)==(x|0)&g>>>0>>0){y=0;u=w;return y|0}y=(f[c>>2]|0)+e|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;b[a>>0]=y;b[a+1>>0]=y>>8;b[a+2>>0]=y>>16;b[a+3>>0]=y>>24;y=k;j=f[y>>2]|0;y=f[y+4>>2]|0;e=gm(j|0,y|0,4,0)|0;g=k;f[g>>2]=e;f[g+4>>2]=I;g=i;x=f[g>>2]|0;g=f[g+4>>2]|0;y=gm(j|0,y|0,8,0)|0;j=I;if((g|0)<(j|0)|(g|0)==(j|0)&x>>>0>>0){y=0;u=w;return y|0}y=a+4|0;g=(f[c>>2]|0)+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[y>>0]=g;b[y+1>>0]=g>>8;b[y+2>>0]=g>>16;b[y+3>>0]=g>>24;y=k;g=f[y>>2]|0;y=f[y+4>>2]|0;e=gm(g|0,y|0,4,0)|0;j=k;f[j>>2]=e;f[j+4>>2]=I;j=a+12|0;z=i;x=f[z>>2]|0;z=f[z+4>>2]|0;y=gm(g|0,y|0,8,0)|0;g=I;if((z|0)<(g|0)|(z|0)==(g|0)&x>>>0>>0){z=0;u=w;return z|0}g=(f[c>>2]|0)+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[j>>0]=g;b[j+1>>0]=g>>8;b[j+2>>0]=g>>16;b[j+3>>0]=g>>24;z=k;x=f[z>>2]|0;z=f[z+4>>2]|0;e=gm(x|0,z|0,4,0)|0;y=k;f[y>>2]=e;f[y+4>>2]=I;a=a+16|0;y=f[i>>2]|0;i=f[i+4>>2]|0;z=gm(x|0,z|0,8,0)|0;x=I;if((i|0)<(x|0)|(i|0)==(x|0)&y>>>0>>0){z=0;u=w;return z|0}e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;y=k;y=gm(f[y>>2]|0,f[y+4>>2]|0,4,0)|0;z=k;f[z>>2]=y;f[z+4>>2]=I;if(e>>>0>6){f[l>>2]=e;il(16754,l)|0;z=0;u=w;return z|0}e=d;a:do if(g|0){Qg(d,g);switch(f[a>>2]|0){case 0:{Tf(v,3);f[m>>2]=e;f[t>>2]=f[m>>2];sd(v,c,t)|0;me(v);break a}case 1:{Tf(v,3);f[n>>2]=e;f[t>>2]=f[n>>2];rd(v,c,t)|0;me(v);break a}case 2:{Uf(v,3);f[o>>2]=e;f[t>>2]=f[o>>2];ud(v,c,t)|0;qe(v);break a}case 3:{Uf(v,3);f[p>>2]=e;f[t>>2]=f[p>>2];td(v,c,t)|0;qe(v);break a}case 4:{Lf(v,3);f[q>>2]=e;f[t>>2]=f[q>>2];Rc(v,c,t)|0;ce(v);break a}case 5:{Lf(v,3);f[r>>2]=e;f[t>>2]=f[r>>2];Qc(v,c,t)|0;ce(v);break a}case 6:{Lf(v,3);f[s>>2]=e;f[t>>2]=f[s>>2];Pc(v,c,t)|0;ce(v);break a}default:{z=0;u=w;return z|0}}}while(0);z=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[j>>2]|0);u=w;return z|0}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Ga(10505,10527,46,10691);if(!(f[a+8>>2]|0))Ga(10505,10527,46,10691);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Ue(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Ue(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Ue(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=wl(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=wl(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=wl(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=wl(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=wl(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Mk(H|0,J|0,i|0,h|0)|0;M=I;P=Mk(T|0,S|0,K|0,L|0)|0;O=I;L=Mk(R|0,Q|0,K|0,L|0)|0;K=I;J=Mk(H|0,J|0,n|0,j|0)|0;H=I;j=Mk(T|0,S|0,n|0,j|0)|0;n=I;h=Mk(R|0,Q|0,i|0,h|0)|0;i=I;l=wl(l|0,k|0,P|0,O|0)|0;l=gm(l|0,I|0,N|0,M|0)|0;k=I;g=gm(L|0,K|0,g|0,m|0)|0;g=wl(g|0,I|0,J|0,H|0)|0;m=I;c=wl(c|0,e|0,h|0,i|0)|0;c=gm(c|0,I|0,j|0,n|0)|0;e=I;he(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=wl(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=wl(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=wl(0,0,c|0,e|0)|0;S=gm((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=gm(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=sl(h|0,i|0,29)|0;T=T&7;i=ki(l|0,k|0,T|0,0)|0;j=I;g=ki(g|0,m|0,T|0,0)|0;h=I;c=ki(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=sl(h|0,i|0,29)|0;T=I;i=ki(l|0,k|0,S|0,T|0)|0;j=I;g=ki(g|0,m|0,S|0,T|0)|0;h=I;c=ki(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=wl(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=wl(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=wl(0,0,c|0,e|0)|0;Q=gm((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=gm(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Ga(10713,10527,95,10691)}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Ga(10505,10527,46,10691);if(!(f[a+8>>2]|0))Ga(10505,10527,46,10691);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];$e(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];$e(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];$e(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=wl(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=wl(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=wl(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=wl(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=wl(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Mk(H|0,J|0,i|0,h|0)|0;M=I;P=Mk(T|0,S|0,K|0,L|0)|0;O=I;L=Mk(R|0,Q|0,K|0,L|0)|0;K=I;J=Mk(H|0,J|0,n|0,j|0)|0;H=I;j=Mk(T|0,S|0,n|0,j|0)|0;n=I;h=Mk(R|0,Q|0,i|0,h|0)|0;i=I;l=wl(l|0,k|0,P|0,O|0)|0;l=gm(l|0,I|0,N|0,M|0)|0;k=I;g=gm(L|0,K|0,g|0,m|0)|0;g=wl(g|0,I|0,J|0,H|0)|0;m=I;c=wl(c|0,e|0,h|0,i|0)|0;c=gm(c|0,I|0,j|0,n|0)|0;e=I;ff(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=wl(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=wl(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=wl(0,0,c|0,e|0)|0;S=gm((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=gm(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=sl(h|0,i|0,29)|0;T=T&7;i=ki(l|0,k|0,T|0,0)|0;j=I;g=ki(g|0,m|0,T|0,0)|0;h=I;c=ki(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=sl(h|0,i|0,29)|0;T=I;i=ki(l|0,k|0,S|0,T|0)|0;j=I;g=ki(g|0,m|0,S|0,T|0)|0;h=I;c=ki(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=wl(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=wl(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=wl(0,0,c|0,e|0)|0;Q=gm((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=gm(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Ga(10713,10527,95,10691)}function Tb(a,c){a=a|0;c=c|0;var d=0,e=0,g=La,i=La,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=La;t=b[c+11>>0]|0;v=t<<24>>24<0;u=v?f[c>>2]|0:c;t=v?f[c+4>>2]|0:t&255;if(t>>>0>3){j=u;m=t;k=t;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}v=t+-4|0;k=v&-4;l=u+(k+4)|0;j=m;k=v-k|0}else{l=u;j=t;k=t}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;x=6;break}case 2:{o=j;x=6;break}case 1:{p=j;x=7;break}default:q=j}if((x|0)==6){p=h[l+1>>0]<<8^o;x=7}if((x|0)==7)q=X(h[l>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;r=a+4|0;q=f[r>>2]|0;s=(q|0)==0;a:do if(!s){o=q+-1|0;k=(o&q|0)==0;if(k)p=v&o;else p=(v>>>0)%(q>>>0)|0;j=f[(f[a>>2]|0)+(p<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){j=(t|0)==0;if(k){if(j){while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}u=b[e+8+11>>0]|0;if(!((u<<24>>24<0?f[e+12>>2]|0:u&255)|0))break;e=f[e>>2]|0;if(!e){d=p;break a}}a=e+20|0;return a|0}b:while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(hj(k,u,t)|0)){x=54;break b}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break b}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}else{if(j){d=e;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}u=b[d+8+11>>0]|0;if(!((u<<24>>24<0?f[d+12>>2]|0:u&255)|0)){e=d;break}d=f[d>>2]|0;if(!d){d=p;break a}}a=e+20|0;return a|0}c:while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(hj(k,u,t)|0)){x=54;break c}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}}else d=p}else d=0;while(0);l=Nk(24)|0;cj(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=v;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);y=$(q>>>0);g=$(n[a+16>>2]);do if(s|i>$(y*g)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(i/g)))>>>0;Rf(a,d>>>0>>0?e:d);d=f[r>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&v;break}else{j=d;d=(v>>>0)%(d>>>0)|0;break}}else j=q;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;w=(f[a>>2]|0)+(d<<2)|0;x=52}}else{f[l>>2]=f[d>>2];w=d;x=52}if((x|0)==52)f[w>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function Ub(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=La,h=0,i=0,j=La,k=0,l=La,m=La,o=La,p=La,q=La,r=0,t=0,v=0,w=0,x=La,y=La,z=La,A=La,B=0,C=0,D=0,E=0,F=0,G=0,H=La;G=u;u=u+48|0;B=G+40|0;C=G+36|0;F=G+24|0;D=G+12|0;E=G;k=a+48|0;h=f[c>>2]|0;c=h+1|0;if((h|0)>=0){i=((c|0)%3|0|0)==0?h+-2|0:c;c=h+(((h>>>0)%3|0|0)==0?2:-1)|0;if((i|0)<0)h=-1073741824;else h=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;if((c|0)<0){w=-1073741824;v=h}else{w=f[(f[f[k>>2]>>2]|0)+(c<<2)>>2]|0;v=h}}else{w=-1073741824;v=-1073741824}c=a+52|0;r=f[c>>2]|0;i=f[r+4>>2]|0;t=f[r>>2]|0;if(i-t>>2>>>0>v>>>0){h=t;k=r;c=t}else{mn(r);k=f[c>>2]|0;h=f[k>>2]|0;i=f[k+4>>2]|0;c=f[r>>2]|0}c=f[c+(v<<2)>>2]|0;if(i-h>>2>>>0<=w>>>0){mn(k);h=f[k>>2]|0}t=f[h+(w<<2)>>2]|0;h=(c|0)<(e|0);if(!(h&(t|0)<(e|0))){do if(!h){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=f[d+(h+i<<2)>>2];h=h+1|0}while((h|0)<(f[k>>2]|0));u=G;return}w=f[a+72>>2]|0;v=X(w,c)|0;z=$(f[d+(v<<2)>>2]|0);A=$(f[d+(v+1<<2)>>2]|0);w=X(w,t)|0;y=$(f[d+(w<<2)>>2]|0);x=$(f[d+(w+1<<2)>>2]|0);if(!(y!=z|x!=A)){a=f[a+68>>2]|0;f[a>>2]=~~y;f[a+4>>2]=~~x;u=G;return}k=a+64|0;h=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;r=a+60|0;i=f[r>>2]|0;if(!(b[i+84>>0]|0))h=f[(f[i+68>>2]|0)+(h<<2)>>2]|0;f[C>>2]=h;h=b[i+24>>0]|0;f[B>>2]=f[C>>2];eb(i,B,h,F)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[C>>2]=c;c=b[h+24>>0]|0;f[B>>2]=f[C>>2];eb(h,B,c,D)|0;c=f[(f[k>>2]|0)+(t<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[C>>2]=c;d=b[h+24>>0]|0;f[B>>2]=f[C>>2];eb(h,B,d,E)|0;q=$(n[E>>2]);o=$(n[D>>2]);q=$(q-o);p=$(n[E+4>>2]);j=$(n[D+4>>2]);p=$(p-j);m=$(n[E+8>>2]);g=$(n[D+8>>2]);m=$(m-g);o=$($(n[F>>2])-o);j=$($(n[F+4>>2])-j);g=$($(n[F+8>>2])-g);l=$($($($(q*q)+$(0.0))+$(p*p))+$(m*m));if(l>$(0.0)?1:(f[a+88>>2]|0)<258){H=$($($($($(q*o)+$(0.0))+$(p*j))+$(m*g))/l);q=$(o-$(q*H));p=$(j-$(p*H));g=$(g-$(m*H));j=H;g=$(L($($($(g*g)+$($(p*p)+$($(q*q)+$(0.0))))/l)))}else{j=$(0.0);g=$(0.0)}y=$(y-z);H=$(x-A);z=$(z+$(y*j));y=$(y*g);A=$(A+$(H*j));H=$(H*g);E=a+80|0;D=(f[E>>2]|0)+-1|0;F=(1<<(D&31)&f[(f[a+76>>2]|0)+(D>>>5<<2)>>2]|0)==0;f[E>>2]=D;j=$(-y);j=$(A+(F?j:y));g=$(-H);g=$(z+(F?H:g));if(((n[s>>2]=g,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+g+.5));h=f[a+68>>2]|0;f[h>>2]=c;if(((n[s>>2]=j,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+j+.5));f[h+4>>2]=c;u=G;return}function Vb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=u;u=u+80|0;B=F+76|0;A=F;E=F+72|0;z=F+64|0;D=F+68|0;C=a+28|0;do if(((h[(f[C>>2]|0)+36>>0]|0)<<8&65535)<512){w=c+8|0;x=f[w>>2]|0;w=f[w+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=gm(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((w|0)<(g|0)|(w|0)==(g|0)&x>>>0>>0){E=0;u=F;return E|0}else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[B>>2]=d;x=i;f[x>>2]=e;f[x+4>>2]=g;break}}else if(sh(B,c)|0){d=f[B>>2]|0;break}else{E=0;u=F;return E|0}while(0);if(!d){E=0;u=F;return E|0}x=a+4|0;i=a+8|0;g=f[i>>2]|0;e=f[x>>2]|0;j=g-e>>2;if(d>>>0>j>>>0){lg(x,d-j|0);if(!(f[B>>2]|0)){E=1;u=F;return E|0}}else if(d>>>0>>0?(k=e+(d<<2)|0,(g|0)!=(k|0)):0)f[i>>2]=g+(~((g+-4-k|0)>>>2)<<2);p=f[a+32>>2]|0;s=c+8|0;v=c+16|0;w=A+60|0;r=p+8|0;q=p+12|0;t=a+16|0;n=a+20|0;o=0;while(1){g=s;e=f[g>>2]|0;g=f[g+4>>2]|0;a=v;k=f[a>>2]|0;a=f[a+4>>2]|0;if(!((g|0)>(a|0)|(g|0)==(a|0)&e>>>0>k>>>0)){d=0;e=53;break}i=f[c>>2]|0;m=b[i+k>>0]|0;d=gm(k|0,a|0,1,0)|0;l=I;j=v;f[j>>2]=d;f[j+4>>2]=l;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>d>>>0)){d=0;e=53;break}l=b[i+d>>0]|0;d=gm(k|0,a|0,2,0)|0;j=I;G=v;f[G>>2]=d;f[G+4>>2]=j;if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>d>>>0)){d=0;e=53;break}j=b[i+d>>0]|0;d=gm(k|0,a|0,3,0)|0;G=I;H=v;f[H>>2]=d;f[H+4>>2]=G;if(!((g|0)>(G|0)|(g|0)==(G|0)&e>>>0>d>>>0)){d=0;e=53;break}e=b[i+d>>0]|0;H=gm(k|0,a|0,4,0)|0;d=v;f[d>>2]=H;f[d+4>>2]=I;d=l&255;if((l+-1&255)>10){d=0;e=53;break}wj(A);H=X(Jj(d)|0,j&255)|0;rh(A,m&255,0,j,d,e<<24>>24!=0,H,((H|0)<0)<<31>>31,0,0);H=f[C>>2]|0;if((((h[H+36>>0]|0)<<8|(h[H+37>>0]|0))&65535)<259){G=s;H=f[G>>2]|0;G=f[G+4>>2]|0;e=v;d=f[e>>2]|0;e=gm(d|0,f[e+4>>2]|0,2,0)|0;g=I;if((G|0)<(g|0)|(G|0)==(g|0)&H>>>0>>0){e=51;break}d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8;H=v;f[H>>2]=e;f[H+4>>2]=g;d=d&65535;f[E>>2]=d}else{sh(E,c)|0;d=f[E>>2]|0}f[w>>2]=d;j=Nk(96)|0;nj(j,A);f[z>>2]=j;j=qf(p,z)|0;i=f[z>>2]|0;f[z>>2]=0;if(i|0){H=i+88|0;d=f[H>>2]|0;f[H>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[i+68>>2]|0;if(d|0){g=i+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}H=i+64|0;d=f[H>>2]|0;f[H>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(i)}if((j|0)<=-1){e=41;break}d=f[r>>2]|0;if(((f[q>>2]|0)-d>>2|0)<=(j|0)){e=43;break}f[(f[d+(j<<2)>>2]|0)+60>>2]=f[E>>2];f[(f[x>>2]|0)+(o<<2)>>2]=j;e=f[n>>2]|0;d=f[t>>2]|0;i=e-d>>2;if((j|0)>=(i|0)){g=j+1|0;f[D>>2]=-1;if(g>>>0<=i>>>0){if(g>>>0>>0?(y=d+(g<<2)|0,(e|0)!=(y|0)):0)f[n>>2]=e+(~((e+-4-y|0)>>>2)<<2)}else{jf(t,g-i|0,D);d=f[t>>2]|0}}f[d+(j<<2)>>2]=o;o=o+1|0;if(o>>>0>=(f[B>>2]|0)>>>0){d=1;e=53;break}}if((e|0)==41)Ga(17186,17202,67,17293);else if((e|0)==43)Ga(17303,17202,68,17293);else if((e|0)==51){H=0;u=F;return H|0}else if((e|0)==53){u=F;return d|0}return 0}function Wb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=La,h=0,i=0,j=La,k=0,l=La,m=La,o=La,p=La,q=La,r=0,t=0,v=0,w=0,x=La,y=La,z=La,A=La,B=0,C=0,D=0,E=0,F=0,G=0,H=La;G=u;u=u+48|0;B=G+40|0;C=G+36|0;F=G+24|0;D=G+12|0;E=G;i=a+48|0;h=f[c>>2]|0;c=h+1|0;do if((h|0)>=0){c=((c|0)%3|0|0)==0?h+-2|0:c;if(!((h>>>0)%3|0)){h=h+2|0;break}else{h=h+-1|0;break}}else c=h;while(0);w=f[(f[i>>2]|0)+28>>2]|0;v=f[w+(c<<2)>>2]|0;w=f[w+(h<<2)>>2]|0;h=a+52|0;i=f[h>>2]|0;c=f[i+4>>2]|0;t=f[i>>2]|0;if(c-t>>2>>>0>v>>>0){k=c;r=i;c=t;h=t}else{mn(i);h=f[h>>2]|0;k=f[h+4>>2]|0;r=h;c=f[i>>2]|0;h=f[h>>2]|0}c=f[c+(v<<2)>>2]|0;if(k-h>>2>>>0<=w>>>0){mn(r);h=f[r>>2]|0}t=f[h+(w<<2)>>2]|0;h=(c|0)<(e|0);if(!(h&(t|0)<(e|0))){do if(!h){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=f[d+(h+i<<2)>>2];h=h+1|0}while((h|0)<(f[k>>2]|0));u=G;return}w=f[a+72>>2]|0;v=X(w,c)|0;z=$(f[d+(v<<2)>>2]|0);A=$(f[d+(v+1<<2)>>2]|0);w=X(w,t)|0;y=$(f[d+(w<<2)>>2]|0);x=$(f[d+(w+1<<2)>>2]|0);if(!(y!=z|x!=A)){a=f[a+68>>2]|0;f[a>>2]=~~y;f[a+4>>2]=~~x;u=G;return}k=a+64|0;h=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;r=a+60|0;i=f[r>>2]|0;if(!(b[i+84>>0]|0))h=f[(f[i+68>>2]|0)+(h<<2)>>2]|0;f[C>>2]=h;h=b[i+24>>0]|0;f[B>>2]=f[C>>2];eb(i,B,h,F)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[C>>2]=c;c=b[h+24>>0]|0;f[B>>2]=f[C>>2];eb(h,B,c,D)|0;c=f[(f[k>>2]|0)+(t<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[C>>2]=c;d=b[h+24>>0]|0;f[B>>2]=f[C>>2];eb(h,B,d,E)|0;q=$(n[E>>2]);o=$(n[D>>2]);q=$(q-o);p=$(n[E+4>>2]);j=$(n[D+4>>2]);p=$(p-j);m=$(n[E+8>>2]);g=$(n[D+8>>2]);m=$(m-g);o=$($(n[F>>2])-o);j=$($(n[F+4>>2])-j);g=$($(n[F+8>>2])-g);l=$($($($(q*q)+$(0.0))+$(p*p))+$(m*m));if(l>$(0.0)?1:(f[a+88>>2]|0)<258){H=$($($($($(q*o)+$(0.0))+$(p*j))+$(m*g))/l);q=$(o-$(q*H));p=$(j-$(p*H));g=$(g-$(m*H));j=H;g=$(L($($($(g*g)+$($(p*p)+$($(q*q)+$(0.0))))/l)))}else{j=$(0.0);g=$(0.0)}y=$(y-z);H=$(x-A);z=$(z+$(y*j));y=$(y*g);A=$(A+$(H*j));H=$(H*g);E=a+80|0;D=(f[E>>2]|0)+-1|0;F=(1<<(D&31)&f[(f[a+76>>2]|0)+(D>>>5<<2)>>2]|0)==0;f[E>>2]=D;j=$(-y);j=$(A+(F?j:y));g=$(-H);g=$(z+(F?H:g));if(((n[s>>2]=g,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+g+.5));h=f[a+68>>2]|0;f[h>>2]=c;if(((n[s>>2]=j,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+j+.5));f[h+4>>2]=c;u=G;return}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else zg(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))zg(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else zg(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){zg(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)Ga(17469,17387,64,17464);else if((C|0)==33)Ga(17469,17387,64,17464)}function Yb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=a+8|0;f[x>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{lg(i,e-j|0);d=f[x>>2]|0}u=f[a+48>>2]|0;v=f[a+52>>2]|0;t=e>>>0>1073741823?-1:e<<2;w=zo(t)|0;Yg(w|0,0,t|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[w+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{t=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(t|0)?t:d}i=i+1|0;d=f[x>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;C=18}}else{d=d-(f[i>>2]|0)|0;C=18}if((C|0)==18){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}q=a+56|0;h=f[q>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;s=g-d|0;t=s>>2;if((s|0)<=4){Ao(w);return 1}r=a+16|0;p=a+32|0;s=a+12|0;o=a+20|0;m=u+12|0;n=(e|0)>0;i=g;a=1;while(1){if(i-d>>2>>>0<=a>>>0){mn(h);d=f[h>>2]|0}d=f[d+(a<<2)>>2]|0;l=X(a,e)|0;if((d|0)>=0?(B=f[(f[m>>2]|0)+(d<<2)>>2]|0,(B|0)>=0):0){g=f[u>>2]|0;h=f[v>>2]|0;i=f[h+(f[g+(B<<2)>>2]<<2)>>2]|0;d=B+1|0;d=((d|0)%3|0|0)==0?B+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;j=f[h+(d<<2)>>2]|0;d=(((B>>>0)%3|0|0)==0?2:-1)+B|0;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;d=f[h+(d<<2)>>2]|0;if((i|0)<(a|0)&(j|0)<(a|0)&(d|0)<(a|0)){i=X(i,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(n){d=0;do{f[w+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}j=b+(l<<2)|0;k=c+(l<<2)|0;if((f[x>>2]|0)>0){h=0;do{d=f[w+(h<<2)>>2]|0;g=f[r>>2]|0;if((d|0)>(g|0)){i=f[p>>2]|0;f[i+(h<<2)>>2]=g}else{g=f[s>>2]|0;i=f[p>>2]|0;f[i+(h<<2)>>2]=(d|0)<(g|0)?g:d}h=h+1|0;d=f[x>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[r>>2]|0)){if((d|0)<(f[s>>2]|0)){d=(f[o>>2]|0)+d|0;C=57}}else{d=d-(f[o>>2]|0)|0;C=57}if((C|0)==57){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}}else C=35}else C=35;if((C|0)==35?(C=0,y=c+((X(a+-1|0,e)|0)<<2)|0,z=b+(l<<2)|0,A=c+(l<<2)|0,(f[x>>2]|0)>0):0){h=0;do{d=f[y+(h<<2)>>2]|0;g=f[r>>2]|0;if((d|0)>(g|0)){i=f[p>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[s>>2]|0;i=f[p>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[x>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[z+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=A+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[r>>2]|0)){if((d|0)<(f[s>>2]|0)){d=(f[o>>2]|0)+d|0;C=45}}else{d=d-(f[o>>2]|0)|0;C=45}if((C|0)==45){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}g=a+1|0;if((g|0)>=(t|0))break;h=f[q>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;a=g}Ao(w);return 1}function Zb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;y=a+8|0;f[y>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{lg(i,e-j|0);d=f[y>>2]|0}v=f[a+48>>2]|0;w=f[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=zo(u)|0;Yg(x|0,0,u|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[x+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{u=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(u|0)?u:d}i=i+1|0;d=f[y>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;G=18}}else{d=d-(f[i>>2]|0)|0;G=18}if((G|0)==18){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}r=a+56|0;h=f[r>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;t=g-d|0;u=t>>2;if((t|0)<=4){Ao(x);return 1}s=a+16|0;q=a+32|0;t=a+12|0;p=a+20|0;o=v+64|0;m=v+28|0;n=(e|0)>0;i=g;a=1;while(1){if(i-d>>2>>>0<=a>>>0){mn(h);d=f[h>>2]|0}d=f[d+(a<<2)>>2]|0;l=X(a,e)|0;if((!((d|0)<0?1:(1<<(d&31)&f[(f[v>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(F=f[(f[(f[o>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(F|0)>=0):0)?(B=f[m>>2]|0,k=f[w>>2]|0,z=f[k+(f[B+(F<<2)>>2]<<2)>>2]|0,A=F+1|0,A=f[k+(f[B+((((A|0)%3|0|0)==0?F+-2|0:A)<<2)>>2]<<2)>>2]|0,B=f[k+(f[B+((((F>>>0)%3|0|0)==0?2:-1)+F<<2)>>2]<<2)>>2]|0,(z|0)<(a|0)&(A|0)<(a|0)&(B|0)<(a|0)):0){g=X(z,e)|0;h=X(A,e)|0;i=X(B,e)|0;if(n){d=0;do{f[x+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}j=b+(l<<2)|0;k=c+(l<<2)|0;if((f[y>>2]|0)>0){h=0;do{d=f[x+(h<<2)>>2]|0;g=f[s>>2]|0;if((d|0)>(g|0)){i=f[q>>2]|0;f[i+(h<<2)>>2]=g}else{g=f[t>>2]|0;i=f[q>>2]|0;f[i+(h<<2)>>2]=(d|0)<(g|0)?g:d}h=h+1|0;d=f[y>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[s>>2]|0)){if((d|0)<(f[t>>2]|0)){d=(f[p>>2]|0)+d|0;G=53}}else{d=d-(f[p>>2]|0)|0;G=53}if((G|0)==53){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}}else G=31;if((G|0)==31?(G=0,C=c+((X(a+-1|0,e)|0)<<2)|0,D=b+(l<<2)|0,E=c+(l<<2)|0,(f[y>>2]|0)>0):0){h=0;do{d=f[C+(h<<2)>>2]|0;g=f[s>>2]|0;if((d|0)>(g|0)){i=f[q>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[t>>2]|0;i=f[q>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[y>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[D+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=E+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[s>>2]|0)){if((d|0)<(f[t>>2]|0)){d=(f[p>>2]|0)+d|0;G=41}}else{d=d-(f[p>>2]|0)|0;G=41}if((G|0)==41){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}g=a+1|0;if((g|0)>=(u|0))break;h=f[r>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;a=g}Ao(x);return 1}function _b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))Ga(17303,17202,68,17293);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Co(g)}Co(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Co(g)}Co(e)}Co(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){Kg(d);Co(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){Kg(c);Co(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){Yj(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function $b(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Nk(60)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1980;e=b;f[a>>2]=e;return}case 2:{b=Nk(60)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2036;e=b;f[a>>2]=e;return}case 4:{b=Nk(112)|0;f[b>>2]=1504;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2092;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Nk(92)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2148;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+88>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Nk(104)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2204;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Nk(124)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2260;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2316;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function ac(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Nk(60)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1616;e=b;f[a>>2]=e;return}case 2:{b=Nk(60)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1672;e=b;f[a>>2]=e;return}case 4:{b=Nk(112)|0;f[b>>2]=1504;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1728;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Nk(92)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1784;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+88>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Nk(104)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1840;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Nk(124)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1896;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1952;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=u;u=u+16|0;k=l;i=c+8|0;o=i;m=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,5,0)|0;n=I;if((o|0)<(n|0)|(o|0)==(n|0)&m>>>0>>0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}e=(f[c>>2]|0)+e|0;b[d>>0]=b[e>>0]|0;b[d+1>>0]=b[e+1>>0]|0;b[d+2>>0]=b[e+2>>0]|0;b[d+3>>0]=b[e+3>>0]|0;b[d+4>>0]=b[e+4>>0]|0;e=j;e=gm(f[e>>2]|0,f[e+4>>2]|0,5,0)|0;g=I;o=j;f[o>>2]=e;f[o+4>>2]=g;if(hj(d,16054,5)|0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16060,17);f[a>>2]=-1;cj(a+4|0,k);km(k);u=l;return}o=i;n=f[o+4>>2]|0;if(!((n|0)>(g|0)|((n|0)==(g|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}b[d+5>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=gm(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}b[d+6>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=gm(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}b[d+7>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=gm(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}b[d+8>>0]=b[(f[c>>2]|0)+e>>0]|0;o=j;m=f[o>>2]|0;o=f[o+4>>2]|0;e=gm(m|0,o|0,1,0)|0;n=j;f[n>>2]=e;f[n+4>>2]=I;n=f[i>>2]|0;i=f[i+4>>2]|0;o=gm(m|0,o|0,3,0)|0;m=I;if((i|0)<(m|0)|(i|0)==(m|0)&n>>>0>>0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}else{n=d+10|0;o=(f[c>>2]|0)+e|0;o=h[o>>0]|h[o+1>>0]<<8;b[n>>0]=o;b[n+1>>0]=o>>8;n=j;n=gm(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;o=j;f[o>>2]=n;f[o+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=l;return}}function cc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>340){f[c>>2]=b+-341;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{Yj(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=Ia(4)|0;eo(o);ta(o|0,1112,100)}g=Nk(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){Co(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=Ia(4)|0;eo(o);ta(o|0,1112,100)}d=Nk(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=Nk(4092)|0;f[j>>2]=e;Se(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;Qe(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)Co(d);u=o;return}if((c|0)!=(b|0)){n=Nk(4092)|0;f[k>>2]=n;Se(a,k);u=o;return}j=Nk(4092)|0;f[k>>2]=j;Qe(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{Yj(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=Ia(4)|0;eo(o);ta(o|0,1112,100)}g=Nk(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){Co(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))zg(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))zg(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))zg(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){zg(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Ga(9139,9150,60,9265);if((d|0)>=31)Ga(9285,9150,61,9265);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&127](a)|0))Ga(10505,11318,99,11475);if((e|0)!=2)Ga(11497,11318,102,11475);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){mn(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Rb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=gm(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=gm(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Mk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Mk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Di(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;ag(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(11521,11318,116,11475);else if((d|0)==23)Ga(11588,9150,99,11676);return 0}function fc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Ga(9139,9150,60,9265);if((d|0)>=31)Ga(9285,9150,61,9265);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&127](a)|0))Ga(10505,11318,99,11475);if((e|0)!=2)Ga(11497,11318,102,11475);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){mn(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Sb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=gm(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=gm(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Mk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Mk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Di(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;ag(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(11521,11318,116,11475);else if((d|0)==23)Ga(11588,9150,99,11676);return 0}function gc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Ga(9139,9150,60,9265);if((d|0)>=31)Ga(9285,9150,61,9265);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&127](a)|0))Ga(10505,11318,99,11475);if((e|0)!=2)Ga(11497,11318,102,11475);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){mn(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Rb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=gm(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=gm(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Mk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Mk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Di(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;eg(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(11521,11318,116,11475);else if((d|0)==23)Ga(11588,9150,99,11676);return 0}function hc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Ga(9139,9150,60,9265);if((d|0)>=31)Ga(9285,9150,61,9265);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&127](a)|0))Ga(10505,11318,99,11475);if((e|0)!=2)Ga(11497,11318,102,11475);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){mn(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Sb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=gm(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=gm(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Mk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Mk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Di(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;eg(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(11521,11318,116,11475);else if((d|0)==23)Ga(11588,9150,99,11676);return 0}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Sa[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((r|0)<1){c=0;return c|0}m=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;s=X(m,r)|0;He(a,m,r);m=a+16|0;q=f[m>>2]|0;q=(f[f[q>>2]>>2]|0)+(f[q+48>>2]|0)|0;o=d+8|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>k>>>0)){c=0;return c|0}h=f[d>>2]|0;n=b[h+k>>0]|0;i=gm(k|0,l|0,1,0)|0;j=I;t=p;f[t>>2]=i;f[t+4>>2]=j;a:do if(!(n<<24>>24)){if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>i>>>0)){t=0;return t|0}n=b[h+i>>0]|0;t=gm(k|0,l|0,2,0)|0;l=p;f[l>>2]=t;f[l+4>>2]=I;l=n&255;t=(l|0)==(Jj(5)|0);e=f[(f[m>>2]|0)+64>>2]|0;e=(f[e+4>>2]|0)-(f[e>>2]|0)|0;if(t){g=s<<2;if(e>>>0>>0){t=0;return t|0}m=o;o=f[m>>2]|0;m=f[m+4>>2]|0;t=p;e=f[t>>2]|0;t=gm(e|0,f[t+4>>2]|0,g|0,0)|0;n=I;if((m|0)<(n|0)|(m|0)==(n|0)&o>>>0>>0){t=0;return t|0}else{Xe(q|0,(f[d>>2]|0)+e|0,g|0)|0;t=p;t=gm(f[t>>2]|0,f[t+4>>2]|0,g|0,0)|0;i=p;f[i>>2]=t;f[i+4>>2]=I;i=18;break}}i=X(l,s)|0;if(e>>>0>>0){t=0;return t|0}j=o;h=f[j>>2]|0;j=f[j+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;t=wl(h|0,j|0,e|0,g|0)|0;k=I;m=((i|0)<0)<<31>>31;if((k|0)<(m|0)|(k|0)==(m|0)&t>>>0>>0){t=0;return t|0}if(!s)i=19;else{k=n&255;i=j;j=0;while(1){t=gm(e|0,g|0,k|0,0)|0;n=I;if(!((i|0)<(n|0)|(i|0)==(n|0)&h>>>0>>0)){Xe(q+(j<<2)|0,(f[d>>2]|0)+e|0,l|0)|0;e=p;e=gm(f[e>>2]|0,f[e+4>>2]|0,k|0,0)|0;g=I;t=p;f[t>>2]=e;f[t+4>>2]=g}j=j+1|0;if((j|0)==(s|0)){i=18;break a}h=o;i=f[h+4>>2]|0;h=f[h>>2]|0}}}else if(_g(s,r,d,q)|0)i=18;else{t=0;return t|0}while(0);do if((i|0)==18)if((s|0)>0){g=a+20|0;e=f[g>>2]|0;if(e|0?Sa[f[(f[e>>2]|0)+32>>2]&127](e)|0:0){h=1;break}ak(q,s,q);h=1}else i=19;while(0);if((i|0)==19){g=a+20|0;h=0}e=f[g>>2]|0;if(e|0){if(!(Wa[f[(f[e>>2]|0)+40>>2]&127](e,d)|0)){t=0;return t|0}if(h?(t=f[g>>2]|0,!(Ra[f[(f[t>>2]|0)+44>>2]&31](t,q,q,s,r,f[c>>2]|0)|0)):0){t=0;return t|0}}t=1;return t|0}function jc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+64|0;E=F;g=E;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));a:do if(Fc(E,d)|0?_c(E,d)|0:0){g=(a|0)==0;b:do if(!g){if(!(f[E+12>>2]|0)){k=0;break a}Te(d,0,0)|0;if(!g){z=E+44|0;C=E+48|0;y=E+40|0;s=E+16|0;t=E+28|0;A=(c|0)>0;D=d+36|0;x=d+32|0;v=d+24|0;w=d+28|0;i=f[C>>2]|0;B=0;g=0;while(1){c:do if(i>>>0<16384){j=f[z>>2]|0;do{if((j|0)<=0)break c;r=f[y>>2]|0;j=j+-1|0;f[z>>2]=j;i=h[r+j>>0]|i<<8;f[C>>2]=i}while(i>>>0<16384)}while(0);p=i&4095;r=f[(f[s>>2]|0)+(p<<2)>>2]|0;q=f[t>>2]|0;i=(X(f[q+(r<<3)>>2]|0,i>>>12)|0)+p-(f[q+(r<<3)+4>>2]|0)|0;f[C>>2]=i;if(A){p=(r|0)>0;if((r|0)<=-1){g=22;break}if((r|0)<33){q=0;o=g}else{g=21;break}while(1){if(!(b[D>>0]|0)){k=0;break a}if(p){l=f[v>>2]|0;m=f[w>>2]|0;k=f[x>>2]|0;n=0;j=0;do{g=l+(k>>>3)|0;if(g>>>0>>0){g=(h[g>>0]|0)>>>(k&7)&1;k=k+1|0;f[x>>2]=k}else g=0;j=g<>2]=j;q=q+1|0;if((q|0)>=(c|0))break;else o=g}}B=B+c|0;if(B>>>0>=a>>>0)break b}if((g|0)==21){if(!(b[D>>0]|0)){k=0;break a}Ga(16485,16390,156,16477)}else if((g|0)==22){if(!(b[D>>0]|0)){k=0;break a}Ga(16375,16390,155,16477)}}}else Te(d,0,0)|0;while(0);Oj(d);k=1}else k=0;while(0);g=f[E+28>>2]|0;if(g|0){j=E+32|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-8-g|0)>>>3)<<3);Co(g)}g=f[E+16>>2]|0;if(g|0){j=E+20|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-4-g|0)>>>2)<<2);Co(g)}j=f[E>>2]|0;if(!j){u=F;return k|0}i=E+4|0;g=f[i>>2]|0;if((g|0)!=(j|0))f[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);Co(j);u=F;return k|0}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Co(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}s=Nk(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)Co(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(s)g=d&r;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){q=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(s)p=e&r;else p=(e>>>0)%(c>>>0)|0;if((p|0)==(g|0))break;e=(f[a>>2]|0)+(p<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{n=d+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[d+12>>2]|0:m;l=(o|0)==0;if(k){h=d;while(1){j=e+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[e+12>>2]|0:m&255)|0)){e=h;break c}if(!l?hj(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{m=e;e=h;h=m}}}if(l){h=d;while(1){o=b[e+8+11>>0]|0;if((o<<24>>24<0?f[e+12>>2]|0:o&255)|0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{o=e;e=h;h=o}}}l=d;while(1){h=e+8|0;k=b[h+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[e+12>>2]|0:k&255)|0)){e=l;break c}h=j?f[h>>2]|0:h;if((f[n>>2]&255)<<24>>24==(b[h>>0]|0)){j=m;k=n}else{e=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;h=h+1|0;if((b[k>>0]|0)!=(b[h>>0]|0)){e=l;break c}}h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[q>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=41;break a}}e=f[d>>2]|0;if(!e){d=41;break a}else{i=d;q=d}}f[e>>2]=q;e=f[d>>2]|0;if(!e){d=41;break}else{i=d;g=p}}if((d|0)==41)return}function lc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{l=d;d=d+-116|0;f[g+-116>>2]=f[d>>2];j=l+-112|0;f[g+-112>>2]=f[j>>2];k=l+-108|0;f[g+-108>>2]=f[k>>2];m=l+-104|0;f[g+-104>>2]=f[m>>2];f[j>>2]=0;f[k>>2]=0;f[m>>2]=0;m=l+-100|0;f[g+-100>>2]=f[m>>2];k=l+-96|0;f[g+-96>>2]=f[k>>2];j=l+-92|0;f[g+-92>>2]=f[j>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;b[g+-88>>0]=b[l+-88>>0]|0;j=g+-84|0;k=l+-84|0;f[j>>2]=0;m=g+-80|0;f[m>>2]=0;f[g+-76>>2]=0;f[j>>2]=f[k>>2];j=l+-80|0;f[m>>2]=f[j>>2];m=l+-76|0;f[g+-76>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;k=g+-72|0;j=l+-72|0;f[k>>2]=0;m=g+-68|0;f[m>>2]=0;f[g+-64>>2]=0;f[k>>2]=f[j>>2];k=l+-68|0;f[m>>2]=f[k>>2];m=l+-64|0;f[g+-64>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-60|0;k=l+-60|0;f[j>>2]=0;m=g+-56|0;f[m>>2]=0;f[g+-52>>2]=0;f[j>>2]=f[k>>2];j=l+-56|0;f[m>>2]=f[j>>2];m=l+-52|0;f[g+-52>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-48>>2]=f[l+-48>>2];b[g+-44>>0]=b[l+-44>>0]|0;k=g+-40|0;j=l+-40|0;f[k>>2]=0;m=g+-36|0;f[m>>2]=0;f[g+-32>>2]=0;f[k>>2]=f[j>>2];k=l+-36|0;f[m>>2]=f[k>>2];m=l+-32|0;f[g+-32>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-28|0;k=l+-28|0;f[j>>2]=0;m=g+-24|0;f[m>>2]=0;f[g+-20>>2]=0;f[j>>2]=f[k>>2];j=l+-24|0;f[m>>2]=f[j>>2];m=l+-20|0;f[g+-20>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-16>>2]=f[l+-16>>2];k=g+-12|0;j=l+-12|0;f[k>>2]=0;m=g+-8|0;f[m>>2]=0;f[g+-4>>2]=0;f[k>>2]=f[j>>2];k=l+-8|0;f[m>>2]=f[k>>2];l=l+-4|0;f[g+-4>>2]=f[l>>2];f[l>>2]=0;f[k>>2]=0;f[j>>2]=0;g=(f[h>>2]|0)+-116|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;m=r+32|0;h=r+28|0;p=r+16|0;q=r;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){q=c;q=q+20|0;u=r;return q|0}}fn(p);f[q>>2]=f[b>>2];l=q+4|0;f[q+8>>2]=0;k=q+12|0;f[k>>2]=0;n=q+8|0;f[l>>2]=n;c=f[p>>2]|0;o=p+4|0;if((c|0)!=(o|0)){g=n;e=c;d=c;while(1){c=e+16|0;f[h>>2]=g;f[m>>2]=f[h>>2];lf(l,m,c,c)|0;c=f[d+4>>2]|0;if(!c)while(1){c=f[d+8>>2]|0;if((f[c>>2]|0)==(d|0))break;else d=c}else while(1){d=f[c>>2]|0;if(!d)break;else c=d}if((c|0)==(o|0))break;else{e=c;d=c}}}i=a+12|0;c=f[j>>2]|0;do if(c){e=f[q>>2]|0;g=c;while(1){c=f[g+16>>2]|0;if((e|0)<(c|0)){c=f[g>>2]|0;if(!c){c=19;break}}else{if((c|0)>=(e|0)){c=24;break}d=g+4|0;c=f[d>>2]|0;if(!c){c=23;break}}g=c}if((c|0)==19){f[m>>2]=g;h=g;b=g;break}else if((c|0)==23){f[m>>2]=g;h=g;b=d;break}else if((c|0)==24){f[m>>2]=g;h=g;b=m;break}}else{f[m>>2]=j;h=j;b=j}while(0);c=f[b>>2]|0;if(!c){c=Nk(32)|0;f[c+16>>2]=f[q>>2];g=c+20|0;f[g>>2]=f[l>>2];e=c+24|0;d=f[q+8>>2]|0;f[e>>2]=d;m=f[k>>2]|0;f[c+28>>2]=m;if(!m)f[g>>2]=e;else{f[d+8>>2]=e;f[l>>2]=n;f[n>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[b>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[b>>2]|0}pd(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}oh(q+4|0,f[n>>2]|0);oh(p,f[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;r=y+12|0;s=y+4|0;p=y+8|0;q=y;x=a+8+(b*12|0)|0;d=f[x>>2]|0;t=a+8+(b*12|0)+4|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c>>2]|0;m=a+4|0;f[s>>2]=(d|0)<0?-1073741824:(d>>>0)/3|0;w=a+56|0;l=a+8+(b*12|0)+8|0;e=d;o=0;do{n=(o|0)==1;if(n){g=(d|0)<0;do if(!g)if(!((d>>>0)%3|0)){e=d+2|0;break}else{e=d+-1|0;break}else e=d;while(0);f[p>>2]=e;f[r>>2]=f[p>>2];if((Re(a,r)|0)<0)break;e=d+1|0;if(g){v=12;break}e=((e|0)%3|0|0)==0?d+-2|0:e;f[c>>2]=e;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;if((e|0)<0){v=16;break}e=f[(f[(f[m>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;f[c>>2]=e;if((e|0)<0)break;else{g=0;v=18}}else{i=f[s>>2]|0;k=e;j=0}while(1){if((v|0)==18){v=0;i=(e>>>0)/3|0;f[s>>2]=i;k=e;j=g}h=(f[w>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);e=f[h>>2]|0;if(g&e|0){e=k;g=j;break}f[h>>2]=e|g;e=f[t>>2]|0;if((e|0)==(f[l>>2]|0))zg(x,s);else{f[e>>2]=f[s>>2];f[t>>2]=e+4}g=j+1|0;if((j|0)>0){do if(!(g&1)){d=n?k:d;if((k|0)>=0)if(!((k>>>0)%3|0)){e=k+2|0;break}else{e=k+-1|0;break}else e=k}else{e=k+1|0;if((k|0)<0)e=k;else e=((e|0)%3|0|0)==0?k+-2|0:e}while(0);f[c>>2]=e}else e=k;f[q>>2]=e;f[r>>2]=f[q>>2];e=Re(a,r)|0;f[c>>2]=e;if((e|0)<0)break;else v=18}if(!((g&1|0)==0|n^1)){n=f[t>>2]|0;j=f[n+-4>>2]|0;k=(f[w>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(j&31));f[t>>2]=n+-4}o=o+1|0}while((o|0)<2);if((v|0)==12){f[c>>2]=d;e=d;v=16}if((v|0)==16)f[c>>2]=e;f[a+44+(b<<2)>>2]=d;e=f[t>>2]|0;d=f[x>>2]|0;h=d;if((e|0)==(d|0)){u=y;return}g=f[w>>2]|0;e=e-d>>2;d=0;do{w=f[h+(d<<2)>>2]|0;x=g+(w>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(w&31));d=d+1|0}while(d>>>0>>0);u=y;return}function oc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=a+4|0;s=f[c>>2]|0;c=s;do if((s|0)!=(n|0)){i=s+16|0;o=b[e+11>>0]|0;p=o<<24>>24<0;o=p?f[e+4>>2]|0:o&255;h=b[i+11>>0]|0;l=h<<24>>24<0;h=l?f[s+20>>2]|0:h&255;k=h>>>0>>0;g=k?h:o;if((g|0)!=0?(j=hj(p?f[e>>2]|0:e,l?f[i>>2]|0:i,g)|0,(j|0)!=0):0){if((j|0)<0)break}else t=4;if((t|0)==4?o>>>0>>0:0)break;g=o>>>0>>0?o:h;if((g|0)!=0?(m=hj(l?f[i>>2]|0:i,p?f[e>>2]|0:e,g)|0,(m|0)!=0):0){if((m|0)>=0)t=34}else t=20;if((t|0)==20?!k:0)t=34;if((t|0)==34){f[d>>2]=c;return d|0}k=s+4|0;c=f[k>>2]|0;l=(c|0)==0;if(l){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))break;else g=c}}else while(1){g=f[c>>2]|0;if(!g)break;else c=g}do if((c|0)!=(n|0)){h=c+16|0;i=b[h+11>>0]|0;j=i<<24>>24<0;i=j?f[c+20>>2]|0:i&255;g=i>>>0>>0?i:o;if((g|0)!=0?(q=hj(p?f[e>>2]|0:e,j?f[h>>2]|0:h,g)|0,(q|0)!=0):0){if((q|0)<0)break}else t=28;if((t|0)==28?o>>>0>>0:0)break;d=Oe(a,d,e)|0;return d|0}while(0);if(l){f[d>>2]=s;d=k;return d|0}else{f[d>>2]=c;d=c;return d|0}}while(0);do if((s|0)!=(f[a>>2]|0)){c=f[s>>2]|0;if(!c){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))g=c;else{g=c;break}}}else while(1){g=f[c+4>>2]|0;if(!g){g=c;break}else c=g}c=g;k=g+16|0;h=b[k+11>>0]|0;l=h<<24>>24<0;h=l?f[g+20>>2]|0:h&255;i=b[e+11>>0]|0;j=i<<24>>24<0;i=j?f[e+4>>2]|0:i&255;g=i>>>0>>0?i:h;if((g|0)!=0?(r=hj(l?f[k>>2]|0:k,j?f[e>>2]|0:e,g)|0,(r|0)!=0):0){if((r|0)<0)break}else t=12;if((t|0)==12?h>>>0>>0:0)break;d=Oe(a,d,e)|0;return d|0}while(0);if(!(f[s>>2]|0)){f[d>>2]=s;d=s;return d|0}else{t=c;f[d>>2]=t;d=t+4|0;return d|0}return 0}function pc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=ek(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((ek(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=gm(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;wl(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=wl(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;o=t+8|0;p=t+4|0;r=t;q=a+68|0;f[q>>2]=(f[q>>2]|0)+1;q=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;s=q>>2;if((q|0)<=0){u=t;return}n=a+4|0;m=a+56|0;q=a+72|0;k=f[c>>2]|0;i=k+4|0;j=k+8|0;l=a+76|0;c=f[a+44+(b<<2)>>2]|0;h=0;do{g=(c|0)<0;b=g?-1073741824:(c>>>0)/3|0;d=(f[m>>2]|0)+(b>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(b&31);f[q>>2]=(f[q>>2]|0)+1;do if(h){f[p>>2]=c;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=qi(o,b,d)|0;f[l>>2]=d;f[o>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else zg(k,o);if(!(h&1)){b=c+1|0;if(g)break;c=((b|0)%3|0|0)==0?c+-2|0:b;e=31;break}if(!g)if(!((c>>>0)%3|0)){c=c+2|0;e=31;break}else{c=c+-1|0;e=31;break}}else{f[p>>2]=c;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=qi(o,b,d)|0;f[r>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else zg(k,r);b=c+1|0;if(g)b=c;else b=((b|0)%3|0|0)==0?c+-2|0:b;f[p>>2]=b;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=qi(o,b,d)|0;f[r>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else zg(k,r);do if(!g)if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}else b=c;while(0);f[p>>2]=b;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=qi(o,b,d)|0;f[l>>2]=d;f[o>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else zg(k,o);e=31}while(0);if((e|0)==31){e=0;if((c|0)>=0)c=f[(f[(f[n>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}h=h+1|0}while((h|0)<(s|0));u=t;return}function rc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b[c+11>>0]|0;m=n<<24>>24<0;o=m?f[c>>2]|0:c;n=m?f[c+4>>2]|0:n&255;if(n>>>0>3){c=o;g=n;d=n;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=n+-4|0;d=m&-4;e=o+(d+4)|0;c=g;d=m-d|0}else{e=o;c=n;d=n}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;l=6;break}case 2:{i=c;l=6;break}case 1:{j=c;l=7;break}default:k=c}if((l|0)==6){j=h[e+1>>0]<<8^i;l=7}if((l|0)==7)k=X(h[e>>0]^j,1540483477)|0;c=X(k>>>13^k,1540483477)|0;c=c>>>15^c;k=f[a+4>>2]|0;if(!k){o=0;return o|0}l=k+-1|0;d=(l&k|0)==0;if(d)m=c&l;else m=(c>>>0)%(k>>>0)|0;c=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!c){o=0;return o|0}c=f[c>>2]|0;if(!c){o=0;return o|0}a=(n|0)==0;if(d){a:while(1){if((f[c+4>>2]&l|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break a}if(!(hj(i,o,n)|0)){l=35;break a}else break}if(a){l=35;break a}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break a}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}else{b:while(1){if((((f[c+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break b}if(!(hj(i,o,n)|0)){l=35;break b}else break}if(a){l=35;break b}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}return 0}function sc(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+12|0;l=m;f[c+40>>2]=e;j=c+32|0;f[j>>2]=g;f[c+4>>2]=i;bc(a,g,k);if(f[a>>2]|0){u=m;return}i=a+4|0;km(i);g=h[k+7>>0]|0;if((g|0)!=(Sa[f[(f[c>>2]|0)+8>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16105,50);f[a>>2]=-1;cj(i,l);km(l);u=m;return}e=b[k+5>>0]|0;b[c+36>>0]=e;g=b[k+6>>0]|0;b[c+37>>0]=g;if((e+-1&255)>1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16156,22);f[a>>2]=-5;cj(i,l);km(l);u=m;return}if(e<<24>>24==2&(g&255)>2){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16179,22);f[a>>2]=-5;cj(i,l);km(l);u=m;return}g=(g&255|(e&255)<<8)&65535;d[(f[j>>2]|0)+38>>1]=g;do if((g&65535)>258?(d[k+10>>1]|0)<0:0){Ld(a,c);if(!(f[a>>2]|0)){km(i);break}else{u=m;return}}while(0);if(!(Sa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16202,33);f[a>>2]=-1;cj(i,l);km(l);u=m;return}if(!(Sa[f[(f[c>>2]|0)+20>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16236,31);f[a>>2]=-1;cj(i,l);km(l);u=m;return}if(Sa[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=m;return}else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16268,34);f[a>>2]=-1;cj(i,l);km(l);u=m;return}}function tc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+176|0;h=t+136|0;s=t+64|0;o=t;j=t+32|0;i=f[(f[c+4>>2]|0)+44>>2]|0;n=Nk(88)|0;f[n+4>>2]=0;f[n>>2]=3180;k=n+12|0;f[k>>2]=3160;m=n+64|0;f[m>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;e=n+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[n+76>>2]=i;f[n+80>>2]=d;f[n+84>>2]=0;l=n;q=s+4|0;f[q>>2]=3160;p=s+56|0;f[p>>2]=0;r=s+60|0;f[r>>2]=0;f[s+64>>2]=0;e=s+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=f[c+8>>2]|0;f[o>>2]=3160;c=o+4|0;g=c+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;g=e;f[c>>2]=g;g=((f[g+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0;b[h>>0]=0;ef(o+8|0,g,h);Pa[f[(f[o>>2]|0)+8>>2]&127](o);de(j,o);de(h,j);f[s>>2]=f[h+4>>2];g=s+4|0;Ce(g,h)|0;f[h>>2]=3160;c=f[h+20>>2]|0;if(c|0)Co(c);c=f[h+8>>2]|0;if(c|0)Co(c);f[s+36>>2]=e;f[s+40>>2]=d;f[s+44>>2]=i;f[s+48>>2]=n;f[j>>2]=3160;c=f[j+20>>2]|0;if(c|0)Co(c);c=f[j+8>>2]|0;if(c|0)Co(c);f[n+8>>2]=f[s>>2];Ce(k,g)|0;c=n+44|0;n=s+36|0;f[c>>2]=f[n>>2];f[c+4>>2]=f[n+4>>2];f[c+8>>2]=f[n+8>>2];f[c+12>>2]=f[n+12>>2];b[c+16>>0]=b[n+16>>0]|0;ee(m,f[p>>2]|0,f[r>>2]|0);f[a>>2]=l;f[o>>2]=3160;c=f[o+20>>2]|0;if(c|0)Co(c);c=f[o+8>>2]|0;if(c|0)Co(c);c=f[p>>2]|0;if(c|0){e=f[r>>2]|0;if((e|0)!=(c|0))f[r>>2]=e+(~((e+-4-c|0)>>>2)<<2);Co(c)}f[q>>2]=3160;c=f[s+24>>2]|0;if(c|0)Co(c);c=f[s+12>>2]|0;if(!c){u=t;return}Co(c);u=t;return}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=u;u=u+16|0;z=B+8|0;x=B;y=B+4|0;if(!(ih(a,b)|0)){a=0;u=B;return a|0}A=b+96|0;n=b+100|0;d=f[n>>2]|0;b=f[A>>2]|0;if((d-b|0)<=0){a=1;u=B;return a|0}m=a+56|0;t=a+8|0;q=a+12|0;r=a+20|0;o=a+24|0;s=a+32|0;p=a+36|0;v=a+68|0;w=a+76|0;l=f[c>>2]|0;h=l+4|0;j=l+8|0;i=a+4|0;k=a+72|0;g=l;e=0;do{if(!(f[(f[m>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31))){C=e*3|0;f[x>>2]=C;f[z>>2]=f[x>>2];nc(a,0,z);d=(f[q>>2]|0)-(f[t>>2]|0)>>2;f[x>>2]=C+1;f[z>>2]=f[x>>2];nc(a,1,z);b=(f[o>>2]|0)-(f[r>>2]|0)>>2;c=b>>>0>d>>>0;f[x>>2]=C+2;f[z>>2]=f[x>>2];nc(a,2,z);d=(f[p>>2]|0)-(f[s>>2]|0)>>2>>>0>(c?b:d)>>>0?2:c?1:((d|0)==0)<<31>>31;if((f[v>>2]|0)>0){b=f[w>>2]|0;f[z>>2]=b;c=f[h>>2]|0;if(c>>>0<(f[j>>2]|0)>>>0){f[c>>2]=b;f[h>>2]=c+4}else zg(l,z);f[x>>2]=f[a+44+(d<<2)>>2];b=f[i>>2]|0;c=f[a>>2]|0;f[z>>2]=f[x>>2];c=qi(z,b,c)|0;f[z>>2]=c;b=f[h>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=c;f[h>>2]=b+4}else zg(l,z);C=(f[k>>2]|0)+2|0;f[k>>2]=C;if(C&1|0){f[z>>2]=c;b=f[h>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=c;f[h>>2]=b+4}else zg(l,z);f[k>>2]=(f[k>>2]|0)+1}}f[y>>2]=g;f[z>>2]=f[y>>2];qc(a,d,z);b=f[A>>2]|0;d=f[n>>2]|0}e=e+1|0}while((e|0)<((d-b|0)/12|0|0));b=1;u=B;return b|0}function vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+148|0;i=f[b>>2]|0;j=(i|0)<0;l=i+1|0;do if(!j){b=((l|0)%3|0|0)==0?i+-2|0:l;if(!((i>>>0)%3|0)){d=b;g=i+2|0;break}else{d=b;g=i+-1|0;break}}else{d=i;g=i}while(0);h=a+184|0;b=f[h>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){b=c+(b<<2)|0;f[b>>2]=(f[b>>2]|0)+d;b=f[h>>2]|0}switch(b|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}b=f[k>>2]|0;if(!j?(m=((l|0)%3|0|0)==0?i+-2|0:l,(m|0)>=0):0)b=f[(f[b>>2]|0)+(m<<2)>>2]|0;else b=-1073741824;f[a+188>>2]=(f[(f[a+156>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Co(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}m=Nk(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)Co(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){b:do if(m){k=h;i=c;while(1){c=d;while(1){j=f[c+4>>2]&l;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}else{k=h;i=c;while(1){c=d;while(1){j=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}while(0);f[d>>2]=g;d=f[c>>2]|0;if(!d){c=34;break}else h=c}if((c|0)==34)return}function xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;v=u;u=u+32|0;e=v+24|0;q=v+20|0;t=v+8|0;s=v+4|0;m=v;f[e>>2]=0;sh(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){d=0;while(1){d=d+1|0;if(!(Jc(a,c)|0)){d=0;break}if(d>>>0>=(f[e>>2]|0)>>>0)break a}u=v;return d|0}while(0);f[q>>2]=0;sh(q,f[a>>2]|0)|0;b:do if(!(f[q>>2]|0))d=1;else{i=0;while(1){f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;g=f[a>>2]|0;w=g+8|0;x=f[w+4>>2]|0;h=g+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if((x|0)>(e|0)|((x|0)==(e|0)?(f[w>>2]|0)>>>0>d>>>0:0)?(l=b[(f[g>>2]|0)+d>>0]|0,j=gm(d|0,e|0,1,0)|0,p=h,f[p>>2]=j,f[p+4>>2]=I,p=l&255,vh(t,p,0),j=f[a>>2]|0,o=kj(t,0)|0,g=j+8|0,w=f[g>>2]|0,g=f[g+4>>2]|0,r=j+16|0,x=r,k=f[x>>2]|0,l=l&255,x=gm(k|0,f[x+4>>2]|0,l|0,0)|0,h=I,!((g|0)<(h|0)|(g|0)==(h|0)&w>>>0>>0)):0){Xe(o|0,(f[j>>2]|0)+k|0,p|0)|0;w=r;w=gm(f[w>>2]|0,f[w+4>>2]|0,l|0,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=Nk(40)|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;n[x+16>>2]=$(1.0);w=x+20|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;n[x+36>>2]=$(1.0);f[s>>2]=x;if(xc(a,x)|0){d=f[s>>2]|0;f[s>>2]=0;f[m>>2]=d;Ee(c,t,m)|0;Eg(m);d=0}else d=1;Eg(s)}else d=1;km(t);i=i+1|0;if(d|0){d=0;break b}if(i>>>0>=(f[q>>2]|0)>>>0){d=1;break}}}while(0);x=d;u=v;return x|0}function yc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+148|0;c=f[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)){h=b;g=c+2|0;break}else{h=b;g=c+-1|0;break}}else{h=c;g=c}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){g=c+(b<<2)|0;f[g>>2]=(f[g>>2]|0)+d}if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;b=f[(f[a+156>>2]|0)+(b<<2)>>2]|0;c=f[a+176>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+172|0;f[a>>2]=i;return}i=f[a+180>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+172|0;f[a>>2]=i;return}function zc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=vf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Ac(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=yf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Bc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=zf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Cc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Af(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Dc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Bf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Ec(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Df(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Fc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Ef(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Gc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=a+8|0;f[t>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2);g=e}else g=e;else{lg(j,e-k|0);g=f[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=zo(r)|0;Yg(s|0,0,r|0)|0;if((g|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{g=f[s+(j<<2)>>2]|0;h=f[l>>2]|0;if((g|0)>(h|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=h}else{r=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(g|0)<(r|0)?r:g}j=j+1|0;g=f[t>>2]|0}while((j|0)<(g|0));if((g|0)>0){j=a+20|0;i=0;do{g=(f[b+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=c+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[m>>2]|0)){g=(f[j>>2]|0)+g|0;u=18}}else{g=g-(f[j>>2]|0)|0;u=18}if((u|0)==18){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}if((e|0)>=(d|0)){Ao(s);return 1}p=0-e|0;q=a+16|0;o=a+32|0;r=a+12|0;n=a+20|0;a=e;do{l=c+(a<<2)|0;j=l+(p<<2)|0;m=b+(a<<2)|0;if((g|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[q>>2]|0;if((g|0)>(h|0)){k=f[o>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[r>>2]|0;k=f[o>>2]|0;f[k+(i<<2)>>2]=(g|0)<(h|0)?h:g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0));if((g|0)>0){i=0;do{g=(f[m+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[q>>2]|0)){if((g|0)<(f[r>>2]|0)){g=(f[n>>2]|0)+g|0;u=33}}else{g=g-(f[n>>2]|0)|0;u=33}if((u|0)==33){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}a=a+e|0}while((a|0)<(d|0));Ao(s);return 1}function Hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=c+8|0;j=f[i+4>>2]|0;h=c+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){j=0;return j|0}j=b[(f[c>>2]|0)+g>>0]|0;g=gm(g|0,e|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do switch(j<<24>>24){case 1:{j=Vd(a,c,d)|0;return j|0}case 2:{j=Vd(a,c,d)|0;return j|0}case 3:{j=Vd(a,c,d)|0;return j|0}case 4:{j=Vd(a,c,d)|0;return j|0}case 5:{j=Vd(a,c,d)|0;return j|0}case 6:{j=Vd(a,c,d)|0;return j|0}case 7:{j=Vd(a,c,d)|0;return j|0}case 8:{j=Vd(a,c,d)|0;return j|0}case 9:{j=Ud(a,c,d)|0;return j|0}case 10:{j=Td(a,c,d)|0;return j|0}case 11:{j=Sd(a,c,d)|0;return j|0}case 12:{j=Rd(a,c,d)|0;return j|0}case 13:{j=Qd(a,c,d)|0;return j|0}case 14:{j=Pd(a,c,d)|0;return j|0}case 15:{j=Pd(a,c,d)|0;return j|0}case 16:{j=Pd(a,c,d)|0;return j|0}case 17:{j=Pd(a,c,d)|0;return j|0}case 18:{j=Pd(a,c,d)|0;return j|0}default:{j=0;return j|0}}while(0);return 0}function Ic(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3040;d=a+376|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d)}Ho(a+360|0);Ho(a+320|0);Ho(a+304|0);Ho(a+264|0);ug(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+132>>2]|0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nh(b);Co(b);return}function Jc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=u;u=u+32|0;m=n+16|0;k=n+12|0;l=n;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;d=f[a>>2]|0;j=d+8|0;i=f[j+4>>2]|0;h=d+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((i|0)>(e|0)|((i|0)==(e|0)?(f[j>>2]|0)>>>0>g>>>0:0))){l=0;km(m);u=n;return l|0}q=b[(f[d>>2]|0)+g>>0]|0;d=gm(g|0,e|0,1,0)|0;i=h;f[i>>2]=d;f[i+4>>2]=I;i=q&255;vh(m,i,0);d=f[a>>2]|0;h=kj(m,0)|0;r=d+8|0;p=f[r>>2]|0;r=f[r+4>>2]|0;j=d+16|0;o=j;e=f[o>>2]|0;g=q&255;o=gm(e|0,f[o+4>>2]|0,g|0,0)|0;q=I;if((r|0)<(q|0)|(r|0)==(q|0)&p>>>0>>0){r=0;km(m);u=n;return r|0}Xe(h|0,(f[d>>2]|0)+e|0,i|0)|0;d=j;d=gm(f[d>>2]|0,f[d+4>>2]|0,g|0,0)|0;r=j;f[r>>2]=d;f[r+4>>2]=I;f[k>>2]=0;r=(sh(k,f[a>>2]|0)|0)^1;d=f[k>>2]|0;if((d|0)==0|r)d=0;else{f[l>>2]=0;i=l+4|0;f[i>>2]=0;f[l+8>>2]=0;if((d|0)<0)nn(l);e=Nk(d)|0;f[i>>2]=e;f[l>>2]=e;f[l+8>>2]=e+d;do{b[e>>0]=0;e=(f[i>>2]|0)+1|0;f[i>>2]=e;d=d+-1|0}while((d|0)!=0);h=f[k>>2]|0;d=f[a>>2]|0;o=d+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=d+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,h|0,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0)d=0;else{Xe(f[l>>2]|0,(f[d>>2]|0)+e|0,h|0)|0;r=g;r=gm(f[r>>2]|0,f[r+4>>2]|0,h|0,0)|0;d=g;f[d>>2]=r;f[d+4>>2]=I;lk(c,m,l);d=1}e=f[l>>2]|0;if(e|0){if((f[i>>2]|0)!=(e|0))f[i>>2]=e;Co(e)}}r=d;km(m);u=n;return r|0}function Kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;y=u;u=u+16|0;x=y+4|0;w=y;f[a+72>>2]=e;f[a+64>>2]=g;t=zo(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=f[v>>2]|0;f[v>>2]=t;if(d|0)Ao(d);t=a+8|0;f[t>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);o=a+56|0;h=f[o>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;r=g-d|0;s=r>>2;if((r|0)<=0){u=y;return 1}q=a+16|0;n=a+32|0;r=a+12|0;p=a+20|0;i=h;h=0;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}f[w>>2]=f[d+(h<<2)>>2];f[x>>2]=f[w>>2];Wb(a,x,c,h);m=X(h,e)|0;i=f[v>>2]|0;l=b+(m<<2)|0;m=c+(m<<2)|0;if((f[t>>2]|0)>0){j=0;do{d=f[i+(j<<2)>>2]|0;g=f[q>>2]|0;if((d|0)>(g|0)){k=f[n>>2]|0;f[k+(j<<2)>>2]=g}else{g=f[r>>2]|0;k=f[n>>2]|0;f[k+(j<<2)>>2]=(d|0)<(g|0)?g:d}j=j+1|0;d=f[t>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=0;do{d=(f[l+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;g=m+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[q>>2]|0)){if((d|0)<(f[r>>2]|0)){d=(f[p>>2]|0)+d|0;z=24}}else{d=d-(f[p>>2]|0)|0;z=24}if((z|0)==24){z=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[t>>2]|0))}}h=h+1|0;if((h|0)>=(s|0))break;i=f[o>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=y;return 1}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;y=u;u=u+16|0;x=y+4|0;w=y;f[a+72>>2]=e;f[a+64>>2]=g;t=zo(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=f[v>>2]|0;f[v>>2]=t;if(d|0)Ao(d);t=a+8|0;f[t>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);o=a+56|0;h=f[o>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;r=g-d|0;s=r>>2;if((r|0)<=0){u=y;return 1}q=a+16|0;n=a+32|0;r=a+12|0;p=a+20|0;i=h;h=0;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}f[w>>2]=f[d+(h<<2)>>2];f[x>>2]=f[w>>2];Ub(a,x,c,h);m=X(h,e)|0;i=f[v>>2]|0;l=b+(m<<2)|0;m=c+(m<<2)|0;if((f[t>>2]|0)>0){j=0;do{d=f[i+(j<<2)>>2]|0;g=f[q>>2]|0;if((d|0)>(g|0)){k=f[n>>2]|0;f[k+(j<<2)>>2]=g}else{g=f[r>>2]|0;k=f[n>>2]|0;f[k+(j<<2)>>2]=(d|0)<(g|0)?g:d}j=j+1|0;d=f[t>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=0;do{d=(f[l+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;g=m+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[q>>2]|0)){if((d|0)<(f[r>>2]|0)){d=(f[p>>2]|0)+d|0;z=24}}else{d=d-(f[p>>2]|0)|0;z=24}if((z|0)==24){z=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[t>>2]|0))}}h=h+1|0;if((h|0)>=(s|0))break;i=f[o>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=y;return 1}function Mc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;e=f[k>>2]|0;switch(f[e+28>>2]|0){case 2:{d=b[e+24>>0]|0;j=d<<24>>24;i=zo((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;a:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Xe(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break a}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Ao(i);c=1;return c|0}case 1:{d=b[e+24>>0]|0;j=d<<24>>24;i=zo((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;b:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Xe(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break b}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Ao(i);c=1;return c|0}case 4:{Xf(a,c);c=1;return c|0}case 3:{Xf(a,c);c=1;return c|0}case 6:{Yf(a,c);c=1;return c|0}case 5:{Yf(a,c);c=1;return c|0}default:{c=0;return c|0}}return 0}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+32|0;i=s+16|0;r=s;f[i>>2]=0;do if((j[b+38>>1]|0)<514){k=b+8|0;l=f[k>>2]|0;k=f[k+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=gm(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&l>>>0>>0){r=0;u=s;return r|0}else{l=(f[b>>2]|0)+e|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[i>>2]=l;k=g;f[k>>2]=c;f[k+4>>2]=d;c=l;break}}else if(sh(i,b)|0){c=f[i>>2]|0;break}else{r=0;u=s;return r|0}while(0);e=a+76|0;ld(e,c,0);Yn(r);if(nd(r,b)|0){if(f[i>>2]|0){c=0;d=1;do{d=d^((Di(r)|0)^1);l=(f[e>>2]|0)+(c>>>5<<2)|0;k=1<<(c&31);g=f[l>>2]|0;f[l>>2]=d?g|k:g&~k;c=c+1|0}while(c>>>0<(f[i>>2]|0)>>>0)}d=b+8|0;c=f[d>>2]|0;d=f[d+4>>2]|0;l=b+16|0;g=l;e=f[g>>2]|0;g=f[g+4>>2]|0;i=gm(e|0,g|0,4,0)|0;k=I;if((!((d|0)<(k|0)|(d|0)==(k|0)&c>>>0>>0)?(m=f[b>>2]|0,n=m+e|0,n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24,o=l,f[o>>2]=i,f[o+4>>2]=k,o=gm(e|0,g|0,8,0)|0,p=I,!((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0)):0)?(q=m+i|0,q=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,b=l,f[b>>2]=o,f[b+4>>2]=p,(n|0)<=(q|0)):0){f[a+12>>2]=n;f[a+16>>2]=q;b=q+(1-n)|0;f[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(b&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Ho(r);r=c;u=s;return r|0}function Oc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<>>0>31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if(e>>>0<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if(!h){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function Pc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];mb(a,r,n);r=1;u=p;return r|0}function Qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];pb(a,r,n);r=1;u=p;return r|0}function Rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];nb(a,r,n);r=1;u=p;return r|0}function Sc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)Ga(17186,17202,59,17293);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))Ga(17303,17202,60,17293);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Sa[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Wa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Wa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=Nk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2544;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2600;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=Nk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2460;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2516;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function Tc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a+32|0;c=f[h>>2]|0;o=c+8|0;n=f[o+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(f[o>>2]|0)>>>0>e>>>0:0))){a=0;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;m=gm(e|0,d|0,1,0)|0;o=g;f[o>>2]=m;f[o+4>>2]=I;o=n&255;g=n<<24>>24==0;a:do if(!g){c=0;while(1){if(!(Wa[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){c=0;break}c=c+1|0;if((c|0)>=(o|0))break a}return c|0}while(0);n=a+8|0;c=f[n>>2]|0;d=f[a+12>>2]|0;b:do if((c|0)!=(d|0)){e=a+4|0;while(1){m=f[c>>2]|0;c=c+4|0;if(!(Na[f[(f[m>>2]|0)+8>>2]&31](m,a,f[e>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}return c|0}while(0);if(!g){c=0;do{m=f[(f[n>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Wa[f[(f[m>>2]|0)+12>>2]&127](m,f[h>>2]|0)|0)){c=0;i=26;break}}while((c|0)<(o|0));if((i|0)==26)return c|0;if(!g){i=a+20|0;h=a+24|0;l=0;do{j=f[(f[n>>2]|0)+(l<<2)>>2]|0;j=Sa[f[(f[j>>2]|0)+24>>2]&127](j)|0;if((j|0)>0){m=0;do{k=f[(f[n>>2]|0)+(l<<2)>>2]|0;k=Wa[f[(f[k>>2]|0)+20>>2]&127](k,m)|0;d=f[h>>2]|0;c=f[i>>2]|0;g=d-c>>2;do if(k>>>0>=g>>>0){e=k+1|0;if(e>>>0>g>>>0){lg(i,e-g|0);c=f[i>>2]|0;break}if(e>>>0>>0?(p=c+(e<<2)|0,(d|0)!=(p|0)):0)f[h>>2]=d+(~((d+-4-p|0)>>>2)<<2)}while(0);f[c+(k<<2)>>2]=l;m=m+1|0}while((m|0)!=(j|0))}l=l+1|0}while((l|0)!=(o|0))}}if(!(Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0)){a=0;return a|0}a=Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0;return a|0}function Uc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+4194304|0;f[a+48>>2]=p;a=p>>>0<1073741824;u=q;return a|0}function Vc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+2097152|0;f[a+48>>2]=p;a=p>>>0<536870912;u=q;return a|0}function Wc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+1048576|0;f[a+48>>2]=p;a=p>>>0<268435456;u=q;return a|0}function Xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+262144|0;f[a+48>>2]=p;a=p>>>0<67108864;u=q;return a|0}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+131072|0;f[a+48>>2]=p;a=p>>>0<33554432;u=q;return a|0}function Zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+32768|0;f[a+48>>2]=p;a=p>>>0<8388608;u=q;return a|0}function _c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+16384|0;f[a+48>>2]=p;a=p>>>0<4194304;u=q;return a|0}function $c(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)Ga(17186,17202,59,17293);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))Ga(17303,17202,60,17293);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Sa[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Wa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Wa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=Nk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2768;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2824;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=Nk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2684;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2740;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function ad(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);n=a+56|0;i=f[n>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;q=g-d|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;h=0;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}f[t>>2]=f[d+(h<<2)>>2];f[v>>2]=f[t>>2];Db(w,v,c,h);l=X(h,e)|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[a+68+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[k+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;y=22}}else{d=d-(f[o>>2]|0)|0;y=22}if((y|0)==22){y=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[s>>2]|0))}}h=h+1|0;if((h|0)>=(r|0))break;i=f[n>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=x;return 1}function bd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];kb(a,r,n);r=1;u=p;return r|0}function cd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];ob(a,r,n);r=1;u=p;return r|0}function dd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];lb(a,r,n);r=1;u=p;return r|0}function ed(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3204;Ih(a+240|0);ug(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+132>>2]|0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nh(b);Co(b);return}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<>>0>31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function gd(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3252;Ye(a+240|0);ug(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+132>>2]|0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nh(b);Co(b);return}function hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);n=a+56|0;i=f[n>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;q=g-d|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;h=0;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}f[t>>2]=f[d+(h<<2)>>2];f[v>>2]=f[t>>2];Cb(w,v,c,h);l=X(h,e)|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[a+68+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[k+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;y=22}}else{d=d-(f[o>>2]|0)|0;y=22}if((y|0)==22){y=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[s>>2]|0))}}h=h+1|0;if((h|0)>=(r|0))break;i=f[n>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=x;return 1}function id(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;k=o+16|0;i=o;if((j[c+38>>1]|0)<514){n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((m|0)>(d|0)|((m|0)==(d|0)?(f[n>>2]|0)>>>0>e>>>0:0))){a=0;u=o;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;l=gm(e|0,d|0,1,0)|0;m=g;f[m>>2]=l;f[m+4>>2]=I;if(n<<24>>24){a=0;u=o;return a|0}}g=0;do{sh(k,c)|0;d=f[k>>2]|0;if(d|0){e=a+60+(g*12|0)|0;ld(e,d,0);Yn(i);nd(i,c)|0;if(f[k>>2]|0){d=0;do{p=Di(i)|0;n=(f[e>>2]|0)+(d>>>5<<2)|0;m=1<<(d&31);l=f[n>>2]|0;f[n>>2]=p?l|m:l&~m;d=d+1|0}while(d>>>0<(f[k>>2]|0)>>>0)}Ho(i)}g=g+1|0}while((g|0)<4);l=c+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;n=c+16|0;e=n;d=f[e>>2]|0;e=f[e+4>>2]|0;m=gm(d|0,e|0,4,0)|0;g=I;if((l|0)<(g|0)|(l|0)==(g|0)&k>>>0>>0){p=0;u=o;return p|0}i=f[c>>2]|0;c=i+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;p=n;f[p>>2]=m;f[p+4>>2]=g;e=gm(d|0,e|0,8,0)|0;g=I;if((l|0)<(g|0)|(l|0)==(g|0)&k>>>0>>0){p=0;u=o;return p|0}d=i+m|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;p=n;f[p>>2]=e;f[p+4>>2]=g;if((c|0)>(d|0)){p=0;u=o;return p|0}f[a+12>>2]=c;f[a+16>>2]=d;p=d+(1-c)|0;f[a+20>>2]=p;d=(p|0)/2|0;e=a+24|0;f[e>>2]=d;f[a+28>>2]=0-d;if(p&1|0){p=1;u=o;return p|0}f[e>>2]=d+-1;p=1;u=o;return p|0}function jd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+12|0;n=f[l>>2]|0;i=(f[c>>2]|0)-n|0;j=c+4|0;g=(f[j>>2]|0)-n|0;e=c;f[e>>2]=i;f[e+4>>2]=g;e=f[l>>2]|0;if((e|0)<(i|0))Ga(9849,9150,250,9872);if((e|0)<(g|0))Ga(9884,9150,251,9872);h=0-e|0;if((i|0)<(h|0))Ga(9907,9150,252,9872);if((g|0)<(h|0))Ga(9931,9150,253,9872);m=(((g|0)>-1?g:0-g|0)+((i|0)>-1?i:0-i|0)|0)<=(e|0);if(!m){Pf(b,c,j);i=f[c>>2]|0}if(!i){e=f[j>>2]|0;g=e;e=(e|0)==0}else{e=f[j>>2]|0;g=e;e=(i|0)<0&(e|0)<1}if(!i)k=(g|0)==0?0:(g|0)>0?3:1;else k=(i|0)>0?(g>>31)+2|0:(g|0)<1?0:3;if(e){e=i;i=1}else{switch(k|0){case 1:{e=g;g=0-i|0;break}case 2:{e=0-i|0;g=0-g|0;break}case 3:{e=0-g|0;g=i;break}default:e=i}i=c;f[i>>2]=e;f[i+4>>2]=g;i=0}e=(f[d>>2]|0)+e|0;f[a>>2]=e;g=(f[d+4>>2]|0)+g|0;j=a+4|0;f[j>>2]=g;h=f[l>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[a>>2]=e;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[b+4>>2]|0)+g|0}else g=g-(f[b+4>>2]|0)|0;f[j>>2]=g;if(!i){switch((4-k|0)%4|0|0){case 1:{h=g;e=0-e|0;break}case 2:{h=0-e|0;e=0-g|0;break}case 3:{h=0-g|0;break}default:{h=e;e=g}}g=a;f[g>>2]=h;f[g+4>>2]=e;g=e;e=h}if(m){m=e;b=g;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}Pf(b,a,j);m=f[a>>2]|0;b=f[j>>2]|0;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}function kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;w=u;u=u+48|0;s=w+40|0;t=w+24|0;p=w+20|0;q=w+16|0;n=w;r=w+8|0;f[t>>2]=0;v=t+4|0;f[v>>2]=0;f[t+8>>2]=0;l=c+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;o=c+16|0;e=o;m=f[e>>2]|0;e=f[e+4>>2]|0;g=gm(m|0,e|0,4,0)|0;i=I;a:do if((l|0)<(i|0)|(l|0)==(i|0)&k>>>0>>0)i=0;else{j=f[c>>2]|0;x=j+m|0;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=o;f[y>>2]=g;f[y+4>>2]=i;b:do switch(x|0){case 3:{if(!((l|0)>(i|0)|(l|0)==(i|0)&k>>>0>g>>>0)){i=0;break a}y=b[j+g>>0]|0;m=gm(m|0,e|0,5,0)|0;x=o;f[x>>2]=m;f[x+4>>2]=I;f[a+8>>2]=y<<24>>24;if(y<<24>>24==1)if(Qb(a,c,t)|0)break b;else{i=0;break a}else{vj(5114,23,1,f[901]|0)|0;i=0;break a}}case 2:{if(!(Qb(a,c,t)|0)){i=0;break a}break}default:{vj(5138,24,1,f[901]|0)|0;i=0;break a}}while(0);f[p>>2]=f[t>>2];f[q>>2]=f[v>>2];x=d;y=f[x+4>>2]|0;i=n;f[i>>2]=f[x>>2];f[i+4>>2]=y;f[s>>2]=f[n>>2];f[s+4>>2]=f[n+4>>2];Ed(r,p,q,a,s);i=1}while(0);e=f[t>>2]|0;if(!e){u=w;return i|0}g=f[v>>2]|0;if((g|0)!=(e|0))f[v>>2]=g+(~(((g+-12-e|0)>>>0)/12|0)*12|0);Co(e);u=w;return i|0}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;l=e<<5;d=b-g|0;if(l>>>0>>0|g>>>0>(l-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0){nn(a);e=f[m>>2]|0}h=e<<6;b=b+31&-32;ig(o,e<<5>>>0<1073741823?(h>>>0>>0?b:h):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;Yj(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)Co(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;Yg(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;Yg(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function md(a,b){a=a|0;b=b|0;var c=0,d=La,e=La,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=La;l=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(c)h=g&l;else h=(l>>>0)%(i>>>0)|0;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(b)if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}if((f[b+4>>2]&g|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else{do{b=f[b>>2]|0;if(!b){b=h;break a}if((((f[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else b=h}else b=0;while(0);m=Nk(16)|0;f[m+8>>2]=l;f[m+12>>2]=0;f[m+4>>2]=l;f[m>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;bg(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&l;break}else{g=b;b=(l>>>0)%(b>>>0)|0;break}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[m>>2]=f[b>>2];f[b>>2]=m;f[c>>2]=b;b=f[m>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;b=(f[a>>2]|0)+(b<<2)|0;o=24}}else{f[m>>2]=f[b>>2];o=24}if((o|0)==24)f[b>>2]=m;f[h>>2]=(f[h>>2]|0)+1;a=m;a=a+12|0;return a|0}function nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;m=q;e=c+8|0;l=e;i=f[l+4>>2]|0;p=c+16|0;k=p;d=f[k>>2]|0;k=f[k+4>>2]|0;if(!((i|0)>(k|0)|((i|0)==(k|0)?(f[l>>2]|0)>>>0>d>>>0:0))){a=0;u=q;return a|0}b[a+12>>0]=b[(f[c>>2]|0)+d>>0]|0;g=p;d=f[g>>2]|0;g=f[g+4>>2]|0;i=gm(d|0,g|0,1,0)|0;l=p;f[l>>2]=i;f[l+4>>2]=I;if((j[c+38>>1]|0)<514){k=e;e=f[k>>2]|0;k=f[k+4>>2]|0;d=gm(d|0,g|0,5,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&e>>>0>>0)d=0;else{i=(f[c>>2]|0)+i|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[m>>2]=i;g=p;f[g>>2]=d;f[g+4>>2]=l;g=k;k=d;n=7}}else if(sh(m,c)|0){g=e;l=p;e=f[g>>2]|0;g=f[g+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;i=f[m>>2]|0;n=7}else d=0;a:do if((n|0)==7){n=wl(e|0,g|0,k|0,l|0)|0;m=I;if(!(0>(m|0)|0==(m|0)&i>>>0>n>>>0)?(o=(f[c>>2]|0)+k|0,(i|0)>=1):0){f[a>>2]=o;e=i+-1|0;d=o+e|0;switch((h[d>>0]|0)>>>6&3){case 0:{f[a+4>>2]=e;d=b[d>>0]&63;break}case 1:{if((i|0)<2){d=0;break a}f[a+4>>2]=i+-2;d=o+i+-2|0;d=(h[d+1>>0]|0)<<8&16128|(h[d>>0]|0);break}case 2:{if((i|0)<3){d=0;break a}f[a+4>>2]=i+-3;d=o+i+-3|0;d=(h[d+1>>0]|0)<<8|(h[d>>0]|0)|(h[d+2>>0]|0)<<16&4128768;break}default:{d=0;break a}}o=d+4096|0;f[a+8>>2]=o;if(o>>>0<=1048575){a=gm(k|0,l|0,i|0,0)|0;d=p;f[d>>2]=a;f[d+4>>2]=I;d=1}else d=0}else d=0}while(0);a=d;u=q;return a|0}function od(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;m=p;k=Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((k|0)<=0){a=1;o=1;o=a|o;u=p;return o|0}j=a+36|0;l=a+48|0;b=0;while(1){i=(Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[i>>2]|0){h=f[(f[(f[j>>2]|0)+(b<<2)>>2]|0)+8>>2]|0;g=(Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;g=f[g>>2]|0;h=f[h+56>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kh(m,14720,24);i=g+16|0;d=f[i>>2]|0;if(d){c=i;e=d;a:while(1){d=e;while(1){if((f[d+16>>2]|0)>=(h|0))break;d=f[d+4>>2]|0;if(!d)break a}e=f[d>>2]|0;if(!e){c=d;break}else c=d}if(((c|0)!=(i|0)?(n=c+20|0,(h|0)>=(f[c+16>>2]|0)):0)?(Mf(n,m)|0)!=0:0)c=Rh(n,m,0)|0;else o=13}else o=13;if((o|0)==13){o=0;c=Rh(g,m,0)|0}km(m);if(c){o=15;break}}i=f[(f[j>>2]|0)+(b<<2)>>2]|0;if(!(Wa[f[(f[i>>2]|0)+24>>2]&127](i,l)|0)){b=0;c=0;o=18;break}b=b+1|0;if((b|0)>=(k|0)){b=1;c=1;o=18;break}}if((o|0)==15){a=f[(f[j>>2]|0)+(b<<2)>>2]|0;o=f[a+8>>2]|0;Fd(o,gf(a)|0);a=0;o=1;o=a|o;u=p;return o|0}else if((o|0)==18){o=b|c;u=p;return o|0}return 0}function pd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){e=23;break}i=h+8|0;d=f[i>>2]|0;e=f[d>>2]|0;if((e|0)==(h|0)){e=f[d+4>>2]|0;if(!e){e=7;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=7;break}}else{if(!e){e=16;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=16;break}}b[g>>0]=1;i=(d|0)==(a|0);b[d+12>>0]=i&1;b[c>>0]=1;if(i){e=23;break}else c=d}if((e|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;c=f[a>>2]|0;e=f[c>>2]|0;f[a>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}a=c+8|0;f[a>>2]=d;d=f[i>>2]|0;f[((f[d>>2]|0)==(h|0)?d:d+4|0)>>2]=c;f[c>>2]=h;f[i>>2]=c;d=f[a>>2]|0}b[c+12>>0]=1;b[d+12>>0]=0;c=f[d>>2]|0;g=c+4|0;e=f[g>>2]|0;f[d>>2]=e;if(e|0)f[e+8>>2]=d;i=d+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(d|0)?h:h+4|0)>>2]=c;f[g>>2]=d;f[i>>2]=c;return}else if((e|0)==16){if((f[h>>2]|0)==(c|0)){c=f[h>>2]|0;g=c+4|0;e=f[g>>2]|0;f[h>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}e=c+8|0;f[e>>2]=d;a=f[i>>2]|0;f[((f[a>>2]|0)==(h|0)?a:a+4|0)>>2]=c;f[g>>2]=h;f[i>>2]=c;e=f[e>>2]|0}else{c=h;e=d}b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((e|0)==23)return} -function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+16|0;q=r;i=b+8|0;g=i;j=f[g>>2]|0;g=f[g+4>>2]|0;p=b+16|0;d=p;c=f[d>>2]|0;d=gm(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((g|0)<(e|0)|(g|0)==(e|0)&j>>>0>>0){q=0;u=r;return q|0}g=(f[b>>2]|0)+c|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=p;f[j>>2]=d;f[j+4>>2]=e;if((g|0)<0){q=0;u=r;return q|0}ld(a+76|0,g,0);Yn(q);if(nd(q,b)|0){if((g|0)>0){c=a+76|0;d=0;e=1;do{e=e^((Di(q)|0)^1);j=(f[c>>2]|0)+(d>>>5<<2)|0;s=1<<(d&31);t=f[j>>2]|0;f[j>>2]=e?t|s:t&~s;d=d+1|0}while((d|0)<(g|0))}d=i;c=f[d>>2]|0;d=f[d+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;i=gm(e|0,g|0,4,0)|0;j=I;if((!((d|0)<(j|0)|(d|0)==(j|0)&c>>>0>>0)?(k=f[b>>2]|0,l=k+e|0,l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,m=p,f[m>>2]=i,f[m+4>>2]=j,m=gm(e|0,g|0,8,0)|0,n=I,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0>>0)):0)?(o=k+i|0,o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24,t=p,f[t>>2]=m,f[t+4>>2]=n,(l|0)<=(o|0)):0){f[a+12>>2]=l;f[a+16>>2]=o;t=o+(1-l)|0;f[a+20>>2]=t;c=(t|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(t&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Ho(q);t=c;u=r;return t|0}function rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ie(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];ib(a,q,n);q=1;u=o;return q|0}function sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ie(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];gb(a,q,n);q=1;u=o;return q|0}function td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];ub(a,q,n);q=1;u=o;return q|0}function ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];tb(a,q,n);q=1;u=o;return q|0}function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ie(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];hb(a,q,n);q=1;u=o;return q|0}function wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ie(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];fb(a,q,n);q=1;u=o;return q|0}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];sb(a,q,n);q=1;u=o;return q|0}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];rb(a,q,n);q=1;u=o;return q|0}function zd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+16|0;k=m;if(!(Vb(a,c)|0)){a=0;u=m;return a|0}j=Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0;l=a+36|0;h=a+40|0;d=f[h>>2]|0;e=f[l>>2]|0;g=d-e>>2;if(j>>>0<=g>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(d|0)!=(i|0)):0)do{g=d+-4|0;f[h>>2]=g;d=f[g>>2]|0;f[g>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[h>>2]|0}while((d|0)!=(i|0))}else Ae(l,j-g|0);g=c+8|0;if((j|0)<=0){a=1;u=m;return a|0}i=c+16|0;h=0;while(1){n=g;o=f[n+4>>2]|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((o|0)>(e|0)|((o|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){d=0;e=19;break}o=b[(f[c>>2]|0)+d>>0]|0;d=gm(d|0,e|0,1,0)|0;n=i;f[n>>2]=d;f[n+4>>2]=I;Ta[f[(f[a>>2]|0)+48>>2]&15](k,a,o);o=(f[l>>2]|0)+(h<<2)|0;n=f[k>>2]|0;f[k>>2]=0;d=f[o>>2]|0;f[o>>2]=n;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[k>>2]|0;f[k>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[(f[l>>2]|0)+(h<<2)>>2]|0;if(!d){d=0;e=19;break}e=f[(f[d>>2]|0)+8>>2]|0;n=Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0;o=Wa[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;h=h+1|0;if(!(Na[e&31](d,n,o)|0)){d=0;e=19;break}if((h|0)>=(j|0)){d=1;e=19;break}}if((e|0)==19){u=m;return d|0}return 0}function Ad(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;h=l;c=a+40|0;d=c;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));if(Te(c,1,h)|0){d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;i=a+8|0;m=i;k=a+16|0;d=k;c=f[d>>2]|0;d=f[d+4>>2]|0;m=wl(f[m>>2]|0,f[m+4>>2]|0,c|0,d|0)|0;n=I;if(!(g>>>0>n>>>0|(g|0)==(n|0)&e>>>0>m>>>0)){m=gm(c|0,d|0,e|0,g|0)|0;n=k;f[n>>2]=m;f[n+4>>2]=I;do if((j[a+38>>1]|0)<514){c=a+96|0;d=c;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));if(Te(c,1,h)|0){d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;n=i;d=k;c=f[d>>2]|0;d=f[d+4>>2]|0;n=wl(f[n>>2]|0,f[n+4>>2]|0,c|0,d|0)|0;m=I;if(!(g>>>0>m>>>0|(g|0)==(m|0)&e>>>0>n>>>0)){m=gm(c|0,d|0,e|0,g|0)|0;n=k;f[n>>2]=m;f[n+4>>2]=I;break}}n=0;u=l;return n|0}else nd(a+80|0,a)|0;while(0);if(!(vg(a)|0)){n=0;u=l;return n|0}d=b;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));n=1;u=l;return n|0}}n=0;u=l;return n|0}function Bd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+144|0;i=n+136|0;m=n+32|0;l=n;e=f[(f[c+4>>2]|0)+44>>2]|0;h=Nk(124)|0;f[h+4>>2]=0;f[h>>2]=3136;f[h+12>>2]=3160;f[h+100>>2]=0;f[h+104>>2]=0;f[h+108>>2]=0;j=h+16|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[h+112>>2]=e;f[h+116>>2]=d;f[h+120>>2]=0;g=h;f[m+4>>2]=3160;f[m+92>>2]=0;f[m+96>>2]=0;f[m+100>>2]=0;j=m+8|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));k=f[c+8>>2]|0;f[l>>2]=3160;j=l+4|0;c=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=k;f[j>>2]=c;c=((f[c+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;ef(l+8|0,c,i);Pa[f[(f[l>>2]|0)+8>>2]&127](l);f[m>>2]=f[j>>2];Ce(m+4|0,l)|0;f[m+36>>2]=k;f[m+40>>2]=d;f[m+44>>2]=e;f[m+48>>2]=h;Ge(h,m);f[a>>2]=g;f[l>>2]=3160;e=f[l+20>>2]|0;if(e|0)Co(e);e=f[l+8>>2]|0;if(!e){yg(m);u=n;return}Co(e);yg(m);u=n;return}function Cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Di((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else zg(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{g=a;f[r>>2]=d;h=g+(i*116|0)+108|0;e=f[h>>2]|0;if(e>>>0<(f[g+(i*116|0)+112>>2]|0)>>>0){f[e>>2]=d;f[h>>2]=e+4}else{zg(g+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Di((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else zg(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{e=a;f[r>>2]=d;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=d;f[h>>2]=g+4}else{zg(e+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Ed(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=La,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=La,y=La,z=La,A=La,B=0,C=0;w=u;u=u+32|0;t=w+16|0;v=w;h=$(n[e+4>>2]);if(!(h>=$(0.0)))Ga(5163,5183,66,5303);s=(1<>2])+-1|0;Ym(t);Bk(t,h,s)|0;e=f[c>>2]|0;if((e|0)==(f[d>>2]|0)){t=g;t=f[t>>2]|0;g=g+4|0;g=f[g>>2]|0;v=a;d=v;f[d>>2]=t;v=v+4|0;f[v>>2]=g;u=w;return}p=t+4|0;q=v+4|0;r=v+8|0;j=g+4|0;l=f[g>>2]|0;o=l+84|0;k=l+68|0;m=l+40|0;l=l+64|0;i=f[j>>2]|0;do{B=(f[e>>2]|0)-s|0;c=(B|0)<0;y=$((c?0-B|0:B)|0);h=$(n[p>>2]);y=$(h*y);x=$(-y);A=$(n[t>>2]);y=$(A*(c?x:y));c=(f[e+4>>2]|0)-s|0;B=(c|0)<0;x=$(h*$((B?0-c|0:c)|0));z=$(-x);x=$(A*(B?z:x));B=(f[e+8>>2]|0)-s|0;c=(B|0)<0;h=$(h*$((c?0-B|0:B)|0));z=$(-h);h=$(A*(c?z:h));n[v>>2]=y;n[q>>2]=x;n[r>>2]=h;c=i;i=i+1|0;f[j>>2]=i;if(!(b[o>>0]|0))c=f[(f[k>>2]|0)+(c<<2)>>2]|0;C=m;B=f[C>>2]|0;c=Mk(c|0,((c|0)<0)<<31>>31|0,B|0,f[C+4>>2]|0)|0;Xe((f[f[l>>2]>>2]|0)+c|0,v|0,B|0)|0;e=e+12|0}while((e|0)!=(f[d>>2]|0));B=g;g=B;g=f[g>>2]|0;B=B+4|0;B=f[B>>2]|0;C=a;v=C;f[v>>2]=g;C=C+4|0;f[C>>2]=B;u=w;return}function Fd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Nk(32)|0;_k(d);h=a+64|0;g=f[h>>2]|0;f[h>>2]=d;if(g){d=f[g>>2]|0;if(d|0){e=g+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(g);d=f[h>>2]|0}vi(a,d,0,0,0,0);d=a}else d=a;if(!(Tg(d,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))ee(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);i=f[c+88>>2]|0;if(!i){a=a+88|0;d=f[a>>2]|0;f[a>>2]=0;if(!d)return;e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d);return}l=Nk(40)|0;f[l>>2]=f[i>>2];e=l+8|0;g=i+8|0;f[e>>2]=0;j=l+12|0;f[j>>2]=0;d=l+16|0;f[d>>2]=0;c=i+12|0;h=(f[c>>2]|0)-(f[g>>2]|0)|0;if(h|0){if((h|0)<0)nn(e);k=Nk(h)|0;f[j>>2]=k;f[e>>2]=k;f[d>>2]=k+h;e=f[g>>2]|0;d=(f[c>>2]|0)-e|0;if((d|0)>0){Xe(k|0,e|0,d|0)|0;f[j>>2]=k+d}}g=l+24|0;k=i+24|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];a=a+88|0;g=f[a>>2]|0;f[a>>2]=l;if(!g)return;d=f[g+8>>2]|0;if(d|0){e=g+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(g);return}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;p=s+4|0;q=s;c=f[b>>2]|0;f[p>>2]=c;m=a+8|0;b=c+1|0;do if((c|0)>=0){f[p+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{f[p+4>>2]=c;b=c}while(0);f[p+8>>2]=b;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((c|0)>=0?(f[(f[(f[m>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)>=0:0){if((f[k>>2]|0)!=(f[l>>2]|0)){g=0;do{if(Di((f[j>>2]|0)+(g<<4)|0)|0){a=f[l>>2]|0;f[q>>2]=c;e=a+(g*116|0)+108|0;d=f[e>>2]|0;if(d>>>0<(f[a+(g*116|0)+112>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else zg(a+(g*116|0)+104|0,q)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else r=11;if((r|0)==11?(r=0,n=f[k>>2]|0,o=f[l>>2]|0,(n|0)!=(o|0)):0){a=o;d=n;i=0;do{e=a;f[q>>2]=c;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=c;f[h>>2]=g+4}else{zg(e+(i*116|0)+104|0,q);a=f[l>>2]|0;d=f[k>>2]|0}i=i+1|0}while(i>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[p+(b<<2)>>2]|0}u=s;return 1}function Id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+32|0;n=t+20|0;m=t+16|0;s=t;r=c+24|0;k=b[r>>0]|0;o=k<<24>>24;l=f[a+80>>2]|0;h=X(l,o)|0;f[s>>2]=f[897];f[s+4>>2]=f[898];f[s+8>>2]=f[899];f[s+12>>2]=f[900];g=d+4|0;e=f[g>>2]|0;a=f[d>>2]|0;i=e-a>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(j=a+(h<<2)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-4-j|0)>>>2)<<2)}else lg(d,h-i|0);if((l|0)<=0){s=1;u=t;return s|0}i=c+84|0;h=c+68|0;if(k<<24>>24<=0){e=0;while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(e<<2)>>2]|0;else a=e;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(eb(c,n,k,s)|0)){a=0;e=18;break}e=e+1|0;if((e|0)>=(l|0)){a=1;e=18;break}}if((e|0)==18){u=t;return a|0}}else{p=0;q=0}while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(q<<2)>>2]|0;else a=q;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(eb(c,n,k,s)|0)){a=0;e=18;break}a=f[d>>2]|0;e=p;g=0;while(1){f[a+(e<<2)>>2]=f[s+(g<<2)>>2];g=g+1|0;if((g|0)==(o|0))break;else e=e+1|0}q=q+1|0;if((q|0)>=(l|0)){a=1;e=18;break}else p=o+p|0}if((e|0)==18){u=t;return a|0}return 0}function Jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;m=o+12|0;l=o;d=b*3|0;f[m>>2]=0;n=m+4|0;f[n>>2]=0;f[m+8>>2]=0;do if(d)if(d>>>0>1073741823){nn(m);o=Ia(4)|0;eo(o);ta(o|0,1112,100)}else{j=b*12|0;c=Nk(j)|0;f[m>>2]=c;k=c+(d<<2)|0;f[m+8>>2]=k;Yg(c|0,0,j|0)|0;f[n>>2]=k;break}else c=0;while(0);if(_g(d,1,f[a+32>>2]|0,c)|0)if(!b)a=1;else{h=a+44|0;i=l+4|0;j=l+8|0;e=0;g=0;k=0;while(1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;d=f[m>>2]|0;p=f[d+(k<<2)>>2]|0;c=p>>>1;c=((p&1|0)==0?c:0-c|0)+g|0;f[l>>2]=c;p=f[d+(k+1<<2)>>2]|0;a=p>>>1;c=((p&1|0)==0?a:0-a|0)+c|0;f[i>>2]=c;d=f[d+(k+2<<2)>>2]|0;a=d>>>1;g=((d&1|0)==0?a:0-a|0)+c|0;f[j>>2]=g;c=f[h>>2]|0;a=c+100|0;d=f[a>>2]|0;if((d|0)==(f[c+104>>2]|0))gg(c+96|0,l);else{f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];f[d+8>>2]=f[l+8>>2];f[a>>2]=(f[a>>2]|0)+12}e=e+1|0;if(e>>>0>=b>>>0){a=1;break}else k=k+3|0}}else a=0;c=f[m>>2]|0;if(!c){u=o;return a|0}d=f[n>>2]|0;if((d|0)!=(c|0))f[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c);u=o;return a|0}function Kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Ga(17186,17202,59,17293);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Ga(17303,17202,60,17293);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Sa[f[(f[b>>2]|0)+36>>2]&127](b)|0;k=Wa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Wa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+44>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;ac(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+44>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;$b(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;c=h;g=Nk(52)|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);d=g+20|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;n[g+36>>2]=$(1.0);f[g+40>>2]=0;f[g+44>>2]=0;f[g+48>>2]=0;d=g;$n(e);if(!(Ve(e,f[b+32>>2]|0,g)|0)){f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;Kh(c,16078,26);f[a>>2]=-1;cj(a+4|0,c);km(c);d=g+40|0;c=f[d>>2]|0;if(c|0){e=g+44|0;b=f[e>>2]|0;if((b|0)!=(c|0)){do{a=b+-4|0;f[e>>2]=a;b=f[a>>2]|0;f[a>>2]=0;if(b|0){Kg(b);Co(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}Co(c)}Kg(g);Co(g);u=h;return}e=(f[b+4>>2]|0)+4|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0){d=g+40|0;c=f[d>>2]|0;if(c|0){e=g+44|0;b=f[e>>2]|0;if((b|0)!=(c|0)){do{i=b+-4|0;f[e>>2]=i;b=f[i>>2]|0;f[i>>2]=0;if(b|0){Kg(b);Co(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}Co(c)}Kg(g);Co(g)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=h;return}function Md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{jf(j,m-l|0,3124);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)Ga(17469,17387,64,17464);else if((e|0)==12)Ga(14872,14891,89,14985);else if((e|0)==14)return d|0;return 0}function Nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;k=l;h=a+8|0;g=f[h>>2]|0;j=a+4|0;d=f[j>>2]|0;if(((g-d|0)/116|0)>>>0>=c>>>0){do{f[d>>2]=-1;Wj(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[j>>2]|0)+116|0;f[j>>2]=d;c=c+-1|0}while((c|0)!=0);u=l;return}e=f[a>>2]|0;i=((d-e|0)/116|0)+c|0;if(i>>>0>37025580){nn(a);e=f[a>>2]|0;g=f[h>>2]|0;d=f[j>>2]|0}j=(g-e|0)/116|0;g=j<<1;g=j>>>0<18512790?(g>>>0>>0?i:g):37025580;d=(d-e|0)/116|0;f[k+12>>2]=0;f[k+16>>2]=a+8;do if(g)if(g>>>0>37025580){l=Ia(4)|0;eo(l);ta(l|0,1112,100)}else{e=Nk(g*116|0)|0;break}else e=0;while(0);f[k>>2]=e;d=e+(d*116|0)|0;h=k+8|0;f[h>>2]=d;f[k+4>>2]=d;f[k+12>>2]=e+(g*116|0);do{f[d>>2]=-1;Wj(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[h>>2]|0)+116|0;f[h>>2]=d;c=c+-1|0}while((c|0)!=0);lc(a,k);sg(k);u=l;return}function Od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{jf(j,m-l|0,3124);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Ga(17469,17387,64,17464);else if((e|0)==12)Ga(14872,14891,89,14985);else if((e|0)==13)return d|0;return 0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(zc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Uc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<4194304){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>20)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Ac(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Vc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<2097152){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<2097152)}while(0);p=d&524287;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>19)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Bc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Wc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<1048576){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<1048576)}while(0);p=d&262143;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>18)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Cc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Xc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<262144){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<262144)}while(0);p=d&65535;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>16)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Dc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Yc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<131072){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<131072)}while(0);p=d&32767;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>15)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Ec(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Zc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<32768){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<32768)}while(0);p=d&8191;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>13)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Fc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=_c(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<16384){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>12)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{jf(j,m-l|0,3124);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Ga(17469,17387,64,17464);else if((e|0)==12)Ga(14872,14891,89,14985);else if((e|0)==13)return d|0;return 0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)Yj(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){nn(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){nn(a);c=Ia(4)|0;eo(c);ta(c|0,1112,100)}h=Nk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)Yj(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){nn(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){nn(a);c=Ia(4)|0;eo(c);ta(c|0,1112,100)}h=Nk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function Zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;l=r+20|0;k=r+16|0;q=r;p=c+24|0;e=b[p>>0]|0;m=e<<24>>24;h=f[a+80>>2]|0;j=X(h,m)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;Yd(d,0,0+(j<<2)|0);if((h|0)<=0){q=1;u=r;return q|0}j=c+84|0;i=c+68|0;if(e<<24>>24<=0){e=0;while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(e<<2)>>2]|0;else a=e;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(Bb(c,l,g,q)|0)){a=0;e=13;break}e=e+1|0;if((e|0)>=(h|0)){a=1;e=13;break}}if((e|0)==13){u=r;return a|0}}else{n=0;o=0}while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(o<<2)>>2]|0;else a=o;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(Bb(c,l,g,q)|0)){a=0;e=13;break}a=f[d>>2]|0;e=n;g=0;while(1){f[a+(e<<2)>>2]=f[q+(g<<2)>>2];g=g+1|0;if((g|0)==(m|0))break;else e=e+1|0}o=o+1|0;if((o|0)>=(h|0)){a=1;e=13;break}else n=m+n|0}if((e|0)==13){u=r;return a|0}return 0}function _d(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b[(f[a+8>>2]|0)+24>>0]|0;i=zo(d>>>0>1073741823?-1:d<<2)|0;j=a+28|0;c=f[j>>2]|0;f[j>>2]=i;if(c|0)Ao(c);i=a+4|0;g=f[(f[i>>2]|0)+32>>2]|0;d=d<<2;n=g+8|0;l=f[n>>2]|0;n=f[n+4>>2]|0;e=g+16|0;k=e;c=f[k>>2]|0;k=gm(c|0,f[k+4>>2]|0,d|0,0)|0;m=I;if((n|0)<(m|0)|(n|0)==(m|0)&l>>>0>>0){n=0;return n|0}Xe(f[j>>2]|0,(f[g>>2]|0)+c|0,d|0)|0;c=e;c=gm(f[c>>2]|0,f[c+4>>2]|0,d|0,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=(f[i>>2]|0)+32|0;c=f[e>>2]|0;k=c+8|0;m=f[k>>2]|0;k=f[k+4>>2]|0;g=c+16|0;n=g;d=f[n>>2]|0;n=gm(d|0,f[n+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&m>>>0>>0){n=0;return n|0}n=a+32|0;c=(f[c>>2]|0)+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[n>>0]=c;b[n+1>>0]=c>>8;b[n+2>>0]=c>>16;b[n+3>>0]=c>>24;n=g;n=gm(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;c=g;f[c>>2]=n;f[c+4>>2]=I;c=f[e>>2]|0;n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}c=b[(f[c>>2]|0)+d>>0]|0;m=gm(d|0,e|0,1,0)|0;n=g;f[n>>2]=m;f[n+4>>2]=I;if((c&255)>31){n=0;return n|0}f[a+24>>2]=c&255;n=1;return n|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;g=f[l>>2]|0;e=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Yg(g|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}c=f[a>>2]|0;h=((g-c|0)/12|0)+b|0;if(h>>>0>357913941){nn(a);g=f[l>>2]|0;c=f[a>>2]|0;e=g;d=f[m>>2]|0}k=c;d=(d-c|0)/12|0;i=d<<1;i=d>>>0<178956970?(i>>>0>>0?h:i):357913941;d=(g-c|0)/12|0;do if(i)if(i>>>0>357913941){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{h=Nk(i*12|0)|0;break}else h=0;while(0);g=h+(d*12|0)|0;d=g;j=h+(i*12|0)|0;Yg(g|0,0,b*12|0)|0;h=g+(b*12|0)|0;if((e|0)==(k|0))i=c;else{c=d;do{b=g+-12|0;i=e;e=e+-12|0;f[b>>2]=0;d=g+-8|0;f[d>>2]=0;f[g+-4>>2]=0;f[b>>2]=f[e>>2];b=i+-8|0;f[d>>2]=f[b>>2];i=i+-4|0;f[g+-4>>2]=f[i>>2];f[i>>2]=0;f[b>>2]=0;f[e>>2]=0;g=c+-12|0;c=g}while((e|0)!=(k|0));d=c;i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=j;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);Co(g)}}while((e|0)!=(h|0));if(!i)return;Co(i);return}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3112;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)nn(h);c=((c+-1|0)>>>5)+1|0;o=Nk(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];ue(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)nn(h);o=((c+-1|0)>>>5)+1|0;a=Nk(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];ue(h,k,m);u=n;return}function be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823){nn(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;j=d-e|0;d=j>>1;d=j>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(d>>>0>1073741823){nn(a);c=Ia(4)|0;eo(c);ta(c|0,1112,100)}h=Nk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function ce(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+636|0;b=f[g>>2]|0;if(b|0){h=a+640|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+624|0;b=f[g>>2]|0;if(b|0){h=a+628|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+612>>2]|0;if(b|0){d=a+616|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+600>>2]|0;if(!b){h=a+580|0;_i(h);h=a+560|0;_i(h);h=a+540|0;_i(h);h=a+524|0;Ho(h);a=a+12|0;Xg(a);return}d=a+604|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+580|0;_i(h);h=a+560|0;_i(h);h=a+540|0;_i(h);h=a+524|0;Ho(h);a=a+12|0;Xg(a);return}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3160;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)nn(h);c=((c+-1|0)>>>5)+1|0;o=Nk(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];ue(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)nn(h);o=((c+-1|0)>>>5)+1|0;a=Nk(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];ue(h,k,m);u=n;return}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[i>>2]|0}else c=0;l=d-c|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){nn(a);b=Ia(4)|0;eo(b);ta(b|0,1112,100)}e=Nk(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Xe(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Xe(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+16|0;n=o;k=d+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=d+16|0;e=l;g=f[e>>2]|0;e=f[e+4>>2]|0;if((k|0)>(e|0)|(k|0)==(e|0)&j>>>0>g>>>0){i=b[(f[d>>2]|0)+g>>0]|0;g=gm(g|0,e|0,1,0)|0;e=I;p=l;f[p>>2]=g;f[p+4>>2]=e;if(i<<24>>24!=-2)m=3}else{i=0;m=3}if((m|0)==3){if((k|0)>(e|0)|(k|0)==(e|0)&j>>>0>g>>>0){p=b[(f[d>>2]|0)+g>>0]|0;m=gm(g|0,e|0,1,0)|0;e=l;f[e>>2]=m;f[e+4>>2]=I;e=p}else e=0;Xa[f[(f[a>>2]|0)+40>>2]&7](n,a,i<<24>>24,e<<24>>24);p=a+20|0;m=f[n>>2]|0;f[n>>2]=0;e=f[p>>2]|0;f[p>>2]=m;if(e){Pa[f[(f[e>>2]|0)+4>>2]&127](e);e=f[n>>2]|0;f[n>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&127](e)}else f[n>>2]=0}e=f[a+20>>2]|0;if(e|0?!(Wa[f[(f[a>>2]|0)+28>>2]&127](a,e)|0):0){p=0;u=o;return p|0}if(!(Na[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){p=0;u=o;return p|0}e=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;p=f[a+4>>2]|0;if((p|0?((h[p+36>>0]|0)<<8&65535)<512:0)?!(Wa[f[(f[a>>2]|0)+48>>2]&127](a,e)|0):0){p=0;u=o;return p|0}p=1;u=o;return p|0}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;e=f[k>>2]|0;if(d-e>>2>>>0>=b>>>0){Yg(e|0,0,b<<2|0)|0;f[k>>2]=e+(b<<2);u=n;return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[l>>2]|0;e=f[k>>2]|0}i=d-c|0;j=i>>1;g=i>>2>>>0<536870911?(j>>>0>>0?g:j):1073741823;c=e-c>>2;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(g)if(g>>>0>1073741823){n=Ia(4)|0;eo(n);ta(n|0,1112,100)}else{d=Nk(g<<2)|0;break}else d=0;while(0);f[m>>2]=d;c=d+(c<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=c;j=m+12|0;f[j>>2]=d+(g<<2);Yg(c|0,0,b<<2|0)|0;f[i>>2]=c+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];Wf(m);u=n;return}function he(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=f[a>>2]|0;p=a+4|0;c=f[p>>2]|0;l=m;d=c+(~((c+-4-l|0)>>>2)<<2)|0;if((c|0)==(m|0))d=m;else{f[p>>2]=d;c=d}s=a+16|0;f[s>>2]=0;t=a+12|0;f[t>>2]=d;k=b+8|0;d=k;n=f[d>>2]|0;d=f[d+4>>2]|0;r=b+16|0;g=r;i=f[g>>2]|0;g=gm(i|0,f[g+4>>2]|0,4,0)|0;e=I;if((d|0)<(e|0)|(d|0)==(e|0)&n>>>0>>0){a=0;return a|0}o=(f[b>>2]|0)+i|0;o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;j=r;f[j>>2]=g;f[j+4>>2]=e;if(!((o|0)!=0&(o&3|0)==0)){a=0;return a|0}j=wl(n|0,d|0,g|0,e|0)|0;i=I;if(0>(i|0)|0==(i|0)&o>>>0>j>>>0){a=0;return a|0}j=o>>>2;i=c-l>>2;if(j>>>0<=i>>>0)if(j>>>0>>0?(q=m+(j<<2)|0,(c|0)!=(q|0)):0){f[p>>2]=c+(~((c+-4-q|0)>>>2)<<2);c=n}else c=n;else{lg(a,j-i|0);c=k;e=r;g=f[e>>2]|0;e=f[e+4>>2]|0;d=f[c+4>>2]|0;c=f[c>>2]|0}q=gm(g|0,e|0,o|0,0)|0;p=I;if((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0){a=0;return a|0}Xe(f[a>>2]|0,(f[b>>2]|0)+g|0,o|0)|0;q=r;q=gm(f[q>>2]|0,f[q+4>>2]|0,o|0,0)|0;b=r;f[b>>2]=q;f[b+4>>2]=I;f[t>>2]=f[a>>2];f[s>>2]=0;a=1;return a|0}function je(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=La,f=La,g=0.0,h=La,i=La,j=0.0,k=0.0,l=0.0,m=0.0;if(!(b>=$(0.0)))Ga(9297,9150,191,9311);if(!(c>=$(0.0)))Ga(9340,9150,192,9311);if(!(b<=$(1.0)))Ga(9354,9150,193,9311);if(!(c<=$(1.0)))Ga(9368,9150,194,9311);f=$(b+c);e=$(b-c);if(!(e<=$(.5))|(!(e>=$(-.5))|(!(f>=$(.5))|!(f<=$(1.5))))){do if(!(f<=$(.5))){if(f>=$(1.5)){e=$($(1.5)-c);c=$($(1.5)-b);break}if(!(e<=$(-.5))){e=$(c+$(.5));c=$(b+$(-.5));break}else{e=$(c+$(-.5));c=$(b+$(.5));break}}else{e=$($(.5)-c);c=$($(.5)-b)}while(0);b=e;i=$(e-c);f=$(c+e);g=-1.0}else{i=e;g=1.0}h=$(+b*2.0+-1.0);b=$(+c*2.0+-1.0);l=+f*2.0;j=l+-1.0;l=3.0-l;m=+i*2.0;k=m+1.0;m=1.0-m;k=m>2]=$(0.0);h=$(0.0);i=$(0.0);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}else{i=$($(1.0)/$(L($(e))));f=$(c*i);n[d>>2]=f;h=$(h*i);i=$(b*i);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+80|0;l=m;j=m+60|0;k=m+40|0;g=l;h=d;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));bc(a,l,j);if(f[a>>2]|0){l=l+24|0;Ho(l);u=m;return}h=a+4|0;km(h);if(b[j+7>>0]|0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,14692,27);f[a>>2]=-1;cj(h,k);km(k);l=l+24|0;Ho(l);u=m;return}mf(k,b[j+8>>0]|0);g=f[k>>2]|0;if(!g){j=k+16|0;g=f[j>>2]|0;f[j>>2]=0;sc(a,g,c,d,e);if(!(f[a>>2]|0)){km(h);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;cj(h,k+4|0)}c=k+16|0;g=f[c>>2]|0;f[c>>2]=0;if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&127](g);km(k+4|0);l=l+24|0;Ho(l);u=m;return}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+80|0;l=m;j=m+60|0;k=m+40|0;g=l;h=d;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));bc(a,l,j);if(f[a>>2]|0){l=l+24|0;Ho(l);u=m;return}h=a+4|0;km(h);if((b[j+7>>0]|0)!=1){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,14671,20);f[a>>2]=-1;cj(h,k);km(k);l=l+24|0;Ho(l);u=m;return}hg(k,b[j+8>>0]|0);g=f[k>>2]|0;if(!g){j=k+16|0;g=f[j>>2]|0;f[j>>2]=0;Sj(a,g,c,d,e);if(!(f[a>>2]|0)){km(h);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;cj(h,k+4|0)}c=k+16|0;g=f[c>>2]|0;f[c>>2]=0;if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&127](g);km(k+4|0);l=l+24|0;Ho(l);u=m;return}function me(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+116|0;b=f[g>>2]|0;if(b|0){h=a+120|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;_i(h);h=a+52|0;_i(h);h=a+32|0;_i(h);a=a+12|0;_i(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+72|0;_i(h);h=a+52|0;_i(h);h=a+32|0;_i(h);a=a+12|0;_i(a);return}function ne(a,c){a=a|0;c=c|0;var d=0,e=La,g=La,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=La,x=La,y=0,z=0;v=u;u=u+16|0;p=v;q=f[a+24>>2]|0;r=a+8|0;d=b[(f[r>>2]|0)+24>>0]|0;o=d<<24>>24;s=o<<2;t=zo(o>>>0>1073741823?-1:o<<2)|0;Ym(p);if(!(Bk(p,$(n[a+32>>2]),(1<>2]|0;m=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;if(!c){c=1;Ao(t);u=v;return c|0}q=p+4|0;l=a+28|0;if(d<<24>>24>0){h=0;i=0;j=0}else{a=0;d=0;while(1){Xe((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+d|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(c|0)){a=1;break}else d=d+s|0}Ao(t);u=v;return a|0}while(1){a=f[l>>2]|0;e=$(n[q>>2]);g=$(n[p>>2]);d=0;k=j;while(1){z=f[m+(k<<2)>>2]|0;y=(z|0)<0;w=$(e*$((y?0-z|0:z)|0));x=$(-w);w=$(g*(y?x:w));w=$($(n[a+(d<<2)>>2])+w);n[t+(d<<2)>>2]=w;d=d+1|0;if((d|0)==(o|0))break;else k=k+1|0}Xe((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+i|0,t|0,s|0)|0;h=h+1|0;if((h|0)==(c|0)){a=1;break}else{i=i+s|0;j=o+j|0}}Ao(t);u=v;return a|0}function oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=f[b>>2]|0;l=f[k>>2]|0;e=f[a+4>>2]|0;b=f[k+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(i)g=h&b;else g=(b>>>0)%(e>>>0)|0;c=(f[a>>2]|0)+(g<<2)|0;j=f[c>>2]|0;while(1){b=f[j>>2]|0;if((b|0)==(k|0))break;else j=b}if((j|0)!=(a+8|0)){b=f[j+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;d=18}else d=11}else d=11;do if((d|0)==11){if(l|0){b=f[l+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;b=l;d=19;break}}f[c>>2]=0;c=f[k>>2]|0;d=18}while(0);if((d|0)==18){b=c;if(c)d=19}if((d|0)==19){c=f[c+4>>2]|0;if(i)c=c&h;else c=(c>>>0)%(e>>>0)|0;if((c|0)!=(g|0)){f[(f[a>>2]|0)+(c<<2)>>2]=j;b=f[k>>2]|0}}f[j>>2]=b;f[k>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!k)return l|0;b=f[k+20>>2]|0;if(b|0){c=k+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}km(k+8|0);Co(k);return l|0}function pe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;c=f[d>>2]|0;b=f[g>>2]|0;i=c-b>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=b+(h<<2)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2)}else jf(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];Gb(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];Gb(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function qe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+124|0;b=f[g>>2]|0;if(b|0){h=a+128|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+112|0;b=f[g>>2]|0;if(b|0){h=a+116|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+100>>2]|0;if(b|0){d=a+104|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+88>>2]|0;if(!b){h=a+68|0;_i(h);h=a+48|0;_i(h);h=a+28|0;_i(h);a=a+12|0;Ho(a);return}d=a+92|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+68|0;_i(h);h=a+48|0;_i(h);h=a+28|0;_i(h);a=a+12|0;Ho(a);return}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+112|0;h=k+96|0;j=k+16|0;i=k+4|0;g=k;c=j+76|0;d=j;e=d+76|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=-1073741824;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;f[g>>2]=i;f[h>>2]=f[g>>2];if(uc(j,a,h)|0){g=f[i>>2]|0;Yd(b,g,g+((f[e>>2]|0)-g>>2<<2)|0);g=f[j+68>>2]|0}else g=0;c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+56>>2]|0;if(c|0)Co(c);c=f[j+32>>2]|0;if(c|0){e=j+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+20>>2]|0;if(c|0){e=j+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+8>>2]|0;if(c|0){e=j+12|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}j=j+4|0;c=f[j>>2]|0;f[j>>2]=0;if(!c){u=k;return g|0}nh(c);Co(c);u=k;return g|0}function se(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Bi(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Bi(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Bi(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)Yj(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Xe(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);Co(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[h>>2]|0}else c=0;m=d-c|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){nn(a);b=Ia(4)|0;eo(b);ta(b|0,1112,100)}e=Nk(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Xe(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];Oc(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=c>>>5;Yj(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function ve(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;s=v;e=f[a+40>>2]|0;j=f[a+44>>2]|0;if((e|0)==(j|0)){t=0;u=v;return t|0}k=s+11|0;m=s+4|0;l=d+11|0;n=d+4|0;a=e;a:while(1){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;do if(Zg(f[a>>2]|0,c,s)|0?(p=b[k>>0]|0,q=p<<24>>24<0,p=p&255,o=q?f[m>>2]|0:p,i=b[l>>0]|0,r=i<<24>>24<0,(o|0)==((r?f[n>>2]|0:i&255)|0)):0){g=f[s>>2]|0;i=q?g:s;e=r?f[d>>2]|0:d;h=(o|0)==0;if(q){if(h)break a;if(!(hj(i,e,o)|0))break a;else break}if(h)break a;if((g&255)<<24>>24==(b[e>>0]|0)){g=p;h=s;do{g=g+-1|0;h=h+1|0;if(!g)break a;e=e+1|0}while((b[h>>0]|0)==(b[e>>0]|0))}}while(0);km(s);a=a+4|0;if((a|0)==(j|0)){a=0;t=14;break}}if((t|0)==14){u=v;return a|0}t=f[a>>2]|0;km(s);u=v;return t|0}function we(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=c+8|0;m=f[n>>2]|0;n=f[n+4>>2]|0;q=c+16|0;o=q;p=f[o>>2]|0;o=f[o+4>>2]|0;e=gm(p|0,o|0,4,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0>>0){a=0;return a|0}l=f[c>>2]|0;g=l+p|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=q;f[i>>2]=e;f[i+4>>2]=d;i=gm(p|0,o|0,8,0)|0;k=I;if((n|0)<(k|0)|(n|0)==(k|0)&m>>>0>>0){a=0;return a|0}d=l+e|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;e=q;f[e>>2]=i;f[e+4>>2]=k;if((g|0)>(d|0)){a=0;return a|0}f[a+12>>2]=g;f[a+16>>2]=d;g=d+(1-g)|0;f[a+20>>2]=g;d=(g|0)/2|0;e=a+24|0;f[e>>2]=d;f[a+28>>2]=0-d;if(!(g&1))f[e>>2]=d+-1;do if((j[c+38>>1]|0)<514){if(!((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>i>>>0)){a=0;return a|0}d=b[l+i>>0]|0;p=gm(p|0,o|0,9,0)|0;f[q>>2]=p;f[q+4>>2]=I;if((d&255)<2){f[a+88>>2]=d&255;break}else{a=0;return a|0}}while(0);a=nd(a+108|0,c)|0;return a|0}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)Ga(16616,16628,110,16720);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))Cf(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){zg(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(b);u=j;return}function ye(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+12|0;l=f[k>>2]|0;g=(f[c>>2]|0)-l|0;i=c+4|0;e=(f[i>>2]|0)-l|0;j=c;f[j>>2]=g;f[j+4>>2]=e;j=f[k>>2]|0;if((j|0)<(g|0))Ga(9849,9150,250,9872);if((j|0)<(e|0))Ga(9884,9150,251,9872);h=0-j|0;if((g|0)<(h|0))Ga(9907,9150,252,9872);if((e|0)<(h|0))Ga(9931,9150,253,9872);if((((e|0)>-1?e:0-e|0)+((g|0)>-1?g:0-g|0)|0)>(j|0)){Pf(b,c,i);g=f[c>>2]|0;e=f[i>>2]|0;h=f[k>>2]|0;i=0}else{h=j;i=1}c=(f[d>>2]|0)+g|0;f[a>>2]=c;e=(f[d+4>>2]|0)+e|0;g=a+4|0;f[g>>2]=e;if((h|0)>=(c|0)){if((c|0)<(0-h|0))c=(f[b+4>>2]|0)+c|0}else c=c-(f[b+4>>2]|0)|0;f[a>>2]=c;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[g>>2]=e;if(i){d=c;b=e;d=d+l|0;l=b+l|0;b=a;a=b;f[a>>2]=d;b=b+4|0;f[b>>2]=l;return}Pf(b,a,g);d=f[a>>2]|0;b=f[g>>2]|0;d=d+l|0;l=b+l|0;b=a;a=b;f[a>>2]=d;b=b+4|0;f[b>>2]=l;return}function ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;Co(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0){nn(a);e=f[i>>2]|0;g=f[a>>2]|0}else g=0;k=e-g|0;g=k<<1;g=k>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)nn(a);e=Nk(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)Yj(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;e=f[n>>2]|0;m=a+4|0;d=f[m>>2]|0;if(e-d>>2>>>0>=b>>>0){Yg(d|0,0,b<<2|0)|0;f[m>>2]=d+(b<<2);return}c=f[a>>2]|0;h=(d-c>>2)+b|0;if(h>>>0>1073741823){nn(a);g=f[a>>2]|0;d=f[m>>2]|0;e=f[n>>2]|0}else g=c;c=d;l=g;k=e-g|0;j=k>>1;h=k>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;j=d-g>>2;do if(h)if(h>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{i=Nk(h<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;Yg(e|0,0,b<<2|0)|0;d=e;k=i+(h<<2)|0;h=i+(j+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));g=f[a>>2]|0;c=f[m>>2]|0}f[a>>2]=d;f[m>>2]=h;f[n>>2]=k;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;Co(g);return}function Be(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+32>>2]|0;h=c+8|0;j=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}h=b[(f[c>>2]|0)+e>>0]|0;c=gm(e|0,d|0,1,0)|0;e=g;f[e>>2]=c;f[e+4>>2]=I;e=a+48|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);switch(h<<24>>24){case 0:{c=Nk(392)|0;Qh(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}case 1:{c=Nk(432)|0;ah(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}case 2:{c=Nk(448)|0;Dg(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}default:i=11}if((i|0)==11){c=f[e>>2]|0;if(!c){j=0;return j|0}}j=Wa[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;return j|0}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;f[a+4>>2]=f[b+4>>2];g=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;h=b+12|0;c=f[h>>2]|0;if(!c)c=0;else{e=a+16|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[g>>2]|0;if(d){Co(d);f[g>>2]=0;f[e>>2]=0;f[a+12>>2]=0;c=f[h>>2]|0}if((c|0)<0)nn(g);d=((c+-1|0)>>>5)+1|0;c=Nk(d<<2)|0;f[g>>2]=c;f[a+12>>2]=0;f[e>>2]=d;d=f[h>>2]|0}else{d=c;c=f[g>>2]|0}Yj(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[h>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){Co(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)nn(h);d=((c+-1|0)>>>5)+1|0;c=Nk(d<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[e>>2]=d;d=f[g>>2]|0}else{d=c;c=f[h>>2]|0}Yj(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((g-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;h=((d-e|0)/12|0)+b|0;if(h>>>0>357913941){nn(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=(g-e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0>>0?h:g):357913941;d=(d-e|0)/12|0;do if(g)if(g>>>0>357913941){k=Ia(4)|0;eo(k);ta(k|0,1112,100)}else{e=Nk(g*12|0)|0;break}else e=0;while(0);i=e+(d*12|0)|0;h=e+(g*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Xe(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;Co(d);return}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+20|0;if(rc(a,b)|0){e=0;return e|0}d=Tb(a,b)|0;b=f[c>>2]|0;f[c>>2]=0;e=f[d>>2]|0;f[d>>2]=b;if(!e){e=1;return e|0}a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;dg(d+8|0);Co(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Co(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}km(d+8|0);Co(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Co(a);Co(e);e=1;return e|0}function Fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;c=Nk(64)|0;j=Nk(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=3380;f[j+8>>2]=h;f[k>>2]=j;gj(c,k);j=c;if((b|0)>=0){h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Ae(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c)a=1;else{Pa[f[(f[c>>2]|0)+4>>2]&127](c);a=1}}else{Pa[f[(f[c>>2]|0)+4>>2]&127](c);a=0}c=f[k>>2]|0;f[k>>2]=0;if(!c){u=l;return a|0}Pa[f[(f[c>>2]|0)+4>>2]&127](c);u=l;return a|0}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Ce(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{ee(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);ee(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);ee(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];te(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function He(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+80|0;g=j;i=j+64|0;wj(g);e=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Jj(5)|0,d)|0;rh(g,e,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=Nk(96)|0;nj(h,g);b[h+84>>0]=1;d=f[h+68>>2]|0;g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);jh(h,c)|0;f[i>>2]=h;Ng(a,i);h=f[i>>2]|0;f[i>>2]=0;if(!h){u=j;return}i=h+88|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}i=h+64|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(h);u=j;return}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3572;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}Zf(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Kg(c);Co(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b)}Kg(e);Co(e);return}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)Ga(17362,17387,63,17464);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))Ga(17469,17387,64,17464);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))zg(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){zg(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Ke(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;d=fj(c,0)|0;if(!d){f[a>>2]=0;u=n;return}l=c+96|0;e=c+100|0;wh(m,((f[e>>2]|0)-(f[l>>2]|0)|0)/12|0);c=f[l>>2]|0;e=(f[e>>2]|0)-c|0;if((e|0)>0){l=d+68|0;k=f[m>>2]|0;j=(b[d+84>>0]|0)==0;i=(e|0)/12|0;h=0;do{d=c+(h*12|0)|0;if(j){o=f[l>>2]|0;e=o+(f[c+(h*12|0)+8>>2]<<2)|0;g=o+(f[c+(h*12|0)+4>>2]<<2)|0;d=o+(f[d>>2]<<2)|0}else{e=c+(h*12|0)+8|0;g=c+(h*12|0)+4|0}g=f[g>>2]|0;o=f[e>>2]|0;f[k+(h*12|0)>>2]=f[d>>2];f[k+(h*12|0)+4>>2]=g;f[k+(h*12|0)+8>>2]=o;h=h+1|0}while((h|0)<(i|0))}hi(a,m);e=f[m>>2]|0;if(e|0){d=m+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0);Co(e)}u=n;return}function Le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;fd(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=c>>>5;Yj(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{e=Nk(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){Kg(d);Co(d)}}while((c|0)!=(e|0));if(!g)return;Co(g);return}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;xe(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){nf(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Oe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=a+4|0;e=f[a>>2]|0;if(!e){f[c>>2]=a;n=a;return n|0}l=b[d+11>>0]|0;k=l<<24>>24<0;l=k?f[d+4>>2]|0:l&255;k=k?f[d>>2]|0:d;while(1){g=e+16|0;d=b[g+11>>0]|0;i=d<<24>>24<0;d=i?f[e+20>>2]|0:d&255;h=d>>>0>>0;a=h?d:l;if((a|0)!=0?(n=hj(k,i?f[g>>2]|0:g,a)|0,(n|0)!=0):0)if((n|0)<0)j=7;else j=9;else if(l>>>0>>0)j=7;else j=9;if((j|0)==7){a=f[e>>2]|0;if(!a){j=8;break}}else if((j|0)==9){j=0;a=l>>>0>>0?l:d;if((a|0)!=0?(m=hj(i?f[g>>2]|0:g,k,a)|0,(m|0)!=0):0){if((m|0)>=0){j=16;break}}else j=11;if((j|0)==11?(0,!h):0){j=16;break}d=e+4|0;a=f[d>>2]|0;if(!a){j=15;break}}e=a}if((j|0)==8){f[c>>2]=e;n=e;return n|0}else if((j|0)==15){f[c>>2]=e;n=d;return n|0}else if((j|0)==16){f[c>>2]=e;n=c;return n|0}return 0}function Pe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=f[c>>2]|0;h=f[a>>2]|0;j=h+(e>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(e&31);j=f[a+64>>2]|0;g=(e|0)<0;c=e+1|0;if(!g?(d=((c|0)%3|0|0)==0?e+-2|0:c,(d|0)>=0):0)c=f[(f[j>>2]|0)+(d<<2)>>2]|0;else c=-1073741824;i=a+12|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g){j=(f[i>>2]|0)+402653184|0;f[j>>2]=f[j>>2]|1;return}c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g)return;d=f[(f[j+12>>2]|0)+(e<<2)>>2]|0;if((d|0)<=-1)return;b[a+24>>0]=0;c=h+(d>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(d&31);c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;a=(f[i>>2]|0)+(c>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;j=(f[i>>2]|0)+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);return}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{Yj(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ia(4)|0;eo(b);ta(b|0,1112,100)}h=Nk(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{Co(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i+4|0;h=i;b=f[b>>2]|0;if((b|0)<0){a=-1073741824;u=i;return a|0}d=a+4|0;c=f[d>>2]|0;e=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((e|0)<0){a=-1073741824;u=i;return a|0}k=b+1|0;f[h>>2]=((k|0)%3|0|0)==0?b+-2|0:k;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=qi(g,c,k)|0;f[h>>2]=(((e>>>0)%3|0|0)==0?2:-1)+e;j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];if((k|0)!=(qi(g,j,c)|0)){k=-1073741824;u=i;return k|0}f[h>>2]=b+(((b>>>0)%3|0|0)==0?2:-1);j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];c=qi(g,j,c)|0;j=e+1|0;f[h>>2]=((j|0)%3|0|0)==0?e+-2|0:j;j=f[d>>2]|0;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=(c|0)!=(qi(g,j,k)|0);k=k?-1073741824:e;u=i;return k|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{Yj(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ia(4)|0;eo(b);ta(b|0,1112,100)}h=Nk(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){Co(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function Te(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0;do if(c){if((j[a+38>>1]|0)>=514){if(Pg(d,a)|0)break;else c=0;return c|0}l=a+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;e=a+16|0;g=e;c=f[g>>2]|0;g=gm(c|0,f[g+4>>2]|0,8,0)|0;k=I;if((l|0)<(k|0)|(l|0)==(k|0)&i>>>0>>0){l=0;return l|0}else{l=(f[a>>2]|0)+c|0;g=l;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;l=l+4|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;k=d;i=k;b[i>>0]=g;b[i+1>>0]=g>>8;b[i+2>>0]=g>>16;b[i+3>>0]=g>>24;k=k+4|0;b[k>>0]=l;b[k+1>>0]=l>>8;b[k+2>>0]=l>>16;b[k+3>>0]=l>>24;k=e;k=gm(f[k>>2]|0,f[k+4>>2]|0,8,0)|0;l=e;f[l>>2]=k;f[l+4>>2]=I;break}}while(0);b[a+36>>0]=1;l=a+16|0;i=f[l>>2]|0;k=(f[a>>2]|0)+i|0;g=a+8|0;l=wl(f[g>>2]|0,f[g+4>>2]|0,i|0,f[l+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=k;f[a+28>>2]=k+l;l=1;return l|0}function Ue(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+4|0;l=n;g=c+4|0;e=f[g>>2]|0;if(!e)Ga(10505,10748,70,10912);h=c+8|0;if(!(f[h>>2]|0))Ga(10505,10748,70,10912);i=f[(f[(f[c+16>>2]|0)+28>>2]|0)+(f[d>>2]<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=i>>>0){mn(d);c=f[d>>2]|0;d=f[g>>2]|0;if(!d)Ga(10505,10748,62,10933);else{k=d;j=c}}else{k=e;j=c}d=f[h>>2]|0;if(!d)Ga(10505,10748,62,10933);d=f[d+(f[j+(i<<2)>>2]<<2)>>2]|0;if(!(b[k+84>>0]|0))d=f[(f[k+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[l>>2]=d;j=b[k+24>>0]|0;f[m>>2]=f[l>>2];wb(k,m,j,a)|0;u=n;return}function Ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+8|0;g=j+4|0;e=j;if(!c){i=0;u=j;return i|0}f[a>>2]=b;f[h>>2]=0;sh(h,b)|0;a:do if(!(f[h>>2]|0))i=8;else{d=0;while(1){sh(g,f[a>>2]|0)|0;b=Nk(44)|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[b+16>>2]=$(1.0);k=b+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[b+36>>2]=$(1.0);f[b+40>>2]=f[g>>2];if(!(xc(a,b)|0))break;f[e>>2]=b;Wh(c,e)|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){Kg(b);Co(b)}d=d+1|0;if(d>>>0>=(f[h>>2]|0)>>>0){i=8;break a}}Kg(b);Co(b);b=0}while(0);if((i|0)==8)b=xc(a,c)|0;k=b;u=j;return k|0}function We(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=hj(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=hj(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ba(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}g=a+184|0;b=f[g>>2]|0;if(b|0){h=a+188|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}h=a+136|0;c=f[h>>2]|0;f[h>>2]=0;if(!c){h=a+120|0;Ho(h);h=a+80|0;Ho(h);h=a+64|0;Ho(h);a=a+24|0;Ho(a);return}d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d);h=a+120|0;Ho(h);h=a+80|0;Ho(h);h=a+64|0;Ho(h);a=a+24|0;Ho(a);return}function Ze(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];Ob(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];Ob(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function _e(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Ga(17186,17202,59,17293);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(17303,17202,60,17293);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Kd(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Nk(44)|0;f[b>>2]=1504;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);f[b>>2]=1560;g=b}f[a>>2]=g;return}function $e(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=c+4|0;e=f[g>>2]|0;if(!e)Ga(10505,10748,70,10912);i=c+8|0;if(!(f[i>>2]|0))Ga(10505,10748,70,10912);d=f[d>>2]|0;if((d|0)<0)h=-1073741824;else h=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;c=f[c+20>>2]|0;d=f[c>>2]|0;if((f[c+4>>2]|0)-d>>2>>>0<=h>>>0){mn(c);e=f[g>>2]|0;d=f[c>>2]|0}c=f[d+(h<<2)>>2]|0;if(!e)Ga(10505,10748,62,10933);d=f[i>>2]|0;if(!d)Ga(10505,10748,62,10933);d=f[d+(c<<2)>>2]|0;if(!(b[e+84>>0]|0))d=f[(f[e+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[j>>2]=d;i=b[e+24>>0]|0;f[k>>2]=f[j>>2];wb(e,k,i,a)|0;u=l;return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+60|0;c=f[i>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+48;if(!(Sa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}g=Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((g|0)>0){h=0;while(1){c=(Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;c=f[c>>2]|0;e=Wa[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;if((e|0)<=-1){d=7;break}d=f[c+8>>2]|0;if(((f[c+12>>2]|0)-d>>2|0)<=(e|0)){d=9;break}c=f[i>>2]|0;h=h+1|0;if(!(Wa[f[(f[c>>2]|0)+8>>2]&127](c,f[d+(e<<2)>>2]|0)|0)){c=0;d=14;break}if((h|0)>=(g|0))break a}if((d|0)==7)Ga(17186,17202,67,17293);else if((d|0)==9)Ga(17303,17202,68,17293);else if((d|0)==14)return c|0}while(0);if(!(Wa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Wa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Sa[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=rm(za(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=rm(za(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function cf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0;d=a+172|0;c=f[d>>2]|0;do if((c|0)==-1){j=f[a+144>>2]|0;j=Sa[f[(f[j>>2]|0)+32>>2]&127](j)|0;if(((h[j+36>>0]<<8|h[j+37>>0])&65535)<514)if(b[a+76>>0]|0){j=a+72|0;d=f[j>>2]|0;g=f[a+64>>2]|0;i=f[a+68>>2]|0;c=g+(d>>>3)|0;if(c>>>0>>0?(c=h[c>>0]|0,e=d+1|0,f[j>>2]=e,(c&1<<(d&7)|0)!=0):0){c=g+(e>>>3)|0;if(c>>>0>>0){e=(h[c>>0]|0)>>>(e&7)&1;d=d+2|0;f[j>>2]=d}else{d=e;e=0}c=g+(d>>>3)|0;if(c>>>0>>0){c=(h[c>>0]|0)>>>(d&7);f[j>>2]=d+1;c=c<<1&2}else c=0;c=(c|e)<<1|1}else c=0}else c=1;else c=7}else{i=(f[a+196>>2]|0)+(c<<2)|0;j=f[i>>2]|0;c=j+-1|0;f[i>>2]=c;if((j|0)<1){a=9;return a|0}else{c=f[3292+(f[(f[(f[a+184>>2]|0)+((f[d>>2]|0)*12|0)>>2]|0)+(c<<2)>>2]<<2)>>2]|0;break}}while(0);f[a+168>>2]=c;a=c;return a|0}function df(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];Pb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];Pb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l;i=a+4|0;f[i>>2]=0;if(!c){u=l;return}h=a+8|0;e=f[h>>2]|0;if(e<<5>>>0>>0){f[k>>2]=0;j=k+4|0;f[j>>2]=0;g=k+8|0;f[g>>2]=0;if((c|0)<0){nn(a);e=f[h>>2]|0}m=e<<6;n=c+31&-32;ig(k,e<<5>>>0<1073741823?(m>>>0>>0?n:m):2147483647);e=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=e;k=f[i>>2]|0;f[i>>2]=c;f[j>>2]=k;k=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=k;if(e|0)Co(e)}else f[i>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){Yg(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=l;return}else{Yg(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=l;return}}function ff(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function gf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;c=f[k>>2]|0;l=a+16|0;if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}d=f[l>>2]|0;if(!d){l=f[l>>2]|0;return l|0}a=d+84|0;if(!(b[a>>0]|0)){l=f[l>>2]|0;return l|0}i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>2;b[a>>0]=0;h=d+68|0;e=d+72|0;d=f[e>>2]|0;a=f[h>>2]|0;g=d-a>>2;if(i>>>0<=g>>>0){if(i>>>0>>0?(j=a+(i<<2)|0,(d|0)!=(j|0)):0)f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2)}else{jf(h,i-g|0,1372);c=f[k>>2]|0}if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}k=f[c+68>>2]|0;g=k;k=(f[c+72>>2]|0)-k|0;d=k>>2;if((k|0)<=0){l=f[l>>2]|0;return l|0}c=f[l>>2]|0;e=(b[c+84>>0]|0)==0;c=c+68|0;a=0;while(1){if(!e){c=14;break}f[(f[c>>2]|0)+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0;if((a|0)>=(d|0)){c=15;break}}if((c|0)==14)Ga(14872,14891,89,14985);else if((c|0)==15){l=f[l>>2]|0;return l|0}return 0}function hf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(Zm(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Zm(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Oa[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Va[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else ok(0,c,d,e);while(0);return}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=f[k>>2]|0;l=a+4|0;h=f[l>>2]|0;g=h;if(e-h>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[l>>2]=g+(b<<2);return}d=f[a>>2]|0;g=(h-d>>2)+b|0;if(g>>>0>1073741823){nn(a);d=f[a>>2]|0;e=f[k>>2]|0;j=f[l>>2]|0}else j=h;i=e-d|0;e=i>>1;g=i>>2>>>0<536870911?(e>>>0>>0?g:e):1073741823;e=j-d>>2;do if(g)if(g>>>0>1073741823){b=Ia(4)|0;eo(b);ta(b|0,1112,100)}else{h=Nk(g<<2)|0;break}else h=0;while(0);i=h+(e<<2)|0;h=h+(g<<2)|0;e=i;g=b;while(1){f[e>>2]=f[c>>2];g=g+-1|0;if(!g)break;else e=e+4|0}g=j-d|0;e=i+(0-(g>>2)<<2)|0;if((g|0)>0)Xe(e|0,d|0,g|0)|0;f[a>>2]=e;f[l>>2]=i+(b<<2);f[k>>2]=h;if(!d)return;Co(d);return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;e=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(e-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=f[a>>2]|0;g=(c-d>>3)+b|0;if(g>>>0>536870911){nn(a);d=f[a>>2]|0;e=f[i>>2]|0;c=f[j>>2]|0}h=e-d|0;e=h>>2;e=h>>3>>>0<268435455?(e>>>0>>0?g:e):536870911;c=c-d>>3;do if(e)if(e>>>0>536870911){j=Ia(4)|0;eo(j);ta(j|0,1112,100)}else{d=Nk(e<<3)|0;break}else d=0;while(0);h=d+(c<<3)|0;g=d+(e<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Xe(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;Co(c);return}function lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+8|0;g=h+4|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=oc(a,e,g,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=Nk(40)|0;cj(e+16|0,d);cj(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}pd(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+16|0;d=e;switch(b<<24>>24){case 0:{b=Nk(44)|0;c=b;d=c+44|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Xj(b);f[b>>2]=3492;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=b;u=e;return}case 1:{b=Nk(44)|0;c=b;d=c+44|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Xj(b);f[b>>2]=3448;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=b;u=e;return}default:{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kh(d,14642,28);f[c>>2]=-1;b=c+4|0;cj(b,d);f[a>>2]=f[c>>2];cj(a+4|0,b);f[a+16>>2]=0;km(b);km(d);u=e;return}}}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;d=f[j>>2]|0;k=a+4|0;g=f[k>>2]|0;e=g;if(d-g>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[k>>2]=e+(b<<2);return}c=f[a>>2]|0;e=(g-c>>2)+b|0;if(e>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[j>>2]|0;i=f[k>>2]|0}else i=g;h=d-c|0;d=h>>1;e=h>>2>>>0<536870911?(d>>>0>>0?e:d):1073741823;d=i-c>>2;do if(e)if(e>>>0>1073741823){b=Ia(4)|0;eo(b);ta(b|0,1112,100)}else{g=Nk(e<<2)|0;break}else g=0;while(0);h=g+(d<<2)|0;g=g+(e<<2)|0;d=h;e=b;while(1){f[d>>2]=1;e=e+-1|0;if(!e)break;else d=d+4|0}e=i-c|0;d=h+(0-(e>>2)<<2)|0;if((e|0)>0)Xe(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=h+(b<<2);f[j>>2]=g;if(!c)return;Co(c);return}function of(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Ga(17186,17202,59,17293);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(17303,17202,60,17293);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Sc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Nk(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=2404;g=b}f[a>>2]=g;return}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;c=f[m>>2]|0;d=f[a>>2]|0;g=((c-d|0)/12|0)+1|0;if(g>>>0>357913941){nn(a);c=f[m>>2]|0;d=f[a>>2]|0}k=d;e=c;l=a+8|0;j=((f[l>>2]|0)-d|0)/12|0;i=j<<1;g=j>>>0<178956970?(i>>>0>>0?g:i):357913941;i=(c-d|0)/12|0;do if(g)if(g>>>0>357913941){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{h=Nk(g*12|0)|0;break}else h=0;while(0);c=h+(i*12|0)|0;j=h+(g*12|0)|0;f[c>>2]=f[b>>2];f[h+(i*12|0)+4>>2]=f[b+4>>2];f[h+(i*12|0)+8>>2]=f[b+8>>2];g=c+12|0;if((e|0)!=(k|0))do{b=e;e=e+-12|0;f[c+-12>>2]=f[e>>2];f[c+-8>>2]=f[b+-8>>2];f[c+-4>>2]=f[b+-4>>2];c=c+-12|0}while((e|0)!=(k|0));f[a>>2]=c;f[m>>2]=g;f[l>>2]=j;if(!d)return;Co(d);return}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Ta[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Co(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}Co(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0;if((Sa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}g=a+4|0;i=0;while(1){e=f[(f[g>>2]|0)+4>>2]|0;e=Tj(e,Wa[f[(f[b>>2]|0)+24>>2]&127](b,i)|0)|0;if((e|0)==-1){a=0;c=12;break}a=f[g>>2]|0;d=f[(f[b>>2]|0)+28>>2]|0;if(((h[a+36>>0]|0)<<8&65535)<512){a=f[a+4>>2]|0;if((e|0)<=-1){c=6;break}c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)<=(e|0)){c=8;break}if(!(Wa[d&127](b,f[c+(e<<2)>>2]|0)|0)){a=0;c=12;break}}else{e=Zi(a,e)|0;if(!(Wa[d&127](b,e)|0)){a=0;c=12;break}}i=i+1|0;if((i|0)>=(Sa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=12;break}}if((c|0)==6)Ga(17186,17202,67,17293);else if((c|0)==8)Ga(17303,17202,68,17293);else if((c|0)==12)return a|0;return 0}function sf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Ga(17186,17202,59,17293);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(17303,17202,60,17293);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){$c(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Nk(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=2628;g=b}f[a>>2]=g;return}function tf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((Ab(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=Io(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=Ab(a,c,m,p,q)|0;if(d){Na[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=Ab(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)Ho(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;l=m;if(!(Ad(a,b)|0)){a=0;u=m;return a|0}i=b+8|0;j=f[i>>2]|0;i=f[i+4>>2]|0;g=b+16|0;d=g;c=f[d>>2]|0;d=gm(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((i|0)<(e|0)|(i|0)==(e|0)&j>>>0>>0){a=0;u=m;return a|0}c=(f[b>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;j=g;f[j>>2]=d;f[j+4>>2]=e;if((c|0)<0){a=0;u=m;return a|0}j=a+152|0;g=(f[j>>2]|0)+c|0;f[j>>2]=g;j=a+156|0;f[l>>2]=0;e=a+160|0;d=f[e>>2]|0;c=f[j>>2]|0;i=d-c>>2;if(g>>>0<=i>>>0){if(g>>>0>>0?(k=c+(g<<2)|0,(d|0)!=(k|0)):0)f[e>>2]=d+(~((d+-4-k|0)>>>2)<<2)}else jf(j,g-i|0,l);a=nd(a+168|0,b)|0;u=m;return a|0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=1048576){if((i|0)!=1048576?(h=d+4194304|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,1048576-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>1048576){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==1048576;return k|0}function wf(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Zm(m,e,0)|0){f[o+48>>2]=1;Va[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Oa[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{lg(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(Fb(a,n)|0)){a=0;u=o;return a|0}yb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=524288){if((i|0)!=524288?(h=d+2097152|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,524288-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>524288){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==524288;return k|0}function zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=262144){if((i|0)!=262144?(h=d+1048576|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,262144-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>262144){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==262144;return k|0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=65536){if((i|0)!=65536?(h=d+262144|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,65536-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>65536){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==65536;return k|0}function Bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=32768){if((i|0)!=32768?(h=d+131072|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,32768-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>32768){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==32768;return k|0}function Cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){ge(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Co(d)}Co(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Co(d)}Co(c)}Co(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=8192){if((i|0)!=8192?(h=d+32768|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,8192-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>8192){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==8192;return k|0}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=4096){if((i|0)!=4096?(h=d+16384|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,4096-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>4096){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==4096;return k|0}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{lg(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function Gf(a,c,d){a=a|0;c=c|0;d=d|0;a=rc(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=8){d=0;return d|0}a=c;b[s>>0]=b[a>>0];b[s+1>>0]=b[a+1>>0];b[s+2>>0]=b[a+2>>0];b[s+3>>0]=b[a+3>>0];b[s+4>>0]=b[a+4>>0];b[s+5>>0]=b[a+5>>0];b[s+6>>0]=b[a+6>>0];b[s+7>>0]=b[a+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];d=1;return d|0}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)jn(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{sm(a,d,(e&255)+1|0)|0;Co(d);g=15}}else{c=Nk(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{sm(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){sm(c,d,(f[a+4>>2]|0)+1|0)|0;Co(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function If(a){a=a|0;Yn(a);Yn(a+16|0);Yn(a+32|0);Yn(a+48|0);Yn(a+64|0);Yn(a+80|0);Yn(a+96|0);Yn(a+112|0);Yn(a+128|0);Yn(a+144|0);Yn(a+160|0);Yn(a+176|0);Yn(a+192|0);Yn(a+208|0);Yn(a+224|0);Yn(a+240|0);Yn(a+256|0);Yn(a+272|0);Yn(a+288|0);Yn(a+304|0);Yn(a+320|0);Yn(a+336|0);Yn(a+352|0);Yn(a+368|0);Yn(a+384|0);Yn(a+400|0);Yn(a+416|0);Yn(a+432|0);Yn(a+448|0);Yn(a+464|0);Yn(a+480|0);Yn(a+496|0);return}function Jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=$m(f[a+8>>2]|0,o)|0;e=$m(f[a+12>>2]|0,o)|0;g=$m(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=$m(f[a+(g<<2)>>2]|0,o)|0;g=$m(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Aj(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=$m(f[a+(e<<2)>>2]|0,o)|0;e=$m(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0;l=b+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;m=b+16|0;c=m;g=f[c>>2]|0;c=f[c+4>>2]|0;d=gm(g|0,c|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&i>>>0>>0){a=0;return a|0}k=(f[b>>2]|0)+g|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;n=m;f[n>>2]=d;f[n+4>>2]=e;do if((j[b+38>>1]|0)<514){c=gm(g|0,c|0,8,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&i>>>0>>0){n=0;return n|0}else{n=m;f[n>>2]=c;f[n+4>>2]=d;break}}while(0);if(((k|0)%2|0|0)!=1)Ga(10067,10100,67,10260);d=(_(k|0)|0)^31;c=d+1|0;if(!d)Ga(9139,9150,60,9265);if(c>>>0>=31)Ga(9285,9150,61,9265);f[a>>2]=c;n=2<>2]=n+-1;n=n+-2|0;f[a+8>>2]=n;f[a+12>>2]=(n|0)/2|0;n=1;return n|0}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;If(a+12|0);Yn(a+524|0);Tl(a+540|0);Tl(a+560|0);Tl(a+580|0);f[i>>2]=0;Jh(a+600|0,b,i);f[i>>2]=0;Jh(a+612|0,b,i);g=b<<5|1;f[h>>2]=0;Jh(i,b,h);Eh(a+624|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[h>>2]=0;Jh(i,b,h);Eh(a+636|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);u=j;return}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=hj(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=hj(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;k=b+8|0;i=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;g=gm(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){a=0;return a|0}b=f[b>>2]|0;j=b+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;m=l;f[m>>2]=g;f[m+4>>2]=d;c=gm(e|0,c|0,8,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){m=0;return m|0}b=b+g|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;m=l;f[m>>2]=c;f[m+4>>2]=d;if((j|0)>(b|0)){m=0;return m|0}f[a+12>>2]=j;f[a+16>>2]=b;m=b+(1-j)|0;f[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;f[c>>2]=b;f[a+28>>2]=0-b;if(m&1|0){m=1;return m|0}f[c>>2]=b+-1;m=1;return m|0}function Of(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;h=Nk(32)|0;f[a>>2]=h;f[a+4>>2]=c+8;g=a+8|0;b[g>>0]=0;i=h+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=h+20|0;j=e+12|0;f[i>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;h=f[j>>2]|0;c=(f[e+16>>2]|0)-h|0;if(!c){i=0;j=h;Xe(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}mg(i,c);i=f[i>>2]|0;j=f[j>>2]|0;Xe(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))Ga(9955,9150,259,9979);d=f[c>>2]|0;if((d|0)>(e|0))Ga(9993,9150,260,9979);a=0-e|0;if((i|0)<(a|0))Ga(10017,9150,261,9979);if((d|0)<(a|0))Ga(10042,9150,262,9979);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function Qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+32|0;g=h+8|0;e=h;switch(d|0){case 2:{i=f[b+12>>2]|0;d=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;sf(e,c,i,d,g);f[a>>2]=f[e>>2];u=h;return}case 3:{d=f[b+12>>2]|0;i=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;of(e,c,d,i,g);f[a>>2]=f[e>>2];u=h;return}default:{f[a>>2]=0;u=h;return}}}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){kc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;kc(a,b);return}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Nd(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*116|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-116;c=f[e+-12>>2]|0;if(c|0){d=e+-8|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}c=f[e+-28>>2]|0;if(c|0){d=e+-24|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}c=f[e+-40>>2]|0;if(c|0){d=e+-36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}xh(e+-112|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;Tl(a+12|0);Tl(a+32|0);Tl(a+52|0);Tl(a+72|0);f[i>>2]=0;Jh(a+92|0,b,i);f[i>>2]=0;Jh(a+104|0,b,i);g=b<<5|1;f[h>>2]=0;Jh(i,b,h);Eh(a+116|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[h>>2]=0;Jh(i,b,h);Eh(a+128|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);u=j;return}function Uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;Yn(a+12|0);Tl(a+28|0);Tl(a+48|0);Tl(a+68|0);f[i>>2]=0;Jh(a+88|0,b,i);f[i>>2]=0;Jh(a+100|0,b,i);g=b<<5|1;f[h>>2]=0;Jh(i,b,h);Eh(a+112|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[h>>2]=0;Jh(i,b,h);Eh(a+124|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);u=j;return}function Vf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1384;e=a+60|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b)}f[a>>2]=1224;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function Wf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}Co(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Co(b);return}function Xf(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;e=f[l>>2]|0;g=b[e+24>>0]|0;k=g<<24>>24;n=k<<1;m=zo(k>>>0>2147483647?-1:k<<1)|0;j=f[a+16>>2]|0;j=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){Ao(m);return}if(g<<24>>24>0){e=0;g=0;h=0;while(1){a=0;i=h;while(1){d[m+(a<<1)>>1]=f[j+(i<<2)>>2];a=a+1|0;if((a|0)==(k|0))break;else i=i+1|0}Xe((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+g|0,m|0,n|0)|0;e=e+1|0;if((e|0)==(c|0))break;else{g=g+n|0;h=k+h|0}}Ao(m);return}else{Xe(f[f[e+64>>2]>>2]|0,m|0,n|0)|0;if((c|0)==1){Ao(m);return}else{a=1;e=0}do{e=e+n|0;Xe((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+e|0,m|0,n|0)|0;a=a+1|0}while((a|0)!=(c|0));Ao(m);return}}function Yf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+8|0;d=f[k>>2]|0;e=b[d+24>>0]|0;j=e<<24>>24;m=j<<2;l=zo(j>>>0>1073741823?-1:j<<2)|0;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;if(!c){Ao(l);return}if(e<<24>>24>0){d=0;e=0;g=0;while(1){a=0;h=g;while(1){f[l+(a<<2)>>2]=f[i+(h<<2)>>2];a=a+1|0;if((a|0)==(j|0))break;else h=h+1|0}Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,l|0,m|0)|0;d=d+1|0;if((d|0)==(c|0))break;else{e=e+m|0;g=j+g|0}}Ao(l);return}else{Xe(f[f[d+64>>2]>>2]|0,l|0,m|0)|0;if((c|0)==1){Ao(l);return}else{a=1;d=0}do{d=d+m|0;Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+d|0,l|0,m|0)|0;a=a+1|0}while((a|0)!=(c|0));Ao(l);return}}function Zf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Co(b);return}function _f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=La;n=u;u=u+32|0;j=n+16|0;m=n;k=a+8|0;l=b[(f[k>>2]|0)+24>>0]<<2;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;a=f[a+24>>2]|0;if((a|0)<=1)Ga(9139,9150,60,9265);if((a|0)>=31)Ga(9285,9150,61,9265);f[m>>2]=a;a=1<>2]=a+-1;a=a+-2|0;h=m+8|0;f[h>>2]=a;f[m+12>>2]=(a|0)/2|0;if(!c){u=n;return 1}d=0;e=0;g=0;while(1){o=$($(1.0)/$(a|0));je(m,$($(f[i+(g<<2)>>2]|0)*o),$($(f[i+((g|1)<<2)>>2]|0)*o),j);Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,j|0,l|0)|0;d=d+1|0;if((d|0)==(c|0))break;a=f[h>>2]|0;e=e+l|0;g=g+2|0}u=n;return 1}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;g=f[c>>2]|0;c=f[c+4>>2]|0;d=gm(g|0,c|0,4,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0)return 0;i=(f[b>>2]|0)+g|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=l;f[b>>2]=d;f[b+4>>2]=e;b=gm(g|0,c|0,8,0)|0;c=I;if((k|0)<(c|0)|(k|0)==(c|0)&j>>>0>>0)return 0;f[l>>2]=b;f[l+4>>2]=c;if(((i|0)%2|0|0)!=1)Ga(10067,10100,67,10260);c=(_(i|0)|0)^31;b=c+1|0;if(!c)Ga(9139,9150,60,9265);if(b>>>0<31){f[a>>2]=b;l=2<>2]=l+-1;l=l+-2|0;f[a+8>>2]=l;f[a+12>>2]=(l|0)/2|0;return (c+-1|0)>>>0<29|0}else Ga(9285,9150,61,9265);return 0}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m+16|0;i=m+8|0;j=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))Ga(9382,9427,69,9605);e=f[b+4>>2]|0;if((e|0)>(k|0))Ga(9626,9427,70,9605);g=f[c>>2]|0;if((g|0)>(k|0))Ga(9671,9427,71,9605);b=f[c+4>>2]|0;if((b|0)>(k|0))Ga(9716,9427,72,9605);if((h|0)<=-1)Ga(9761,9427,74,9605);if((e|0)<=-1)Ga(9783,9427,75,9605);if((g|0)<=-1)Ga(9805,9427,76,9605);if((b|0)>-1){f[i>>2]=h;f[i+4>>2]=e;f[j>>2]=g;f[j+4>>2]=b;jd(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else Ga(9827,9427,77,9605)}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){wc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;wc(a,b);return}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function dg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+12|0;g=f[e>>2]|0;f[e>>2]=0;if(!g){km(a);return}b=f[g+28>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;dg(e+8|0);Co(e)}while((b|0)!=0);e=g+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Co(b);b=f[g+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}km(e+8|0);Co(e)}while((b|0)!=0);b=f[g>>2]|0;f[g>>2]=0;if(b|0)Co(b);Co(g);km(a);return}function eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;j=m+16|0;l=m+8|0;i=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))Ga(9382,12841,65,9605);e=f[b+4>>2]|0;if((e|0)>(k|0))Ga(9626,12841,66,9605);g=f[c>>2]|0;if((g|0)>(k|0))Ga(9671,12841,67,9605);b=f[c+4>>2]|0;if((b|0)>(k|0))Ga(9716,12841,68,9605);if((h|0)<=-1)Ga(9761,12841,70,9605);if((e|0)<=-1)Ga(9783,12841,71,9605);if((g|0)<=-1)Ga(9805,12841,72,9605);if((b|0)>-1){f[j>>2]=g;f[j+4>>2]=b;f[i>>2]=h;f[i+4>>2]=e;ye(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else Ga(9827,12841,73,9605)}function fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=Nk(36)|0;_m(c);j=c;if((b|0)<0){Pa[f[(f[c>>2]|0)+4>>2]&127](c);j=0;return j|0}h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Ae(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c){j=1;return j|0}Pa[f[(f[c>>2]|0)+4>>2]&127](c);j=1;return j|0}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=((d-c|0)/12|0)+1|0;if(e>>>0>357913941){nn(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=((f[j>>2]|0)-c|0)/12|0;h=i<<1;h=i>>>0<178956970?(h>>>0>>0?e:h):357913941;e=(d-c|0)/12|0;do if(h)if(h>>>0>357913941){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{i=Nk(h*12|0)|0;break}else i=0;while(0);g=i+(e*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];e=d-c|0;d=g+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Xe(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+12;f[j>>2]=i+(h*12|0);if(!c)return;Co(c);return}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+16|0;d=e;switch(b<<24>>24){case 0:{d=Nk(48)|0;qn(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}case 1:{d=Nk(52)|0;ym(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}default:{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kh(d,14642,28);f[c>>2]=-1;b=c+4|0;cj(b,d);f[a>>2]=f[c>>2];cj(a+4|0,b);f[a+16>>2]=0;km(b);km(d);u=e;return}}}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)nn(i);l=((b+-1|0)>>>5)+1|0;k=Nk(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Le(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)Co(b);u=j;return}function jg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+224|0;j=a+228|0;d=f[k>>2]|0;if((f[j>>2]|0)==(d|0)){l=0;return l|0}g=a+4|0;e=0;a:while(1){a=f[d+(e*116|0)>>2]|0;if(((a|0)>=0?(d=f[g>>2]|0,h=f[d+8>>2]|0,(a|0)<((f[d+12>>2]|0)-h>>2|0)):0)?(i=f[h+(a<<2)>>2]|0,(Sa[f[(f[i>>2]|0)+24>>2]&127](i)|0)>0):0){a=0;do{if((Wa[f[(f[i>>2]|0)+20>>2]&127](i,a)|0)==(c|0))break a;a=a+1|0}while((a|0)<(Sa[f[(f[i>>2]|0)+24>>2]&127](i)|0))}a=e+1|0;d=f[k>>2]|0;if(a>>>0>=(((f[j>>2]|0)-d|0)/116|0)>>>0){a=0;l=11;break}else e=a}if((l|0)==11)return a|0;l=f[k>>2]|0;l=(b[l+(e*116|0)+72>>0]|0)==0?0:l+(e*116|0)+4|0;return l|0}function kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(f[b+4>>2]|0)-(f[b>>2]|0)|0;l=k>>2;g=a+8|0;e=f[(f[g>>2]|0)+40>>2]|0;m=zo((e|0)>-1?e:-1)|0;h=c+8|0;if((k|0)<=0){c=1;Ao(m);return c|0}k=c+16|0;i=0;j=0;while(1){o=h;n=f[o>>2]|0;o=f[o+4>>2]|0;a=k;b=f[a>>2]|0;a=gm(b|0,f[a+4>>2]|0,e|0,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0){b=0;a=5;break}Xe(m|0,(f[c>>2]|0)+b|0,e|0)|0;o=k;f[o>>2]=a;f[o+4>>2]=d;Xe((f[f[(f[g>>2]|0)+64>>2]>>2]|0)+j|0,m|0,e|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+e|0}if((a|0)==5){Ao(m);return b|0}return 0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;d=f[k>>2]|0;j=a+4|0;e=f[j>>2]|0;if(d-e>>2>>>0>=b>>>0){Yg(e|0,0,b<<2|0)|0;f[j>>2]=e+(b<<2);return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[k>>2]|0;e=f[j>>2]|0}d=d-c|0;h=d>>1;h=d>>2>>>0<536870911?(h>>>0>>0?g:h):1073741823;d=e-c>>2;do if(h)if(h>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{i=Nk(h<<2)|0;break}else i=0;while(0);g=i+(d<<2)|0;Yg(g|0,0,b<<2|0)|0;e=e-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Xe(d|0,c|0,e|0)|0;f[a>>2]=d;f[j>>2]=g+(b<<2);f[k>>2]=i+(h<<2);if(!c)return;Co(c);return}function mg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((g-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}e=f[a>>2]|0;h=d-e+c|0;if((h|0)<0){nn(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=g-e|0;g=i<<1;g=i>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if(!g)h=0;else h=Nk(g)|0;i=h+(d-e)|0;h=h+g|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Xe(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;Co(d);return}function ng(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)jn(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=Nk(l)|0;if(g|0)sm(k,m,g)|0;if(i|0)sm(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)sm(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Co(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;sn(k+m|0,n);u=o;return}function og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(mj(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Na[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Na[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Xe(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=Oe(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=Nk(40)|0;cj(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}pd(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function qg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;j=u;u=u+16|0;i=j;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){k=d+8|0;l=f[k+4>>2]|0;g=d+16|0;e=g;c=f[e>>2]|0;e=f[e+4>>2]|0;if((l|0)>(e|0)|((l|0)==(e|0)?(f[k>>2]|0)>>>0>c>>>0:0)){l=b[(f[d>>2]|0)+c>>0]|0;k=gm(c|0,e|0,1,0)|0;c=g;f[c>>2]=k;f[c+4>>2]=I;c=l&255;f[a+24>>2]=c;break}else{l=0;u=j;return l|0}}else c=f[a+24>>2]|0;while(0);f[i>>2]=1168;f[i+4>>2]=-1;cn(i,c);l=Gi(i,f[a+16>>2]|0)|0;u=j;return l|0}function rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+224|0;h=a+228|0;c=f[i>>2]|0;a:do if((f[h>>2]|0)!=(c|0)){j=a+4|0;d=0;b:while(1){c=f[c+(d*116|0)>>2]|0;if(((c|0)>=0?(k=f[j>>2]|0,e=f[k+8>>2]|0,(c|0)<((f[k+12>>2]|0)-e>>2|0)):0)?(g=f[e+(c<<2)>>2]|0,(Sa[f[(f[g>>2]|0)+24>>2]&127](g)|0)>0):0){c=0;do{if((Wa[f[(f[g>>2]|0)+20>>2]&127](g,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Sa[f[(f[g>>2]|0)+24>>2]&127](g)|0))}d=d+1|0;c=f[i>>2]|0;if(d>>>0>=(((f[h>>2]|0)-c|0)/116|0)>>>0)break a}k=(f[i>>2]|0)+(d*116|0)+76|0;return k|0}while(0);k=a+196|0;return k|0}function sg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{f[h>>2]=b+-116;c=f[b+-12>>2]|0;if(c|0){e=b+-8|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[b+-28>>2]|0;if(c|0){e=b+-24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[b+-40>>2]|0;if(c|0){e=b+-36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}xh(b+-112|0);b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Co(b);return}function tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;d=g;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Sa[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=g;return e|0}f[d>>2]=1196;f[d+4>>2]=-1;c=d+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;rj(d,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));e=Gi(d,f[a+16>>2]|0)|0;f[d>>2]=1196;a=f[c>>2]|0;if(a|0){c=d+12|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Co(a)}u=g;return e|0}function ug(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-116;d=f[c+-12>>2]|0;if(d|0){g=c+-8|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}d=f[c+-28>>2]|0;if(d|0){g=c+-24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}d=f[c+-40>>2]|0;if(d|0){g=c+-36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}xh(c+-112|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Co(b);return}function vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+140|0;b=f[h>>2]|0;if((b|0)<=0){a=1;return a|0}d=b<<4;d=zo(b>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<4)|0;b=d;do{Yn(b);b=b+16|0}while((b|0)!=(c|0));g=a+136|0;e=f[g>>2]|0;f[g>>2]=d;if(e|0){c=e+-4|0;b=f[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(e|0))}Ao(c)}if((f[h>>2]|0)<=0){a=1;return a|0}b=0;while(1){if(!(nd((f[g>>2]|0)+(b<<4)|0,a)|0)){b=0;c=13;break}b=b+1|0;if((b|0)>=(f[h>>2]|0)){b=1;c=13;break}}if((c|0)==13)return b|0;return 0}function wg(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Kk()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1154];ql(20386,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Na[f[(f[262]|0)+16>>2]&31](1048,d,e)|0;b=f[1154]|0;if(d){i=f[e>>2]|0;i=Sa[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;ql(20300,g)}else{f[i>>2]=b;f[i+4>>2]=a;ql(20345,i)}}ql(20424,h)}function xg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!($f(a+8|0,c)|0)){a=0;return a|0}do if((j[c+38>>1]|0)<514){e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=gm(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)<2){f[a+68>>2]=e&255;break}else{i=0;return i|0}}while(0);i=nd(a+88|0,c)|0;return i|0}function yg(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+4>>2]=3160;b=f[a+24>>2]|0;if(b|0)Co(b);b=f[a+12>>2]|0;if(!b)return;Co(b);return}function zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=(f[j>>2]|0)-c|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;e=d-c>>2;do if(h)if(h>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{i=Nk(h<<2)|0;break}else i=0;while(0);g=i+(e<<2)|0;f[g>>2]=f[b>>2];e=d-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Xe(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+4;f[j>>2]=i+(h<<2);if(!c)return;Co(c);return}function Ag(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!(Kf(a+8|0,c)|0)){a=0;return a|0}do if((j[c+38>>1]|0)<514){e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=gm(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)<2){f[a+68>>2]=e&255;break}else{i=0;return i|0}}while(0);i=nd(a+88|0,c)|0;return i|0}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=Yk(e,g+1|0,20297,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;vh(c,g,0);e=b[h>>0]|0}vh(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function Cg(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(yo()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=oo()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=oo()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Dg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3252;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));mk(b);d=a+388|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[a+408>>2]=-1;f[a+412>>2]=-1;f[a+416>>2]=2;f[a+420>>2]=7;d=a+424|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;return}function Eg(a){a=a|0;var b=0,c=0,d=0,e=0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;Eg(d+20|0);km(d+8|0);Co(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Co(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}km(d+8|0);Co(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Co(a);Co(e);return}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=u;u=u+80|0;i=j;g=j+56|0;e=j+40|0;d=i;c=d+40|0;do{f[d>>2]=f[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));bc(e,i,g);b=f[e>>2]|0;if(!b){km(e+4|0);g=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=g;i=i+24|0;Ho(i);u=j;return}else{f[a>>2]=b;g=e+4|0;cj(a+4|0,g);km(g);i=i+24|0;Ho(i);u=j;return}}function Gg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;ef(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;ef(a+12|0,j,d);be(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,3560);Nh(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Nh(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function Hg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=a+8|0;b=f[j>>2]|0;if((b|0)<0){j=0;return j|0}i=a+4|0;a=f[i>>2]|0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+(b<<2)|0,(d|0)!=(h|0)):0)f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2)}else{lg(a,b-g|0);b=f[j>>2]|0}if((b|0)>0)d=0;else{j=1;return j|0}do{a=f[i>>2]|0;c=f[a>>2]|0;if((f[a+4>>2]|0)-c>>2>>>0<=d>>>0){mn(a);c=f[a>>2]|0;b=f[j>>2]|0}f[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(b|0));b=1;return b|0}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+32|0;e=h+12|0;g=h;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,b,Sh(b)|0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Kh(g,c,Sh(c)|0);b=f[a+4>>2]|0;if((b|0)!=0?(d=ve(b,e,g)|0,(d|0)!=0):0)b=Vi(a,f[d+40>>2]|0)|0;else b=-1;km(g);km(e);u=h;return b|0}function Jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;if((d|0)!=1){f[a>>2]=0;u=j;return}g=f[b+12>>2]|0;d=f[b+4>>2]|0;b=h;e=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(e|0));_e(i,c,g,d,h);e=f[h+24>>2]|0;if(e|0){b=h+28|0;d=f[b>>2]|0;if((d|0)!=(e|0))f[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e)}f[a>>2]=f[i>>2];u=j;return}function Kg(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+28>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;e=c+20|0;d=f[e>>2]|0;f[e>>2]=0;if(d|0){Kg(d);Co(d)}km(c+8|0);Co(c)}while((b|0)!=0);e=a+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Co(b);b=f[a+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}km(e+8|0);Co(e)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Co(b);return}function Lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(b>>>0<64){e=f[a+8>>2]|0;if(e>>>0<=1){h=0;return h|0}b=f[c>>2]|0;c=1;d=0;do{d=(f[b+(d<<2)>>2]|0)>>>0>(f[b+(c<<2)>>2]|0)>>>0?c:d;c=c+1|0}while(c>>>0>>0);return d|0}h=a+576|0;g=f[h>>2]|0;e=32-g|0;c=a+572|0;b=f[c>>2]|0;d=f[b>>2]<>2]=a;g=b+4|0;f[c>>2]=g;h=32-a|0;h=(f[g>>2]|0)>>>h|d>>>(h-e|0);return h|0}d=d>>>28;g=g+4|0;f[h>>2]=g;if((g|0)!=32){h=d;return h|0}f[c>>2]=b+4;f[h>>2]=0;h=d;return h|0}function Mg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>e>>>0:0)){k=b[(f[d>>2]|0)+e>>0]|0;g=gm(e|0,g|0,1,0)|0;j=i;f[j>>2]=g;f[j+4>>2]=I;f[a+24>>2]=k&255;break}else{k=0;return k|0}}while(0);k=ic(a,c,d)|0;return k|0}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Co(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}Co(d);return}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+32|0;d=g+12|0;e=g;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kh(d,b,Sh(b)|0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,17357,4);b=f[a+4>>2]|0;if((b|0)!=0?(c=ve(b,e,d)|0,(c|0)!=0):0)b=Vi(a,f[c+40>>2]|0)|0;else b=-1;km(e);km(d);u=g;return b|0}function Pg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=gm(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do if(e<<24>>24<0)if(Pg(a,c)|0){d=a;d=nl(f[d>>2]|0,f[d+4>>2]|0,7)|0;i=I;h=a;f[h>>2]=d;f[h+4>>2]=i;d=d|e&127;e=i;break}else{i=0;return i|0}else{d=e&255;e=0}while(0);i=a;f[i>>2]=d;f[i+4>>2]=e;i=1;return i|0}function Qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}k=f[i>>2]|0;e=Nk(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;Co(g);return}function Rg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=4104;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=oo()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=tf(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function Sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;om(e,c,d)|0;b[j>>0]=0;sn(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;ng(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Tg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;if(!d){a=0;return a|0}e=f[c>>2]|0;if(!e){a=0;return a|0}g=f[e>>2]|0;hh(d,g,(f[e+4>>2]|0)-g|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;e=c+40|0;d=f[e+4>>2]|0;g=a+40|0;f[g>>2]=f[e>>2];f[g+4>>2]=d;g=c+48|0;d=f[g+4>>2]|0;e=a+48|0;f[e>>2]=f[g>>2];f[e+4>>2]=d;f[a+56>>2]=f[c+56>>2];c=c+8|0;a=a+8|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];a=1;return a|0}function Ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){fh(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;ll(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;sn(e+i|0,k)}u=l;return a|0}function Vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2980;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=3404;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Co(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b);Co(a);return}function Wg(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Zm(a,f[c+8>>2]|0,g)|0)){if(Zm(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else ok(0,c,d,e);while(0);return}function Xg(a){a=a|0;Ho(a+496|0);Ho(a+480|0);Ho(a+464|0);Ho(a+448|0);Ho(a+432|0);Ho(a+416|0);Ho(a+400|0);Ho(a+384|0);Ho(a+368|0);Ho(a+352|0);Ho(a+336|0);Ho(a+320|0);Ho(a+304|0);Ho(a+288|0);Ho(a+272|0);Ho(a+256|0);Ho(a+240|0);Ho(a+224|0);Ho(a+208|0);Ho(a+192|0);Ho(a+176|0);Ho(a+160|0);Ho(a+144|0);Ho(a+128|0);Ho(a+112|0);Ho(a+96|0);Ho(a+80|0);Ho(a+64|0);Ho(a+48|0);Ho(a+32|0);Ho(a+16|0);Ho(a);return}function Yg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=rc(a,b)|0;if(!b){c=0;return c|0}e=b+20|0;d=f[e>>2]|0;a=b+24|0;b=f[a>>2]|0;if((d|0)==(b|0)){c=0;return c|0}vh(c,b-d|0,0);d=kj(c,0)|0;c=f[e>>2]|0;Xe(d|0,c|0,(f[a>>2]|0)-c|0)|0;c=1;return c|0}function _g(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(!a){d=1;return d|0}j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>h>>>0:0))){k=0;return k|0}k=b[(f[d>>2]|0)+h>>0]|0;h=gm(h|0,g|0,1,0)|0;j=i;f[j>>2]=h;f[j+4>>2]=I;switch(k<<24>>24){case 0:{k=jc(a,c,d,e)|0;return k|0}case 1:{k=Hc(a,d,e)|0;return k|0}default:{k=0;return k|0}}return 0}function $g(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function ah(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3204;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));mk(b);d=a+388|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;Yn(a+408|0);f[a+424>>2]=-1;f[a+428>>2]=-1;return}function bh(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2980;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=3404;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Co(b);return}function ch(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1336;c=a+16|0;d=f[c>>2]|0;f[c>>2]=0;if(!d)return;c=d+88|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a)}a=f[d+68>>2]|0;if(a|0){c=d+72|0;b=f[c>>2]|0;if((b|0)!=(a|0))f[c>>2]=b+(~((b+-4-a|0)>>>2)<<2);Co(a)}c=d+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a)}Co(d);return}function dh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)>=33)Ga(17009,16501,63,17135);if((b|0)<=0)Ga(17164,16501,64,17135);k=a+8|0;i=a+4|0;j=0-(h[a+12>>0]|0)&255;d=f[k>>2]|0;e=0;do{e=e<<1;if(d>>>0<4096?(g=f[i>>2]|0,(g|0)>0):0){m=f[a>>2]|0;l=g+-1|0;f[i>>2]=l;d=h[m+l>>0]|0|d<<8;f[k>>2]=d}n=d&255;l=X(d>>>8,j)|0;m=n>>>0>>0;d=m?l+n|0:d-j-l|0;f[k>>2]=d;e=m&1|e;b=b+-1|0}while((b|0)!=0);f[c>>2]=e;return}function eh(a,b){a=a|0;b=b|0;if(!b)return;else{eh(a,f[b>>2]|0);eh(a,f[b+4>>2]|0);oh(b+20|0,f[b+24>>2]|0);Co(b);return}}function fh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)jn(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=Nk(k)|0;if(g|0)sm(j,l,g)|0;d=e-h-g|0;if(d|0)sm(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)Co(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;aj(e,d&1);a=pg(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}Hf(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;km(e);u=g;return}function hh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){mg(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else ze(a,b,b+c|0);while(0);a=a+24|0;h=a;h=gm(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function ih(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;Ke(g,c);e=a+4|0;i=f[g>>2]|0;f[g>>2]=0;d=f[e>>2]|0;f[e>>2]=i;if(d){nh(d);Co(d);d=f[g>>2]|0;f[g>>2]=0;if(d|0){nh(d);Co(d)}}else f[g>>2]=0;if(!(f[e>>2]|0)){i=0;u=h;return i|0}i=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[g>>0]=0;ef(a+56|0,i,g);i=1;u=h;return i|0}function jh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=Nk(32)|0,_k(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}e=Jj(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Mk(e|0,d|0,c|0,0)|0;if(!(hh(i,0,g,I)|0)){i=0;return i|0}vi(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+20|0;j=h+16|0;g=h;e=b[a+24>>0]|0;f[g>>2]=f[897];f[g+4>>2]=f[898];f[g+8>>2]=f[899];f[g+12>>2]=f[900];f[j>>2]=c;f[i>>2]=f[j>>2];if(!(eb(a,i,e,g)|0)){j=0;u=h;return j|0}Xd(d,g,g+(e<<24>>24<<2)|0);j=1;u=h;return j|0}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;var g=0,h=0,i=0;g=e>>>0>1073741823?-1:e<<2;h=zo(g)|0;Yg(h|0,0,g|0)|0;g=a+8|0;ag(g,h,b,c);if((e|0)>=(d|0)){Ao(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;ag(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Ao(h);return 1}function mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(Zm(a,b,0)|0))if((b|0)!=0?(e=wf(b,1072,1056,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Xa[f[(f[e>>2]|0)+28>>2]&7](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function nh(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function oh(a,b){a=a|0;b=b|0;if(!b)return;else{oh(a,f[b>>2]|0);oh(a,f[b+4>>2]|0);km(b+28|0);km(b+16|0);Co(b);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=e>>>0>1073741823?-1:e<<2;h=zo(g)|0;Yg(h|0,0,g|0)|0;g=a+8|0;eg(g,h,b,c);if((e|0)>=(d|0)){Ao(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;eg(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Ao(h);return 1}function qh(a,c,d){a=a|0;c=c|0;d=d|0;a=rc(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=4){d=0;return d|0}a=c;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;d=1;return d|0}function rh(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function sh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=c+8|0;i=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){i=0;return i|0}h=b[(f[c>>2]|0)+e>>0]|0;i=gm(e|0,d|0,1,0)|0;d=g;f[d>>2]=i;f[d+4>>2]=I;d=h&255;do if(d&128)if(sh(a,c)|0){d=f[a>>2]<<7;f[a>>2]=d;d=d|h&127;break}else{i=0;return i|0}while(0);f[a>>2]=d;i=1;return i|0}function th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+4>>2]|0;if(!d){e=0;return e|0}if((c|0)<=-1)Ga(17186,17202,59,17293);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Ga(17303,17202,60,17293);e=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;a=f[d+40>>2]|0;b=f[d+44>>2]|0;if((a|0)==(b|0)){e=0;return e|0}else c=a;while(1){a=f[c>>2]|0;c=c+4|0;if((f[a+40>>2]|0)==(e|0)){c=9;break}if((c|0)==(b|0)){a=0;c=9;break}}if((c|0)==9)return a|0;return 0}function uh(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}Co(a);return}function vh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;sn(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;sn(a+c|0,h);b[g>>0]=c;break}else Ug(a,c-e|0,d)|0;while(0);u=j;return}function wh(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){nn(a);c=Ia(4)|0;eo(c);ta(c|0,1112,100)}d=Nk(b*12|0)|0;f[c>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(b*12|0);a=d;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=(f[c>>2]|0)+12|0;f[c>>2]=a;b=b+-1|0}while((b|0)!=0);return}function xh(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0)Co(b);b=f[a>>2]|0;if(!b)return;Co(b);return}function yh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3404;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Co(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b);Co(a);return}function zh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kh(h,d,Sh(d)|0);Zg(c,h,g)|0;a=(b[g+11>>0]|0)<0?f[g>>2]|0:g;km(h);km(g);u=e;return a|0}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){nn(a);h=Ia(4)|0;eo(h);ta(h|0,1112,100)}g=Nk(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Xe(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Bh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(mj(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Na[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Ch(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3404;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Co(b);return}function Dh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(Io(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Bh(c,a)|0;Ho(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Bh(c,a)|0}while(0);return d|0}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){nn(a);c=Ia(4)|0;eo(c);ta(c|0,1112,100)}e=Nk(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{Ah(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Fh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2092;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c){Co(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);Co(a);return}function Gh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1728;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c){Co(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);Co(a);return}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Kh(g,c,Sh(c)|0);a=Zg(b,g,e)|0;km(g);km(e);u=d;return a|0}function Ih(a){a=a|0;var b=0,c=0,d=0;Ho(a+168|0);b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+136|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d)}Ho(a+120|0);Ho(a+80|0);Ho(a+64|0);Ho(a+24|0);return}function Jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){nn(a);e=Ia(4)|0;eo(e);ta(e|0,1112,100)}g=Nk(b<<2)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<2)|0;f[a+8>>2]=e;a=g;while(1){f[a>>2]=f[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}f[d>>2]=e;return}function Kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h;if(d>>>0<=4294967279)if(d>>>0<11)b[a+11>>0]=d;else g=5;else{jn(a);g=5}if((g|0)==5){i=d+16&-16;g=Nk(i)|0;f[a>>2]=g;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;a=g}sm(a,c,d)|0;b[e>>0]=0;sn(a+d|0,e);u=h;return}function Lh(a){a=a|0;var b=0,c=0;f[a>>2]=2092;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Mh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0;b=f[a+32>>2]|0;j=b+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=gm(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((j|0)<(d|0)|(j|0)==(d|0)&i>>>0>>0){j=0;return j|0}j=(f[b>>2]|0)+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=g;f[i>>2]=c;f[i+4>>2]=d;f[(f[a+4>>2]|0)+80>>2]=j;j=1;return j|0}function Nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}j=(f[d>>2]|0)-c|0;h=j>>2;i=Nk(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Xe(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;Co(c);return}function Oh(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Tn(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Ph(a){a=a|0;var b=0,c=0;f[a>>2]=1728;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Qh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3040;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));mk(b);return}function Rh(a,c,d){a=a|0;c=c|0;d=d|0;c=We(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Oh(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Sh(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c;d=c+4|0;f[e>>2]=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kh(d,14720,24);gh(mc(a,e)|0,d,1);km(d);u=c;return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Na[f[(f[g>>2]|0)+20>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Vh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3088;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3112;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Me(a+40|0,b);a=1;return a|0}return 0}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Na[f[(f[g>>2]|0)+16>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Yh(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=sl(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+Yh(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function Zh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3180;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3160;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function _h(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2148;b=f[a+76>>2]|0;if(b|0)Co(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ao(b);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function $h(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}if(!(f[a+36>>2]|0)){a=0;return a|0}a=(f[a+72>>2]|0)!=-1;return a|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0;a=u;u=u+32|0;g=a;e=a+8|0;p[g>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,c,Sh(c)|0);Gf(b,e,g)|0;d=+p[g>>3];km(e);u=a;return +d}function bi(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[18057+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=18145;e=5;break}}if((e|0)==2)if(!d)d=18145;else{a=18145;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return Xn(d,f[c+20>>2]|0)|0}function ci(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3088;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3112;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b)return;Co(b);return}function di(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1784;b=f[a+76>>2]|0;if(b|0)Co(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ao(b);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function ei(a){a=a|0;if(!(f[a+64>>2]|0)){a=0;return a|0}if(!(f[a+68>>2]|0)){a=0;return a|0}if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}if(!(f[a+56>>2]|0)){a=0;return a|0}a=(f[a+92>>2]|0)!=-1;return a|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,c,Sh(c)|0);qh(b,e,a)|0;a=f[a>>2]|0;km(e);u=d;return a|0}function gi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3180;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3160;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b)return;Co(b);return}function hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Nk(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=xf(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;nh(a);Co(a);return}function ii(a){a=a|0;if(!a)return;km(a+28|0);eh(a+12|0,f[a+16>>2]|0);oh(a,f[a+4>>2]|0);Co(a);return}function ji(a,b,c){a=a|0;b=b|0;c=c|0;switch(c<<24>>24){case 0:{c=Nk(20)|0;Fl(c);break}case 1:{c=Nk(24)|0;fm(c);break}case 2:{c=Nk(36)|0;Uk(c);break}case 3:{c=Nk(28)|0;_l(c);break}default:c=0}f[a>>2]=c;return}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=wl(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return wl((pc(h,g,wl(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function li(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Bi(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function mi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;a=d;e=d+8|0;p[a>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,c,Sh(c)|0);a=Gf(b,e,a)|0;km(e);u=d;return a|0}function ni(a){a=a|0;var b=0,c=0;f[a>>2]=2148;b=f[a+76>>2]|0;if(b|0)Co(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function oi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Ck(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=en(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function pi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3544;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+84>>2]|0;if(!b){Ie(a);Co(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Ie(a);Co(a);return}function qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a>>2]|0;if((d|0)<0){c=-1073741824;return c|0}if((f[(f[b>>2]|0)+(d<<2)>>2]|0)==-1073741824){c=-1073741824;return c|0}b=(d>>>0)/3|0;a=f[c+96>>2]|0;if((b|0)>=(((f[c+100>>2]|0)-a|0)/12|0|0))Ga(17469,17387,64,17464);c=f[a+(b*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;return c|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,c,Sh(c)|0);a=qh(b,e,a)|0;km(e);u=d;return a|0}function si(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;_b(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){Yj(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function ui(a){a=a|0;var b=0,c=0;f[a>>2]=1784;b=f[a+76>>2]|0;if(b|0)Co(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function vi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function wi(a,b,c){a=a|0;b=b|0;c=c|0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Sa[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){a=0;return a|0}a=ic(a,b,c)|0;return a|0}function xi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Ga(17362,17387,63,17464);d=f[a+96>>2]|0;if((((f[a+100>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;Yd(c,a,a+12|0);return 1}else Ga(17469,17387,64,17464);return 0}function yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){nn(a);a=Ia(4)|0;eo(a);ta(a|0,1112,100)}d=b<<2;e=Nk(d)|0;f[a>>2]=e;b=e+(b<<2)|0;f[a+8>>2]=b;Yg(e|0,0,d|0)|0;f[c>>2]=b;return}function zi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3544;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+84>>2]|0;if(!b){Ie(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Ie(a);return}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;if(!(al(a,b,c)|0)){c=0;return c|0}b=f[b+4>>2]|0;if((c|0)<=-1)Ga(17186,17202,67,17293);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Ga(17303,17202,68,17293);c=(f[(f[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else mg(a,b-g|0);a=a+24|0;h=a;h=gm(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Ci(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2204;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Di(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0;e=h[a+12>>0]|0;g=a+8|0;b=f[g>>2]|0;if(b>>>0<4096?(d=a+4|0,c=f[d>>2]|0,(c|0)>0):0){i=f[a>>2]|0;a=c+-1|0;f[d>>2]=a;b=h[i+a>>0]|0|b<<8;f[g>>2]=b}d=b&255;a=0-e&255;e=X(b>>>8,a)|0;i=d>>>0>>0;f[g>>2]=i?e+d|0:b-a-e|0;return i|0}function Ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;ke(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;Lj(a+28|0,b)|0;km(b);u=d;return c|0}function Fi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1840;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0;d=Nk(40)|0;f[d>>2]=-1;_k(d+8|0);Qa[f[(f[a>>2]|0)+16>>2]&7](a,d);c=b+88|0;b=f[c>>2]|0;f[c>>2]=d;if(!b)return 1;a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b);return 1}function Hi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1224;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+4>>2]|0;if(!b){Co(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;le(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;Lj(a+28|0,b)|0;km(b);u=d;return c|0}function Ji(a){a=a|0;var b=0,c=0,d=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=f[b>>2]|0;b=b+4|0;if(!(Wa[f[(f[d>>2]|0)+16>>2]&127](d,f[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 Ki(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Zm(a,f[b+8>>2]|0,g)|0)$g(0,b,c,d,e);else{a=f[a+8>>2]|0;Va[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Li(a){a=a|0;var b=0,c=0;f[a>>2]=2204;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Mi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2260;Ho(a+108|0);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Ni(a){a=a|0;var b=0,c=0;f[a>>2]=2852;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1444;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ch(a);Co(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);ch(a);Co(a);return}function Oi(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=b*3|0;if((b|0)>715827882){a=0;return a|0}be(a,c,3532);be(a+12|0,c,3528);Nh(a+24|0,c);a=1;return a|0}function Pi(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;vh(a,c,0);return}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;e=a;if((c|0)==(a|0)){b=0;return b|0}d=c-a>>2;c=0;while(1){a=f[e+(c<<2)>>2]|0;if((f[a+60>>2]|0)==(b|0)){c=5;break}c=c+1|0;if(c>>>0>=d>>>0){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function Ri(a){a=a|0;var b=0,c=0;f[a>>2]=1840;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Si(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1896;Ho(a+108|0);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Ti(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1224;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function Ui(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Yg(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Lm(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Lm(a,f,e)}u=g;return}function Vi(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;d=a;if((c|0)==(a|0)){b=-1;return b|0}c=c-a>>2;a=0;while(1){if((f[(f[d+(a<<2)>>2]|0)+60>>2]|0)==(b|0)){c=5;break}a=a+1|0;if(a>>>0>=c>>>0){a=-1;c=5;break}}if((c|0)==5)return a|0;return 0}function Wi(a){a=a|0;var b=0,c=0;f[a>>2]=2852;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1444;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ch(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);ch(a);return}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)Ga(17186,17202,67,17293);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else Ga(17303,17202,68,17293);return 0}function Yi(a){a=a|0;var b=0,c=0;f[a>>2]=2260;Ho(a+108|0);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function Zi(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Wa[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function _i(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;c=f[a>>2]|0;d=a+4|0;g=f[d>>2]|0;e=c;b=g+(~((g+-4-e|0)>>>2)<<2)|0;if((g|0)==(c|0))b=c;else f[d>>2]=b;f[a+16>>2]=0;f[a+12>>2]=b;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);Co(c);return}function $i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Zm(a,f[b+8>>2]|0,0)|0)si(0,b,c,d);else{a=f[a+8>>2]|0;Xa[f[(f[a>>2]|0)+28>>2]&7](a,b,c,d)}return}function aj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Pi(d);Bg(a,d,b);km(d);u=c;return}function bj(a){a=a|0;var b=0,c=0;f[a>>2]=1896;Ho(a+108|0);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function cj(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0)Kh(a,f[c>>2]|0,f[c+4>>2]|0);else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}return}function dj(a,b){a=a|0;b=b|0;var c=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){c=1;return c|0}c=Wa[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return c|0}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((rm(Da(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function fj(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function gj(a,b){a=a|0;b=b|0;var c=0;tk(a);f[a>>2]=1384;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;if(!(jh(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return a|0}function jj(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=gf(f[(f[a+36>>2]|0)+(c<<2)>>2]|0)|0;return a|0}function kj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=a+11|0;d=b[e>>0]|0;if(d<<24>>24<0)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0){hn(a);d=b[e>>0]|0}if(d<<24>>24<0)a=f[a>>2]|0;return a+c|0}function lj(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function mj(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function nj(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function oj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;e=g;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[e>>2]=f[a+60>>2],f[e+4>>2]=21523,f[e+8>>2]=g+16,ra(54,e|0)|0):0)b[a+75>>0]=-1;e=bf(a,c,d)|0;u=g;return e|0}function pj(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function qj(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Xb(a,b,c);return}else{dc(a,0,0);return}}function rj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Xd(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function sj(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;wa(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;wa(12);return -1}return b|0}function tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function uj(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(Io(d)|0)==0;a=og(a,e,d)|0;if(!g)Ho(d)}else a=og(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function wj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function xj(a,b){a=a|0;b=b|0;if(!(Wa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Wa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Sa[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function yj(a,c,d){a=a|0;c=c|0;d=d|0;if(!(al(a,c,d)|0)){a=0;return a|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){a=0;return a|0}a=(f[d+28>>2]|0)==9;return a|0}function zj(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Aj(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Bj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Zm(a,f[b+8>>2]|0,g)|0)$g(0,b,c,d,e);return}function Cj(a){a=a|0;var b=0,c=0;f[a>>2]=1444;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ch(a);Co(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);ch(a);Co(a);return}function Dj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Ej(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Fj(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;ef(a+20|0,e,d);u=c;return}function Gj(a,c){a=a|0;c=c|0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;c=1}else c=0;return c|0}function Hj(){var a=0,b=0;a=Nk(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Ij(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;ef(a+20|0,e,d);u=c;return}function Jj(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 Kj(a){a=a|0;f[a>>2]=3136;yg(a+8|0);Co(a);return}function Lj(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Sg(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+32|0;d=c;Fg(d,b);a=f[d+16>>2]|0;km(d+4|0);u=c;return a|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=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Oj(a){a=a|0;var c=0,d=0;b[a+36>>0]=0;d=gm(f[a+32>>2]|0,0,7,0)|0;d=sl(d|0,I|0,3)|0;a=a+16|0;c=a;c=gm(d|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;f[a>>2]=c;f[a+4>>2]=I;return}function Pj(a){a=a|0;var b=0,c=0;f[a>>2]=1444;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ch(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);ch(a);return}function Qj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ga(6060,6066,76,6213);return 0}function Rj(a){a=a|0;f[a>>2]=3136;yg(a+8|0);return}function Sj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;sc(a,b,c,d,e);return}function Tj(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function Uj(a){a=a|0;var b=0,c=0;f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function Vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Zm(a,f[b+8>>2]|0,0)|0)si(0,b,c,d);return}function Wj(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function Xj(a){a=a|0;var b=0;f[a>>2]=3404;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function Yj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Xe(a,c,d)|0;return a|0}function Zj(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function _j(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1196;b=f[a+8>>2]|0;if(!b){Co(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function $j(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Ga(17186,17202,59,17293);c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)>(b|0))return f[c+(b<<2)>>2]|0;else Ga(17303,17202,60,17293);return 0}function ak(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function bk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[18039+(a&15)>>0]|0|e;a=sl(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function ck(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Na[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function dk(){var a=0,b=0;b=Kk()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)wm(f[a+12>>2]|0);wm(Hn()|0)}function ek(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function fk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}Co(a);return}function gk(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function hk(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function ik(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function jk(a){a=a|0;var b=0,c=0;f[a>>2]=1196;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function kk(a,b){a=a|0;b=b|0;return $f(a+8|0,b)|0}function lk(a,b,c){a=a|0;b=b|0;c=c|0;Hb(a,b,c);return}function mk(a){a=a|0;ik(a);ik(a+40|0);Yn(a+80|0);ik(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function nk(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(11717,6520,61,11728);return 0}function ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function pk(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(11717,11318,65,11728);return 0}function qk(a){a=a|0;var b=0;f[a>>2]=3112;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function rk(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=sl(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function sk(){var a=0,b=0;a=Nk(24)|0;f[a>>2]=1196;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function tk(a){a=a|0;f[a>>2]=1224;a=a+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Xe(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function vk(a,b){a=a|0;b=b|0;return Kf(a+8|0,b)|0}function wk(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(11717,6834,70,11728);return 0}function xk(a){a=a|0;var c=0;wj(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function yk(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a);return}function zk(a){a=a|0;var b=0;f[a>>2]=3160;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function Ak(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Bk(a,b,c){a=a|0;b=$(b);c=c|0;var d=La;if((c|0)<1){a=0;return a|0}d=$($(1.0)/$(c|0));n[a+4>>2]=d;n[a>>2]=b;a=1;return a|0}function Ck(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;pc(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Dk(a){a=a|0;f[a>>2]=2460;Ho(a+88|0);Co(a);return}function Ek(a){a=a|0;var b=0;f[a>>2]=3112;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b)return;Co(b);return}function Fk(a){a=a|0;fn(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Gk(a){a=a|0;yl(a);f[a>>2]=3544;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Hk(a){a=a|0;f[a>>2]=2544;Ho(a+88|0);Co(a);return}function Ik(a){a=a|0;f[a>>2]=2684;Ho(a+88|0);Co(a);return}function Jk(a){a=a|0;f[a>>2]=2460;Ho(a+88|0);return}function Kk(){var a=0,b=0;a=u;u=u+16|0;if(!(Aa(21432,3)|0)){b=qa(f[5359]|0)|0;u=a;return b|0}else ql(20575,a);return 0}function Lk(a){a=a|0;var b=0;f[a>>2]=3160;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b)return;Co(b);return}function Mk(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=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function Nk(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=$a(b)|0;if(a|0)break;a=Fn()|0;if(!a){a=0;break}Ua[a&3]()}return a|0}function Ok(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Fo(f[a+60>>2]|0)|0;f[c>>2]=a;a=rm(va(6,c|0)|0)|0;u=b;return a|0}function Pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Id(b,c,d)|0}function Qk(a){a=a|0;f[a>>2]=2768;Ho(a+88|0);Co(a);return}function Rk(a){a=a|0;var b=0;b=u;u=u+16|0;Nb(a);if(!(sa(f[5359]|0,0)|0)){u=b;return}else ql(20674,b)}function Sk(a){a=a|0;f[a>>2]=2544;Ho(a+88|0);return}function Tk(a){a=a|0;f[a>>2]=2684;Ho(a+88|0);return}function Uk(a){a=a|0;fm(a);f[a>>2]=2852;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function Vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zd(b,c,d)|0}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function Xk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+8>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function Yk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Rg(a,b,c,g)|0;u=e;return d|0}function Zk(a){a=a|0;f[a>>2]=2768;Ho(a+88|0);return}function _k(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function $k(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function al(a,b,c){a=a|0;b=b|0;c=c|0;return Xi(a,b,c)|0}function bl(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 Ra[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function cl(a,b,c){a=a|0;b=b|0;c=c|0;return Tj(b,c)|0}function dl(a){a=a|0;ed(a);Co(a);return}function el(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ig(b,c,d)|0}function fl(){var a=0;a=u;u=u+16|0;if(!(Ca(21436,102)|0)){u=a;return}else ql(20624,a)}function gl(a){a=a|0;gd(a);Co(a);return}function hl(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;Va[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function il(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=tf(f[994]|0,a,d)|0;u=c;return b|0}function jl(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Sa[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kh(b,c,d)|0}function ll(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Yg(a|0,(_n(c)|0)&255|0,b|0)|0;return a|0}function ml(a){a=a|0;return 4}function nl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Wa[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function pl(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Wa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function ql(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[901]|0;tf(b,a,c)|0;Dh(10,b)|0;xa()}function rl(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Wa[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function sl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function tl(a,b,c){a=a|0;b=b|0;c=c|0;return Ei(a,b,c)|0}function ul(a){a=a|0;Ic(a);Co(a);return}function vl(){}function wl(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 (I=d,a-c>>>0|0)|0}function xl(a){a=a|0;return 5}function yl(a){a=a|0;var b=0;f[a>>2]=3572;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function zl(a){a=a|0;return 6}function Al(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return xi(b,c,d)|0}function Bl(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Cl(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Jf(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;return cl(a,b,c)|0}function El(a,b,c){a=a|0;b=b|0;c=c|0;return re(b,c)|0}function Fl(a){a=a|0;f[a>>2]=1336;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Gl(a,b){a=a|0;b=b|0;Th(a,b);return}function Hl(a){a=a|0;if(!a)return;km(a+4|0);Co(a);return}function Il(a){a=a|0;a=a+4|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function Jl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Oa[a&3](b|0,c|0,d|0,e|0,f|0)}function Kl(a,b,c){a=a|0;b=b|0;c=c|0;return Ii(a,b,c)|0}function Ll(a,b,c){a=a|0;b=b|0;c=c|0;return Hh(a,b,c)|0}function Ml(a,b,c){a=a|0;b=b|0;c=c|0;return mi(a,b,c)|0}function Nl(a,b,c){a=a|0;b=b|0;c=c|0;return zh(a,b,c)|0}function Ol(a,b,c){a=a|0;b=b|0;c=c|0;return +(+ai(a,b,c))}function Pl(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Ql(a,b){a=a|0;b=b|0;return Wa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Rl(a,b){a=a|0;b=b|0;return Wa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function Sl(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0}function Tl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Ul(a,b,c){a=a|0;b=b|0;c=c|0;return th(a,b,c)|0}function Vl(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function Wl(a,b,c){a=a|0;b=b|0;c=c|0;return mm(b,c)|0}function Xl(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+36>>2]&127](a)|0}function Yl(a,b,c){a=a|0;b=b|0;c=c|0;return ri(a,b,c)|0}function Zl(a,b,c){a=a|0;b=b|0;c=c|0;return fi(a,b,c)|0}function _l(a){a=a|0;fm(a);f[a>>2]=2344;f[a+24>>2]=-1;return}function $l(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function am(a,b,c){a=a|0;b=b|0;c=c|0;return Og(b,c)|0}function bm(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function cm(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=$(0.0);return}function dm(){var a=0;a=Nk(40)|0;f[a>>2]=-1;_k(a+8|0);return a|0}function em(){var a=0;a=Nk(8)|0;f[a>>2]=1168;f[a+4>>2]=-1;return a|0}function fm(a){a=a|0;Fl(a);f[a>>2]=1444;f[a+20>>2]=0;return}function gm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function hm(a,b){a=a|0;b=b|0;Gl(a,b);return}function im(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function jm(a,b){a=a|0;b=b|0;return Mj(a,b)|0}function km(a){a=a|0;if((b[a+11>>0]|0)<0)Co(f[a>>2]|0);return}function lm(a){a=a|0;if(!a)return;Pa[f[(f[a>>2]|0)+4>>2]&127](a);return}function mm(a,b){a=a|0;b=b|0;return Qi(a,b)|0}function nm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xa[a&7](b|0,c|0,d|0,e|0)}function om(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Yj(a|0,b|0,c|0)|0;return a|0}function pm(a){a=a|0;var b=0;b=a+60|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function qm(a,b,c){a=a|0;b=b|0;c=c|0;return $j(b,c)|0}function rm(a){a=a|0;var b=0;if(a>>>0>4294963200){b=oo()|0;f[b>>2]=0-a;a=-1}return a|0}function sm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Xe(a|0,b|0,c|0)|0;return a|0}function tm(a,b){a=a|0;b=b|0;return -1}function um(a){a=a|0;if(!a)a=0;else a=(wf(a,1072,1144,0)|0)!=0;return a&1|0}function vm(a){a=a|0;return 3}function wm(a){a=a|0;var b=0;b=u;u=u+16|0;Ua[a&3]();ql(20727,b)}function xm(a){a=a|0;Vf(a);Co(a);return}function ym(a){a=a|0;Gm(a);f[a>>2]=2980;f[a+48>>2]=0;return}function zm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Na[a&31](b|0,c|0,d|0)|0}function Am(a,b,c){a=a|0;b=b|0;c=c|0;Wk(a,b,c);return}function Bm(a){a=a|0;if(!a)return;Ho(a+24|0);Co(a);return}function Cm(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Dm(){var a=0;a=Nk(64)|0;wj(a);return a|0}function Em(a,b){a=a|0;b=b|0;return $(Km(a,b))}function Fm(a){a=a|0;return f[a+8>>2]|0}function Gm(a){a=a|0;Xj(a);f[a>>2]=2920;f[a+44>>2]=0;return}function Hm(a){a=a|0;if(!a)return;Kg(a);Co(a);return}function Im(a,b){a=a|0;b=b|0;return un(a,b)|0}function Jm(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Km(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function Lm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))og(b,c,a)|0;return}function Mm(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Nm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&15](b|0,c|0,d|0)}function Om(){var a=0;a=Nk(96)|0;xk(a);return a|0}function Pm(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Qm(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Rm(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Cg(a,b,0)|0;return a|0}function Sm(a){a=a|0;var b=0;b=(yo()|0)+188|0;return bi(a,f[b>>2]|0)|0}function Tm(){var a=0;a=Nk(12)|0;kn(a);return a|0}function Um(){var a=0;a=Nk(40)|0;ik(a);return a|0}function Vm(a,b){a=a|0;b=b|0;return bn(a,b)|0}function Wm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(4);return 0}function Xm(a){a=a|0;ch(a);Co(a);return}function Ym(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Zm(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function _m(a){a=a|0;tk(a);f[a>>2]=1280;return}function $m(a,b){a=a|0;b=b|0;var c=0;c=pn(a|0)|0;return ((b|0)==0?a:c)|0}function an(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function bn(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function cn(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function dn(a,b){a=a|0;b=b|0;return 1}function en(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pc(a,b,c,d,0)|0}function fn(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function gn(){var a=0;a=Nk(84)|0;yl(a);return a|0}function hn(a){a=a|0;Ga(20247,20125,1194,20276)}function jn(a){a=a|0;Ga(20096,20125,1183,20226)}function kn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function ln(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function mn(a){a=a|0;Ga(20073,19972,315,20276)}function nn(a){a=a|0;Ga(19949,19972,304,20226)}function on(a,b,c){a=a|0;b=b|0;c=c|0;return Wa[a&127](b|0,c|0)|0}function pn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function qn(a){a=a|0;Gm(a);f[a>>2]=3320;return}function rn(){var a=0;a=Nk(1)|0;Ho(a);return a|0}function sn(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function tn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(8)}function un(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function vn(a){a=a|0;return $(n[a+20>>2])}function wn(a){a=a|0;return f[a+4>>2]|0}function xn(a){a=a|0;if(!a)return;Co(a);return}function yn(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function zn(a){a=a|0;return f[a+88>>2]|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;Qa[a&7](b|0,c|0)}function Bn(){var a=0;a=Nk(40)|0;Fk(a);return a|0}function Cn(){var a=0;a=Nk(108)|0;Gk(a);return a|0}function Dn(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function En(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(1)}function Fn(){var a=0;a=f[5360]|0;f[5360]=a+0;return a|0}function Gn(a){a=a|0;return f[a+56>>2]|0}function Hn(){var a=0;a=f[1153]|0;f[1153]=a+0;return a|0}function In(a){a=a|0;Ie(a);Co(a);return}function Jn(a){a=a|0;return b[a+24>>0]|0}function Kn(a,b){a=a|0;b=b|0;return 0}function Ln(a){a=a|0;return f[a+40>>2]|0}function Mn(a){a=a|0;return f[a+48>>2]|0}function Nn(a,b){a=a|0;b=b|0;return Sa[a&127](b|0)|0}function On(a){a=a|0;return f[a+60>>2]|0}function Pn(a){a=a|0;return f[a+28>>2]|0}function Qn(a){a=a|0;ya(a|0)|0;dk()}function Rn(a,b){a=a|0;b=b|0;u=a;v=b}function Sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(10)}function Tn(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Un(a){a=a|0;return (f[a>>2]|0)==0|0}function Vn(a){a=a|0;return f[a+80>>2]|0}function Wn(a,b){a=a|0;b=b|0;Pa[a&127](b|0)}function Xn(a,b){a=a|0;b=b|0;return Cl(a,b)|0}function Yn(a){a=a|0;b[a+12>>0]=0;return}function Zn(a){a=a|0;Ho(a);Co(a);return}function _n(a){a=a|0;return a&255|0}function $n(a){a=a|0;f[a>>2]=0;return}function ao(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function bo(a){a=a|0;return f[a>>2]|0}function co(a){a=a|0;return 2}function eo(a){a=a|0;f[a>>2]=4708;return}function fo(a){a=a|0;return 1}function go(a,b){a=+a;b=b|0;return +(+Yh(a,b))}function ho(){return 3}function io(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function jo(){return -4}function ko(){return 4}function lo(){return -3}function mo(){return 1}function no(){return 2}function oo(){return (yo()|0)+64|0}function po(){return -5}function qo(a,b){a=a|0;b=b|0;aa(9);return 0}function ro(a){a=a|0;return 20767}function so(a){a=a|0;Ua[a&3]()}function to(){return -2}function uo(){Ha()}function vo(){return -1}function wo(a,b){a=a|0;b=b|0;aa(3)}function xo(){return 0}function yo(){return Mo()|0}function zo(a){a=a|0;return Nk(a)|0}function Ao(a){a=a|0;Co(a);return}function Bo(a){a=a|0;u=a}function Co(a){a=a|0;Nb(a);return}function Do(a){a=a|0;I=a}function Eo(){return 21368}function Fo(a){a=a|0;return a|0}function Go(a){a=a|0;aa(5);return 0}function Ho(a){a=a|0;return}function Io(a){a=a|0;return 0}function Jo(){return I|0}function Ko(){return u|0}function Lo(a){a=a|0;aa(2)}function Mo(){return 3732}function No(){aa(7)} -function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=u;u=u+48|0;oa=ya+40|0;va=ya+28|0;wa=ya+8|0;X=ya+4|0;qa=ya;f[va>>2]=0;xa=va+4|0;f[xa>>2]=0;f[va+8>>2]=0;f[wa>>2]=0;f[wa+4>>2]=0;f[wa+8>>2]=0;f[wa+12>>2]=0;n[wa+16>>2]=$(1.0);pa=a+132|0;ka=f[a+136>>2]|0;a:do if((c|0)>0){ja=a+240|0;Z=a+428|0;z=a+316|0;Y=a+424|0;B=a+312|0;C=a+304|0;D=a+308|0;I=a+8|0;G=wa+4|0;E=a+396|0;H=va+8|0;ia=a+36|0;F=a+40|0;ha=c+-1|0;_=a+408|0;y=0;x=0;while(1){d=y+1|0;if((f[Z>>2]|0)!=-1?Di(_)|0:0){e=f[Z>>2]|0;f[Y>>2]=e;if(!e)la=16;else la=59}else la=5;b:do if((la|0)==5){do if(!(b[z>>0]|0))e=1;else{g=f[B>>2]|0;k=f[C>>2]|0;l=f[D>>2]|0;e=k+(g>>>3)|0;if(e>>>0>>0?(la=h[e>>0]|0,J=g+1|0,f[B>>2]=J,la&1<<(g&7)|0):0){e=k+(J>>>3)|0;if(e>>>0>>0){i=(h[e>>0]|0)>>>(J&7)&1;g=g+2|0;f[B>>2]=g}else{g=J;i=0}e=k+(g>>>3)|0;if(e>>>0>>0){e=(h[e>>0]|0)>>>(g&7);f[B>>2]=g+1;e=e<<1&2}else e=0;e=(e|i)<<1|1;break}f[Y>>2]=0;la=16;break b}while(0);f[Y>>2]=e;la=59}while(0);c:do if((la|0)==16){la=0;e=f[xa>>2]|0;if((f[va>>2]|0)==(e|0)){g=-1;break a}t=f[e+-4>>2]|0;s=(t|0)<0;d:do if(!s){e=t+(((t>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)la=19;else{k=f[I>>2]|0;i=f[k+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){q=0;break d}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){q=1;break}}}}else{e=t;la=19}while(0);if((la|0)==19){la=0;k=f[I>>2]|0;i=f[k+12>>2]|0;q=1}w=y*3|0;r=w+1|0;f[i+(t<<2)>>2]=r;f[i+(r<<2)>>2]=t;v=w+2|0;f[i+(e<<2)>>2]=v;f[i+(v<<2)>>2]=e;g=t+1|0;if(!s?(fa=((g|0)%3|0|0)==0?t+-2|0:g,(fa|0)>=0):0){o=f[k>>2]|0;p=f[o+(fa<<2)>>2]|0;f[o+(w<<2)>>2]=p;if((p|0)>-1){o=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(K=g+(l<<2)|0,(i|0)!=(K|0)):0)f[k>>2]=i+(~((i+-4-K|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=w;k=f[I>>2]|0}}else{f[(f[k>>2]|0)+(w<<2)>>2]=-1073741824;p=-1073741824}g=e+1|0;if(!q?(ea=((g|0)%3|0|0)==0?e+-2|0:g,(ea|0)>=0):0){q=f[k>>2]|0;o=f[q+(ea<<2)>>2]|0;f[q+(r<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(P=e+(k<<2)|0,(g|0)!=(P|0)):0)f[i>>2]=g+(~((g+-4-P|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=r;k=f[I>>2]|0}}else f[(f[k>>2]|0)+(r<<2)>>2]=-1073741824;if(!s?(ca=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(ca|0)>=0):0){t=f[k>>2]|0;o=f[t+(ca<<2)>>2]|0;f[t+(v<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(O=e+(k<<2)|0,(g|0)!=(O|0)):0)f[i>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);g=v;e=e+(o<<2)|0;la=56}}else{g=-1073741824;e=(f[k>>2]|0)+(v<<2)|0;la=56}if((la|0)==56){la=0;f[e>>2]=g}if((x|0)>(ka|0)){g=-1;break a}e=(f[pa>>2]|0)+(p>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(p&31));f[(f[xa>>2]|0)+-4>>2]=w;e=w;g=0;l=x}else if((la|0)==59){la=0;switch(e|0){case 3:case 5:{g=f[xa>>2]|0;if((f[va>>2]|0)==(g|0)){g=-1;break a}t=f[g+-4>>2]|0;v=y*3|0;s=((e|0)==5?2:1)+v|0;e=f[I>>2]|0;w=f[e+12>>2]|0;f[w+(s<<2)>>2]=t;f[w+(t<<2)>>2]=s;w=x+1|0;f[(f[e>>2]|0)+(s<<2)>>2]=x;if((x|0)>-1){l=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(w>>>0>k>>>0){lg(l,w-k|0);e=f[l>>2]|0;break}if(w>>>0>>0?(N=e+(w<<2)|0,(g|0)!=(N|0)):0)f[i>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=s;e=f[I>>2]|0}q=(s|0)<0;g=s+1|0;if(q)o=s;else o=((g|0)%3|0|0)==0?s+-2|0:g;r=(t|0)<0;if(!r?(ba=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(ba|0)>=0):0){x=f[e>>2]|0;p=f[x+(ba<<2)>>2]|0;f[x+(o<<2)>>2]=p;if((p|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=p>>>0){k=p+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(M=e+(k<<2)|0,(g|0)!=(M|0)):0)f[i>>2]=g+(~((g+-4-M|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=o;e=f[I>>2]|0}}else f[(f[e>>2]|0)+(o<<2)>>2]=-1073741824;do if(!q)if(!((s>>>0)%3|0)){p=s+2|0;break}else{p=s+-1|0;break}else p=s;while(0);g=t+1|0;if(!r?(da=((g|0)%3|0|0)==0?t+-2|0:g,(da|0)>=0):0){x=f[e>>2]|0;o=f[x+(da<<2)>>2]|0;f[x+(p<<2)>>2]=o;if((o|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(L=e+(k<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);g=p;e=e+(o<<2)|0;la=97}}else{g=-1073741824;e=(f[e>>2]|0)+(p<<2)|0;la=97}if((la|0)==97){la=0;f[e>>2]=g}f[(f[xa>>2]|0)+-4>>2]=v;e=v;g=1;l=w;break c}case 1:{g=f[va>>2]|0;e=f[xa>>2]|0;if((g|0)==(e|0)){g=-1;break a}q=e+-4|0;o=f[q>>2]|0;f[xa>>2]=q;l=f[G>>2]|0;e:do if(l){m=l+-1|0;k=(m&l|0)==0;if(k)p=m&y;else p=(y>>>0)%(l>>>0)|0;i=f[(f[wa>>2]|0)+(p<<2)>>2]|0;if(i){if(k)do{i=f[i>>2]|0;if(!i){e=q;break e}if((f[i+4>>2]&m|0)!=(p|0)){e=q;break e}}while((f[i+8>>2]|0)!=(y|0));else do{i=f[i>>2]|0;if(!i){e=q;break e}if((((f[i+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(p|0)){e=q;break e}}while((f[i+8>>2]|0)!=(y|0));i=i+12|0;if((q|0)==(f[H>>2]|0)){zg(va,i);g=f[va>>2]|0;e=f[xa>>2]|0;break}else{f[q>>2]=f[i>>2];f[xa>>2]=e;break}}else e=q}else e=q;while(0);if((g|0)==(e|0)){g=-1;break a}q=f[e+-4>>2]|0;v=y*3|0;t=v+2|0;e=f[I>>2]|0;w=f[e+12>>2]|0;f[w+(q<<2)>>2]=t;f[w+(t<<2)>>2]=q;s=v+1|0;f[w+(o<<2)>>2]=s;f[w+(s<<2)>>2]=o;if((q|0)>=0){g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;i=f[e>>2]|0;if((g|0)>=0){k=f[i+(g<<2)>>2]|0;f[i+(v<<2)>>2]=k;if((k|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=k>>>0){l=k+1|0;if(l>>>0>m>>>0){lg(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0>>0?(W=e+(l<<2)|0,(g|0)!=(W|0)):0)f[i>>2]=g+(~((g+-4-W|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=v;e=f[I>>2]|0;i=1}else i=0}else{f[i+(v<<2)>>2]=-1073741824;i=0;k=-1073741824}g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;l=f[e>>2]|0;if((g|0)>=0){r=f[l+(g<<2)>>2]|0;f[l+(s<<2)>>2]=r;if((r|0)>-1){q=e+24|0;l=e+28|0;g=f[l>>2]|0;e=f[q>>2]|0;p=g-e>>2;do if(p>>>0<=r>>>0){m=r+1|0;if(m>>>0>p>>>0){lg(q,m-p|0);e=f[q>>2]|0;break}if(m>>>0

>>0?(V=e+(m<<2)|0,(g|0)!=(V|0)):0)f[l>>2]=g+(~((g+-4-V|0)>>>2)<<2)}while(0);f[e+(r<<2)>>2]=s;e=f[I>>2]|0;r=i}else r=i}else{g=l;la=129}}else{g=f[e>>2]|0;f[g+(v<<2)>>2]=-1073741824;i=0;k=-1073741824;la=129}if((la|0)==129){la=0;f[g+(s<<2)>>2]=-1073741824;r=i}if((o|0)>=0){g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;i=f[e>>2]|0;if((g|0)>=0){q=f[i+(g<<2)>>2]|0;f[i+(t<<2)>>2]=q;if((q|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=q>>>0){l=q+1|0;if(l>>>0>m>>>0){lg(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0>>0?(U=e+(l<<2)|0,(g|0)!=(U|0)):0)f[i>>2]=g+(~((g+-4-U|0)>>>2)<<2)}while(0);g=t;e=e+(q<<2)|0;la=150}}else{g=-1073741824;e=i+(t<<2)|0;la=150}if((la|0)==150){la=0;f[e>>2]=g}i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;g=f[I>>2]|0;if((i|0)<0){e=g;o=i;q=-1073741824}else{e=g;o=i;q=f[(f[g>>2]|0)+(i<<2)>>2]|0}}else{f[(f[e>>2]|0)+(t<<2)>>2]=-1073741824;q=-1073741824}t=f[E>>2]|0;w=t+(k<<2)|0;f[w>>2]=(f[w>>2]|0)+(f[t+(q<<2)>>2]|0);f:do if((o|0)>-1){p=k+1|0;if(!r){l=f[e>>2]|0;m=e+12|0;g=o;while(1){f[l+(g<<2)>>2]=k;w=g+1|0;g=((w|0)%3|0|0)==0?g+-2|0:w;if((g|0)<0)break f;i=f[(f[m>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break f;g=((g|0)%3|0|0)==0?i+-2|0:g;if((g|0)<=-1)break f}}do{f[(f[e>>2]|0)+(o<<2)>>2]=k;m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=k>>>0){if(p>>>0>l>>>0){lg(m,p-l|0);e=f[m>>2]|0;break}if(p>>>0>>0?(T=e+(p<<2)|0,(g|0)!=(T|0)):0)f[i>>2]=g+(~((g+-4-T|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=o;g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;e=f[I>>2]|0;if((g|0)<0)break f;i=f[(f[e+12>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break f;o=((g|0)%3|0|0)==0?i+-2|0:g}while((o|0)>-1)}while(0);f[(f[e+24>>2]|0)+(q<<2)>>2]=-1073741824;f[(f[xa>>2]|0)+-4>>2]=v;e=v;g=0;l=x;break c}case 7:{m=y*3|0;f[oa>>2]=m;i=f[I>>2]|0;p=x+1|0;e=f[i>>2]|0;f[e+(m<<2)>>2]=x;if((x|0)<=-1){g=m+1|0;k=x+2|0;f[e+(g<<2)>>2]=p;if((x|0)==-1){e=i;o=k;la=178}else{g=m;o=k}}else{l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(p>>>0>k>>>0){lg(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0>>0?(S=e+(p<<2)|0,(g|0)!=(S|0)):0)f[i>>2]=g+(~((g+-4-S|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=m;e=f[I>>2]|0;g=(f[oa>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=p;o=x+2|0;la=178}if((la|0)==178){la=0;m=e+24|0;k=e+28|0;i=f[k>>2]|0;e=f[m>>2]|0;l=i-e>>2;do if(l>>>0<=p>>>0){if(o>>>0>l>>>0){lg(m,o-l|0);e=f[m>>2]|0;break}if(o>>>0>>0?(R=e+(o<<2)|0,(i|0)!=(R|0)):0)f[k>>2]=i+(~((i+-4-R|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=g;i=f[I>>2]|0;g=f[oa>>2]|0;e=f[i>>2]|0}m=g+2|0;p=x+3|0;f[e+(m<<2)>>2]=o;if((o|0)>-1){l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=o>>>0){if(p>>>0>k>>>0){lg(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0>>0?(Q=e+(p<<2)|0,(g|0)!=(Q|0)):0)f[i>>2]=g+(~((g+-4-Q|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=m}e=f[xa>>2]|0;if((e|0)==(f[H>>2]|0)){zg(va,oa);e=f[xa>>2]|0}else{f[e>>2]=f[oa>>2];e=e+4|0;f[xa>>2]=e}e=f[e+-4>>2]|0;g=1;l=p;break c}default:{g=-1;break a}}}while(0);f[X>>2]=e;f[oa>>2]=f[X>>2];vc(ja,oa);g:do if(g?(aa=c-y|0,ga=aa+-1|0,A=f[F>>2]|0,(A|0)!=(f[ia>>2]|0)):0){e=A;do{g=f[e+-8>>2]|0;if((g|0)>=(aa|0)){g=-1;break a}if((g|0)!=(ga|0))break g;g=b[e+-4>>0]|0;k=f[e+-12>>2]|0;f[F>>2]=e+-12;if((k|0)<0){g=-1;break a}e=f[(f[xa>>2]|0)+-4>>2]|0;i=(e|0)<0;do if(!(g&1)){if(!i)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{g=e+1|0;if(!i)e=((g|0)%3|0|0)==0?e+-2|0:g}while(0);f[oa>>2]=ha-k;y=md(wa,oa)|0;f[y>>2]=e;e=f[F>>2]|0}while((e|0)!=(f[ia>>2]|0))}while(0);if((d|0)<(c|0)){y=d;x=l}else{H=l;la=211;break}}}else{d=0;H=0;la=211}while(0);h:do if((la|0)==211)if((H|0)<=(ka|0)){g=f[xa>>2]|0;i:do if((g|0)==(f[va>>2]|0))e=a+8|0;else{v=a+278|0;w=a+372|0;x=a+368|0;y=a+360|0;z=a+364|0;e=a+8|0;G=a+60|0;E=a+64|0;C=a+68|0;B=a+76|0;D=a+80|0;F=a+72|0;A=a+320|0;j:while(1){la=g;f[oa>>2]=f[la+-4>>2];f[xa>>2]=la+-4;if((j[v>>1]|0)<514)if(b[w>>0]|0){g=f[x>>2]|0;i=(f[y>>2]|0)+(g>>>3)|0;if(i>>>0<(f[z>>2]|0)>>>0){la=(h[i>>0]|0)>>>(g&7)&1;f[x>>2]=g+1;g=la;la=220}else la=276}else la=221;else{g=(Di(A)|0)&1;la=220}if((la|0)==220)if(!g)la=276;else la=221;do if((la|0)==221){la=0;k=f[e>>2]|0;ka=f[k>>2]|0;r=ka;if((d|0)>=(((f[k+4>>2]|0)-ka>>2>>>0)/3|0|0))break j;q=f[oa>>2]|0;m=(q|0)<0;k:do if(!m){g=q+(((q>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[k+12>>2]|0;l=g;while(1){g=f[i+(l<<2)>>2]|0;if((g|0)<=-1){i=0;g=l;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else l=g}if(m){l=q;la=229;break}}else i=1;l=q+1|0;l=((l|0)%3|0|0)==0?q+-2|0:l;if((l|0)<0)la=229;else{m=f[k+12>>2]|0;o=l;while(1){l=f[m+(o<<2)>>2]|0;if((l|0)<=-1){s=0;p=g;l=o;break k}ka=l+1|0;l=((ka|0)%3|0|0)==0?l+-2|0:ka;if((l|0)<0){s=1;p=g;break}else o=l}}}else{i=1;g=q;l=q;la=229}while(0);if((la|0)==229){m=f[k+12>>2]|0;s=1;p=g}t=d+1|0;d=d*3|0;f[qa>>2]=d;f[m+(d<<2)>>2]=q;f[m+(q<<2)>>2]=d;d=(f[qa>>2]|0)+1|0;f[m+(d<<2)>>2]=p;f[m+(p<<2)>>2]=d;d=(f[qa>>2]|0)+2|0;f[m+(d<<2)>>2]=l;f[m+(l<<2)>>2]=d;d=f[qa>>2]|0;g=p+1|0;if(!i?(ta=((g|0)%3|0|0)==0?p+-2|0:g,(ta|0)>=0):0){q=f[r+(ta<<2)>>2]|0;f[r+(d<<2)>>2]=q;if((q|0)>-1){p=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){lg(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0>>0?(na=g+(m<<2)|0,(i|0)!=(na|0)):0)f[k>>2]=i+(~((i+-4-na|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=d;d=f[qa>>2]|0;k=f[e>>2]|0}}else f[r+(d<<2)>>2]=-1073741824;p=d+1|0;g=l+1|0;if(!s?(sa=((g|0)%3|0|0)==0?l+-2|0:g,(sa|0)>=0):0){la=f[k>>2]|0;o=f[la+(sa<<2)>>2]|0;f[la+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0>>0?(ma=d+(k<<2)|0,(g|0)!=(ma|0)):0)f[i>>2]=g+(~((g+-4-ma|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[qa>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;q=d+2|0;g=f[oa>>2]|0;i=g+1|0;if((g|0)>=0?(ra=((i|0)%3|0|0)==0?g+-2|0:i,(ra|0)>=0):0){la=f[k>>2]|0;p=f[la+(ra<<2)>>2]|0;f[la+(q<<2)>>2]=p;if((p|0)>-1){o=k+24|0;m=k+28|0;g=f[m>>2]|0;d=f[o>>2]|0;l=g-d>>2;do if(l>>>0<=p>>>0){k=p+1|0;i=g;if(k>>>0>l>>>0){lg(o,k-l|0);d=f[o>>2]|0;break}if(k>>>0>>0){g=d+(k<<2)|0;if((i|0)==(g|0))break;f[m>>2]=i+(~((i+-4-g|0)>>>2)<<2)}}while(0);f[d+(p<<2)>>2]=q;d=f[qa>>2]|0}}else f[(f[k>>2]|0)+(q<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[pa>>2]|0;la=g+(d>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(d&31));d=f[qa>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;la=g+(d>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(d&31));d=f[qa>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[E>>2]|0;g=f[C>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){nn(G);g=f[C>>2]|0}la=g<<6;d=d+32&-32;ig(G,g<<5>>>0<1073741823?(la>>>0>>0?d:la):2147483647);d=f[E>>2]|0}f[E>>2]=d+1;la=(f[G>>2]|0)+(d>>>5<<2)|0;f[la>>2]=f[la>>2]|1<<(d&31);d=f[B>>2]|0;if((d|0)==(f[D>>2]|0))zg(F,qa);else{f[d>>2]=f[qa>>2];f[B>>2]=d+4}d=t}else if((la|0)==276){g=f[E>>2]|0;i=f[C>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){nn(G);i=f[C>>2]|0}la=i<<6;g=g+32&-32;ig(G,i<<5>>>0<1073741823?(la>>>0>>0?g:la):2147483647);g=f[E>>2]|0}f[E>>2]=g+1;la=(f[G>>2]|0)+(g>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(g&31));g=f[B>>2]|0;if((g|0)==(f[D>>2]|0)){zg(F,oa);break}else{f[g>>2]=f[oa>>2];f[B>>2]=g+4;break}}while(0);g=f[xa>>2]|0;if((g|0)==(f[va>>2]|0))break i}g=-1;break h}while(0);ta=f[e>>2]|0;if((d|0)==(((f[ta+4>>2]|0)-(f[ta>>2]|0)>>2>>>0)/3|0|0)){k=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[k>>2]|0;i=e-d>>2;if(H>>>0>i>>>0){lg(k,H-i|0);g=H;break}if(H>>>0>>0?(ua=d+(H<<2)|0,(e|0)!=(ua|0)):0){f[g>>2]=e+(~((e+-4-ua|0)>>>2)<<2);g=H}else g=H}else g=-1}else g=-1;while(0);d=f[wa+8>>2]|0;if(d|0)do{ua=d;d=f[d>>2]|0;Co(ua)}while((d|0)!=0);d=f[wa>>2]|0;f[wa>>2]=0;if(d|0)Co(d);d=f[va>>2]|0;if(!d){u=ya;return g|0}e=f[xa>>2]|0;if((e|0)!=(d|0))f[xa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=ya;return g|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;qa=u;u=u+48|0;ga=qa+40|0;na=qa+28|0;oa=qa+8|0;S=qa+4|0;ia=qa;f[na>>2]=0;pa=na+4|0;f[pa>>2]=0;f[na+8>>2]=0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;n[oa+16>>2]=$(1.0);ha=a+132|0;ca=f[a+136>>2]|0;a:do if((c|0)>0){ba=a+240|0;C=a+8|0;aa=a+36|0;B=a+40|0;_=c+-1|0;D=oa+4|0;A=a+396|0;E=na+8|0;y=0;x=0;while(1){d=y+1|0;g=cf(ba)|0;b:do if(!g){e=f[pa>>2]|0;if((f[na>>2]|0)==(e|0)){g=-1;break a}t=f[e+-4>>2]|0;s=(t|0)<0;c:do if(!s){e=t+(((t>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)da=7;else{k=f[C>>2]|0;i=f[k+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){q=0;break c}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){q=1;break}}}}else{e=t;da=7}while(0);if((da|0)==7){da=0;k=f[C>>2]|0;i=f[k+12>>2]|0;q=1}w=y*3|0;r=w+1|0;f[i+(t<<2)>>2]=r;f[i+(r<<2)>>2]=t;v=w+2|0;f[i+(e<<2)>>2]=v;f[i+(v<<2)>>2]=e;g=t+1|0;if(!s?(Y=((g|0)%3|0|0)==0?t+-2|0:g,(Y|0)>=0):0){o=f[k>>2]|0;p=f[o+(Y<<2)>>2]|0;f[o+(w<<2)>>2]=p;if((p|0)>-1){o=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(F=g+(l<<2)|0,(i|0)!=(F|0)):0)f[k>>2]=i+(~((i+-4-F|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=w;k=f[C>>2]|0}}else{f[(f[k>>2]|0)+(w<<2)>>2]=-1073741824;p=-1073741824}g=e+1|0;if(!q?(X=((g|0)%3|0|0)==0?e+-2|0:g,(X|0)>=0):0){q=f[k>>2]|0;o=f[q+(X<<2)>>2]|0;f[q+(r<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(K=e+(k<<2)|0,(g|0)!=(K|0)):0)f[i>>2]=g+(~((g+-4-K|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=r;e=f[C>>2]|0}else e=k}else{f[(f[k>>2]|0)+(r<<2)>>2]=-1073741824;e=k}if(!s?(V=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(V|0)>=0):0){t=f[e>>2]|0;o=f[t+(V<<2)>>2]|0;f[t+(v<<2)>>2]=o;if((o|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(J=e+(k<<2)|0,(g|0)!=(J|0)):0)f[i>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);g=v;e=e+(o<<2)|0;da=44}}else{g=-1073741824;e=(f[e>>2]|0)+(v<<2)|0;da=44}if((da|0)==44){da=0;f[e>>2]=g}if((x|0)>(ca|0)){g=-1;break a}e=(f[ha>>2]|0)+(p>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(p&31));f[(f[pa>>2]|0)+-4>>2]=w;e=w;g=0;l=x}else switch(g|0){case 3:case 5:{e=f[pa>>2]|0;if((f[na>>2]|0)==(e|0)){g=-1;break a}t=f[e+-4>>2]|0;v=y*3|0;s=((g|0)==5?2:1)+v|0;e=f[C>>2]|0;w=f[e+12>>2]|0;f[w+(s<<2)>>2]=t;f[w+(t<<2)>>2]=s;w=x+1|0;f[(f[e>>2]|0)+(s<<2)>>2]=x;if((x|0)>-1){l=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(w>>>0>k>>>0){lg(l,w-k|0);e=f[l>>2]|0;break}if(w>>>0>>0?(I=e+(w<<2)|0,(g|0)!=(I|0)):0)f[i>>2]=g+(~((g+-4-I|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=s;e=f[C>>2]|0}q=(s|0)<0;g=s+1|0;if(q)o=s;else o=((g|0)%3|0|0)==0?s+-2|0:g;r=(t|0)<0;if(!r?(U=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(U|0)>=0):0){x=f[e>>2]|0;p=f[x+(U<<2)>>2]|0;f[x+(o<<2)>>2]=p;if((p|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=p>>>0){k=p+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(H=e+(k<<2)|0,(g|0)!=(H|0)):0)f[i>>2]=g+(~((g+-4-H|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=o;e=f[C>>2]|0}}else f[(f[e>>2]|0)+(o<<2)>>2]=-1073741824;do if(!q)if(!((s>>>0)%3|0)){p=s+2|0;break}else{p=s+-1|0;break}else p=s;while(0);g=t+1|0;if(!r?(W=((g|0)%3|0|0)==0?t+-2|0:g,(W|0)>=0):0){x=f[e>>2]|0;o=f[x+(W<<2)>>2]|0;f[x+(p<<2)>>2]=o;if((o|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(G=e+(k<<2)|0,(g|0)!=(G|0)):0)f[i>>2]=g+(~((g+-4-G|0)>>>2)<<2)}while(0);g=p;e=e+(o<<2)|0;da=85}}else{g=-1073741824;e=(f[e>>2]|0)+(p<<2)|0;da=85}if((da|0)==85){da=0;f[e>>2]=g}f[(f[pa>>2]|0)+-4>>2]=v;e=v;g=1;l=w;break b}case 1:{g=f[na>>2]|0;e=f[pa>>2]|0;if((g|0)==(e|0)){g=-1;break a}q=e+-4|0;o=f[q>>2]|0;f[pa>>2]=q;l=f[D>>2]|0;d:do if(l){m=l+-1|0;k=(m&l|0)==0;if(k)p=m&y;else p=(y>>>0)%(l>>>0)|0;i=f[(f[oa>>2]|0)+(p<<2)>>2]|0;if(i){if(k)do{i=f[i>>2]|0;if(!i){e=q;break d}if((f[i+4>>2]&m|0)!=(p|0)){e=q;break d}}while((f[i+8>>2]|0)!=(y|0));else do{i=f[i>>2]|0;if(!i){e=q;break d}if((((f[i+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(p|0)){e=q;break d}}while((f[i+8>>2]|0)!=(y|0));i=i+12|0;if((q|0)==(f[E>>2]|0)){zg(na,i);g=f[na>>2]|0;e=f[pa>>2]|0;break}else{f[q>>2]=f[i>>2];f[pa>>2]=e;break}}else e=q}else e=q;while(0);if((g|0)==(e|0)){g=-1;break a}q=f[e+-4>>2]|0;v=y*3|0;t=v+2|0;e=f[C>>2]|0;w=f[e+12>>2]|0;f[w+(q<<2)>>2]=t;f[w+(t<<2)>>2]=q;s=v+1|0;f[w+(o<<2)>>2]=s;f[w+(s<<2)>>2]=o;if((q|0)>=0){g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;i=f[e>>2]|0;if((g|0)>=0){k=f[i+(g<<2)>>2]|0;f[i+(v<<2)>>2]=k;if((k|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=k>>>0){l=k+1|0;if(l>>>0>m>>>0){lg(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0>>0?(R=e+(l<<2)|0,(g|0)!=(R|0)):0)f[i>>2]=g+(~((g+-4-R|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=v;e=f[C>>2]|0;i=1}else i=0}else{f[i+(v<<2)>>2]=-1073741824;i=0;k=-1073741824}g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;l=f[e>>2]|0;if((g|0)>=0){r=f[l+(g<<2)>>2]|0;f[l+(s<<2)>>2]=r;if((r|0)>-1){q=e+24|0;l=e+28|0;g=f[l>>2]|0;e=f[q>>2]|0;p=g-e>>2;do if(p>>>0<=r>>>0){m=r+1|0;if(m>>>0>p>>>0){lg(q,m-p|0);e=f[q>>2]|0;break}if(m>>>0

>>0?(Q=e+(m<<2)|0,(g|0)!=(Q|0)):0)f[l>>2]=g+(~((g+-4-Q|0)>>>2)<<2)}while(0);f[e+(r<<2)>>2]=s;e=f[C>>2]|0;r=i}else r=i}else{g=l;da=117}}else{g=f[e>>2]|0;f[g+(v<<2)>>2]=-1073741824;i=0;k=-1073741824;da=117}if((da|0)==117){da=0;f[g+(s<<2)>>2]=-1073741824;r=i}if((o|0)>=0){g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;i=f[e>>2]|0;if((g|0)>=0){q=f[i+(g<<2)>>2]|0;f[i+(t<<2)>>2]=q;if((q|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=q>>>0){l=q+1|0;if(l>>>0>m>>>0){lg(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0>>0?(P=e+(l<<2)|0,(g|0)!=(P|0)):0)f[i>>2]=g+(~((g+-4-P|0)>>>2)<<2)}while(0);g=t;e=e+(q<<2)|0;da=138}}else{g=-1073741824;e=i+(t<<2)|0;da=138}if((da|0)==138){da=0;f[e>>2]=g}i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;g=f[C>>2]|0;if((i|0)<0){e=g;o=i;q=-1073741824}else{e=g;o=i;q=f[(f[g>>2]|0)+(i<<2)>>2]|0}}else{f[(f[e>>2]|0)+(t<<2)>>2]=-1073741824;q=-1073741824}t=f[A>>2]|0;w=t+(k<<2)|0;f[w>>2]=(f[w>>2]|0)+(f[t+(q<<2)>>2]|0);e:do if((o|0)>-1){p=k+1|0;if(!r){l=f[e>>2]|0;m=e+12|0;g=o;while(1){f[l+(g<<2)>>2]=k;w=g+1|0;g=((w|0)%3|0|0)==0?g+-2|0:w;if((g|0)<0)break e;i=f[(f[m>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break e;g=((g|0)%3|0|0)==0?i+-2|0:g;if((g|0)<=-1)break e}}do{f[(f[e>>2]|0)+(o<<2)>>2]=k;m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=k>>>0){if(p>>>0>l>>>0){lg(m,p-l|0);e=f[m>>2]|0;break}if(p>>>0>>0?(O=e+(p<<2)|0,(g|0)!=(O|0)):0)f[i>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=o;g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;e=f[C>>2]|0;if((g|0)<0)break e;i=f[(f[e+12>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break e;o=((g|0)%3|0|0)==0?i+-2|0:g}while((o|0)>-1)}while(0);f[(f[e+24>>2]|0)+(q<<2)>>2]=-1073741824;f[(f[pa>>2]|0)+-4>>2]=v;e=v;g=0;l=x;break b}case 7:{m=y*3|0;f[ga>>2]=m;i=f[C>>2]|0;p=x+1|0;e=f[i>>2]|0;f[e+(m<<2)>>2]=x;if((x|0)<=-1){g=m+1|0;k=x+2|0;f[e+(g<<2)>>2]=p;if((x|0)==-1){e=i;o=k;da=166}else{g=m;o=k}}else{l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(p>>>0>k>>>0){lg(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0>>0?(N=e+(p<<2)|0,(g|0)!=(N|0)):0)f[i>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=m;e=f[C>>2]|0;g=(f[ga>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=p;o=x+2|0;da=166}if((da|0)==166){da=0;m=e+24|0;k=e+28|0;i=f[k>>2]|0;e=f[m>>2]|0;l=i-e>>2;do if(l>>>0<=p>>>0){if(o>>>0>l>>>0){lg(m,o-l|0);e=f[m>>2]|0;break}if(o>>>0>>0?(M=e+(o<<2)|0,(i|0)!=(M|0)):0)f[k>>2]=i+(~((i+-4-M|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=g;i=f[C>>2]|0;g=f[ga>>2]|0;e=f[i>>2]|0}m=g+2|0;p=x+3|0;f[e+(m<<2)>>2]=o;if((o|0)>-1){l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=o>>>0){if(p>>>0>k>>>0){lg(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0>>0?(L=e+(p<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=m}e=f[pa>>2]|0;if((e|0)==(f[E>>2]|0)){zg(na,ga);e=f[pa>>2]|0}else{f[e>>2]=f[ga>>2];e=e+4|0;f[pa>>2]=e}e=f[e+-4>>2]|0;g=1;l=p;break b}default:{g=-1;break a}}while(0);f[S>>2]=e;f[ga>>2]=f[S>>2];yc(ba,ga);f:do if(g?(T=c-y|0,Z=T+-1|0,z=f[B>>2]|0,(z|0)!=(f[aa>>2]|0)):0){e=z;do{g=f[e+-8>>2]|0;if((g|0)>=(T|0)){g=-1;break a}if((g|0)!=(Z|0))break f;g=b[e+-4>>0]|0;k=f[e+-12>>2]|0;f[B>>2]=e+-12;if((k|0)<0){g=-1;break a}e=f[(f[pa>>2]|0)+-4>>2]|0;i=(e|0)<0;do if(!(g&1)){if(!i)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{g=e+1|0;if(!i)e=((g|0)%3|0|0)==0?e+-2|0:g}while(0);f[ga>>2]=_-k;y=md(oa,ga)|0;f[y>>2]=e;e=f[B>>2]|0}while((e|0)!=(f[aa>>2]|0))}while(0);if((d|0)<(c|0)){y=d;x=l}else{H=l;da=199;break}}}else{d=0;H=0;da=199}while(0);g:do if((da|0)==199)if((H|0)<=(ca|0)){g=f[pa>>2]|0;h:do if((g|0)==(f[na>>2]|0))e=a+8|0;else{v=a+278|0;w=a+372|0;x=a+368|0;y=a+360|0;z=a+364|0;e=a+8|0;G=a+60|0;E=a+64|0;C=a+68|0;B=a+76|0;D=a+80|0;F=a+72|0;A=a+320|0;i:while(1){da=g;f[ga>>2]=f[da+-4>>2];f[pa>>2]=da+-4;if((j[v>>1]|0)<514)if(b[w>>0]|0){g=f[x>>2]|0;i=(f[y>>2]|0)+(g>>>3)|0;if(i>>>0<(f[z>>2]|0)>>>0){da=(h[i>>0]|0)>>>(g&7)&1;f[x>>2]=g+1;g=da;da=208}else da=264}else da=209;else{g=(Di(A)|0)&1;da=208}if((da|0)==208)if(!g)da=264;else da=209;do if((da|0)==209){da=0;k=f[e>>2]|0;ca=f[k>>2]|0;r=ca;if((d|0)>=(((f[k+4>>2]|0)-ca>>2>>>0)/3|0|0))break i;q=f[ga>>2]|0;m=(q|0)<0;j:do if(!m){g=q+(((q>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[k+12>>2]|0;l=g;while(1){g=f[i+(l<<2)>>2]|0;if((g|0)<=-1){i=0;g=l;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else l=g}if(m){l=q;da=217;break}}else i=1;l=q+1|0;l=((l|0)%3|0|0)==0?q+-2|0:l;if((l|0)<0)da=217;else{m=f[k+12>>2]|0;o=l;while(1){l=f[m+(o<<2)>>2]|0;if((l|0)<=-1){s=0;p=g;l=o;break j}ca=l+1|0;l=((ca|0)%3|0|0)==0?l+-2|0:ca;if((l|0)<0){s=1;p=g;break}else o=l}}}else{i=1;g=q;l=q;da=217}while(0);if((da|0)==217){m=f[k+12>>2]|0;s=1;p=g}t=d+1|0;d=d*3|0;f[ia>>2]=d;f[m+(d<<2)>>2]=q;f[m+(q<<2)>>2]=d;d=(f[ia>>2]|0)+1|0;f[m+(d<<2)>>2]=p;f[m+(p<<2)>>2]=d;d=(f[ia>>2]|0)+2|0;f[m+(d<<2)>>2]=l;f[m+(l<<2)>>2]=d;d=f[ia>>2]|0;g=p+1|0;if(!i?(la=((g|0)%3|0|0)==0?p+-2|0:g,(la|0)>=0):0){q=f[r+(la<<2)>>2]|0;f[r+(d<<2)>>2]=q;if((q|0)>-1){p=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){lg(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0>>0?(fa=g+(m<<2)|0,(i|0)!=(fa|0)):0)f[k>>2]=i+(~((i+-4-fa|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=d;d=f[ia>>2]|0;k=f[e>>2]|0}}else f[r+(d<<2)>>2]=-1073741824;p=d+1|0;g=l+1|0;if(!s?(ka=((g|0)%3|0|0)==0?l+-2|0:g,(ka|0)>=0):0){da=f[k>>2]|0;o=f[da+(ka<<2)>>2]|0;f[da+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0>>0?(ea=d+(k<<2)|0,(g|0)!=(ea|0)):0)f[i>>2]=g+(~((g+-4-ea|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[ia>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;q=d+2|0;g=f[ga>>2]|0;i=g+1|0;if((g|0)>=0?(ja=((i|0)%3|0|0)==0?g+-2|0:i,(ja|0)>=0):0){da=f[k>>2]|0;p=f[da+(ja<<2)>>2]|0;f[da+(q<<2)>>2]=p;if((p|0)>-1){o=k+24|0;m=k+28|0;g=f[m>>2]|0;d=f[o>>2]|0;l=g-d>>2;do if(l>>>0<=p>>>0){k=p+1|0;i=g;if(k>>>0>l>>>0){lg(o,k-l|0);d=f[o>>2]|0;break}if(k>>>0>>0){g=d+(k<<2)|0;if((i|0)==(g|0))break;f[m>>2]=i+(~((i+-4-g|0)>>>2)<<2)}}while(0);f[d+(p<<2)>>2]=q;d=f[ia>>2]|0}}else f[(f[k>>2]|0)+(q<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[ha>>2]|0;da=g+(d>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(d&31));d=f[ia>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;da=g+(d>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(d&31));d=f[ia>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[E>>2]|0;g=f[C>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){nn(G);g=f[C>>2]|0}da=g<<6;d=d+32&-32;ig(G,g<<5>>>0<1073741823?(da>>>0>>0?d:da):2147483647);d=f[E>>2]|0}f[E>>2]=d+1;da=(f[G>>2]|0)+(d>>>5<<2)|0;f[da>>2]=f[da>>2]|1<<(d&31);d=f[B>>2]|0;if((d|0)==(f[D>>2]|0))zg(F,ia);else{f[d>>2]=f[ia>>2];f[B>>2]=d+4}d=t}else if((da|0)==264){g=f[E>>2]|0;i=f[C>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){nn(G);i=f[C>>2]|0}da=i<<6;g=g+32&-32;ig(G,i<<5>>>0<1073741823?(da>>>0>>0?g:da):2147483647);g=f[E>>2]|0}f[E>>2]=g+1;da=(f[G>>2]|0)+(g>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(g&31));g=f[B>>2]|0;if((g|0)==(f[D>>2]|0)){zg(F,ga);break}else{f[g>>2]=f[ga>>2];f[B>>2]=g+4;break}}while(0);g=f[pa>>2]|0;if((g|0)==(f[na>>2]|0))break h}g=-1;break g}while(0);la=f[e>>2]|0;if((d|0)==(((f[la+4>>2]|0)-(f[la>>2]|0)>>2>>>0)/3|0|0)){k=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[k>>2]|0;i=e-d>>2;if(H>>>0>i>>>0){lg(k,H-i|0);g=H;break}if(H>>>0>>0?(ma=d+(H<<2)|0,(e|0)!=(ma|0)):0){f[g>>2]=e+(~((e+-4-ma|0)>>>2)<<2);g=H}else g=H}else g=-1}else g=-1;while(0);d=f[oa+8>>2]|0;if(d|0)do{ma=d;d=f[d>>2]|0;Co(ma)}while((d|0)!=0);d=f[oa>>2]|0;f[oa>>2]=0;if(d|0)Co(d);d=f[na>>2]|0;if(!d){u=qa;return g|0}e=f[pa>>2]|0;if((e|0)!=(d|0))f[pa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=qa;return g|0}function _a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;pa=u;u=u+48|0;ma=pa+28|0;na=pa+8|0;fa=pa+4|0;ha=pa;f[ma>>2]=0;oa=ma+4|0;f[oa>>2]=0;f[ma+8>>2]=0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;n[na+16>>2]=$(1.0);ga=a+132|0;ca=f[a+136>>2]|0;a:do if((c|0)>0){U=a+316|0;B=na+4|0;C=a+8|0;D=ma+8|0;V=a+312|0;S=a+304|0;T=a+308|0;ba=a+36|0;A=a+40|0;aa=c+-1|0;y=0;z=0;b:while(1){d=y+1|0;c:do if(!(b[U>>0]|0))I=93;else{g=f[V>>2]|0;k=f[S>>2]|0;l=f[T>>2]|0;e=k+(g>>>3)|0;if(e>>>0>>0?(x=h[e>>0]|0,E=g+1|0,f[V>>2]=E,x&1<<(g&7)|0):0){e=k+(E>>>3)|0;if(e>>>0>>0){i=(h[e>>0]|0)>>>(E&7)&1;g=g+2|0;f[V>>2]=g}else{g=E;i=0}e=k+(g>>>3)|0;if(e>>>0>>0){e=(h[e>>0]|0)>>>(g&7);f[V>>2]=g+1;e=e<<1&2}else e=0;g=(e|i)<<1|1;switch(g&7){case 1:{I=93;break c}case 3:case 5:{e=f[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){H=-1;break a}w=f[e+-4>>2]|0;x=y*3|0;v=((g|0)==5?2:1)+x|0;g=f[C>>2]|0;e=f[g+12>>2]|0;f[e+(v<<2)>>2]=w;f[e+(w<<2)>>2]=v;e=z+1|0;f[(f[g>>2]|0)+(v<<2)>>2]=z;if((z|0)>-1){m=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=z>>>0){if(e>>>0>l>>>0){lg(m,e-l|0);g=f[m>>2]|0;break}if(e>>>0>>0?(G=g+(e<<2)|0,(i|0)!=(G|0)):0)f[k>>2]=i+(~((i+-4-G|0)>>>2)<<2)}while(0);f[g+(z<<2)>>2]=v;g=f[C>>2]|0}s=(v|0)<0;i=v+1|0;if(s)q=v;else q=((i|0)%3|0|0)==0?v+-2|0:i;t=(w|0)<0;if(!t?(W=(((w>>>0)%3|0|0)==0?2:-1)+w|0,(W|0)>=0):0){z=f[g>>2]|0;r=f[z+(W<<2)>>2]|0;f[z+(q<<2)>>2]=r;if((r|0)>-1){p=g+24|0;o=g+28|0;i=f[o>>2]|0;g=f[p>>2]|0;m=i-g>>2;do if(m>>>0<=r>>>0){l=r+1|0;k=i;if(l>>>0>m>>>0){lg(p,l-m|0);g=f[p>>2]|0;break}if(l>>>0>=m>>>0)break;i=g+(l<<2)|0;if((k|0)==(i|0))break;f[o>>2]=k+(~((k+-4-i|0)>>>2)<<2)}while(0);f[g+(r<<2)>>2]=q;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(q<<2)>>2]=-1073741824;do if(!s)if(!((v>>>0)%3|0)){r=v+2|0;break}else{r=v+-1|0;break}else r=v;while(0);i=w+1|0;if(!t?(Y=((i|0)%3|0|0)==0?w+-2|0:i,(Y|0)>=0):0){z=f[g>>2]|0;q=f[z+(Y<<2)>>2]|0;f[z+(r<<2)>>2]=q;if((q|0)>-1){p=g+24|0;o=g+28|0;i=f[o>>2]|0;g=f[p>>2]|0;m=i-g>>2;do if(m>>>0<=q>>>0){l=q+1|0;k=i;if(l>>>0>m>>>0){lg(p,l-m|0);g=f[p>>2]|0;break}if(l>>>0>=m>>>0)break;i=g+(l<<2)|0;if((k|0)==(i|0))break;f[o>>2]=k+(~((k+-4-i|0)>>>2)<<2)}while(0);i=r;g=g+(q<<2)|0;I=91}}else{i=-1073741824;g=(f[g>>2]|0)+(r<<2)|0;I=91}if((I|0)==91){I=0;f[g>>2]=i}f[(f[oa>>2]|0)+-4>>2]=x;break}case 7:{m=y*3|0;f[fa>>2]=m;i=f[C>>2]|0;o=z+1|0;e=f[i>>2]|0;f[e+(m<<2)>>2]=z;if((z|0)<=-1){g=m+1|0;k=z+2|0;f[e+(g<<2)>>2]=o;if((z|0)==-1){e=i;p=k;I=170}else{g=m;p=k}}else{l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=z>>>0){if(o>>>0>k>>>0){lg(l,o-k|0);e=f[l>>2]|0;break}if(o>>>0>>0?(N=e+(o<<2)|0,(g|0)!=(N|0)):0)f[i>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(z<<2)>>2]=m;e=f[C>>2]|0;g=(f[fa>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=o;p=z+2|0;I=170}if((I|0)==170){I=0;m=e+24|0;k=e+28|0;i=f[k>>2]|0;e=f[m>>2]|0;l=i-e>>2;do if(l>>>0<=o>>>0){if(p>>>0>l>>>0){lg(m,p-l|0);e=f[m>>2]|0;break}if(p>>>0>>0?(M=e+(p<<2)|0,(i|0)!=(M|0)):0)f[k>>2]=i+(~((i+-4-M|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=g;i=f[C>>2]|0;g=f[fa>>2]|0;e=f[i>>2]|0}m=g+2|0;o=z+3|0;f[e+(m<<2)>>2]=p;if((p|0)>-1){l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=p>>>0){if(o>>>0>k>>>0){lg(l,o-k|0);e=f[l>>2]|0;break}if(o>>>0>>0?(L=e+(o<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=m}e=f[oa>>2]|0;if((e|0)==(f[D>>2]|0))zg(ma,fa);else{f[e>>2]=f[fa>>2];f[oa>>2]=e+4}e=o;break}default:break b}m=c-y|0;o=m+-1|0;g=f[A>>2]|0;if((g|0)==(f[ba>>2]|0))break;while(1){i=f[g+-8>>2]|0;if((i|0)>=(m|0)){H=-1;break a}if((i|0)!=(o|0))break c;i=b[g+-4>>0]|0;l=f[g+-12>>2]|0;f[A>>2]=g+-12;if((l|0)<0){H=-1;break a}g=f[(f[oa>>2]|0)+-4>>2]|0;k=(g|0)<0;do if(!(i&1)){if(!k)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else{i=g+1|0;if(!k)g=((i|0)%3|0|0)==0?g+-2|0:i}while(0);f[fa>>2]=aa-l;z=md(na,fa)|0;f[z>>2]=g;g=f[A>>2]|0;if((g|0)==(f[ba>>2]|0))break c}}e=f[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){H=-1;break a}w=f[e+-4>>2]|0;v=(w|0)<0;d:do if(!v){e=w+(((w>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)I=13;else{k=f[C>>2]|0;i=f[k+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){g=k;r=0;q=e;break d}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){g=k;r=1;q=e;break}}}}else{e=w;I=13}while(0);if((I|0)==13){I=0;g=f[C>>2]|0;i=f[g+12>>2]|0;r=1;q=e}e=y*3|0;s=e+1|0;f[i+(w<<2)>>2]=s;f[i+(s<<2)>>2]=w;x=e+2|0;f[i+(q<<2)>>2]=x;f[i+(x<<2)>>2]=q;i=w+1|0;if(!v?(_=((i|0)%3|0|0)==0?w+-2|0:i,(_|0)>=0):0){y=f[g>>2]|0;p=f[y+(_<<2)>>2]|0;f[y+(e<<2)>>2]=p;if((p|0)>-1){o=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(F=g+(l<<2)|0,(i|0)!=(F|0)):0)f[k>>2]=i+(~((i+-4-F|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=e;g=f[C>>2]|0;t=p}else t=p}else{f[(f[g>>2]|0)+(e<<2)>>2]=-1073741824;t=-1073741824}i=q+1|0;if(!r?(Z=((i|0)%3|0|0)==0?q+-2|0:i,(Z|0)>=0):0){y=f[g>>2]|0;p=f[y+(Z<<2)>>2]|0;f[y+(s<<2)>>2]=p;if((p|0)>-1){o=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(K=g+(l<<2)|0,(i|0)!=(K|0)):0)f[k>>2]=i+(~((i+-4-K|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=s;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(s<<2)>>2]=-1073741824;if(!v?(X=(((w>>>0)%3|0|0)==0?2:-1)+w|0,(X|0)>=0):0){y=f[g>>2]|0;p=f[y+(X<<2)>>2]|0;f[y+(x<<2)>>2]=p;if((p|0)>-1){o=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(J=g+(l<<2)|0,(i|0)!=(J|0)):0)f[k>>2]=i+(~((i+-4-J|0)>>>2)<<2)}while(0);i=x;g=g+(p<<2)|0;I=50}}else{i=-1073741824;g=(f[g>>2]|0)+(x<<2)|0;I=50}if((I|0)==50){I=0;f[g>>2]=i}if((z|0)>(ca|0)){H=-1;break a}I=(f[ga>>2]|0)+(t>>>5<<2)|0;f[I>>2]=f[I>>2]&~(1<<(t&31));I=189}while(0);if((I|0)==93){I=0;g=f[ma>>2]|0;e=f[oa>>2]|0;if((g|0)==(e|0)){H=-1;break a}p=e+-4|0;v=f[p>>2]|0;f[oa>>2]=p;l=f[B>>2]|0;e:do if(l){m=l+-1|0;k=(m&l|0)==0;if(k)o=m&y;else o=(y>>>0)%(l>>>0)|0;i=f[(f[na>>2]|0)+(o<<2)>>2]|0;if(i){if(k)do{i=f[i>>2]|0;if(!i){e=p;break e}if((f[i+4>>2]&m|0)!=(o|0)){e=p;break e}}while((f[i+8>>2]|0)!=(y|0));else do{i=f[i>>2]|0;if(!i){e=p;break e}if((((f[i+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(o|0)){e=p;break e}}while((f[i+8>>2]|0)!=(y|0));i=i+12|0;if((p|0)==(f[D>>2]|0)){zg(ma,i);g=f[ma>>2]|0;e=f[oa>>2]|0;break}else{f[p>>2]=f[i>>2];f[oa>>2]=e;break}}else e=p}else e=p;while(0);if((g|0)==(e|0)){H=-1;break a}q=f[e+-4>>2]|0;e=y*3|0;t=e+2|0;i=f[C>>2]|0;y=f[i+12>>2]|0;f[y+(q<<2)>>2]=t;f[y+(t<<2)>>2]=q;s=e+1|0;f[y+(v<<2)>>2]=s;f[y+(s<<2)>>2]=v;if((q|0)>=0){g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;k=f[i>>2]|0;if((g|0)>=0){l=f[k+(g<<2)>>2]|0;f[k+(e<<2)>>2]=l;if((l|0)>-1){p=i+24|0;k=i+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=l>>>0){m=l+1|0;if(m>>>0>o>>>0){lg(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0>>0?(R=g+(m<<2)|0,(i|0)!=(R|0)):0)f[k>>2]=i+(~((i+-4-R|0)>>>2)<<2)}while(0);f[g+(l<<2)>>2]=e;i=f[C>>2]|0;k=1}else k=0}else{f[k+(e<<2)>>2]=-1073741824;k=0;l=-1073741824}g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;m=f[i>>2]|0;if((g|0)>=0){r=f[m+(g<<2)>>2]|0;f[m+(s<<2)>>2]=r;if((r|0)>-1){q=i+24|0;m=i+28|0;i=f[m>>2]|0;g=f[q>>2]|0;p=i-g>>2;do if(p>>>0<=r>>>0){o=r+1|0;if(o>>>0>p>>>0){lg(q,o-p|0);g=f[q>>2]|0;break}if(o>>>0

>>0?(Q=g+(o<<2)|0,(i|0)!=(Q|0)):0)f[m>>2]=i+(~((i+-4-Q|0)>>>2)<<2)}while(0);f[g+(r<<2)>>2]=s;i=f[C>>2]|0;r=k;s=l}else{r=k;s=l}}else{g=m;I=123}}else{g=f[i>>2]|0;f[g+(e<<2)>>2]=-1073741824;k=0;l=-1073741824;I=123}if((I|0)==123){I=0;f[g+(s<<2)>>2]=-1073741824;r=k;s=l}f:do if((v|0)>=0){g=(((v>>>0)%3|0|0)==0?2:-1)+v|0;k=f[i>>2]|0;if((g|0)>=0){p=f[k+(g<<2)>>2]|0;f[k+(t<<2)>>2]=p;if((p|0)>-1){o=i+24|0;k=i+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(P=g+(l<<2)|0,(i|0)!=(P|0)):0)f[k>>2]=i+(~((i+-4-P|0)>>>2)<<2)}while(0);i=t;g=g+(p<<2)|0;I=144}}else{i=-1073741824;g=k+(t<<2)|0;I=144}if((I|0)==144)f[g>>2]=i;k=v+1|0;k=((k|0)%3|0|0)==0?v+-2|0:k;i=f[C>>2]|0;if((k|0)<0)g=-1073741824;else{g=f[(f[i>>2]|0)+(k<<2)>>2]|0;q=s+1|0;if(!r){m=f[i>>2]|0;o=i+12|0;while(1){f[m+(k<<2)>>2]=s;I=k+1|0;k=((I|0)%3|0|0)==0?k+-2|0:I;if((k|0)<0)break f;l=f[(f[o>>2]|0)+(k<<2)>>2]|0;k=l+1|0;if((l|0)<0)break f;k=((k|0)%3|0|0)==0?l+-2|0:k;if((k|0)<=-1)break f}}do{f[(f[i>>2]|0)+(k<<2)>>2]=s;p=i+24|0;m=i+28|0;l=f[m>>2]|0;i=f[p>>2]|0;o=l-i>>2;do if(o>>>0<=s>>>0){if(q>>>0>o>>>0){lg(p,q-o|0);i=f[p>>2]|0;break}if(q>>>0>>0?(O=i+(q<<2)|0,(l|0)!=(O|0)):0)f[m>>2]=l+(~((l+-4-O|0)>>>2)<<2)}while(0);f[i+(s<<2)>>2]=k;i=k+1|0;k=((i|0)%3|0|0)==0?k+-2|0:i;i=f[C>>2]|0;if((k|0)<0)break f;l=f[(f[i+12>>2]|0)+(k<<2)>>2]|0;k=l+1|0;if((l|0)<0)break f;k=((k|0)%3|0|0)==0?l+-2|0:k}while((k|0)>-1)}}else{f[(f[i>>2]|0)+(t<<2)>>2]=-1073741824;g=-1073741824}while(0);f[(f[i+24>>2]|0)+(g<<2)>>2]=-1073741824;I=189}if((I|0)==189){I=0;f[(f[oa>>2]|0)+-4>>2]=e;e=z}if((d|0)<(c|0)){y=d;z=e}else{H=e;I=203;break a}}}else{d=0;H=0;I=203}while(0);g:do if((I|0)==203)if((H|0)<=(ca|0)){g=f[oa>>2]|0;h:do if((g|0)==(f[ma>>2]|0))e=a+8|0;else{D=a+278|0;B=a+372|0;C=a+368|0;z=a+360|0;A=a+364|0;e=a+8|0;F=a+60|0;y=a+64|0;w=a+68|0;v=a+76|0;x=a+80|0;E=a+72|0;G=a+320|0;i:while(1){ca=g;f[fa>>2]=f[ca+-4>>2];f[oa>>2]=ca+-4;if((j[D>>1]|0)<514)if(b[B>>0]|0){g=f[C>>2]|0;i=(f[z>>2]|0)+(g>>>3)|0;if(i>>>0<(f[A>>2]|0)>>>0){I=(h[i>>0]|0)>>>(g&7)&1;f[C>>2]=g+1;g=I;I=212}else I=268}else I=213;else{g=(Di(G)|0)&1;I=212}if((I|0)==212)if(!g)I=268;else I=213;do if((I|0)==213){I=0;k=f[e>>2]|0;ca=f[k>>2]|0;r=ca;if((d|0)>=(((f[k+4>>2]|0)-ca>>2>>>0)/3|0|0))break i;q=f[fa>>2]|0;m=(q|0)<0;j:do if(!m){g=q+(((q>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[k+12>>2]|0;l=g;while(1){g=f[i+(l<<2)>>2]|0;if((g|0)<=-1){i=0;g=l;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else l=g}if(m){l=q;I=221;break}}else i=1;l=q+1|0;l=((l|0)%3|0|0)==0?q+-2|0:l;if((l|0)<0)I=221;else{m=f[k+12>>2]|0;o=l;while(1){l=f[m+(o<<2)>>2]|0;if((l|0)<=-1){s=0;p=g;l=o;break j}ca=l+1|0;l=((ca|0)%3|0|0)==0?l+-2|0:ca;if((l|0)<0){s=1;p=g;break}else o=l}}}else{i=1;g=q;l=q;I=221}while(0);if((I|0)==221){m=f[k+12>>2]|0;s=1;p=g}t=d+1|0;d=d*3|0;f[ha>>2]=d;f[m+(d<<2)>>2]=q;f[m+(q<<2)>>2]=d;d=(f[ha>>2]|0)+1|0;f[m+(d<<2)>>2]=p;f[m+(p<<2)>>2]=d;d=(f[ha>>2]|0)+2|0;f[m+(d<<2)>>2]=l;f[m+(l<<2)>>2]=d;d=f[ha>>2]|0;g=p+1|0;if(!i?(ka=((g|0)%3|0|0)==0?p+-2|0:g,(ka|0)>=0):0){q=f[r+(ka<<2)>>2]|0;f[r+(d<<2)>>2]=q;if((q|0)>-1){p=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){lg(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0>>0?(ea=g+(m<<2)|0,(i|0)!=(ea|0)):0)f[k>>2]=i+(~((i+-4-ea|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=d;d=f[ha>>2]|0;k=f[e>>2]|0}}else f[r+(d<<2)>>2]=-1073741824;p=d+1|0;g=l+1|0;if(!s?(ja=((g|0)%3|0|0)==0?l+-2|0:g,(ja|0)>=0):0){ca=f[k>>2]|0;o=f[ca+(ja<<2)>>2]|0;f[ca+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0>>0?(da=d+(k<<2)|0,(g|0)!=(da|0)):0)f[i>>2]=g+(~((g+-4-da|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[ha>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;q=d+2|0;g=f[fa>>2]|0;i=g+1|0;if((g|0)>=0?(ia=((i|0)%3|0|0)==0?g+-2|0:i,(ia|0)>=0):0){ca=f[k>>2]|0;p=f[ca+(ia<<2)>>2]|0;f[ca+(q<<2)>>2]=p;if((p|0)>-1){o=k+24|0;m=k+28|0;g=f[m>>2]|0;d=f[o>>2]|0;l=g-d>>2;do if(l>>>0<=p>>>0){k=p+1|0;i=g;if(k>>>0>l>>>0){lg(o,k-l|0);d=f[o>>2]|0;break}if(k>>>0>>0){g=d+(k<<2)|0;if((i|0)==(g|0))break;f[m>>2]=i+(~((i+-4-g|0)>>>2)<<2)}}while(0);f[d+(p<<2)>>2]=q;d=f[ha>>2]|0}}else f[(f[k>>2]|0)+(q<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[ga>>2]|0;ca=g+(d>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(d&31));d=f[ha>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;ca=g+(d>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(d&31));d=f[ha>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[y>>2]|0;g=f[w>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){nn(F);g=f[w>>2]|0}ca=g<<6;d=d+32&-32;ig(F,g<<5>>>0<1073741823?(ca>>>0>>0?d:ca):2147483647);d=f[y>>2]|0}f[y>>2]=d+1;ca=(f[F>>2]|0)+(d>>>5<<2)|0;f[ca>>2]=f[ca>>2]|1<<(d&31);d=f[v>>2]|0;if((d|0)==(f[x>>2]|0))zg(E,ha);else{f[d>>2]=f[ha>>2];f[v>>2]=d+4}d=t}else if((I|0)==268){g=f[y>>2]|0;i=f[w>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){nn(F);i=f[w>>2]|0}ca=i<<6;g=g+32&-32;ig(F,i<<5>>>0<1073741823?(ca>>>0>>0?g:ca):2147483647);g=f[y>>2]|0}f[y>>2]=g+1;ca=(f[F>>2]|0)+(g>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(g&31));g=f[v>>2]|0;if((g|0)==(f[x>>2]|0)){zg(E,fa);break}else{f[g>>2]=f[fa>>2];f[v>>2]=g+4;break}}while(0);g=f[oa>>2]|0;if((g|0)==(f[ma>>2]|0))break h}H=-1;break g}while(0);ka=f[e>>2]|0;if((d|0)==(((f[ka+4>>2]|0)-(f[ka>>2]|0)>>2>>>0)/3|0|0)){k=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[k>>2]|0;i=e-d>>2;if(H>>>0>i>>>0){lg(k,H-i|0);break}if(H>>>0>>0?(la=d+(H<<2)|0,(e|0)!=(la|0)):0)f[g>>2]=e+(~((e+-4-la|0)>>>2)<<2)}else H=-1}else H=-1;while(0);d=f[na+8>>2]|0;if(d|0)do{la=d;d=f[d>>2]|0;Co(la)}while((d|0)!=0);d=f[na>>2]|0;f[na>>2]=0;if(d|0)Co(d);d=f[ma>>2]|0;if(!d){u=pa;return H|0}e=f[oa>>2]|0;if((e|0)!=(d|0))f[oa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=pa;return H|0}function $a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[5218]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=20912+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[5218]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[5220]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=20912+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[5223]|0;b=l>>>3;c=20912+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5220]=g;f[5223]=e;w=h;u=x;return w|0}i=f[5219]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[21176+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=21176+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[5219]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[5223]|0;b=l>>>3;c=20912+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5220]=j;f[5223]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[5219]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[21176+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[21176+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[5220]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=21176+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=20912+(b<<1<<2)|0;a=f[5218]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=21176+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[5220]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[5223]|0;if(a>>>0>15){w=b+m|0;f[5223]=w;f[5220]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[5220]=0;f[5223]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[5221]|0;if(h>>>0>m>>>0){t=h-m|0;f[5221]=t;w=f[5224]|0;v=w+m|0;f[5224]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[5336]|0)){f[5338]=4096;f[5337]=4096;f[5339]=-1;f[5340]=-1;f[5341]=0;f[5329]=0;a=n&-16^1431655768;f[n>>2]=a;f[5336]=a;a=4096}else a=f[5338]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[5328]|0;if(a|0?(l=f[5326]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[5329]&4)){c=f[5224]|0;c:do if(c){e=21320;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=sj(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=sj(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[5337]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[5326]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[5328]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=sj(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[5338]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((sj(a|0)|0)==(-1|0)){sj(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[5329]=f[5329]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=sj(k|0)|0,q=sj(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[5326]|0)+g|0;f[5326]=b;if(b>>>0>(f[5327]|0)>>>0)f[5327]=b;j=f[5224]|0;do if(j){e=21320;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[5221]|0)+(g-w)|0;f[5224]=v;f[5221]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5225]=f[5340];break}if(h>>>0<(f[5222]|0)>>>0)f[5222]=h;c=h+g|0;a=21320;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[5223]|0)){w=(f[5220]|0)+i|0;f[5220]=w;f[5223]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[5218]=f[5218]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=21176+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[5219]=f[5219]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=20912+(b<<1<<2)|0;a=f[5218]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=21176+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[5219]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[5221]|0)+i|0;f[5221]=w;f[5224]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=21320;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[5224]=v;f[5221]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[5225]=f[5340];c=a+4|0;f[c>>2]=27;f[b>>2]=f[5330];f[b+4>>2]=f[5331];f[b+8>>2]=f[5332];f[b+12>>2]=f[5333];f[5330]=h;f[5331]=g;f[5333]=0;f[5332]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=20912+(b<<1<<2)|0;a=f[5218]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=21176+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[5219]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[5222]|0;if((w|0)==0|h>>>0>>0)f[5222]=h;f[5330]=h;f[5331]=g;f[5333]=0;f[5227]=f[5336];f[5226]=-1;b=0;do{w=20912+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[5224]=v;f[5221]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5225]=f[5340]}while(0);b=f[5221]|0;if(b>>>0>m>>>0){t=b-m|0;f[5221]=t;w=f[5224]|0;v=w+m|0;f[5224]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=oo()|0;f[w>>2]=12;w=0;u=x;return w|0}function ab(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(tj(4420,4612,c,b)|0)-4420>>2;a=e;e=0;a:while(1){b=(f[4420+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[4228+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=tj(4228,4420,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function bb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;p=D+60|0;s=D+52|0;r=D+44|0;C=D;v=D+56|0;w=D+48|0;A=D+40|0;n=a+144|0;f[n>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{z=c;c=f[c>>2]|0;Co(z)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}q=a+4|0;c=f[q>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){y=m+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=gm(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((y|0)<(k|0)|(y|0)==(k|0)&z>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;t=l;f[t>>2]=i;f[t+4>>2]=k;t=14}}else if(sh(B,m)|0){e=f[q>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;t=14}if((t|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){y=l+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=gm(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((y|0)<(i|0)|(y|0)==(i|0)&z>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;t=21}}else if(sh(o,l)|0){k=f[q>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;t=21}else c=0;if((t|0)==21){n=a+168|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){y=k+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((y|0)<(g|0)|(y|0)==(g|0)&z>>>0>>0)c=0;else{t=(f[k>>2]|0)+c|0;f[p>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=25}}else if(sh(p,k)|0)t=25;else c=0;do if((t|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=Nk(60)|0;pm(c);z=a+8|0;e=f[z>>2]|0;f[z>>2]=c;if(e){nh(e);Co(e);c=f[z>>2]|0;if(!c){c=0;break}}if(Oi(c,f[p>>2]|0)|0){i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);i=a+184|0;c=f[i>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[q>>2]|0)+32>>2]|0;y=c+8|0;x=f[y+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((x|0)>(g|0)|((x|0)==(g|0)?(f[y>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=gm(e|0,g|0,1,0)|0;y=i;f[y>>2]=k;f[y+4>>2]=I;y=a+224|0;k=f[y>>2]|0;x=a+228|0;c=f[x>>2]|0;if((c|0)!=(k|0))do{f[x>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}xh(c+-112|0);c=f[x>>2]|0}while((c|0)!=(k|0));m=l&255;Sf(y,m);o=f[q>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[s>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=60}}else if(sh(s,c)|0){c=f[s>>2]|0;t=60}else c=0;if((t|0)==60)if((f[p>>2]|0)>>>0>>0)c=0;else{p=f[q>>2]|0;c=f[p+32>>2]|0;do if((h[p+36>>0]<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&p>>>0>>0){c=0;break}c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[r>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=66}else{if(!(sh(r,c)|0)){c=0;break}c=f[r>>2]|0;t=66}while(0);a:do if((t|0)==66){l=a+132|0;c=c+(f[n>>2]|0)|0;b[B>>0]=1;ef(l,c,B);c=f[q>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Eb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)>=512){if(sh(B,k)|0)t=71}else{o=k+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((o|0)<(g|0)|(o|0)==(g|0)&p>>>0>>0)break;t=(f[k>>2]|0)+c|0;f[B>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=71}while(0);do if((t|0)==71){ik(C);c=f[(f[q>>2]|0)+32>>2]|0;o=c+16|0;k=f[o>>2]|0;t=f[B>>2]|0;p=(f[c>>2]|0)+k+t|0;i=c+8|0;o=wl(f[i>>2]|0,f[i+4>>2]|0,k|0,f[o+4>>2]|0)|0;t=wl(o|0,I|0,t|0,0)|0;Ak(C,p,t,d[c+38>>1]|0);c=Eb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);t=a+240|0;f[a+384>>2]=a;k=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;k=f[k>>2]|0;k=(f[k>>2]|0)+(f[k+16>>2]|0)|0;o=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;p=o+8|0;o=o+16|0;o=wl(f[p>>2]|0,f[p+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;p=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Ak(t,k,o,d[(f[p>>2]|0)+38>>1]|0);p=Sa[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+388>>2]=p;p=f[q>>2]|0;f[a+392>>2]=(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514?0:f[r>>2]|0)+(f[n>>2]|0);f[a+380>>2]=m;ik(C);c:do if(uf(t,C)|0){if((Ya(a,f[s>>2]|0)|0)==-1){c=0;break}c=f[(f[q>>2]|0)+32>>2]|0;e=C+16|0;s=f[e>>2]|0;t=(f[C>>2]|0)+s|0;r=C+8|0;e=wl(f[r>>2]|0,f[r+4>>2]|0,s|0,f[e+4>>2]|0)|0;Ak(c,t,e,d[c+38>>1]|0);c=f[q>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){t=(f[c+32>>2]|0)+16|0;s=t;s=gm(f[s>>2]|0,f[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[t>>2]=s;f[t+4>>2]=I}do if((f[x>>2]|0)!=(f[y>>2]|0)){c=f[z>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[B>>2]=f[v>>2];c=c+3|0;if(!(Hd(a,B)|0)){c=0;break c}w=f[z>>2]|0}while((c|0)<((f[w+4>>2]|0)-(f[w>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[B>>2]=f[w>>2];c=c+3|0;if(!(Cd(a,B)|0)){c=0;break c}v=f[z>>2]|0}while((c|0)<((f[v+4>>2]|0)-(f[v>>2]|0)>>2|0))}}while(0);if(b[a+316>>0]|0)Oj(a+280|0);if((j[a+278>>1]|0)<514)Oj(a+336|0);i=f[z>>2]|0;t=f[i+28>>2]|0;k=f[i+24>>2]|0;s=k;if((t-k|0)>0){n=f[l>>2]|0;r=t-k>>2;p=i+12|0;q=0;do{do if(f[n+(q>>>5<<2)>>2]&1<<(q&31)|0){o=s+(q<<2)|0;c=f[o>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){m=f[p>>2]|0;g=f[m+(e<<2)>>2]|0;e=g+1|0;d:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break d;g=f[m+(g<<2)>>2]|0;l=g+1|0;if((g|0)<0)break d;g=((l|0)%3|0|0)==0?g+-2|0:l;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[o>>2]=c}while(0);q=q+1|0}while((q|0)<(r|0))}g=f[x>>2]|0;w=f[y>>2]|0;c=w;if((g|0)==(w|0)){i=t;e=g}else{k=0;do{Gg(c+(k*116|0)+4|0,i)|0;c=f[y>>2]|0;e=f[c+(k*116|0)+104>>2]|0;g=f[c+(k*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Pe(c+(k*116|0)+4|0,B);e=e+4|0;c=f[y>>2]|0}while((e|0)!=(g|0));qj(c+(k*116|0)+4|0,0,0);k=k+1|0;g=f[x>>2]|0;e=f[y>>2]|0;c=e;i=f[z>>2]|0}while(k>>>0<((g-e|0)/116|0)>>>0);k=f[i+24>>2]|0;i=f[i+28>>2]|0}k=i-k>>2;m=a+208|0;o=a+212|0;n=f[o>>2]|0;i=f[m>>2]|0;l=n-i>>2;do if(k>>>0>l>>>0){lg(m,k-l|0);c=f[y>>2]|0;g=f[x>>2]|0;e=c}else{if(k>>>0>=l>>>0)break;i=i+(k<<2)|0;if((n|0)==(i|0))break;f[o>>2]=n+(~((n+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){o=0;while(1){m=(f[c+(o*116|0)+60>>2]|0)-(f[c+(o*116|0)+56>>2]|0)>>2;n=f[z>>2]|0;n=(f[n+28>>2]|0)-(f[n+24>>2]|0)>>2;m=(m|0)<(n|0)?n:m;n=c+(o*116|0)+88|0;l=c+(o*116|0)+92|0;k=f[l>>2]|0;c=f[n>>2]|0;i=k-c>>2;do if(m>>>0>i>>>0){lg(n,m-i|0);e=f[y>>2]|0;g=f[x>>2]|0}else{if(m>>>0>=i>>>0)break;c=c+(m<<2)|0;if((k|0)==(c|0))break;f[l>>2]=k+(~((k+-4-c|0)>>>2)<<2)}while(0);o=o+1|0;if(o>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=xb(a)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}else c=0}else c=0}while(0)}C=c;u=D;return C|0}function cb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;p=D+60|0;s=D+52|0;r=D+44|0;C=D;v=D+56|0;w=D+48|0;A=D+40|0;n=a+144|0;f[n>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{z=c;c=f[c>>2]|0;Co(z)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}q=a+4|0;c=f[q>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){y=m+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=gm(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((y|0)<(k|0)|(y|0)==(k|0)&z>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;t=l;f[t>>2]=i;f[t+4>>2]=k;t=14}}else if(sh(B,m)|0){e=f[q>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;t=14}if((t|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){y=l+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=gm(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((y|0)<(i|0)|(y|0)==(i|0)&z>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;t=21}}else if(sh(o,l)|0){k=f[q>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;t=21}else c=0;if((t|0)==21){n=a+168|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){y=k+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((y|0)<(g|0)|(y|0)==(g|0)&z>>>0>>0)c=0;else{t=(f[k>>2]|0)+c|0;f[p>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=25}}else if(sh(p,k)|0)t=25;else c=0;do if((t|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=Nk(60)|0;pm(c);z=a+8|0;e=f[z>>2]|0;f[z>>2]=c;if(e){nh(e);Co(e);c=f[z>>2]|0;if(!c){c=0;break}}if(Oi(c,f[p>>2]|0)|0){i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);i=a+184|0;c=f[i>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[q>>2]|0)+32>>2]|0;y=c+8|0;x=f[y+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((x|0)>(g|0)|((x|0)==(g|0)?(f[y>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=gm(e|0,g|0,1,0)|0;y=i;f[y>>2]=k;f[y+4>>2]=I;y=a+224|0;k=f[y>>2]|0;x=a+228|0;c=f[x>>2]|0;if((c|0)!=(k|0))do{f[x>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}xh(c+-112|0);c=f[x>>2]|0}while((c|0)!=(k|0));m=l&255;Sf(y,m);o=f[q>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[s>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=60}}else if(sh(s,c)|0){c=f[s>>2]|0;t=60}else c=0;if((t|0)==60)if((f[p>>2]|0)>>>0>>0)c=0;else{p=f[q>>2]|0;c=f[p+32>>2]|0;do if((h[p+36>>0]<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&p>>>0>>0){c=0;break}c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[r>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=66}else{if(!(sh(r,c)|0)){c=0;break}c=f[r>>2]|0;t=66}while(0);a:do if((t|0)==66){l=a+132|0;c=c+(f[n>>2]|0)|0;b[B>>0]=1;ef(l,c,B);c=f[q>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Eb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)>=512){if(sh(B,k)|0)t=71}else{o=k+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((o|0)<(g|0)|(o|0)==(g|0)&p>>>0>>0)break;t=(f[k>>2]|0)+c|0;f[B>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=71}while(0);do if((t|0)==71){ik(C);c=f[(f[q>>2]|0)+32>>2]|0;o=c+16|0;k=f[o>>2]|0;t=f[B>>2]|0;p=(f[c>>2]|0)+k+t|0;i=c+8|0;o=wl(f[i>>2]|0,f[i+4>>2]|0,k|0,f[o+4>>2]|0)|0;t=wl(o|0,I|0,t|0,0)|0;Ak(C,p,t,d[c+38>>1]|0);c=Eb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);t=a+240|0;f[a+384>>2]=a;k=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;k=f[k>>2]|0;k=(f[k>>2]|0)+(f[k+16>>2]|0)|0;o=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;p=o+8|0;o=o+16|0;o=wl(f[p>>2]|0,f[p+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;p=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Ak(t,k,o,d[(f[p>>2]|0)+38>>1]|0);p=Sa[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+388>>2]=p;p=f[q>>2]|0;f[a+392>>2]=(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514?0:f[r>>2]|0)+(f[n>>2]|0);f[a+380>>2]=m;ik(C);c:do if(Mb(t,C)|0){if((Za(a,f[s>>2]|0)|0)==-1){c=0;break}c=f[(f[q>>2]|0)+32>>2]|0;e=C+16|0;s=f[e>>2]|0;t=(f[C>>2]|0)+s|0;r=C+8|0;e=wl(f[r>>2]|0,f[r+4>>2]|0,s|0,f[e+4>>2]|0)|0;Ak(c,t,e,d[c+38>>1]|0);c=f[q>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){t=(f[c+32>>2]|0)+16|0;s=t;s=gm(f[s>>2]|0,f[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[t>>2]=s;f[t+4>>2]=I}do if((f[x>>2]|0)!=(f[y>>2]|0)){c=f[z>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[B>>2]=f[v>>2];c=c+3|0;if(!(Hd(a,B)|0)){c=0;break c}w=f[z>>2]|0}while((c|0)<((f[w+4>>2]|0)-(f[w>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[B>>2]=f[w>>2];c=c+3|0;if(!(Cd(a,B)|0)){c=0;break c}v=f[z>>2]|0}while((c|0)<((f[v+4>>2]|0)-(f[v>>2]|0)>>2|0))}}while(0);if(b[a+316>>0]|0)Oj(a+280|0);if((j[a+278>>1]|0)<514)Oj(a+336|0);i=f[z>>2]|0;t=f[i+28>>2]|0;k=f[i+24>>2]|0;s=k;if((t-k|0)>0){n=f[l>>2]|0;r=t-k>>2;p=i+12|0;q=0;do{do if(f[n+(q>>>5<<2)>>2]&1<<(q&31)|0){o=s+(q<<2)|0;c=f[o>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){m=f[p>>2]|0;g=f[m+(e<<2)>>2]|0;e=g+1|0;d:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break d;g=f[m+(g<<2)>>2]|0;l=g+1|0;if((g|0)<0)break d;g=((l|0)%3|0|0)==0?g+-2|0:l;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[o>>2]=c}while(0);q=q+1|0}while((q|0)<(r|0))}g=f[x>>2]|0;w=f[y>>2]|0;c=w;if((g|0)==(w|0)){i=t;e=g}else{k=0;do{Gg(c+(k*116|0)+4|0,i)|0;c=f[y>>2]|0;e=f[c+(k*116|0)+104>>2]|0;g=f[c+(k*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Pe(c+(k*116|0)+4|0,B);e=e+4|0;c=f[y>>2]|0}while((e|0)!=(g|0));qj(c+(k*116|0)+4|0,0,0);k=k+1|0;g=f[x>>2]|0;e=f[y>>2]|0;c=e;i=f[z>>2]|0}while(k>>>0<((g-e|0)/116|0)>>>0);k=f[i+24>>2]|0;i=f[i+28>>2]|0}k=i-k>>2;m=a+208|0;o=a+212|0;n=f[o>>2]|0;i=f[m>>2]|0;l=n-i>>2;do if(k>>>0>l>>>0){lg(m,k-l|0);c=f[y>>2]|0;g=f[x>>2]|0;e=c}else{if(k>>>0>=l>>>0)break;i=i+(k<<2)|0;if((n|0)==(i|0))break;f[o>>2]=n+(~((n+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){o=0;while(1){m=(f[c+(o*116|0)+60>>2]|0)-(f[c+(o*116|0)+56>>2]|0)>>2;n=f[z>>2]|0;n=(f[n+28>>2]|0)-(f[n+24>>2]|0)>>2;m=(m|0)<(n|0)?n:m;n=c+(o*116|0)+88|0;l=c+(o*116|0)+92|0;k=f[l>>2]|0;c=f[n>>2]|0;i=k-c>>2;do if(m>>>0>i>>>0){lg(n,m-i|0);e=f[y>>2]|0;g=f[x>>2]|0}else{if(m>>>0>=i>>>0)break;c=c+(m<<2)|0;if((k|0)==(c|0))break;f[l>>2]=k+(~((k+-4-c|0)>>>2)<<2)}while(0);o=o+1|0;if(o>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=xb(a)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}else c=0}else c=0}while(0)}C=c;u=D;return C|0}function db(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;p=D+60|0;s=D+52|0;q=D+44|0;C=D;v=D+56|0;w=D+48|0;A=D+40|0;n=a+144|0;f[n>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{z=c;c=f[c>>2]|0;Co(z)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}r=a+4|0;c=f[r>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){y=m+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=gm(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((y|0)<(k|0)|(y|0)==(k|0)&z>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;t=l;f[t>>2]=i;f[t+4>>2]=k;t=14}}else if(sh(B,m)|0){e=f[r>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;t=14}if((t|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){y=l+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=gm(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((y|0)<(i|0)|(y|0)==(i|0)&z>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;t=21}}else if(sh(o,l)|0){k=f[r>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;t=21}else c=0;if((t|0)==21){n=a+168|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){y=k+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((y|0)<(g|0)|(y|0)==(g|0)&z>>>0>>0)c=0;else{t=(f[k>>2]|0)+c|0;f[p>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=25}}else if(sh(p,k)|0)t=25;else c=0;do if((t|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=Nk(60)|0;pm(c);z=a+8|0;e=f[z>>2]|0;f[z>>2]=c;if(e){nh(e);Co(e);c=f[z>>2]|0;if(!c){c=0;break}}if(Oi(c,f[p>>2]|0)|0){i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);i=a+184|0;c=f[i>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[r>>2]|0)+32>>2]|0;y=c+8|0;x=f[y+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((x|0)>(g|0)|((x|0)==(g|0)?(f[y>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=gm(e|0,g|0,1,0)|0;y=i;f[y>>2]=k;f[y+4>>2]=I;y=a+224|0;k=f[y>>2]|0;x=a+228|0;c=f[x>>2]|0;if((c|0)!=(k|0))do{f[x>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}xh(c+-112|0);c=f[x>>2]|0}while((c|0)!=(k|0));m=l&255;Sf(y,m);o=f[r>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[s>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=60}}else if(sh(s,c)|0){c=f[s>>2]|0;t=60}else c=0;if((t|0)==60)if((f[p>>2]|0)>>>0>>0)c=0;else{p=f[r>>2]|0;c=f[p+32>>2]|0;do if((h[p+36>>0]<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&p>>>0>>0){c=0;break}c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[q>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=66}else{if(!(sh(q,c)|0)){c=0;break}c=f[q>>2]|0;t=66}while(0);a:do if((t|0)==66){l=a+132|0;c=c+(f[n>>2]|0)|0;b[B>>0]=1;ef(l,c,B);c=f[r>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Eb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)>=512){if(sh(B,k)|0)t=71}else{p=k+8|0;q=f[p>>2]|0;p=f[p+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((p|0)<(g|0)|(p|0)==(g|0)&q>>>0>>0)break;t=(f[k>>2]|0)+c|0;f[B>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=71}while(0);do if((t|0)==71){ik(C);c=f[(f[r>>2]|0)+32>>2]|0;p=c+16|0;o=f[p>>2]|0;t=f[B>>2]|0;q=(f[c>>2]|0)+o+t|0;n=c+8|0;p=wl(f[n>>2]|0,f[n+4>>2]|0,o|0,f[p+4>>2]|0)|0;t=wl(p|0,I|0,t|0,0)|0;Ak(C,q,t,d[c+38>>1]|0);c=Eb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);t=a+240|0;f[a+384>>2]=a;o=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;o=(f[o>>2]|0)+(f[o+16>>2]|0)|0;p=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;p=f[p>>2]|0;q=p+8|0;p=p+16|0;p=wl(f[q>>2]|0,f[q+4>>2]|0,f[p>>2]|0,f[p+4>>2]|0)|0;q=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Ak(t,o,p,d[(f[q>>2]|0)+38>>1]|0);f[a+380>>2]=m;ik(C);c:do if(Ad(t,C)|0){if((_a(a,f[s>>2]|0)|0)==-1){c=0;break}c=f[(f[r>>2]|0)+32>>2]|0;e=C+16|0;s=f[e>>2]|0;t=(f[C>>2]|0)+s|0;q=C+8|0;e=wl(f[q>>2]|0,f[q+4>>2]|0,s|0,f[e+4>>2]|0)|0;Ak(c,t,e,d[c+38>>1]|0);c=f[r>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){t=(f[c+32>>2]|0)+16|0;s=t;s=gm(f[s>>2]|0,f[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[t>>2]=s;f[t+4>>2]=I}do if((f[x>>2]|0)!=(f[y>>2]|0)){c=f[z>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[B>>2]=f[v>>2];c=c+3|0;if(!(Hd(a,B)|0)){c=0;break c}w=f[z>>2]|0}while((c|0)<((f[w+4>>2]|0)-(f[w>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[B>>2]=f[w>>2];c=c+3|0;if(!(Dd(a,B)|0)){c=0;break c}v=f[z>>2]|0}while((c|0)<((f[v+4>>2]|0)-(f[v>>2]|0)>>2|0))}}while(0);if(b[a+316>>0]|0)Oj(a+280|0);if((j[a+278>>1]|0)<514)Oj(a+336|0);i=f[z>>2]|0;t=f[i+28>>2]|0;k=f[i+24>>2]|0;s=k;if((t-k|0)>0){n=f[l>>2]|0;r=t-k>>2;p=i+12|0;q=0;do{do if(f[n+(q>>>5<<2)>>2]&1<<(q&31)|0){o=s+(q<<2)|0;c=f[o>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){m=f[p>>2]|0;g=f[m+(e<<2)>>2]|0;e=g+1|0;d:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break d;g=f[m+(g<<2)>>2]|0;l=g+1|0;if((g|0)<0)break d;g=((l|0)%3|0|0)==0?g+-2|0:l;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[o>>2]=c}while(0);q=q+1|0}while((q|0)<(r|0))}g=f[x>>2]|0;w=f[y>>2]|0;c=w;if((g|0)==(w|0)){i=t;e=g}else{k=0;do{Gg(c+(k*116|0)+4|0,i)|0;c=f[y>>2]|0;e=f[c+(k*116|0)+104>>2]|0;g=f[c+(k*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Pe(c+(k*116|0)+4|0,B);e=e+4|0;c=f[y>>2]|0}while((e|0)!=(g|0));qj(c+(k*116|0)+4|0,0,0);k=k+1|0;g=f[x>>2]|0;e=f[y>>2]|0;c=e;i=f[z>>2]|0}while(k>>>0<((g-e|0)/116|0)>>>0);k=f[i+24>>2]|0;i=f[i+28>>2]|0}k=i-k>>2;m=a+208|0;o=a+212|0;n=f[o>>2]|0;i=f[m>>2]|0;l=n-i>>2;do if(k>>>0>l>>>0){lg(m,k-l|0);c=f[y>>2]|0;g=f[x>>2]|0;e=c}else{if(k>>>0>=l>>>0)break;i=i+(k<<2)|0;if((n|0)==(i|0))break;f[o>>2]=n+(~((n+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){o=0;while(1){m=(f[c+(o*116|0)+60>>2]|0)-(f[c+(o*116|0)+56>>2]|0)>>2;n=f[z>>2]|0;n=(f[n+28>>2]|0)-(f[n+24>>2]|0)>>2;m=(m|0)<(n|0)?n:m;n=c+(o*116|0)+88|0;l=c+(o*116|0)+92|0;k=f[l>>2]|0;c=f[n>>2]|0;i=k-c>>2;do if(m>>>0>i>>>0){lg(n,m-i|0);e=f[y>>2]|0;g=f[x>>2]|0}else{if(m>>>0>=i>>>0)break;c=c+(m<<2)|0;if((k|0)==(c|0))break;f[l>>2]=k+(~((k+-4-c|0)>>>2)<<2)}while(0);o=o+1|0;if(o>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=xb(a)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}else c=0}else c=0}while(0)}C=c;u=D;return C|0}function eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=La;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=Mk(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=gm(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=Mk(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=gm(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function fb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;M=u;u=u+32|0;L=M+8|0;j=M;G=a+8|0;F=f[G>>2]|0;f[j>>2]=0;Jh(L,F,j);F=a+116|0;i=f[F>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[L>>2];f[h>>2]=f[L+4>>2];f[e>>2]=f[L+8>>2];E=f[G>>2]|0;f[j>>2]=0;Jh(L,E,j);E=a+128|0;i=f[E>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[L>>2];f[h>>2]=f[L+4>>2];f[e>>2]=f[L+8>>2];f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;K=L+8|0;J=L+4|0;I=L+16|0;H=L+20|0;cc(L);e=f[J>>2]|0;g=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[H>>2]|0)+1|0;f[H>>2]=e;a:do if(e|0){v=a+104|0;D=a+92|0;t=d+4|0;w=a+96|0;C=a+48|0;z=a+44|0;B=a+28|0;y=a+24|0;A=a+88|0;x=a+84|0;b:while(1){q=f[I>>2]|0;g=e+-1|0;m=q+g|0;r=f[J>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[H>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}i=f[F>>2]|0;r=i+(m*12|0)|0;q=(f[E>>2]|0)+(m*12|0)|0;g=Xk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[G>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[G>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[D>>2]|0;else{k=f[v>>2]|0;l=f[D>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[C>>2]|0;c=32-j|0;e=f[z>>2]|0;j=f[e>>2]<(c|0)){p=p-c|0;f[C>>2]=p;e=e+4|0;f[z>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[C>>2]|0)+p|0;f[C>>2]=p;if((p|0)!=32)break;f[z>>2]=e+4;f[C>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[G>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[G>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[F>>2]|0)+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}r=i+(g<<2)|0;f[r>>2]=(f[r>>2]|0)+c;c=(_(s|0)|0)^31;if(c>>>0>=33){o=56;break b}if(!c){o=58;break b}i=f[B>>2]|0;h=32-i|0;j=f[y>>2]|0;e=f[j>>2]<>>(32-c|0);r=i+c|0;f[B>>2]=r;if((r|0)==32){f[y>>2]=j+4;f[B>>2]=0}}else{r=c-h|0;f[B>>2]=r;q=j+4|0;f[y>>2]=q;r=32-r|0;e=(f[q>>2]|0)>>>r|e>>>(r-h|0)}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[A>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[A>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[A>>2]=0}k=i?j:h;l=i?h:j}e=f[E>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){j=f[K>>2]|0;i=f[J>>2]|0;s=j-i>>2;e=f[I>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(L);e=f[I>>2]|0;h=f[H>>2]|0;j=f[K>>2]|0;i=f[J>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}if(!l)o=15;else{j=f[K>>2]|0;i=f[J>>2]|0;s=j-i>>2;e=f[I>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(L);e=f[I>>2]|0;h=f[H>>2]|0;j=f[K>>2]|0;i=f[J>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[H>>2]|0)+1|0;f[H>>2]=e}}while(0);if((o|0)==15){o=0;e=f[H>>2]|0}if(!e)break a}if((o|0)==23)Ga(4956,4986,51,5104);else if((o|0)==28)Ga(16815,16853,223,16994);else if((o|0)==37)Ga(4956,4986,51,5104);else if((o|0)==42)Ga(17009,17033,48,17135);else if((o|0)==44)Ga(17164,17033,49,17135);else if((o|0)==56)Ga(17009,17033,48,17135);else if((o|0)==58)Ga(17164,17033,49,17135)}while(0);e=f[J>>2]|0;g=f[I>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[H>>2]=0;g=c-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[J>>2]|0)+4|0;f[J>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=94;break}case 2:{g=341;o=94;break}default:{}}if((o|0)==94)f[I>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[J>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[L>>2]|0;if(!e){u=M;return}Co(e);u=M;return}function gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;K=Q+24|0;P=Q;J=a+8|0;I=f[J>>2]|0;f[P>>2]=0;Jh(K,I,P);I=a+116|0;h=f[I>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];H=f[J>>2]|0;f[P>>2]=0;Jh(K,H,P);H=a+128|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;L=P+20|0;cc(P);d=f[N>>2]|0;e=(f[L>>2]|0)+(f[M>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[L>>2]|0)+1|0;f[L>>2]=d;a:do if(d|0){w=a+104|0;v=a+92|0;A=K+4|0;C=K+8|0;G=a+48|0;z=a+44|0;F=a+28|0;y=a+24|0;E=a+88|0;x=a+84|0;B=K+4|0;D=K+8|0;b:while(1){r=f[M>>2]|0;e=d+-1|0;l=r+e|0;s=f[N>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[L>>2]=e;e=f[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[O>>2]=(f[O>>2]|0)+-4}h=f[I>>2]|0;s=h+(l*12|0)|0;r=(f[H>>2]|0)+(l*12|0)|0;e=Xk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[K>>2]=d;f[B>>2]=f[e+4>>2];f[D>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[B>>2];f[e+8>>2]=f[D>>2];f[g>>2]=e+12}else pf(i,K);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[G>>2]|0;b=32-h|0;d=f[z>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[G>>2]=n;d=d+4|0;f[z>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[G>>2]|0)+n|0;f[G>>2]=n;if((n|0)!=32)break;f[z>>2]=d+4;f[G>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[J>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[K>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else pf(q,K);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[J>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;b=d;h=f[(f[I>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}s=h+(e<<2)|0;f[s>>2]=(f[s>>2]|0)+i;i=(_(t|0)|0)^31;if(i>>>0>=33){n=53;break b}if(!i){n=55;break b}h=f[F>>2]|0;g=32-h|0;b=f[y>>2]|0;d=f[b>>2]<>>(32-i|0);s=h+i|0;f[F>>2]=s;if((s|0)==32){f[y>>2]=b+4;f[F>>2]=0}}else{s=i-g|0;f[F>>2]=s;r=b+4|0;f[y>>2]=r;s=32-s|0;d=(f[r>>2]|0)>>>s|d>>>(s-g|0)}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[E>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[E>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[E>>2]=0}j=h?b:g;k=h?g:b}d=f[H>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){b=f[O>>2]|0;h=f[N>>2]|0;t=b-h>>2;d=f[M>>2]|0;g=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[M>>2]|0;g=f[L>>2]|0;b=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[L>>2]=(f[L>>2]|0)+1}if(!k)n=15;else{b=f[O>>2]|0;h=f[N>>2]|0;t=b-h>>2;d=f[M>>2]|0;g=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[M>>2]|0;g=f[L>>2]|0;b=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[L>>2]|0)+1|0;f[L>>2]=d}}while(0);if((n|0)==15){n=0;d=f[L>>2]|0}if(!d)break a}if((n|0)==27)Ga(16815,16853,223,16994);else if((n|0)==36)Ga(17009,17033,48,17135);else if((n|0)==38)Ga(17164,17033,49,17135);else if((n|0)==53)Ga(17009,17033,48,17135);else if((n|0)==55)Ga(17164,17033,49,17135)}while(0);d=f[N>>2]|0;e=f[M>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[O>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[L>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[N>>2]|0)+4|0;f[N>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=91;break}case 2:{e=341;n=91;break}default:{}}if((n|0)==91)f[M>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[N>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;O=u;u=u+32|0;N=O+8|0;j=O;I=a+8|0;H=f[I>>2]|0;f[j>>2]=0;Jh(N,H,j);H=a+116|0;i=f[H>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[N>>2];f[h>>2]=f[N+4>>2];f[e>>2]=f[N+8>>2];G=f[I>>2]|0;f[j>>2]=0;Jh(N,G,j);G=a+128|0;i=f[G>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[N>>2];f[h>>2]=f[N+4>>2];f[e>>2]=f[N+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;cc(N);e=f[L>>2]|0;g=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[J>>2]|0)+1|0;f[J>>2]=e;a:do if(e|0){x=a+104|0;F=a+92|0;w=d+4|0;y=a+96|0;E=a+48|0;B=a+44|0;D=a+28|0;A=a+24|0;C=a+88|0;z=a+84|0;b:while(1){r=f[K>>2]|0;g=e+-1|0;o=r+g|0;s=f[L>>2]|0;q=f[s+(((o>>>0)/341|0)<<2)>>2]|0;o=(o>>>0)%341|0;t=f[q+(o*12|0)>>2]|0;h=f[q+(o*12|0)+4>>2]|0;o=f[q+(o*12|0)+8>>2]|0;f[J>>2]=g;g=f[M>>2]|0;s=g-s>>2;if((1-e-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);g=(f[M>>2]|0)+-4|0;f[M>>2]=g}i=f[H>>2]|0;r=i+(o*12|0)|0;l=f[G>>2]|0;s=((f[I>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=l+(o*12|0)|0;n=f[q>>2]|0;k=n+(s<<2)|0;e=(f[a>>2]|0)-(f[k>>2]|0)|0;m=n;c:do if(!e)if((t|0)>0){j=i+(o*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[w>>2]|0;l=0;while(1){e=g;g=g+1|0;f[w>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){v=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;s=k;v=f[s>>2]|0;s=Mk(v|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[c>>2]>>2]|0)+s|0,h|0,v|0)|0;l=l+1|0;if((l|0)>=(t|0)){v=15;break}}}else v=15;else{if(!t){v=28;break b}if(t>>>0<3){i=f[x>>2]|0;f[i>>2]=s;e=f[I>>2]|0;if(e>>>0>1){g=s;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[I>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[F>>2]|0;else{k=f[x>>2]|0;l=f[F>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){v=42;break b}if((p|0)<=0){v=44;break b}j=f[E>>2]|0;c=32-j|0;e=f[B>>2]|0;j=f[e>>2]<(c|0)){v=p-c|0;f[E>>2]=v;s=e+4|0;f[B>>2]=s;v=32-v|0;f[h>>2]=(f[s>>2]|0)>>>v|j>>>(v-c|0);break}f[h>>2]=j>>>(32-p|0);v=(f[E>>2]|0)+p|0;f[E>>2]=v;if((v|0)!=32)break;f[B>>2]=e+4;f[E>>2]=0}while(0);s=f[n>>2]|0;v=l+(s<<2)|0;f[v>>2]=f[v>>2]|f[(f[r>>2]|0)+(s<<2)>>2];o=o+1|0}while(o>>>0<(f[I>>2]|0)>>>0)}h=f[d>>2]|0;e=f[w>>2]|0;f[w>>2]=e+1;if(((f[y>>2]|0)-i|0)!=12){v=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;s=h+40|0;v=f[s>>2]|0;s=Mk(v|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+s|0,i|0,v|0)|0;g=g+1|0;if(g>>>0>=t>>>0){v=15;break c}e=f[I>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;j=e;i=f[i+(p*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}r=i+(s<<2)|0;f[r>>2]=(f[r>>2]|0)+c;c=(_(t|0)|0)^31;if(c>>>0>=33){v=56;break b}if(!c){v=58;break b}i=f[D>>2]|0;h=32-i|0;j=f[A>>2]|0;e=f[j>>2]<>>(32-c|0);r=i+c|0;f[D>>2]=r;if((r|0)==32){f[A>>2]=j+4;f[D>>2]=0}}else{r=c-h|0;f[D>>2]=r;q=j+4|0;f[A>>2]=q;r=32-r|0;e=(f[q>>2]|0)>>>r|e>>>(r-h|0)}j=(t>>>1)-e|0;h=t-j|0;if((j|0)==(h|0))c=j;else{t=f[C>>2]|0;e=f[z>>2]|0;i=(f[e>>2]&1<<31-t|0)!=0;t=t+1|0;f[C>>2]=t;if((t|0)==32){f[z>>2]=e+4;f[C>>2]=0}c=i?j:h;j=i?h:j}f[k>>2]=(f[k>>2]|0)+1;e=f[l+(o*12|0)+4>>2]|0;if((e|0)!=(m|0)){i=f[l+(p*12|0)>>2]|0;h=e-m>>2;e=0;do{f[i+(e<<2)>>2]=f[n+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(c|0){i=f[L>>2]|0;t=g-i>>2;e=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+e|0)){cc(N);e=f[K>>2]|0;h=f[J>>2]|0;g=f[M>>2]|0;i=f[L>>2]|0}e=h+e|0;if((g|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=s;f[e+8>>2]=o;f[J>>2]=(f[J>>2]|0)+1}if(!j)v=15;else{i=f[M>>2]|0;h=f[L>>2]|0;t=i-h>>2;e=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+e|0)){cc(N);e=f[K>>2]|0;g=f[J>>2]|0;i=f[M>>2]|0;h=f[L>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=j;f[e+4>>2]=s;f[e+8>>2]=p;e=(f[J>>2]|0)+1|0;f[J>>2]=e}}while(0);if((v|0)==15){v=0;e=f[J>>2]|0}if(!e)break a}if((v|0)==23)Ga(4956,4986,51,5104);else if((v|0)==28)Ga(16815,16853,223,16994);else if((v|0)==37)Ga(4956,4986,51,5104);else if((v|0)==42)Ga(17009,17033,48,17135);else if((v|0)==44)Ga(17164,17033,49,17135);else if((v|0)==56)Ga(17009,17033,48,17135);else if((v|0)==58)Ga(17164,17033,49,17135)}while(0);e=f[L>>2]|0;g=f[K>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[M>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[J>>2]=0;g=c-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[L>>2]|0)+4|0;f[L>>2]=e;h=f[M>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;v=94;break}case 2:{g=341;v=94;break}default:{}}if((v|0)==94)f[K>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[L>>2]|0;g=f[M>>2]|0;if((g|0)!=(e|0))f[M>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[N>>2]|0;if(!e){u=O;return}Co(e);u=O;return}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;K=Q+24|0;P=Q;J=a+8|0;I=f[J>>2]|0;f[P>>2]=0;Jh(K,I,P);I=a+116|0;h=f[I>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];H=f[J>>2]|0;f[P>>2]=0;Jh(K,H,P);H=a+128|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;L=P+20|0;cc(P);d=f[N>>2]|0;e=(f[L>>2]|0)+(f[M>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[L>>2]|0)+1|0;f[L>>2]=d;a:do if(d|0){w=a+104|0;v=a+92|0;A=K+4|0;C=K+8|0;G=a+48|0;z=a+44|0;F=a+28|0;y=a+24|0;E=a+88|0;x=a+84|0;B=K+4|0;D=K+8|0;b:while(1){r=f[M>>2]|0;e=d+-1|0;n=r+e|0;s=f[N>>2]|0;p=f[s+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;t=f[p+(n*12|0)>>2]|0;g=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[L>>2]=e;e=f[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);e=(f[O>>2]|0)+-4|0;f[O>>2]=e}h=f[I>>2]|0;s=h+(n*12|0)|0;k=f[H>>2]|0;p=((f[J>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=k+(n*12|0)|0;m=f[r>>2]|0;j=m+(p<<2)|0;d=(f[a>>2]|0)-(f[j>>2]|0)|0;l=m;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[K>>2]=d;f[B>>2]=f[e+4>>2];f[D>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[B>>2];f[e+8>>2]=f[D>>2];f[g>>2]=e+12}else pf(i,K);b=b+1|0}while((b|0)<(t|0));q=15}else q=15;else{if(!t){q=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=p;d=f[J>>2]|0;if(d>>>0>1){e=p;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){q=36;break b}if((n|0)<=0){q=38;break b}h=f[G>>2]|0;b=32-h|0;d=f[z>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[G>>2]=n;d=d+4|0;f[z>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[G>>2]|0)+n|0;f[G>>2]=n;if((n|0)!=32)break;f[z>>2]=d+4;f[G>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[J>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[K>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else pf(q,K);e=e+1|0;if(e>>>0>=t>>>0){q=15;break c}d=f[J>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;b=d;h=f[h+(o*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}s=h+(p<<2)|0;f[s>>2]=(f[s>>2]|0)+i;i=(_(t|0)|0)^31;if(i>>>0>=33){q=53;break b}if(!i){q=55;break b}h=f[F>>2]|0;g=32-h|0;b=f[y>>2]|0;d=f[b>>2]<>>(32-i|0);s=h+i|0;f[F>>2]=s;if((s|0)==32){f[y>>2]=b+4;f[F>>2]=0}}else{s=i-g|0;f[F>>2]=s;r=b+4|0;f[y>>2]=r;s=32-s|0;d=(f[r>>2]|0)>>>s|d>>>(s-g|0)}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0))i=b;else{t=f[E>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[E>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[E>>2]=0}i=h?b:g;b=h?g:b}f[j>>2]=(f[j>>2]|0)+1;d=f[k+(n*12|0)+4>>2]|0;if((d|0)!=(l|0)){h=f[k+(o*12|0)>>2]|0;g=d-l>>2;d=0;do{f[h+(d<<2)>>2]=f[m+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){h=f[N>>2]|0;t=e-h>>2;d=f[M>>2]|0;g=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[M>>2]|0;g=f[L>>2]|0;e=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((e|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=i;f[d+4>>2]=p;f[d+8>>2]=n;f[L>>2]=(f[L>>2]|0)+1}if(!b)q=15;else{h=f[O>>2]|0;g=f[N>>2]|0;t=h-g>>2;d=f[M>>2]|0;e=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[M>>2]|0;e=f[L>>2]|0;h=f[O>>2]|0;g=f[N>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=p;f[d+8>>2]=o;d=(f[L>>2]|0)+1|0;f[L>>2]=d}}while(0);if((q|0)==15){q=0;d=f[L>>2]|0}if(!d)break a}if((q|0)==27)Ga(16815,16853,223,16994);else if((q|0)==36)Ga(17009,17033,48,17135);else if((q|0)==38)Ga(17164,17033,49,17135);else if((q|0)==53)Ga(17009,17033,48,17135);else if((q|0)==55)Ga(17164,17033,49,17135)}while(0);d=f[N>>2]|0;e=f[M>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[O>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[L>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[N>>2]|0)+4|0;f[N>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;q=91;break}case 2:{e=341;q=91;break}default:{}}if((q|0)==91)f[M>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[N>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=u;u=u+64|0;R=S+16|0;P=S;H=a+8|0;f[H>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);d=R;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[P>>2]=0;if(!e){d=0;g=0}else{jf(R,e,P);d=f[R+12>>2]|0;g=f[R+16>>2]|0}f[P>>2]=0;h=R+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else jf(R+12|0,e-i|0,P);i=R+24|0;f[P>>2]=0;h=R+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else jf(i,e-j|0,P);i=R+36|0;f[P>>2]=0;h=R+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else jf(i,e-j|0,P);h=f[R>>2]|0;if((f[H>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{G=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(G|0)?G:d}j=j+1|0;d=f[H>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;o=18}}else{d=d-(f[i>>2]|0)|0;o=18}if((o|0)==18){o=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}t=f[a+48>>2]|0;v=f[a+52>>2]|0;G=Nk(16)|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;yi(P,e);B=a+56|0;h=f[B>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;E=g-d|0;F=E>>2;a:do if((E|0)>4){A=t+64|0;x=t+28|0;z=(e|0)>0;D=a+16|0;y=a+32|0;E=a+12|0;C=a+20|0;w=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}o=f[d+(h<<2)>>2]|0;r=o+((o|0)<0?0:((o>>>0)%3|0|0)==0?2:-1)|0;q=r>>>5;s=1<<(r&31);p=(r|0)<0;g=o;n=1;d=0;b:while(1){do{if((g|0)<=-1){o=61;break b}i=f[R+(d*12|0)>>2]|0;if(((f[(f[t>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(Q=f[(f[(f[A>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(Q|0)>=0):0)?(K=f[x>>2]|0,m=f[v>>2]|0,I=f[m+(f[K+(Q<<2)>>2]<<2)>>2]|0,J=Q+1|0,J=f[m+(f[K+((((J|0)%3|0|0)==0?Q+-2|0:J)<<2)>>2]<<2)>>2]|0,K=f[m+(f[K+((((Q>>>0)%3|0|0)==0?2:-1)+Q<<2)>>2]<<2)>>2]|0,(I|0)<(h|0)&(J|0)<(h|0)&(K|0)<(h|0)):0){k=X(I,e)|0;l=X(J,e)|0;m=X(K,e)|0;if(z){j=0;do{f[i+(j<<2)>>2]=(f[c+(j+m<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=42;break b}}do if(n){i=g+1|0;g=((i|0)%3|0|0)==0?g+-2|0:i;i=f[t>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[A>>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;i=f[t>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[A>>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)==(o|0)){o=61;break b}}while(!(n&(g|0)<0));g=(s&f[i+(q<<2)>>2]|0)!=0;if(g|p){g=g?-1073741824:r;n=0;continue}g=f[(f[(f[A>>2]|0)+12>>2]|0)+(r<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;n=0;continue}else{g=g+-1|0;n=0;continue}}if((o|0)==61)if((d|0)>0)o=42;else{O=X(h,e)|0;o=73}if((o|0)==42){o=0;if(z){Yg(f[P>>2]|0,0,w|0)|0;k=d+-1|0;m=G+(k<<2)|0;k=f[a+60+(k*12|0)>>2]|0;l=f[P>>2]|0;n=0;g=0;do{s=f[m>>2]|0;f[m>>2]=s+1;if(!(f[k+(s>>>5<<2)>>2]&1<<(s&31))){i=f[R+(n*12|0)>>2]|0;j=0;do{s=l+(j<<2)|0;f[s>>2]=(f[s>>2]|0)+(f[i+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0}n=n+1|0}while((n|0)!=(d|0))}else{i=d+-1|0;k=G+(i<<2)|0;i=f[a+60+(i*12|0)>>2]|0;j=f[k>>2]|0;l=0;g=0;do{s=j;j=j+1|0;f[k>>2]=j;g=g+((f[i+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}i=X(h,e)|0;if(g){k=f[P>>2]|0;if(z){d=0;do{s=k+(d<<2)|0;f[s>>2]=(f[s>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}m=b+(i<<2)|0;l=c+(i<<2)|0;if((f[H>>2]|0)>0){i=0;do{d=f[k+(i<<2)>>2]|0;g=f[D>>2]|0;if((d|0)>(g|0)){j=f[y>>2]|0;f[j+(i<<2)>>2]=g}else{s=f[E>>2]|0;j=f[y>>2]|0;f[j+(i<<2)>>2]=(d|0)<(s|0)?s:d}i=i+1|0;d=f[H>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[m+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[D>>2]|0)){if((d|0)<(f[E>>2]|0)){d=(f[C>>2]|0)+d|0;o=95}}else{d=d-(f[C>>2]|0)|0;o=95}if((o|0)==95){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[H>>2]|0))}}}else{O=i;o=73}}if((o|0)==73?(o=0,L=c+((X(h+-1|0,e)|0)<<2)|0,M=b+(O<<2)|0,N=c+(O<<2)|0,(f[H>>2]|0)>0):0){i=0;do{d=f[L+(i<<2)>>2]|0;g=f[D>>2]|0;if((d|0)>(g|0)){j=f[y>>2]|0;f[j+(i<<2)>>2]=g}else{s=f[E>>2]|0;j=f[y>>2]|0;f[j+(i<<2)>>2]=(d|0)<(s|0)?s:d}i=i+1|0;d=f[H>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[M+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=N+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[D>>2]|0)){if((d|0)<(f[E>>2]|0)){d=(f[C>>2]|0)+d|0;o=83}}else{d=d-(f[C>>2]|0)|0;o=83}if((o|0)==83){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[H>>2]|0))}}h=h+1|0;if((h|0)>=(F|0)){d=P;break a}i=f[B>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=P;while(0);h=f[d>>2]|0;if(h|0){g=P+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h)}Co(G);g=f[R+36>>2]|0;if(g|0){h=R+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g)}d=f[R+24>>2]|0;if(d|0){h=R+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}d=f[R+12>>2]|0;if(d|0){h=R+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}h=f[R>>2]|0;if(!h){u=S;return 1}g=R+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h);u=S;return 1}function kb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K+8|0;j=K;E=a+8|0;D=f[E>>2]|0;f[j>>2]=0;Jh(J,D,j);D=a+624|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];C=f[E>>2]|0;f[j>>2]=0;Jh(J,C,j);C=a+636|0;i=f[C>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;cc(J);e=f[H>>2]|0;g=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[F>>2]|0)+1|0;f[F>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[G>>2]|0;g=e+-1|0;m=q+g|0;r=f[H>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[F>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[D>>2]|0;r=i+(m*12|0)|0;q=(f[C>>2]|0)+(m*12|0)|0;g=Lg(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[E>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[E>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{k=f[v>>2]|0;l=f[B>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[A>>2]|0;c=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(c|0)){p=p-c|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[E>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[E>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[D>>2]|0)+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Di(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=i?j:h;l=i?h:j}e=f[C>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[F>>2]=(f[F>>2]|0)+1}if(!l)o=15;else{j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[F>>2]|0)+1|0;f[F>>2]=e}}while(0);if((o|0)==15){o=0;e=f[F>>2]|0}if(!e)break a}if((o|0)==23)Ga(4956,4986,51,5104);else if((o|0)==28)Ga(16815,16853,223,16994);else if((o|0)==37)Ga(4956,4986,51,5104);else if((o|0)==42)Ga(17009,17033,48,17135);else if((o|0)==44)Ga(17164,17033,49,17135)}while(0);e=f[H>>2]|0;g=f[G>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[F>>2]=0;g=c-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[H>>2]|0)+4|0;f[H>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=88;break}case 2:{g=341;o=88;break}default:{}}if((o|0)==88)f[G>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[H>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function lb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K+8|0;j=K;E=a+8|0;D=f[E>>2]|0;f[j>>2]=0;Jh(J,D,j);D=a+624|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];C=f[E>>2]|0;f[j>>2]=0;Jh(J,C,j);C=a+636|0;i=f[C>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;cc(J);e=f[H>>2]|0;g=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[F>>2]|0)+1|0;f[F>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[G>>2]|0;g=e+-1|0;m=q+g|0;r=f[H>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[F>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[D>>2]|0;r=i+(m*12|0)|0;q=(f[C>>2]|0)+(m*12|0)|0;g=Xk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[E>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[E>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{k=f[v>>2]|0;l=f[B>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[A>>2]|0;c=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(c|0)){p=p-c|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[E>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[E>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[D>>2]|0)+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Di(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=i?j:h;l=i?h:j}e=f[C>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[F>>2]=(f[F>>2]|0)+1}if(!l)o=15;else{j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[F>>2]|0)+1|0;f[F>>2]=e}}while(0);if((o|0)==15){o=0;e=f[F>>2]|0}if(!e)break a}if((o|0)==23)Ga(4956,4986,51,5104);else if((o|0)==28)Ga(16815,16853,223,16994);else if((o|0)==37)Ga(4956,4986,51,5104);else if((o|0)==42)Ga(17009,17033,48,17135);else if((o|0)==44)Ga(17164,17033,49,17135)}while(0);e=f[H>>2]|0;g=f[G>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[F>>2]=0;g=c-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[H>>2]|0)+4|0;f[H>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=88;break}case 2:{g=341;o=88;break}default:{}}if((o|0)==88)f[G>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[H>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;I=O+24|0;N=O;H=a+8|0;G=f[H>>2]|0;f[N>>2]=0;Jh(I,G,N);G=a+624|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];F=f[H>>2]|0;f[N>>2]=0;Jh(I,F,N);F=a+636|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;cc(N);d=f[L>>2]|0;e=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[J>>2]|0)+1|0;f[J>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;z=I+4|0;B=I+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;A=I+4|0;C=I+8|0;b:while(1){r=f[K>>2]|0;e=d+-1|0;l=r+e|0;s=f[L>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[J>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[G>>2]|0;s=h+(l*12|0)|0;r=(f[F>>2]|0)+(l*12|0)|0;e=Lg(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[I>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else pf(i,I);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[H>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[H>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[H>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[I>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else pf(q,I);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[H>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;b=d;h=f[(f[G>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Di(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=h?b:g;k=h?g:b}d=f[F>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){b=f[M>>2]|0;g=f[L>>2]|0;t=b-g>>2;d=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+d|0)){cc(N);d=f[K>>2]|0;h=f[J>>2]|0;b=f[M>>2]|0;g=f[L>>2]|0}d=h+d|0;if((b|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[J>>2]=(f[J>>2]|0)+1}if(!k)n=15;else{b=f[M>>2]|0;h=f[L>>2]|0;t=b-h>>2;d=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[K>>2]|0;g=f[J>>2]|0;b=f[M>>2]|0;h=f[L>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[J>>2]|0)+1|0;f[J>>2]=d}}while(0);if((n|0)==15){n=0;d=f[J>>2]|0}if(!d)break a}if((n|0)==27)Ga(16815,16853,223,16994);else if((n|0)==36)Ga(17009,17033,48,17135);else if((n|0)==38)Ga(17164,17033,49,17135)}while(0);d=f[L>>2]|0;e=f[K>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[J>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[L>>2]|0)+4|0;f[L>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)f[K>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[L>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;I=O+24|0;N=O;H=a+8|0;G=f[H>>2]|0;f[N>>2]=0;Jh(I,G,N);G=a+624|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];F=f[H>>2]|0;f[N>>2]=0;Jh(I,F,N);F=a+636|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;cc(N);d=f[L>>2]|0;e=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[J>>2]|0)+1|0;f[J>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;z=I+4|0;B=I+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;A=I+4|0;C=I+8|0;b:while(1){r=f[K>>2]|0;e=d+-1|0;l=r+e|0;s=f[L>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[J>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[G>>2]|0;s=h+(l*12|0)|0;r=(f[F>>2]|0)+(l*12|0)|0;e=Xk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[I>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else pf(i,I);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[H>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[H>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[H>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[I>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else pf(q,I);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[H>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;b=d;h=f[(f[G>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Di(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=h?b:g;k=h?g:b}d=f[F>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){b=f[M>>2]|0;g=f[L>>2]|0;t=b-g>>2;d=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+d|0)){cc(N);d=f[K>>2]|0;h=f[J>>2]|0;b=f[M>>2]|0;g=f[L>>2]|0}d=h+d|0;if((b|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[J>>2]=(f[J>>2]|0)+1}if(!k)n=15;else{b=f[M>>2]|0;h=f[L>>2]|0;t=b-h>>2;d=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[K>>2]|0;g=f[J>>2]|0;b=f[M>>2]|0;h=f[L>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[J>>2]|0)+1|0;f[J>>2]=d}}while(0);if((n|0)==15){n=0;d=f[J>>2]|0}if(!d)break a}if((n|0)==27)Ga(16815,16853,223,16994);else if((n|0)==36)Ga(17009,17033,48,17135);else if((n|0)==38)Ga(17164,17033,49,17135)}while(0);d=f[L>>2]|0;e=f[K>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[J>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[L>>2]|0)+4|0;f[L>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)f[K>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[L>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K+8|0;j=K;E=a+8|0;D=f[E>>2]|0;f[j>>2]=0;Jh(J,D,j);D=a+624|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];C=f[E>>2]|0;f[j>>2]=0;Jh(J,C,j);C=a+636|0;i=f[C>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;cc(J);e=f[H>>2]|0;g=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[F>>2]|0)+1|0;f[F>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[G>>2]|0;g=e+-1|0;m=q+g|0;r=f[H>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[F>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[D>>2]|0;r=i+(m*12|0)|0;g=((f[E>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=(f[C>>2]|0)+(m*12|0)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[E>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[E>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{k=f[v>>2]|0;l=f[B>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[A>>2]|0;c=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(c|0)){p=p-c|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[E>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[E>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;j=e;i=f[i+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Di(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=i?j:h;l=i?h:j}e=f[C>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[F>>2]=(f[F>>2]|0)+1}if(!l)o=15;else{j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[F>>2]|0)+1|0;f[F>>2]=e}}while(0);if((o|0)==15){o=0;e=f[F>>2]|0}if(!e)break a}if((o|0)==23)Ga(4956,4986,51,5104);else if((o|0)==28)Ga(16815,16853,223,16994);else if((o|0)==37)Ga(4956,4986,51,5104);else if((o|0)==42)Ga(17009,17033,48,17135);else if((o|0)==44)Ga(17164,17033,49,17135)}while(0);e=f[H>>2]|0;g=f[G>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[F>>2]=0;g=c-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[H>>2]|0)+4|0;f[H>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=88;break}case 2:{g=341;o=88;break}default:{}}if((o|0)==88)f[G>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[H>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;I=O+24|0;N=O;H=a+8|0;G=f[H>>2]|0;f[N>>2]=0;Jh(I,G,N);G=a+624|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];F=f[H>>2]|0;f[N>>2]=0;Jh(I,F,N);F=a+636|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;cc(N);d=f[L>>2]|0;e=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[J>>2]|0)+1|0;f[J>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;z=I+4|0;B=I+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;A=I+4|0;C=I+8|0;b:while(1){r=f[K>>2]|0;e=d+-1|0;l=r+e|0;s=f[L>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[J>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[G>>2]|0;s=h+(l*12|0)|0;e=((f[H>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=(f[F>>2]|0)+(l*12|0)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[I>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else pf(i,I);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[H>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[H>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[H>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[I>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else pf(q,I);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[H>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;b=d;h=f[h+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Di(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=h?b:g;k=h?g:b}d=f[F>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){b=f[M>>2]|0;g=f[L>>2]|0;t=b-g>>2;d=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+d|0)){cc(N);d=f[K>>2]|0;h=f[J>>2]|0;b=f[M>>2]|0;g=f[L>>2]|0}d=h+d|0;if((b|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[J>>2]=(f[J>>2]|0)+1}if(!k)n=15;else{b=f[M>>2]|0;h=f[L>>2]|0;t=b-h>>2;d=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[K>>2]|0;g=f[J>>2]|0;b=f[M>>2]|0;h=f[L>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[J>>2]|0)+1|0;f[J>>2]=d}}while(0);if((n|0)==15){n=0;d=f[J>>2]|0}if(!d)break a}if((n|0)==27)Ga(16815,16853,223,16994);else if((n|0)==36)Ga(17009,17033,48,17135);else if((n|0)==38)Ga(17164,17033,49,17135)}while(0);d=f[L>>2]|0;e=f[K>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[J>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[L>>2]|0)+4|0;f[L>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)f[K>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[L>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function qb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=u;u=u+64|0;O=P+16|0;N=P;I=a+8|0;f[I>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);d=O;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[N>>2]=0;if(!e){d=0;g=0}else{jf(O,e,N);d=f[O+12>>2]|0;g=f[O+16>>2]|0}f[N>>2]=0;h=O+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else jf(O+12|0,e-i|0,N);i=O+24|0;f[N>>2]=0;h=O+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else jf(i,e-j|0,N);i=O+36|0;f[N>>2]=0;h=O+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else jf(i,e-j|0,N);h=f[O>>2]|0;if((f[I>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{H=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(H|0)?H:d}j=j+1|0;d=f[I>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;o=18}}else{d=d-(f[i>>2]|0)|0;o=18}if((o|0)==18){o=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}w=f[a+48>>2]|0;x=f[a+52>>2]|0;H=Nk(16)|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;yi(N,e);C=a+56|0;h=f[C>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;F=g-d|0;G=F>>2;a:do if((F|0)>4){z=w+12|0;B=(e|0)>0;E=a+16|0;A=a+32|0;F=a+12|0;D=a+20|0;y=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}s=f[d+(h<<2)>>2]|0;v=(((s>>>0)%3|0|0)==0?2:-1)+s|0;t=(s|v|0)<0;r=(s|0)<0?s:v;g=s;q=1;d=0;b:while(1){do{if((g|0)<=-1){o=62;break b}o=f[O+(d*12|0)>>2]|0;p=f[z>>2]|0;j=f[p+(g<<2)>>2]|0;if((j|0)>=0){k=f[w>>2]|0;l=f[x>>2]|0;n=f[l+(f[k+(j<<2)>>2]<<2)>>2]|0;i=j+1|0;i=((i|0)%3|0|0)==0?j+-2|0:i;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;m=f[l+(i<<2)>>2]|0;i=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;i=f[l+(i<<2)>>2]|0;if((n|0)<(h|0)&(m|0)<(h|0)&(i|0)<(h|0)){l=X(n,e)|0;k=X(m,e)|0;j=X(i,e)|0;if(B){i=0;do{f[o+(i<<2)>>2]=(f[c+(i+j<<2)>>2]|0)+(f[c+(i+k<<2)>>2]|0)-(f[c+(i+l<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=45;break b}}}do if(q){o=g+1|0;g=((o|0)%3|0|0)==0?g+-2|0:o;if((g|0)>=0){g=f[p+(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=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=f[p+(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)==(s|0)){o=62;break b}}while(!(q&(g|0)<0));if(t){g=r;q=0;continue}g=f[p+(v<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;q=0;continue}else{g=g+-1|0;q=0;continue}}if((o|0)==62)if((d|0)>0)o=45;else{M=X(h,e)|0;o=74}if((o|0)==45){o=0;if(B){Yg(f[N>>2]|0,0,y|0)|0;k=d+-1|0;m=H+(k<<2)|0;k=f[a+60+(k*12|0)>>2]|0;l=f[N>>2]|0;n=0;g=0;do{v=f[m>>2]|0;f[m>>2]=v+1;if(!(f[k+(v>>>5<<2)>>2]&1<<(v&31))){i=f[O+(n*12|0)>>2]|0;j=0;do{v=l+(j<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[i+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0}n=n+1|0}while((n|0)!=(d|0))}else{i=d+-1|0;k=H+(i<<2)|0;i=f[a+60+(i*12|0)>>2]|0;j=f[k>>2]|0;l=0;g=0;do{v=j;j=j+1|0;f[k>>2]=j;g=g+((f[i+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}i=X(h,e)|0;if(g){k=f[N>>2]|0;if(B){d=0;do{v=k+(d<<2)|0;f[v>>2]=(f[v>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}m=b+(i<<2)|0;l=c+(i<<2)|0;if((f[I>>2]|0)>0){i=0;do{d=f[k+(i<<2)>>2]|0;g=f[E>>2]|0;if((d|0)>(g|0)){j=f[A>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[F>>2]|0;j=f[A>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[I>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[m+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[E>>2]|0)){if((d|0)<(f[F>>2]|0)){d=(f[D>>2]|0)+d|0;o=96}}else{d=d-(f[D>>2]|0)|0;o=96}if((o|0)==96){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[I>>2]|0))}}}else{M=i;o=74}}if((o|0)==74?(o=0,J=c+((X(h+-1|0,e)|0)<<2)|0,K=b+(M<<2)|0,L=c+(M<<2)|0,(f[I>>2]|0)>0):0){i=0;do{d=f[J+(i<<2)>>2]|0;g=f[E>>2]|0;if((d|0)>(g|0)){j=f[A>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[F>>2]|0;j=f[A>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[I>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[K+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=L+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[E>>2]|0)){if((d|0)<(f[F>>2]|0)){d=(f[D>>2]|0)+d|0;o=84}}else{d=d-(f[D>>2]|0)|0;o=84}if((o|0)==84){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[I>>2]|0))}}h=h+1|0;if((h|0)>=(G|0)){d=N;break a}i=f[C>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=N;while(0);h=f[d>>2]|0;if(h|0){g=N+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h)}Co(H);g=f[O+36>>2]|0;if(g|0){h=O+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g)}d=f[O+24>>2]|0;if(d|0){h=O+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}d=f[O+12>>2]|0;if(d|0){h=O+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}h=f[O>>2]|0;if(!h){u=P;return 1}g=O+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h);u=P;return 1}function rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=u;u=u+32|0;M=N+8|0;G=N;F=a+8|0;E=f[F>>2]|0;f[G>>2]=0;Jh(M,E,G);E=a+112|0;i=f[E>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];D=f[F>>2]|0;f[G>>2]=0;Jh(M,D,G);D=a+124|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;J=M+4|0;I=M+16|0;H=M+20|0;cc(M);e=f[J>>2]|0;g=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[H>>2]|0)+1|0;f[H>>2]=e;a:do if(e|0){v=a+100|0;C=a+88|0;t=d+4|0;w=a+92|0;A=a+44|0;y=a+40|0;B=a+12|0;z=a+84|0;x=a+80|0;b:while(1){q=f[I>>2]|0;g=e+-1|0;l=q+g|0;r=f[J>>2]|0;p=f[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=f[p+(l*12|0)>>2]|0;h=f[p+(l*12|0)+4>>2]|0;l=f[p+(l*12|0)+8>>2]|0;f[H>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}g=f[E>>2]|0;r=g+(l*12|0)|0;q=(f[D>>2]|0)+(l*12|0)|0;n=Xk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!e){if((s|0)>0){c=g+(l*12|0)+4|0;j=f[d>>2]|0;m=j+84|0;i=j+68|0;k=j+40|0;j=j+64|0;g=f[t>>2]|0;l=0;do{e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[c>>2]|0)-h|0)!=12){L=22;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[j>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0}while((l|0)<(s|0))}}else{if(!s){L=27;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=n;e=f[F>>2]|0;if(e>>>0>1){g=n;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[F>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[C>>2]|0;else{k=f[v>>2]|0;l=f[C>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){L=41;break b}if((p|0)<=0){L=43;break b}c=f[A>>2]|0;j=32-c|0;e=f[y>>2]|0;c=f[e>>2]<(j|0)){p=p-j|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|c>>>(p-j|0);break}f[h>>2]=c>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[F>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){L=36;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0)break c;e=f[F>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;i=e;h=f[(f[E>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(e|0)){g=g-e>>2;e=0;do{f[h+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=h+(n<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;f[G>>2]=0;dh(B,i,G);i=(s>>>1)-(f[G>>2]|0)|0;g=s-i|0;if((i|0)==(g|0)){j=i;k=i}else{s=f[z>>2]|0;e=f[x>>2]|0;h=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}j=h?i:g;k=h?g:i}e=f[D>>2]|0;c=f[e+(l*12|0)>>2]|0;g=c+(n<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[e+(l*12|0)+4>>2]|0;h=c;if((g|0)!=(h|0)){i=f[e+(m*12|0)>>2]|0;g=g-h>>2;e=0;do{f[i+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(j|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=j;f[e+4>>2]=n;f[e+8>>2]=l;f[H>>2]=(f[H>>2]|0)+1}if(k|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=n;f[e+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}}while(0);e=f[H>>2]|0;if(!e)break a}if((L|0)==22)Ga(4956,4986,51,5104);else if((L|0)==27)Ga(16815,16853,223,16994);else if((L|0)==36)Ga(4956,4986,51,5104);else if((L|0)==41)Ga(17009,17033,48,17135);else if((L|0)==43)Ga(17164,17033,49,17135)}while(0);e=f[J>>2]|0;g=f[I>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;j=h;k=e;if((h|0)==(e|0)){c=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;c=g}d:while(1){do{if((g|0)==(c|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[H>>2]=0;g=j-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[J>>2]|0)+4|0;f[J>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;L=86;break}case 2:{g=341;L=86;break}default:{}}if((L|0)==86)f[I>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[J>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[M>>2]|0;if(!e){u=N;return}Co(e);u=N;return}function sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;M=N+8|0;G=N;F=a+8|0;E=f[F>>2]|0;f[G>>2]=0;Jh(M,E,G);E=a+112|0;i=f[E>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];D=f[F>>2]|0;f[G>>2]=0;Jh(M,D,G);D=a+124|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;J=M+4|0;I=M+16|0;H=M+20|0;cc(M);e=f[J>>2]|0;g=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[H>>2]|0)+1|0;f[H>>2]=e;a:do if(e|0){v=a+100|0;C=a+88|0;t=d+4|0;w=a+92|0;A=a+44|0;y=a+40|0;B=a+12|0;z=a+84|0;x=a+80|0;b:while(1){q=f[I>>2]|0;g=e+-1|0;l=q+g|0;r=f[J>>2]|0;p=f[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=f[p+(l*12|0)>>2]|0;h=f[p+(l*12|0)+4>>2]|0;l=f[p+(l*12|0)+8>>2]|0;f[H>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}c=f[E>>2]|0;r=c+(l*12|0)|0;n=((f[F>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=(f[D>>2]|0)+(l*12|0)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!e){if((s|0)>0){c=c+(l*12|0)+4|0;j=f[d>>2]|0;m=j+84|0;i=j+68|0;k=j+40|0;j=j+64|0;g=f[t>>2]|0;l=0;do{e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[c>>2]|0)-h|0)!=12){L=22;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[j>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0}while((l|0)<(s|0))}}else{if(!s){L=27;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=n;e=f[F>>2]|0;if(e>>>0>1){g=n;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[F>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[C>>2]|0;else{k=f[v>>2]|0;l=f[C>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){L=41;break b}if((p|0)<=0){L=43;break b}c=f[A>>2]|0;j=32-c|0;e=f[y>>2]|0;c=f[e>>2]<(j|0)){p=p-j|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|c>>>(p-j|0);break}f[h>>2]=c>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[F>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){L=36;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0)break c;e=f[F>>2]|0}}j=1<>2]|0;e=f[r>>2]|0;i=e;h=f[c+(m*12|0)>>2]|0;if((g|0)!=(e|0)){g=g-e>>2;e=0;do{f[h+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=h+(n<<2)|0;f[i>>2]=(f[i>>2]|0)+j;i=(_(s|0)|0)^31;f[G>>2]=0;dh(B,i,G);i=(s>>>1)-(f[G>>2]|0)|0;g=s-i|0;if((i|0)==(g|0)){j=i;k=i}else{s=f[z>>2]|0;e=f[x>>2]|0;h=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}j=h?i:g;k=h?g:i}e=f[D>>2]|0;c=f[e+(l*12|0)>>2]|0;g=c+(n<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[e+(l*12|0)+4>>2]|0;h=c;if((g|0)!=(h|0)){i=f[e+(m*12|0)>>2]|0;g=g-h>>2;e=0;do{f[i+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(j|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=j;f[e+4>>2]=n;f[e+8>>2]=l;f[H>>2]=(f[H>>2]|0)+1}if(k|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=n;f[e+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}}while(0);e=f[H>>2]|0;if(!e)break a}if((L|0)==22)Ga(4956,4986,51,5104);else if((L|0)==27)Ga(16815,16853,223,16994);else if((L|0)==36)Ga(4956,4986,51,5104);else if((L|0)==41)Ga(17009,17033,48,17135);else if((L|0)==43)Ga(17164,17033,49,17135)}while(0);e=f[J>>2]|0;g=f[I>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;j=h;k=e;if((h|0)==(e|0)){c=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;c=g}d:while(1){do{if((g|0)==(c|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[H>>2]=0;g=j-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[J>>2]|0)+4|0;f[J>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;L=86;break}case 2:{g=341;L=86;break}default:{}}if((L|0)==86)f[I>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[J>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[M>>2]|0;if(!e){u=N;return}Co(e);u=N;return}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;J=Q+24|0;P=Q;I=a+8|0;H=f[I>>2]|0;f[P>>2]=0;Jh(J,H,P);H=a+112|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];G=f[I>>2]|0;f[P>>2]=0;Jh(J,G,P);G=a+124|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;M=P+4|0;L=P+16|0;K=P+20|0;cc(P);d=f[M>>2]|0;e=(f[K>>2]|0)+(f[L>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[K>>2]|0)+1|0;f[K>>2]=d;a:do if(d|0){w=a+100|0;v=a+88|0;z=J+4|0;B=J+8|0;E=a+44|0;y=a+40|0;F=a+12|0;D=a+84|0;x=a+80|0;A=J+4|0;C=J+8|0;b:while(1){r=f[L>>2]|0;e=d+-1|0;k=r+e|0;s=f[M>>2]|0;q=f[s+(((k>>>0)/341|0)<<2)>>2]|0;k=(k>>>0)%341|0;t=f[q+(k*12|0)>>2]|0;g=f[q+(k*12|0)+4>>2]|0;k=f[q+(k*12|0)+8>>2]|0;f[K>>2]=e;e=f[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}e=f[H>>2]|0;s=e+(k*12|0)|0;r=(f[G>>2]|0)+(k*12|0)|0;m=Xk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(m<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[J>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else pf(i,J);b=b+1|0}while((b|0)<(t|0))}}else{if(!t){O=26;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=m;d=f[I>>2]|0;if(d>>>0>1){e=m;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[I>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){O=35;break b}if((n|0)<=0){O=37;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[I>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[J>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else pf(q,J);e=e+1|0;if(e>>>0>=t>>>0)break c;d=f[I>>2]|0}}b=1<>2]|0;d=f[s>>2]|0;h=d;g=f[(f[H>>2]|0)+(l*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{f[g+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=g+(m<<2)|0;f[h>>2]=(f[h>>2]|0)+b;h=(_(t|0)|0)^31;f[J>>2]=0;dh(F,h,J);h=(t>>>1)-(f[J>>2]|0)|0;e=t-h|0;if((h|0)==(e|0)){i=h;j=h}else{t=f[D>>2]|0;d=f[x>>2]|0;g=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}i=g?h:e;j=g?e:h}d=f[G>>2]|0;b=f[d+(k*12|0)>>2]|0;e=b+(m<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=f[d+(k*12|0)+4>>2]|0;g=b;if((e|0)!=(g|0)){h=f[d+(l*12|0)>>2]|0;e=e-g>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){h=f[N>>2]|0;e=f[M>>2]|0;t=h-e>>2;d=f[L>>2]|0;g=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[L>>2]|0;g=f[K>>2]|0;h=f[N>>2]|0;e=f[M>>2]|0}d=g+d|0;if((h|0)==(e|0))d=0;else d=(f[e+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=i;f[d+4>>2]=m;f[d+8>>2]=k;f[K>>2]=(f[K>>2]|0)+1}if(j|0){h=f[N>>2]|0;g=f[M>>2]|0;t=h-g>>2;d=f[L>>2]|0;e=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[L>>2]|0;e=f[K>>2]|0;h=f[N>>2]|0;g=f[M>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=m;f[d+8>>2]=l;f[K>>2]=(f[K>>2]|0)+1}}while(0);d=f[K>>2]|0;if(!d)break a}if((O|0)==26)Ga(16815,16853,223,16994);else if((O|0)==35)Ga(17009,17033,48,17135);else if((O|0)==37)Ga(17164,17033,49,17135)}while(0);d=f[M>>2]|0;e=f[L>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[N>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[K>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[M>>2]|0)+4|0;f[M>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=83;break}case 2:{e=341;O=83;break}default:{}}if((O|0)==83)f[L>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[M>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;J=Q+24|0;P=Q;I=a+8|0;H=f[I>>2]|0;f[P>>2]=0;Jh(J,H,P);H=a+112|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];G=f[I>>2]|0;f[P>>2]=0;Jh(J,G,P);G=a+124|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;M=P+4|0;L=P+16|0;K=P+20|0;cc(P);d=f[M>>2]|0;e=(f[K>>2]|0)+(f[L>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[K>>2]|0)+1|0;f[K>>2]=d;a:do if(d|0){w=a+100|0;v=a+88|0;z=J+4|0;B=J+8|0;E=a+44|0;y=a+40|0;F=a+12|0;D=a+84|0;x=a+80|0;A=J+4|0;C=J+8|0;b:while(1){r=f[L>>2]|0;e=d+-1|0;k=r+e|0;s=f[M>>2]|0;q=f[s+(((k>>>0)/341|0)<<2)>>2]|0;k=(k>>>0)%341|0;t=f[q+(k*12|0)>>2]|0;g=f[q+(k*12|0)+4>>2]|0;k=f[q+(k*12|0)+8>>2]|0;f[K>>2]=e;e=f[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}b=f[H>>2]|0;s=b+(k*12|0)|0;m=((f[I>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=(f[G>>2]|0)+(k*12|0)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(m<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[J>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else pf(i,J);b=b+1|0}while((b|0)<(t|0))}}else{if(!t){O=26;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=m;d=f[I>>2]|0;if(d>>>0>1){e=m;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[I>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){O=35;break b}if((n|0)<=0){O=37;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[I>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[J>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else pf(q,J);e=e+1|0;if(e>>>0>=t>>>0)break c;d=f[I>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;h=d;g=f[b+(l*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{f[g+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=g+(m<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;f[J>>2]=0;dh(F,h,J);h=(t>>>1)-(f[J>>2]|0)|0;e=t-h|0;if((h|0)==(e|0)){i=h;j=h}else{t=f[D>>2]|0;d=f[x>>2]|0;g=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}i=g?h:e;j=g?e:h}d=f[G>>2]|0;b=f[d+(k*12|0)>>2]|0;e=b+(m<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=f[d+(k*12|0)+4>>2]|0;g=b;if((e|0)!=(g|0)){h=f[d+(l*12|0)>>2]|0;e=e-g>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){h=f[N>>2]|0;g=f[M>>2]|0;t=h-g>>2;d=f[L>>2]|0;e=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[L>>2]|0;e=f[K>>2]|0;h=f[N>>2]|0;g=f[M>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=i;f[d+4>>2]=m;f[d+8>>2]=k;f[K>>2]=(f[K>>2]|0)+1}if(j|0){h=f[N>>2]|0;g=f[M>>2]|0;t=h-g>>2;d=f[L>>2]|0;e=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[L>>2]|0;e=f[K>>2]|0;h=f[N>>2]|0;g=f[M>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=m;f[d+8>>2]=l;f[K>>2]=(f[K>>2]|0)+1}}while(0);d=f[K>>2]|0;if(!d)break a}if((O|0)==26)Ga(16815,16853,223,16994);else if((O|0)==35)Ga(17009,17033,48,17135);else if((O|0)==37)Ga(17164,17033,49,17135)}while(0);d=f[M>>2]|0;e=f[L>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[N>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[K>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[M>>2]|0)+4|0;f[M>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=83;break}case 2:{e=341;O=83;break}default:{}}if((O|0)==83)f[L>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[M>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function vb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;x=z+20|0;y=z+16|0;w=z+4|0;q=z;o=a+36|0;p=a+37|0;v=a+32|0;i=f[v>>2]|0;do if((((h[o>>0]|0)<<8|(h[p>>0]|0))&65535)<514){l=i+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=i+16|0;d=m;c=f[d>>2]|0;d=f[d+4>>2]|0;g=gm(c|0,d|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&k>>>0>>0){a=0;u=z;return a|0}j=(f[i>>2]|0)+c|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[x>>2]=j;t=m;f[t>>2]=g;f[t+4>>2]=e;c=gm(c|0,d|0,8,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&k>>>0>>0){a=0;u=z;return a|0}else{t=(f[i>>2]|0)+g|0;f[y>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=m;f[t>>2]=c;f[t+4>>2]=d;break}}else{if(!(sh(x,i)|0)){a=0;u=z;return a|0}if(sh(y,f[v>>2]|0)|0){j=f[x>>2]|0;break}else{a=0;u=z;return a|0}}while(0);if(j>>>0>1431655765){a=0;u=z;return a|0}c=f[y>>2]|0;t=Mk(j|0,0,3,0)|0;s=I;if(0>s>>>0|0==(s|0)&c>>>0>t>>>0){a=0;u=z;return a|0}k=f[v>>2]|0;t=k+8|0;s=f[t+4>>2]|0;d=k+16|0;n=d;m=f[n>>2]|0;n=f[n+4>>2]|0;if(!((s|0)>(n|0)|((s|0)==(n|0)?(f[t>>2]|0)>>>0>m>>>0:0))){a=0;u=z;return a|0}t=b[(f[k>>2]|0)+m>>0]|0;l=gm(m|0,n|0,1,0)|0;i=I;s=d;f[s>>2]=l;f[s+4>>2]=i;a:do if(!(t<<24>>24)){if(!(Jd(a,j)|0)){a=0;u=z;return a|0}}else{if(c>>>0<256){if(!j)break;o=a+44|0;p=w+4|0;q=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;d=k+8|0;c=f[d>>2]|0;d=f[d+4>>2]|0;b:do if((d|0)>(i|0)|(d|0)==(i|0)&c>>>0>l>>>0){n=c;g=d;m=0;while(1){e=k+16|0;d=f[k>>2]|0;s=b[d+l>>0]|0;c=gm(l|0,i|0,1,0)|0;t=I;r=e;f[r>>2]=c;f[r+4>>2]=t;f[w>>2]=s&255;if(!((g|0)>(t|0)|(g|0)==(t|0)&n>>>0>c>>>0))break b;s=b[d+c>>0]|0;c=gm(l|0,i|0,2,0)|0;t=I;r=e;f[r>>2]=c;f[r+4>>2]=t;f[p>>2]=s&255;if(!((g|0)>(t|0)|(g|0)==(t|0)&n>>>0>c>>>0))break b;d=b[d+c>>0]|0;c=gm(l|0,i|0,3,0)|0;f[e>>2]=c;f[e+4>>2]=I;f[q>>2]=d&255;d=f[o>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){gg(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}m=m+1|0;if(m>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;g=k+8|0;n=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>(i|0)|(g|0)==(i|0)&n>>>0>l>>>0))break;else j=c}}while(0);a=0;u=z;return a|0}if(c>>>0<65536){if(!j)break;r=a+44|0;s=w+4|0;t=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=k+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=gm(m|0,n|0,3,0)|0;d=I;c:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;o=e;n=g;q=0;while(1){m=k+16|0;g=f[k>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8;c=m;f[c>>2]=p;f[c+4>>2]=d;f[w>>2]=e&65535;e=gm(l|0,i|0,4,0)|0;c=I;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0>>0)break c;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8;p=m;f[p>>2]=e;f[p+4>>2]=c;f[s>>2]=d&65535;c=gm(l|0,i|0,6,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0)break c;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8;p=m;f[p>>2]=c;f[p+4>>2]=d;f[t>>2]=e&65535;d=f[r>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){gg(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}q=q+1|0;if(q>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;o=k+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=gm(l|0,i|0,2,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0

>>0)break;else j=c}}while(0);a=0;u=z;return a|0}t=a+44|0;if((f[(f[t>>2]|0)+80>>2]|0)<2097152?(((h[o>>0]|0)<<8|(h[p>>0]|0))&65535)>513:0){if(!j)break;i=w+4|0;j=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;d:do if(sh(q,k)|0){g=0;do{f[w>>2]=f[q>>2];if(!(sh(q,f[v>>2]|0)|0))break d;f[i>>2]=f[q>>2];if(!(sh(q,f[v>>2]|0)|0))break d;f[j>>2]=f[q>>2];d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))gg(d+96|0,w);else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12}g=g+1|0;if(g>>>0>=(f[x>>2]|0)>>>0)break a;s=f[v>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0}while(sh(q,s)|0)}while(0);a=0;u=z;return a|0}if(j|0){r=w+4|0;s=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=k+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=gm(m|0,n|0,5,0)|0;d=I;e:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;o=e;n=g;q=0;while(1){m=k+16|0;g=f[k>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;c=m;f[c>>2]=p;f[c+4>>2]=d;f[w>>2]=e;e=gm(l|0,i|0,8,0)|0;c=I;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0>>0)break e;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;p=m;f[p>>2]=e;f[p+4>>2]=c;f[r>>2]=d;c=gm(l|0,i|0,12,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0)break e;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;p=m;f[p>>2]=c;f[p+4>>2]=d;f[s>>2]=e;d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){gg(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}q=q+1|0;if(q>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;o=k+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=gm(l|0,i|0,4,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0

>>0)break;else j=c}}while(0);a=0;u=z;return a|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[y>>2];a=1;u=z;return a|0}function wb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=La,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function xb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=u;u=u+48|0;F=I+36|0;H=I+24|0;G=I+12|0;C=I;E=a+4|0;d=f[(f[E>>2]|0)+44>>2]|0;D=a+8|0;g=f[D>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;h=d+96|0;d=d+100|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;c=f[d>>2]|0;b=f[h>>2]|0;i=(c-b|0)/12|0;if(g>>>0<=i>>>0){if(g>>>0>>0?(e=b+(g*12|0)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0)}else De(h,g-i|0,F);r=a+224|0;q=a+228|0;if((f[q>>2]|0)==(f[r>>2]|0)){d=f[D>>2]|0;d=(f[d+28>>2]|0)-(f[d+24>>2]|0)>>2;f[F>>2]=-1;Jh(H,d,F);d=f[E>>2]|0;b=f[d+44>>2]|0;e=f[b+100>>2]|0;c=f[b+96>>2]|0;if((e-c|0)>0){o=G+4|0;p=G+8|0;l=b;m=c;c=d;h=d;n=0;b=0;while(1){f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;i=n*3|0;if((n|0)<0)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i<<2)>>2]|0;a=f[H>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;k=b;b=b+1|0}else k=d;f[G>>2]=k;if((i|0)<-1)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i+1<<2)>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;d=b;b=b+1|0}f[o>>2]=d;if((i|0)<-2)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i+2<<2)>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;d=b;b=b+1|0}f[p>>2]=d;g=l+96|0;d=l+100|0;a=(e-m|0)/12|0;i=m;j=n;n=n+1|0;if((j|0)<(a|0)){d=l;g=m}else{c=e;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;if(n>>>0<=a>>>0)if(n>>>0>>0?(A=i+(n*12|0)|0,(c|0)!=(A|0)):0){e=c+(~(((c+-12-A|0)>>>0)/12|0)*12|0)|0;f[d>>2]=e;d=l;g=m}else{d=l;g=m}else{De(g,n-a|0,F);h=f[E>>2]|0;C=f[h+44>>2]|0;i=f[g>>2]|0;d=C;e=f[C+100>>2]|0;g=f[C+96>>2]|0}c=h}f[i+(j*12|0)>>2]=k;f[i+(j*12|0)+4>>2]=f[o>>2];f[i+(j*12|0)+8>>2]=f[p>>2];if((n|0)>=((e-g|0)/12|0|0)){d=H;break}else{l=d;m=g}}}else{c=d;d=H;b=0}f[(f[c+4>>2]|0)+80>>2]=b;d=f[d>>2]|0;if(d|0){c=H+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d)}u=I;return 1}f[H>>2]=0;A=H+4|0;f[A>>2]=0;f[H+8>>2]=0;b=f[D>>2]|0;yi(G,(f[b+4>>2]|0)-(f[b>>2]|0)>>2);b=f[D>>2]|0;if(((f[b+28>>2]|0)-(f[b+24>>2]|0)|0)>0){o=a+132|0;p=H+8|0;n=0;do{h=f[(f[b+24>>2]|0)+(n<<2)>>2]|0;a:do if((h|0)>=0){b:do if((f[(f[o>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0)==0?(s=f[q>>2]|0,t=f[r>>2]|0,v=t,(s|0)!=(t|0)):0){a=(((h>>>0)%3|0|0)==0?2:-1)+h|0;j=(a|0)<0;l=(s-t|0)/116|0;i=b+12|0;g=b+12|0;k=0;c:while(1){m=f[(f[f[v+(k*116|0)+68>>2]>>2]|0)+(h<<2)>>2]|0;do if(1<<(m&31)&f[(f[v+(k*116|0)+16>>2]|0)+(m>>>5<<2)>>2]|0){e=f[v+(k*116|0)+32>>2]|0;m=f[e+(h<<2)>>2]|0;if(!j){c=f[(f[i>>2]|0)+(a<<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)==(h|0))break;else d=c}else d=a;while(1){c=f[e+(d<<2)>>2]|0;if((d|0)<0)break c;if((c|0)!=(m|0)){h=d;break b}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=f[(f[g>>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)==(h|0))break;else d=c}}while(0);k=k+1|0;if(k>>>0>=l>>>0)break b}while(1)if((c|0)==(m|0))c=m;else{h=d;break}}while(0);c=f[A>>2]|0;f[(f[G>>2]|0)+(h<<2)>>2]=c-(f[H>>2]|0)>>2;f[F>>2]=h;if(c>>>0<(f[p>>2]|0)>>>0){f[c>>2]=h;f[A>>2]=c+4}else{zg(H,F);b=f[D>>2]|0}if((((h|0)>=0?(w=(((h>>>0)%3|0|0)==0?2:-1)+h|0,(w|0)>=0):0)?(x=f[(f[b+12>>2]|0)+(w<<2)>>2]|0,(x|0)>=0):0)?(y=x+(((x>>>0)%3|0|0)==0?2:-1)|0,(y|0)>-1&(y|0)!=(h|0)):0){g=y;e=h;while(1){b=f[q>>2]|0;c=f[r>>2]|0;d=c;d:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){m=f[d+(b*116|0)+32>>2]|0;b=b+1|0;if((f[m+(g<<2)>>2]|0)!=(f[m+(e<<2)>>2]|0))break;if(b>>>0>=c>>>0){z=67;break d}}b=f[A>>2]|0;f[(f[G>>2]|0)+(g<<2)>>2]=b-(f[H>>2]|0)>>2;f[F>>2]=g;if(b>>>0<(f[p>>2]|0)>>>0){f[b>>2]=g;f[A>>2]=b+4}else zg(H,F)}else z=67;while(0);if((z|0)==67){z=0;m=f[G>>2]|0;f[m+(g<<2)>>2]=f[m+(e<<2)>>2]}b=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((b|0)<0)break a;b=f[(f[(f[D>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break a;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;if((b|0)>-1&(b|0)!=(h|0)){e=g;g=b}else break}}}while(0);n=n+1|0;b=f[D>>2]|0}while((n|0)<((f[b+28>>2]|0)-(f[b+24>>2]|0)>>2|0))}e=f[E>>2]|0;b=f[e+44>>2]|0;d=f[b+100>>2]|0;c=f[b+96>>2]|0;if((d-c|0)>0){m=C+4|0;n=C+8|0;j=c;c=e;g=e;k=0;while(1){f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;i=(f[G>>2]|0)+(k*3<<2)|0;f[C>>2]=f[i>>2];f[C+4>>2]=f[i+4>>2];f[C+8>>2]=f[i+8>>2];i=b+96|0;h=b+100|0;a=(d-j|0)/12|0;e=j;l=k;k=k+1|0;if((l|0)<(a|0))h=j;else{c=d;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;if(k>>>0<=a>>>0)if(k>>>0>>0?(B=e+(k*12|0)|0,(c|0)!=(B|0)):0){d=c+(~(((c+-12-B|0)>>>0)/12|0)*12|0)|0;f[h>>2]=d;c=j}else c=j;else{De(i,k-a|0,F);g=f[E>>2]|0;c=f[g+44>>2]|0;e=f[i>>2]|0;b=c;d=f[c+100>>2]|0;c=f[c+96>>2]|0}h=c;c=g}f[e+(l*12|0)>>2]=f[C>>2];f[e+(l*12|0)+4>>2]=f[m>>2];f[e+(l*12|0)+8>>2]=f[n>>2];if((k|0)>=((d-h|0)/12|0|0))break;else j=h}}else c=e;b=f[H>>2]|0;f[(f[c+4>>2]|0)+80>>2]=(f[A>>2]|0)-b>>2;d=f[G>>2]|0;if(d){c=G+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);b=f[H>>2]|0}if(b|0){c=f[A>>2]|0;if((c|0)!=(b|0))f[A>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}u=I;return 1} +function Ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+48|0;H=J+36|0;I=J+24|0;D=J+12|0;C=J;G=a+4|0;e=f[(f[G>>2]|0)+44>>2]|0;E=a+8|0;h=f[E>>2]|0;h=((f[h+4>>2]|0)-(f[h>>2]|0)>>2>>>0)/3|0;i=e+96|0;e=e+100|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;d=f[e>>2]|0;c=f[i>>2]|0;j=(d-c|0)/12|0;if(h>>>0<=j>>>0){if(h>>>0>>0?(g=c+(h*12|0)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~(((d+-12-g|0)>>>0)/12|0)*12|0)}else We(i,h-j|0,H);s=a+212|0;r=a+216|0;if((f[s>>2]|0)==(f[r>>2]|0)){e=f[G>>2]|0;c=f[e+44>>2]|0;g=f[c+100>>2]|0;d=f[c+96>>2]|0;if((g-d|0)>0){o=I+4|0;p=I+8|0;k=c;c=e;h=e;n=0;while(1){f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;e=n*3|0;if((n|0)<0)m=-1073741824;else m=f[(f[f[E>>2]>>2]|0)+(e<<2)>>2]|0;f[I>>2]=m;if((e|0)<-1){f[o>>2]=-1073741824;if((e|0)==-2)F=89;else e=-1073741824}else{f[o>>2]=f[(f[f[E>>2]>>2]|0)+(e+1<<2)>>2];F=89}if((F|0)==89){F=0;e=f[(f[f[E>>2]>>2]|0)+(e+2<<2)>>2]|0}f[p>>2]=e;j=k+96|0;e=k+100|0;a=(g-d|0)/12|0;i=d;l=n;n=n+1|0;if((l|0)<(a|0))e=k;else{c=g;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;if(n>>>0<=a>>>0)if(n>>>0>>0?(q=i+(n*12|0)|0,(c|0)!=(q|0)):0){g=c+(~(((c+-12-q|0)>>>0)/12|0)*12|0)|0;f[e>>2]=g;e=k}else e=k;else{We(j,n-a|0,H);h=f[G>>2]|0;d=f[h+44>>2]|0;i=f[j>>2]|0;e=d;g=f[d+100>>2]|0;d=f[d+96>>2]|0}c=h}f[i+(l*12|0)>>2]=m;f[i+(l*12|0)+4>>2]=f[o>>2];f[i+(l*12|0)+8>>2]=f[p>>2];if((n|0)>=((g-d|0)/12|0|0))break;else k=e}}else c=e;f[(f[c+4>>2]|0)+80>>2]=b;u=J;return 1}f[I>>2]=0;A=I+4|0;f[A>>2]=0;f[I+8>>2]=0;e=f[E>>2]|0;d=(f[e+4>>2]|0)-(f[e>>2]|0)|0;c=d>>2;f[D>>2]=0;b=D+4|0;f[b>>2]=0;f[D+8>>2]=0;do if(c|0)if(c>>>0>1073741823)Tn(D);else{p=Lk(d)|0;f[D>>2]=p;q=p+(c<<2)|0;f[D+8>>2]=q;dh(p|0,0,d|0)|0;f[b>>2]=q;break}while(0);if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)>0){p=a+120|0;q=I+8|0;c=e;o=0;do{i=f[(f[c+24>>2]|0)+(o<<2)>>2]|0;a:do if((i|0)>=0){b:do if((f[(f[p>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0)==0?(t=f[r>>2]|0,v=f[s>>2]|0,w=v,(t|0)!=(v|0)):0){a=(((i>>>0)%3|0|0)==0?2:-1)+i|0;k=(a|0)<0;m=(t-v|0)/116|0;j=c+12|0;h=c+12|0;l=0;c:while(1){n=f[(f[f[w+(l*116|0)+68>>2]>>2]|0)+(i<<2)>>2]|0;do if(1<<(n&31)&f[(f[w+(l*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){g=f[w+(l*116|0)+32>>2]|0;n=f[g+(i<<2)>>2]|0;if(!k){d=f[(f[j>>2]|0)+(a<<2)>>2]|0;do 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)==(i|0))break;else e=d}else e=a;while(1){d=f[g+(e<<2)>>2]|0;if((e|0)<0)break c;if((d|0)!=(n|0)){i=e;break b}d=(((e>>>0)%3|0|0)==0?2:-1)+e|0;do if((d|0)>=0){d=f[(f[h>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);if((d|0)==(i|0))break;else e=d}}while(0);l=l+1|0;if(l>>>0>=m>>>0)break b}while(1)if((d|0)==(n|0))d=n;else{i=e;break}}while(0);d=f[A>>2]|0;f[(f[D>>2]|0)+(i<<2)>>2]=d-(f[I>>2]|0)>>2;f[H>>2]=i;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=i;f[A>>2]=d+4}else{Ig(I,H);c=f[E>>2]|0}if((((i|0)>=0?(x=(((i>>>0)%3|0|0)==0?2:-1)+i|0,(x|0)>=0):0)?(y=f[(f[c+12>>2]|0)+(x<<2)>>2]|0,(y|0)>=0):0)?(z=y+(((y>>>0)%3|0|0)==0?2:-1)|0,(z|0)>-1&(z|0)!=(i|0)):0){h=z;g=i;while(1){c=f[r>>2]|0;d=f[s>>2]|0;e=d;d:do if((c|0)!=(d|0)){d=(c-d|0)/116|0;c=0;while(1){n=f[e+(c*116|0)+32>>2]|0;c=c+1|0;if((f[n+(h<<2)>>2]|0)!=(f[n+(g<<2)>>2]|0))break;if(c>>>0>=d>>>0){F=64;break d}}c=f[A>>2]|0;f[(f[D>>2]|0)+(h<<2)>>2]=c-(f[I>>2]|0)>>2;f[H>>2]=h;if(c>>>0<(f[q>>2]|0)>>>0){f[c>>2]=h;f[A>>2]=c+4}else Ig(I,H)}else F=64;while(0);if((F|0)==64){F=0;n=f[D>>2]|0;f[n+(h<<2)>>2]=f[n+(g<<2)>>2]}c=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((c|0)<0)break a;c=f[(f[(f[E>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break a;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)>-1&(c|0)!=(i|0)){g=h;h=c}else break}}}while(0);o=o+1|0;c=f[E>>2]|0}while((o|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0))}g=f[G>>2]|0;c=f[g+44>>2]|0;e=f[c+100>>2]|0;d=f[c+96>>2]|0;if((e-d|0)>0){n=C+4|0;o=C+8|0;k=d;d=g;h=g;l=0;while(1){f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;j=(f[D>>2]|0)+(l*3<<2)|0;f[C>>2]=f[j>>2];f[C+4>>2]=f[j+4>>2];f[C+8>>2]=f[j+8>>2];j=c+96|0;i=c+100|0;a=(e-k|0)/12|0;g=k;m=l;l=l+1|0;if((m|0)<(a|0))i=k;else{d=e;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;if(l>>>0<=a>>>0)if(l>>>0>>0?(B=g+(l*12|0)|0,(d|0)!=(B|0)):0){e=d+(~(((d+-12-B|0)>>>0)/12|0)*12|0)|0;f[i>>2]=e;d=k}else d=k;else{We(j,l-a|0,H);h=f[G>>2]|0;d=f[h+44>>2]|0;g=f[j>>2]|0;c=d;e=f[d+100>>2]|0;d=f[d+96>>2]|0}i=d;d=h}f[g+(m*12|0)>>2]=f[C>>2];f[g+(m*12|0)+4>>2]=f[n>>2];f[g+(m*12|0)+8>>2]=f[o>>2];if((l|0)>=((e-i|0)/12|0|0))break;else k=i}}else d=g;c=f[I>>2]|0;f[(f[d+4>>2]|0)+80>>2]=(f[A>>2]|0)-c>>2;d=f[D>>2]|0;if(d){c=f[b>>2]|0;if((c|0)!=(d|0))f[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Co(d);c=f[I>>2]|0}if(c|0){d=f[A>>2]|0;if((d|0)!=(c|0))f[A>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}u=J;return 1}function Bb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function Cb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;k=F+76|0;l=F+72|0;D=F+48|0;m=F+24|0;x=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)i=-1073741824;else i=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;i=-1073741824}h=f[a+36>>2]|0;g=f[h>>2]|0;j=(f[h+4>>2]|0)-g>>2;if(j>>>0<=c>>>0)Tn(h);w=f[g+(c<<2)>>2]|0;if(j>>>0<=i>>>0)Tn(h);h=f[g+(i<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;r=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,r,x)|0;r=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;r=cm(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=cm(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=cm(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Kk(r|0,s|0,r|0,s|0)|0;x=I;B=Kk(t|0,v|0,t|0,v|0)|0;x=Bl(B|0,I|0,C|0,x|0)|0;C=I;B=Kk(l|0,m|0,l|0,m|0)|0;B=Bl(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=cm(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=cm(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=cm(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Kk(K|0,J|0,r|0,s|0)|0;d=I;g=Kk(H|0,G|0,t|0,v|0)|0;d=Bl(g|0,I|0,k|0,d|0)|0;k=I;g=Kk(h|0,i|0,l|0,m|0)|0;g=Bl(d|0,k|0,g|0,I|0)|0;k=I;d=cm(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=cm(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Kk(B|0,C|0,q|0,y|0)|0;n=I;q=Kk(B|0,C|0,z|0,A|0)|0;p=I;D=Kk(g|0,k|0,d|0,c|0)|0;e=I;j=Kk(g|0,k|0,w|0,x|0)|0;A=I;n=Bl(D|0,e|0,o|0,n|0)|0;o=I;p=Bl(j|0,A|0,q|0,p|0)|0;q=I;A=Kk(g|0,k|0,r|0,s|0)|0;j=I;e=Kk(g|0,k|0,t|0,v|0)|0;D=I;m=Kk(g|0,k|0,l|0,m|0)|0;k=I;j=ki(A|0,j|0,B|0,C|0)|0;l=I;D=ki(e|0,D|0,B|0,C|0)|0;e=I;k=ki(m|0,k|0,B|0,C|0)|0;m=I;l=cm(K|0,J|0,j|0,l|0)|0;j=I;e=cm(H|0,G|0,D|0,e|0)|0;D=I;m=cm(h|0,i|0,k|0,m|0)|0;k=I;j=Kk(l|0,j|0,l|0,j|0)|0;l=I;D=Kk(e|0,D|0,e|0,D|0)|0;l=Bl(D|0,I|0,j|0,l|0)|0;j=I;k=Kk(m|0,k|0,m|0,k|0)|0;k=Bl(l|0,j|0,k|0,I|0)|0;j=I;l=cm(0,0,d|0,c|0)|0;m=I;j=Kk(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=23}break}case 1:{if(!c){g=1;c=0;E=24}else{g=1;c=0;h=j;i=k;E=23}break}default:{g=1;c=0;h=j;i=k;E=23}}if((E|0)==23)while(1){g=ml(g|0,c|0,1)|0;c=I;K=h;h=sl(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=24;break}else{i=I;E=23}}if((E|0)==24)while(1){K=en(j|0,k|0,g|0,c|0)|0;g=Bl(K|0,I|0,g|0,c|0)|0;g=sl(g|0,I|0,1)|0;c=I;K=Kk(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=24;else break}E=Kk(g|0,c|0,w|0,x|0)|0;G=I;d=Kk(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=cm(0,0,E|0,G|0)|0;G=Bl(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=cm(0,0,d|0,H|0)|0;H=Bl(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=ki(G|0,J|0,B|0,C|0)|0;K=ki(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function Db(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;k=F+76|0;l=F+72|0;D=F+48|0;m=F+24|0;x=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);i=f[(f[h>>2]|0)+28>>2]|0;h=f[i+(c<<2)>>2]|0;i=f[i+(g<<2)>>2]|0;g=f[a+36>>2]|0;c=f[g>>2]|0;j=(f[g+4>>2]|0)-c>>2;if(j>>>0<=h>>>0)Tn(g);w=f[c+(h<<2)>>2]|0;if(j>>>0<=i>>>0)Tn(g);h=f[c+(i<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){y=w<<1;A=f[d+(y<<2)>>2]|0;q=((A|0)<0)<<31>>31;y=f[d+((y|1)<<2)>>2]|0;z=((y|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(A|0)|(o|0)!=(y|0))){f[a+8>>2]=A;f[a+12>>2]=y;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;r=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,r,x)|0;r=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;r=cm(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=cm(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=cm(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Kk(r|0,s|0,r|0,s|0)|0;x=I;B=Kk(t|0,v|0,t|0,v|0)|0;x=Bl(B|0,I|0,C|0,x|0)|0;C=I;B=Kk(l|0,m|0,l|0,m|0)|0;B=Bl(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=cm(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=cm(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=cm(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Kk(K|0,J|0,r|0,s|0)|0;d=I;g=Kk(H|0,G|0,t|0,v|0)|0;d=Bl(g|0,I|0,k|0,d|0)|0;k=I;g=Kk(h|0,i|0,l|0,m|0)|0;g=Bl(d|0,k|0,g|0,I|0)|0;k=I;d=cm(n|0,((n|0)<0)<<31>>31|0,A|0,q|0)|0;c=I;w=cm(o|0,((o|0)<0)<<31>>31|0,y|0,z|0)|0;x=I;o=Kk(B|0,C|0,A|0,q|0)|0;n=I;q=Kk(B|0,C|0,y|0,z|0)|0;p=I;D=Kk(g|0,k|0,d|0,c|0)|0;e=I;j=Kk(g|0,k|0,w|0,x|0)|0;A=I;n=Bl(D|0,e|0,o|0,n|0)|0;o=I;p=Bl(j|0,A|0,q|0,p|0)|0;q=I;A=Kk(g|0,k|0,r|0,s|0)|0;j=I;e=Kk(g|0,k|0,t|0,v|0)|0;D=I;m=Kk(g|0,k|0,l|0,m|0)|0;k=I;j=ki(A|0,j|0,B|0,C|0)|0;l=I;D=ki(e|0,D|0,B|0,C|0)|0;e=I;k=ki(m|0,k|0,B|0,C|0)|0;m=I;l=cm(K|0,J|0,j|0,l|0)|0;j=I;e=cm(H|0,G|0,D|0,e|0)|0;D=I;m=cm(h|0,i|0,k|0,m|0)|0;k=I;j=Kk(l|0,j|0,l|0,j|0)|0;l=I;D=Kk(e|0,D|0,e|0,D|0)|0;l=Bl(D|0,I|0,j|0,l|0)|0;j=I;k=Kk(m|0,k|0,m|0,k|0)|0;k=Bl(l|0,j|0,k|0,I|0)|0;j=I;l=cm(0,0,d|0,c|0)|0;m=I;j=Kk(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=22}break}case 1:{if(!c){g=1;c=0;E=23}else{g=1;c=0;h=j;i=k;E=22}break}default:{g=1;c=0;h=j;i=k;E=22}}if((E|0)==22)while(1){g=ml(g|0,c|0,1)|0;c=I;K=h;h=sl(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=23;break}else{i=I;E=22}}if((E|0)==23)while(1){K=en(j|0,k|0,g|0,c|0)|0;g=Bl(K|0,I|0,g|0,c|0)|0;g=sl(g|0,I|0,1)|0;c=I;K=Kk(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=23;else break}E=Kk(g|0,c|0,w|0,x|0)|0;G=I;d=Kk(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=cm(0,0,E|0,G|0)|0;G=Bl(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=cm(0,0,d|0,H|0)|0;H=Bl(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=ki(G|0,J|0,B|0,C|0)|0;K=ki(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function Eb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;S=u;u=u+96|0;F=S+92|0;G=S+88|0;H=S+72|0;M=S+48|0;N=S+24|0;O=S;L=a+4|0;m=f[L>>2]|0;if(!m)ra(10593,10615,46,10785);K=a+8|0;l=f[K>>2]|0;if(!l)ra(10593,10615,46,10785);J=a+16|0;k=f[J>>2]|0;n=f[c>>2]|0;f[H>>2]=k;f[H+4>>2]=n;D=H+8|0;f[D>>2]=n;b[H+12>>0]=1;k=f[(f[k+28>>2]|0)+(n<<2)>>2]|0;E=a+20|0;i=f[E>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0)Tn(i);c=f[l+(f[c+(k<<2)>>2]<<2)>>2]|0;if(!(b[m+84>>0]|0))c=f[(f[m+68>>2]|0)+(c<<2)>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;f[G>>2]=c;i=b[m+24>>0]|0;f[F>>2]=f[G>>2];xb(m,F,i,M)|0;i=f[D>>2]|0;w=a+28|0;c=(f[w>>2]|0)==0;a:do if((i|0)>=0){A=N+8|0;x=M+8|0;C=N+16|0;y=M+16|0;z=O+8|0;B=O+16|0;k=(n|0)<0;t=n+1|0;v=n+(k?0:((n>>>0)%3|0|0)==0?2:-1)|0;t=k?n:((t|0)%3|0|0)==0?n+-2|0:t;k=0;r=0;l=0;s=0;m=0;o=0;while(1){do if(!c){c=i+1|0;c=((c|0)%3|0|0)==0?i+-2|0:c;if(!((i>>>0)%3|0)){q=i+2|0;break}else{q=i+-1|0;break}}else{c=t;q=v}while(0);p=f[L>>2]|0;if(!p){c=16;break}a=f[K>>2]|0;if(!a){c=16;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(c<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=18;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;f[G>>2]=c;n=b[p+24>>0]|0;f[F>>2]=f[G>>2];xb(p,F,n,N)|0;p=f[L>>2]|0;if(!p){c=23;break}a=f[K>>2]|0;if(!a){c=23;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(q<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=25;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;f[O+16>>2]=0;f[O+20>>2]=0;f[G>>2]=c;i=b[p+24>>0]|0;f[F>>2]=f[G>>2];xb(p,F,i,O)|0;i=N;_=M;Z=f[_>>2]|0;_=f[_+4>>2]|0;i=cm(f[i>>2]|0,f[i+4>>2]|0,Z|0,_|0)|0;c=I;q=A;aa=x;$=f[aa>>2]|0;aa=f[aa+4>>2]|0;q=cm(f[q>>2]|0,f[q+4>>2]|0,$|0,aa|0)|0;p=I;U=C;n=y;T=f[n>>2]|0;n=f[n+4>>2]|0;U=cm(f[U>>2]|0,f[U+4>>2]|0,T|0,n|0)|0;V=I;W=O;_=cm(f[W>>2]|0,f[W+4>>2]|0,Z|0,_|0)|0;Z=I;W=z;aa=cm(f[W>>2]|0,f[W+4>>2]|0,$|0,aa|0)|0;$=I;W=B;n=cm(f[W>>2]|0,f[W+4>>2]|0,T|0,n|0)|0;T=I;W=Kk(n|0,T|0,q|0,p|0)|0;a=I;Y=Kk(aa|0,$|0,U|0,V|0)|0;X=I;V=Kk(_|0,Z|0,U|0,V|0)|0;U=I;T=Kk(n|0,T|0,i|0,c|0)|0;n=I;c=Kk(aa|0,$|0,i|0,c|0)|0;i=I;p=Kk(_|0,Z|0,q|0,p|0)|0;q=I;k=cm(k|0,r|0,Y|0,X|0)|0;k=Bl(k|0,I|0,W|0,a|0)|0;a=I;l=Bl(V|0,U|0,l|0,s|0)|0;l=cm(l|0,I|0,T|0,n|0)|0;n=I;m=cm(m|0,o|0,p|0,q|0)|0;m=Bl(m|0,I|0,c|0,i|0)|0;o=I;me(H);i=f[D>>2]|0;c=(f[w>>2]|0)==0;if((i|0)<0){j=a;Q=k;R=n;h=l;g=o;e=m;P=c;break a}else{r=a;s=n}}if((c|0)==16)ra(10593,10842,70,11012);else if((c|0)==18)Tn(n);else if((c|0)==23)ra(10593,10842,70,11012);else if((c|0)==25)Tn(n)}else{j=0;Q=0;R=0;h=0;g=0;e=0;P=c}while(0);aa=(j|0)>-1|(j|0)==-1&Q>>>0>4294967295;i=cm(0,0,Q|0,j|0)|0;c=aa?j:I;X=(R|0)>-1|(R|0)==-1&h>>>0>4294967295;Y=cm(0,0,h|0,R|0)|0;Z=X?R:I;$=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;_=cm(0,0,e|0,g|0)|0;$=Bl((X?h:Y)|0,Z|0,($?e:_)|0,($?g:I)|0)|0;c=Bl($|0,I|0,(aa?Q:i)|0,c|0)|0;i=I;if(P)if((c|0)>536870912){aa=sl(c|0,i|0,29)|0;aa=aa&7;i=ki(Q|0,j|0,aa|0,0)|0;j=I;h=ki(h|0,R|0,aa|0,0)|0;c=I;e=ki(e|0,g|0,aa|0,0)|0;g=I}else{i=Q;c=R}else if((i|0)>0|(i|0)==0&c>>>0>536870912){$=sl(c|0,i|0,29)|0;aa=I;i=ki(Q|0,j|0,$|0,aa|0)|0;j=I;h=ki(h|0,R|0,$|0,aa|0)|0;c=I;e=ki(e|0,g|0,$|0,aa|0)|0;g=I}else{i=Q;c=R}_=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;$=cm(0,0,i|0,j|0)|0;aa=_?j:I;V=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;W=cm(0,0,h|0,c|0)|0;X=V?c:I;Z=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Y=cm(0,0,e|0,g|0)|0;Z=Bl((V?h:W)|0,X|0,(Z?e:Y)|0,(Z?g:I)|0)|0;aa=Bl(Z|0,I|0,(_?i:$)|0,aa|0)|0;$=I;if(($|0)<0|($|0)==0&aa>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=S;return}else ra(10807,10615,95,10785)}function Fb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+20|0;B=C+8|0;A=C+4|0;y=C;x=a+4|0;do if((h[(f[x>>2]|0)+36>>0]<<8&65535)<512){t=c+8|0;v=f[t>>2]|0;t=f[t+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=Bl(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((t|0)<(g|0)|(t|0)==(g|0)&v>>>0>>0){B=-1;u=C;return B|0}else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[w>>2]=d;v=i;f[v>>2]=e;f[v+4>>2]=g;break}}else if(yh(w,c)|0){d=f[w>>2]|0;break}else{B=-1;u=C;return B|0}while(0);a:do if(d|0){v=f[a+8>>2]|0;if(d>>>0>(((f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)/3|0)>>>0){B=-1;u=C;return B|0}v=f[x>>2]|0;if(((h[v+36>>0]<<8|h[v+37>>0])&65535)<258){q=c+8|0;r=c+16|0;t=B+4|0;s=B+8|0;o=a+40|0;p=a+44|0;v=a+36|0;n=0;while(1){j=q;i=f[j>>2]|0;j=f[j+4>>2]|0;l=r;k=f[l>>2]|0;l=f[l+4>>2]|0;e=Bl(k|0,l|0,4,0)|0;g=I;if((j|0)<(g|0)|(j|0)==(g|0)&i>>>0>>0)break;m=f[c>>2]|0;D=m+k|0;f[B>>2]=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=r;f[D>>2]=e;f[D+4>>2]=g;g=Bl(k|0,l|0,8,0)|0;D=I;if((j|0)<(D|0)|(j|0)==(D|0)&i>>>0>>0)break;e=m+e|0;f[t>>2]=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;e=Bl(k|0,l|0,8,0)|0;D=I;g=r;f[g>>2]=e;f[g+4>>2]=D;if(!((j|0)>(D|0)|(j|0)==(D|0)&i>>>0>e>>>0))break;e=b[m+e>>0]|0;m=Bl(k|0,l|0,9,0)|0;D=r;f[D>>2]=m;f[D+4>>2]=I;b[s>>0]=b[s>>0]&-2|e&1;e=f[o>>2]|0;if((e|0)==(f[p>>2]|0)){og(v,B);d=f[w>>2]|0}else{f[e>>2]=f[B>>2];f[e+4>>2]=f[B+4>>2];f[e+8>>2]=f[B+8>>2];f[o>>2]=(f[o>>2]|0)+12}n=n+1|0;if(n>>>0>=d>>>0)break a}D=-1;u=C;return D|0}k=B+4|0;e=a+40|0;g=a+44|0;l=a+36|0;i=0;j=0;do{yh(A,c)|0;f[k>>2]=(f[A>>2]|0)+j;yh(A,c)|0;d=f[A>>2]|0;j=f[k>>2]|0;if(j>>>0>>0){z=36;break}f[B>>2]=j-d;d=f[e>>2]|0;if((d|0)==(f[g>>2]|0))og(l,B);else{f[d>>2]=f[B>>2];f[d+4>>2]=f[B+4>>2];f[d+8>>2]=f[B+8>>2];f[e>>2]=(f[e>>2]|0)+12}i=i+1|0}while(i>>>0<(f[w>>2]|0)>>>0);if((z|0)==36){D=-1;u=C;return D|0}$e(c,0,0)|0;j=f[w>>2]|0;if(j|0){n=c+36|0;o=c+32|0;l=c+24|0;m=c+28|0;k=a+36|0;d=0;p=0;do{D=f[x>>2]|0;e=(b[n>>0]|0)==0;if(((h[D+36>>0]<<8|h[D+37>>0])&65535)<514){if(!e){d=f[o>>2]|0;g=f[l>>2]|0;i=f[m>>2]|0;e=g+(d>>>3)|0;if(e>>>0>>0){D=(h[e>>0]|0)>>>(d&7)&1;e=d+1|0;f[o>>2]=e;d=D}else{e=d;d=0}if((g+(e>>>3)|0)>>>0>>0)f[o>>2]=e+1}}else if(!e){d=f[o>>2]|0;e=(f[l>>2]|0)+(d>>>3)|0;if(e>>>0<(f[m>>2]|0)>>>0){D=(h[e>>0]|0)>>>(d&7)&1;f[o>>2]=d+1;d=D}else d=0}D=(f[k>>2]|0)+(p*12|0)+8|0;b[D>>0]=b[D>>0]&-2|d&1;p=p+1|0}while(p>>>0>>0)}Jj(c)}while(0);f[B>>2]=0;d=f[x>>2]|0;d=(h[d+36>>0]<<8|h[d+37>>0])&65535;if((d&65535)<512){w=c+8|0;D=f[w>>2]|0;w=f[w+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=Bl(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((w|0)<(g|0)|(w|0)==(g|0)&D>>>0>>0)d=-1;else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[B>>2]=d;z=i;f[z>>2]=e;f[z+4>>2]=g;z=43}}else if(d<<16>>16==512)if(yh(B,c)|0){d=f[B>>2]|0;z=43}else d=-1;else z=57;b:do if((z|0)==43)if(!d)z=57;else{D=f[x>>2]|0;if(((h[D+36>>0]<<8|h[D+37>>0])&65535)>=258){j=a+52|0;k=a+56|0;e=a+48|0;g=0;i=0;while(1){f[A>>2]=0;yh(y,c)|0;i=(f[y>>2]|0)+i|0;f[A>>2]=i;d=f[j>>2]|0;if((d|0)==(f[k>>2]|0))Ig(e,A);else{f[d>>2]=i;f[j>>2]=d+4}g=g+1|0;if(g>>>0>=(f[B>>2]|0)>>>0){z=57;break b}}}n=c+8|0;o=c+16|0;l=a+52|0;m=a+56|0;j=a+48|0;k=0;while(1){f[A>>2]=0;a=n;D=f[a>>2]|0;a=f[a+4>>2]|0;e=o;d=f[e>>2]|0;e=Bl(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((a|0)<(g|0)|(a|0)==(g|0)&D>>>0>>0)break;i=(f[c>>2]|0)+d|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[A>>2]=i;d=o;f[d>>2]=e;f[d+4>>2]=g;d=f[l>>2]|0;if((d|0)==(f[m>>2]|0))Ig(j,A);else{f[d>>2]=i;f[l>>2]=d+4}k=k+1|0;if(k>>>0>=(f[B>>2]|0)>>>0){z=57;break b}}d=-1}while(0);if((z|0)==57)d=f[c+16>>2]|0;D=d;u=C;return D|0}function Gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=La,l=La,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=La;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=lc(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];ee(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;g=f[d>>2]|0;j=(f[d+4>>2]|0)-g|0;if(!j)i=0;else{xg(B,j);i=f[B>>2]|0;g=f[d>>2]|0}cf(i|0,g|0,j|0)|0;eh(A,c);j=A+12|0;f[j>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;i=f[z>>2]|0;g=f[B>>2]|0;d=i-g|0;if(!d){d=i;i=0}else{xg(j,d);d=f[z>>2]|0;i=f[j>>2]|0;g=f[B>>2]|0}cf(i|0,g|0,d-g|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){i=t;g=s;d=s;while(1){v=X(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else i=i+4|0}v=s+-4|0;i=v&-4;d=t+(i+4)|0;i=v-i|0}else{d=t;g=s;i=s}switch(i|0){case 3:{g=h[d+2>>0]<<16^g;w=12;break}case 2:{w=12;break}case 1:{w=13;break}default:{}}if((w|0)==12){g=h[d+1>>0]<<8^g;w=13}if((w|0)==13)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;j=f[q>>2]|0;r=(j|0)==0;a:do if(!r){p=j+-1|0;d=(p&j|0)==0;if(!d)if(v>>>0>>0)i=v;else i=(v>>>0)%(j>>>0)|0;else i=v&p;g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(i|0))){w=54;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=54;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(i|0))){w=54;break a}g=o+8|0;c=b[g+11>>0]|0;m=c<<24>>24<0;c=c&255;do if(((m?f[o+12>>2]|0:c)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(cj(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{c=c+-1|0;g=g+1|0;if(!c)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=54;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0;if((g|0)!=(i|0)){w=54;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=54;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0;if((g|0)!=(i|0)){w=54;break a}}g=o+8|0;c=b[g+11>>0]|0;m=c<<24>>24<0;c=c&255;do if(((m?f[o+12>>2]|0:c)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(cj(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{c=c+-1|0;g=g+1|0;if(!c)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=54;break}}}else w=54}else{i=0;w=54}while(0);if((w|0)==54){vf(e,a,v,A);c=a+12|0;l=$(((f[c>>2]|0)+1|0)>>>0);D=$(j>>>0);k=$(n[a+16>>2]);do if(r|l>$(D*k)){g=(j>>>0<3|(j+-1&j|0)!=0)&1|j<<1;i=~~$(W($(l/k)))>>>0;Wf(a,g>>>0>>0?i:g);g=f[q>>2]|0;i=g+-1|0;if(!(i&g)){j=g;i=i&v;break}if(v>>>0>>0){j=g;i=v}else{j=g;i=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;i=j+-1|0;if(i&j){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0}else g=g&i;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[c>>2]=(f[c>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;Co(e)}if((b[x>>0]|0)<0)Co(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;Co(e);u=C;return}function Hb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))Ig(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Se(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Se(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Se(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Se(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))Ig(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))Ig(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function Ib(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+176|0;s=A+136|0;w=A+32|0;v=A;t=A+104|0;x=A+100|0;y=a+4|0;q=f[y>>2]|0;d=f[q+32>>2]|0;o=d+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((o|0)>(l|0)|(o|0)==(l|0)&n>>>0>k>>>0)){c=0;u=A;return c|0}j=f[d>>2]|0;r=b[j+k>>0]|0;d=Bl(k|0,l|0,1,0)|0;m=I;i=p;f[i>>2]=d;f[i+4>>2]=m;if(!((o|0)>(m|0)|(o|0)==(m|0)&n>>>0>d>>>0)){c=0;u=A;return c|0}m=b[j+d>>0]|0;d=Bl(k|0,l|0,2,0)|0;e=I;i=p;f[i>>2]=d;f[i+4>>2]=e;do if(r<<24>>24>-1){i=r<<24>>24;g=f[a+212>>2]|0;if(i>>>0<(((f[a+216>>2]|0)-g|0)/116|0)>>>0){f[g+(i*116|0)>>2]=c;break}else{c=0;u=A;return c|0}}while(0);do if((((h[q+36>>0]|0)<<8|(h[q+37>>0]|0))&65535)>257)if((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0){e=b[j+d>>0]|0;o=Bl(k|0,l|0,3,0)|0;f[p>>2]=o;f[p+4>>2]=I;e=e&255;break}else{c=0;u=A;return c|0}else e=0;while(0);n=f[q+44>>2]|0;if(!(m<<24>>24)){if(r<<24>>24<0)d=a+184|0;else{d=r<<24>>24;w=f[a+212>>2]|0;b[w+(d*116|0)+72>>0]=0;d=w+(d*116|0)+76|0}switch((e&255)<<24>>24){case 0:{vc(s,a,d);d=f[s>>2]|0;break}case 1:{Cd(s,a,d);d=f[s>>2]|0;break}default:{c=0;u=A;return c|0}}if(!d){c=0;u=A;return c|0}}else{if(e|0){c=0;u=A;return c|0}j=r<<24>>24;if(r<<24>>24<0){c=0;u=A;return c|0}d=Lk(88)|0;i=f[a+212>>2]|0;k=i+(j*116|0)+76|0;f[d+4>>2]=0;f[d>>2]=3108;l=d+12|0;f[l>>2]=3132;m=d+64|0;f[m>>2]=0;f[d+68>>2]=0;f[d+72>>2]=0;e=d+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d+76>>2]=n;f[d+80>>2]=k;f[d+84>>2]=0;p=w+4|0;f[p>>2]=3132;o=w+56|0;f[o>>2]=0;q=w+60|0;f[q>>2]=0;f[w+64>>2]=0;e=w+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));g=i+(j*116|0)+4|0;f[v>>2]=3132;e=v+4|0;a=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[e>>2]=g;i=f[i+(j*116|0)+68>>2]|0;i=((f[i+4>>2]|0)-(f[i>>2]|0)>>2>>>0)/3|0;b[s>>0]=0;mf(v+8|0,i,s);Sa[f[(f[v>>2]|0)+8>>2]&127](v);$d(t,v);$d(s,t);f[w>>2]=f[s+4>>2];i=w+4|0;xe(i,s)|0;f[s>>2]=3132;e=f[s+20>>2]|0;if(e|0)Co(e);e=f[s+8>>2]|0;if(e|0)Co(e);f[w+36>>2]=g;f[w+40>>2]=k;f[w+44>>2]=n;f[w+48>>2]=d;f[t>>2]=3132;e=f[t+20>>2]|0;if(e|0)Co(e);e=f[t+8>>2]|0;if(e|0)Co(e);f[d+8>>2]=f[w>>2];xe(l,i)|0;e=d+44|0;t=w+36|0;f[e>>2]=f[t>>2];f[e+4>>2]=f[t+4>>2];f[e+8>>2]=f[t+8>>2];f[e+12>>2]=f[t+12>>2];b[e+16>>0]=b[t+16>>0]|0;Ae(m,f[o>>2]|0,f[q>>2]|0);f[v>>2]=3132;e=f[v+20>>2]|0;if(e|0)Co(e);e=f[v+8>>2]|0;if(e|0)Co(e);e=f[o>>2]|0;if(e|0){g=f[q>>2]|0;if((g|0)!=(e|0))f[q>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}f[p>>2]=3132;e=f[w+24>>2]|0;if(e|0)Co(e);e=f[w+12>>2]|0;if(e|0)Co(e)}e=Lk(64)|0;f[x>>2]=d;bj(e,x);l=e;d=f[x>>2]|0;f[x>>2]=0;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[y>>2]|0;if((c|0)<0){Sa[f[(f[e>>2]|0)+4>>2]&127](e);c=0;u=A;return c|0}k=d+8|0;j=d+12|0;d=f[j>>2]|0;e=f[k>>2]|0;i=d-e>>2;do if((i|0)<=(c|0)){g=c+1|0;if(g>>>0>i>>>0){Qe(k,g-i|0);break}if(g>>>0>>0?(z=e+(g<<2)|0,(d|0)!=(z|0)):0)do{y=d+-4|0;f[j>>2]=y;d=f[y>>2]|0;f[y>>2]=0;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[j>>2]|0}while((d|0)!=(z|0))}while(0);c=(f[k>>2]|0)+(c<<2)|0;d=f[c>>2]|0;f[c>>2]=l;if(!d){c=1;u=A;return c|0}Sa[f[(f[d>>2]|0)+4>>2]&127](d);c=1;u=A;return c|0}function Jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;D=a+8|0;f[D>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);d=e>>>0>1073741823?-1:e<<2;B=zo(d)|0;dh(B|0,0,d|0)|0;C=zo(d)|0;dh(C|0,0,d|0)|0;d=f[D>>2]|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[B+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{z=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(z|0)?z:d}i=i+1|0;d=f[D>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;J=18}}else{d=d-(f[i>>2]|0)|0;J=18}if((J|0)==18){J=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}r=f[a+48>>2]|0;s=f[a+56>>2]|0;v=s+4|0;g=f[v>>2]|0;h=f[s>>2]|0;y=g-h|0;z=y>>2;if((y|0)<=4){Ao(C);Ao(B);return 1}t=f[a+52>>2]|0;w=(e|0)>0;x=a+16|0;u=a+32|0;y=a+12|0;q=a+20|0;p=r+64|0;o=r+28|0;n=e<<2;if(g-h>>2>>>0>1){m=h;A=d;H=1}else Tn(s);while(1){a=f[m+(H<<2)>>2]|0;if(w)dh(B|0,0,n|0)|0;if((a|0)>-1){l=f[r>>2]|0;k=a;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(I=f[(f[(f[p>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(I|0)>=0):0)?(G=f[o>>2]|0,m=f[t>>2]|0,E=f[m+(f[G+(I<<2)>>2]<<2)>>2]|0,F=I+1|0,F=f[m+(f[G+((((F|0)%3|0|0)==0?I+-2|0:F)<<2)>>2]<<2)>>2]|0,G=f[m+(f[G+((((I>>>0)%3|0|0)==0?2:-1)+I<<2)>>2]<<2)>>2]|0,(E|0)<(H|0)&(F|0)<(H|0)&(G|0)<(H|0)):0){g=X(E,e)|0;h=X(F,e)|0;i=X(G,e)|0;if(w){d=0;do{f[C+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(w){d=0;do{m=B+(d<<2)|0;f[m>>2]=(f[m>>2]|0)+(f[C+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}j=j+1|0}d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(d>>>5<<2)>>2]&1<<(d&31))){if((d|0)>=0){d=f[(f[(f[p>>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);k=(d|0)==(a|0)?-1073741824:d}while((k|0)>-1);g=X(H,e)|0;if(j){if(w){d=0;do{m=B+(d<<2)|0;f[m>>2]=(f[m>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}k=b+(g<<2)|0;j=c+(g<<2)|0;if((A|0)>0){h=0;do{d=f[B+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){i=f[u>>2]|0;f[i+(h<<2)>>2]=g}else{A=f[y>>2]|0;i=f[u>>2]|0;f[i+(h<<2)>>2]=(d|0)<(A|0)?A:d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=j+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[q>>2]|0)+d|0;J=68}}else{d=d-(f[q>>2]|0)|0;J=68}if((J|0)==68){J=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}else d=A}else{d=g;J=46}}else{d=X(H,e)|0;J=46}if((J|0)==46){J=0;i=c+((X(H+-1|0,e)|0)<<2)|0;l=b+(d<<2)|0;k=c+(d<<2)|0;if((A|0)>0){h=0;do{d=f[i+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){j=f[u>>2]|0;f[j+(h<<2)>>2]=g}else{A=f[y>>2]|0;j=f[u>>2]|0;f[j+(h<<2)>>2]=(d|0)<(A|0)?A:d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[q>>2]|0)+d|0;J=56}}else{d=d-(f[q>>2]|0)|0;J=56}if((J|0)==56){J=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}else d=A}H=H+1|0;if((H|0)>=(z|0)){J=22;break}m=f[s>>2]|0;if((f[v>>2]|0)-m>>2>>>0<=H>>>0){J=23;break}else A=d}if((J|0)==22){Ao(C);Ao(B);return 1}else if((J|0)==23)Tn(s);return 0}function Kb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=a+8|0;f[D>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);d=e>>>0>1073741823?-1:e<<2;B=zo(d)|0;dh(B|0,0,d|0)|0;C=zo(d)|0;dh(C|0,0,d|0)|0;d=f[D>>2]|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[B+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{z=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(z|0)?z:d}i=i+1|0;d=f[D>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;F=18}}else{d=d-(f[i>>2]|0)|0;F=18}if((F|0)==18){F=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}r=f[a+48>>2]|0;s=f[a+56>>2]|0;v=s+4|0;g=f[v>>2]|0;h=f[s>>2]|0;y=g-h|0;z=y>>2;if((y|0)<=4){Ao(C);Ao(B);return 1}t=f[a+52>>2]|0;w=(e|0)>0;x=a+16|0;u=a+32|0;y=a+12|0;q=a+20|0;p=r+12|0;o=e<<2;if(g-h>>2>>>0>1){m=h;A=d;E=1}else Tn(s);while(1){n=f[m+(E<<2)>>2]|0;if(w)dh(B|0,0,o|0)|0;if((n|0)>-1){m=f[p>>2]|0;a=n;l=0;while(1){g=f[m+(a<<2)>>2]|0;if((g|0)>=0){h=f[r>>2]|0;i=f[t>>2]|0;k=f[i+(f[h+(g<<2)>>2]<<2)>>2]|0;d=g+1|0;d=((d|0)%3|0|0)==0?g+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;j=f[i+(d<<2)>>2]|0;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;d=f[i+(d<<2)>>2]|0;if((k|0)<(E|0)&(j|0)<(E|0)&(d|0)<(E|0)){i=X(k,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(w){d=0;do{f[C+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(w){d=0;do{k=B+(d<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[C+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;d=(((a>>>0)%3|0|0)==0?2:-1)+a|0;do if((d|0)>=0){d=f[m+(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);a=(d|0)==(n|0)?-1073741824:d;if((a|0)<=-1)break;else l=h}g=X(E,e)|0;if(h){if(w){d=0;do{n=B+(d<<2)|0;f[n>>2]=(f[n>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}k=b+(g<<2)|0;j=c+(g<<2)|0;if((A|0)>0){h=0;do{d=f[B+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){i=f[u>>2]|0;f[i+(h<<2)>>2]=g}else{A=f[y>>2]|0;i=f[u>>2]|0;f[i+(h<<2)>>2]=(d|0)<(A|0)?A:d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=j+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[q>>2]|0)+d|0;F=70}}else{d=d-(f[q>>2]|0)|0;F=70}if((F|0)==70){F=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}else d=A}else{d=g;F=48}}else{d=X(E,e)|0;F=48}if((F|0)==48){F=0;i=c+((X(E+-1|0,e)|0)<<2)|0;l=b+(d<<2)|0;k=c+(d<<2)|0;if((A|0)>0){h=0;do{d=f[i+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){j=f[u>>2]|0;f[j+(h<<2)>>2]=g}else{A=f[y>>2]|0;j=f[u>>2]|0;f[j+(h<<2)>>2]=(d|0)<(A|0)?A:d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[q>>2]|0)+d|0;F=58}}else{d=d-(f[q>>2]|0)|0;F=58}if((F|0)==58){F=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}else d=A}E=E+1|0;if((E|0)>=(z|0)){F=22;break}m=f[s>>2]|0;if((f[v>>2]|0)-m>>2>>>0<=E>>>0){F=23;break}else A=d}if((F|0)==22){Ao(C);Ao(B);return 1}else if((F|0)==23)Tn(s);return 0}function Lb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))Ig(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Se(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Se(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;g=d+(i>>>5<<2)|0;f[g>>2]=1<<(i&31)|f[g>>2];g=f[(f[e+28>>2]|0)+(f[b>>2]<<2)>>2]|0;d=(f[n>>2]|0)+(g>>>5<<2)|0;i=1<<(g&31);c=f[d>>2]|0;do if(!(i&c)){h=f[(f[e+40>>2]|0)+(g<<2)>>2]|0;if((h|0)<0){f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Se(k,t,w);y=40;break}m=f[(f[f[e+64>>2]>>2]|0)+(h<<2)>>2]|0;m=(1<<(m&31)&f[(f[e+12>>2]|0)+(m>>>5<<2)>>2]|0)==0;f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Se(k,t,w);if(m){e=f[a>>2]|0;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}else y=40}else y=40;while(0);if((y|0)==40){y=0;e=f[a>>2]|0;d=f[b>>2]|0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){Ig(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function Mb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=u;u=u+736|0;C=D+720|0;s=D+16|0;B=D+72|0;r=D+64|0;v=D+56|0;w=D+48|0;x=D+40|0;y=D+32|0;z=D+24|0;A=D+8|0;t=D;e=Oa[f[(f[a>>2]|0)+20>>2]&127](a,0)|0;a=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;a=f[a>>2]|0;if((e|0)<=-1)ra(17381,17397,67,17494);d=f[a+8>>2]|0;if(((f[a+12>>2]|0)-d>>2|0)<=(e|0))ra(17504,17397,68,17494);a=f[d+(e<<2)>>2]|0;b[a+84>>0]=1;d=f[a+68>>2]|0;g=a+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);m=c+8|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=c+16|0;k=o;j=f[k>>2]|0;k=f[k+4>>2]|0;if(!((m|0)>(k|0)|(m|0)==(k|0)&l>>>0>j>>>0)){C=0;u=D;return C|0}n=f[c>>2]|0;g=b[n+j>>0]|0;d=Bl(j|0,k|0,1,0)|0;e=I;E=o;f[E>>2]=d;f[E+4>>2]=e;switch(g<<24>>24){case 0:{if(((m|0)>(e|0)|(m|0)==(e|0)&l>>>0>d>>>0?(i=Bl(j|0,k|0,2,0)|0,p=o,f[p>>2]=i,f[p+4>>2]=I,p=Bl(j|0,k|0,6,0)|0,q=I,!((m|0)<(q|0)|(m|0)==(q|0)&l>>>0

>>0)):0)?(E=n+i|0,E=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24,A=o,f[A>>2]=p,f[A+4>>2]=q,ph(a,E)|0,bm(B),f[r>>2]=a,f[r+4>>2]=0,f[C>>2]=f[r>>2],f[C+4>>2]=f[r+4>>2],ld(B,c,C)|0):0){E=1;u=D;return E|0}E=0;u=D;return E|0}case 1:{a:do if((m|0)>(e|0)|(m|0)==(e|0)&l>>>0>d>>>0){i=b[n+d>>0]|0;g=Bl(j|0,k|0,2,0)|0;E=o;f[E>>2]=g;f[E+4>>2]=I;if((i&255)>6){f[s>>2]=i&255;hl(4934,s)|0;break}d=Bl(j|0,k|0,6,0)|0;e=I;if(!((m|0)<(e|0)|(m|0)==(e|0)&l>>>0>>0)){E=n+g|0;E=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;s=o;f[s>>2]=d;f[s+4>>2]=e;ph(a,E)|0;switch(i<<24>>24){case 0:{ce(B,3);f[v>>2]=a;f[v+4>>2]=0;f[C>>2]=f[v>>2];f[C+4>>2]=f[v+4>>2];E=xd(B,c,C)|0;se(B);if(E)a=1;else break a;u=D;return a|0}case 1:{ce(B,3);f[w>>2]=a;f[w+4>>2]=0;f[C>>2]=f[w>>2];f[C+4>>2]=f[w+4>>2];E=wd(B,c,C)|0;se(B);if(E)a=1;else break a;u=D;return a|0}case 2:{de(B,3);f[x>>2]=a;f[x+4>>2]=0;f[C>>2]=f[x>>2];f[C+4>>2]=f[x+4>>2];E=zd(B,c,C)|0;ve(B);if(E)a=1;else break a;u=D;return a|0}case 3:{de(B,3);f[y>>2]=a;f[y+4>>2]=0;f[C>>2]=f[y>>2];f[C+4>>2]=f[y+4>>2];E=yd(B,c,C)|0;ve(B);if(E)a=1;else break a;u=D;return a|0}case 4:{Pd(B,3);f[z>>2]=a;f[z+4>>2]=0;f[C>>2]=f[z>>2];f[C+4>>2]=f[z+4>>2];E=hd(B,c,C)|0;ke(B);if(E)a=1;else break a;u=D;return a|0}case 5:{Pd(B,3);f[A>>2]=a;f[A+4>>2]=0;f[C>>2]=f[A>>2];f[C+4>>2]=f[A+4>>2];E=gd(B,c,C)|0;ke(B);if(E)a=1;else break a;u=D;return a|0}case 6:{Pd(B,3);f[t>>2]=a;f[t+4>>2]=0;f[C>>2]=f[t>>2];f[C+4>>2]=f[t+4>>2];E=fd(B,c,C)|0;ke(B);if(E)a=1;else break a;u=D;return a|0}default:break a}}}while(0);E=0;u=D;return E|0}default:{E=0;u=D;return E|0}}return 0}function Nb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;y=u;u=u+16|0;x=y;m=a+144|0;l=f[m>>2]|0;l=Na[f[(f[l>>2]|0)+32>>2]&127](l)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){e=a+40|0;g=e;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));if($e(e,1,x)|0){g=a;i=e;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));e=x;l=f[e>>2]|0;e=f[e+4>>2]|0;z=a+8|0;g=a+16|0;k=g;i=f[k>>2]|0;k=f[k+4>>2]|0;z=cm(f[z>>2]|0,f[z+4>>2]|0,i|0,k|0)|0;A=I;if(!(e>>>0>A>>>0|(e|0)==(A|0)&l>>>0>z>>>0)){z=Bl(i|0,k|0,l|0,e|0)|0;A=g;f[A>>2]=z;f[A+4>>2]=I;break}}A=0;u=y;return A|0}while(0);do if((j[a+38>>1]|0)<514){e=a+96|0;g=e;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));if($e(e,1,x)|0){g=a;i=e;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));g=x;e=f[g>>2]|0;g=f[g+4>>2]|0;A=a+8|0;i=a+16|0;l=i;k=f[l>>2]|0;l=f[l+4>>2]|0;A=cm(f[A>>2]|0,f[A+4>>2]|0,k|0,l|0)|0;z=I;if(!(g>>>0>z>>>0|(g|0)==(z|0)&e>>>0>A>>>0)){z=Bl(k|0,l|0,e|0,g|0)|0;A=i;f[A>>2]=z;f[A+4>>2]=I;break}}A=0;u=y;return A|0}else nd(a+80|0,a)|0;while(0);if(!(yg(a)|0)){A=0;u=y;return A|0}g=c;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));A=f[m>>2]|0;A=Na[f[(f[A>>2]|0)+32>>2]&127](A)|0;do if((((h[A+36>>0]|0)<<8|(h[A+37>>0]|0))&65535)<514){A=f[m>>2]|0;A=(Na[f[(f[A>>2]|0)+32>>2]&127](A)|0)+36|0;if(((h[A>>0]|0)<<8&65535)<512){z=c+8|0;A=f[z>>2]|0;z=f[z+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if(!((z|0)<(i|0)|(z|0)==(i|0)&A>>>0>>0)){n=(f[c>>2]|0)+e|0;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[x>>2]=n;r=k;f[r>>2]=g;f[r+4>>2]=i;r=19}}else if(yh(x,c)|0){n=f[x>>2]|0;r=19}if((((r|0)==19?(d=f[a+152>>2]|0,n>>>0>>0):0)?(A=c+8|0,z=f[A+4>>2]|0,q=c+16|0,p=q,o=f[p>>2]|0,p=f[p+4>>2]|0,(z|0)>(p|0)|((z|0)==(p|0)?(f[A>>2]|0)>>>0>o>>>0:0)):0)?(A=b[(f[c>>2]|0)+o>>0]|0,r=Bl(o|0,p|0,1,0)|0,z=q,f[z>>2]=r,f[z+4>>2]=I,A<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;break}A=0;u=y;return A|0}else{f[a+176>>2]=2;f[a+180>>2]=7;d=f[a+152>>2]|0}while(0);if((d|0)<0){A=0;u=y;return A|0}l=a+156|0;f[x>>2]=0;i=a+160|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;if(d>>>0<=k>>>0)if(d>>>0>>0?(s=e+(d<<2)|0,(g|0)!=(s|0)):0){f[i>>2]=g+(~((g+-4-s|0)>>>2)<<2);d=2;e=7}else{d=2;e=7}else{wf(l,d-k|0,x);d=f[a+176>>2]|0;e=f[a+180>>2]|0}i=e-d+1|0;q=a+184|0;p=a+188|0;e=f[p>>2]|0;g=f[q>>2]|0;k=(e-g|0)/12|0;d=e;if(i>>>0<=k>>>0){if(i>>>0>>0?(t=g+(i*12|0)|0,(d|0)!=(t|0)):0){do{e=d+-12|0;f[p>>2]=e;g=f[e>>2]|0;if(!g)d=e;else{e=d+-8|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g);d=f[p>>2]|0}}while((d|0)!=(t|0));e=d}}else{qe(q,i-k|0);e=f[p>>2]|0}o=a+196|0;d=f[q>>2]|0;m=(e-d|0)/12|0;k=a+200|0;i=f[k>>2]|0;g=f[o>>2]|0;l=i-g>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(v=g+(m<<2)|0,(i|0)!=(v|0)):0)f[k>>2]=i+(~((i+-4-v|0)>>>2)<<2)}else{sg(o,m-l|0);e=f[p>>2]|0;d=f[q>>2]|0}if((e|0)==(d|0)){A=1;u=y;return A|0}n=0;do{yh(x,c)|0;d=f[x>>2]|0;if(d|0){e=f[q>>2]|0;l=e+(n*12|0)|0;k=e+(n*12|0)+4|0;i=f[k>>2]|0;g=f[l>>2]|0;m=i-g>>2;if(d>>>0<=m>>>0){if(d>>>0>>0?(w=g+(d<<2)|0,(i|0)!=(w|0)):0)f[k>>2]=i+(~((i+-4-w|0)>>>2)<<2)}else{sg(l,d-m|0);e=f[q>>2]|0;d=f[x>>2]|0}fh(d,1,c,f[e+(n*12|0)>>2]|0)|0;f[(f[o>>2]|0)+(n<<2)>>2]=f[x>>2]}n=n+1|0}while(n>>>0<(((f[p>>2]|0)-(f[q>>2]|0)|0)/12|0)>>>0);d=1;u=y;return d|0}function Ob(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[5186]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[5187]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[5184]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[5182]=f[5182]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=21032+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5183]=f[5183]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[5187]|0;if((k|0)==(f[5188]|0)){k=(f[5185]|0)+b|0;f[5185]=k;f[5188]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[5187]=0;f[5184]=0;return}if((k|0)==(a|0)){k=(f[5184]|0)+b|0;f[5184]=k;f[5187]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[5182]=f[5182]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=21032+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5183]=f[5183]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[5187]|0)){f[5184]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=20768+(a<<1<<2)|0;b=f[5182]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=21032+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[5183]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[5183]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[5190]|0)+-1|0;f[5190]=k;if(!k)a=21184;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[5190]=-1;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+48|0;I=J+24|0;G=J+12|0;m=J;if(!b){I=0;u=J;return I|0}F=a+12|0;n=a+4|0;c=f[n>>2]|0;d=f[a>>2]|0;j=c-d>>2;h=a+16|0;g=f[h>>2]|0;e=f[F>>2]|0;k=g-e>>2;if(j>>>0<=k>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{wf(F,j-k|0,3548);d=f[a>>2]|0;c=f[n>>2]|0}f[I>>2]=0;B=I+4|0;f[B>>2]=0;f[I+8>>2]=0;Kh(I,c-d>>2);c=f[n>>2]|0;d=f[a>>2]|0;if((c-d|0)>0){j=0;do{k=f[d+(j<<2)>>2]|0;g=f[B>>2]|0;e=f[I>>2]|0;i=g-e>>2;if((k|0)>=(i|0)){h=k+1|0;f[G>>2]=0;if(h>>>0<=i>>>0){if(h>>>0>>0?(l=e+(h<<2)|0,(g|0)!=(l|0)):0)f[B>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{wf(I,h-i|0,G);c=f[n>>2]|0;d=f[a>>2]|0}}A=(f[I>>2]|0)+(k<<2)|0;f[A>>2]=(f[A>>2]|0)+1;j=j+1|0}while((j|0)<(c-d>>2|0))}c=c-d|0;h=c>>2;f[G>>2]=0;A=G+4|0;f[A>>2]=0;f[G+8>>2]=0;if(!h){e=0;d=0}else{if(h>>>0>536870911)Tn(G);g=Lk(c<<1)|0;f[A>>2]=g;f[G>>2]=g;f[G+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){z=e;f[z>>2]=-1;f[z+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[A>>2]=g+(h<<3);e=g;d=g}c=f[B>>2]|0;g=f[I>>2]|0;h=c-g|0;z=h>>2;f[m>>2]=0;y=m+4|0;f[y>>2]=0;f[m+8>>2]=0;x=g;do if(z)if(z>>>0>1073741823)Tn(m);else{E=Lk(h)|0;f[m>>2]=E;D=E+(z<<2)|0;f[m+8>>2]=D;dh(E|0,0,h|0)|0;f[y>>2]=D;C=E;break}else{C=0;D=0;E=0}while(0);if((c|0)!=(g|0)){c=0;g=0;do{f[C+(c<<2)>>2]=g;g=(f[x+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}w=f[a>>2]|0;c=(f[n>>2]|0)-w|0;if((c|0)>0){v=a+40|0;t=c>>2;l=C;r=0;j=e;p=e;q=e;o=e;s=e;while(1){i=(r|0)<0;c=r+1|0;if(!i){c=((c|0)%3|0|0)==0?r+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[w+(c<<2)>>2]|0;c=(r>>>0)%3|0;g=((c|0)==0?2:-1)+r|0;if((g|0)<0){a=-1073741824;n=h}else{a=f[w+(g<<2)>>2]|0;n=h}}else{c=(r>>>0)%3|0;a=-1073741824;n=-1073741824}if((r|0)==((i?-1073741824:r-c|0)|0)){if(i)c=-1073741824;else c=f[w+(r<<2)>>2]|0;if((n|0)==(a|0)|((c|0)==(n|0)|(c|0)==(a|0))){f[v>>2]=(f[v>>2]|0)+1;i=r+2|0;h=p;k=q;c=o;g=s}else H=55}else H=55;a:do if((H|0)==55){H=0;m=f[x+(a<<2)>>2]|0;b:do if((m|0)>0){c=0;i=f[l+(a<<2)>>2]|0;while(1){g=f[o+(i<<3)>>2]|0;if((g|0)<0){g=j;h=p;c=o;break b}if((g|0)==(n|0))break;c=c+1|0;if((c|0)<(m|0))i=i+1|0;else{g=j;h=p;c=o;break b}}k=f[o+(i<<3)+4>>2]|0;h=p;while(1){c=c+1|0;if((c|0)>=(m|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[j+(i<<3)>>2]|0)<0)break;else{i=g;h=j}}f[q+(i<<3)>>2]=-1;if((k|0)<0){g=q;h=q;c=q}else{i=f[F>>2]|0;f[i+(r<<2)>>2]=k;f[i+(k<<2)>>2]=r;i=r;j=q;h=q;k=q;c=q;g=s;break a}}else{g=j;h=p;c=o}while(0);i=f[x+(n<<2)>>2]|0;if((i|0)>0){h=0;c=f[C+(n<<2)>>2]|0;while(1){g=s+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){l=C;i=r;j=s;h=s;k=s;c=s;g=s;break a}else c=c+1|0}f[g>>2]=a;f[e+(c<<3)+4>>2]=r;l=C;i=r;j=e;h=e;k=e;c=e;g=e}else{i=r;j=g;k=q;g=s}}while(0);r=i+1|0;if((r|0)>=(t|0))break;else{p=h;q=k;o=c;s=g}}}f[b>>2]=z;if(C){if((D|0)!=(C|0))f[y>>2]=D+(~((D+-4-C|0)>>>2)<<2);Co(E);d=f[G>>2]|0;e=d}if(e|0){c=f[A>>2]|0;if((c|0)!=(e|0))f[A>>2]=c+(~((c+-8-e|0)>>>3)<<3);Co(d)}c=f[I>>2]|0;if(c|0){d=f[B>>2]|0;if((d|0)!=(c|0))f[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}I=1;u=J;return I|0}function Qb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))Ig(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Se(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Se(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){m=(c|0)/3|0;d=d+(m>>>5<<2)|0;f[d>>2]=1<<(m&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)i=-1073741824;else i=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;h=(f[n>>2]|0)+(i>>>5<<2)|0;j=1<<(i&31);g=f[h>>2]|0;do if(!(j&g)){e=f[a>>2]|0;c=f[(f[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=f[(f[e+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}}f[h>>2]=g|j;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Se(k,t,w);if((c|0)<0){d=f[b>>2]|0;y=42;break}d=f[a>>2]|0;c=f[b>>2]|0;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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}else y=42;while(0);if((y|0)==42){y=0;e=f[a>>2]|0;if((d|0)<0){y=45;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=50;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=55;break a}}else y=50;while(0);if((y|0)==50){y=0;if(g){y=52;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=52;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==45){f[w>>2]=-1073741824;y=52}else if((y|0)==55){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){Ig(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==52){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function Rb(a,c){a=a|0;c=c|0;var d=0,e=0,g=La,i=La,j=0,k=0,l=0,m=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=La;v=b[c+11>>0]|0;x=v<<24>>24<0;w=x?f[c>>2]|0:c;v=x?f[c+4>>2]|0:v&255;if(v>>>0>3){j=w;m=v;k=v;while(1){x=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(x>>>24^x,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}x=v+-4|0;k=x&-4;l=w+(k+4)|0;j=m;k=x-k|0}else{l=w;j=v;k=v}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;z=6;break}case 2:{o=j;z=6;break}case 1:{p=j;z=7;break}default:q=j}if((z|0)==6){p=h[l+1>>0]<<8^o;z=7}if((z|0)==7)q=X(h[l>>0]^p,1540483477)|0;x=X(q>>>13^q,1540483477)|0;x=x>>>15^x;t=a+4|0;s=f[t>>2]|0;u=(s|0)==0;a:do if(!u){q=s+-1|0;k=(q&s|0)==0;if(!k)if(x>>>0>>0)r=x;else r=(x>>>0)%(s>>>0)|0;else r=x&q;j=f[(f[a>>2]|0)+(r<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){p=(v|0)==0;if(k){if(p){d=e;while(1){w=f[d+4>>2]|0;if(!((w|0)==(x|0)|(w&q|0)==(r|0))){d=r;break a}w=b[d+8+11>>0]|0;if(!((w<<24>>24<0?f[d+12>>2]|0:w&255)|0)){j=d;break}d=f[d>>2]|0;if(!d){d=r;break a}}a=j+20|0;return a|0}else j=e;b:while(1){o=f[j+4>>2]|0;if(!((o|0)==(x|0)|(o&q|0)==(r|0))){d=r;break a}k=j+8|0;m=b[k+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[j+12>>2]|0:m)|0)==(v|0)){l=f[k>>2]|0;if(o)if(!(cj(l,w,v)|0)){z=63;break b}else break;if((l&255)<<24>>24==(b[w>>0]|0)){l=w;do{m=m+-1|0;k=k+1|0;if(!m){z=63;break b}l=l+1|0}while((b[k>>0]|0)==(b[l>>0]|0))}}while(0);j=f[j>>2]|0;if(!j){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}if(p){while(1){d=f[e+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=s>>>0)d=(d>>>0)%(s>>>0)|0;if((d|0)!=(r|0)){d=r;break a}}w=b[e+8+11>>0]|0;if(!((w<<24>>24<0?f[e+12>>2]|0:w&255)|0)){j=e;break}e=f[e>>2]|0;if(!e){d=r;break a}}a=j+20|0;return a|0}c:while(1){j=f[e+4>>2]|0;if((j|0)!=(x|0)){if(j>>>0>=s>>>0)j=(j>>>0)%(s>>>0)|0;if((j|0)!=(r|0)){d=r;break a}}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(v|0)){k=f[j>>2]|0;if(m)if(!(cj(k,w,v)|0)){j=e;z=63;break c}else break;if((k&255)<<24>>24==(b[w>>0]|0)){k=w;do{l=l+-1|0;j=j+1|0;if(!l){j=e;z=63;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}else d=r}else d=0;while(0);l=Lk(24)|0;eh(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=x;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);A=$(s>>>0);g=$(n[a+16>>2]);do if(u|i>$(A*g)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~$(W($(i/g)))>>>0;Wf(a,d>>>0>>0?e:d);d=f[t>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&x;break}if(x>>>0>>0){j=d;d=x}else{j=d;d=(x>>>0)%(d>>>0)|0}}else j=s;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(e&j){if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0}else d=d&e;y=(f[a>>2]|0)+(d<<2)|0;z=61}}else{f[l>>2]=f[d>>2];y=d;z=61}if((z|0)==61)f[y>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;x=u;u=u+688|0;v=x+680|0;m=x;w=x+8|0;n=x+676|0;o=x+672|0;p=x+668|0;q=x+664|0;r=x+660|0;s=x+656|0;t=x+4|0;k=c+8|0;y=k;i=f[y>>2]|0;y=f[y+4>>2]|0;l=c+16|0;j=l;e=f[j>>2]|0;j=Bl(e|0,f[j+4>>2]|0,4,0)|0;g=I;if((y|0)<(g|0)|(y|0)==(g|0)&i>>>0>>0){y=0;u=x;return y|0}y=(f[c>>2]|0)+e|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;b[a>>0]=y;b[a+1>>0]=y>>8;b[a+2>>0]=y>>16;b[a+3>>0]=y>>24;g=l;e=f[g>>2]|0;g=f[g+4>>2]|0;i=Bl(e|0,g|0,4,0)|0;j=l;f[j>>2]=i;f[j+4>>2]=I;if(y>>>0>31){y=0;u=x;return y|0}z=k;j=f[z>>2]|0;z=f[z+4>>2]|0;y=Bl(e|0,g|0,8,0)|0;g=I;if((z|0)<(g|0)|(z|0)==(g|0)&j>>>0>>0){z=0;u=x;return z|0}z=a+4|0;i=(f[c>>2]|0)+i|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[z>>0]=i;b[z+1>>0]=i>>8;b[z+2>>0]=i>>16;b[z+3>>0]=i>>24;z=l;i=f[z>>2]|0;z=f[z+4>>2]|0;e=Bl(i|0,z|0,4,0)|0;j=l;f[j>>2]=e;f[j+4>>2]=I;j=a+12|0;g=k;y=f[g>>2]|0;g=f[g+4>>2]|0;z=Bl(i|0,z|0,8,0)|0;i=I;if((g|0)<(i|0)|(g|0)==(i|0)&y>>>0>>0){z=0;u=x;return z|0}i=(f[c>>2]|0)+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;z=l;A=f[z>>2]|0;z=f[z+4>>2]|0;e=Bl(A|0,z|0,4,0)|0;g=l;f[g>>2]=e;f[g+4>>2]=I;g=a+16|0;a=k;y=f[a>>2]|0;a=f[a+4>>2]|0;z=Bl(A|0,z|0,8,0)|0;k=I;if((a|0)<(k|0)|(a|0)==(k|0)&y>>>0>>0){A=0;u=x;return A|0}e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[g>>0]=e;b[g+1>>0]=e>>8;b[g+2>>0]=e>>16;b[g+3>>0]=e>>24;z=l;z=Bl(f[z>>2]|0,f[z+4>>2]|0,4,0)|0;A=l;f[A>>2]=z;f[A+4>>2]=I;if(e>>>0>6){f[m>>2]=e;hl(16869,m)|0;A=0;u=x;return A|0}e=d;a:do if(i|0){Pg(d,i);switch(f[g>>2]|0){case 0:{ce(w,3);f[n>>2]=e;f[v>>2]=f[n>>2];td(w,c,v)|0;se(w);break a}case 1:{ce(w,3);f[o>>2]=e;f[v>>2]=f[o>>2];sd(w,c,v)|0;se(w);break a}case 2:{de(w,3);f[p>>2]=e;f[v>>2]=f[p>>2];vd(w,c,v)|0;ve(w);break a}case 3:{de(w,3);f[q>>2]=e;f[v>>2]=f[q>>2];ud(w,c,v)|0;ve(w);break a}case 4:{Pd(w,3);f[r>>2]=e;f[v>>2]=f[r>>2];Wc(w,c,v)|0;ke(w);break a}case 5:{Pd(w,3);f[s>>2]=e;f[v>>2]=f[s>>2];Vc(w,c,v)|0;ke(w);break a}case 6:{Pd(w,3);f[t>>2]=e;f[v>>2]=f[t>>2];Uc(w,c,v)|0;ke(w);break a}default:{A=0;u=x;return A|0}}}while(0);A=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[j>>2]|0);u=x;return A|0}function Tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))ra(10593,10615,46,10785);if(!(f[a+8>>2]|0))ra(10593,10615,46,10785);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Rf(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Rf(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Rf(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=cm(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=cm(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=cm(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=cm(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=cm(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=cm(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Kk(H|0,J|0,i|0,h|0)|0;M=I;P=Kk(T|0,S|0,K|0,L|0)|0;O=I;L=Kk(R|0,Q|0,K|0,L|0)|0;K=I;J=Kk(H|0,J|0,n|0,j|0)|0;H=I;j=Kk(T|0,S|0,n|0,j|0)|0;n=I;h=Kk(R|0,Q|0,i|0,h|0)|0;i=I;l=cm(l|0,k|0,P|0,O|0)|0;l=Bl(l|0,I|0,N|0,M|0)|0;k=I;g=Bl(L|0,K|0,g|0,m|0)|0;g=cm(g|0,I|0,J|0,H|0)|0;m=I;c=cm(c|0,e|0,h|0,i|0)|0;c=Bl(c|0,I|0,j|0,n|0)|0;e=I;jf(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=cm(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=cm(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=cm(0,0,c|0,e|0)|0;S=Bl((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Bl(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=sl(h|0,i|0,29)|0;T=T&7;i=ki(l|0,k|0,T|0,0)|0;j=I;g=ki(g|0,m|0,T|0,0)|0;h=I;c=ki(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=sl(h|0,i|0,29)|0;T=I;i=ki(l|0,k|0,S|0,T|0)|0;j=I;g=ki(g|0,m|0,S|0,T|0)|0;h=I;c=ki(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=cm(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=cm(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=cm(0,0,c|0,e|0)|0;Q=Bl((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Bl(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else ra(10807,10615,95,10785)}function Ub(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=u;u=u+80|0;B=F+76|0;A=F;E=F+72|0;z=F+64|0;D=F+68|0;C=a+28|0;do if(((h[(f[C>>2]|0)+36>>0]|0)<<8&65535)<512){w=c+8|0;x=f[w>>2]|0;w=f[w+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=Bl(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((w|0)<(g|0)|(w|0)==(g|0)&x>>>0>>0){E=0;u=F;return E|0}else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[B>>2]=d;x=i;f[x>>2]=e;f[x+4>>2]=g;break}}else if(yh(B,c)|0){d=f[B>>2]|0;break}else{E=0;u=F;return E|0}while(0);if(!d){E=0;u=F;return E|0}x=a+4|0;i=a+8|0;g=f[i>>2]|0;e=f[x>>2]|0;j=g-e>>2;if(d>>>0>j>>>0){sg(x,d-j|0);if(!(f[B>>2]|0)){E=1;u=F;return E|0}}else if(d>>>0>>0?(k=e+(d<<2)|0,(g|0)!=(k|0)):0)f[i>>2]=g+(~((g+-4-k|0)>>>2)<<2);p=f[a+32>>2]|0;s=c+8|0;v=c+16|0;w=A+60|0;r=p+8|0;q=p+12|0;t=a+16|0;n=a+20|0;o=0;while(1){g=s;e=f[g>>2]|0;g=f[g+4>>2]|0;a=v;k=f[a>>2]|0;a=f[a+4>>2]|0;if(!((g|0)>(a|0)|(g|0)==(a|0)&e>>>0>k>>>0)){d=0;e=53;break}i=f[c>>2]|0;m=b[i+k>>0]|0;d=Bl(k|0,a|0,1,0)|0;l=I;j=v;f[j>>2]=d;f[j+4>>2]=l;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>d>>>0)){d=0;e=53;break}l=b[i+d>>0]|0;d=Bl(k|0,a|0,2,0)|0;j=I;G=v;f[G>>2]=d;f[G+4>>2]=j;if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>d>>>0)){d=0;e=53;break}j=b[i+d>>0]|0;d=Bl(k|0,a|0,3,0)|0;G=I;H=v;f[H>>2]=d;f[H+4>>2]=G;if(!((g|0)>(G|0)|(g|0)==(G|0)&e>>>0>d>>>0)){d=0;e=53;break}e=b[i+d>>0]|0;H=Bl(k|0,a|0,4,0)|0;d=v;f[d>>2]=H;f[d+4>>2]=I;d=l&255;if((l+-1&255)>10){d=0;e=53;break}qj(A);H=X(Fj(d)|0,j&255)|0;xh(A,m&255,0,j,d,e<<24>>24!=0,H,((H|0)<0)<<31>>31,0,0);H=f[C>>2]|0;if((((h[H+36>>0]|0)<<8|(h[H+37>>0]|0))&65535)<259){G=s;H=f[G>>2]|0;G=f[G+4>>2]|0;e=v;d=f[e>>2]|0;e=Bl(d|0,f[e+4>>2]|0,2,0)|0;g=I;if((G|0)<(g|0)|(G|0)==(g|0)&H>>>0>>0){e=51;break}d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8;H=v;f[H>>2]=e;f[H+4>>2]=g;d=d&65535;f[E>>2]=d}else{yh(E,c)|0;d=f[E>>2]|0}f[w>>2]=d;j=Lk(96)|0;hj(j,A);f[z>>2]=j;j=rf(p,z)|0;i=f[z>>2]|0;f[z>>2]=0;if(i|0){H=i+88|0;d=f[H>>2]|0;f[H>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[i+68>>2]|0;if(d|0){g=i+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}H=i+64|0;d=f[H>>2]|0;f[H>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(i)}if((j|0)<=-1){e=41;break}d=f[r>>2]|0;if(((f[q>>2]|0)-d>>2|0)<=(j|0)){e=43;break}f[(f[d+(j<<2)>>2]|0)+60>>2]=f[E>>2];f[(f[x>>2]|0)+(o<<2)>>2]=j;e=f[n>>2]|0;d=f[t>>2]|0;i=e-d>>2;if((j|0)>=(i|0)){g=j+1|0;f[D>>2]=-1;if(g>>>0<=i>>>0){if(g>>>0>>0?(y=d+(g<<2)|0,(e|0)!=(y|0)):0)f[n>>2]=e+(~((e+-4-y|0)>>>2)<<2)}else{wf(t,g-i|0,D);d=f[t>>2]|0}}f[d+(j<<2)>>2]=o;o=o+1|0;if(o>>>0>=(f[B>>2]|0)>>>0){d=1;e=53;break}}if((e|0)==41)ra(17381,17397,67,17494);else if((e|0)==43)ra(17504,17397,68,17494);else if((e|0)==51){H=0;u=F;return H|0}else if((e|0)==53){u=F;return d|0}return 0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Ig(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))Ig(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Ig(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){Ig(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)ra(17671,17583,64,17666);else if((C|0)==33)ra(17671,17583,64,17666)}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=u;u=u+16|0;k=l;i=c+8|0;o=i;m=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,5,0)|0;n=I;if((o|0)<(n|0)|(o|0)==(n|0)&m>>>0>>0){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}e=(f[c>>2]|0)+e|0;b[d>>0]=b[e>>0]|0;b[d+1>>0]=b[e+1>>0]|0;b[d+2>>0]=b[e+2>>0]|0;b[d+3>>0]=b[e+3>>0]|0;b[d+4>>0]=b[e+4>>0]|0;e=j;e=Bl(f[e>>2]|0,f[e+4>>2]|0,5,0)|0;g=I;o=j;f[o>>2]=e;f[o+4>>2]=g;if(cj(d,16151,5)|0){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=17;g=e;c=16157;i=g+17|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+17>>0]=0;f[a>>2]=-1;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}o=i;n=f[o+4>>2]|0;if(!((n|0)>(g|0)|((n|0)==(g|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}b[d+5>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Bl(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}b[d+6>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Bl(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}b[d+7>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Bl(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}b[d+8>>0]=b[(f[c>>2]|0)+e>>0]|0;o=j;m=f[o>>2]|0;o=f[o+4>>2]|0;e=Bl(m|0,o|0,1,0)|0;n=j;f[n>>2]=e;f[n+4>>2]=I;n=f[i>>2]|0;i=f[i+4>>2]|0;o=Bl(m|0,o|0,3,0)|0;m=I;if(!((i|0)<(m|0)|(i|0)==(m|0)&n>>>0>>0)){n=d+10|0;o=(f[c>>2]|0)+e|0;o=h[o>>0]|h[o+1>>0]<<8;b[n>>0]=o;b[n+1>>0]=o>>8;n=j;n=Bl(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;o=j;f[o>>2]=n;f[o+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=l;return}e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}function Xb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=a+8|0;f[z>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{sg(i,e-j|0);d=f[z>>2]|0}w=f[a+48>>2]|0;x=f[a+52>>2]|0;v=e>>>0>1073741823?-1:e<<2;y=zo(v)|0;dh(y|0,0,v|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[y+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;B=18}}else{d=d-(f[i>>2]|0)|0;B=18}if((B|0)==18){B=0;f[g>>2]=d}h=h+1|0;d=f[z>>2]|0}while((h|0)<(d|0))}}r=f[a+56>>2]|0;g=f[r>>2]|0;u=(f[r+4>>2]|0)-g|0;v=u>>2;if((u|0)<=4){Ao(y);return 1}t=a+16|0;s=a+32|0;u=a+12|0;q=a+20|0;o=w+12|0;p=(e|0)>0;n=1;while(1){if(v>>>0<=n>>>0){B=24;break}h=f[g+(n<<2)>>2]|0;m=X(n,e)|0;if((h|0)>=0?(A=f[(f[o>>2]|0)+(h<<2)>>2]|0,(A|0)>=0):0){i=f[w>>2]|0;j=f[x>>2]|0;k=f[j+(f[i+(A<<2)>>2]<<2)>>2]|0;h=A+1|0;h=((h|0)%3|0|0)==0?A+-2|0:h;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;l=f[j+(h<<2)>>2]|0;h=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;h=f[j+(h<<2)>>2]|0;if((k|0)<(n|0)&(l|0)<(n|0)&(h|0)<(n|0)){k=X(k,e)|0;j=X(l,e)|0;i=X(h,e)|0;if(p){h=0;do{f[y+(h<<2)>>2]=(f[c+(h+i<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+k<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}l=b+(m<<2)|0;k=c+(m<<2)|0;if((d|0)>0){i=0;do{d=f[y+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){j=f[s>>2]|0;f[j+(i<<2)>>2]=h}else{m=f[u>>2]|0;j=f[s>>2]|0;f[j+(i<<2)>>2]=(d|0)<(m|0)?m:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[l+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;h=k+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;B=56}}else{d=d-(f[q>>2]|0)|0;B=56}if((B|0)==56){B=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}else B=34}else B=34;if((B|0)==34){B=0;j=c+((X(n+-1|0,e)|0)<<2)|0;a=b+(m<<2)|0;l=c+(m<<2)|0;if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){k=f[s>>2]|0;f[k+(i<<2)>>2]=h}else{m=f[u>>2]|0;k=f[s>>2]|0;f[k+(i<<2)>>2]=(d|0)<(m|0)?m:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;B=44}}else{d=d-(f[q>>2]|0)|0;B=44}if((B|0)==44){B=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}n=n+1|0;if((n|0)>=(v|0)){B=22;break}}if((B|0)==22){Ao(y);return 1}else if((B|0)==24)Tn(r);return 0}function Yb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=La,h=0,i=0,j=La,k=0,l=La,m=La,o=La,p=La,q=La,r=0,t=0,v=La,w=La,x=La,y=La,z=0,A=0,B=0,C=0,D=0,E=0,F=La;E=u;u=u+48|0;z=E+40|0;A=E+36|0;D=E+24|0;B=E+12|0;C=E;k=a+48|0;h=f[c>>2]|0;c=h+1|0;if((h|0)>=0){i=((c|0)%3|0|0)==0?h+-2|0:c;c=h+(((h>>>0)%3|0|0)==0?2:-1)|0;if((i|0)<0)h=-1073741824;else h=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;if((c|0)<0)t=-1073741824;else t=f[(f[f[k>>2]>>2]|0)+(c<<2)>>2]|0}else{t=-1073741824;h=-1073741824}k=f[a+52>>2]|0;c=f[k>>2]|0;r=(f[k+4>>2]|0)-c>>2;if(r>>>0<=h>>>0)Tn(k);i=c;c=f[i+(h<<2)>>2]|0;if(r>>>0<=t>>>0)Tn(k);t=f[i+(t<<2)>>2]|0;h=(c|0)<(e|0);if(!(h&(t|0)<(e|0))){do if(!h){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=E;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[i>>2]|0));u=E;return}while(0);k=a+72|0;D=f[k>>2]|0;i=X(D,c)|0;if((D|0)<=0){u=E;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=f[d+(h+i<<2)>>2];h=h+1|0}while((h|0)<(f[k>>2]|0));u=E;return}r=f[a+72>>2]|0;k=X(r,c)|0;x=$(f[d+(k<<2)>>2]|0);y=$(f[d+(k+1<<2)>>2]|0);r=X(r,t)|0;w=$(f[d+(r<<2)>>2]|0);v=$(f[d+(r+1<<2)>>2]|0);if(!(w!=x|v!=y)){a=f[a+68>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~v;u=E;return}k=a+64|0;h=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;r=a+60|0;i=f[r>>2]|0;if(!(b[i+84>>0]|0))h=f[(f[i+68>>2]|0)+(h<<2)>>2]|0;f[A>>2]=h;h=b[i+24>>0]|0;f[z>>2]=f[A>>2];eb(i,z,h,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[h+24>>0]|0;f[z>>2]=f[A>>2];eb(h,z,c,B)|0;c=f[(f[k>>2]|0)+(t<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=b[h+24>>0]|0;f[z>>2]=f[A>>2];eb(h,z,d,C)|0;q=$(n[C>>2]);o=$(n[B>>2]);q=$(q-o);p=$(n[C+4>>2]);j=$(n[B+4>>2]);p=$(p-j);m=$(n[C+8>>2]);g=$(n[B+8>>2]);m=$(m-g);o=$($(n[D>>2])-o);j=$($(n[D+4>>2])-j);g=$($(n[D+8>>2])-g);l=$($($($(q*q)+$(0.0))+$(p*p))+$(m*m));if(l>$(0.0)?1:(f[a+88>>2]|0)<258){F=$($($($($(q*o)+$(0.0))+$(p*j))+$(m*g))/l);q=$(o-$(q*F));p=$(j-$(p*F));g=$(g-$(m*F));j=F;g=$(L($($($(g*g)+$($(p*p)+$($(q*q)+$(0.0))))/l)))}else{j=$(0.0);g=$(0.0)}w=$(w-x);F=$(v-y);x=$(x+$(w*j));w=$(w*g);y=$(y+$(F*j));F=$(F*g);C=a+80|0;B=(f[C>>2]|0)+-1|0;D=(1<<(B&31)&f[(f[a+76>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[C>>2]=B;j=$(-w);j=$(y+(D?j:w));g=$(-F);g=$(x+(D?F:g));if(((n[s>>2]=g,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+g+.5));h=f[a+68>>2]|0;f[h>>2]=c;if(((n[s>>2]=j,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+j+.5));f[h+4>>2]=c;u=E;return}function Zb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=La,h=0,i=0,j=La,k=0,l=La,m=La,o=La,p=0,q=La,r=La,t=0,v=La,w=La,x=La,y=La,z=0,A=0,B=0,C=0,D=0,E=0,F=La;E=u;u=u+48|0;z=E+40|0;A=E+36|0;D=E+24|0;B=E+12|0;C=E;i=a+48|0;h=f[c>>2]|0;c=h+1|0;do if((h|0)>=0){c=((c|0)%3|0|0)==0?h+-2|0:c;if(!((h>>>0)%3|0)){h=h+2|0;break}else{h=h+-1|0;break}}else c=h;while(0);k=f[(f[i>>2]|0)+28>>2]|0;p=f[k+(c<<2)>>2]|0;k=f[k+(h<<2)>>2]|0;i=f[a+52>>2]|0;c=f[i>>2]|0;t=(f[i+4>>2]|0)-c>>2;if(t>>>0<=p>>>0)Tn(i);h=c;c=f[h+(p<<2)>>2]|0;if(t>>>0<=k>>>0)Tn(i);t=f[h+(k<<2)>>2]|0;h=(c|0)<(e|0);if(!(h&(t|0)<(e|0))){do if(!h){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=E;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[i>>2]|0));u=E;return}while(0);k=a+72|0;D=f[k>>2]|0;i=X(D,c)|0;if((D|0)<=0){u=E;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=f[d+(h+i<<2)>>2];h=h+1|0}while((h|0)<(f[k>>2]|0));u=E;return}p=f[a+72>>2]|0;k=X(p,c)|0;x=$(f[d+(k<<2)>>2]|0);y=$(f[d+(k+1<<2)>>2]|0);p=X(p,t)|0;w=$(f[d+(p<<2)>>2]|0);v=$(f[d+(p+1<<2)>>2]|0);if(!(w!=x|v!=y)){a=f[a+68>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~v;u=E;return}k=a+64|0;h=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;p=a+60|0;i=f[p>>2]|0;if(!(b[i+84>>0]|0))h=f[(f[i+68>>2]|0)+(h<<2)>>2]|0;f[A>>2]=h;h=b[i+24>>0]|0;f[z>>2]=f[A>>2];eb(i,z,h,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;h=f[p>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[h+24>>0]|0;f[z>>2]=f[A>>2];eb(h,z,c,B)|0;c=f[(f[k>>2]|0)+(t<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;h=f[p>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=b[h+24>>0]|0;f[z>>2]=f[A>>2];eb(h,z,d,C)|0;r=$(n[C>>2]);o=$(n[B>>2]);r=$(r-o);q=$(n[C+4>>2]);j=$(n[B+4>>2]);q=$(q-j);m=$(n[C+8>>2]);g=$(n[B+8>>2]);m=$(m-g);o=$($(n[D>>2])-o);j=$($(n[D+4>>2])-j);g=$($(n[D+8>>2])-g);l=$($($($(r*r)+$(0.0))+$(q*q))+$(m*m));if(l>$(0.0)?1:(f[a+88>>2]|0)<258){F=$($($($($(r*o)+$(0.0))+$(q*j))+$(m*g))/l);r=$(o-$(r*F));q=$(j-$(q*F));g=$(g-$(m*F));j=F;g=$(L($($($(g*g)+$($(q*q)+$($(r*r)+$(0.0))))/l)))}else{j=$(0.0);g=$(0.0)}w=$(w-x);F=$(v-y);x=$(x+$(w*j));w=$(w*g);y=$(y+$(F*j));F=$(F*g);C=a+80|0;B=(f[C>>2]|0)+-1|0;D=(1<<(B&31)&f[(f[a+76>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[C>>2]=B;j=$(-w);j=$(y+(D?j:w));g=$(-F);g=$(x+(D?F:g));if(((n[s>>2]=g,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+g+.5));h=f[a+68>>2]|0;f[h>>2]=c;if(((n[s>>2]=j,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+j+.5));f[h+4>>2]=c;u=E;return}function _b(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;z=a+8|0;f[z>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{sg(i,e-j|0);d=f[z>>2]|0}w=f[a+48>>2]|0;x=f[a+52>>2]|0;v=e>>>0>1073741823?-1:e<<2;y=zo(v)|0;dh(y|0,0,v|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[y+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;E=18}}else{d=d-(f[i>>2]|0)|0;E=18}if((E|0)==18){E=0;f[g>>2]=d}h=h+1|0;d=f[z>>2]|0}while((h|0)<(d|0))}}r=f[a+56>>2]|0;g=f[r>>2]|0;u=(f[r+4>>2]|0)-g|0;v=u>>2;if((u|0)<=4){Ao(y);return 1}t=a+16|0;s=a+32|0;u=a+12|0;q=a+20|0;p=w+64|0;n=w+28|0;o=(e|0)>0;m=1;while(1){if(v>>>0<=m>>>0){E=24;break}h=f[g+(m<<2)>>2]|0;l=X(m,e)|0;if((!((h|0)<0?1:(1<<(h&31)&f[(f[w>>2]|0)+(h>>>5<<2)>>2]|0)!=0)?(D=f[(f[(f[p>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(D|0)>=0):0)?(C=f[n>>2]|0,a=f[x>>2]|0,A=f[a+(f[C+(D<<2)>>2]<<2)>>2]|0,B=D+1|0,B=f[a+(f[C+((((B|0)%3|0|0)==0?D+-2|0:B)<<2)>>2]<<2)>>2]|0,C=f[a+(f[C+((((D>>>0)%3|0|0)==0?2:-1)+D<<2)>>2]<<2)>>2]|0,(A|0)<(m|0)&(B|0)<(m|0)&(C|0)<(m|0)):0){i=X(A,e)|0;j=X(B,e)|0;k=X(C,e)|0;if(o){h=0;do{f[y+(h<<2)>>2]=(f[c+(h+k<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+i<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}a=b+(l<<2)|0;k=c+(l<<2)|0;if((d|0)>0){i=0;do{d=f[y+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){j=f[s>>2]|0;f[j+(i<<2)>>2]=h}else{l=f[u>>2]|0;j=f[s>>2]|0;f[j+(i<<2)>>2]=(d|0)<(l|0)?l:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;h=k+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;E=52}}else{d=d-(f[q>>2]|0)|0;E=52}if((E|0)==52){E=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}else{j=c+((X(m+-1|0,e)|0)<<2)|0;a=b+(l<<2)|0;l=c+(l<<2)|0;if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){k=f[s>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[u>>2]|0;k=f[s>>2]|0;f[k+(i<<2)>>2]=(d|0)<(h|0)?h:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;E=40}}else{d=d-(f[q>>2]|0)|0;E=40}if((E|0)==40){E=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}m=m+1|0;if((m|0)>=(v|0)){E=22;break}}if((E|0)==22){Ao(y);return 1}else if((E|0)==24)Tn(r);return 0}function $b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))ra(17504,17397,68,17494);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Co(g)}Co(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Co(g)}Co(e)}Co(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){Lg(d);Co(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){Lg(c);Co(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){Uj(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function ac(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Lk(60)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1996;e=b;f[a>>2]=e;return}case 2:{b=Lk(60)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2052;e=b;f[a>>2]=e;return}case 4:{b=Lk(112)|0;f[b>>2]=1520;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2108;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Lk(92)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2164;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+88>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Lk(104)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2220;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Lk(124)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2276;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2332;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function bc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Lk(60)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1632;e=b;f[a>>2]=e;return}case 2:{b=Lk(60)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1688;e=b;f[a>>2]=e;return}case 4:{b=Lk(112)|0;f[b>>2]=1520;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1744;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Lk(92)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1800;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+88>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Lk(104)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1856;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Lk(124)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1912;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1968;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function cc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>340){f[c>>2]=b+-341;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{Uj(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=sa(8)|0;Am(o,17313);f[o>>2]=4748;wa(o|0,1128,100)}g=Lk(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){Co(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=sa(8)|0;Am(o,17313);f[o>>2]=4748;wa(o|0,1128,100)}d=Lk(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=Lk(4092)|0;f[j>>2]=e;Ve(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;Pe(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)Co(d);u=o;return}if((c|0)!=(b|0)){n=Lk(4092)|0;f[k>>2]=n;Ve(a,k);u=o;return}j=Lk(4092)|0;f[k>>2]=j;Pe(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{Uj(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=sa(8)|0;Am(o,17313);f[o>>2]=4748;wa(o|0,1128,100)}g=Lk(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){Co(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v;t=a+68|0;f[t>>2]=(f[t>>2]|0)+1;t=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;s=t>>2;if((t|0)<=0){u=v;return}p=a+4|0;o=a+56|0;q=a+72|0;t=a+76|0;b=f[a+44+(b<<2)>>2]|0;n=0;a:while(1){l=(b|0)<0;j=l?-1073741824:(b>>>0)/3|0;k=(f[o>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]|1<<(j&31);f[q>>2]=(f[q>>2]|0)+1;do if(n){d=f[a>>2]|0;if((b|0)==-1073741824)h=-1073741824;else{g=(b|0)/3|0;if((b|0)<=-3){m=39;break a}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){m=41;break a}h=f[e+(g*12|0)+(((b|0)%3|0)<<2)>>2]|0}f[t>>2]=h;f[r>>2]=h;g=f[c>>2]|0;e=g+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+8>>2]|0)>>>0){f[d>>2]=h;f[e>>2]=d+4}else Ig(g,r);if(!(n&1)){d=b+1|0;if(l)break;b=((d|0)%3|0|0)==0?b+-2|0:d;m=53;break}if(!l)if(!((b>>>0)%3|0)){b=b+2|0;m=53;break}else{b=b+-1|0;m=53;break}}else{e=f[a>>2]|0;h=(b|0)==-1073741824;if(h)e=-1073741824;else{g=(b|0)/3|0;if((b|0)<=-3){m=7;break a}d=f[e+96>>2]|0;if((g|0)>=(((f[e+100>>2]|0)-d|0)/12|0|0)){m=9;break a}e=f[d+(g*12|0)+(((b|0)%3|0)<<2)>>2]|0}f[r>>2]=e;k=f[c>>2]|0;i=k+4|0;d=f[i>>2]|0;j=k+8|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else Ig(k,r);d=b+1|0;if(l)if((b|0)==-1073741824)e=-1073741824;else{d=b;m=17}else if(!((d|0)%3|0)){d=b+-2|0;m=19}else m=17;if((m|0)==17)if((d|0)>-3)m=19;else{m=18;break a}if((m|0)==19){m=0;w=f[a>>2]|0;g=(d|0)/3|0;e=f[w+96>>2]|0;if((g|0)>=(((f[w+100>>2]|0)-e|0)/12|0|0)){m=20;break a}e=f[e+(g*12|0)+(((d|0)%3|0)<<2)>>2]|0}f[r>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else Ig(k,r);if(l)if(h)e=-1073741824;else{h=b;m=28}else{h=(((b>>>0)%3|0|0)==0?2:-1)+b|0;m=28}if((m|0)==28){d=f[a>>2]|0;g=(h|0)/3|0;if((h|0)<=-3){m=29;break a}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){m=31;break a}e=f[e+(g*12|0)+(((h|0)%3|0)<<2)>>2]|0}f[t>>2]=e;f[r>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else Ig(k,r);m=53}while(0);if((m|0)==53){m=0;if((b|0)>=0)b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0}n=n+1|0;if((n|0)>=(s|0)){m=3;break}}if((m|0)==3){u=v;return}else if((m|0)==7)ra(17558,17583,63,17666);else if((m|0)==9)ra(17671,17583,64,17666);else if((m|0)==18)ra(17558,17583,63,17666);else if((m|0)==20)ra(17671,17583,64,17666);else if((m|0)==29)ra(17558,17583,63,17666);else if((m|0)==31)ra(17671,17583,64,17666);else if((m|0)==39)ra(17558,17583,63,17666);else if((m|0)==41)ra(17671,17583,64,17666)}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(9209,9220,60,9341);if((d|0)>=31)ra(9361,9220,61,9341);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(10593,11397,99,11560);if((e|0)!=2)ra(11582,11397,102,11560);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Tn(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];Eb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Bl(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Bl(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Kk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Kk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Bi(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;dg(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Tn(d);else if((g|0)==16)ra(11606,11397,116,11560);else if((g|0)==21)ra(11673,9220,99,11761);return 0}function fc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(9209,9220,60,9341);if((d|0)>=31)ra(9361,9220,61,9341);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(10593,11397,99,11560);if((e|0)!=2)ra(11582,11397,102,11560);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Tn(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];Tb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Bl(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Bl(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Kk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Kk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Bi(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;dg(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Tn(d);else if((g|0)==16)ra(11606,11397,116,11560);else if((g|0)==21)ra(11673,9220,99,11761);return 0}function gc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(9209,9220,60,9341);if((d|0)>=31)ra(9361,9220,61,9341);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(10593,11397,99,11560);if((e|0)!=2)ra(11582,11397,102,11560);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Tn(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];Eb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Bl(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Bl(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Kk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Kk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Bi(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;gg(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Tn(d);else if((g|0)==16)ra(11606,11397,116,11560);else if((g|0)==21)ra(11673,9220,99,11761);return 0}function hc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(9209,9220,60,9341);if((d|0)>=31)ra(9361,9220,61,9341);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(10593,11397,99,11560);if((e|0)!=2)ra(11582,11397,102,11560);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Tn(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];Tb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Bl(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Bl(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Kk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Kk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Bi(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;gg(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Tn(d);else if((g|0)==16)ra(11606,11397,116,11560);else if((g|0)==21)ra(11673,9220,99,11761);return 0}function ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Ig(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))Ig(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Ig(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){Ig(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function jc(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;k=n+12|0;m=n;f[c+40>>2]=e;j=c+32|0;f[j>>2]=g;f[c+4>>2]=i;Wb(a,g,k);if(f[a>>2]|0){u=n;return}l=a+4|0;i=l+11|0;if((b[i>>0]|0)<0)Co(f[l>>2]|0);g=h[k+7>>0]|0;if((g|0)!=(Na[f[(f[c>>2]|0)+8>>2]&127](c)|0)){e=Lk(64)|0;f[m>>2]=e;f[m+8>>2]=-2147483584;f[m+4>>2]=50;g=e;i=16202;j=g+50|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+50>>0]=0;f[a>>2]=-1;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}e=b[k+5>>0]|0;b[c+36>>0]=e;g=b[k+6>>0]|0;b[c+37>>0]=g;if((e+-1&255)>1){e=Lk(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=22;g=e;i=16253;j=g+22|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+22>>0]=0;f[a>>2]=-5;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}if(e<<24>>24==2&(g&255)>2){e=Lk(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=22;g=e;i=16276;j=g+22|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+22>>0]=0;f[a>>2]=-5;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}g=(g&255|(e&255)<<8)&65535;d[(f[j>>2]|0)+38>>1]=g;if((g&65535)>258?(d[k+10>>1]|0)<0:0){Fd(a,c);if(f[a>>2]|0){u=n;return}if((b[i>>0]|0)<0)Co(f[l>>2]|0)}if(!(Na[f[(f[c>>2]|0)+12>>2]&127](c)|0)){e=Lk(48)|0;f[m>>2]=e;f[m+8>>2]=-2147483600;f[m+4>>2]=33;g=e;i=16299;j=g+33|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+33>>0]=0;f[a>>2]=-1;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}if(!(Na[f[(f[c>>2]|0)+20>>2]&127](c)|0)){e=Lk(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=31;g=e;i=16333;j=g+31|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+31>>0]=0;f[a>>2]=-1;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}if(Na[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=n;return}e=Lk(48)|0;f[m>>2]=e;f[m+8>>2]=-2147483600;f[m+4>>2]=34;g=e;i=16365;j=g+34|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+34>>0]=0;f[a>>2]=-1;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(m|0)==(q|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(cj(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(m|0)==(c|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(cj(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function lc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(q|0)==(m|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(cj(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(c|0)==(m|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(cj(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function mc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Co(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}s=Lk(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)Co(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(!s){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&r;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;else{h=g;i=e;e=g}a:while(1){q=h;g=i;p=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!s){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&r;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{n=e+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[e+12>>2]|0:m;l=(o|0)==0;if(k){i=e;while(1){j=h+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[h+12>>2]|0:m&255)|0)){h=i;break c}if(!l?cj(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{m=h;h=i;i=m}}}if(l){i=e;while(1){o=b[h+8+11>>0]|0;if((o<<24>>24<0?f[h+12>>2]|0:o&255)|0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{o=h;h=i;i=o}}}l=e;while(1){i=h+8|0;k=b[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[h+12>>2]|0:k&255)|0)){h=l;break c}i=j?f[i>>2]|0:i;if((f[n>>2]&255)<<24>>24==(b[i>>0]|0)){j=m;k=n}else{h=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((b[k>>0]|0)!=(b[i>>0]|0)){h=l;break c}}i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[q>>2]|0;if(!e){d=43;break a}}g=f[e>>2]|0;if(!g){d=43;break a}else{q=e;p=e}}f[h>>2]=p;i=f[e>>2]|0;if(!i){d=43;break}else{h=e;d=g}}if((d|0)==43)return}function nc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=a+4|0;t=f[c>>2]|0;c=t;do if((t|0)!=(o|0)){j=t+16|0;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[t+20>>2]|0:i&255;q=b[g+11>>0]|0;r=q<<24>>24<0;q=r?f[g+4>>2]|0:q&255;l=i>>>0>>0;h=l?i:q;if((h|0)!=0?(k=cj(r?f[g>>2]|0:g,m?f[j>>2]|0:j,h)|0,(k|0)!=0):0){if((k|0)<0)break}else u=4;if((u|0)==4?q>>>0>>0:0)break;h=q>>>0>>0?q:i;if((h|0)!=0?(n=cj(m?f[j>>2]|0:j,r?f[g>>2]|0:g,h)|0,(n|0)!=0):0){if((n|0)>=0)u=36}else u=20;if((u|0)==20?!l:0)u=36;if((u|0)==36){f[d>>2]=c;f[e>>2]=c;d=e;return d|0}m=t+4|0;h=f[m>>2]|0;if(!h){i=t+8|0;h=f[i>>2]|0;if((f[h>>2]|0)!=(t|0))do{p=f[i>>2]|0;i=p+8|0;h=f[i>>2]|0}while((f[h>>2]|0)!=(p|0))}else while(1){i=f[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(o|0)){j=h+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;k=l?f[h+20>>2]|0:k&255;i=k>>>0>>0?k:q;if((i|0)!=0?(s=cj(r?f[g>>2]|0:g,l?f[j>>2]|0:j,i)|0,(s|0)!=0):0){if((s|0)<0)break}else u=30;if((u|0)==30?q>>>0>>0:0)break;d=Ge(a,d,g)|0;return d|0}while(0);if(!(f[t+4>>2]|0)){f[d>>2]=c;d=m;return d|0}else{f[d>>2]=h;d=h;return d|0}}while(0);e=f[t>>2]|0;do if((t|0)!=(f[a>>2]|0)){if(!e){h=t;while(1){c=f[h+8>>2]|0;if((f[c>>2]|0)==(h|0))h=c;else{h=c;break}}}else{h=e;while(1){c=f[h+4>>2]|0;if(!c)break;else h=c}}c=h;j=h+16|0;k=b[g+11>>0]|0;l=k<<24>>24<0;k=l?f[g+4>>2]|0:k&255;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[h+20>>2]|0:i&255;h=k>>>0>>0?k:i;if((h|0)!=0?(p=cj(m?f[j>>2]|0:j,l?f[g>>2]|0:g,h)|0,(p|0)!=0):0){if((p|0)<0)break}else u=12;if((u|0)==12?i>>>0>>0:0)break;d=Ge(a,d,g)|0;return d|0}while(0);if(!e){f[d>>2]=t;d=t;return d|0}else{u=c;f[d>>2]=u;d=u+4|0;return d|0}return 0}function oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((r|0)<1){c=0;return c|0}m=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;s=X(m,r)|0;Oe(a,m,r);m=a+16|0;q=f[m>>2]|0;q=(f[f[q>>2]>>2]|0)+(f[q+48>>2]|0)|0;o=d+8|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>k>>>0)){c=0;return c|0}h=f[d>>2]|0;n=b[h+k>>0]|0;i=Bl(k|0,l|0,1,0)|0;j=I;t=p;f[t>>2]=i;f[t+4>>2]=j;a:do if(!(n<<24>>24)){if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>i>>>0)){t=0;return t|0}n=b[h+i>>0]|0;t=Bl(k|0,l|0,2,0)|0;l=p;f[l>>2]=t;f[l+4>>2]=I;l=n&255;t=(l|0)==(Fj(5)|0);e=f[(f[m>>2]|0)+64>>2]|0;e=(f[e+4>>2]|0)-(f[e>>2]|0)|0;if(t){g=s<<2;if(e>>>0>>0){t=0;return t|0}m=o;o=f[m>>2]|0;m=f[m+4>>2]|0;t=p;e=f[t>>2]|0;t=Bl(e|0,f[t+4>>2]|0,g|0,0)|0;n=I;if((m|0)<(n|0)|(m|0)==(n|0)&o>>>0>>0){t=0;return t|0}else{cf(q|0,(f[d>>2]|0)+e|0,g|0)|0;t=p;t=Bl(f[t>>2]|0,f[t+4>>2]|0,g|0,0)|0;i=p;f[i>>2]=t;f[i+4>>2]=I;i=18;break}}i=X(l,s)|0;if(e>>>0>>0){t=0;return t|0}j=o;h=f[j>>2]|0;j=f[j+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;t=cm(h|0,j|0,e|0,g|0)|0;m=I;if((m|0)<0|(m|0)==0&t>>>0>>0){t=0;return t|0}if(!s)i=19;else{k=n&255;i=j;j=0;while(1){t=Bl(e|0,g|0,k|0,0)|0;n=I;if(!((i|0)<(n|0)|(i|0)==(n|0)&h>>>0>>0)){cf(q+(j<<2)|0,(f[d>>2]|0)+e|0,l|0)|0;e=p;e=Bl(f[e>>2]|0,f[e+4>>2]|0,k|0,0)|0;g=I;t=p;f[t>>2]=e;f[t+4>>2]=g}j=j+1|0;if((j|0)==(s|0)){i=18;break a}h=o;i=f[h+4>>2]|0;h=f[h>>2]|0}}}else if(fh(s,r,d,q)|0)i=18;else{t=0;return t|0}while(0);do if((i|0)==18)if(!s)i=19;else{g=a+20|0;e=f[g>>2]|0;if(e|0?Na[f[(f[e>>2]|0)+32>>2]&127](e)|0:0){h=1;break}Yj(q,s,q);h=1}while(0);if((i|0)==19){g=a+20|0;h=0}e=f[g>>2]|0;if(e|0){if(!(Oa[f[(f[e>>2]|0)+40>>2]&127](e,d)|0)){t=0;return t|0}if(h?(t=f[g>>2]|0,!(Qa[f[(f[t>>2]|0)+44>>2]&31](t,q,q,s,r,f[c>>2]|0)|0)):0){t=0;return t|0}}t=1;return t|0}function pc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+64|0;E=F;g=E;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));a:do if(Gc(E,d)|0?dd(E,d)|0:0){g=(a|0)==0;b:do if(!g){if(!(f[E+12>>2]|0)){k=0;break a}$e(d,0,0)|0;if(!g){z=E+44|0;C=E+48|0;y=E+40|0;s=E+16|0;t=E+28|0;A=(c|0)>0;D=d+36|0;x=d+32|0;v=d+24|0;w=d+28|0;i=f[C>>2]|0;B=0;g=0;while(1){c:do if(i>>>0<16384){j=f[z>>2]|0;do{if((j|0)<=0)break c;r=f[y>>2]|0;j=j+-1|0;f[z>>2]=j;i=h[r+j>>0]|i<<8;f[C>>2]=i}while(i>>>0<16384)}while(0);p=i&4095;r=f[(f[s>>2]|0)+(p<<2)>>2]|0;q=f[t>>2]|0;i=(X(f[q+(r<<3)>>2]|0,i>>>12)|0)+p-(f[q+(r<<3)+4>>2]|0)|0;f[C>>2]=i;if(A){p=(r|0)>0;if((r|0)<=-1){g=22;break}if((r|0)<33){q=0;o=g}else{g=21;break}while(1){if(!(b[D>>0]|0)){k=0;break a}if(p){l=f[v>>2]|0;m=f[w>>2]|0;k=f[x>>2]|0;n=0;j=0;do{g=l+(k>>>3)|0;if(g>>>0>>0){g=(h[g>>0]|0)>>>(k&7)&1;k=k+1|0;f[x>>2]=k}else g=0;j=g<>2]=j;q=q+1|0;if((q|0)>=(c|0))break;else o=g}}B=B+c|0;if(B>>>0>=a>>>0)break b}if((g|0)==21){if(!(b[D>>0]|0)){k=0;break a}ra(16588,16487,156,16580)}else if((g|0)==22){if(!(b[D>>0]|0)){k=0;break a}ra(16472,16487,155,16580)}}}else $e(d,0,0)|0;while(0);Jj(d);k=1}else k=0;while(0);g=f[E+28>>2]|0;if(g|0){j=E+32|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-8-g|0)>>>3)<<3);Co(g)}g=f[E+16>>2]|0;if(g|0){j=E+20|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-4-g|0)>>>2)<<2);Co(g)}j=f[E>>2]|0;if(!j){u=F;return k|0}i=E+4|0;g=f[i>>2]|0;if((g|0)!=(j|0))f[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);Co(j);u=F;return k|0}function qc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{l=d;d=d+-116|0;f[g+-116>>2]=f[d>>2];j=l+-112|0;f[g+-112>>2]=f[j>>2];k=l+-108|0;f[g+-108>>2]=f[k>>2];m=l+-104|0;f[g+-104>>2]=f[m>>2];f[j>>2]=0;f[k>>2]=0;f[m>>2]=0;m=l+-100|0;f[g+-100>>2]=f[m>>2];k=l+-96|0;f[g+-96>>2]=f[k>>2];j=l+-92|0;f[g+-92>>2]=f[j>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;b[g+-88>>0]=b[l+-88>>0]|0;j=g+-84|0;k=l+-84|0;f[j>>2]=0;m=g+-80|0;f[m>>2]=0;f[g+-76>>2]=0;f[j>>2]=f[k>>2];j=l+-80|0;f[m>>2]=f[j>>2];m=l+-76|0;f[g+-76>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;k=g+-72|0;j=l+-72|0;f[k>>2]=0;m=g+-68|0;f[m>>2]=0;f[g+-64>>2]=0;f[k>>2]=f[j>>2];k=l+-68|0;f[m>>2]=f[k>>2];m=l+-64|0;f[g+-64>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-60|0;k=l+-60|0;f[j>>2]=0;m=g+-56|0;f[m>>2]=0;f[g+-52>>2]=0;f[j>>2]=f[k>>2];j=l+-56|0;f[m>>2]=f[j>>2];m=l+-52|0;f[g+-52>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-48>>2]=f[l+-48>>2];b[g+-44>>0]=b[l+-44>>0]|0;k=g+-40|0;j=l+-40|0;f[k>>2]=0;m=g+-36|0;f[m>>2]=0;f[g+-32>>2]=0;f[k>>2]=f[j>>2];k=l+-36|0;f[m>>2]=f[k>>2];m=l+-32|0;f[g+-32>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-28|0;k=l+-28|0;f[j>>2]=0;m=g+-24|0;f[m>>2]=0;f[g+-20>>2]=0;f[j>>2]=f[k>>2];j=l+-24|0;f[m>>2]=f[j>>2];m=l+-20|0;f[g+-20>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-16>>2]=f[l+-16>>2];k=g+-12|0;j=l+-12|0;f[k>>2]=0;m=g+-8|0;f[m>>2]=0;f[g+-4>>2]=0;f[k>>2]=f[j>>2];k=l+-8|0;f[m>>2]=f[k>>2];l=l+-4|0;f[g+-4>>2]=f[l>>2];f[l>>2]=0;f[k>>2]=0;f[j>>2]=0;g=(f[h>>2]|0)+-116|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;i=q+32|0;h=q+28|0;o=q+16|0;p=q;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){p=c;p=p+20|0;u=q;return p|0}}fn(o);f[p>>2]=f[b>>2];l=p+4|0;f[p+8>>2]=0;k=p+12|0;f[k>>2]=0;m=p+8|0;f[l>>2]=m;c=f[o>>2]|0;n=o+4|0;if((c|0)!=(n|0)){g=m;do{d=c+16|0;f[h>>2]=g;f[i>>2]=f[h>>2];lf(l,i,d,d)|0;d=f[c+4>>2]|0;if(!d){d=c+8|0;e=f[d>>2]|0;if((f[e>>2]|0)==(c|0))c=e;else do{b=f[d>>2]|0;d=b+8|0;c=f[d>>2]|0}while((f[c>>2]|0)!=(b|0))}else{c=d;while(1){d=f[c>>2]|0;if(!d)break;else c=d}}}while((c|0)!=(n|0))}i=a+12|0;c=f[j>>2]|0;do if(c){g=f[p>>2]|0;e=a+16|0;while(1){d=f[c+16>>2]|0;if((g|0)<(d|0)){d=f[c>>2]|0;if(!d){d=23;break}else e=c}else{if((d|0)>=(g|0)){d=27;break}e=c+4|0;d=f[e>>2]|0;if(!d){d=26;break}}c=d}if((d|0)==23){h=c;e=c;break}else if((d|0)==26){h=c;break}else if((d|0)==27){h=c;break}}else{h=j;e=j}while(0);c=f[e>>2]|0;if(!c){c=Lk(32)|0;f[c+16>>2]=f[p>>2];b=c+20|0;f[b>>2]=f[l>>2];g=c+24|0;d=f[p+8>>2]|0;f[g>>2]=d;j=f[k>>2]|0;f[c+28>>2]=j;if(!j)f[b>>2]=g;else{f[d+8>>2]=g;f[l>>2]=m;f[m>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[e>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[e>>2]|0}qd(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}sh(p+4|0,f[m>>2]|0);sh(o,f[n>>2]|0);p=c;p=p+20|0;u=q;return p|0}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;r=y+12|0;s=y+4|0;p=y+8|0;q=y;x=a+8+(b*12|0)|0;d=f[x>>2]|0;t=a+8+(b*12|0)+4|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c>>2]|0;m=a+4|0;f[s>>2]=(d|0)<0?-1073741824:(d>>>0)/3|0;w=a+56|0;l=a+8+(b*12|0)+8|0;e=d;o=0;do{n=(o|0)==1;if(n){g=(d|0)<0;do if(!g)if(!((d>>>0)%3|0)){e=d+2|0;break}else{e=d+-1|0;break}else e=d;while(0);f[p>>2]=e;f[r>>2]=f[p>>2];if((Rd(a,r)|0)<0)break;e=d+1|0;if(g){v=12;break}e=((e|0)%3|0|0)==0?d+-2|0:e;f[c>>2]=e;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;if((e|0)<0){v=16;break}e=f[(f[(f[m>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;f[c>>2]=e;if((e|0)<0)break;else{g=0;v=18}}else{i=f[s>>2]|0;k=e;j=0}while(1){if((v|0)==18){v=0;i=(e>>>0)/3|0;f[s>>2]=i;k=e;j=g}h=(f[w>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);e=f[h>>2]|0;if(g&e|0){e=k;g=j;break}f[h>>2]=e|g;e=f[t>>2]|0;if((e|0)==(f[l>>2]|0))Ig(x,s);else{f[e>>2]=f[s>>2];f[t>>2]=e+4}g=j+1|0;if((j|0)>0){do if(!(g&1)){d=n?k:d;if((k|0)>=0)if(!((k>>>0)%3|0)){e=k+2|0;break}else{e=k+-1|0;break}else e=k}else{e=k+1|0;if((k|0)<0)e=k;else e=((e|0)%3|0|0)==0?k+-2|0:e}while(0);f[c>>2]=e}else e=k;f[q>>2]=e;f[r>>2]=f[q>>2];e=Rd(a,r)|0;f[c>>2]=e;if((e|0)<0)break;else v=18}if(!((g&1|0)==0|n^1)){n=f[t>>2]|0;j=f[n+-4>>2]|0;k=(f[w>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(j&31));f[t>>2]=n+-4}o=o+1|0}while((o|0)<2);if((v|0)==12){f[c>>2]=d;e=d;v=16}if((v|0)==16)f[c>>2]=e;f[a+44+(b<<2)>>2]=d;e=f[t>>2]|0;d=f[x>>2]|0;h=d;if((e|0)==(d|0)){u=y;return}g=f[w>>2]|0;e=e-d>>2;d=0;do{w=f[h+(d<<2)>>2]|0;x=g+(w>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(w&31));d=d+1|0}while(d>>>0>>0);u=y;return}function tc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=ak(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((ak(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Bl(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;cm(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=cm(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;B=D+8|0;z=D;A=D+4|0;if(!(jh(a,b)|0)){a=0;u=D;return a|0}C=b+96|0;o=b+100|0;d=f[o>>2]|0;b=f[C>>2]|0;if((d-b|0)<=0){a=1;u=D;return a|0}n=a+56|0;v=a+8|0;r=a+12|0;s=a+20|0;p=a+24|0;t=a+32|0;q=a+36|0;x=a+68|0;y=a+76|0;w=a+72|0;m=0;while(1){if(!(f[(f[n>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31))){i=m*3|0;f[z>>2]=i;f[B>>2]=f[z>>2];sc(a,0,B);l=(f[r>>2]|0)-(f[v>>2]|0)>>2;f[z>>2]=i+1;f[B>>2]=f[z>>2];sc(a,1,B);j=(f[p>>2]|0)-(f[s>>2]|0)>>2;k=j>>>0>l>>>0;f[z>>2]=i+2;f[B>>2]=f[z>>2];sc(a,2,B);l=(f[q>>2]|0)-(f[t>>2]|0)>>2>>>0>(k?j:l)>>>0?2:k?1:((l|0)==0)<<31>>31;if((f[x>>2]|0)>0){d=f[y>>2]|0;f[B>>2]=d;k=f[c>>2]|0;i=k+4|0;e=f[i>>2]|0;j=k+8|0;b=k;if(e>>>0<(f[j>>2]|0)>>>0){f[e>>2]=d;f[i>>2]=e+4}else Ig(k,B);h=f[a+44+(l<<2)>>2]|0;d=f[a>>2]|0;if((h|0)==-1073741824)e=-1073741824;else{g=(h|0)/3|0;if((h|0)<=-3){d=12;break}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){d=14;break}e=f[e+(g*12|0)+(((h|0)%3|0)<<2)>>2]|0}f[B>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else Ig(k,B);h=(f[w>>2]|0)+2|0;f[w>>2]=h;if(h&1){f[B>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else Ig(k,B);f[w>>2]=(f[w>>2]|0)+1}}else b=f[c>>2]|0;f[A>>2]=b;f[B>>2]=f[A>>2];dc(a,l,B);b=f[C>>2]|0;d=f[o>>2]|0}m=m+1|0;if((m|0)>=((d-b|0)/12|0|0)){b=1;d=26;break}}if((d|0)==12)ra(17558,17583,63,17666);else if((d|0)==14)ra(17671,17583,64,17666);else if((d|0)==26){u=D;return b|0}return 0}function vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+176|0;h=t+136|0;s=t+64|0;o=t;j=t+32|0;i=f[(f[c+4>>2]|0)+44>>2]|0;n=Lk(88)|0;f[n+4>>2]=0;f[n>>2]=3200;k=n+12|0;f[k>>2]=3180;m=n+64|0;f[m>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;e=n+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[n+76>>2]=i;f[n+80>>2]=d;f[n+84>>2]=0;l=n;q=s+4|0;f[q>>2]=3180;p=s+56|0;f[p>>2]=0;r=s+60|0;f[r>>2]=0;f[s+64>>2]=0;e=s+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=f[c+8>>2]|0;f[o>>2]=3180;c=o+4|0;g=c+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;g=e;f[c>>2]=g;g=((f[g+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0;b[h>>0]=0;mf(o+8|0,g,h);Sa[f[(f[o>>2]|0)+8>>2]&127](o);ae(j,o);ae(h,j);f[s>>2]=f[h+4>>2];g=s+4|0;xe(g,h)|0;f[h>>2]=3180;c=f[h+20>>2]|0;if(c|0)Co(c);c=f[h+8>>2]|0;if(c|0)Co(c);f[s+36>>2]=e;f[s+40>>2]=d;f[s+44>>2]=i;f[s+48>>2]=n;f[j>>2]=3180;c=f[j+20>>2]|0;if(c|0)Co(c);c=f[j+8>>2]|0;if(c|0)Co(c);f[n+8>>2]=f[s>>2];xe(k,g)|0;c=n+44|0;n=s+36|0;f[c>>2]=f[n>>2];f[c+4>>2]=f[n+4>>2];f[c+8>>2]=f[n+8>>2];f[c+12>>2]=f[n+12>>2];b[c+16>>0]=b[n+16>>0]|0;Ae(m,f[p>>2]|0,f[r>>2]|0);f[a>>2]=l;f[o>>2]=3180;c=f[o+20>>2]|0;if(c|0)Co(c);c=f[o+8>>2]|0;if(c|0)Co(c);c=f[p>>2]|0;if(c|0){e=f[r>>2]|0;if((e|0)!=(c|0))f[r>>2]=e+(~((e+-4-c|0)>>>2)<<2);Co(c)}f[q>>2]=3180;c=f[s+24>>2]|0;if(c|0)Co(c);c=f[s+12>>2]|0;if(!c){u=t;return}Co(c);u=t;return}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Co(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}m=Lk(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)Co(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(!m){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&l;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{i=g;e=d;h=g}a:while(1){b:do if(m){k=i;while(1){d=e;while(1){j=f[d+4>>2]&l;if((j|0)==(c|0))break;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+8|0;g=d;while(1){e=f[g>>2]|0;if(!e)break;if((f[i>>2]|0)==(f[e+8>>2]|0))g=e;else break}f[h>>2]=e;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;h=d}}}else{k=i;j=h;while(1){d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){h=j;c=e;break b}i=d+8|0;h=d;while(1){g=f[h>>2]|0;if(!g)break;if((f[i>>2]|0)==(f[g+8>>2]|0))h=g;else break}f[j>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;j=d}}}while(0);f[g>>2]=h;e=f[d>>2]|0;if(!e){c=37;break}else{i=d;h=d}}if((c|0)==37)return}function xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+148|0;i=f[b>>2]|0;j=(i|0)<0;l=i+1|0;do if(!j){b=((l|0)%3|0|0)==0?i+-2|0:l;if(!((i>>>0)%3|0)){d=b;g=i+2|0;break}else{d=b;g=i+-1|0;break}}else{d=i;g=i}while(0);h=a+184|0;b=f[h>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){b=c+(b<<2)|0;f[b>>2]=(f[b>>2]|0)+d;b=f[h>>2]|0}switch(b|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}b=f[k>>2]|0;if(!j?(m=((l|0)%3|0|0)==0?i+-2|0:l,(m|0)>=0):0)b=f[(f[b>>2]|0)+(m<<2)>>2]|0;else b=-1073741824;f[a+188>>2]=(f[(f[a+156>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;w=u;u=u+32|0;e=w+24|0;r=w+20|0;v=w+8|0;t=w+4|0;o=w;f[e>>2]=0;yh(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){d=0;while(1){d=d+1|0;if(!(Oc(a,c)|0)){d=0;break}if(d>>>0>=(f[e>>2]|0)>>>0)break a}u=w;return d|0}while(0);f[r>>2]=0;yh(r,f[a>>2]|0)|0;b:do if(!(f[r>>2]|0))d=1;else{i=v+11|0;j=0;while(1){f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=f[a>>2]|0;x=g+8|0;y=f[x+4>>2]|0;h=g+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if((y|0)>(e|0)|((y|0)==(e|0)?(f[x>>2]|0)>>>0>d>>>0:0)?(m=b[(f[g>>2]|0)+d>>0]|0,k=Bl(d|0,e|0,1,0)|0,q=h,f[q>>2]=k,f[q+4>>2]=I,q=m&255,Bh(v,q,0),k=f[a>>2]|0,p=xj(v,0)|0,g=k+8|0,x=f[g>>2]|0,g=f[g+4>>2]|0,s=k+16|0,y=s,l=f[y>>2]|0,m=m&255,y=Bl(l|0,f[y+4>>2]|0,m|0,0)|0,h=I,!((g|0)<(h|0)|(g|0)==(h|0)&x>>>0>>0)):0){cf(p|0,(f[k>>2]|0)+l|0,q|0)|0;x=s;x=Bl(f[x>>2]|0,f[x+4>>2]|0,m|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I;y=Lk(40)|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;n[y+16>>2]=$(1.0);x=y+20|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;n[y+36>>2]=$(1.0);f[t>>2]=y;if(yc(a,y)|0){d=f[t>>2]|0;f[t>>2]=0;f[o>>2]=d;He(c,v,o)|0;Cg(o);d=0}else d=1;Cg(t)}else d=1;if((b[i>>0]|0)<0)Co(f[v>>2]|0);j=j+1|0;if(d|0){d=0;break b}if(j>>>0>=(f[r>>2]|0)>>>0){d=1;break}}}while(0);y=d;u=w;return y|0}function zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+148|0;c=f[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)){h=b;g=c+2|0;break}else{h=b;g=c+-1|0;break}}else{h=c;g=c}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){g=c+(b<<2)|0;f[g>>2]=(f[g>>2]|0)+d}if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;b=f[(f[a+156>>2]|0)+(b<<2)>>2]|0;c=f[a+176>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+172|0;f[a>>2]=i;return}i=f[a+180>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+172|0;f[a>>2]=i;return}function Ac(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=xf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Bc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Af(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Cc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Bf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Dc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Cf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Ec(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Df(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Fc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Ff(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Gc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Gf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Hc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;w=x+4|0;v=x;f[a+72>>2]=e;f[a+64>>2]=g;s=zo(e>>>0>1073741823?-1:e<<2)|0;t=a+68|0;d=f[t>>2]|0;f[t>>2]=s;if(d|0)Ao(d);s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);n=a+56|0;d=f[n>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;q=g-h|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((g|0)==(h|0)){k=d;Tn(k)}else{l=h;y=0}while(1){f[v>>2]=f[l+(y<<2)>>2];f[w>>2]=f[v>>2];Zb(a,w,c,y);l=X(y,e)|0;h=f[t>>2]|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[h+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=l+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=22}}else{d=d-(f[o>>2]|0)|0;z=22}if((z|0)==22){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=10;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=11;break}}if((z|0)==10){u=x;return 1}else if((z|0)==11)Tn(d);return 0}function Ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;w=x+4|0;v=x;f[a+72>>2]=e;f[a+64>>2]=g;s=zo(e>>>0>1073741823?-1:e<<2)|0;t=a+68|0;d=f[t>>2]|0;f[t>>2]=s;if(d|0)Ao(d);s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);n=a+56|0;d=f[n>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;q=g-h|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((g|0)==(h|0)){k=d;Tn(k)}else{l=h;y=0}while(1){f[v>>2]=f[l+(y<<2)>>2];f[w>>2]=f[v>>2];Yb(a,w,c,y);l=X(y,e)|0;h=f[t>>2]|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[h+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=l+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=22}}else{d=d-(f[o>>2]|0)|0;z=22}if((z|0)==22){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=10;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=11;break}}if((z|0)==10){u=x;return 1}else if((z|0)==11)Tn(d);return 0}function Jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=a+8|0;f[t>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2);g=e}else g=e;else{sg(j,e-k|0);g=f[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=zo(r)|0;dh(s|0,0,r|0)|0;if((g|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{g=f[s+(j<<2)>>2]|0;h=f[l>>2]|0;if((g|0)>(h|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=h}else{r=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(g|0)<(r|0)?r:g}j=j+1|0;g=f[t>>2]|0}while((j|0)<(g|0));if((g|0)>0){j=a+20|0;i=0;do{g=(f[b+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=c+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[m>>2]|0)){g=(f[j>>2]|0)+g|0;u=18}}else{g=g-(f[j>>2]|0)|0;u=18}if((u|0)==18){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}if((e|0)>=(d|0)){Ao(s);return 1}p=0-e|0;q=a+16|0;o=a+32|0;r=a+12|0;n=a+20|0;a=e;do{l=c+(a<<2)|0;j=l+(p<<2)|0;m=b+(a<<2)|0;if((g|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[q>>2]|0;if((g|0)>(h|0)){k=f[o>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[r>>2]|0;k=f[o>>2]|0;f[k+(i<<2)>>2]=(g|0)<(h|0)?h:g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0));if((g|0)>0){i=0;do{g=(f[m+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[q>>2]|0)){if((g|0)<(f[r>>2]|0)){g=(f[n>>2]|0)+g|0;u=33}}else{g=g-(f[n>>2]|0)|0;u=33}if((u|0)==33){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}a=a+e|0}while((a|0)<(d|0));Ao(s);return 1}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=c+8|0;j=f[i+4>>2]|0;h=c+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){j=0;return j|0}j=b[(f[c>>2]|0)+g>>0]|0;g=Bl(g|0,e|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do switch(j<<24>>24){case 1:{j=Zd(a,c,d)|0;return j|0}case 2:{j=Zd(a,c,d)|0;return j|0}case 3:{j=Zd(a,c,d)|0;return j|0}case 4:{j=Zd(a,c,d)|0;return j|0}case 5:{j=Zd(a,c,d)|0;return j|0}case 6:{j=Zd(a,c,d)|0;return j|0}case 7:{j=Zd(a,c,d)|0;return j|0}case 8:{j=Zd(a,c,d)|0;return j|0}case 9:{j=Yd(a,c,d)|0;return j|0}case 10:{j=Xd(a,c,d)|0;return j|0}case 11:{j=Wd(a,c,d)|0;return j|0}case 12:{j=Vd(a,c,d)|0;return j|0}case 13:{j=Ud(a,c,d)|0;return j|0}case 14:{j=Td(a,c,d)|0;return j|0}case 15:{j=Td(a,c,d)|0;return j|0}case 16:{j=Td(a,c,d)|0;return j|0}case 17:{j=Td(a,c,d)|0;return j|0}case 18:{j=Td(a,c,d)|0;return j|0}default:{j=0;return j|0}}while(0);return 0}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);n=a+56|0;h=f[n>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;q=d-g|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((d|0)==(g|0)){k=h;Tn(k)}else{l=g;y=0}while(1){f[t>>2]=f[l+(y<<2)>>2];f[v>>2]=f[t>>2];Db(w,v,c,y);k=X(y,e)|0;j=b+(k<<2)|0;k=c+(k<<2)|0;if((f[s>>2]|0)>0){h=0;do{d=f[a+68+(h<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){i=f[m>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[q>>2]|0;i=f[m>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[s>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=20}}else{d=d-(f[o>>2]|0)|0;z=20}if((z|0)==20){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=8;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=9;break}}if((z|0)==8){u=x;return 1}else if((z|0)==9)Tn(d);return 0}function Mc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;e=f[k>>2]|0;switch(f[e+28>>2]|0){case 2:{d=b[e+24>>0]|0;j=d<<24>>24;i=zo((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;a:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{cf(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break a}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Ao(i);c=1;return c|0}case 1:{d=b[e+24>>0]|0;j=d<<24>>24;i=zo((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;b:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{cf(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break b}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Ao(i);c=1;return c|0}case 4:{_f(a,c);c=1;return c|0}case 3:{_f(a,c);c=1;return c|0}case 6:{$f(a,c);c=1;return c|0}case 5:{$f(a,c);c=1;return c|0}default:{c=0;return c|0}}return 0}function Nc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);n=a+56|0;h=f[n>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;q=d-g|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((d|0)==(g|0)){k=h;Tn(k)}else{l=g;y=0}while(1){f[t>>2]=f[l+(y<<2)>>2];f[v>>2]=f[t>>2];Cb(w,v,c,y);k=X(y,e)|0;j=b+(k<<2)|0;k=c+(k<<2)|0;if((f[s>>2]|0)>0){h=0;do{d=f[a+68+(h<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){i=f[m>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[q>>2]|0;i=f[m>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[s>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=20}}else{d=d-(f[o>>2]|0)|0;z=20}if((z|0)==20){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=8;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=9;break}}if((z|0)==8){u=x;return 1}else if((z|0)==9)Tn(d);return 0}function Oc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+32|0;q=r+16|0;o=r+12|0;p=r;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;d=f[a>>2]|0;s=d+8|0;t=f[s+4>>2]|0;n=d+16|0;e=n;j=f[e>>2]|0;e=f[e+4>>2]|0;if((t|0)>(e|0)|((t|0)==(e|0)?(f[s>>2]|0)>>>0>j>>>0:0)?(i=b[(f[d>>2]|0)+j>>0]|0,g=Bl(j|0,e|0,1,0)|0,l=n,f[l>>2]=g,f[l+4>>2]=I,l=i&255,Bh(q,l,0),g=f[a>>2]|0,k=xj(q,0)|0,j=g+8|0,s=f[j>>2]|0,j=f[j+4>>2]|0,m=g+16|0,t=m,h=f[t>>2]|0,i=i&255,t=Bl(h|0,f[t+4>>2]|0,i|0,0)|0,n=I,!((j|0)<(n|0)|(j|0)==(n|0)&s>>>0>>0)):0){cf(k|0,(f[g>>2]|0)+h|0,l|0)|0;d=m;d=Bl(f[d>>2]|0,f[d+4>>2]|0,i|0,0)|0;t=m;f[t>>2]=d;f[t+4>>2]=I;f[o>>2]=0;t=(yh(o,f[a>>2]|0)|0)^1;d=f[o>>2]|0;if((d|0)==0|t)d=0;else{f[p>>2]=0;i=p+4|0;f[i>>2]=0;f[p+8>>2]=0;if((d|0)<0)Tn(p);e=Lk(d)|0;f[i>>2]=e;f[p>>2]=e;f[p+8>>2]=e+d;do{b[e>>0]=0;e=(f[i>>2]|0)+1|0;f[i>>2]=e;d=d+-1|0}while((d|0)!=0);h=f[o>>2]|0;d=f[a>>2]|0;o=d+8|0;s=f[o>>2]|0;o=f[o+4>>2]|0;g=d+16|0;t=g;e=f[t>>2]|0;t=Bl(e|0,f[t+4>>2]|0,h|0,0)|0;a=I;if((o|0)<(a|0)|(o|0)==(a|0)&s>>>0>>0)d=0;else{cf(f[p>>2]|0,(f[d>>2]|0)+e|0,h|0)|0;t=g;t=Bl(f[t>>2]|0,f[t+4>>2]|0,h|0,0)|0;d=g;f[d>>2]=t;f[d+4>>2]=I;ik(c,q,p);d=1}e=f[p>>2]|0;if(e|0){if((f[i>>2]|0)!=(e|0))f[i>>2]=e;Co(e)}}}else d=0;if((b[q+11>>0]|0)>=0){u=r;return d|0}Co(f[q>>2]|0);u=r;return d|0}function Pc(a,b){a=a|0;b=b|0;var c=0,d=La,e=La,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=La;m=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(!c)if(m>>>0>>0)h=m;else h=(m>>>0)%(i>>>0)|0;else h=g&m;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(!b)b=h;else{if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}l=f[b+4>>2]|0;if(!((l|0)==(m|0)|(l&g|0)==(h|0))){b=h;break a}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}do{b=f[b>>2]|0;if(!b){b=h;break a}c=f[b+4>>2]|0;if((c|0)!=(m|0)){if(c>>>0>=i>>>0)c=(c>>>0)%(i>>>0)|0;if((c|0)!=(h|0)){b=h;break a}}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}}else b=0;while(0);l=Lk(16)|0;f[l+8>>2]=m;f[l+12>>2]=0;f[l+4>>2]=m;f[l>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;eg(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&m;break}if(m>>>0>>0){g=b;b=m}else{g=b;b=(m>>>0)%(b>>>0)|0}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[l>>2]=f[b>>2];f[b>>2]=l;f[c>>2]=b;b=f[l>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(c&g){if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0}else b=b&c;b=(f[a>>2]|0)+(b<<2)|0;o=30}}else{f[l>>2]=f[b>>2];o=30}if((o|0)==30)f[b>>2]=l;f[h>>2]=(f[h>>2]|0)+1;a=l;a=a+12|0;return a|0}function Qc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3056;d=a+360|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d)}Ho(a+344|0);Ho(a+304|0);Ho(a+288|0);Ho(a+248|0);wg(a+212|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+144>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;uh(b);Co(b);return}function Rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+32|0;i=s+16|0;r=s;f[i>>2]=0;do if((j[b+38>>1]|0)<514){k=b+8|0;l=f[k>>2]|0;k=f[k+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=Bl(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&l>>>0>>0){r=0;u=s;return r|0}else{l=(f[b>>2]|0)+e|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[i>>2]=l;k=g;f[k>>2]=c;f[k+4>>2]=d;c=l;break}}else if(yh(i,b)|0){c=f[i>>2]|0;break}else{r=0;u=s;return r|0}while(0);e=a+76|0;md(e,c,0);$n(r);if(nd(r,b)|0){if(f[i>>2]|0){c=0;d=1;do{d=d^((Bi(r)|0)^1);l=(f[e>>2]|0)+(c>>>5<<2)|0;k=1<<(c&31);g=f[l>>2]|0;f[l>>2]=d?g|k:g&~k;c=c+1|0}while(c>>>0<(f[i>>2]|0)>>>0)}d=b+8|0;c=f[d>>2]|0;d=f[d+4>>2]|0;l=b+16|0;g=l;e=f[g>>2]|0;g=f[g+4>>2]|0;i=Bl(e|0,g|0,4,0)|0;k=I;if((!((d|0)<(k|0)|(d|0)==(k|0)&c>>>0>>0)?(m=f[b>>2]|0,n=m+e|0,n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24,o=l,f[o>>2]=i,f[o+4>>2]=k,o=Bl(e|0,g|0,8,0)|0,p=I,!((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0)):0)?(q=m+i|0,q=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,b=l,f[b>>2]=o,f[b+4>>2]=p,(n|0)<=(q|0)):0){f[a+12>>2]=n;f[a+16>>2]=q;b=q+(1-n)|0;f[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(b&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Ho(r);r=c;u=s;return r|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if((e|0)<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if((h|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function Tc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;q=t;o=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((o|0)<=0){a=1;s=1;s=a|s;u=t;return s|0}k=a+36|0;p=a+48|0;l=q+8|0;m=q+4|0;n=q+11|0;c=0;while(1){j=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[j>>2]|0){j=f[(f[(f[k>>2]|0)+(c<<2)>>2]|0)+8>>2]|0;i=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;i=f[i>>2]|0;j=f[j+56>>2]|0;d=Lk(32)|0;f[q>>2]=d;f[l>>2]=-2147483616;f[m>>2]=24;e=d;g=14811;h=e+24|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+24>>0]=0;h=i+16|0;e=f[h>>2]|0;if(e){d=h;g=e;a:while(1){e=g;while(1){if((f[e+16>>2]|0)>=(j|0))break;e=f[e+4>>2]|0;if(!e)break a}g=f[e>>2]|0;if(!g){d=e;break}else d=e}if(((d|0)!=(h|0)?(j|0)>=(f[d+16>>2]|0):0)?(r=d+20|0,(Sf(r,q)|0)!=0):0)d=Th(r,q,0)|0;else s=13}else s=13;if((s|0)==13){s=0;d=Th(i,q,0)|0}if((b[n>>0]|0)<0)Co(f[q>>2]|0);if(d){s=17;break}}j=f[(f[k>>2]|0)+(c<<2)>>2]|0;if(!(Oa[f[(f[j>>2]|0)+24>>2]&127](j,p)|0)){c=0;d=0;s=20;break}c=c+1|0;if((c|0)>=(o|0)){c=1;d=1;s=20;break}}if((s|0)==17){a=f[(f[k>>2]|0)+(c<<2)>>2]|0;s=f[a+8>>2]|0;Hd(s,kf(a)|0);a=0;s=1;s=a|s;u=t;return s|0}else if((s|0)==20){s=c|d;u=t;return s|0}return 0}function Uc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];mb(a,r,n);r=1;u=p;return r|0}function Vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];pb(a,r,n);r=1;u=p;return r|0}function Wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];nb(a,r,n);r=1;u=p;return r|0}function Xc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)ra(17381,17397,59,17494);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))ra(17504,17397,60,17494);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=Lk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2560;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2616;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=Lk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2476;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2532;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function Yc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a+32|0;c=f[h>>2]|0;o=c+8|0;n=f[o+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(f[o>>2]|0)>>>0>e>>>0:0))){a=0;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;m=Bl(e|0,d|0,1,0)|0;o=g;f[o>>2]=m;f[o+4>>2]=I;o=n&255;g=n<<24>>24==0;a:do if(!g){c=0;while(1){if(!(Oa[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){c=0;break}c=c+1|0;if((c|0)>=(o|0))break a}return c|0}while(0);n=a+8|0;c=f[n>>2]|0;d=f[a+12>>2]|0;b:do if((c|0)!=(d|0)){e=a+4|0;while(1){m=f[c>>2]|0;c=c+4|0;if(!(Pa[f[(f[m>>2]|0)+8>>2]&31](m,a,f[e>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}return c|0}while(0);if(!g){c=0;do{m=f[(f[n>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Oa[f[(f[m>>2]|0)+12>>2]&127](m,f[h>>2]|0)|0)){c=0;i=26;break}}while((c|0)<(o|0));if((i|0)==26)return c|0;if(!g){i=a+20|0;h=a+24|0;l=0;do{j=f[(f[n>>2]|0)+(l<<2)>>2]|0;j=Na[f[(f[j>>2]|0)+24>>2]&127](j)|0;if((j|0)>0){m=0;do{k=f[(f[n>>2]|0)+(l<<2)>>2]|0;k=Oa[f[(f[k>>2]|0)+20>>2]&127](k,m)|0;d=f[h>>2]|0;c=f[i>>2]|0;g=d-c>>2;do if(k>>>0>=g>>>0){e=k+1|0;if(e>>>0>g>>>0){sg(i,e-g|0);c=f[i>>2]|0;break}if(e>>>0>>0?(p=c+(e<<2)|0,(d|0)!=(p|0)):0)f[h>>2]=d+(~((d+-4-p|0)>>>2)<<2)}while(0);f[c+(k<<2)>>2]=l;m=m+1|0}while((m|0)!=(j|0))}l=l+1|0}while((l|0)!=(o|0))}}if(!(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+32>>2]&127](a)|0;return a|0}function Zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+4194304|0;f[a+48>>2]=p;a=p>>>0<1073741824;u=q;return a|0}function _c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+2097152|0;f[a+48>>2]=p;a=p>>>0<536870912;u=q;return a|0}function $c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+1048576|0;f[a+48>>2]=p;a=p>>>0<268435456;u=q;return a|0}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+262144|0;f[a+48>>2]=p;a=p>>>0<67108864;u=q;return a|0}function bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+131072|0;f[a+48>>2]=p;a=p>>>0<33554432;u=q;return a|0}function cd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+32768|0;f[a+48>>2]=p;a=p>>>0<8388608;u=q;return a|0}function dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+16384|0;f[a+48>>2]=p;a=p>>>0<4194304;u=q;return a|0}function ed(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)ra(17381,17397,59,17494);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))ra(17504,17397,60,17494);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=Lk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2784;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2840;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=Lk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2700;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2756;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];kb(a,r,n);r=1;u=p;return r|0}function gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];ob(a,r,n);r=1;u=p;return r|0}function hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];lb(a,r,n);r=1;u=p;return r|0}function id(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((e|0)>31);h=h&31}if((h|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;k=o+16|0;i=o;if((j[c+38>>1]|0)<514){n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((m|0)>(d|0)|((m|0)==(d|0)?(f[n>>2]|0)>>>0>e>>>0:0))){a=0;u=o;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;l=Bl(e|0,d|0,1,0)|0;m=g;f[m>>2]=l;f[m+4>>2]=I;if(n<<24>>24){a=0;u=o;return a|0}}g=0;do{yh(k,c)|0;d=f[k>>2]|0;if(d|0){e=a+60+(g*12|0)|0;md(e,d,0);$n(i);nd(i,c)|0;if(f[k>>2]|0){d=0;do{p=Bi(i)|0;n=(f[e>>2]|0)+(d>>>5<<2)|0;m=1<<(d&31);l=f[n>>2]|0;f[n>>2]=p?l|m:l&~m;d=d+1|0}while(d>>>0<(f[k>>2]|0)>>>0)}Ho(i)}g=g+1|0}while((g|0)<4);l=c+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;n=c+16|0;e=n;d=f[e>>2]|0;e=f[e+4>>2]|0;m=Bl(d|0,e|0,4,0)|0;g=I;if((l|0)<(g|0)|(l|0)==(g|0)&k>>>0>>0){p=0;u=o;return p|0}i=f[c>>2]|0;c=i+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;p=n;f[p>>2]=m;f[p+4>>2]=g;e=Bl(d|0,e|0,8,0)|0;g=I;if((l|0)<(g|0)|(l|0)==(g|0)&k>>>0>>0){p=0;u=o;return p|0}d=i+m|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;p=n;f[p>>2]=e;f[p+4>>2]=g;if((c|0)>(d|0)){p=0;u=o;return p|0}f[a+12>>2]=c;f[a+16>>2]=d;p=d+(1-c)|0;f[a+20>>2]=p;d=(p|0)/2|0;e=a+24|0;f[e>>2]=d;f[a+28>>2]=0-d;if(p&1|0){p=1;u=o;return p|0}f[e>>2]=d+-1;p=1;u=o;return p|0}function kd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+12|0;n=f[l>>2]|0;i=(f[c>>2]|0)-n|0;j=c+4|0;g=(f[j>>2]|0)-n|0;e=c;f[e>>2]=i;f[e+4>>2]=g;e=f[l>>2]|0;if((e|0)<(i|0))ra(9931,9220,250,9954);if((e|0)<(g|0))ra(9966,9220,251,9954);h=0-e|0;if((i|0)<(h|0))ra(9989,9220,252,9954);if((g|0)<(h|0))ra(10013,9220,253,9954);m=(((g|0)>-1?g:0-g|0)+((i|0)>-1?i:0-i|0)|0)<=(e|0);if(!m){Uf(b,c,j);i=f[c>>2]|0}if(!i){e=f[j>>2]|0;g=e;e=(e|0)==0}else{e=f[j>>2]|0;g=e;e=(i|0)<0&(e|0)<1}if(!i)k=(g|0)==0?0:(g|0)>0?3:1;else k=(i|0)>0?(g>>31)+2|0:(g|0)<1?0:3;if(e){e=i;i=1}else{switch(k|0){case 1:{e=g;g=0-i|0;break}case 2:{e=0-i|0;g=0-g|0;break}case 3:{e=0-g|0;g=i;break}default:e=i}i=c;f[i>>2]=e;f[i+4>>2]=g;i=0}e=(f[d>>2]|0)+e|0;f[a>>2]=e;g=(f[d+4>>2]|0)+g|0;j=a+4|0;f[j>>2]=g;h=f[l>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[a>>2]=e;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[b+4>>2]|0)+g|0}else g=g-(f[b+4>>2]|0)|0;f[j>>2]=g;if(!i){switch((4-k|0)%4|0|0){case 1:{h=g;e=0-e|0;break}case 2:{h=0-e|0;e=0-g|0;break}case 3:{h=0-g|0;break}default:{h=e;e=g}}g=a;f[g>>2]=h;f[g+4>>2]=e;g=e;e=h}if(m){m=e;b=g;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}Uf(b,a,j);m=f[a>>2]|0;b=f[j>>2]|0;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}function ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;w=u;u=u+48|0;s=w+40|0;t=w+24|0;p=w+20|0;q=w+16|0;n=w;r=w+8|0;f[t>>2]=0;v=t+4|0;f[v>>2]=0;f[t+8>>2]=0;l=c+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;o=c+16|0;e=o;m=f[e>>2]|0;e=f[e+4>>2]|0;g=Bl(m|0,e|0,4,0)|0;i=I;a:do if((l|0)<(i|0)|(l|0)==(i|0)&k>>>0>>0)i=0;else{j=f[c>>2]|0;x=j+m|0;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=o;f[y>>2]=g;f[y+4>>2]=i;b:do switch(x|0){case 3:{if(!((l|0)>(i|0)|(l|0)==(i|0)&k>>>0>g>>>0)){i=0;break a}y=b[j+g>>0]|0;m=Bl(m|0,e|0,5,0)|0;x=o;f[x>>2]=m;f[x+4>>2]=I;f[a+8>>2]=y<<24>>24;if(y<<24>>24==1)if(Sb(a,c,t)|0)break b;else{i=0;break a}else{pj(5160,23,1,f[906]|0)|0;i=0;break a}}case 2:{if(!(Sb(a,c,t)|0)){i=0;break a}break}default:{pj(5184,24,1,f[906]|0)|0;i=0;break a}}while(0);f[p>>2]=f[t>>2];f[q>>2]=f[v>>2];x=d;y=f[x+4>>2]|0;i=n;f[i>>2]=f[x>>2];f[i+4>>2]=y;f[s>>2]=f[n>>2];f[s+4>>2]=f[n+4>>2];Gd(r,p,q,a,s);i=1}while(0);e=f[t>>2]|0;if(!e){u=w;return i|0}g=f[v>>2]|0;if((g|0)!=(e|0))f[v>>2]=g+(~(((g+-12-e|0)>>>0)/12|0)*12|0);Co(e);u=w;return i|0}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;h=e<<5;d=b-g|0;if(h>>>0>>0|g>>>0>(h-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0)Tn(a);e=e<<6;b=b+31&-32;jg(o,h>>>0<1073741823?(e>>>0>>0?b:e):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;Uj(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)Co(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;dh(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;dh(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;m=q;e=c+8|0;l=e;i=f[l+4>>2]|0;p=c+16|0;k=p;d=f[k>>2]|0;k=f[k+4>>2]|0;if(!((i|0)>(k|0)|((i|0)==(k|0)?(f[l>>2]|0)>>>0>d>>>0:0))){a=0;u=q;return a|0}b[a+12>>0]=b[(f[c>>2]|0)+d>>0]|0;g=p;d=f[g>>2]|0;g=f[g+4>>2]|0;i=Bl(d|0,g|0,1,0)|0;l=p;f[l>>2]=i;f[l+4>>2]=I;if((j[c+38>>1]|0)<514){k=e;e=f[k>>2]|0;k=f[k+4>>2]|0;d=Bl(d|0,g|0,5,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&e>>>0>>0)d=0;else{i=(f[c>>2]|0)+i|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[m>>2]=i;g=p;f[g>>2]=d;f[g+4>>2]=l;g=k;k=d;n=7}}else if(yh(m,c)|0){g=e;l=p;e=f[g>>2]|0;g=f[g+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;i=f[m>>2]|0;n=7}else d=0;a:do if((n|0)==7){n=cm(e|0,g|0,k|0,l|0)|0;m=I;if(!(0>(m|0)|0==(m|0)&i>>>0>n>>>0)?(o=(f[c>>2]|0)+k|0,(i|0)>=1):0){f[a>>2]=o;e=i+-1|0;d=o+e|0;switch((h[d>>0]|0)>>>6&3){case 0:{f[a+4>>2]=e;d=b[d>>0]&63;break}case 1:{if((i|0)<2){d=0;break a}f[a+4>>2]=i+-2;d=o+i+-2|0;d=(h[d+1>>0]|0)<<8&16128|(h[d>>0]|0);break}case 2:{if((i|0)<3){d=0;break a}f[a+4>>2]=i+-3;d=o+i+-3|0;d=(h[d+1>>0]|0)<<8|(h[d>>0]|0)|(h[d+2>>0]|0)<<16&4128768;break}default:{d=0;break a}}o=d+4096|0;f[a+8>>2]=o;if(o>>>0<=1048575){a=Bl(k|0,l|0,i|0,0)|0;d=p;f[d>>2]=a;f[d+4>>2]=I;d=1}else d=0}else d=0}while(0);a=d;u=q;return a|0}function od(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3224;Mh(a+224|0);wg(a+212|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+144>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;uh(b);Co(b);return}function pd(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3272;df(a+224|0);wg(a+212|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+144>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;uh(b);Co(b);return}function qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){d=23;break}i=h+8|0;e=f[i>>2]|0;d=f[e>>2]|0;if((d|0)==(h|0)){d=f[e+4>>2]|0;if(!d){d=7;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=7;break}}else{if(!d){d=16;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=16;break}}b[g>>0]=1;i=(e|0)==(a|0);b[e+12>>0]=i&1;b[c>>0]=1;if(i){d=23;break}else c=e}if((d|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;d=f[a>>2]|0;c=f[d>>2]|0;f[a>>2]=c;if(!c)c=e;else{f[c+8>>2]=h;c=f[i>>2]|0}f[d+8>>2]=c;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=d;f[d>>2]=h;f[i>>2]=d;c=d;e=f[d+8>>2]|0}b[c+12>>0]=1;b[e+12>>0]=0;c=f[e>>2]|0;g=c+4|0;d=f[g>>2]|0;f[e>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[g>>2]=e;f[i>>2]=c;return}else if((d|0)==16){if((f[h>>2]|0)==(c|0)){g=f[h>>2]|0;d=g+4|0;c=f[d>>2]|0;f[h>>2]=c;if(c){f[c+8>>2]=h;e=f[i>>2]|0}f[g+8>>2]=e;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=g;f[d>>2]=h;f[i>>2]=g;c=g;e=f[g+8>>2]|0}else c=h;b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((d|0)==23)return}function rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+16|0;q=r;i=b+8|0;g=i;j=f[g>>2]|0;g=f[g+4>>2]|0;p=b+16|0;d=p;c=f[d>>2]|0;d=Bl(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((g|0)<(e|0)|(g|0)==(e|0)&j>>>0>>0){q=0;u=r;return q|0}g=(f[b>>2]|0)+c|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=p;f[j>>2]=d;f[j+4>>2]=e;if((g|0)<0){q=0;u=r;return q|0}md(a+76|0,g,0);$n(q);if(nd(q,b)|0){if((g|0)>0){c=a+76|0;d=0;e=1;do{e=e^((Bi(q)|0)^1);j=(f[c>>2]|0)+(d>>>5<<2)|0;s=1<<(d&31);t=f[j>>2]|0;f[j>>2]=e?t|s:t&~s;d=d+1|0}while((d|0)<(g|0))}d=i;c=f[d>>2]|0;d=f[d+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;i=Bl(e|0,g|0,4,0)|0;j=I;if((!((d|0)<(j|0)|(d|0)==(j|0)&c>>>0>>0)?(k=f[b>>2]|0,l=k+e|0,l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,m=p,f[m>>2]=i,f[m+4>>2]=j,m=Bl(e|0,g|0,8,0)|0,n=I,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0>>0)):0)?(o=k+i|0,o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24,t=p,f[t>>2]=m,f[t+4>>2]=n,(l|0)<=(o|0)):0){f[a+12>>2]=l;f[a+16>>2]=o;t=o+(1-l)|0;f[a+20>>2]=t;c=(t|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(t&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Ho(q);t=c;u=r;return t|0}function sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ne(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];ib(a,q,n);q=1;u=o;return q|0}function td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ne(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];gb(a,q,n);q=1;u=o;return q|0}function ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];ub(a,q,n);q=1;u=o;return q|0} +function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];tb(a,q,n);q=1;u=o;return q|0}function wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ne(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];hb(a,q,n);q=1;u=o;return q|0}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ne(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];fb(a,q,n);q=1;u=o;return q|0}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];sb(a,q,n);q=1;u=o;return q|0}function zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];qb(a,q,n);q=1;u=o;return q|0}function Ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+16|0;k=m;if(!(Ub(a,c)|0)){a=0;u=m;return a|0}j=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;l=a+36|0;h=a+40|0;d=f[h>>2]|0;e=f[l>>2]|0;g=d-e>>2;if(j>>>0<=g>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(d|0)!=(i|0)):0)do{g=d+-4|0;f[h>>2]=g;d=f[g>>2]|0;f[g>>2]=0;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[h>>2]|0}while((d|0)!=(i|0))}else Qe(l,j-g|0);g=c+8|0;if((j|0)<=0){a=1;u=m;return a|0}i=c+16|0;h=0;while(1){n=g;o=f[n+4>>2]|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((o|0)>(e|0)|((o|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){d=0;e=19;break}o=b[(f[c>>2]|0)+d>>0]|0;d=Bl(d|0,e|0,1,0)|0;n=i;f[n>>2]=d;f[n+4>>2]=I;Ua[f[(f[a>>2]|0)+48>>2]&15](k,a,o);o=(f[l>>2]|0)+(h<<2)|0;n=f[k>>2]|0;f[k>>2]=0;d=f[o>>2]|0;f[o>>2]=n;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[k>>2]|0;f[k>>2]=0;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[(f[l>>2]|0)+(h<<2)>>2]|0;if(!d){d=0;e=19;break}e=f[(f[d>>2]|0)+8>>2]|0;n=Na[f[(f[a>>2]|0)+28>>2]&127](a)|0;o=Oa[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;h=h+1|0;if(!(Pa[e&31](d,n,o)|0)){d=0;e=19;break}if((h|0)>=(j|0)){d=1;e=19;break}}if((e|0)==19){u=m;return d|0}return 0}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;h=l;c=a+40|0;d=c;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));if($e(c,1,h)|0){d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;i=a+8|0;m=i;k=a+16|0;d=k;c=f[d>>2]|0;d=f[d+4>>2]|0;m=cm(f[m>>2]|0,f[m+4>>2]|0,c|0,d|0)|0;n=I;if(!(g>>>0>n>>>0|(g|0)==(n|0)&e>>>0>m>>>0)){m=Bl(c|0,d|0,e|0,g|0)|0;n=k;f[n>>2]=m;f[n+4>>2]=I;do if((j[a+38>>1]|0)<514){c=a+96|0;d=c;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));if($e(c,1,h)|0){d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;n=i;d=k;c=f[d>>2]|0;d=f[d+4>>2]|0;n=cm(f[n>>2]|0,f[n+4>>2]|0,c|0,d|0)|0;m=I;if(!(g>>>0>m>>>0|(g|0)==(m|0)&e>>>0>n>>>0)){m=Bl(c|0,d|0,e|0,g|0)|0;n=k;f[n>>2]=m;f[n+4>>2]=I;break}}n=0;u=l;return n|0}else nd(a+80|0,a)|0;while(0);if(!(yg(a)|0)){n=0;u=l;return n|0}d=b;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));n=1;u=l;return n|0}}n=0;u=l;return n|0}function Cd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+144|0;i=n+136|0;m=n+32|0;l=n;e=f[(f[c+4>>2]|0)+44>>2]|0;h=Lk(124)|0;f[h+4>>2]=0;f[h>>2]=3156;f[h+12>>2]=3180;f[h+100>>2]=0;f[h+104>>2]=0;f[h+108>>2]=0;j=h+16|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[h+112>>2]=e;f[h+116>>2]=d;f[h+120>>2]=0;g=h;f[m+4>>2]=3180;f[m+92>>2]=0;f[m+96>>2]=0;f[m+100>>2]=0;j=m+8|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));k=f[c+8>>2]|0;f[l>>2]=3180;j=l+4|0;c=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=k;f[j>>2]=c;c=((f[c+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;mf(l+8|0,c,i);Sa[f[(f[l>>2]|0)+8>>2]&127](l);f[m>>2]=f[j>>2];xe(m+4|0,l)|0;f[m+36>>2]=k;f[m+40>>2]=d;f[m+44>>2]=e;f[m+48>>2]=h;Ne(h,m);f[a>>2]=g;f[l>>2]=3180;e=f[l+20>>2]|0;if(e|0)Co(e);e=f[l+8>>2]|0;if(!e){Dg(m);u=n;return}Co(e);Dg(m);u=n;return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+212|0;k=a+216|0;j=a+360|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Bi((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else Ig(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{g=a;f[r>>2]=d;h=g+(i*116|0)+108|0;e=f[h>>2]|0;if(e>>>0<(f[g+(i*116|0)+112>>2]|0)>>>0){f[e>>2]=d;f[h>>2]=e+4}else{Ig(g+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+212|0;k=a+216|0;j=a+360|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Bi((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else Ig(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{e=a;f[r>>2]=d;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=d;f[h>>2]=g+4}else{Ig(e+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Fd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;i=Lk(52)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);e=i+20|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;n[i+36>>2]=$(1.0);f[i+40>>2]=0;f[i+44>>2]=0;f[i+48>>2]=0;bo(g);if(af(g,f[c+32>>2]|0,i)|0){g=(f[c+4>>2]|0)+4|0;h=f[g>>2]|0;f[g>>2]=i;if(h|0){e=h+40|0;c=f[e>>2]|0;if(c|0){g=h+44|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{i=d+-4|0;f[g>>2]=i;d=f[i>>2]|0;f[i>>2]=0;if(d|0){Lg(d);Co(d)}d=f[g>>2]|0}while((d|0)!=(c|0));c=f[e>>2]|0}Co(c)}Lg(h);Co(h)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=j;return}else{f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=Lk(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=26;d=c;e=16175;g=d+26|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+26>>0]=0;f[a>>2]=-1;eh(a+4|0,h);if((b[h+11>>0]|0)<0)Co(f[h>>2]|0);e=i+40|0;c=f[e>>2]|0;if(c|0){g=i+44|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{a=d+-4|0;f[g>>2]=a;d=f[a>>2]|0;f[a>>2]=0;if(d|0){Lg(d);Co(d)}d=f[g>>2]|0}while((d|0)!=(c|0));c=f[e>>2]|0}Co(c)}Lg(i);Co(i);u=j;return}}function Gd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=La,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=La,y=La,z=La,A=La,B=0,C=0;w=u;u=u+32|0;t=w+16|0;v=w;h=$(n[e+4>>2]);if(!(h>=$(0.0)))ra(5209,5229,66,5355);s=(1<>2])+-1|0;Ym(t);yk(t,h,s)|0;e=f[c>>2]|0;if((e|0)==(f[d>>2]|0)){t=g;t=f[t>>2]|0;g=g+4|0;g=f[g>>2]|0;v=a;d=v;f[d>>2]=t;v=v+4|0;f[v>>2]=g;u=w;return}p=t+4|0;q=v+4|0;r=v+8|0;j=g+4|0;l=f[g>>2]|0;o=l+84|0;k=l+68|0;m=l+40|0;l=l+64|0;i=f[j>>2]|0;do{B=(f[e>>2]|0)-s|0;c=(B|0)<0;y=$((c?0-B|0:B)|0);h=$(n[p>>2]);y=$(h*y);x=$(-y);A=$(n[t>>2]);y=$(A*(c?x:y));c=(f[e+4>>2]|0)-s|0;B=(c|0)<0;x=$(h*$((B?0-c|0:c)|0));z=$(-x);x=$(A*(B?z:x));B=(f[e+8>>2]|0)-s|0;c=(B|0)<0;h=$(h*$((c?0-B|0:B)|0));z=$(-h);h=$(A*(c?z:h));n[v>>2]=y;n[q>>2]=x;n[r>>2]=h;c=i;i=i+1|0;f[j>>2]=i;if(!(b[o>>0]|0))c=f[(f[k>>2]|0)+(c<<2)>>2]|0;C=m;B=f[C>>2]|0;c=Kk(c|0,((c|0)<0)<<31>>31|0,B|0,f[C+4>>2]|0)|0;cf((f[f[l>>2]>>2]|0)+c|0,v|0,B|0)|0;e=e+12|0}while((e|0)!=(f[d>>2]|0));B=g;g=B;g=f[g>>2]|0;B=B+4|0;B=f[B>>2]|0;C=a;v=C;f[v>>2]=g;C=C+4|0;f[C>>2]=B;u=w;return}function Hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Lk(32)|0;Zk(d);h=a+64|0;g=f[h>>2]|0;f[h>>2]=d;if(g){d=f[g>>2]|0;if(d|0){e=g+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(g);d=f[h>>2]|0}si(a,d,0,0,0,0);d=a}else d=a;if(!(Zg(d,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))Ae(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);i=f[c+88>>2]|0;if(!i){a=a+88|0;d=f[a>>2]|0;f[a>>2]=0;if(!d)return;e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d);return}l=Lk(40)|0;f[l>>2]=f[i>>2];e=l+8|0;g=i+8|0;f[e>>2]=0;j=l+12|0;f[j>>2]=0;d=l+16|0;f[d>>2]=0;c=i+12|0;h=(f[c>>2]|0)-(f[g>>2]|0)|0;if(h|0){if((h|0)<0)Tn(e);k=Lk(h)|0;f[j>>2]=k;f[e>>2]=k;f[d>>2]=k+h;e=f[g>>2]|0;d=(f[c>>2]|0)-e|0;if((d|0)>0){cf(k|0,e|0,d|0)|0;f[j>>2]=k+d}}g=l+24|0;k=i+24|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];a=a+88|0;g=f[a>>2]|0;f[a>>2]=l;if(!g)return;d=f[g+8>>2]|0;if(d|0){e=g+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(g);return}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;p=s+4|0;q=s;c=f[b>>2]|0;f[p>>2]=c;m=a+8|0;b=c+1|0;do if((c|0)>=0){f[p+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{f[p+4>>2]=c;b=c}while(0);f[p+8>>2]=b;l=a+212|0;k=a+216|0;j=a+360|0;b=0;while(1){if((c|0)>=0?(f[(f[(f[m>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)>=0:0){if((f[k>>2]|0)!=(f[l>>2]|0)){g=0;do{if(Bi((f[j>>2]|0)+(g<<4)|0)|0){a=f[l>>2]|0;f[q>>2]=c;e=a+(g*116|0)+108|0;d=f[e>>2]|0;if(d>>>0<(f[a+(g*116|0)+112>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else Ig(a+(g*116|0)+104|0,q)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else r=11;if((r|0)==11?(r=0,n=f[k>>2]|0,o=f[l>>2]|0,(n|0)!=(o|0)):0){a=o;d=n;i=0;do{e=a;f[q>>2]=c;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=c;f[h>>2]=g+4}else{Ig(e+(i*116|0)+104|0,q);a=f[l>>2]|0;d=f[k>>2]|0}i=i+1|0}while(i>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[p+(b<<2)>>2]|0}u=s;return 1}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+32|0;n=t+20|0;m=t+16|0;s=t;r=c+24|0;k=b[r>>0]|0;o=k<<24>>24;l=f[a+80>>2]|0;h=X(l,o)|0;f[s>>2]=f[902];f[s+4>>2]=f[903];f[s+8>>2]=f[904];f[s+12>>2]=f[905];g=d+4|0;e=f[g>>2]|0;a=f[d>>2]|0;i=e-a>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(j=a+(h<<2)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-4-j|0)>>>2)<<2)}else sg(d,h-i|0);if((l|0)<=0){s=1;u=t;return s|0}i=c+84|0;h=c+68|0;if(k<<24>>24<=0){e=0;while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(e<<2)>>2]|0;else a=e;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(eb(c,n,k,s)|0)){a=0;e=18;break}e=e+1|0;if((e|0)>=(l|0)){a=1;e=18;break}}if((e|0)==18){u=t;return a|0}}else{p=0;q=0}while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(q<<2)>>2]|0;else a=q;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(eb(c,n,k,s)|0)){a=0;e=18;break}a=f[d>>2]|0;e=p;g=0;while(1){f[a+(e<<2)>>2]=f[s+(g<<2)>>2];g=g+1|0;if((g|0)==(o|0))break;else e=e+1|0}q=q+1|0;if((q|0)>=(l|0)){a=1;e=18;break}else p=o+p|0}if((e|0)==18){u=t;return a|0}return 0}function Ld(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+80|0;m=n;g=n+60|0;l=n+40|0;h=m;i=d;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));Wb(a,m,g);if(f[a>>2]|0){m=m+24|0;Ho(m);u=n;return}k=a+4|0;h=k+11|0;if((b[h>>0]|0)<0)Co(f[k>>2]|0);if(b[g+7>>0]|0){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=Lk(32)|0;f[l>>2]=g;f[l+8>>2]=-2147483616;f[l+4>>2]=27;h=g;i=14783;j=h+27|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+27>>0]=0;f[a>>2]=-1;eh(k,l);if((b[l+11>>0]|0)<0)Co(f[l>>2]|0);m=m+24|0;Ho(m);u=n;return}_e(l,b[g+8>>0]|0);g=f[l>>2]|0;if(!g){j=l+16|0;g=f[j>>2]|0;f[j>>2]=0;jc(a,g,c,d,e);if(!(f[a>>2]|0)){if((b[h>>0]|0)<0)Co(f[k>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Sa[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;eh(k,l+4|0)}k=l+16|0;g=f[k>>2]|0;f[k>>2]=0;if(g|0)Sa[f[(f[g>>2]|0)+4>>2]&127](g);g=l+4|0;if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);m=m+24|0;Ho(m);u=n;return}function Md(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+80|0;m=n;g=n+60|0;l=n+40|0;h=m;i=d;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));Wb(a,m,g);if(f[a>>2]|0){m=m+24|0;Ho(m);u=n;return}k=a+4|0;h=k+11|0;if((b[h>>0]|0)<0)Co(f[k>>2]|0);if((b[g+7>>0]|0)!=1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=Lk(32)|0;f[l>>2]=g;f[l+8>>2]=-2147483616;f[l+4>>2]=20;h=g;i=14762;j=h+20|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+20>>0]=0;f[a>>2]=-1;eh(k,l);if((b[l+11>>0]|0)<0)Co(f[l>>2]|0);m=m+24|0;Ho(m);u=n;return}Pf(l,b[g+8>>0]|0);g=f[l>>2]|0;if(!g){j=l+16|0;g=f[j>>2]|0;f[j>>2]=0;Oj(a,g,c,d,e);if(!(f[a>>2]|0)){if((b[h>>0]|0)<0)Co(f[k>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Sa[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;eh(k,l+4|0)}k=l+16|0;g=f[k>>2]|0;f[k>>2]=0;if(g|0)Sa[f[(f[g>>2]|0)+4>>2]&127](g);g=l+4|0;if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);m=m+24|0;Ho(m);u=n;return}function Nd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n+16|0;l=n;h=f[b+4>>2]|0;if((d|0)<=-1)ra(17381,17397,59,17494);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(17504,17397,60,17494);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;k=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!h){f[l>>2]=f[b+44>>2];f[l+4>>2]=j;f[l+12>>2]=k;f[l+8>>2]=k+12;bc(a,m,c,i,e,l,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[l>>2]=f[b+44>>2];f[l+4>>2]=h;f[l+12>>2]=k;f[l+8>>2]=k+12;ac(a,m,c,i,e,l,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{wf(j,m-l|0,3144);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)ra(17671,17583,64,17666);else if((e|0)==12)ra(14963,14982,89,15082);else if((e|0)==14)return d|0;return 0}function Pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;Mf(a+12|0);$n(a+524|0);Sl(a+540|0);Sl(a+560|0);Sl(a+580|0);d=a+600|0;f[d>>2]=0;c=a+604|0;f[c>>2]=0;f[a+608>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Tn(d);else{e=b<<2;k=Lk(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+608>>2]=g;dh(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+612|0;f[d>>2]=0;c=a+616|0;f[c>>2]=0;f[a+620>>2]=0;if(!h){g=b<<2;e=Lk(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+620>>2]=k;dh(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=Lk(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;dh(c|0,0,d|0)|0;f[e>>2]=k}Yh(a+624|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=Lk(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;dh(d|0,0,h|0)|0;f[e>>2]=k}Yh(a+636|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c);u=j;return}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;m=o+12|0;l=o;d=b*3|0;f[m>>2]=0;n=m+4|0;f[n>>2]=0;f[m+8>>2]=0;do if(d)if(d>>>0>1073741823)Tn(m);else{j=b*12|0;c=Lk(j)|0;f[m>>2]=c;k=c+(d<<2)|0;f[m+8>>2]=k;dh(c|0,0,j|0)|0;f[n>>2]=k;break}else c=0;while(0);if(fh(d,1,f[a+32>>2]|0,c)|0)if(!b)a=1;else{h=a+44|0;i=l+4|0;j=l+8|0;e=0;g=0;k=0;while(1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;d=f[m>>2]|0;p=f[d+(k<<2)>>2]|0;c=p>>>1;c=((p&1|0)==0?c:0-c|0)+g|0;f[l>>2]=c;p=f[d+(k+1<<2)>>2]|0;a=p>>>1;c=((p&1|0)==0?a:0-a|0)+c|0;f[i>>2]=c;d=f[d+(k+2<<2)>>2]|0;a=d>>>1;g=((d&1|0)==0?a:0-a|0)+c|0;f[j>>2]=g;c=f[h>>2]|0;a=c+100|0;d=f[a>>2]|0;if((d|0)==(f[c+104>>2]|0))og(c+96|0,l);else{f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];f[d+8>>2]=f[l+8>>2];f[a>>2]=(f[a>>2]|0)+12}e=e+1|0;if(e>>>0>=b>>>0){a=1;break}else k=k+3|0}}else a=0;c=f[m>>2]|0;if(!c){u=o;return a|0}d=f[n>>2]|0;if((d|0)!=(c|0))f[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c);u=o;return a|0}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;d=f[b>>2]|0;if((d|0)<0){j=-1073741824;return j|0}i=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((i|0)<0){j=-1073741824;return j|0}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;h=f[a>>2]|0;do if((c|0)!=-1073741824){a=(c|0)/3|0;if((c|0)<=-3)ra(17558,17583,63,17666);b=f[h+96>>2]|0;if((a|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){g=f[b+(a*12|0)+(((c|0)%3|0)<<2)>>2]|0;break}else ra(17671,17583,64,17666)}else g=-1073741824;while(0);a=(((i>>>0)%3|0|0)==0?2:-1)+i|0;do if((a|0)!=-1073741824){c=(a|0)/3|0;if((a|0)<=-3)ra(17558,17583,63,17666);b=f[h+96>>2]|0;if((c|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){e=f[b+(c*12|0)+(((a|0)%3|0)<<2)>>2]|0;break}else ra(17671,17583,64,17666)}else e=-1073741824;while(0);if((g|0)!=(e|0)){j=-1073741824;return j|0}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;a=(c|0)/3|0;if((c|0)<=-3)ra(17558,17583,63,17666);b=f[h+96>>2]|0;if((a|0)>=(((f[h+100>>2]|0)-b|0)/12|0|0))ra(17671,17583,64,17666);c=f[b+(a*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=i+1|0;d=((d|0)%3|0|0)==0?i+-2|0:d;do if((d|0)!=-1073741824){a=(d|0)/3|0;if((d|0)<=-3)ra(17558,17583,63,17666);b=f[h+96>>2]|0;if((a|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){j=f[b+(a*12|0)+(((d|0)%3|0)<<2)>>2]|0;break}else ra(17671,17583,64,17666)}else j=-1073741824;while(0);j=(c|0)!=(j|0)?-1073741824:i;return j|0}function Sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{wf(j,m-l|0,3144);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(17671,17583,64,17666);else if((e|0)==12)ra(14963,14982,89,15082);else if((e|0)==13)return d|0;return 0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Ac(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Zc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<4194304){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>20)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Bc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=_c(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<2097152){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<2097152)}while(0);p=d&524287;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>19)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Cc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=$c(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<1048576){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<1048576)}while(0);p=d&262143;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>18)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Dc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=ad(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<262144){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<262144)}while(0);p=d&65535;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>16)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Ec(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=bd(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<131072){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<131072)}while(0);p=d&32767;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>15)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Fc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=cd(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<32768){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<32768)}while(0);p=d&8191;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>13)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Gc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=dd(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<16384){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>12)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function _d(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{wf(j,m-l|0,3144);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(17671,17583,64,17666);else if((e|0)==12)ra(14963,14982,89,15082);else if((e|0)==13)return d|0;return 0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3132;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Tn(h);else{c=((c+-1|0)>>>5)+1|0;o=Lk(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Be(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Tn(h);o=((c+-1|0)>>>5)+1|0;a=Lk(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Be(h,k,m);u=n;return}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3180;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Tn(h);else{c=((c+-1|0)>>>5)+1|0;o=Lk(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Be(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Tn(h);o=((c+-1|0)>>>5)+1|0;a=Lk(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Be(h,k,m);u=n;return}function be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;t=v;e=f[a+40>>2]|0;o=f[a+44>>2]|0;if((e|0)==(o|0)){d=2;t=0;d=(d|0)==2;t=d?0:t;u=v;return t|0}p=t+11|0;r=t+4|0;q=d+11|0;s=d+4|0;a=0;a:while(1){f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;m=ah(f[e>>2]|0,c,t)|0;n=b[p>>0]|0;b:do if(m){m=n<<24>>24<0;h=n&255;k=m?f[r>>2]|0:h;l=b[q>>0]|0;g=l<<24>>24<0;if((k|0)==((g?f[s>>2]|0:l&255)|0)){j=f[t>>2]|0;l=m?j:t;g=g?f[d>>2]|0:d;i=(k|0)==0;c:do if(m){if(!i?cj(l,g,k)|0:0){g=0;break b}}else if(!i){if((j&255)<<24>>24==(b[g>>0]|0))i=t;else{g=0;break b}while(1){h=h+-1|0;i=i+1|0;if(!h)break c;g=g+1|0;if((b[i>>0]|0)!=(b[g>>0]|0)){g=0;break b}}}while(0);g=1;a=f[e>>2]|0}else g=0}else g=3;while(0);if(n<<24>>24<0)Co(f[t>>2]|0);switch(g&3){case 3:case 0:break;default:{e=17;break a}}e=e+4|0;if((e|0)==(o|0)){g=2;e=17;break}}if((e|0)==17){t=(g|0)==2;t=t?0:a;u=v;return t|0}return 0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;Sl(a+12|0);Sl(a+32|0);Sl(a+52|0);Sl(a+72|0);d=a+92|0;f[d>>2]=0;c=a+96|0;f[c>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Tn(d);else{e=b<<2;k=Lk(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+100>>2]=g;dh(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+104|0;f[d>>2]=0;c=a+108|0;f[c>>2]=0;f[a+112>>2]=0;if(!h){g=b<<2;e=Lk(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+112>>2]=k;dh(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=Lk(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;dh(c|0,0,d|0)|0;f[e>>2]=k}Yh(a+116|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=Lk(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;dh(d|0,0,h|0)|0;f[e>>2]=k}Yh(a+128|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c);u=j;return}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;$n(a+12|0);Sl(a+28|0);Sl(a+48|0);Sl(a+68|0);d=a+88|0;f[d>>2]=0;c=a+92|0;f[c>>2]=0;f[a+96>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Tn(d);else{e=b<<2;k=Lk(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+96>>2]=g;dh(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+100|0;f[d>>2]=0;c=a+104|0;f[c>>2]=0;f[a+108>>2]=0;if(!h){g=b<<2;e=Lk(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+108>>2]=k;dh(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=Lk(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;dh(c|0,0,d|0)|0;f[e>>2]=k}Yh(a+112|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=Lk(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;dh(d|0,0,h|0)|0;f[e>>2]=k}Yh(a+124|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c);u=j;return}function ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=f[c>>2]|0;m=f[l>>2]|0;g=f[a+4>>2]|0;c=f[l+4>>2]|0;i=g+-1|0;j=(i&g|0)==0;if(!j)if(c>>>0>>0)h=c;else h=(c>>>0)%(g>>>0)|0;else h=i&c;d=(f[a>>2]|0)+(h<<2)|0;k=f[d>>2]|0;while(1){c=f[k>>2]|0;if((c|0)==(l|0))break;else k=c}if((k|0)!=(a+8|0)){c=f[k+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;e=21}else e=13}else e=13;do if((e|0)==13){if(m|0){c=f[m+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;c=m;e=22;break}}f[d>>2]=0;d=f[l>>2]|0;e=21}while(0);if((e|0)==21){c=d;if(d)e=22}if((e|0)==22){d=f[d+4>>2]|0;if(!j){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0}else d=d&i;if((d|0)!=(h|0)){f[(f[a>>2]|0)+(d<<2)>>2]=k;c=f[l>>2]|0}}f[k>>2]=c;f[l>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!l)return m|0;d=l+8|0;c=f[l+20>>2]|0;if(c|0){e=l+24|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;Co(c)}if((b[d+11>>0]|0)<0)Co(f[d>>2]|0);Co(l);return m|0}function fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;l=r+20|0;k=r+16|0;q=r;p=c+24|0;e=b[p>>0]|0;m=e<<24>>24;h=f[a+80>>2]|0;j=X(h,m)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;te(d,0,0+(j<<2)|0);if((h|0)<=0){q=1;u=r;return q|0}j=c+84|0;i=c+68|0;if(e<<24>>24<=0){e=0;while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(e<<2)>>2]|0;else a=e;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(Bb(c,l,g,q)|0)){a=0;e=13;break}e=e+1|0;if((e|0)>=(h|0)){a=1;e=13;break}}if((e|0)==13){u=r;return a|0}}else{n=0;o=0}while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(o<<2)>>2]|0;else a=o;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(Bb(c,l,g,q)|0)){a=0;e=13;break}a=f[d>>2]|0;e=n;g=0;while(1){f[a+(e<<2)>>2]=f[q+(g<<2)>>2];g=g+1|0;if((g|0)==(m|0))break;else e=e+1|0}o=o+1|0;if((o|0)>=(h|0)){a=1;e=13;break}else n=m+n|0}if((e|0)==13){u=r;return a|0}return 0}function ge(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b[(f[a+8>>2]|0)+24>>0]|0;i=zo(d>>>0>1073741823?-1:d<<2)|0;j=a+28|0;c=f[j>>2]|0;f[j>>2]=i;if(c|0)Ao(c);i=a+4|0;g=f[(f[i>>2]|0)+32>>2]|0;d=d<<2;n=g+8|0;l=f[n>>2]|0;n=f[n+4>>2]|0;e=g+16|0;k=e;c=f[k>>2]|0;k=Bl(c|0,f[k+4>>2]|0,d|0,0)|0;m=I;if((n|0)<(m|0)|(n|0)==(m|0)&l>>>0>>0){n=0;return n|0}cf(f[j>>2]|0,(f[g>>2]|0)+c|0,d|0)|0;c=e;c=Bl(f[c>>2]|0,f[c+4>>2]|0,d|0,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=(f[i>>2]|0)+32|0;c=f[e>>2]|0;k=c+8|0;m=f[k>>2]|0;k=f[k+4>>2]|0;g=c+16|0;n=g;d=f[n>>2]|0;n=Bl(d|0,f[n+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&m>>>0>>0){n=0;return n|0}n=a+32|0;c=(f[c>>2]|0)+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[n>>0]=c;b[n+1>>0]=c>>8;b[n+2>>0]=c>>16;b[n+3>>0]=c>>24;n=g;n=Bl(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;c=g;f[c>>2]=n;f[c+4>>2]=I;c=f[e>>2]|0;n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}c=b[(f[c>>2]|0)+d>>0]|0;m=Bl(d|0,e|0,1,0)|0;n=g;f[n>>2]=m;f[n+4>>2]=I;if((c&255)>31){n=0;return n|0}f[a+24>>2]=c&255;n=1;return n|0}function he(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j;g=f[a+8>>2]|0;h=a+4|0;d=f[h>>2]|0;if(((g-d|0)/116|0)>>>0>=c>>>0){do{f[d>>2]=-1;Sj(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[h>>2]|0)+116|0;f[h>>2]=d;c=c+-1|0}while((c|0)!=0);u=j;return}e=f[a>>2]|0;h=(d-e|0)/116|0;d=h+c|0;if(d>>>0>37025580)Tn(a);e=(g-e|0)/116|0;g=e<<1;d=e>>>0<18512790?(g>>>0>>0?d:g):37025580;f[i+12>>2]=0;f[i+16>>2]=a+8;do if(d)if(d>>>0>37025580){j=sa(8)|0;Am(j,17313);f[j>>2]=4748;wa(j|0,1128,100)}else{e=Lk(d*116|0)|0;break}else e=0;while(0);f[i>>2]=e;h=e+(h*116|0)|0;g=i+8|0;f[g>>2]=h;f[i+4>>2]=h;f[i+12>>2]=e+(d*116|0);d=h;do{f[d>>2]=-1;Sj(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[g>>2]|0)+116|0;f[g>>2]=d;c=c+-1|0}while((c|0)!=0);qc(a,i);ug(i);u=j;return}function ie(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+12|0;o=q;e=aj(c,0)|0;if(!e){f[a>>2]=0;u=q;return}d=f[c+96>>2]|0;c=(f[c+100>>2]|0)-d|0;m=(c|0)/12|0;f[n>>2]=0;p=n+4|0;f[p>>2]=0;f[n+8>>2]=0;if(c){if(m>>>0>357913941)Tn(n);l=Lk(c)|0;f[n>>2]=l;f[n+8>>2]=l+(m*12|0);dh(l|0,0,c|0)|0;f[p>>2]=l+c;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if((c|0)>0){i=e+68|0;j=o+4|0;k=o+8|0;h=(b[e+84>>0]|0)==0;g=0;do{c=f[d+(g*12|0)>>2]|0;if(h){e=f[i>>2]|0;c=f[e+(c<<2)>>2]|0;f[o>>2]=c;f[j>>2]=f[e+(f[d+(g*12|0)+4>>2]<<2)>>2];e=e+(f[d+(g*12|0)+8>>2]<<2)|0}else{f[o>>2]=c;f[j>>2]=f[d+(g*12|0)+4>>2];e=d+(g*12|0)+8|0}e=f[e>>2]|0;f[k>>2]=e;f[l+(g*12|0)>>2]=c;f[l+(g*12|0)+4>>2]=f[j>>2];f[l+(g*12|0)+8>>2]=e;g=g+1|0}while((g|0)<(m|0))}}else{f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0}ii(a,n);d=f[n>>2]|0;if(d|0){c=f[p>>2]|0;if((c|0)!=(d|0))f[p>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);Co(d)}u=q;return}function je(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=f[l>>2]|0;Kh(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;b=f[d>>2]|0;c=f[g>>2]|0;i=b-c>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=c+(h<<2)|0,(b|0)!=(e|0)):0)f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2)}else wf(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];Hb(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];Hb(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function ke(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+636|0;b=f[g>>2]|0;if(b|0){h=a+640|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+624|0;b=f[g>>2]|0;if(b|0){h=a+628|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+612>>2]|0;if(b|0){d=a+616|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+600>>2]|0;if(!b){h=a+580|0;Wi(h);h=a+560|0;Wi(h);h=a+540|0;Wi(h);h=a+524|0;Ho(h);a=a+12|0;ch(a);return}d=a+604|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+580|0;Wi(h);h=a+560|0;Wi(h);h=a+540|0;Wi(h);h=a+524|0;Ho(h);a=a+12|0;ch(a);return}function le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+16|0;n=o;k=d+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=d+16|0;e=l;g=f[e>>2]|0;e=f[e+4>>2]|0;if((k|0)>(e|0)|(k|0)==(e|0)&j>>>0>g>>>0){i=b[(f[d>>2]|0)+g>>0]|0;g=Bl(g|0,e|0,1,0)|0;e=I;p=l;f[p>>2]=g;f[p+4>>2]=e;if(i<<24>>24!=-2)m=3}else{i=0;m=3}if((m|0)==3){if((k|0)>(e|0)|(k|0)==(e|0)&j>>>0>g>>>0){p=b[(f[d>>2]|0)+g>>0]|0;m=Bl(g|0,e|0,1,0)|0;e=l;f[e>>2]=m;f[e+4>>2]=I;e=p}else e=0;Va[f[(f[a>>2]|0)+40>>2]&7](n,a,i<<24>>24,e<<24>>24);p=a+20|0;m=f[n>>2]|0;f[n>>2]=0;e=f[p>>2]|0;f[p>>2]=m;if(e){Sa[f[(f[e>>2]|0)+4>>2]&127](e);e=f[n>>2]|0;f[n>>2]=0;if(e|0)Sa[f[(f[e>>2]|0)+4>>2]&127](e)}else f[n>>2]=0}e=f[a+20>>2]|0;if(e|0?!(Oa[f[(f[a>>2]|0)+28>>2]&127](a,e)|0):0){p=0;u=o;return p|0}if(!(Pa[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){p=0;u=o;return p|0}e=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;p=f[a+4>>2]|0;if((p|0?((h[p+36>>0]|0)<<8&65535)<512:0)?!(Oa[f[(f[a>>2]|0)+48>>2]&127](a,e)|0):0){p=0;u=o;return p|0}p=1;u=o;return p|0}function me(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=f[a>>2]|0;p=a+4|0;c=f[p>>2]|0;l=m;d=c+(~((c+-4-l|0)>>>2)<<2)|0;if((c|0)==(m|0))d=m;else{f[p>>2]=d;c=d}s=a+16|0;f[s>>2]=0;t=a+12|0;f[t>>2]=d;k=b+8|0;d=k;n=f[d>>2]|0;d=f[d+4>>2]|0;r=b+16|0;g=r;i=f[g>>2]|0;g=Bl(i|0,f[g+4>>2]|0,4,0)|0;e=I;if((d|0)<(e|0)|(d|0)==(e|0)&n>>>0>>0){a=0;return a|0}o=(f[b>>2]|0)+i|0;o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;j=r;f[j>>2]=g;f[j+4>>2]=e;if(!((o|0)!=0&(o&3|0)==0)){a=0;return a|0}j=cm(n|0,d|0,g|0,e|0)|0;i=I;if(0>(i|0)|0==(i|0)&o>>>0>j>>>0){a=0;return a|0}j=o>>>2;i=c-l>>2;if(j>>>0<=i>>>0)if(j>>>0>>0?(q=m+(j<<2)|0,(c|0)!=(q|0)):0){f[p>>2]=c+(~((c+-4-q|0)>>>2)<<2);c=n}else c=n;else{sg(a,j-i|0);c=k;e=r;g=f[e>>2]|0;e=f[e+4>>2]|0;d=f[c+4>>2]|0;c=f[c>>2]|0}q=Bl(g|0,e|0,o|0,0)|0;p=I;if((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0){a=0;return a|0}cf(f[a>>2]|0,(f[b>>2]|0)+g|0,o|0)|0;q=r;q=Bl(f[q>>2]|0,f[q+4>>2]|0,o|0,0)|0;b=r;f[b>>2]=q;f[b+4>>2]=I;f[t>>2]=f[a>>2];f[s>>2]=0;a=1;return a|0}function oe(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=La,f=La,g=0.0,h=La,i=La,j=0.0,k=0.0,l=0.0,m=0.0;if(!(b>=$(0.0)))ra(9373,9220,191,9387);if(!(c>=$(0.0)))ra(9416,9220,192,9387);if(!(b<=$(1.0)))ra(9430,9220,193,9387);if(!(c<=$(1.0)))ra(9444,9220,194,9387);f=$(b+c);e=$(b-c);if(!(e<=$(.5))|(!(e>=$(-.5))|(!(f>=$(.5))|!(f<=$(1.5))))){do if(!(f<=$(.5))){if(f>=$(1.5)){e=$($(1.5)-c);c=$($(1.5)-b);break}if(!(e<=$(-.5))){e=$(c+$(.5));c=$(b+$(-.5));break}else{e=$(c+$(-.5));c=$(b+$(.5));break}}else{e=$($(.5)-c);c=$($(.5)-b)}while(0);b=e;i=$(e-c);f=$(c+e);g=-1.0}else{i=e;g=1.0}h=$(+b*2.0+-1.0);b=$(+c*2.0+-1.0);l=+f*2.0;j=l+-1.0;l=3.0-l;m=+i*2.0;k=m+1.0;m=1.0-m;k=m>2]=$(0.0);h=$(0.0);i=$(0.0);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}else{i=$($(1.0)/$(L($(e))));f=$(c*i);n[d>>2]=f;h=$(h*i);i=$(b*i);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}}function pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){dh(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);u=n;return}e=f[a>>2]|0;g=c-e>>2;c=g+b|0;if(c>>>0>1073741823)Tn(a);i=d-e|0;j=i>>1;c=i>>2>>>0<536870911?(j>>>0>>0?c:j):1073741823;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(c)if(c>>>0>1073741823){n=sa(8)|0;Am(n,17313);f[n>>2]=4748;wa(n|0,1128,100)}else{d=Lk(c<<2)|0;break}else d=0;while(0);f[m>>2]=d;g=d+(g<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=g;j=m+12|0;f[j>>2]=d+(c<<2);dh(g|0,0,b<<2|0)|0;f[i>>2]=g+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];Zf(m);u=n;return}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(((d-c|0)/12|0)>>>0>=b>>>0){dh(c|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}j=f[a>>2]|0;i=(c-j|0)/12|0;c=i+b|0;k=j;if(c>>>0>357913941)Tn(a);h=(d-j|0)/12|0;g=h<<1;g=h>>>0<178956970?(g>>>0>>0?c:g):357913941;do if(g)if(g>>>0>357913941){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{h=Lk(g*12|0)|0;break}else h=0;while(0);d=h+(i*12|0)|0;c=d;h=h+(g*12|0)|0;dh(d|0,0,b*12|0)|0;g=d+(b*12|0)|0;if((e|0)==(k|0))i=j;else{do{j=d+-12|0;b=e;e=e+-12|0;f[j>>2]=0;i=d+-8|0;f[i>>2]=0;f[d+-4>>2]=0;f[j>>2]=f[e>>2];j=b+-8|0;f[i>>2]=f[j>>2];b=b+-4|0;f[d+-4>>2]=f[b>>2];f[b>>2]=0;f[j>>2]=0;f[e>>2]=0;d=c+-12|0;c=d}while((e|0)!=(k|0));i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=c;f[l>>2]=g;f[m>>2]=h;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);Co(g)}}while((e|0)!=(h|0));if(!i)return;Co(i);return}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)Uj(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Tn(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Tn(a);h=Lk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+116|0;b=f[g>>2]|0;if(b|0){h=a+120|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;Wi(h);h=a+52|0;Wi(h);h=a+32|0;Wi(h);a=a+12|0;Wi(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+72|0;Wi(h);h=a+52|0;Wi(h);h=a+32|0;Wi(h);a=a+12|0;Wi(a);return}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)Uj(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Tn(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Tn(a);h=Lk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function ue(a,c){a=a|0;c=c|0;var d=0,e=La,g=La,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=La,x=La,y=0,z=0;v=u;u=u+16|0;p=v;q=f[a+24>>2]|0;r=a+8|0;d=b[(f[r>>2]|0)+24>>0]|0;o=d<<24>>24;s=o<<2;t=zo(o>>>0>1073741823?-1:o<<2)|0;Ym(p);if(!(yk(p,$(n[a+32>>2]),(1<>2]|0;m=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;if(!c){c=1;Ao(t);u=v;return c|0}q=p+4|0;l=a+28|0;if(d<<24>>24>0){h=0;i=0;j=0}else{a=0;d=0;while(1){cf((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+d|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(c|0)){a=1;break}else d=d+s|0}Ao(t);u=v;return a|0}while(1){a=f[l>>2]|0;e=$(n[q>>2]);g=$(n[p>>2]);d=0;k=j;while(1){z=f[m+(k<<2)>>2]|0;y=(z|0)<0;w=$(e*$((y?0-z|0:z)|0));x=$(-w);w=$(g*(y?x:w));w=$($(n[a+(d<<2)>>2])+w);n[t+(d<<2)>>2]=w;d=d+1|0;if((d|0)==(o|0))break;else k=k+1|0}cf((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+i|0,t|0,s|0)|0;h=h+1|0;if((h|0)==(c|0)){a=1;break}else{i=i+s|0;j=o+j|0}}Ao(t);u=v;return a|0}function ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+124|0;b=f[g>>2]|0;if(b|0){h=a+128|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+112|0;b=f[g>>2]|0;if(b|0){h=a+116|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+100>>2]|0;if(b|0){d=a+104|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+88>>2]|0;if(!b){h=a+68|0;Wi(h);h=a+48|0;Wi(h);h=a+28|0;Wi(h);a=a+12|0;Ho(a);return}d=a+92|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+68|0;Wi(h);h=a+48|0;Wi(h);h=a+28|0;Wi(h);a=a+12|0;Ho(a);return}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+112|0;h=k+96|0;j=k+16|0;i=k+4|0;g=k;c=j+76|0;d=j;e=d+76|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=-1073741824;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;f[g>>2]=i;f[h>>2]=f[g>>2];if(uc(j,a,h)|0){g=f[i>>2]|0;te(b,g,g+((f[e>>2]|0)-g>>2<<2)|0);g=f[j+68>>2]|0}else g=0;c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+56>>2]|0;if(c|0)Co(c);c=f[j+32>>2]|0;if(c|0){e=j+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+20>>2]|0;if(c|0){e=j+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+8>>2]|0;if(c|0){e=j+12|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}j=j+4|0;c=f[j>>2]|0;f[j>>2]=0;if(!c){u=k;return g|0}uh(c);Co(c);u=k;return g|0}function xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f[a+4>>2]=f[b+4>>2];j=a+8|0;k=b+8|0;if((a|0)==(b|0))return a|0;i=b+12|0;c=f[i>>2]|0;if(!c)c=0;else{h=a+16|0;do if(c>>>0>f[h>>2]<<5>>>0){d=f[j>>2]|0;if(d){Co(d);f[j>>2]=0;f[h>>2]=0;f[a+12>>2]=0;c=f[i>>2]|0}if((c|0)<0)Tn(j);else{e=((c+-1|0)>>>5)+1|0;g=Lk(e<<2)|0;f[j>>2]=g;f[a+12>>2]=0;f[h>>2]=e;e=f[i>>2]|0;break}}else{e=c;g=f[j>>2]|0}while(0);Uj(g|0,f[k>>2]|0,((e+-1|0)>>>5<<2)+4|0)|0;c=f[i>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;do if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){Co(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Tn(h);else{l=((c+-1|0)>>>5)+1|0;m=Lk(l<<2)|0;f[h>>2]=m;f[a+24>>2]=0;f[e>>2]=l;l=f[g>>2]|0;break}}else{l=c;m=f[h>>2]|0}while(0);Uj(m|0,f[i>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823)Tn(a);j=d>>1;d=d>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(d>>>0>1073741823)Tn(a);h=Lk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function ze(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){zi(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){zi(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){zi(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Tn(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Tn(a);e=Lk(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;cf(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;cf(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];Sc(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=(c|0)/32|0;Uj(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function Ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=c+8|0;m=f[n>>2]|0;n=f[n+4>>2]|0;q=c+16|0;o=q;p=f[o>>2]|0;o=f[o+4>>2]|0;e=Bl(p|0,o|0,4,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0>>0){a=0;return a|0}l=f[c>>2]|0;g=l+p|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=q;f[i>>2]=e;f[i+4>>2]=d;i=Bl(p|0,o|0,8,0)|0;k=I;if((n|0)<(k|0)|(n|0)==(k|0)&m>>>0>>0){a=0;return a|0}d=l+e|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;e=q;f[e>>2]=i;f[e+4>>2]=k;if((g|0)>(d|0)){a=0;return a|0}f[a+12>>2]=g;f[a+16>>2]=d;g=d+(1-g)|0;f[a+20>>2]=g;d=(g|0)/2|0;e=a+24|0;f[e>>2]=d;f[a+28>>2]=0-d;if(!(g&1))f[e>>2]=d+-1;do if((j[c+38>>1]|0)<514){if(!((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>i>>>0)){a=0;return a|0}d=b[l+i>>0]|0;p=Bl(p|0,o|0,9,0)|0;f[q>>2]=p;f[q+4>>2]=I;if((d&255)<2){f[a+88>>2]=d&255;break}else{a=0;return a|0}}while(0);a=nd(a+108|0,c)|0;return a|0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)ra(16725,16737,110,16835);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))Ef(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){Ig(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(b);u=j;return}function Ee(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+12|0;l=f[k>>2]|0;g=(f[c>>2]|0)-l|0;i=c+4|0;e=(f[i>>2]|0)-l|0;j=c;f[j>>2]=g;f[j+4>>2]=e;j=f[k>>2]|0;if((j|0)<(g|0))ra(9931,9220,250,9954);if((j|0)<(e|0))ra(9966,9220,251,9954);h=0-j|0;if((g|0)<(h|0))ra(9989,9220,252,9954);if((e|0)<(h|0))ra(10013,9220,253,9954);if((((e|0)>-1?e:0-e|0)+((g|0)>-1?g:0-g|0)|0)>(j|0)){Uf(b,c,i);g=f[c>>2]|0;e=f[i>>2]|0;h=f[k>>2]|0;i=0}else{h=j;i=1}c=(f[d>>2]|0)+g|0;f[a>>2]=c;e=(f[d+4>>2]|0)+e|0;g=a+4|0;f[g>>2]=e;if((h|0)>=(c|0)){if((c|0)<(0-h|0))c=(f[b+4>>2]|0)+c|0}else c=c-(f[b+4>>2]|0)|0;f[a>>2]=c;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[g>>2]=e;if(i){d=c;b=e;d=d+l|0;l=b+l|0;b=a;a=b;f[a>>2]=d;b=b+4|0;f[b>>2]=l;return}Uf(b,a,g);d=f[a>>2]|0;b=f[g>>2]|0;d=d+l|0;l=b+l|0;b=a;a=b;f[a>>2]=d;b=b+4|0;f[b>>2]=l;return}function Fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;j=l+12|0;k=l;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=Uh(c)|0;if(g>>>0>4294967279)Tn(j);if(g>>>0<11){b[j+11>>0]=g;if(!g)e=j;else{e=j;h=6}}else{h=g+16&-16;e=Lk(h)|0;f[j>>2]=e;f[j+8>>2]=h|-2147483648;f[j+4>>2]=g;h=6}if((h|0)==6)cf(e|0,c|0,g|0)|0;b[e+g>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=Uh(d)|0;if(c>>>0>4294967279)Tn(k);if(c>>>0<11){b[k+11>>0]=c;if(!c)e=k;else{e=k;h=12}}else{h=c+16&-16;e=Lk(h)|0;f[k>>2]=e;f[k+8>>2]=h|-2147483648;f[k+4>>2]=c;h=12}if((h|0)==12)cf(e|0,d|0,c|0)|0;b[e+c>>0]=0;e=f[a+4>>2]|0;if((e|0)!=0?(i=be(e,j,k)|0,(i|0)!=0):0)e=Ri(a,f[i+40>>2]|0)|0;else e=-1;if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);if((b[j+11>>0]|0)>=0){u=l;return e|0}Co(f[j>>2]|0);u=l;return e|0}function Ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;o=e;return o|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;j=a<<24>>24<0;a=j?f[g+20>>2]|0:a&255;i=a>>>0>>0;e=i?a:m;if((e|0)!=0?(o=cj(l,j?f[h>>2]|0:h,e)|0,(o|0)!=0):0)if((o|0)<0)k=8;else k=10;else if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if((e|0)!=0?(n=cj(j?f[h>>2]|0:h,l,e)|0,(n|0)!=0):0){if((n|0)>=0){k=16;break}}else k=12;if((k|0)==12?(0,!i):0){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;o=g;return o|0}else if((k|0)==15){f[c>>2]=g;o=d;return o|0}else if((k|0)==16){f[c>>2]=g;o=d;return o|0}return 0}function He(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;a=a+20|0;if(lc(a,c)|0){h=0;return h|0}g=Rb(a,c)|0;e=f[d>>2]|0;f[d>>2]=0;h=f[g>>2]|0;f[g>>2]=e;if(!h){h=1;return h|0}a=f[h+28>>2]|0;if(a|0)do{g=a;a=f[a>>2]|0;hg(g+8|0);Co(g)}while((a|0)!=0);g=h+20|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Co(a);a=f[h+8>>2]|0;if(a|0)do{e=a;a=f[a>>2]|0;g=e+8|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);Co(e)}while((a|0)!=0);a=f[h>>2]|0;f[h>>2]=0;if(a|0)Co(a);Co(h);h=1;return h|0}function Ie(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+32>>2]|0;h=c+8|0;j=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}h=b[(f[c>>2]|0)+e>>0]|0;c=Bl(e|0,d|0,1,0)|0;e=g;f[e>>2]=c;f[e+4>>2]=I;e=a+48|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);switch(h<<24>>24){case 0:{c=Lk(376)|0;Rh(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Sa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}case 1:{c=Lk(416)|0;ih(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Sa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}case 2:{c=Lk(432)|0;Hg(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Sa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}default:i=11}if((i|0)==11){c=f[e>>2]|0;if(!c){j=0;return j|0}}j=Oa[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;return j|0}function Je(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Kh(f[a+4>>2]|0,(f[c+56>>2]|0)-(f[c+52>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];Lb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];Lb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)Uj(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;cf(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);Co(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823)Tn(a);m=d>>1;d=d>>2>>>0<536870911?(m>>>0>>0?g:m):1073741823;if(d>>>0>1073741823)Tn(a);e=Lk(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;cf(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function Le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;Co(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Tn(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Tn(a);e=Lk(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)Uj(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;c=Lk(64)|0;j=Lk(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=3400;f[j+8>>2]=h;f[k>>2]=j;bj(c,k);j=c;if((b|0)>=0){h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Qe(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c)a=1;else{Sa[f[(f[c>>2]|0)+4>>2]&127](c);a=1}}else{Sa[f[(f[c>>2]|0)+4>>2]&127](c);a=0}c=f[k>>2]|0;f[k>>2]=0;if(!c){u=l;return a|0}Sa[f[(f[c>>2]|0)+4>>2]&127](c);u=l;return a|0}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];xe(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{Ae(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);Ae(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);Ae(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Ke(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Oe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+80|0;g=j;i=j+64|0;qj(g);e=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Fj(5)|0,d)|0;xh(g,e,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=Lk(96)|0;hj(h,g);b[h+84>>0]=1;d=f[h+68>>2]|0;g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);ph(h,c)|0;f[i>>2]=h;Vg(a,i);h=f[i>>2]|0;f[i>>2]=0;if(!h){u=j;return}i=h+88|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}i=h+64|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(h);u=j;return}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{Uj(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;Am(b,17313);f[b>>2]=4748;wa(b|0,1128,100)}h=Lk(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{Co(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;e=f[m>>2]|0;l=a+4|0;d=f[l>>2]|0;c=d;if(e-d>>2>>>0>=b>>>0){dh(d|0,0,b<<2|0)|0;f[l>>2]=d+(b<<2);return}g=f[a>>2]|0;d=d-g>>2;j=d+b|0;k=g;if(j>>>0>1073741823)Tn(a);i=e-g|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?j:h):1073741823;do if(h)if(h>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{i=Lk(h<<2)|0;break}else i=0;while(0);e=i+(d<<2)|0;dh(e|0,0,b<<2|0)|0;d=e;b=i+(h<<2)|0;h=i+(j<<2)|0;if((c|0)!=(k|0)){do{c=c+-4|0;j=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=j;e=d+-4|0;d=e}while((c|0)!=(k|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=b;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;Co(g);return}function Re(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3592;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}ag(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Lg(c);Co(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b)}Lg(e);Co(e);return}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)ra(17558,17583,63,17666);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))ra(17671,17583,64,17666);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))Ig(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){Ig(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;id(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=(c|0)/32|0;Uj(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Ue(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Kh(f[a+4>>2]|0,(f[c+28>>2]|0)-(f[c+24>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];Qb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];Qb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{Uj(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;Am(b,17313);f[b>>2]=4748;wa(b|0,1128,100)}h=Lk(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){Co(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=f[a>>2]|0;h=(d-g|0)/12|0;d=h+b|0;if(d>>>0>357913941)Tn(a);g=(e-g|0)/12|0;i=g<<1;d=g>>>0<178956970?(i>>>0>>0?d:i):357913941;do if(d)if(d>>>0>357913941){k=sa(8)|0;Am(k,17313);f[k>>2]=4748;wa(k|0,1128,100)}else{e=Lk(d*12|0)|0;break}else e=0;while(0);i=e+(h*12|0)|0;h=e+(d*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)cf(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;Co(d);return}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;De(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){Jf(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=f[c>>2]|0;h=f[a>>2]|0;j=h+(e>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(e&31);j=f[a+64>>2]|0;g=(e|0)<0;c=e+1|0;if(!g?(d=((c|0)%3|0|0)==0?e+-2|0:c,(d|0)>=0):0)c=f[(f[j>>2]|0)+(d<<2)>>2]|0;else c=-1073741824;i=a+12|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g){j=(f[i>>2]|0)+402653184|0;f[j>>2]=f[j>>2]|1;return}c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g)return;d=f[(f[j+12>>2]|0)+(e<<2)>>2]|0;if((d|0)<=-1)return;b[a+24>>0]=0;c=h+(d>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(d&31);c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;a=(f[i>>2]|0)+(c>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;j=(f[i>>2]|0)+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);return}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Tn(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{e=Lk(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){Lg(d);Co(d)}}while((c|0)!=(e|0));if(!g)return;Co(g);return}function _e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+16|0;g=j;switch(c<<24>>24){case 0:{c=Lk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Tj(c);f[c>>2]=3512;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=j;return}case 1:{c=Lk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Tj(c);f[c>>2]=3468;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=j;return}default:{c=Lk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;d=14733;i=h+28|0;do{b[h>>0]=b[d>>0]|0;h=h+1|0;d=d+1|0}while((h|0)<(i|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;eh(c,g);f[a>>2]=f[e>>2];eh(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);u=j;return}}}function $e(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0;do if(c){if((j[a+38>>1]|0)>=514){if(Wg(d,a)|0)break;else c=0;return c|0}l=a+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;e=a+16|0;g=e;c=f[g>>2]|0;g=Bl(c|0,f[g+4>>2]|0,8,0)|0;k=I;if((l|0)<(k|0)|(l|0)==(k|0)&i>>>0>>0){l=0;return l|0}else{l=(f[a>>2]|0)+c|0;g=l;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;l=l+4|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;k=d;i=k;b[i>>0]=g;b[i+1>>0]=g>>8;b[i+2>>0]=g>>16;b[i+3>>0]=g>>24;k=k+4|0;b[k>>0]=l;b[k+1>>0]=l>>8;b[k+2>>0]=l>>16;b[k+3>>0]=l>>24;k=e;k=Bl(f[k>>2]|0,f[k+4>>2]|0,8,0)|0;l=e;f[l>>2]=k;f[l+4>>2]=I;break}}while(0);b[a+36>>0]=1;l=a+16|0;i=f[l>>2]|0;k=(f[a>>2]|0)+i|0;g=a+8|0;l=cm(f[g>>2]|0,f[g+4>>2]|0,i|0,f[l+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=k;f[a+28>>2]=k+l;l=1;return l|0}function af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+8|0;g=j+4|0;e=j;if(!c){i=0;u=j;return i|0}f[a>>2]=b;f[h>>2]=0;yh(h,b)|0;a:do if(!(f[h>>2]|0))i=8;else{d=0;while(1){yh(g,f[a>>2]|0)|0;b=Lk(44)|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[b+16>>2]=$(1.0);k=b+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[b+36>>2]=$(1.0);f[b+40>>2]=f[g>>2];if(!(yc(a,b)|0))break;f[e>>2]=b;Xh(c,e)|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){Lg(b);Co(b)}d=d+1|0;if(d>>>0>=(f[h>>2]|0)>>>0){i=8;break a}}Lg(b);Co(b);b=0}while(0);if((i|0)==8)b=yc(a,c)|0;k=b;u=j;return k|0}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=cj(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=cj(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Fa(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function df(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}g=a+184|0;b=f[g>>2]|0;if(b|0){h=a+188|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}h=a+136|0;c=f[h>>2]|0;f[h>>2]=0;if(!c){h=a+120|0;Ho(h);h=a+80|0;Ho(h);h=a+64|0;Ho(h);a=a+24|0;Ho(a);return}d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d);h=a+120|0;Ho(h);h=a+80|0;Ho(h);h=a+64|0;Ho(h);a=a+24|0;Ho(a);return}function ef(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)ra(17381,17397,59,17494);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))ra(17504,17397,60,17494);g=f[i+(c<<2)>>2]|0;do if((Na[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Nd(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Lk(44)|0;f[b>>2]=1520;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);f[b>>2]=1576;g=b}f[a>>2]=g;return}function ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+60|0;c=f[i>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+48;if(!(Na[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}g=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((g|0)>0){h=0;while(1){c=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;c=f[c>>2]|0;e=Oa[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;if((e|0)<=-1){d=7;break}d=f[c+8>>2]|0;if(((f[c+12>>2]|0)-d>>2|0)<=(e|0)){d=9;break}c=f[i>>2]|0;h=h+1|0;if(!(Oa[f[(f[c>>2]|0)+8>>2]&127](c,f[d+(e<<2)>>2]|0)|0)){c=0;d=14;break}if((h|0)>=(g|0))break a}if((d|0)==7)ra(17381,17397,67,17494);else if((d|0)==9)ra(17504,17397,68,17494);else if((d|0)==14)return c|0}while(0);if(!(Oa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=qm(Ba(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=qm(Ba(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function hf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0;d=a+172|0;c=f[d>>2]|0;do if((c|0)==-1){j=f[a+144>>2]|0;j=Na[f[(f[j>>2]|0)+32>>2]&127](j)|0;if(((h[j+36>>0]<<8|h[j+37>>0])&65535)<514)if(b[a+76>>0]|0){j=a+72|0;d=f[j>>2]|0;g=f[a+64>>2]|0;i=f[a+68>>2]|0;c=g+(d>>>3)|0;if(c>>>0>>0?(c=h[c>>0]|0,e=d+1|0,f[j>>2]=e,(c&1<<(d&7)|0)!=0):0){c=g+(e>>>3)|0;if(c>>>0>>0){e=(h[c>>0]|0)>>>(e&7)&1;d=d+2|0;f[j>>2]=d}else{d=e;e=0}c=g+(d>>>3)|0;if(c>>>0>>0){c=(h[c>>0]|0)>>>(d&7);f[j>>2]=d+1;c=c<<1&2}else c=0;c=(c|e)<<1|1}else c=0}else c=1;else c=7}else{i=(f[a+196>>2]|0)+(c<<2)|0;j=f[i>>2]|0;c=j+-1|0;f[i>>2]=c;if((j|0)<1){a=9;return a|0}else{c=f[3312+(f[(f[(f[a+184>>2]|0)+((f[d>>2]|0)*12|0)>>2]|0)+(c<<2)>>2]<<2)>>2]|0;break}}while(0);f[a+168>>2]=c;a=c;return a|0}function jf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function kf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;c=f[k>>2]|0;l=a+16|0;if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}d=f[l>>2]|0;if(!d){l=f[l>>2]|0;return l|0}a=d+84|0;if(!(b[a>>0]|0)){l=f[l>>2]|0;return l|0}i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>2;b[a>>0]=0;h=d+68|0;e=d+72|0;d=f[e>>2]|0;a=f[h>>2]|0;g=d-a>>2;if(i>>>0<=g>>>0){if(i>>>0>>0?(j=a+(i<<2)|0,(d|0)!=(j|0)):0)f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2)}else{wf(h,i-g|0,1388);c=f[k>>2]|0}if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}k=f[c+68>>2]|0;g=k;k=(f[c+72>>2]|0)-k|0;d=k>>2;if((k|0)<=0){l=f[l>>2]|0;return l|0}c=f[l>>2]|0;e=(b[c+84>>0]|0)==0;c=c+68|0;a=0;while(1){if(!e){c=14;break}f[(f[c>>2]|0)+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0;if((a|0)>=(d|0)){c=15;break}}if((c|0)==14)ra(14963,14982,89,15082);else if((c|0)==15){l=f[l>>2]|0;return l|0}return 0}function lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;g=h+8|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=nc(a,e,g,h+4|0,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=Lk(40)|0;eh(e+16|0,d);eh(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}qd(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+16|0;l=m;j=a+4|0;f[j>>2]=0;if(!c){u=m;return}i=a+8|0;e=f[i>>2]|0;g=e<<5;if(g>>>0>>0){f[l>>2]=0;k=l+4|0;f[k>>2]=0;h=l+8|0;f[h>>2]=0;if((c|0)<0)Tn(a);e=e<<6;n=c+31&-32;jg(l,g>>>0<1073741823?(e>>>0>>0?n:e):2147483647);e=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=e;l=f[j>>2]|0;f[j>>2]=c;f[k>>2]=l;l=f[i>>2]|0;f[i>>2]=f[h>>2];f[h>>2]=l;if(e|0)Co(e)}else f[j>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){dh(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=m;return}else{dh(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=m;return}}function nf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(Zm(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Zm(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Wa[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Xa[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else lk(0,c,d,e);while(0);return}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;l=m;if(!(Bd(a,b)|0)){a=0;u=m;return a|0}i=b+8|0;j=f[i>>2]|0;i=f[i+4>>2]|0;g=b+16|0;d=g;c=f[d>>2]|0;d=Bl(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((i|0)<(e|0)|(i|0)==(e|0)&j>>>0>>0){a=0;u=m;return a|0}c=(f[b>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;j=g;f[j>>2]=d;f[j+4>>2]=e;if((c|0)<0){a=0;u=m;return a|0}j=f[a+152>>2]|0;if((c|0)>=(j|0)){a=0;u=m;return a|0}i=a+156|0;f[l>>2]=0;e=a+160|0;d=f[e>>2]|0;c=f[i>>2]|0;g=d-c>>2;if(j>>>0<=g>>>0){if(j>>>0>>0?(k=c+(j<<2)|0,(d|0)!=(k|0)):0)f[e>>2]=d+(~((d+-4-k|0)>>>2)<<2)}else wf(i,j-g|0,l);a=nd(a+168|0,b)|0;u=m;return a|0}function pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)ra(17381,17397,59,17494);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))ra(17504,17397,60,17494);g=f[i+(c<<2)>>2]|0;do if((Na[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Xc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Lk(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=2420;g=b}f[a>>2]=g;return}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;g=c-e>>3;c=g+b|0;if(c>>>0>536870911)Tn(a);e=d-e|0;h=e>>2;c=e>>3>>>0<268435455?(h>>>0>>0?c:h):536870911;do if(c)if(c>>>0>536870911){j=sa(8)|0;Am(j,17313);f[j>>2]=4748;wa(j|0,1128,100)}else{d=Lk(c<<3)|0;break}else d=0;while(0);h=d+(g<<3)|0;g=d+(c<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)cf(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;Co(c);return}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Ua[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Co(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}Co(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0;if((Na[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}g=a+4|0;i=0;while(1){e=f[(f[g>>2]|0)+4>>2]|0;e=Pj(e,Oa[f[(f[b>>2]|0)+24>>2]&127](b,i)|0)|0;if((e|0)==-1){a=0;c=12;break}a=f[g>>2]|0;d=f[(f[b>>2]|0)+28>>2]|0;if(((h[a+36>>0]|0)<<8&65535)<512){a=f[a+4>>2]|0;if((e|0)<=-1){c=6;break}c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)<=(e|0)){c=8;break}if(!(Oa[d&127](b,f[c+(e<<2)>>2]|0)|0)){a=0;c=12;break}}else{e=Vi(a,e)|0;if(!(Oa[d&127](b,e)|0)){a=0;c=12;break}}i=i+1|0;if((i|0)>=(Na[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=12;break}}if((c|0)==6)ra(17381,17397,67,17494);else if((c|0)==8)ra(17504,17397,68,17494);else if((c|0)==12)return a|0;return 0}function tf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)ra(17381,17397,59,17494);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))ra(17504,17397,60,17494);g=f[i+(c<<2)>>2]|0;do if((Na[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){ed(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Lk(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=2644;g=b}f[a>>2]=g;return}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((zb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=Io(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=zb(a,c,m,p,q)|0;if(d){Pa[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=zb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)Ho(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function vf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=Lk(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;j=g+8|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;cf(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}xg(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;cf(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+8|0;e=f[l>>2]|0;m=a+4|0;d=f[m>>2]|0;g=d;if(e-d>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[m>>2]=g+(b<<2);return}k=f[a>>2]|0;j=d-k|0;i=j>>2;d=i+b|0;if(d>>>0>1073741823)Tn(a);g=e-k|0;h=g>>1;d=g>>2>>>0<536870911?(h>>>0>>0?d:h):1073741823;do if(d)if(d>>>0>1073741823){b=sa(8)|0;Am(b,17313);f[b>>2]=4748;wa(b|0,1128,100)}else{e=Lk(d<<2)|0;break}else e=0;while(0);h=e+(i<<2)|0;g=e+(d<<2)|0;d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}d=h+(0-i<<2)|0;if((j|0)>0)cf(d|0,k|0,j|0)|0;f[a>>2]=d;f[m>>2]=h+(b<<2);f[l>>2]=g;if(!k)return;Co(k);return}function xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=1048576){if((i|0)!=1048576?(h=d+4194304|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,1048576-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>1048576){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==1048576;return k|0}function yf(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Zm(m,e,0)|0){f[o+48>>2]=1;Xa[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Wa[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function zf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{sg(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(Pb(a,n)|0)){a=0;u=o;return a|0}wb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=524288){if((i|0)!=524288?(h=d+2097152|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,524288-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>524288){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==524288;return k|0}function Bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=262144){if((i|0)!=262144?(h=d+1048576|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,262144-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>262144){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==262144;return k|0}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=65536){if((i|0)!=65536?(h=d+262144|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,65536-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>65536){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==65536;return k|0}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=32768){if((i|0)!=32768?(h=d+131072|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,32768-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>32768){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==32768;return k|0}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){pe(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Co(d)}Co(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Co(d)}Co(c)}Co(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function Ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=8192){if((i|0)!=8192?(h=d+32768|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,8192-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>8192){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==8192;return k|0}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=4096){if((i|0)!=4096?(h=d+16384|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,4096-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>4096){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==4096;return k|0}function Hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;d=f[l>>2]|0;k=f[a>>2]|0;h=(d-k|0)/12|0;c=h+1|0;j=k;if(c>>>0>357913941)Tn(a);m=a+8|0;i=((f[m>>2]|0)-k|0)/12|0;e=i<<1;e=i>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{g=Lk(e*12|0)|0;break}else g=0;while(0);c=g+(h*12|0)|0;i=g+(e*12|0)|0;f[c>>2]=f[b>>2];f[g+(h*12|0)+4>>2]=f[b+4>>2];f[g+(h*12|0)+8>>2]=f[b+8>>2];e=c+12|0;if((d|0)!=(j|0))do{h=d;d=d+-12|0;f[c+-12>>2]=f[d>>2];f[c+-8>>2]=f[h+-8>>2];f[c+-4>>2]=f[h+-4>>2];c=c+-12|0}while((d|0)!=(j|0));f[a>>2]=c;f[l>>2]=e;f[m>>2]=i;if(!k)return;Co(k);return}function If(a,c,d){a=a|0;c=c|0;d=d|0;a=kc(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=8){d=0;return d|0}a=c;b[s>>0]=b[a>>0];b[s+1>>0]=b[a+1>>0];b[s+2>>0]=b[a+2>>0];b[s+3>>0]=b[a+3>>0];b[s+4>>0]=b[a+4>>0];b[s+5>>0]=b[a+5>>0];b[s+6>>0]=b[a+6>>0];b[s+7>>0]=b[a+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];d=1;return d|0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;d=f[k>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(d-c>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[l>>2]=e+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Tn(a);e=d-j|0;g=e>>1;c=e>>2>>>0<536870911?(g>>>0>>0?c:g):1073741823;do if(c)if(c>>>0>1073741823){b=sa(8)|0;Am(b,17313);f[b>>2]=4748;wa(b|0,1128,100)}else{d=Lk(c<<2)|0;break}else d=0;while(0);g=d+(h<<2)|0;e=d+(c<<2)|0;c=g;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}c=g+(0-h<<2)|0;if((i|0)>0)cf(c|0,j|0,i|0)|0;f[a>>2]=c;f[l>>2]=g+(b<<2);f[k>>2]=e;if(!j)return;Co(j);return}function Kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{sg(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function Lf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)Tn(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{rm(a,d,(e&255)+1|0)|0;Co(d);g=15}}else{c=Lk(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{rm(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){rm(c,d,(f[a+4>>2]|0)+1|0)|0;Co(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function Mf(a){a=a|0;$n(a);$n(a+16|0);$n(a+32|0);$n(a+48|0);$n(a+64|0);$n(a+80|0);$n(a+96|0);$n(a+112|0);$n(a+128|0);$n(a+144|0);$n(a+160|0);$n(a+176|0);$n(a+192|0);$n(a+208|0);$n(a+224|0);$n(a+240|0);$n(a+256|0);$n(a+272|0);$n(a+288|0);$n(a+304|0);$n(a+320|0);$n(a+336|0);$n(a+352|0);$n(a+368|0);$n(a+384|0);$n(a+400|0);$n(a+416|0);$n(a+432|0);$n(a+448|0);$n(a+464|0);$n(a+480|0);$n(a+496|0);return}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=$m(f[a+8>>2]|0,o)|0;e=$m(f[a+12>>2]|0,o)|0;g=$m(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=$m(f[a+(g<<2)>>2]|0,o)|0;g=$m(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=vj(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=$m(f[a+(e<<2)>>2]|0,o)|0;e=$m(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0;l=b+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;m=b+16|0;c=m;g=f[c>>2]|0;c=f[c+4>>2]|0;d=Bl(g|0,c|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&i>>>0>>0){a=0;return a|0}k=(f[b>>2]|0)+g|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;n=m;f[n>>2]=d;f[n+4>>2]=e;do if((j[b+38>>1]|0)<514){c=Bl(g|0,c|0,8,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&i>>>0>>0){n=0;return n|0}else{n=m;f[n>>2]=c;f[n+4>>2]=d;break}}while(0);if(((k|0)%2|0|0)!=1)ra(10149,10182,68,10348);d=(_(k|0)|0)^31;c=d+1|0;if(!d)ra(9209,9220,60,9341);if(c>>>0>=31)ra(9361,9220,61,9341);f[a>>2]=c;n=2<>2]=n+-1;n=n+-2|0;f[a+8>>2]=n;f[a+12>>2]=(n|0)/2|0;n=1;return n|0}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;h=j+16|0;i=j;switch(c<<24>>24){case 0:{i=Lk(48)|0;on(i);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;u=j;return}case 1:{i=Lk(52)|0;xm(i);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;u=j;return}default:{c=Lk(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=28;d=c;e=14733;g=d+28|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+28>>0]=0;f[h>>2]=-1;c=h+4|0;eh(c,i);f[a>>2]=f[h>>2];eh(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);if((b[i+11>>0]|0)<0)Co(f[i>>2]|0);u=j;return}}}function Qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;i=k+12|0;j=k;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;e=Uh(c)|0;if(e>>>0>4294967279)Tn(i);if(e>>>0<11){b[i+11>>0]=e;if(!e)d=i;else{d=i;g=6}}else{g=e+16&-16;d=Lk(g)|0;f[i>>2]=d;f[i+8>>2]=g|-2147483648;f[i+4>>2]=e;g=6}if((g|0)==6)cf(d|0,c|0,e|0)|0;b[d+e>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;c=j+11|0;b[c>>0]=4;f[j>>2]=1701667182;b[j+4>>0]=0;d=f[a+4>>2]|0;if((d|0)!=0?(h=be(d,j,i)|0,(h|0)!=0):0)d=Ri(a,f[h+40>>2]|0)|0;else d=-1;if((b[c>>0]|0)<0)Co(f[j>>2]|0);if((b[i+11>>0]|0)>=0){u=k;return d|0}Co(f[i>>2]|0);u=k;return d|0}function Rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k+4|0;i=k;h=f[c+4>>2]|0;if(!h)ra(10593,10842,70,11012);g=f[c+8>>2]|0;if(!g)ra(10593,10842,70,11012);d=f[d>>2]|0;if((d|0)<0)e=-1073741824;else e=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=e>>>0)Tn(d);d=f[g+(f[c+(e<<2)>>2]<<2)>>2]|0;if(!(b[h+84>>0]|0))d=f[(f[h+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[i>>2]=d;g=b[h+24>>0]|0;f[j>>2]=f[i>>2];xb(h,j,g,a)|0;u=k;return}function Sf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=cj(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=cj(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;k=b+8|0;i=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;g=Bl(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){a=0;return a|0}b=f[b>>2]|0;j=b+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;m=l;f[m>>2]=g;f[m+4>>2]=d;c=Bl(e|0,c|0,8,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){m=0;return m|0}b=b+g|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;m=l;f[m>>2]=c;f[m+4>>2]=d;if((j|0)>(b|0)){m=0;return m|0}f[a+12>>2]=j;f[a+16>>2]=b;m=b+(1-j)|0;f[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;f[c>>2]=b;f[a+28>>2]=0-b;if(m&1|0){m=1;return m|0}f[c>>2]=b+-1;m=1;return m|0}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))ra(10037,9220,259,10061);d=f[c>>2]|0;if((d|0)>(e|0))ra(10075,9220,260,10061);a=0-e|0;if((i|0)<(a|0))ra(10099,9220,261,10061);if((d|0)<(a|0))ra(10124,9220,262,10061);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function Vf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+32|0;g=h+8|0;e=h;switch(d|0){case 2:{i=f[b+12>>2]|0;d=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;tf(e,c,i,d,g);f[a>>2]=f[e>>2];u=h;return}case 3:{d=f[b+12>>2]|0;i=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;pf(e,c,d,i,g);f[a>>2]=f[e>>2];u=h;return}default:{f[a>>2]=0;u=h;return}}}function Wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){mc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;mc(a,b);return}function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){he(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*116|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-116;c=f[e+-12>>2]|0;if(c|0){d=e+-8|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}c=f[e+-28>>2]|0;if(c|0){d=e+-24|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}c=f[e+-40>>2]|0;if(c|0){d=e+-36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}Dh(e+-112|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function Yf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1400;e=a+60|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Sa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b)}f[a>>2]=1240;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function Zf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}Co(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Co(b);return}function _f(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;e=f[l>>2]|0;g=b[e+24>>0]|0;k=g<<24>>24;n=k<<1;m=zo(k>>>0>2147483647?-1:k<<1)|0;j=f[a+16>>2]|0;j=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){Ao(m);return}if(g<<24>>24>0){e=0;g=0;h=0;while(1){a=0;i=h;while(1){d[m+(a<<1)>>1]=f[j+(i<<2)>>2];a=a+1|0;if((a|0)==(k|0))break;else i=i+1|0}cf((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+g|0,m|0,n|0)|0;e=e+1|0;if((e|0)==(c|0))break;else{g=g+n|0;h=k+h|0}}Ao(m);return}else{cf(f[f[e+64>>2]>>2]|0,m|0,n|0)|0;if((c|0)==1){Ao(m);return}else{a=1;e=0}do{e=e+n|0;cf((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+e|0,m|0,n|0)|0;a=a+1|0}while((a|0)!=(c|0));Ao(m);return}}function $f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+8|0;d=f[k>>2]|0;e=b[d+24>>0]|0;j=e<<24>>24;m=j<<2;l=zo(j>>>0>1073741823?-1:j<<2)|0;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;if(!c){Ao(l);return}if(e<<24>>24>0){d=0;e=0;g=0;while(1){a=0;h=g;while(1){f[l+(a<<2)>>2]=f[i+(h<<2)>>2];a=a+1|0;if((a|0)==(j|0))break;else h=h+1|0}cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,l|0,m|0)|0;d=d+1|0;if((d|0)==(c|0))break;else{e=e+m|0;g=j+g|0}}Ao(l);return}else{cf(f[f[d+64>>2]>>2]|0,l|0,m|0)|0;if((c|0)==1){Ao(l);return}else{a=1;d=0}do{d=d+m|0;cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+d|0,l|0,m|0)|0;a=a+1|0}while((a|0)!=(c|0));Ao(l);return}}function ag(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Co(b);return}function bg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=La;n=u;u=u+32|0;j=n+16|0;m=n;k=a+8|0;l=b[(f[k>>2]|0)+24>>0]<<2;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;a=f[a+24>>2]|0;if((a|0)<=1)ra(9209,9220,60,9341);if((a|0)>=31)ra(9361,9220,61,9341);f[m>>2]=a;a=1<>2]=a+-1;a=a+-2|0;h=m+8|0;f[h>>2]=a;f[m+12>>2]=(a|0)/2|0;if(!c){u=n;return 1}d=0;e=0;g=0;while(1){o=$($(1.0)/$(a|0));oe(m,$($(f[i+(g<<2)>>2]|0)*o),$($(f[i+((g|1)<<2)>>2]|0)*o),j);cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,j|0,l|0)|0;d=d+1|0;if((d|0)==(c|0))break;a=f[h>>2]|0;e=e+l|0;g=g+2|0}u=n;return 1}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;g=f[c>>2]|0;c=f[c+4>>2]|0;d=Bl(g|0,c|0,4,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0)return 0;i=(f[b>>2]|0)+g|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=l;f[b>>2]=d;f[b+4>>2]=e;b=Bl(g|0,c|0,8,0)|0;c=I;if((k|0)<(c|0)|(k|0)==(c|0)&j>>>0>>0)return 0;f[l>>2]=b;f[l+4>>2]=c;if(((i|0)%2|0|0)!=1)ra(10149,10182,68,10348);c=(_(i|0)|0)^31;b=c+1|0;if(!c)ra(9209,9220,60,9341);if(b>>>0<31){f[a>>2]=b;l=2<>2]=l+-1;l=l+-2|0;f[a+8>>2]=l;f[a+12>>2]=(l|0)/2|0;return (c+-1|0)>>>0<29|0}else ra(9361,9220,61,9341);return 0}function dg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m+16|0;i=m+8|0;j=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))ra(9458,9503,69,9687);e=f[b+4>>2]|0;if((e|0)>(k|0))ra(9708,9503,70,9687);g=f[c>>2]|0;if((g|0)>(k|0))ra(9753,9503,71,9687);b=f[c+4>>2]|0;if((b|0)>(k|0))ra(9798,9503,72,9687);if((h|0)<=-1)ra(9843,9503,74,9687);if((e|0)<=-1)ra(9865,9503,75,9687);if((g|0)<=-1)ra(9887,9503,76,9687);if((b|0)>-1){f[i>>2]=h;f[i+4>>2]=e;f[j>>2]=g;f[j+4>>2]=b;kd(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else ra(9909,9503,77,9687)}function eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){wc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;wc(a,b);return}function fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;j=m+16|0;l=m+8|0;i=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))ra(9458,12926,65,9687);e=f[b+4>>2]|0;if((e|0)>(k|0))ra(9708,12926,66,9687);g=f[c>>2]|0;if((g|0)>(k|0))ra(9753,12926,67,9687);b=f[c+4>>2]|0;if((b|0)>(k|0))ra(9798,12926,68,9687);if((h|0)<=-1)ra(9843,12926,70,9687);if((e|0)<=-1)ra(9865,12926,71,9687);if((g|0)<=-1)ra(9887,12926,72,9687);if((b|0)>-1){f[j>>2]=g;f[j+4>>2]=b;f[i>>2]=h;f[i+4>>2]=e;Ee(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else ra(9909,12926,73,9687)}function hg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=a+12|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){c=f[i+28>>2]|0;if(c|0)do{h=c;c=f[c>>2]|0;hg(h+8|0);Co(h)}while((c|0)!=0);h=i+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)Co(c);c=f[i+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}if((b[h+11>>0]|0)<0)Co(f[h>>2]|0);Co(g)}while((c|0)!=0);c=f[i>>2]|0;f[i>>2]=0;if(c|0)Co(c);Co(i)}if((b[a+11>>0]|0)>=0)return;Co(f[a>>2]|0);return}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=Lk(36)|0;_m(c);j=c;if((b|0)<0){Sa[f[(f[c>>2]|0)+4>>2]&127](c);j=0;return j|0}h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Qe(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c){j=1;return j|0}Sa[f[(f[c>>2]|0)+4>>2]&127](c);j=1;return j|0}function jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)Tn(i);l=((b+-1|0)>>>5)+1|0;k=Lk(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Te(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)Co(b);u=j;return}function kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+212|0;j=a+216|0;d=f[k>>2]|0;if((f[j>>2]|0)==(d|0)){l=0;return l|0}g=a+4|0;e=0;a:while(1){a=f[d+(e*116|0)>>2]|0;if(((a|0)>=0?(d=f[g>>2]|0,h=f[d+8>>2]|0,(a|0)<((f[d+12>>2]|0)-h>>2|0)):0)?(i=f[h+(a<<2)>>2]|0,(Na[f[(f[i>>2]|0)+24>>2]&127](i)|0)>0):0){a=0;do{if((Oa[f[(f[i>>2]|0)+20>>2]&127](i,a)|0)==(c|0))break a;a=a+1|0}while((a|0)<(Na[f[(f[i>>2]|0)+24>>2]&127](i)|0))}a=e+1|0;d=f[k>>2]|0;if(a>>>0>=(((f[j>>2]|0)-d|0)/116|0)>>>0){a=0;l=11;break}else e=a}if((l|0)==11)return a|0;l=f[k>>2]|0;l=(b[l+(e*116|0)+72>>0]|0)==0?0:l+(e*116|0)+4|0;return l|0}function lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(f[b+4>>2]|0)-(f[b>>2]|0)|0;l=k>>2;g=a+8|0;e=f[(f[g>>2]|0)+40>>2]|0;m=zo((e|0)>-1?e:-1)|0;h=c+8|0;if((k|0)<=0){c=1;Ao(m);return c|0}k=c+16|0;i=0;j=0;while(1){o=h;n=f[o>>2]|0;o=f[o+4>>2]|0;a=k;b=f[a>>2]|0;a=Bl(b|0,f[a+4>>2]|0,e|0,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0){b=0;a=5;break}cf(m|0,(f[c>>2]|0)+b|0,e|0)|0;o=k;f[o>>2]=a;f[o+4>>2]=d;cf((f[f[(f[g>>2]|0)+64>>2]>>2]|0)+j|0,m|0,e|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+e|0}if((a|0)==5){Ao(m);return b|0}return 0}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=Ge(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=Lk(40)|0;eh(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}qd(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function ng(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j+12|0;h=j;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=Uh(d)|0;if(e>>>0>4294967279)Tn(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;g=6}}else{g=e+16&-16;a=Lk(g)|0;f[h>>2]=a;f[h+8>>2]=g|-2147483648;f[h+4>>2]=e;g=6}if((g|0)==6)cf(a|0,d|0,e|0)|0;b[a+e>>0]=0;ah(c,h,i)|0;e=i+11|0;a=b[e>>0]|0;d=a<<24>>24<0?f[i>>2]|0:i;if((b[h+11>>0]|0)<0){Co(f[h>>2]|0);a=b[e>>0]|0}if(a<<24>>24>=0){u=j;return d|0}Co(f[i>>2]|0);u=j;return d|0}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;h=f[a>>2]|0;k=(f[i>>2]|0)-h|0;d=(k|0)/12|0;c=d+1|0;if(c>>>0>357913941)Tn(a);j=a+8|0;g=((f[j>>2]|0)-h|0)/12|0;e=g<<1;e=g>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{g=Lk(e*12|0)|0;break}else g=0;while(0);d=g+(d*12|0)|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];c=d+(((k|0)/-12|0)*12|0)|0;if((k|0)>0)cf(c|0,h|0,k|0)|0;f[a>>2]=c;f[i>>2]=d+12;f[j>>2]=g+(e*12|0);if(!h)return;Co(h);return}function pg(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)Tn(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=Lk(l)|0;if(g|0)rm(k,m,g)|0;if(i|0)rm(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)rm(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Co(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;qn(k+m|0,n);u=o;return}function qg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(gj(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Pa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Pa[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);cf(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function rg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;j=u;u=u+16|0;i=j;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){k=d+8|0;l=f[k+4>>2]|0;g=d+16|0;e=g;c=f[e>>2]|0;e=f[e+4>>2]|0;if((l|0)>(e|0)|((l|0)==(e|0)?(f[k>>2]|0)>>>0>c>>>0:0)){l=b[(f[d>>2]|0)+c>>0]|0;k=Bl(c|0,e|0,1,0)|0;c=g;f[c>>2]=k;f[c+4>>2]=I;c=l&255;f[a+24>>2]=c;break}else{l=0;u=j;return l|0}}else c=f[a+24>>2]|0;while(0);f[i>>2]=1184;f[i+4>>2]=-1;cn(i,c);l=Di(i,f[a+16>>2]|0)|0;u=j;return l|0}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){dh(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Tn(a);g=d-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{g=Lk(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;dh(e|0,0,b<<2|0)|0;c=e+(0-h<<2)|0;if((i|0)>0)cf(c|0,j|0,i|0)|0;f[a>>2]=c;f[k>>2]=e+(b<<2);f[l>>2]=g+(d<<2);if(!j)return;Co(j);return}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+212|0;h=a+216|0;c=f[i>>2]|0;a:do if((f[h>>2]|0)!=(c|0)){j=a+4|0;d=0;b:while(1){c=f[c+(d*116|0)>>2]|0;if(((c|0)>=0?(k=f[j>>2]|0,e=f[k+8>>2]|0,(c|0)<((f[k+12>>2]|0)-e>>2|0)):0)?(g=f[e+(c<<2)>>2]|0,(Na[f[(f[g>>2]|0)+24>>2]&127](g)|0)>0):0){c=0;do{if((Oa[f[(f[g>>2]|0)+20>>2]&127](g,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Na[f[(f[g>>2]|0)+24>>2]&127](g)|0))}d=d+1|0;c=f[i>>2]|0;if(d>>>0>=(((f[h>>2]|0)-c|0)/116|0)>>>0)break a}k=(f[i>>2]|0)+(d*116|0)+76|0;return k|0}while(0);k=a+184|0;return k|0}function ug(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{f[h>>2]=b+-116;c=f[b+-12>>2]|0;if(c|0){e=b+-8|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[b+-28>>2]|0;if(c|0){e=b+-24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[b+-40>>2]|0;if(c|0){e=b+-36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}Dh(b+-112|0);b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Co(b);return}function vg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;d=g;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Na[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=g;return e|0}f[d>>2]=1212;f[d+4>>2]=-1;c=d+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;lj(d,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));e=Di(d,f[a+16>>2]|0)|0;f[d>>2]=1212;a=f[c>>2]|0;if(a|0){c=d+12|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Co(a)}u=g;return e|0}function wg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-116;d=f[c+-12>>2]|0;if(d|0){g=c+-8|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}d=f[c+-28>>2]|0;if(d|0){g=c+-24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}d=f[c+-40>>2]|0;if(d|0){g=c+-36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}Dh(c+-112|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Co(b);return}function xg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((e-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}g=f[a>>2]|0;h=d-g|0;d=h+c|0;if((d|0)<0)Tn(a);g=e-g|0;i=g<<1;d=g>>>0<1073741823?(i>>>0>>0?d:i):2147483647;if(!d)e=0;else e=Lk(d)|0;i=e+h|0;h=e+d|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)cf(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;Co(d);return}function yg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+140|0;b=f[h>>2]|0;if((b|0)<=0){a=1;return a|0}d=b<<4;d=zo(b>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<4)|0;b=d;do{$n(b);b=b+16|0}while((b|0)!=(c|0));g=a+136|0;e=f[g>>2]|0;f[g>>2]=d;if(e|0){c=e+-4|0;b=f[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(e|0))}Ao(c)}if((f[h>>2]|0)<=0){a=1;return a|0}b=0;while(1){if(!(nd((f[g>>2]|0)+(b<<4)|0,a)|0)){b=0;c=13;break}b=b+1|0;if((b|0)>=(f[h>>2]|0)){b=1;c=13;break}}if((c|0)==13)return b|0;return 0}function zg(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Ik()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1159];ql(20240,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Pa[f[(f[262]|0)+16>>2]&31](1048,d,e)|0;b=f[1159]|0;if(d){i=f[e>>2]|0;i=Na[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;ql(20154,g)}else{f[i>>2]=b;f[i+4>>2]=a;ql(20199,i)}}ql(20278,h)}function Ag(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!(cg(a+8|0,c)|0)){a=0;return a|0}do if((j[c+38>>1]|0)<514){e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=Bl(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)<2){f[a+68>>2]=e&255;break}else{i=0;return i|0}}while(0);i=nd(a+88|0,c)|0;return i|0}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;h=j+12|0;g=j;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;e=Uh(d)|0;if(e>>>0>4294967279)Tn(g);if(e>>>0<11){b[g+11>>0]=e;if(!e)a=g;else{a=g;i=6}}else{i=e+16&-16;a=Lk(i)|0;f[g>>2]=a;f[g+8>>2]=i|-2147483648;f[g+4>>2]=e;i=6}if((i|0)==6)cf(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=ah(c,g,h)|0;if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);if((b[h+11>>0]|0)>=0){u=j;return a|0}Co(f[h>>2]|0);u=j;return a|0}function Cg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;h=f[a>>2]|0;f[a>>2]=0;if(!h)return;a=f[h+28>>2]|0;if(a|0)do{c=a;a=f[a>>2]|0;d=c+8|0;Cg(c+20|0);if((b[d+11>>0]|0)<0)Co(f[d>>2]|0);Co(c)}while((a|0)!=0);g=h+20|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Co(a);a=f[h+8>>2]|0;if(a|0)do{e=a;a=f[a>>2]|0;g=e+8|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);Co(e)}while((a|0)!=0);a=f[h>>2]|0;f[h>>2]=0;if(a|0)Co(a);Co(h);return}function Dg(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+4>>2]=3180;b=f[a+24>>2]|0;if(b|0)Co(b);b=f[a+12>>2]|0;if(!b)return;Co(b);return}function Eg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!(Of(a+8|0,c)|0)){a=0;return a|0}do if((j[c+38>>1]|0)<514){e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=Bl(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)<2){f[a+68>>2]=e&255;break}else{i=0;return i|0}}while(0);i=nd(a+88|0,c)|0;return i|0}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=Xk(e,g+1|0,20151,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;Bh(c,g,0);e=b[h>>0]|0}Bh(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function Gg(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(yo()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=po()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=po()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Hg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3272;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));jk(b);d=a+372|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[a+392>>2]=-1;f[a+396>>2]=-1;f[a+400>>2]=2;f[a+404>>2]=7;d=a+408|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;return}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+4|0;i=f[a>>2]|0;l=(f[j>>2]|0)-i|0;h=l>>2;c=h+1|0;if(c>>>0>1073741823)Tn(a);k=a+8|0;g=(f[k>>2]|0)-i|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{g=Lk(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;f[e>>2]=f[b>>2];c=e+(0-h<<2)|0;if((l|0)>0)cf(c|0,i|0,l|0)|0;f[a>>2]=c;f[j>>2]=e+4;f[k>>2]=g+(d<<2);if(!i)return;Co(i);return}function Jg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;if((d|0)<0){j=0;return j|0}j=a+4|0;a=f[j>>2]|0;e=a+4|0;c=f[e>>2]|0;b=f[a>>2]|0;g=c-b>>2;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+(d<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{sg(a,d-g|0);d=f[i>>2]|0}if((d|0)<=0){j=1;return j|0}e=f[j>>2]|0;a=f[e>>2]|0;c=(f[e+4>>2]|0)-a>>2;b=0;while(1){if(c>>>0<=b>>>0){b=10;break}f[a+(b<<2)>>2]=b;b=b+1|0;if((b|0)>=(d|0)){a=1;b=12;break}}if((b|0)==10)Tn(e);else if((b|0)==12)return a|0;return 0}function Kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;k=u;u=u+80|0;j=k;i=k+56|0;g=k+40|0;e=j;d=e+40|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));Wb(g,j,i);c=f[g>>2]|0;if(!c){c=g+4|0;if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);i=h[i+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;j=j+24|0;Ho(j);u=k;return}else{f[a>>2]=c;c=g+4|0;eh(a+4|0,c);if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);j=j+24|0;Ho(j);u=k;return}}function Lg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0)do{d=c;c=f[c>>2]|0;g=d+8|0;h=d+20|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){Lg(e);Co(e)}if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);Co(d)}while((c|0)!=0);h=a+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)Co(c);c=f[a+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}if((b[h+11>>0]|0)<0)Co(f[h>>2]|0);Co(g)}while((c|0)!=0);c=f[a>>2]|0;f[a>>2]=0;if(!c)return;Co(c);return}function Mg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;mf(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;mf(a+12|0,j,d);ye(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,3580);Kh(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Kh(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function Ng(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;h=k;i=k+8|0;p[h>>3]=0.0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=Uh(d)|0;if(g>>>0>4294967279)Tn(i);if(g>>>0<11){b[i+11>>0]=g;if(!g)a=i;else{a=i;j=6}}else{j=g+16&-16;a=Lk(j)|0;f[i>>2]=a;f[i+8>>2]=j|-2147483648;f[i+4>>2]=g;j=6}if((j|0)==6)cf(a|0,d|0,g|0)|0;b[a+g>>0]=0;If(c,i,h)|0;e=+p[h>>3];if((b[i+11>>0]|0)>=0){u=k;return +e}Co(f[i>>2]|0);u=k;return +e}function Og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;f[g>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=Uh(d)|0;if(e>>>0>4294967279)Tn(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Lk(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)cf(a|0,d|0,e|0)|0;b[a+e>>0]=0;vh(c,h,g)|0;a=f[g>>2]|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Co(f[h>>2]|0);u=j;return a|0}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}k=f[i>>2]|0;e=Lk(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;Co(g);return}function Qg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;if((d|0)!=1){f[a>>2]=0;u=j;return}g=f[b+12>>2]|0;d=f[b+4>>2]|0;b=h;e=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(e|0));ef(i,c,g,d,h);e=f[h+24>>2]|0;if(e|0){b=h+28|0;d=f[b>>2]|0;if((d|0)!=(e|0))f[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e)}f[a>>2]=f[i>>2];u=j;return}function Rg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;g=j;h=j+8|0;p[g>>3]=0.0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=Uh(d)|0;if(e>>>0>4294967279)Tn(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Lk(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)cf(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=If(c,h,g)|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Co(f[h>>2]|0);u=j;return a|0}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(b>>>0<64){e=f[a+8>>2]|0;if(e>>>0<=1){h=0;return h|0}b=f[c>>2]|0;c=1;d=0;do{d=(f[b+(d<<2)>>2]|0)>>>0>(f[b+(c<<2)>>2]|0)>>>0?c:d;c=c+1|0}while(c>>>0>>0);return d|0}h=a+576|0;g=f[h>>2]|0;e=32-g|0;c=a+572|0;b=f[c>>2]|0;d=f[b>>2]<>2]=a;g=b+4|0;f[c>>2]=g;h=32-a|0;h=(f[g>>2]|0)>>>h|d>>>(h-e|0);return h|0}d=d>>>28;g=g+4|0;f[h>>2]=g;if((g|0)!=32){h=d;return h|0}f[c>>2]=b+4;f[h>>2]=0;h=d;return h|0}function Tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;f[g>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=Uh(d)|0;if(e>>>0>4294967279)Tn(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Lk(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)cf(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=vh(c,h,g)|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Co(f[h>>2]|0);u=j;return a|0}function Ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>e>>>0:0)){k=b[(f[d>>2]|0)+e>>0]|0;g=Bl(e|0,g|0,1,0)|0;j=i;f[j>>2]=g;f[j+4>>2]=I;f[a+24>>2]=k&255;break}else{k=0;return k|0}}while(0);k=oc(a,c,d)|0;return k|0}function Vg(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Co(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}Co(d);return}function Wg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=Bl(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do if(e<<24>>24<0)if(Wg(a,c)|0){d=a;d=ml(f[d>>2]|0,f[d+4>>2]|0,7)|0;i=I;h=a;f[h>>2]=d;f[h+4>>2]=i;d=d|e&127;e=i;break}else{i=0;return i|0}else{d=e&255;e=0}while(0);i=a;f[i>>2]=d;f[i+4>>2]=e;i=1;return i|0}function Xg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=4124;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=po()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=uf(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function Yg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;nm(e,c,d)|0;b[j>>0]=0;qn(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;pg(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Zg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;if(!d){a=0;return a|0}e=f[c>>2]|0;if(!e){a=0;return a|0}g=f[e>>2]|0;oh(d,g,(f[e+4>>2]|0)-g|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;e=c+40|0;d=f[e+4>>2]|0;g=a+40|0;f[g>>2]=f[e>>2];f[g+4>>2]=d;g=c+48|0;d=f[g+4>>2]|0;e=a+48|0;f[e>>2]=f[g>>2];f[e+4>>2]=d;f[a+56>>2]=f[c+56>>2];c=c+8|0;a=a+8|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];a=1;return a|0}function _g(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){nh(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;kl(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;qn(e+i|0,k)}u=l;return a|0}function $g(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2996;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Sa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=3424;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Co(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b);Co(a);return}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=kc(a,b)|0;if(!b){c=0;return c|0}e=b+20|0;d=f[e>>2]|0;a=b+24|0;b=f[a>>2]|0;if((d|0)==(b|0)){c=0;return c|0}Bh(c,b-d|0,0);d=xj(c,0)|0;c=f[e>>2]|0;cf(d|0,c|0,(f[a>>2]|0)-c|0)|0;c=1;return c|0}function bh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Zm(a,f[c+8>>2]|0,g)|0)){if(Zm(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else lk(0,c,d,e);while(0);return}function ch(a){a=a|0;Ho(a+496|0);Ho(a+480|0);Ho(a+464|0);Ho(a+448|0);Ho(a+432|0);Ho(a+416|0);Ho(a+400|0);Ho(a+384|0);Ho(a+368|0);Ho(a+352|0);Ho(a+336|0);Ho(a+320|0);Ho(a+304|0);Ho(a+288|0);Ho(a+272|0);Ho(a+256|0);Ho(a+240|0);Ho(a+224|0);Ho(a+208|0);Ho(a+192|0);Ho(a+176|0);Ho(a+160|0);Ho(a+144|0);Ho(a+128|0);Ho(a+112|0);Ho(a+96|0);Ho(a+80|0);Ho(a+64|0);Ho(a+48|0);Ho(a+32|0);Ho(a+16|0);Ho(a);return}function dh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function eh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+16|0;e=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;c=f[c+4>>2]|0;if(c>>>0>4294967279)Tn(a);if(c>>>0<11)b[a+11>>0]=c;else{i=c+16&-16;h=Lk(i)|0;f[a>>2]=h;f[a+8>>2]=i|-2147483648;f[a+4>>2]=c;a=h}rm(a,d,c)|0;b[e>>0]=0;qn(a+c|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=g;return}function fh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(!a){d=1;return d|0}j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>h>>>0:0))){k=0;return k|0}k=b[(f[d>>2]|0)+h>>0]|0;h=Bl(h|0,g|0,1,0)|0;j=i;f[j>>2]=h;f[j+4>>2]=I;switch(k<<24>>24){case 0:{k=pc(a,c,d,e)|0;return k|0}case 1:{k=Kc(a,d,e)|0;return k|0}default:{k=0;return k|0}}return 0}function gh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function hh(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2996;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Sa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=3424;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Co(b);return}function ih(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3224;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));jk(b);d=a+372|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;$n(a+392|0);f[a+408>>2]=-1;f[a+412>>2]=-1;return}function jh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;ie(g,c);e=a+4|0;i=f[g>>2]|0;f[g>>2]=0;d=f[e>>2]|0;f[e>>2]=i;if(d){uh(d);Co(d);d=f[g>>2]|0;f[g>>2]=0;if(d|0){uh(d);Co(d)}}else f[g>>2]=0;if(!(f[e>>2]|0)){i=0;u=h;return i|0}i=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[g>>0]=0;mf(a+56|0,i,g);i=1;u=h;return i|0}function kh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1352;c=a+16|0;d=f[c>>2]|0;f[c>>2]=0;if(!d)return;c=d+88|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a)}a=f[d+68>>2]|0;if(a|0){c=d+72|0;b=f[c>>2]|0;if((b|0)!=(a|0))f[c>>2]=b+(~((b+-4-a|0)>>>2)<<2);Co(a)}c=d+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a)}Co(d);return}function lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)>=33)ra(17130,16604,63,17262);if((b|0)<=0)ra(17291,16604,64,17262);k=a+8|0;i=a+4|0;j=0-(h[a+12>>0]|0)&255;d=f[k>>2]|0;e=0;do{e=e<<1;if(d>>>0<4096?(g=f[i>>2]|0,(g|0)>0):0){m=f[a>>2]|0;l=g+-1|0;f[i>>2]=l;d=h[m+l>>0]|0|d<<8;f[k>>2]=d}n=d&255;l=X(d>>>8,j)|0;m=n>>>0>>0;d=m?l+n|0:d-j-l|0;f[k>>2]=d;e=m&1|e;b=b+-1|0}while((b|0)!=0);f[c>>2]=e;return}function mh(a,b){a=a|0;b=b|0;if(!b)return;else{mh(a,f[b>>2]|0);mh(a,f[b+4>>2]|0);sh(b+20|0,f[b+24>>2]|0);Co(b);return}}function nh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)Tn(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=Lk(k)|0;if(g|0)rm(j,l,g)|0;d=e-h-g|0;if(d|0)rm(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)Co(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){xg(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else Le(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Bl(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function ph(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=Lk(32)|0,Zk(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}e=Fj(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Kk(e|0,d|0,c|0,0)|0;if(!(oh(i,0,g,I)|0)){i=0;return i|0}si(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function qh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+20|0;j=h+16|0;g=h;e=b[a+24>>0]|0;f[g>>2]=f[902];f[g+4>>2]=f[903];f[g+8>>2]=f[904];f[g+12>>2]=f[905];f[j>>2]=c;f[i>>2]=f[j>>2];if(!(eb(a,i,e,g)|0)){j=0;u=h;return j|0}re(d,g,g+(e<<24>>24<<2)|0);j=1;u=h;return j|0}function rh(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=e>>>0>1073741823?-1:e<<2;h=zo(g)|0;dh(h|0,0,g|0)|0;g=a+8|0;dg(g,h,b,c);if((e|0)>=(d|0)){Ao(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;dg(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Ao(h);return 1}function sh(a,c){a=a|0;c=c|0;var d=0;if(!c)return;sh(a,f[c>>2]|0);sh(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)Co(f[d>>2]|0);if((b[a+11>>0]|0)<0)Co(f[a>>2]|0);Co(c);return}function th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(Zm(a,b,0)|0))if((b|0)!=0?(e=yf(b,1072,1056,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Va[f[(f[e>>2]|0)+28>>2]&7](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function uh(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function vh(a,c,d){a=a|0;c=c|0;d=d|0;a=kc(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=4){d=0;return d|0}a=c;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;d=1;return d|0}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,h=0,i=0;g=e>>>0>1073741823?-1:e<<2;h=zo(g)|0;dh(h|0,0,g|0)|0;g=a+8|0;gg(g,h,b,c);if((e|0)>=(d|0)){Ao(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;gg(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Ao(h);return 1}function xh(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function yh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=c+8|0;i=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){i=0;return i|0}h=b[(f[c>>2]|0)+e>>0]|0;i=Bl(e|0,d|0,1,0)|0;d=g;f[d>>2]=i;f[d+4>>2]=I;d=h&255;do if(d&128)if(yh(a,c)|0){d=f[a>>2]<<7;f[a>>2]=d;d=d|h&127;break}else{i=0;return i|0}while(0);f[a>>2]=d;i=1;return i|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+4>>2]|0;if(!d){e=0;return e|0}if((c|0)<=-1)ra(17381,17397,59,17494);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))ra(17504,17397,60,17494);e=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;a=f[d+40>>2]|0;b=f[d+44>>2]|0;if((a|0)==(b|0)){e=0;return e|0}else c=a;while(1){a=f[c>>2]|0;c=c+4|0;if((f[a+40>>2]|0)==(e|0)){c=9;break}if((c|0)==(b|0)){a=0;c=9;break}}if((c|0)==9)return a|0;return 0}function Ah(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}Co(a);return}function Bh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;qn(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;qn(a+c|0,h);b[g>>0]=c;break}else _g(a,c-e|0,d)|0;while(0);u=j;return}function Ch(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;i=j+4|0;f[h>>2]=c;c=Lk(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=24;d=c;e=14811;g=d+24|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+24>>0]=0;Hh(rc(a,h)|0,i,1);if((b[i+11>>0]|0)>=0){u=j;return}Co(f[i>>2]|0);u=j;return}function Dh(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0)Co(b);b=f[a>>2]|0;if(!b)return;Co(b);return}function Eh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3424;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Co(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b);Co(a);return}function Fh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(gj(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Pa[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Gh(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3424;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Co(b);return}function Hh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;Yi(e,d&1);a=mg(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}Lf(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Ih(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(Io(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Fh(c,a)|0;Ho(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Fh(c,a)|0}while(0);return d|0}function Jh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2108;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c){Co(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);Co(a);return}function Kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}j=(f[d>>2]|0)-c|0;h=j>>2;i=Lk(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)cf(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;Co(c);return}function Lh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1744;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c){Co(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);Co(a);return}function Mh(a){a=a|0;var b=0,c=0,d=0;Ho(a+168|0);b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+136|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d)}Ho(a+120|0);Ho(a+80|0);Ho(a+64|0);Ho(a+24|0);return}function Nh(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0;b=f[a+32>>2]|0;j=b+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=Bl(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((j|0)<(d|0)|(j|0)==(d|0)&i>>>0>>0){j=0;return j|0}j=(f[b>>2]|0)+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=g;f[i>>2]=c;f[i+4>>2]=d;f[(f[a+4>>2]|0)+80>>2]=j;j=1;return j|0}function Ph(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Vn(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Qh(a){a=a|0;var b=0,c=0;f[a>>2]=1744;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Rh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3056;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));jk(b);return}function Sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)Tn(a);g=Lk(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;cf(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Th(a,c,d){a=a|0;c=c|0;d=d|0;c=bf(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Ph(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Uh(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Pa[f[(f[g>>2]|0)+20>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Wh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3108;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3132;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Ze(a+40|0,b);a=1;return a|0}return 0}function Yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Tn(a);e=Lk(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{Sh(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Pa[f[(f[g>>2]|0)+16>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function _h(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=sl(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+_h(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function $h(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3200;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3180;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function ai(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2164;b=f[a+76>>2]|0;if(b|0)Co(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ao(b);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function bi(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);mh(a+12|0,f[a+16>>2]|0);sh(a,f[a+4>>2]|0);Co(a);return}function ci(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}if(!(f[a+36>>2]|0)){a=0;return a|0}a=(f[a+72>>2]|0)!=-1;return a|0}function di(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[18259+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=18347;e=5;break}}if((e|0)==2)if(!d)d=18347;else{a=18347;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return _n(d,f[c+20>>2]|0)|0}function ei(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3108;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3132;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b)return;Co(b);return}function fi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1800;b=f[a+76>>2]|0;if(b|0)Co(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ao(b);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function gi(a){a=a|0;if(!(f[a+64>>2]|0)){a=0;return a|0}if(!(f[a+68>>2]|0)){a=0;return a|0}if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}if(!(f[a+56>>2]|0)){a=0;return a|0}a=(f[a+92>>2]|0)!=-1;return a|0}function hi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3200;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3180;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b)return;Co(b);return}function ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Lk(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=zf(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;uh(a);Co(a);return}function ji(a,b,c){a=a|0;b=b|0;c=c|0;switch(c<<24>>24){case 0:{c=Lk(20)|0;Fl(c);break}case 1:{c=Lk(24)|0;fm(c);break}case 2:{c=Lk(36)|0;Tk(c);break}case 3:{c=Lk(28)|0;Zl(c);break}default:c=0}f[a>>2]=c;return}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=cm(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return cm((tc(h,g,cm(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function li(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){zi(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function mi(a){a=a|0;var b=0,c=0;f[a>>2]=2164;b=f[a+76>>2]|0;if(b|0)Co(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Ak(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=en(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function oi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3564;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+84>>2]|0;if(!b){Re(a);Co(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Re(a);Co(a);return}function pi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;$b(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){Uj(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function ri(a){a=a|0;var b=0,c=0;f[a>>2]=1800;b=f[a+76>>2]|0;if(b|0)Co(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function si(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function ti(a,b,c){a=a|0;b=b|0;c=c|0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Na[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){a=0;return a|0}a=oc(a,b,c)|0;return a|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)ra(17558,17583,63,17666);d=f[a+96>>2]|0;if((((f[a+100>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;te(c,a,a+12|0);return 1}else ra(17671,17583,64,17666);return 0}function vi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Ld(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Hj(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Co(f[c>>2]|0);u=e;return d|0}function wi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3564;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+84>>2]|0;if(!b){Re(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Re(a);return}function xi(a,b,c){a=a|0;b=b|0;c=c|0;if(!($k(a,b,c)|0)){c=0;return c|0}b=f[b+4>>2]|0;if((c|0)<=-1)ra(17381,17397,67,17494);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))ra(17504,17397,68,17494);c=(f[(f[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function yi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Md(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Hj(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Co(f[c>>2]|0);u=e;return d|0}function zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else xg(a,b-g|0);a=a+24|0;h=a;h=Bl(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Ai(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2220;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Bi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0;e=h[a+12>>0]|0;g=a+8|0;b=f[g>>2]|0;if(b>>>0<4096?(d=a+4|0,c=f[d>>2]|0,(c|0)>0):0){i=f[a>>2]|0;a=c+-1|0;f[d>>2]=a;b=h[i+a>>0]|0|b<<8;f[g>>2]=b}d=b&255;a=0-e&255;e=X(b>>>8,a)|0;i=d>>>0>>0;f[g>>2]=i?e+d|0:b-a-e|0;return i|0}function Ci(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1856;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Di(a,b){a=a|0;b=b|0;var c=0,d=0;d=Lk(40)|0;f[d>>2]=-1;Zk(d+8|0);Ta[f[(f[a>>2]|0)+16>>2]&7](a,d);c=b+88|0;b=f[c>>2]|0;f[c>>2]=d;if(!b)return 1;a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b);return 1}function Ei(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1240;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+4>>2]|0;if(!b){Co(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|b|0)<0){a=0;return a|0}d=b*3|0;if((b|0)>715827882){a=0;return a|0}ye(a,d,3552);ye(a+12|0,d,3548);Kh(a+24|0,c);a=1;return a|0}function Gi(a){a=a|0;var b=0,c=0,d=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=f[b>>2]|0;b=b+4|0;if(!(Oa[f[(f[d>>2]|0)+16>>2]&127](d,f[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 Hi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Zm(a,f[b+8>>2]|0,g)|0)gh(0,b,c,d,e);else{a=f[a+8>>2]|0;Xa[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Ii(a){a=a|0;var b=0,c=0;f[a>>2]=2220;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Ji(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2276;Ho(a+108|0);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Ki(a){a=a|0;var b=0,c=0;f[a>>2]=2868;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1460;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){kh(a);Co(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);kh(a);Co(a);return}function Li(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;Bh(a,c,0);return}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;e=a;if((c|0)==(a|0)){b=0;return b|0}d=c-a>>2;c=0;while(1){a=f[e+(c<<2)>>2]|0;if((f[a+60>>2]|0)==(b|0)){c=5;break}c=c+1|0;if(c>>>0>=d>>>0){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function Ni(a){a=a|0;var b=0,c=0;f[a>>2]=1856;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Oi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1912;Ho(a+108|0);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Pi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1240;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function Qi(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;dh(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Lm(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Lm(a,f,e)}u=g;return}function Ri(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;d=a;if((c|0)==(a|0)){b=-1;return b|0}c=c-a>>2;a=0;while(1){if((f[(f[d+(a<<2)>>2]|0)+60>>2]|0)==(b|0)){c=5;break}a=a+1|0;if(a>>>0>=c>>>0){a=-1;c=5;break}}if((c|0)==5)return a|0;return 0}function Si(a){a=a|0;var b=0,c=0;f[a>>2]=2868;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1460;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){kh(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);kh(a);return}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)ra(17381,17397,67,17494);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else ra(17504,17397,68,17494);return 0}function Ui(a){a=a|0;var b=0,c=0;f[a>>2]=2276;Ho(a+108|0);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function Vi(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Oa[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function Wi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;c=f[a>>2]|0;d=a+4|0;g=f[d>>2]|0;e=c;b=g+(~((g+-4-e|0)>>>2)<<2)|0;if((g|0)==(c|0))b=c;else f[d>>2]=b;f[a+16>>2]=0;f[a+12>>2]=b;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);Co(c);return}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Zm(a,f[b+8>>2]|0,0)|0)pi(0,b,c,d);else{a=f[a+8>>2]|0;Va[f[(f[a>>2]|0)+28>>2]&7](a,b,c,d)}return}function Yi(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Li(d);Fg(a,d,b);jm(d);u=c;return}function Zi(a){a=a|0;var b=0,c=0;f[a>>2]=1912;Ho(a+108|0);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function _i(a,b){a=a|0;b=b|0;var c=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){c=1;return c|0}c=Oa[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return c|0}function $i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((qm(Aa(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function aj(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function bj(a,b){a=a|0;b=b|0;var c=0;qk(a);f[a>>2]=1400;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function cj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;if(!(ph(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){a=0;return a|0}a=Pa[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return a|0}function ej(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=kf(f[(f[a+36>>2]|0)+(c<<2)>>2]|0)|0;return a|0}function fj(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function gj(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function hj(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function ij(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;e=g;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[e>>2]=f[a+60>>2],f[e+4>>2]=21523,f[e+8>>2]=g+16,Ca(54,e|0)|0):0)b[a+75>>0]=-1;e=gf(a,c,d)|0;u=g;return e|0}function jj(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function kj(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{ic(a,0,0);return}}function lj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;re(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function mj(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;za(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;za(12);return -1}return b|0}function nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function oj(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(Io(d)|0)==0;a=qg(a,e,d)|0;if(!g)Ho(d)}else a=qg(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function qj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function rj(a,c){a=a|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;e=d;Kg(e,c);a=f[e+16>>2]|0;c=e+4|0;if((b[c+11>>0]|0)>=0){u=d;return a|0}Co(f[c>>2]|0);u=d;return a|0}function sj(a,b){a=a|0;b=b|0;if(!(Oa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function tj(a,c,d){a=a|0;c=c|0;d=d|0;if(!($k(a,c,d)|0)){a=0;return a|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){a=0;return a|0}a=(f[d+28>>2]|0)==9;return a|0}function uj(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function vj(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function wj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Zm(a,f[b+8>>2]|0,g)|0)gh(0,b,c,d,e);return}function xj(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)d=f[a+4>>2]|0;else d=d&255;if(d>>>0<=c>>>0)Tn(a);if(e)a=f[a>>2]|0;return a+c|0}function yj(a){a=a|0;var b=0,c=0;f[a>>2]=1460;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){kh(a);Co(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);kh(a);Co(a);return}function zj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Aj(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Bj(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;mf(a+20|0,e,d);u=c;return}function Cj(a,c){a=a|0;c=c|0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;c=1}else c=0;return c|0}function Dj(){var a=0,b=0;a=Lk(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Ej(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;mf(a+20|0,e,d);u=c;return}function Fj(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 Gj(a){a=a|0;f[a>>2]=3156;Dg(a+8|0);Co(a);return}function Hj(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Yg(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Jj(a){a=a|0;var c=0,d=0;b[a+36>>0]=0;d=Bl(f[a+32>>2]|0,0,7,0)|0;d=sl(d|0,I|0,3)|0;a=a+16|0;c=a;c=Bl(d|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;f[a>>2]=c;f[a+4>>2]=I;return}function Kj(a){a=a|0;var b=0,c=0;f[a>>2]=1460;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){kh(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);kh(a);return}function Lj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ra(6112,6118,76,6271);return 0}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0;d=Uh(b)|0;c=Lk(d+13|0)|0;f[c>>2]=d;f[c+4>>2]=d;f[c+8>>2]=0;c=wn(c)|0;cf(c|0,b|0,d+1|0)|0;f[a>>2]=c;return}function Nj(a){a=a|0;f[a>>2]=3156;Dg(a+8|0);return}function Oj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;jc(a,b,c,d,e);return}function Pj(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function Qj(a){a=a|0;var b=0,c=0;f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function Rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Zm(a,f[b+8>>2]|0,0)|0)pi(0,b,c,d);return}function Sj(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function Tj(a){a=a|0;var b=0;f[a>>2]=3424;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function Uj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else cf(a,c,d)|0;return a|0}function Vj(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function Wj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1212;b=f[a+8>>2]|0;if(!b){Co(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Xj(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)ra(17381,17397,59,17494);c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)>(b|0))return f[c+(b<<2)>>2]|0;else ra(17504,17397,60,17494);return 0}function Yj(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function Zj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[18241+(a&15)>>0]|0|e;a=sl(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Pa[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function $j(){var a=0,b=0;b=Ik()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)vm(f[a+12>>2]|0);vm(Hn()|0)}function ak(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function bk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}Co(a);return}function ck(a){a=a|0;var b=0,c=0;if(go(a)|0?(b=Cn(f[a>>2]|0)|0,c=b+8|0,a=f[c>>2]|0,f[c>>2]=a+-1,(a+-1|0)<0):0)Co(b);return}function dk(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function ek(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function fk(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function gk(a){a=a|0;var b=0,c=0;f[a>>2]=1212;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function hk(a,b){a=a|0;b=b|0;return cg(a+8|0,b)|0}function ik(a,b,c){a=a|0;b=b|0;c=c|0;Gb(a,b,c);return}function jk(a){a=a|0;fk(a);fk(a+40|0);$n(a+80|0);fk(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function kk(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(11802,6578,61,11813);return 0}function lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function mk(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(11802,11397,65,11813);return 0}function nk(a){a=a|0;var b=0;f[a>>2]=3132;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function ok(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=sl(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function pk(){var a=0,b=0;a=Lk(24)|0;f[a>>2]=1212;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function qk(a){a=a|0;f[a>>2]=1240;a=a+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function rk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;cf(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function sk(a,b){a=a|0;b=b|0;return Of(a+8|0,b)|0}function tk(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(11802,6898,70,11813);return 0}function uk(a){a=a|0;var c=0;qj(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function vk(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a);return}function wk(a){a=a|0;var b=0;f[a>>2]=3180;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function xk(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function yk(a,b,c){a=a|0;b=$(b);c=c|0;var d=La;if((c|0)<1){a=0;return a|0}d=$($(1.0)/$(c|0));n[a+4>>2]=d;n[a>>2]=b;a=1;return a|0}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return fe(a,b,c)|0}function Ak(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;tc(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Bk(a){a=a|0;f[a>>2]=2476;Ho(a+88|0);Co(a);return}function Ck(a){a=a|0;var b=0;f[a>>2]=3132;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b)return;Co(b);return}function Dk(a){a=a|0;fn(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Ek(a){a=a|0;wl(a);f[a>>2]=3564;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Fk(a){a=a|0;f[a>>2]=2560;Ho(a+88|0);Co(a);return}function Gk(a){a=a|0;f[a>>2]=2700;Ho(a+88|0);Co(a);return}function Hk(a){a=a|0;f[a>>2]=2476;Ho(a+88|0);return}function Ik(){var a=0,b=0;a=u;u=u+16|0;if(!(Ia(21288,3)|0)){b=Ga(f[5323]|0)|0;u=a;return b|0}else ql(20429,a);return 0}function Jk(a){a=a|0;var b=0;f[a>>2]=3180;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b)return;Co(b);return}function Kk(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=Ij(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function Lk(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Ya(b)|0;if(a|0)break;a=En()|0;if(!a){a=0;break}Ra[a&3]()}return a|0}function Mk(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Fo(f[a+60>>2]|0)|0;f[c>>2]=a;a=qm(Da(6,c|0)|0)|0;u=b;return a|0}function Nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kd(b,c,d)|0}function Ok(a){a=a|0;f[a>>2]=2784;Ho(a+88|0);Co(a);return}function Pk(a){a=a|0;var b=0;b=u;u=u+16|0;Ob(a);if(!(Ja(f[5323]|0,0)|0)){u=b;return}else ql(20528,b)}function Qk(a){a=a|0;f[a>>2]=2560;Ho(a+88|0);return}function Rk(a){a=a|0;f[a>>2]=2700;Ho(a+88|0);return}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return fe(b,c,d)|0}function Tk(a){a=a|0;fm(a);f[a>>2]=2868;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function Uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zk(b,c,d)|0}function Vk(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+8>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function Xk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Xg(a,b,c,g)|0;u=e;return d|0}function Yk(a){a=a|0;f[a>>2]=2784;Ho(a+88|0);return}function Zk(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function _k(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function $k(a,b,c){a=a|0;b=b|0;c=c|0;return Ti(a,b,c)|0}function al(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 Qa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function bl(a,b,c){a=a|0;b=b|0;c=c|0;return Pj(b,c)|0}function cl(a){a=a|0;od(a);Co(a);return}function dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fe(b,c,d)|0}function el(){var a=0;a=u;u=u+16|0;if(!(Ha(21292,103)|0)){u=a;return}else ql(20478,a)}function fl(a){a=a|0;pd(a);Co(a);return}function gl(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;Xa[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function hl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=uf(f[999]|0,a,d)|0;u=c;return b|0}function il(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Na[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function jl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return qh(b,c,d)|0}function kl(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)dh(a|0,(ao(c)|0)&255|0,b|0)|0;return a|0}function ll(a){a=a|0;return 4}function ml(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Oa[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function ol(a){a=a|0;var c=0;if(!a)return;c=a+4|0;if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);Co(a);return}function pl(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Oa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function ql(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[906]|0;uf(b,a,c)|0;Ih(10,b)|0;Ea()}function rl(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Oa[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function sl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function tl(a,b,c){a=a|0;b=b|0;c=c|0;return vi(a,b,c)|0}function ul(a){a=a|0;Qc(a);Co(a);return}function vl(a){a=a|0;return 5}function wl(a){a=a|0;var b=0;f[a>>2]=3592;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function xl(a){a=a|0;return 6}function yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ui(b,c,d)|0}function zl(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Al(){}function Bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Cl(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Nf(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;return bl(a,b,c)|0}function El(a,b,c){a=a|0;b=b|0;c=c|0;return we(b,c)|0}function Fl(a){a=a|0;f[a>>2]=1352;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Gl(a,b){a=a|0;b=b|0;Ch(a,b);return}function Hl(a){a=a|0;a=a+4|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function Il(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Wa[a&3](b|0,c|0,d|0,e|0,f|0)}function Jl(a,b,c){a=a|0;b=b|0;c=c|0;return yi(a,b,c)|0}function Kl(a,b,c){a=a|0;b=b|0;c=c|0;return Bg(a,b,c)|0}function Ll(a,b,c){a=a|0;b=b|0;c=c|0;return Rg(a,b,c)|0}function Ml(a,b,c){a=a|0;b=b|0;c=c|0;return ng(a,b,c)|0}function Nl(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Ng(a,b,c))}function Ol(a){a=a|0;a=f[a+48>>2]|0;return Na[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Pl(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Ql(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function Rl(a){a=a|0;a=f[a+48>>2]|0;return Na[f[(f[a>>2]|0)+24>>2]&127](a)|0}function Sl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Tl(a,b,c){a=a|0;b=b|0;c=c|0;return zh(a,b,c)|0}function Ul(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function Vl(a,b,c){a=a|0;b=b|0;c=c|0;return lm(b,c)|0}function Wl(a){a=a|0;a=f[a+48>>2]|0;return Na[f[(f[a>>2]|0)+36>>2]&127](a)|0}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;return Tg(a,b,c)|0}function Yl(a,b,c){a=a|0;b=b|0;c=c|0;return Og(a,b,c)|0}function Zl(a){a=a|0;fm(a);f[a>>2]=2360;f[a+24>>2]=-1;return}function _l(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function $l(a,b,c){a=a|0;b=b|0;c=c|0;return Qf(b,c)|0}function am(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function bm(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=$(0.0);return}function cm(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 (I=d,a-c>>>0|0)|0}function dm(){var a=0;a=Lk(40)|0;f[a>>2]=-1;Zk(a+8|0);return a|0}function em(){var a=0;a=Lk(8)|0;f[a>>2]=1184;f[a+4>>2]=-1;return a|0}function fm(a){a=a|0;Fl(a);f[a>>2]=1460;f[a+20>>2]=0;return}function gm(a,b){a=a|0;b=b|0;Gl(a,b);return}function hm(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function im(a,b){a=a|0;b=b|0;return rj(a,b)|0}function jm(a){a=a|0;if((b[a+11>>0]|0)<0)Co(f[a>>2]|0);return}function km(a){a=a|0;if(!a)return;Sa[f[(f[a>>2]|0)+4>>2]&127](a);return}function lm(a,b){a=a|0;b=b|0;return Mi(a,b)|0}function mm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Va[a&7](b|0,c|0,d|0,e|0)}function nm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Uj(a|0,b|0,c|0)|0;return a|0}function om(a){a=a|0;var b=0;b=a+60|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function pm(a,b,c){a=a|0;b=b|0;c=c|0;return Xj(b,c)|0}function qm(a){a=a|0;var b=0;if(a>>>0>4294963200){b=po()|0;f[b>>2]=0-a;a=-1}return a|0}function rm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)cf(a|0,b|0,c|0)|0;return a|0}function sm(a,b){a=a|0;b=b|0;return -1}function tm(a){a=a|0;if(!a)a=0;else a=(yf(a,1072,1160,0)|0)!=0;return a&1|0}function um(a){a=a|0;return 3}function vm(a){a=a|0;var b=0;b=u;u=u+16|0;Ra[a&3]();ql(20581,b)}function wm(a){a=a|0;Yf(a);Co(a);return}function xm(a){a=a|0;Gm(a);f[a>>2]=2996;f[a+48>>2]=0;return}function ym(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 zm(a,b,c){a=a|0;b=b|0;c=c|0;Vk(a,b,c);return}function Am(a,b){a=a|0;b=b|0;f[a>>2]=4728;Mj(a+4|0,b);return}function Bm(a){a=a|0;if(!a)return;Ho(a+24|0);Co(a);return}function Cm(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Dm(){var a=0;a=Lk(64)|0;qj(a);return a|0}function Em(a,b){a=a|0;b=b|0;return $(Km(a,b))}function Fm(a){a=a|0;return f[a+8>>2]|0}function Gm(a){a=a|0;Tj(a);f[a>>2]=2936;f[a+44>>2]=0;return}function Hm(a){a=a|0;if(!a)return;Lg(a);Co(a);return}function Im(a,b){a=a|0;b=b|0;return rn(a,b)|0}function Jm(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Km(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function Lm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))qg(b,c,a)|0;return}function Mm(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Nm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ua[a&15](b|0,c|0,d|0)}function Om(){var a=0;a=Lk(96)|0;uk(a);return a|0}function Pm(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Qm(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Rm(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Gg(a,b,0)|0;return a|0}function Sm(a){a=a|0;var b=0;b=(yo()|0)+188|0;return di(a,f[b>>2]|0)|0}function Tm(){var a=0;a=Lk(12)|0;hn(a);return a|0}function Um(){var a=0;a=Lk(40)|0;fk(a);return a|0}function Vm(a,b){a=a|0;b=b|0;return bn(a,b)|0}function Wm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Xm(a){a=a|0;kh(a);Co(a);return}function Ym(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Zm(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function _m(a){a=a|0;qk(a);f[a>>2]=1296;return}function $m(a,b){a=a|0;b=b|0;var c=0;c=nn(a|0)|0;return ((b|0)==0?a:c)|0}function an(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function bn(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function cn(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function dn(a,b){a=a|0;b=b|0;return 1}function en(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return tc(a,b,c,d,0)|0}function fn(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function gn(){var a=0;a=Lk(84)|0;wl(a);return a|0}function hn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function jn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function kn(a){a=a|0;f[a>>2]=4728;ck(a+4|0);return}function ln(a,b,c){a=a|0;b=b|0;c=c|0;return Oa[a&127](b|0,c|0)|0}function mn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function nn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function on(a){a=a|0;Gm(a);f[a>>2]=3340;return}function pn(){var a=0;a=Lk(1)|0;Ho(a);return a|0}function qn(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function rn(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function sn(a){a=a|0;return $(n[a+20>>2])}function tn(a){a=a|0;return f[a+4>>2]|0}function un(a){a=a|0;if(!a)return;Co(a);return}function vn(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function wn(a){a=a|0;return a+12|0}function xn(a){a=a|0;return f[a+88>>2]|0}function yn(a,b,c){a=a|0;b=b|0;c=c|0;Ta[a&7](b|0,c|0)}function zn(){var a=0;a=Lk(40)|0;Dk(a);return a|0}function An(){var a=0;a=Lk(108)|0;Ek(a);return a|0}function Bn(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function Cn(a){a=a|0;return a+-12|0}function Dn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function En(){var a=0;a=f[5324]|0;f[5324]=a+0;return a|0}function Fn(a){a=a|0;return eo(a+4|0)|0}function Gn(a){a=a|0;return f[a+56>>2]|0}function Hn(){var a=0;a=f[1158]|0;f[1158]=a+0;return a|0}function In(a){a=a|0;Re(a);Co(a);return}function Jn(a){a=a|0;Ho(a);Co(a);return}function Kn(a){a=a|0;return b[a+24>>0]|0}function Ln(a,b){a=a|0;b=b|0;return 0}function Mn(a){a=a|0;return f[a+40>>2]|0}function Nn(a){a=a|0;return f[a+48>>2]|0}function On(a,b){a=a|0;b=b|0;return Na[a&127](b|0)|0}function Pn(a){a=a|0;return f[a+60>>2]|0}function Qn(a){a=a|0;return f[a+28>>2]|0}function Rn(a){a=a|0;ta(a|0)|0;$j()}function Sn(a){a=a|0;kn(a);Co(a);return}function Tn(a){a=a|0;Ea()}function Un(a,b){a=a|0;b=b|0;u=a;v=b}function Vn(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Wn(a){a=a|0;return (f[a>>2]|0)==0|0}function Xn(a){a=a|0;return f[a+80>>2]|0}function Yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Zn(a,b){a=a|0;b=b|0;Sa[a&127](b|0)}function _n(a,b){a=a|0;b=b|0;return Cl(a,b)|0}function $n(a){a=a|0;b[a+12>>0]=0;return}function ao(a){a=a|0;return a&255|0}function bo(a){a=a|0;f[a>>2]=0;return}function co(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function eo(a){a=a|0;return f[a>>2]|0}function fo(a){a=a|0;return 2}function go(a){a=a|0;return 1}function ho(a,b){a=+a;b=b|0;return +(+_h(a,b))}function io(){return 3}function jo(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function ko(){return -4}function lo(){return 4}function mo(){return -3}function no(){return 1}function oo(){return 2}function po(){return (yo()|0)+64|0}function qo(){return -5}function ro(a,b){a=a|0;b=b|0;aa(1);return 0}function so(a){a=a|0;Ra[a&3]()}function to(){return -2}function uo(){va()}function vo(){return -1}function wo(a,b){a=a|0;b=b|0;aa(6)}function xo(){return 0}function yo(){return Mo()|0}function zo(a){a=a|0;return Lk(a)|0}function Ao(a){a=a|0;Co(a);return}function Bo(a){a=a|0;u=a}function Co(a){a=a|0;Ob(a);return}function Do(a){a=a|0;I=a}function Eo(){return 21224}function Fo(a){a=a|0;return a|0}function Go(a){a=a|0;aa(0);return 0}function Ho(a){a=a|0;return}function Io(a){a=a|0;return 0}function Jo(){return I|0}function Ko(){return u|0}function Lo(a){a=a|0;aa(5)}function Mo(){return 3752}function No(){aa(4)} +function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[5182]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=20768+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[5182]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[5184]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=20768+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[5187]|0;b=l>>>3;c=20768+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5184]=g;f[5187]=e;w=h;u=x;return w|0}i=f[5183]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[21032+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=21032+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[5183]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[5187]|0;b=l>>>3;c=20768+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5184]=j;f[5187]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[5183]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[21032+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[21032+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[5184]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=21032+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=20768+(b<<1<<2)|0;a=f[5182]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=21032+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[5184]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[5187]|0;if(a>>>0>15){w=b+m|0;f[5187]=w;f[5184]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[5184]=0;f[5187]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[5185]|0;if(h>>>0>m>>>0){t=h-m|0;f[5185]=t;w=f[5188]|0;v=w+m|0;f[5188]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[5300]|0)){f[5302]=4096;f[5301]=4096;f[5303]=-1;f[5304]=-1;f[5305]=0;f[5293]=0;a=n&-16^1431655768;f[n>>2]=a;f[5300]=a;a=4096}else a=f[5302]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[5292]|0;if(a|0?(l=f[5290]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[5293]&4)){c=f[5188]|0;c:do if(c){e=21176;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=mj(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=mj(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[5301]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[5290]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[5292]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=mj(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[5302]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((mj(a|0)|0)==(-1|0)){mj(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[5293]=f[5293]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=mj(k|0)|0,q=mj(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[5290]|0)+g|0;f[5290]=b;if(b>>>0>(f[5291]|0)>>>0)f[5291]=b;j=f[5188]|0;do if(j){e=21176;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[5185]|0)+(g-w)|0;f[5188]=v;f[5185]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5189]=f[5304];break}if(h>>>0<(f[5186]|0)>>>0)f[5186]=h;c=h+g|0;a=21176;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[5187]|0)){w=(f[5184]|0)+i|0;f[5184]=w;f[5187]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[5182]=f[5182]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=21032+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[5183]=f[5183]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=20768+(b<<1<<2)|0;a=f[5182]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=21032+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[5183]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[5185]|0)+i|0;f[5185]=w;f[5188]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=21176;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[5188]=v;f[5185]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[5189]=f[5304];c=a+4|0;f[c>>2]=27;f[b>>2]=f[5294];f[b+4>>2]=f[5295];f[b+8>>2]=f[5296];f[b+12>>2]=f[5297];f[5294]=h;f[5295]=g;f[5297]=0;f[5296]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=20768+(b<<1<<2)|0;a=f[5182]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=21032+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[5183]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[5186]|0;if((w|0)==0|h>>>0>>0)f[5186]=h;f[5294]=h;f[5295]=g;f[5297]=0;f[5191]=f[5300];f[5190]=-1;b=0;do{w=20768+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[5188]=v;f[5185]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5189]=f[5304]}while(0);b=f[5185]|0;if(b>>>0>m>>>0){t=b-m|0;f[5185]=t;w=f[5188]|0;v=w+m|0;f[5188]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=po()|0;f[w>>2]=12;w=0;u=x;return w|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=u;u=u+80|0;ca=ja+56|0;ga=ja+40|0;ha=ja+16|0;ea=ja+4|0;L=ja+36|0;Y=ja;f[ga>>2]=0;ia=ga+4|0;f[ia>>2]=0;f[ga+8>>2]=0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;n[ha+16>>2]=$(1.0);f[ea>>2]=0;fa=ea+4|0;f[fa>>2]=0;f[ea+8>>2]=0;M=(f[a+212>>2]|0)==(f[a+216>>2]|0);da=a+120|0;W=f[a+124>>2]|0;a:do if((c|0)>0){V=a+224|0;O=a+412|0;z=a+300|0;N=a+408|0;A=a+296|0;B=a+288|0;C=a+292|0;E=a+8|0;G=ha+4|0;D=a+380|0;H=ea+8|0;I=ga+8|0;U=a+36|0;F=a+40|0;T=c+-1|0;P=a+392|0;y=0;while(1){i=y+1|0;if((f[O>>2]|0)!=-1?Bi(P)|0:0){d=f[O>>2]|0;f[N>>2]=d;if(!d)X=17;else X=34}else X=6;b:do if((X|0)==6){do if(!(b[z>>0]|0))d=1;else{e=f[A>>2]|0;l=f[B>>2]|0;m=f[C>>2]|0;d=l+(e>>>3)|0;if(d>>>0>>0?(X=h[d>>0]|0,K=e+1|0,f[A>>2]=K,X&1<<(e&7)|0):0){d=l+(K>>>3)|0;if(d>>>0>>0){k=(h[d>>0]|0)>>>(K&7)&1;e=e+2|0;f[A>>2]=e}else{e=K;k=0}d=l+(e>>>3)|0;if(d>>>0>>0){d=(h[d>>0]|0)>>>(e&7);f[A>>2]=e+1;d=d<<1&2}else d=0;d=(d|k)<<1|1;break}f[N>>2]=0;X=17;break b}while(0);f[N>>2]=d;X=34}while(0);c:do if((X|0)==17){X=0;d=f[ia>>2]|0;if((f[ga>>2]|0)==(d|0)){d=-1;X=186;break a}x=d+-4|0;r=f[x>>2]|0;w=f[E>>2]|0;q=(r|0)<0;e=r+1|0;if(!q?(R=((e|0)%3|0|0)==0?r+-2|0:e,(R|0)>=0):0)v=f[(f[w>>2]|0)+(R<<2)>>2]|0;else v=-1073741824;s=f[w+24>>2]|0;k=f[s+(v<<2)>>2]|0;e=k+1|0;t=s;if((k|0)>=0)k=((e|0)%3|0|0)==0?k+-2|0:e;p=y*3|0;l=p+1|0;m=f[w+12>>2]|0;f[m+(r<<2)>>2]=l;f[m+(l<<2)>>2]=r;o=p+2|0;f[m+(k<<2)>>2]=o;f[m+(o<<2)>>2]=k;m=f[w>>2]|0;f[m+(p<<2)>>2]=v;e=k+1|0;if((k|0)>=0?(S=((e|0)%3|0|0)==0?k+-2|0:e,(S|0)>=0):0)e=f[m+(S<<2)>>2]|0;else e=-1073741824;f[m+(l<<2)>>2]=e;if(!q?(Q=(((r>>>0)%3|0|0)==0?2:-1)+r|0,(Q|0)>=0):0){e=f[m+(Q<<2)>>2]|0;f[m+(o<<2)>>2]=e;if((e|0)!=-1073741824){k=o;e=s+(e<<2)|0;X=31}}else{k=-1073741824;e=m+(o<<2)|0;X=31}if((X|0)==31)f[e>>2]=k;if(((f[w+28>>2]|0)-t>>2|0)>(W|0)){d=-1;X=186;break a}X=(f[da>>2]|0)+(v>>>5<<2)|0;f[X>>2]=f[X>>2]&~(1<<(v&31));f[x>>2]=p;X=118}else if((X|0)==34){X=0;e=(d|0)==5;switch(d|0){case 3:case 5:{d=f[ia>>2]|0;if((f[ga>>2]|0)==(d|0)){d=-1;X=186;break a}p=f[d+-4>>2]|0;r=y*3|0;o=e?r:r+2|0;q=(e&1)+r|0;l=(e?2:1)+r|0;x=f[E>>2]|0;k=f[x+12>>2]|0;f[k+(l<<2)>>2]=p;f[k+(p<<2)>>2]=l;k=x+24|0;e=x+28|0;d=f[e>>2]|0;if((d|0)==(f[x+32>>2]|0)){Ig(k,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}d=(d-(f[k>>2]|0)>>2)+-1|0;k=f[E>>2]|0;m=f[k>>2]|0;f[m+(l<<2)>>2]=d;if((d|0)!=-1073741824)f[(f[k+24>>2]|0)+(d<<2)>>2]=l;if((p|0)>=0){d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)>=0){d=f[m+(d<<2)>>2]|0;f[m+(o<<2)>>2]=d;if((d|0)!=-1073741824){e=o;d=(f[k+24>>2]|0)+(d<<2)|0;X=47}}else{e=-1073741824;d=m+(o<<2)|0;X=47}if((X|0)==47){X=0;f[d>>2]=e}d=p+1|0;d=((d|0)%3|0|0)==0?p+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[m+(d<<2)>>2]|0}else{f[m+(o<<2)>>2]=-1073741824;d=-1073741824}f[m+(q<<2)>>2]=d;x=f[ia>>2]|0;f[x+-4>>2]=r;f[L>>2]=f[x+-4>>2];f[ca>>2]=f[L>>2];xc(V,ca);break}case 1:{e=f[ga>>2]|0;d=f[ia>>2]|0;if((e|0)==(d|0)){d=-1;X=186;break a}q=d+-4|0;x=f[q>>2]|0;f[ia>>2]=q;o=f[G>>2]|0;d:do if(o){m=o+-1|0;l=(m&o|0)==0;if(!l)if(y>>>0>>0)p=y;else p=(y>>>0)%(o>>>0)|0;else p=m&y;k=f[(f[ha>>2]|0)+(p<<2)>>2]|0;if((k|0)!=0?(J=f[k>>2]|0,(J|0)!=0):0){e:do if(l){k=J;while(1){w=f[k+4>>2]|0;l=(w|0)==(y|0);if(!(l|(w&m|0)==(p|0))){d=q;break d}if(l?(f[k+8>>2]|0)==(y|0):0)break e;k=f[k>>2]|0;if(!k){d=q;break d}}}else{k=J;while(1){l=f[k+4>>2]|0;if((l|0)==(y|0)){if((f[k+8>>2]|0)==(y|0))break e}else{if(l>>>0>=o>>>0)l=(l>>>0)%(o>>>0)|0;if((l|0)!=(p|0)){d=q;break d}}k=f[k>>2]|0;if(!k){d=q;break d}}}while(0);k=k+12|0;if((q|0)==(f[I>>2]|0)){Ig(ga,k);e=f[ga>>2]|0;d=f[ia>>2]|0;break}else{f[q>>2]=f[k>>2];f[ia>>2]=d;break}}else d=q}else d=q;while(0);if((e|0)==(d|0)){d=-1;X=186;break a}k=f[d+-4>>2]|0;w=y*3|0;p=w+2|0;s=f[E>>2]|0;v=f[s+12>>2]|0;f[v+(k<<2)>>2]=p;f[v+(p<<2)>>2]=k;o=w+1|0;f[v+(x<<2)>>2]=o;f[v+(o<<2)>>2]=x;if((k|0)>=0){e=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((e|0)<0)m=-1073741824;else m=f[(f[s>>2]|0)+(e<<2)>>2]|0;l=f[s>>2]|0;f[l+(w<<2)>>2]=m;e=k+1|0;e=((e|0)%3|0|0)==0?k+-2|0:e;if((e|0)<0){q=l;r=s;e=-1073741824;t=m}else{q=l;r=s;e=f[l+(e<<2)>>2]|0;t=m}}else{q=f[s>>2]|0;f[q+(w<<2)>>2]=-1073741824;r=s;e=-1073741824;t=-1073741824}f[q+(o<<2)>>2]=e;if((x|0)>=0){e=(((x>>>0)%3|0|0)==0?2:-1)+x|0;if((e|0)>=0){e=f[q+(e<<2)>>2]|0;f[q+(p<<2)>>2]=e;if((e|0)!=-1073741824){k=p;e=(f[s+24>>2]|0)+(e<<2)|0;X=86}}else{k=-1073741824;e=q+(p<<2)|0;X=86}if((X|0)==86)f[e>>2]=k;k=x+1|0;k=((k|0)%3|0|0)==0?x+-2|0:k;if((k|0)<0){e=k;k=-1073741824}else{e=k;k=f[q+(k<<2)>>2]|0}}else{f[q+(p<<2)>>2]=-1073741824;e=x;k=-1073741824}f[ca>>2]=k;X=f[D>>2]|0;m=X+(t<<2)|0;f[m>>2]=(f[m>>2]|0)+(f[X+(k<<2)>>2]|0);m=f[s+24>>2]|0;if((t|0)!=-1073741824)f[m+(t<<2)>>2]=f[m+(f[ca>>2]<<2)>>2];f:do if((e|0)>-1){l=f[r>>2]|0;do{f[l+(e<<2)>>2]=t;X=e+1|0;e=((X|0)%3|0|0)==0?e+-2|0:X;if((e|0)<0)break f;k=f[v+(e<<2)>>2]|0;e=k+1|0;if((k|0)<0)break f;e=((e|0)%3|0|0)==0?k+-2|0:e}while((e|0)>-1)}while(0);f[m+(f[ca>>2]<<2)>>2]=-1073741824;do if(M){e=f[fa>>2]|0;if((e|0)==(f[H>>2]|0)){Ig(ea,ca);d=f[ia>>2]|0;break}else{f[e>>2]=f[ca>>2];f[fa>>2]=e+4;break}}while(0);f[d+-4>>2]=w;X=118;break c}case 7:{f[ca>>2]=y*3;x=f[E>>2]|0;k=x+24|0;e=x+28|0;d=f[e>>2]|0;if((d|0)==(f[x+32>>2]|0)){Ig(k,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}q=d-(f[k>>2]|0)>>2;p=q+-1|0;l=f[E>>2]|0;m=f[ca>>2]|0;d=f[l>>2]|0;f[d+(m<<2)>>2]=p;o=l+24|0;k=l+28|0;e=f[k>>2]|0;if((e|0)==(f[l+32>>2]|0)){Ig(o,3096);e=f[k>>2]|0;d=f[l>>2]|0}else{f[e>>2]=-1073741824;e=e+4|0;f[k>>2]=e}f[d+(m+1<<2)>>2]=(e-(f[o>>2]|0)>>2)+-1;k=f[E>>2]|0;l=(f[ca>>2]|0)+2|0;m=k+24|0;e=k+28|0;d=f[e>>2]|0;if((d|0)==(f[k+32>>2]|0)){Ig(m,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}f[(f[k>>2]|0)+(l<<2)>>2]=(d-(f[m>>2]|0)>>2)+-1;if((p|0)!=-1073741824){e=f[(f[E>>2]|0)+24>>2]|0;f[e+(p<<2)>>2]=f[ca>>2];f[e+(q<<2)>>2]=(f[ca>>2]|0)+1;d=q+1|0;if((d|0)!=-1073741824)X=113}else{e=f[(f[E>>2]|0)+24>>2]|0;f[e+(q<<2)>>2]=(f[ca>>2]|0)+1;d=-1073741822;X=113}if((X|0)==113){X=0;f[e+(d<<2)>>2]=(f[ca>>2]|0)+2}d=f[ia>>2]|0;if((d|0)==(f[I>>2]|0)){Ig(ga,ca);d=f[ia>>2]|0}else{f[d>>2]=f[ca>>2];d=d+4|0;f[ia>>2]=d}f[L>>2]=f[d+-4>>2];f[ca>>2]=f[L>>2];xc(V,ca);break}default:{d=-1;X=186;break a}}m=c-y+-1|0;d=f[F>>2]|0;if((d|0)!=(f[U>>2]|0))do{e=f[d+-8>>2]|0;if(e>>>0>m>>>0){d=-1;X=186;break a}if((e|0)!=(m|0))break c;e=b[d+-4>>0]|0;l=f[d+-12>>2]|0;f[F>>2]=d+-12;if((l|0)<0){d=-1;X=186;break a}d=f[(f[ia>>2]|0)+-4>>2]|0;k=(d|0)<0;do if(!(e&1)){if(!k)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{e=d+1|0;if(!k)d=((e|0)%3|0|0)==0?d+-2|0:e}while(0);f[ca>>2]=T-l;y=Pc(ha,ca)|0;f[y>>2]=d;d=f[F>>2]|0}while((d|0)!=(f[U>>2]|0))}while(0);if((X|0)==118){f[L>>2]=f[d+-4>>2];f[ca>>2]=f[L>>2];xc(V,ca)}if((i|0)<(c|0))y=i;else{X=132;break}}}else{E=a+8|0;i=0;X=132}while(0);g:do if((X|0)==132){d=f[E>>2]|0;if(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2|0)<=(W|0)){e=f[ia>>2]|0;do if((e|0)!=(f[ga>>2]|0)){s=a+262|0;t=a+356|0;v=a+352|0;w=a+344|0;x=a+348|0;D=a+60|0;B=a+64|0;z=a+68|0;y=a+76|0;A=a+80|0;C=a+72|0;r=a+304|0;h:while(1){a=e;f[ca>>2]=f[a+-4>>2];f[ia>>2]=a+-4;if((j[s>>1]|0)<514)if(b[t>>0]|0){d=f[v>>2]|0;e=(f[w>>2]|0)+(d>>>3)|0;if(e>>>0<(f[x>>2]|0)>>>0){X=(h[e>>0]|0)>>>(d&7)&1;f[v>>2]=d+1;d=X;X=140}else X=163}else X=141;else{d=(Bi(r)|0)&1;X=140}if((X|0)==140)if(!d)X=163;else X=141;do if((X|0)==141){m=f[E>>2]|0;a=f[m>>2]|0;q=a;if((i|0)>=(((f[m+4>>2]|0)-a>>2>>>0)/3|0|0)){X=171;break h}o=f[ca>>2]|0;d=o+1|0;if((o|0)>=0?(ba=((d|0)%3|0|0)==0?o+-2|0:d,(ba|0)>=0):0)p=f[q+(ba<<2)>>2]|0;else p=-1073741824;k=f[m+24>>2]|0;e=f[k+(p<<2)>>2]|0;d=e+1|0;if((e|0)>=0){e=((d|0)%3|0|0)==0?e+-2|0:d;d=e+1|0;if((e|0)>=0?(aa=((d|0)%3|0|0)==0?e+-2|0:d,(aa|0)>=0):0)l=f[q+(aa<<2)>>2]|0;else l=-1073741824}else l=-1073741824;d=f[k+(l<<2)>>2]|0;k=d+1|0;if((d|0)>=0){d=((k|0)%3|0|0)==0?d+-2|0:k;k=d+1|0;if((d|0)>=0?(_=((k|0)%3|0|0)==0?d+-2|0:k,(_|0)>=0):0)k=f[q+(_<<2)>>2]|0;else k=-1073741824}else k=-1073741824;X=i*3|0;f[Y>>2]=X;a=f[m+12>>2]|0;f[a+(X<<2)>>2]=o;f[a+(o<<2)>>2]=X;X=(f[Y>>2]|0)+1|0;f[a+(X<<2)>>2]=e;f[a+(e<<2)>>2]=X;X=(f[Y>>2]|0)+2|0;f[a+(X<<2)>>2]=d;f[a+(d<<2)>>2]=X;a=f[Y>>2]|0;d=q+(a<<2)|0;f[d>>2]=l;f[q+(a+1<<2)>>2]=k;f[q+(a+2<<2)>>2]=p;if((a|0)<0)d=-1073741824;else d=f[d>>2]|0;e=f[da>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[Y>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[q+(d+1<<2)>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[Y>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[q+(d+2<<2)>>2]|0;e=e+(d>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(d&31));i=i+1|0;d=f[B>>2]|0;e=f[z>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){X=155;break h}a=e<<6;X=d+32&-32;jg(D,d>>>0<1073741823?(a>>>0>>0?X:a):2147483647);d=f[B>>2]|0}f[B>>2]=d+1;a=(f[D>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(d&31);d=f[y>>2]|0;if((d|0)==(f[A>>2]|0))Ig(C,Y);else{f[d>>2]=f[Y>>2];f[y>>2]=d+4}d=i}else if((X|0)==163){d=f[B>>2]|0;e=f[z>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){X=165;break h}a=e<<6;X=d+32&-32;jg(D,d>>>0<1073741823?(a>>>0>>0?X:a):2147483647);d=f[B>>2]|0}f[B>>2]=d+1;a=(f[D>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[y>>2]|0;if((d|0)==(f[A>>2]|0)){Ig(C,ca);d=i;break}else{f[d>>2]=f[ca>>2];f[y>>2]=d+4;d=i;break}}while(0);e=f[ia>>2]|0;if((e|0)==(f[ga>>2]|0)){X=172;break}else i=d}if((X|0)==155)Tn(D);else if((X|0)==165)Tn(D);else if((X|0)==171){d=-1;X=186;break g}else if((X|0)==172){g=f[E>>2]|0;Z=d;break}}else{g=d;Z=i}while(0);if((Z|0)==(((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0|0)){d=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;e=f[ea>>2]|0;r=f[fa>>2]|0;if((e|0)==(r|0))g=d;else{p=ca+4|0;o=ca+8|0;q=ca+12|0;do{m=f[e>>2]|0;i=d+-1|0;k=f[g+24>>2]|0;if((f[k+(i<<2)>>2]|0)<0){i=d;while(1){d=i+-1|0;i=i+-2|0;if((f[k+(i<<2)>>2]|0)<0)i=d;else{l=i;break}}}else l=i;if((l|0)>=(m|0)){f[ca>>2]=g;i=f[k+(l<<2)>>2]|0;f[p>>2]=i;f[o>>2]=i;b[q>>0]=1;if((i|0)>=0)do{f[(f[g>>2]|0)+(i<<2)>>2]=m;jf(ca);i=f[o>>2]|0;g=f[E>>2]|0}while((i|0)>=0);i=f[g+24>>2]|0;if((m|0)==-1073741824)i=i+(l<<2)|0;else{ba=i+(l<<2)|0;f[i+(m<<2)>>2]=f[ba>>2];i=ba}f[i>>2]=-1073741824;_=f[da>>2]|0;ba=_+(l>>>5<<2)|0;aa=1<<(l&31);_=_+(m>>>5<<2)|0;Z=1<<(m&31);Y=f[_>>2]|0;f[_>>2]=f[ba>>2]&aa|0?Y|Z:Y&~Z;f[ba>>2]=f[ba>>2]&~aa;d=d+-1|0}e=e+4|0}while((e|0)!=(r|0));X=186}}else{d=-1;X=186}}else{d=-1;X=186}}while(0);if((X|0)==186){e=f[ea>>2]|0;g=d}if(e|0){d=f[fa>>2]|0;if((d|0)!=(e|0))f[fa>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e)}d=f[ha+8>>2]|0;if(d|0)do{fa=d;d=f[d>>2]|0;Co(fa)}while((d|0)!=0);d=f[ha>>2]|0;f[ha>>2]=0;if(d|0)Co(d);d=f[ga>>2]|0;if(!d){u=ja;return g|0}e=f[ia>>2]|0;if((e|0)!=(d|0))f[ia>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=ja;return g|0}function _a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0;ba=u;u=u+80|0;V=ba+56|0;Z=ba+40|0;_=ba+16|0;X=ba+4|0;G=ba+36|0;Q=ba;f[Z>>2]=0;aa=Z+4|0;f[aa>>2]=0;f[Z+8>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;n[_+16>>2]=$(1.0);f[X>>2]=0;Y=X+4|0;f[Y>>2]=0;f[X+8>>2]=0;H=(f[a+212>>2]|0)==(f[a+216>>2]|0);W=a+120|0;O=f[a+124>>2]|0;a:do if((c|0)>0){N=a+224|0;E=a+8|0;M=a+36|0;A=a+40|0;L=c+-1|0;B=_+4|0;z=a+380|0;C=X+8|0;D=Z+8|0;y=0;while(1){i=y+1|0;d=hf(N)|0;b:do if(d){e=(d|0)==5;switch(d|0){case 3:case 5:{d=f[aa>>2]|0;if((f[Z>>2]|0)==(d|0)){d=-1;P=174;break a}p=f[d+-4>>2]|0;r=y*3|0;o=e?r:r+2|0;q=(e&1)+r|0;l=(e?2:1)+r|0;x=f[E>>2]|0;k=f[x+12>>2]|0;f[k+(l<<2)>>2]=p;f[k+(p<<2)>>2]=l;k=x+24|0;e=x+28|0;d=f[e>>2]|0;if((d|0)==(f[x+32>>2]|0)){Ig(k,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}d=(d-(f[k>>2]|0)>>2)+-1|0;k=f[E>>2]|0;m=f[k>>2]|0;f[m+(l<<2)>>2]=d;if((d|0)!=-1073741824)f[(f[k+24>>2]|0)+(d<<2)>>2]=l;if((p|0)>=0){d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)>=0){d=f[m+(d<<2)>>2]|0;f[m+(o<<2)>>2]=d;if((d|0)!=-1073741824){e=o;d=(f[k+24>>2]|0)+(d<<2)|0;P=35}}else{e=-1073741824;d=m+(o<<2)|0;P=35}if((P|0)==35){P=0;f[d>>2]=e}d=p+1|0;d=((d|0)%3|0|0)==0?p+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[m+(d<<2)>>2]|0}else{f[m+(o<<2)>>2]=-1073741824;d=-1073741824}f[m+(q<<2)>>2]=d;x=f[aa>>2]|0;f[x+-4>>2]=r;f[G>>2]=f[x+-4>>2];f[V>>2]=f[G>>2];zc(N,V);break}case 1:{e=f[Z>>2]|0;d=f[aa>>2]|0;if((e|0)==(d|0)){d=-1;P=174;break a}q=d+-4|0;x=f[q>>2]|0;f[aa>>2]=q;o=f[B>>2]|0;c:do if(o){m=o+-1|0;l=(m&o|0)==0;if(!l)if(y>>>0>>0)p=y;else p=(y>>>0)%(o>>>0)|0;else p=m&y;k=f[(f[_>>2]|0)+(p<<2)>>2]|0;if((k|0)!=0?(F=f[k>>2]|0,(F|0)!=0):0){d:do if(l){k=F;while(1){w=f[k+4>>2]|0;l=(w|0)==(y|0);if(!(l|(w&m|0)==(p|0))){d=q;break c}if(l?(f[k+8>>2]|0)==(y|0):0)break d;k=f[k>>2]|0;if(!k){d=q;break c}}}else{k=F;while(1){l=f[k+4>>2]|0;if((l|0)==(y|0)){if((f[k+8>>2]|0)==(y|0))break d}else{if(l>>>0>=o>>>0)l=(l>>>0)%(o>>>0)|0;if((l|0)!=(p|0)){d=q;break c}}k=f[k>>2]|0;if(!k){d=q;break c}}}while(0);k=k+12|0;if((q|0)==(f[D>>2]|0)){Ig(Z,k);e=f[Z>>2]|0;d=f[aa>>2]|0;break}else{f[q>>2]=f[k>>2];f[aa>>2]=d;break}}else d=q}else d=q;while(0);if((e|0)==(d|0)){d=-1;P=174;break a}k=f[d+-4>>2]|0;w=y*3|0;p=w+2|0;s=f[E>>2]|0;v=f[s+12>>2]|0;f[v+(k<<2)>>2]=p;f[v+(p<<2)>>2]=k;o=w+1|0;f[v+(x<<2)>>2]=o;f[v+(o<<2)>>2]=x;if((k|0)>=0){e=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((e|0)<0)m=-1073741824;else m=f[(f[s>>2]|0)+(e<<2)>>2]|0;l=f[s>>2]|0;f[l+(w<<2)>>2]=m;e=k+1|0;e=((e|0)%3|0|0)==0?k+-2|0:e;if((e|0)<0){q=l;r=s;e=-1073741824;t=m}else{q=l;r=s;e=f[l+(e<<2)>>2]|0;t=m}}else{q=f[s>>2]|0;f[q+(w<<2)>>2]=-1073741824;r=s;e=-1073741824;t=-1073741824}f[q+(o<<2)>>2]=e;if((x|0)>=0){e=(((x>>>0)%3|0|0)==0?2:-1)+x|0;if((e|0)>=0){e=f[q+(e<<2)>>2]|0;f[q+(p<<2)>>2]=e;if((e|0)!=-1073741824){k=p;e=(f[s+24>>2]|0)+(e<<2)|0;P=74}}else{k=-1073741824;e=q+(p<<2)|0;P=74}if((P|0)==74)f[e>>2]=k;k=x+1|0;k=((k|0)%3|0|0)==0?x+-2|0:k;if((k|0)<0){e=k;k=-1073741824}else{e=k;k=f[q+(k<<2)>>2]|0}}else{f[q+(p<<2)>>2]=-1073741824;e=x;k=-1073741824}f[V>>2]=k;P=f[z>>2]|0;m=P+(t<<2)|0;f[m>>2]=(f[m>>2]|0)+(f[P+(k<<2)>>2]|0);m=f[s+24>>2]|0;if((t|0)!=-1073741824)f[m+(t<<2)>>2]=f[m+(f[V>>2]<<2)>>2];e:do if((e|0)>-1){l=f[r>>2]|0;do{f[l+(e<<2)>>2]=t;P=e+1|0;e=((P|0)%3|0|0)==0?e+-2|0:P;if((e|0)<0)break e;k=f[v+(e<<2)>>2]|0;e=k+1|0;if((k|0)<0)break e;e=((e|0)%3|0|0)==0?k+-2|0:e}while((e|0)>-1)}while(0);f[m+(f[V>>2]<<2)>>2]=-1073741824;do if(H){e=f[Y>>2]|0;if((e|0)==(f[C>>2]|0)){Ig(X,V);d=f[aa>>2]|0;break}else{f[e>>2]=f[V>>2];f[Y>>2]=e+4;break}}while(0);f[d+-4>>2]=w;P=106;break b}case 7:{f[V>>2]=y*3;x=f[E>>2]|0;k=x+24|0;e=x+28|0;d=f[e>>2]|0;if((d|0)==(f[x+32>>2]|0)){Ig(k,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}q=d-(f[k>>2]|0)>>2;p=q+-1|0;l=f[E>>2]|0;m=f[V>>2]|0;d=f[l>>2]|0;f[d+(m<<2)>>2]=p;o=l+24|0;k=l+28|0;e=f[k>>2]|0;if((e|0)==(f[l+32>>2]|0)){Ig(o,3096);e=f[k>>2]|0;d=f[l>>2]|0}else{f[e>>2]=-1073741824;e=e+4|0;f[k>>2]=e}f[d+(m+1<<2)>>2]=(e-(f[o>>2]|0)>>2)+-1;k=f[E>>2]|0;l=(f[V>>2]|0)+2|0;m=k+24|0;e=k+28|0;d=f[e>>2]|0;if((d|0)==(f[k+32>>2]|0)){Ig(m,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}f[(f[k>>2]|0)+(l<<2)>>2]=(d-(f[m>>2]|0)>>2)+-1;if((p|0)!=-1073741824){e=f[(f[E>>2]|0)+24>>2]|0;f[e+(p<<2)>>2]=f[V>>2];f[e+(q<<2)>>2]=(f[V>>2]|0)+1;d=q+1|0;if((d|0)!=-1073741824)P=101}else{e=f[(f[E>>2]|0)+24>>2]|0;f[e+(q<<2)>>2]=(f[V>>2]|0)+1;d=-1073741822;P=101}if((P|0)==101){P=0;f[e+(d<<2)>>2]=(f[V>>2]|0)+2}d=f[aa>>2]|0;if((d|0)==(f[D>>2]|0)){Ig(Z,V);d=f[aa>>2]|0}else{f[d>>2]=f[V>>2];d=d+4|0;f[aa>>2]=d}f[G>>2]=f[d+-4>>2];f[V>>2]=f[G>>2];zc(N,V);break}default:{d=-1;P=174;break a}}m=c-y+-1|0;d=f[A>>2]|0;if((d|0)!=(f[M>>2]|0))do{e=f[d+-8>>2]|0;if(e>>>0>m>>>0){d=-1;P=174;break a}if((e|0)!=(m|0))break b;e=b[d+-4>>0]|0;l=f[d+-12>>2]|0;f[A>>2]=d+-12;if((l|0)<0){d=-1;P=174;break a}d=f[(f[aa>>2]|0)+-4>>2]|0;k=(d|0)<0;do if(!(e&1)){if(!k)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{e=d+1|0;if(!k)d=((e|0)%3|0|0)==0?d+-2|0:e}while(0);f[V>>2]=L-l;y=Pc(_,V)|0;f[y>>2]=d;d=f[A>>2]|0}while((d|0)!=(f[M>>2]|0))}else{d=f[aa>>2]|0;if((f[Z>>2]|0)==(d|0)){d=-1;P=174;break a}x=d+-4|0;r=f[x>>2]|0;w=f[E>>2]|0;q=(r|0)<0;e=r+1|0;if(!q?(J=((e|0)%3|0|0)==0?r+-2|0:e,(J|0)>=0):0)v=f[(f[w>>2]|0)+(J<<2)>>2]|0;else v=-1073741824;s=f[w+24>>2]|0;k=f[s+(v<<2)>>2]|0;e=k+1|0;t=s;if((k|0)>=0)k=((e|0)%3|0|0)==0?k+-2|0:e;p=y*3|0;l=p+1|0;m=f[w+12>>2]|0;f[m+(r<<2)>>2]=l;f[m+(l<<2)>>2]=r;o=p+2|0;f[m+(k<<2)>>2]=o;f[m+(o<<2)>>2]=k;m=f[w>>2]|0;f[m+(p<<2)>>2]=v;e=k+1|0;if((k|0)>=0?(K=((e|0)%3|0|0)==0?k+-2|0:e,(K|0)>=0):0)e=f[m+(K<<2)>>2]|0;else e=-1073741824;f[m+(l<<2)>>2]=e;if(!q?(I=(((r>>>0)%3|0|0)==0?2:-1)+r|0,(I|0)>=0):0){e=f[m+(I<<2)>>2]|0;f[m+(o<<2)>>2]=e;if((e|0)!=-1073741824){k=o;e=s+(e<<2)|0;P=19}}else{k=-1073741824;e=m+(o<<2)|0;P=19}if((P|0)==19)f[e>>2]=k;if(((f[w+28>>2]|0)-t>>2|0)>(O|0)){d=-1;P=174;break a}P=(f[W>>2]|0)+(v>>>5<<2)|0;f[P>>2]=f[P>>2]&~(1<<(v&31));f[x>>2]=p;P=106}while(0);if((P|0)==106){P=0;f[G>>2]=f[d+-4>>2];f[V>>2]=f[G>>2];zc(N,V)}if((i|0)<(c|0))y=i;else{P=120;break}}}else{E=a+8|0;i=0;P=120}while(0);f:do if((P|0)==120){d=f[E>>2]|0;if(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2|0)<=(O|0)){e=f[aa>>2]|0;do if((e|0)!=(f[Z>>2]|0)){s=a+262|0;t=a+356|0;v=a+352|0;w=a+344|0;x=a+348|0;D=a+60|0;B=a+64|0;z=a+68|0;y=a+76|0;A=a+80|0;C=a+72|0;r=a+304|0;g:while(1){a=e;f[V>>2]=f[a+-4>>2];f[aa>>2]=a+-4;if((j[s>>1]|0)<514)if(b[t>>0]|0){d=f[v>>2]|0;e=(f[w>>2]|0)+(d>>>3)|0;if(e>>>0<(f[x>>2]|0)>>>0){P=(h[e>>0]|0)>>>(d&7)&1;f[v>>2]=d+1;d=P;P=128}else P=151}else P=129;else{d=(Bi(r)|0)&1;P=128}if((P|0)==128)if(!d)P=151;else P=129;do if((P|0)==129){m=f[E>>2]|0;a=f[m>>2]|0;q=a;if((i|0)>=(((f[m+4>>2]|0)-a>>2>>>0)/3|0|0)){P=159;break g}o=f[V>>2]|0;d=o+1|0;if((o|0)>=0?(U=((d|0)%3|0|0)==0?o+-2|0:d,(U|0)>=0):0)p=f[q+(U<<2)>>2]|0;else p=-1073741824;k=f[m+24>>2]|0;e=f[k+(p<<2)>>2]|0;d=e+1|0;if((e|0)>=0){e=((d|0)%3|0|0)==0?e+-2|0:d;d=e+1|0;if((e|0)>=0?(T=((d|0)%3|0|0)==0?e+-2|0:d,(T|0)>=0):0)l=f[q+(T<<2)>>2]|0;else l=-1073741824}else l=-1073741824;d=f[k+(l<<2)>>2]|0;k=d+1|0;if((d|0)>=0){d=((k|0)%3|0|0)==0?d+-2|0:k;k=d+1|0;if((d|0)>=0?(S=((k|0)%3|0|0)==0?d+-2|0:k,(S|0)>=0):0)k=f[q+(S<<2)>>2]|0;else k=-1073741824}else k=-1073741824;P=i*3|0;f[Q>>2]=P;a=f[m+12>>2]|0;f[a+(P<<2)>>2]=o;f[a+(o<<2)>>2]=P;P=(f[Q>>2]|0)+1|0;f[a+(P<<2)>>2]=e;f[a+(e<<2)>>2]=P;P=(f[Q>>2]|0)+2|0;f[a+(P<<2)>>2]=d;f[a+(d<<2)>>2]=P;a=f[Q>>2]|0;d=q+(a<<2)|0;f[d>>2]=l;f[q+(a+1<<2)>>2]=k;f[q+(a+2<<2)>>2]=p;if((a|0)<0)d=-1073741824;else d=f[d>>2]|0;e=f[W>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[Q>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[q+(d+1<<2)>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[Q>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[q+(d+2<<2)>>2]|0;e=e+(d>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(d&31));i=i+1|0;d=f[B>>2]|0;e=f[z>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){P=143;break g}a=e<<6;P=d+32&-32;jg(D,d>>>0<1073741823?(a>>>0

>>0?P:a):2147483647);d=f[B>>2]|0}f[B>>2]=d+1;a=(f[D>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(d&31);d=f[y>>2]|0;if((d|0)==(f[A>>2]|0))Ig(C,Q);else{f[d>>2]=f[Q>>2];f[y>>2]=d+4}d=i}else if((P|0)==151){d=f[B>>2]|0;e=f[z>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){P=153;break g}a=e<<6;P=d+32&-32;jg(D,d>>>0<1073741823?(a>>>0

>>0?P:a):2147483647);d=f[B>>2]|0}f[B>>2]=d+1;a=(f[D>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[y>>2]|0;if((d|0)==(f[A>>2]|0)){Ig(C,V);d=i;break}else{f[d>>2]=f[V>>2];f[y>>2]=d+4;d=i;break}}while(0);e=f[aa>>2]|0;if((e|0)==(f[Z>>2]|0)){P=160;break}else i=d}if((P|0)==143)Tn(D);else if((P|0)==153)Tn(D);else if((P|0)==159){d=-1;P=174;break f}else if((P|0)==160){g=f[E>>2]|0;R=d;break}}else{g=d;R=i}while(0);if((R|0)==(((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0|0)){d=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;e=f[X>>2]|0;r=f[Y>>2]|0;if((e|0)==(r|0))g=d;else{p=V+4|0;o=V+8|0;q=V+12|0;do{m=f[e>>2]|0;i=d+-1|0;k=f[g+24>>2]|0;if((f[k+(i<<2)>>2]|0)<0){i=d;while(1){d=i+-1|0;i=i+-2|0;if((f[k+(i<<2)>>2]|0)<0)i=d;else{l=i;break}}}else l=i;if((l|0)>=(m|0)){f[V>>2]=g;i=f[k+(l<<2)>>2]|0;f[p>>2]=i;f[o>>2]=i;b[q>>0]=1;if((i|0)>=0)do{f[(f[g>>2]|0)+(i<<2)>>2]=m;jf(V);i=f[o>>2]|0;g=f[E>>2]|0}while((i|0)>=0);i=f[g+24>>2]|0;if((m|0)==-1073741824)i=i+(l<<2)|0;else{U=i+(l<<2)|0;f[i+(m<<2)>>2]=f[U>>2];i=U}f[i>>2]=-1073741824;S=f[W>>2]|0;U=S+(l>>>5<<2)|0;T=1<<(l&31);S=S+(m>>>5<<2)|0;R=1<<(m&31);Q=f[S>>2]|0;f[S>>2]=f[U>>2]&T|0?Q|R:Q&~R;f[U>>2]=f[U>>2]&~T;d=d+-1|0}e=e+4|0}while((e|0)!=(r|0));P=174}}else{d=-1;P=174}}else{d=-1;P=174}}while(0);if((P|0)==174){e=f[X>>2]|0;g=d}if(e|0){d=f[Y>>2]|0;if((d|0)!=(e|0))f[Y>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e)}d=f[_+8>>2]|0;if(d|0)do{Y=d;d=f[d>>2]|0;Co(Y)}while((d|0)!=0);d=f[_>>2]|0;f[_>>2]=0;if(d|0)Co(d);d=f[Z>>2]|0;if(!d){u=ba;return g|0}e=f[aa>>2]|0;if((e|0)!=(d|0))f[aa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=ba;return g|0}function $a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=u;u=u+80|0;ca=fa+56|0;da=fa+36|0;aa=fa+24|0;_=fa+8|0;U=fa;f[ca>>2]=0;ea=ca+4|0;f[ea>>2]=0;f[ca+8>>2]=0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;n[da+16>>2]=$(1.0);f[aa>>2]=0;ba=aa+4|0;f[ba>>2]=0;f[aa+8>>2]=0;L=(f[a+212>>2]|0)==(f[a+216>>2]|0);Z=a+120|0;R=f[a+124>>2]|0;a:do if((c|0)>0){J=a+300|0;B=da+4|0;E=a+8|0;C=aa+8|0;D=ca+8|0;K=a+296|0;H=a+288|0;I=a+292|0;Q=a+36|0;A=a+40|0;P=c+-1|0;z=0;b:while(1){i=z+1|0;c:do if(!(b[J>>0]|0))T=44;else{k=f[K>>2]|0;m=f[H>>2]|0;o=f[I>>2]|0;d=m+(k>>>3)|0;if(d>>>0>>0?(y=h[d>>0]|0,G=k+1|0,f[K>>2]=G,y&1<<(k&7)|0):0){d=m+(G>>>3)|0;if(d>>>0>>0){l=(h[d>>0]|0)>>>(G&7)&1;k=k+2|0;f[K>>2]=k}else{k=G;l=0}d=m+(k>>>3)|0;if(d>>>0>>0){d=(h[d>>0]|0)>>>(k&7);f[K>>2]=k+1;d=d<<1&2}else d=0;y=(d|l)<<1|1;k=(y|0)==5;switch(y&7){case 1:{T=44;break c}case 3:case 5:{d=f[ea>>2]|0;if((f[ca>>2]|0)==(d|0)){d=-1;T=180;break a}q=f[d+-4>>2]|0;s=z*3|0;p=k?s:s+2|0;r=(k&1)+s|0;m=(k?2:1)+s|0;y=f[E>>2]|0;l=f[y+12>>2]|0;f[l+(m<<2)>>2]=q;f[l+(q<<2)>>2]=m;l=y+24|0;k=y+28|0;d=f[k>>2]|0;if((d|0)==(f[y+32>>2]|0)){Ig(l,3096);d=f[k>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[k>>2]=d}d=(d-(f[l>>2]|0)>>2)+-1|0;l=f[E>>2]|0;o=f[l>>2]|0;f[o+(m<<2)>>2]=d;if((d|0)!=-1073741824)f[(f[l+24>>2]|0)+(d<<2)>>2]=m;if((q|0)>=0){d=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((d|0)>=0){d=f[o+(d<<2)>>2]|0;f[o+(p<<2)>>2]=d;if((d|0)!=-1073741824){k=p;d=(f[l+24>>2]|0)+(d<<2)|0;T=40}}else{k=-1073741824;d=o+(p<<2)|0;T=40}if((T|0)==40){T=0;f[d>>2]=k}d=q+1|0;d=((d|0)%3|0|0)==0?q+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[o+(d<<2)>>2]|0}else{f[o+(p<<2)>>2]=-1073741824;d=-1073741824}f[o+(r<<2)>>2]=d;f[(f[ea>>2]|0)+-4>>2]=s;break}case 7:{f[_>>2]=z*3;y=f[E>>2]|0;l=y+24|0;k=y+28|0;d=f[k>>2]|0;if((d|0)==(f[y+32>>2]|0)){Ig(l,3096);d=f[k>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[k>>2]=d}r=d-(f[l>>2]|0)>>2;q=r+-1|0;m=f[E>>2]|0;o=f[_>>2]|0;d=f[m>>2]|0;f[d+(o<<2)>>2]=q;p=m+24|0;l=m+28|0;k=f[l>>2]|0;if((k|0)==(f[m+32>>2]|0)){Ig(p,3096);k=f[l>>2]|0;d=f[m>>2]|0}else{f[k>>2]=-1073741824;k=k+4|0;f[l>>2]=k}f[d+(o+1<<2)>>2]=(k-(f[p>>2]|0)>>2)+-1;l=f[E>>2]|0;m=(f[_>>2]|0)+2|0;o=l+24|0;k=l+28|0;d=f[k>>2]|0;if((d|0)==(f[l+32>>2]|0)){Ig(o,3096);d=f[k>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[k>>2]=d}f[(f[l>>2]|0)+(m<<2)>>2]=(d-(f[o>>2]|0)>>2)+-1;if((q|0)!=-1073741824){k=f[(f[E>>2]|0)+24>>2]|0;f[k+(q<<2)>>2]=f[_>>2];f[k+(r<<2)>>2]=(f[_>>2]|0)+1;d=r+1|0;if((d|0)!=-1073741824)T=105}else{k=f[(f[E>>2]|0)+24>>2]|0;f[k+(r<<2)>>2]=(f[_>>2]|0)+1;d=-1073741822;T=105}if((T|0)==105){T=0;f[k+(d<<2)>>2]=(f[_>>2]|0)+2}d=f[ea>>2]|0;if((d|0)==(f[D>>2]|0))Ig(ca,_);else{f[d>>2]=f[_>>2];f[ea>>2]=d+4}break}default:break b}o=c-z+-1|0;d=f[A>>2]|0;if((d|0)==(f[Q>>2]|0))break;while(1){k=f[d+-8>>2]|0;if(k>>>0>o>>>0){d=-1;T=180;break a}if((k|0)!=(o|0))break c;k=b[d+-4>>0]|0;m=f[d+-12>>2]|0;f[A>>2]=d+-12;if((m|0)<0){d=-1;T=180;break a}d=f[(f[ea>>2]|0)+-4>>2]|0;l=(d|0)<0;do if(!(k&1)){if(!l)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{k=d+1|0;if(!l)d=((k|0)%3|0|0)==0?d+-2|0:k}while(0);f[_>>2]=P-m;z=Pc(da,_)|0;f[z>>2]=d;d=f[A>>2]|0;if((d|0)==(f[Q>>2]|0))break c}}d=f[ea>>2]|0;if((f[ca>>2]|0)==(d|0)){d=-1;T=180;break a}x=d+-4|0;r=f[x>>2]|0;w=f[E>>2]|0;q=(r|0)<0;d=r+1|0;if(!q?(N=((d|0)%3|0|0)==0?r+-2|0:d,(N|0)>=0):0)v=f[(f[w>>2]|0)+(N<<2)>>2]|0;else v=-1073741824;s=f[w+24>>2]|0;k=f[s+(v<<2)>>2]|0;d=k+1|0;t=s;if((k|0)>=0)k=((d|0)%3|0|0)==0?k+-2|0:d;p=z*3|0;l=p+1|0;m=f[w+12>>2]|0;f[m+(r<<2)>>2]=l;f[m+(l<<2)>>2]=r;o=p+2|0;f[m+(k<<2)>>2]=o;f[m+(o<<2)>>2]=k;m=f[w>>2]|0;f[m+(p<<2)>>2]=v;d=k+1|0;if((k|0)>=0?(O=((d|0)%3|0|0)==0?k+-2|0:d,(O|0)>=0):0)d=f[m+(O<<2)>>2]|0;else d=-1073741824;f[m+(l<<2)>>2]=d;if(!q?(M=(((r>>>0)%3|0|0)==0?2:-1)+r|0,(M|0)>=0):0){d=f[m+(M<<2)>>2]|0;f[m+(o<<2)>>2]=d;if((d|0)!=-1073741824){k=o;d=s+(d<<2)|0;T=25}}else{k=-1073741824;d=m+(o<<2)|0;T=25}if((T|0)==25){T=0;f[d>>2]=k}if(((f[w+28>>2]|0)-t>>2|0)>(R|0)){d=-1;T=180;break a}z=(f[Z>>2]|0)+(v>>>5<<2)|0;f[z>>2]=f[z>>2]&~(1<<(v&31));f[x>>2]=p}while(0);if((T|0)==44){T=0;k=f[ca>>2]|0;d=f[ea>>2]|0;if((k|0)==(d|0)){d=-1;T=180;break a}r=d+-4|0;y=f[r>>2]|0;f[ea>>2]=r;p=f[B>>2]|0;d:do if(p){o=p+-1|0;m=(o&p|0)==0;if(!m)if(z>>>0

>>0)q=z;else q=(z>>>0)%(p>>>0)|0;else q=o&z;l=f[(f[da>>2]|0)+(q<<2)>>2]|0;if((l|0)!=0?(F=f[l>>2]|0,(F|0)!=0):0){e:do if(m){l=F;while(1){x=f[l+4>>2]|0;m=(x|0)==(z|0);if(!(m|(x&o|0)==(q|0))){d=r;break d}if(m?(f[l+8>>2]|0)==(z|0):0)break e;l=f[l>>2]|0;if(!l){d=r;break d}}}else{l=F;while(1){m=f[l+4>>2]|0;if((m|0)==(z|0)){if((f[l+8>>2]|0)==(z|0))break e}else{if(m>>>0>=p>>>0)m=(m>>>0)%(p>>>0)|0;if((m|0)!=(q|0)){d=r;break d}}l=f[l>>2]|0;if(!l){d=r;break d}}}while(0);l=l+12|0;if((r|0)==(f[D>>2]|0)){Ig(ca,l);k=f[ca>>2]|0;d=f[ea>>2]|0;break}else{f[r>>2]=f[l>>2];f[ea>>2]=d;break}}else d=r}else d=r;while(0);if((k|0)==(d|0)){d=-1;T=180;break a}l=f[d+-4>>2]|0;x=z*3|0;q=x+2|0;t=f[E>>2]|0;w=f[t+12>>2]|0;f[w+(l<<2)>>2]=q;f[w+(q<<2)>>2]=l;p=x+1|0;f[w+(y<<2)>>2]=p;f[w+(p<<2)>>2]=y;if((l|0)>=0){k=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((k|0)<0)o=-1073741824;else o=f[(f[t>>2]|0)+(k<<2)>>2]|0;m=f[t>>2]|0;f[m+(x<<2)>>2]=o;k=l+1|0;k=((k|0)%3|0|0)==0?l+-2|0:k;if((k|0)<0){r=m;s=t;k=-1073741824;v=o}else{r=m;s=t;k=f[m+(k<<2)>>2]|0;v=o}}else{r=f[t>>2]|0;f[r+(x<<2)>>2]=-1073741824;s=t;k=-1073741824;v=-1073741824}f[r+(p<<2)>>2]=k;if((y|0)>=0){k=(((y>>>0)%3|0|0)==0?2:-1)+y|0;if((k|0)>=0){k=f[r+(k<<2)>>2]|0;f[r+(q<<2)>>2]=k;if((k|0)!=-1073741824){l=q;k=(f[t+24>>2]|0)+(k<<2)|0;T=79}}else{l=-1073741824;k=r+(q<<2)|0;T=79}if((T|0)==79){T=0;f[k>>2]=l}l=y+1|0;l=((l|0)%3|0|0)==0?y+-2|0:l;if((l|0)<0){k=l;l=-1073741824}else{k=l;l=f[r+(l<<2)>>2]|0}}else{f[r+(q<<2)>>2]=-1073741824;k=y;l=-1073741824}f[_>>2]=l;o=f[t+24>>2]|0;if((v|0)!=-1073741824)f[o+(v<<2)>>2]=f[o+(l<<2)>>2];f:do if((k|0)>-1){m=f[s>>2]|0;do{f[m+(k<<2)>>2]=v;z=k+1|0;k=((z|0)%3|0|0)==0?k+-2|0:z;if((k|0)<0)break f;l=f[w+(k<<2)>>2]|0;k=l+1|0;if((l|0)<0)break f;k=((k|0)%3|0|0)==0?l+-2|0:k}while((k|0)>-1)}while(0);f[o+(f[_>>2]<<2)>>2]=-1073741824;do if(L){k=f[ba>>2]|0;if((k|0)==(f[C>>2]|0)){Ig(aa,_);d=f[ea>>2]|0;break}else{f[k>>2]=f[_>>2];f[ba>>2]=k+4;break}}while(0);f[d+-4>>2]=x}if((i|0)<(c|0))z=i;else{T=125;break a}}}else{E=a+8|0;i=0;T=125}while(0);g:do if((T|0)==125){d=f[E>>2]|0;if(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2|0)<=(R|0)){g=f[ea>>2]|0;do if((g|0)!=(f[ca>>2]|0)){B=a+262|0;z=a+356|0;A=a+352|0;x=a+344|0;y=a+348|0;D=a+60|0;w=a+64|0;t=a+68|0;s=a+76|0;v=a+80|0;C=a+72|0;r=a+304|0;h:while(1){T=g;f[_>>2]=f[T+-4>>2];f[ea>>2]=T+-4;if((j[B>>1]|0)<514)if(b[z>>0]|0){d=f[A>>2]|0;g=(f[x>>2]|0)+(d>>>3)|0;if(g>>>0<(f[y>>2]|0)>>>0){T=(h[g>>0]|0)>>>(d&7)&1;f[A>>2]=d+1;d=T;T=133}else T=156}else T=134;else{d=(Bi(r)|0)&1;T=133}if((T|0)==133)if(!d)T=156;else T=134;do if((T|0)==134){m=f[E>>2]|0;T=f[m>>2]|0;q=T;if((i|0)>=(((f[m+4>>2]|0)-T>>2>>>0)/3|0|0)){T=164;break h}o=f[_>>2]|0;d=o+1|0;if((o|0)>=0?(Y=((d|0)%3|0|0)==0?o+-2|0:d,(Y|0)>=0):0)p=f[q+(Y<<2)>>2]|0;else p=-1073741824;k=f[m+24>>2]|0;g=f[k+(p<<2)>>2]|0;d=g+1|0;if((g|0)>=0){g=((d|0)%3|0|0)==0?g+-2|0:d;d=g+1|0;if((g|0)>=0?(X=((d|0)%3|0|0)==0?g+-2|0:d,(X|0)>=0):0)l=f[q+(X<<2)>>2]|0;else l=-1073741824}else l=-1073741824;d=f[k+(l<<2)>>2]|0;k=d+1|0;if((d|0)>=0){d=((k|0)%3|0|0)==0?d+-2|0:k;k=d+1|0;if((d|0)>=0?(W=((k|0)%3|0|0)==0?d+-2|0:k,(W|0)>=0):0)k=f[q+(W<<2)>>2]|0;else k=-1073741824}else k=-1073741824;a=i*3|0;f[U>>2]=a;T=f[m+12>>2]|0;f[T+(a<<2)>>2]=o;f[T+(o<<2)>>2]=a;a=(f[U>>2]|0)+1|0;f[T+(a<<2)>>2]=g;f[T+(g<<2)>>2]=a;a=(f[U>>2]|0)+2|0;f[T+(a<<2)>>2]=d;f[T+(d<<2)>>2]=a;T=f[U>>2]|0;d=q+(T<<2)|0;f[d>>2]=l;f[q+(T+1<<2)>>2]=k;f[q+(T+2<<2)>>2]=p;if((T|0)<0)d=-1073741824;else d=f[d>>2]|0;g=f[Z>>2]|0;T=g+(d>>>5<<2)|0;f[T>>2]=f[T>>2]&~(1<<(d&31));d=f[U>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[q+(d+1<<2)>>2]|0;T=g+(d>>>5<<2)|0;f[T>>2]=f[T>>2]&~(1<<(d&31));d=f[U>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[q+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));i=i+1|0;d=f[w>>2]|0;g=f[t>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){T=148;break h}T=g<<6;a=d+32&-32;jg(D,d>>>0<1073741823?(T>>>0>>0?a:T):2147483647);d=f[w>>2]|0}f[w>>2]=d+1;T=(f[D>>2]|0)+(d>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(d&31);d=f[s>>2]|0;if((d|0)==(f[v>>2]|0))Ig(C,U);else{f[d>>2]=f[U>>2];f[s>>2]=d+4}d=i}else if((T|0)==156){d=f[w>>2]|0;g=f[t>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){T=158;break h}T=g<<6;a=d+32&-32;jg(D,d>>>0<1073741823?(T>>>0>>0?a:T):2147483647);d=f[w>>2]|0}f[w>>2]=d+1;T=(f[D>>2]|0)+(d>>>5<<2)|0;f[T>>2]=f[T>>2]&~(1<<(d&31));d=f[s>>2]|0;if((d|0)==(f[v>>2]|0)){Ig(C,_);d=i;break}else{f[d>>2]=f[_>>2];f[s>>2]=d+4;d=i;break}}while(0);g=f[ea>>2]|0;if((g|0)==(f[ca>>2]|0)){T=165;break}else i=d}if((T|0)==148)Tn(D);else if((T|0)==158)Tn(D);else if((T|0)==164){d=-1;T=180;break g}else if((T|0)==165){e=f[E>>2]|0;V=d;break}}else{e=d;V=i}while(0);if((V|0)==(((f[e+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0|0)){d=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;g=f[aa>>2]|0;r=f[ba>>2]|0;if((g|0)==(r|0))S=d;else{p=_+4|0;o=_+8|0;q=_+12|0;do{m=f[g>>2]|0;i=d+-1|0;k=f[e+24>>2]|0;if((f[k+(i<<2)>>2]|0)<0){i=d;while(1){d=i+-1|0;i=i+-2|0;if((f[k+(i<<2)>>2]|0)<0)i=d;else{l=i;break}}}else l=i;if((l|0)>=(m|0)){f[_>>2]=e;i=f[k+(l<<2)>>2]|0;f[p>>2]=i;f[o>>2]=i;b[q>>0]=1;if((i|0)>=0)do{f[(f[e>>2]|0)+(i<<2)>>2]=m;jf(_);i=f[o>>2]|0;e=f[E>>2]|0}while((i|0)>=0);i=f[e+24>>2]|0;if((m|0)==-1073741824)i=i+(l<<2)|0;else{Y=i+(l<<2)|0;f[i+(m<<2)>>2]=f[Y>>2];i=Y}f[i>>2]=-1073741824;W=f[Z>>2]|0;Y=W+(l>>>5<<2)|0;X=1<<(l&31);W=W+(m>>>5<<2)|0;V=1<<(m&31);U=f[W>>2]|0;f[W>>2]=f[Y>>2]&X|0?U|V:U&~V;f[Y>>2]=f[Y>>2]&~X;d=d+-1|0}g=g+4|0}while((g|0)!=(r|0));T=180}}else{d=-1;T=180}}else{d=-1;T=180}}while(0);if((T|0)==180){g=f[aa>>2]|0;S=d}if(g|0){d=f[ba>>2]|0;if((d|0)!=(g|0))f[ba>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g)}d=f[da+8>>2]|0;if(d|0)do{ba=d;d=f[d>>2]|0;Co(ba)}while((d|0)!=0);d=f[da>>2]|0;f[da>>2]=0;if(d|0)Co(d);d=f[ca>>2]|0;if(!d){u=fa;return S|0}e=f[ea>>2]|0;if((e|0)!=(d|0))f[ea>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=fa;return S|0}function ab(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(nj(4440,4632,c,b)|0)-4440>>2;a=e;e=0;a:while(1){b=(f[4440+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[4248+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=nj(4248,4440,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function bb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;r=D+60|0;w=D+52|0;v=D+44|0;C=D;y=D+56|0;z=D+48|0;A=D+40|0;n=a+132|0;f[n>>2]=0;i=a+148|0;if(f[i>>2]|0){e=a+144|0;c=f[e>>2]|0;if(c|0)do{t=c;c=f[c>>2]|0;Co(t)}while((c|0)!=0);f[e>>2]=0;c=f[a+140>>2]|0;if(c|0){e=a+136|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}s=a+4|0;c=f[s>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){q=m+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=Bl(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((q|0)<(k|0)|(q|0)==(k|0)&t>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;x=l;f[x>>2]=i;f[x+4>>2]=k;x=14}}else if(yh(B,m)|0){e=f[s>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;x=14}if((x|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){q=l+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=Bl(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((q|0)<(i|0)|(q|0)==(i|0)&t>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;x=21}}else if(yh(o,l)|0){k=f[s>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;x=21}else c=0;if((x|0)==21){n=a+156|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){q=k+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if(!((q|0)<(g|0)|(q|0)==(g|0)&t>>>0>>0)?(t=(f[k>>2]|0)+c|0,t=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24,f[r>>2]=t,q=i,f[q>>2]=e,f[q+4>>2]=g,t>>>0<=715827882):0)x=25;else c=0}else{t=(yh(r,k)|0)^1;if((f[r>>2]|0)>>>0>715827882|t)c=0;else x=25}do if((x|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);q=Lk(60)|0;om(q);t=a+8|0;c=f[t>>2]|0;f[t>>2]=q;if(c|0?(uh(c),Co(c),(f[t>>2]|0)==0):0){c=0;break}i=a+160|0;c=f[i>>2]|0;g=a+164|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;c=f[(f[s>>2]|0)+32>>2]|0;q=c+8|0;p=f[q+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((p|0)>(g|0)|((p|0)==(g|0)?(f[q>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=Bl(e|0,g|0,1,0)|0;q=i;f[q>>2]=k;f[q+4>>2]=I;q=a+212|0;k=f[q>>2]|0;p=a+216|0;c=f[p>>2]|0;if((c|0)!=(k|0))do{f[p>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}Dh(c+-112|0);c=f[p>>2]|0}while((c|0)!=(k|0));m=l&255;Xf(q,m);o=f[s>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[w>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=59}}else if(yh(w,c)|0){e=f[w>>2]|0;x=59}else c=0;if((x|0)==59){c=f[r>>2]|0;if(c>>>0>>0)c=0;else{o=f[s>>2]|0;l=f[o+32>>2]|0;do if((h[o+36>>0]<<8&65535)<512){o=l+8|0;r=f[o>>2]|0;o=f[o+4>>2]|0;k=l+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&r>>>0>>0){c=0;break}e=(f[l>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[v>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=65}else{if(!(yh(v,l)|0)){c=0;break}e=f[v>>2]|0;c=f[r>>2]|0;x=65}while(0);a:do if((x|0)==65){if(!(Fi(f[t>>2]|0,c,e+(f[n>>2]|0)|0)|0)){c=0;break}c=(f[v>>2]|0)+(f[n>>2]|0)|0;b[B>>0]=1;mf(a+120|0,c,B);c=f[s>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Fb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)<512){o=k+8|0;r=f[o>>2]|0;o=f[o+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((o|0)<(g|0)|(o|0)==(g|0)&r>>>0>>0)break;c=(f[k>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[B>>2]=c;x=i;f[x>>2]=e;f[x+4>>2]=g;x=72}else{if(!(yh(B,k)|0))break;c=f[B>>2]|0;x=72}while(0);do if((x|0)==72){if(!c)break;x=f[(f[s>>2]|0)+32>>2]|0;r=x+8|0;x=x+16|0;x=cm(f[r>>2]|0,f[r+4>>2]|0,f[x>>2]|0,f[x+4>>2]|0)|0;r=I;if(0>(r|0)|0==(r|0)&c>>>0>x>>>0)break;fk(C);c=f[(f[s>>2]|0)+32>>2]|0;o=c+16|0;l=f[o>>2]|0;x=f[B>>2]|0;r=(f[c>>2]|0)+l+x|0;k=c+8|0;o=cm(f[k>>2]|0,f[k+4>>2]|0,l|0,f[o+4>>2]|0)|0;x=cm(o|0,I|0,x|0,0)|0;xk(C,r,x,d[c+38>>1]|0);c=Fb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);x=a+224|0;f[a+368>>2]=a;l=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;l=f[l>>2]|0;l=(f[l>>2]|0)+(f[l+16>>2]|0)|0;o=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;r=o+8|0;o=o+16|0;o=cm(f[r>>2]|0,f[r+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;r=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;xk(x,l,o,d[(f[r>>2]|0)+38>>1]|0);r=Na[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+372>>2]=r;f[a+376>>2]=(f[v>>2]|0)+(f[n>>2]|0);f[a+364>>2]=m;fk(C);c:do if(of(x,C)|0){o=Za(a,f[w>>2]|0)|0;if((o|0)==-1){c=0;break}c=f[(f[s>>2]|0)+32>>2]|0;e=C+16|0;w=f[e>>2]|0;x=(f[C>>2]|0)+w|0;v=C+8|0;e=cm(f[v>>2]|0,f[v+4>>2]|0,w|0,f[e+4>>2]|0)|0;xk(c,x,e,d[c+38>>1]|0);c=f[s>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){x=(f[c+32>>2]|0)+16|0;w=x;w=Bl(f[w>>2]|0,f[w+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[x>>2]=w;f[x+4>>2]=I}do if((f[p>>2]|0)!=(f[q>>2]|0)){c=f[t>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[y>>2]=c;f[B>>2]=f[y>>2];c=c+3|0;if(!(Jd(a,B)|0)){c=0;break c}z=f[t>>2]|0}while((c|0)<((f[z+4>>2]|0)-(f[z>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[z>>2]=c;f[B>>2]=f[z>>2];c=c+3|0;if(!(Dd(a,B)|0)){c=0;break c}y=f[t>>2]|0}while((c|0)<((f[y+4>>2]|0)-(f[y>>2]|0)>>2|0))}}while(0);if(b[a+300>>0]|0)Jj(a+264|0);if((j[a+262>>1]|0)<514)Jj(a+320|0);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){i=0;do{Mg(c+(i*116|0)+4|0,f[t>>2]|0)|0;c=f[q>>2]|0;e=f[c+(i*116|0)+104>>2]|0;g=f[c+(i*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Ye(c+(i*116|0)+4|0,B);e=e+4|0;c=f[q>>2]|0}while((e|0)!=(g|0));kj(c+(i*116|0)+4|0,0,0);i=i+1|0;c=f[q>>2]|0}while(i>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}l=f[t>>2]|0;l=(f[l+28>>2]|0)-(f[l+24>>2]|0)>>2;g=a+196|0;k=a+200|0;i=f[k>>2]|0;c=f[g>>2]|0;e=i-c>>2;do if(l>>>0>e>>>0)sg(g,l-e|0);else{if(l>>>0>=e>>>0)break;c=c+(l<<2)|0;if((i|0)==(c|0))break;f[k>>2]=i+(~((i+-4-c|0)>>>2)<<2)}while(0);Kh(a+184|0,l);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){n=0;do{m=(f[c+(n*116|0)+60>>2]|0)-(f[c+(n*116|0)+56>>2]|0)>>2;i=f[t>>2]|0;i=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;m=(m|0)<(i|0)?i:m;i=c+(n*116|0)+88|0;l=c+(n*116|0)+92|0;k=f[l>>2]|0;e=f[i>>2]|0;g=k-e>>2;do if(m>>>0>g>>>0)sg(i,m-g|0);else{if(m>>>0>=g>>>0)break;e=e+(m<<2)|0;if((k|0)==(e|0))break;f[l>>2]=k+(~((k+-4-e|0)>>>2)<<2)}while(0);Kh(c+(n*116|0)+76|0,m);n=n+1|0;c=f[q>>2]|0}while(n>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}c=Ab(a,o)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}}else c=0}while(0)}C=c;u=D;return C|0}function cb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;r=D+60|0;w=D+52|0;v=D+44|0;C=D;y=D+56|0;z=D+48|0;A=D+40|0;n=a+132|0;f[n>>2]=0;i=a+148|0;if(f[i>>2]|0){e=a+144|0;c=f[e>>2]|0;if(c|0)do{t=c;c=f[c>>2]|0;Co(t)}while((c|0)!=0);f[e>>2]=0;c=f[a+140>>2]|0;if(c|0){e=a+136|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}s=a+4|0;c=f[s>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){q=m+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=Bl(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((q|0)<(k|0)|(q|0)==(k|0)&t>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;x=l;f[x>>2]=i;f[x+4>>2]=k;x=14}}else if(yh(B,m)|0){e=f[s>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;x=14}if((x|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){q=l+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=Bl(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((q|0)<(i|0)|(q|0)==(i|0)&t>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;x=21}}else if(yh(o,l)|0){k=f[s>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;x=21}else c=0;if((x|0)==21){n=a+156|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){q=k+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if(!((q|0)<(g|0)|(q|0)==(g|0)&t>>>0>>0)?(t=(f[k>>2]|0)+c|0,t=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24,f[r>>2]=t,q=i,f[q>>2]=e,f[q+4>>2]=g,t>>>0<=715827882):0)x=25;else c=0}else{t=(yh(r,k)|0)^1;if((f[r>>2]|0)>>>0>715827882|t)c=0;else x=25}do if((x|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);q=Lk(60)|0;om(q);t=a+8|0;c=f[t>>2]|0;f[t>>2]=q;if(c|0?(uh(c),Co(c),(f[t>>2]|0)==0):0){c=0;break}i=a+160|0;c=f[i>>2]|0;g=a+164|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;c=f[(f[s>>2]|0)+32>>2]|0;q=c+8|0;p=f[q+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((p|0)>(g|0)|((p|0)==(g|0)?(f[q>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=Bl(e|0,g|0,1,0)|0;q=i;f[q>>2]=k;f[q+4>>2]=I;q=a+212|0;k=f[q>>2]|0;p=a+216|0;c=f[p>>2]|0;if((c|0)!=(k|0))do{f[p>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}Dh(c+-112|0);c=f[p>>2]|0}while((c|0)!=(k|0));m=l&255;Xf(q,m);o=f[s>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[w>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=59}}else if(yh(w,c)|0){e=f[w>>2]|0;x=59}else c=0;if((x|0)==59){c=f[r>>2]|0;if(c>>>0>>0)c=0;else{o=f[s>>2]|0;l=f[o+32>>2]|0;do if((h[o+36>>0]<<8&65535)<512){o=l+8|0;r=f[o>>2]|0;o=f[o+4>>2]|0;k=l+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&r>>>0>>0){c=0;break}e=(f[l>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[v>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=65}else{if(!(yh(v,l)|0)){c=0;break}e=f[v>>2]|0;c=f[r>>2]|0;x=65}while(0);a:do if((x|0)==65){if(!(Fi(f[t>>2]|0,c,e+(f[n>>2]|0)|0)|0)){c=0;break}c=(f[v>>2]|0)+(f[n>>2]|0)|0;b[B>>0]=1;mf(a+120|0,c,B);c=f[s>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Fb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)<512){o=k+8|0;r=f[o>>2]|0;o=f[o+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((o|0)<(g|0)|(o|0)==(g|0)&r>>>0>>0)break;c=(f[k>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[B>>2]=c;x=i;f[x>>2]=e;f[x+4>>2]=g;x=72}else{if(!(yh(B,k)|0))break;c=f[B>>2]|0;x=72}while(0);do if((x|0)==72){if(!c)break;x=f[(f[s>>2]|0)+32>>2]|0;r=x+8|0;x=x+16|0;x=cm(f[r>>2]|0,f[r+4>>2]|0,f[x>>2]|0,f[x+4>>2]|0)|0;r=I;if(0>(r|0)|0==(r|0)&c>>>0>x>>>0)break;fk(C);c=f[(f[s>>2]|0)+32>>2]|0;o=c+16|0;l=f[o>>2]|0;x=f[B>>2]|0;r=(f[c>>2]|0)+l+x|0;k=c+8|0;o=cm(f[k>>2]|0,f[k+4>>2]|0,l|0,f[o+4>>2]|0)|0;x=cm(o|0,I|0,x|0,0)|0;xk(C,r,x,d[c+38>>1]|0);c=Fb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);x=a+224|0;f[a+368>>2]=a;l=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;l=f[l>>2]|0;l=(f[l>>2]|0)+(f[l+16>>2]|0)|0;o=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;r=o+8|0;o=o+16|0;o=cm(f[r>>2]|0,f[r+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;r=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;xk(x,l,o,d[(f[r>>2]|0)+38>>1]|0);r=Na[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+372>>2]=r;f[a+376>>2]=(f[v>>2]|0)+(f[n>>2]|0);f[a+364>>2]=m;fk(C);c:do if(Nb(x,C)|0){o=_a(a,f[w>>2]|0)|0;if((o|0)==-1){c=0;break}c=f[(f[s>>2]|0)+32>>2]|0;e=C+16|0;w=f[e>>2]|0;x=(f[C>>2]|0)+w|0;v=C+8|0;e=cm(f[v>>2]|0,f[v+4>>2]|0,w|0,f[e+4>>2]|0)|0;xk(c,x,e,d[c+38>>1]|0);c=f[s>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){x=(f[c+32>>2]|0)+16|0;w=x;w=Bl(f[w>>2]|0,f[w+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[x>>2]=w;f[x+4>>2]=I}do if((f[p>>2]|0)!=(f[q>>2]|0)){c=f[t>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[y>>2]=c;f[B>>2]=f[y>>2];c=c+3|0;if(!(Jd(a,B)|0)){c=0;break c}z=f[t>>2]|0}while((c|0)<((f[z+4>>2]|0)-(f[z>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[z>>2]=c;f[B>>2]=f[z>>2];c=c+3|0;if(!(Dd(a,B)|0)){c=0;break c}y=f[t>>2]|0}while((c|0)<((f[y+4>>2]|0)-(f[y>>2]|0)>>2|0))}}while(0);if(b[a+300>>0]|0)Jj(a+264|0);if((j[a+262>>1]|0)<514)Jj(a+320|0);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){i=0;do{Mg(c+(i*116|0)+4|0,f[t>>2]|0)|0;c=f[q>>2]|0;e=f[c+(i*116|0)+104>>2]|0;g=f[c+(i*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Ye(c+(i*116|0)+4|0,B);e=e+4|0;c=f[q>>2]|0}while((e|0)!=(g|0));kj(c+(i*116|0)+4|0,0,0);i=i+1|0;c=f[q>>2]|0}while(i>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}l=f[t>>2]|0;l=(f[l+28>>2]|0)-(f[l+24>>2]|0)>>2;g=a+196|0;k=a+200|0;i=f[k>>2]|0;c=f[g>>2]|0;e=i-c>>2;do if(l>>>0>e>>>0)sg(g,l-e|0);else{if(l>>>0>=e>>>0)break;c=c+(l<<2)|0;if((i|0)==(c|0))break;f[k>>2]=i+(~((i+-4-c|0)>>>2)<<2)}while(0);Kh(a+184|0,l);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){n=0;do{m=(f[c+(n*116|0)+60>>2]|0)-(f[c+(n*116|0)+56>>2]|0)>>2;i=f[t>>2]|0;i=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;m=(m|0)<(i|0)?i:m;i=c+(n*116|0)+88|0;l=c+(n*116|0)+92|0;k=f[l>>2]|0;e=f[i>>2]|0;g=k-e>>2;do if(m>>>0>g>>>0)sg(i,m-g|0);else{if(m>>>0>=g>>>0)break;e=e+(m<<2)|0;if((k|0)==(e|0))break;f[l>>2]=k+(~((k+-4-e|0)>>>2)<<2)}while(0);Kh(c+(n*116|0)+76|0,m);n=n+1|0;c=f[q>>2]|0}while(n>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}c=Ab(a,o)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}}else c=0}while(0)}C=c;u=D;return C|0}function db(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;r=D+60|0;w=D+52|0;s=D+44|0;C=D;y=D+56|0;z=D+48|0;A=D+40|0;n=a+132|0;f[n>>2]=0;i=a+148|0;if(f[i>>2]|0){e=a+144|0;c=f[e>>2]|0;if(c|0)do{v=c;c=f[c>>2]|0;Co(v)}while((c|0)!=0);f[e>>2]=0;c=f[a+140>>2]|0;if(c|0){e=a+136|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}t=a+4|0;c=f[t>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){q=m+8|0;v=f[q>>2]|0;q=f[q+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=Bl(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((q|0)<(k|0)|(q|0)==(k|0)&v>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;x=l;f[x>>2]=i;f[x+4>>2]=k;x=14}}else if(yh(B,m)|0){e=f[t>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;x=14}if((x|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){q=l+8|0;v=f[q>>2]|0;q=f[q+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=Bl(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((q|0)<(i|0)|(q|0)==(i|0)&v>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;x=21}}else if(yh(o,l)|0){k=f[t>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;x=21}else c=0;if((x|0)==21){n=a+156|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){q=k+8|0;v=f[q>>2]|0;q=f[q+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if(!((q|0)<(g|0)|(q|0)==(g|0)&v>>>0>>0)?(v=(f[k>>2]|0)+c|0,v=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24,f[r>>2]=v,q=i,f[q>>2]=e,f[q+4>>2]=g,v>>>0<=715827882):0)x=25;else c=0}else{v=(yh(r,k)|0)^1;if((f[r>>2]|0)>>>0>715827882|v)c=0;else x=25}do if((x|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);q=Lk(60)|0;om(q);v=a+8|0;c=f[v>>2]|0;f[v>>2]=q;if(c|0?(uh(c),Co(c),(f[v>>2]|0)==0):0){c=0;break}i=a+160|0;c=f[i>>2]|0;g=a+164|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;c=f[(f[t>>2]|0)+32>>2]|0;q=c+8|0;p=f[q+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((p|0)>(g|0)|((p|0)==(g|0)?(f[q>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=Bl(e|0,g|0,1,0)|0;q=i;f[q>>2]=k;f[q+4>>2]=I;q=a+212|0;k=f[q>>2]|0;p=a+216|0;c=f[p>>2]|0;if((c|0)!=(k|0))do{f[p>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}Dh(c+-112|0);c=f[p>>2]|0}while((c|0)!=(k|0));m=l&255;Xf(q,m);o=f[t>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[w>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=59}}else if(yh(w,c)|0){e=f[w>>2]|0;x=59}else c=0;if((x|0)==59){c=f[r>>2]|0;if(c>>>0>>0)c=0;else{o=f[t>>2]|0;l=f[o+32>>2]|0;do if((h[o+36>>0]<<8&65535)<512){o=l+8|0;r=f[o>>2]|0;o=f[o+4>>2]|0;k=l+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&r>>>0>>0){c=0;break}e=(f[l>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[s>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=65}else{if(!(yh(s,l)|0)){c=0;break}e=f[s>>2]|0;c=f[r>>2]|0;x=65}while(0);a:do if((x|0)==65){if(!(Fi(f[v>>2]|0,c,e+(f[n>>2]|0)|0)|0)){c=0;break}c=(f[s>>2]|0)+(f[n>>2]|0)|0;b[B>>0]=1;mf(a+120|0,c,B);c=f[t>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Fb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)<512){r=k+8|0;s=f[r>>2]|0;r=f[r+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((r|0)<(g|0)|(r|0)==(g|0)&s>>>0>>0)break;c=(f[k>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[B>>2]=c;x=i;f[x>>2]=e;f[x+4>>2]=g;x=72}else{if(!(yh(B,k)|0))break;c=f[B>>2]|0;x=72}while(0);do if((x|0)==72){if(!c)break;x=f[(f[t>>2]|0)+32>>2]|0;s=x+8|0;x=x+16|0;x=cm(f[s>>2]|0,f[s+4>>2]|0,f[x>>2]|0,f[x+4>>2]|0)|0;s=I;if(0>(s|0)|0==(s|0)&c>>>0>x>>>0)break;fk(C);c=f[(f[t>>2]|0)+32>>2]|0;r=c+16|0;o=f[r>>2]|0;x=f[B>>2]|0;s=(f[c>>2]|0)+o+x|0;n=c+8|0;r=cm(f[n>>2]|0,f[n+4>>2]|0,o|0,f[r+4>>2]|0)|0;x=cm(r|0,I|0,x|0,0)|0;xk(C,s,x,d[c+38>>1]|0);c=Fb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);x=a+224|0;f[a+368>>2]=a;o=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;o=(f[o>>2]|0)+(f[o+16>>2]|0)|0;r=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;r=f[r>>2]|0;s=r+8|0;r=r+16|0;r=cm(f[s>>2]|0,f[s+4>>2]|0,f[r>>2]|0,f[r+4>>2]|0)|0;s=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;xk(x,o,r,d[(f[s>>2]|0)+38>>1]|0);f[a+364>>2]=m;fk(C);c:do if(Bd(x,C)|0){o=$a(a,f[w>>2]|0)|0;if((o|0)==-1){c=0;break}c=f[(f[t>>2]|0)+32>>2]|0;e=C+16|0;w=f[e>>2]|0;x=(f[C>>2]|0)+w|0;s=C+8|0;e=cm(f[s>>2]|0,f[s+4>>2]|0,w|0,f[e+4>>2]|0)|0;xk(c,x,e,d[c+38>>1]|0);c=f[t>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){x=(f[c+32>>2]|0)+16|0;w=x;w=Bl(f[w>>2]|0,f[w+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[x>>2]=w;f[x+4>>2]=I}do if((f[p>>2]|0)!=(f[q>>2]|0)){c=f[v>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[y>>2]=c;f[B>>2]=f[y>>2];c=c+3|0;if(!(Jd(a,B)|0)){c=0;break c}z=f[v>>2]|0}while((c|0)<((f[z+4>>2]|0)-(f[z>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[z>>2]=c;f[B>>2]=f[z>>2];c=c+3|0;if(!(Ed(a,B)|0)){c=0;break c}y=f[v>>2]|0}while((c|0)<((f[y+4>>2]|0)-(f[y>>2]|0)>>2|0))}}while(0);if(b[a+300>>0]|0)Jj(a+264|0);if((j[a+262>>1]|0)<514)Jj(a+320|0);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){i=0;do{Mg(c+(i*116|0)+4|0,f[v>>2]|0)|0;c=f[q>>2]|0;e=f[c+(i*116|0)+104>>2]|0;g=f[c+(i*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Ye(c+(i*116|0)+4|0,B);e=e+4|0;c=f[q>>2]|0}while((e|0)!=(g|0));kj(c+(i*116|0)+4|0,0,0);i=i+1|0;c=f[q>>2]|0}while(i>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}l=f[v>>2]|0;l=(f[l+28>>2]|0)-(f[l+24>>2]|0)>>2;g=a+196|0;k=a+200|0;i=f[k>>2]|0;c=f[g>>2]|0;e=i-c>>2;do if(l>>>0>e>>>0)sg(g,l-e|0);else{if(l>>>0>=e>>>0)break;c=c+(l<<2)|0;if((i|0)==(c|0))break;f[k>>2]=i+(~((i+-4-c|0)>>>2)<<2)}while(0);Kh(a+184|0,l);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){n=0;do{m=(f[c+(n*116|0)+60>>2]|0)-(f[c+(n*116|0)+56>>2]|0)>>2;i=f[v>>2]|0;i=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;m=(m|0)<(i|0)?i:m;i=c+(n*116|0)+88|0;l=c+(n*116|0)+92|0;k=f[l>>2]|0;e=f[i>>2]|0;g=k-e>>2;do if(m>>>0>g>>>0)sg(i,m-g|0);else{if(m>>>0>=g>>>0)break;e=e+(m<<2)|0;if((k|0)==(e|0))break;f[l>>2]=k+(~((k+-4-e|0)>>>2)<<2)}while(0);Kh(c+(n*116|0)+76|0,m);n=n+1|0;c=f[q>>2]|0}while(n>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}c=Ab(a,o)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}}else c=0}while(0)}C=c;u=D;return C|0}function eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=La;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=Kk(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=Bl(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=Kk(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=Bl(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function fb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;M=u;u=u+32|0;L=M;J=a+8|0;j=f[J>>2]|0;f[L>>2]=0;l=L+4|0;f[l>>2]=0;f[L+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(L);else{K=j<<2;g=Lk(K)|0;f[L>>2]=g;i=g+(j<<2)|0;f[L+8>>2]=i;dh(g|0,0,K|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);I=a+116|0;n=f[I>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[L>>2]|0;i=f[l>>2]|0;j=f[J>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[L+8>>2];f[L>>2]=0;i=L+4|0;f[i>>2]=0;f[L+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(L);else{K=j<<2;h=Lk(K)|0;f[L>>2]=h;e=h+(j<<2)|0;f[L+8>>2]=e;dh(h|0,0,K|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);E=a+128|0;k=f[E>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[L>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[L+8>>2];f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;K=L+8|0;H=L+4|0;G=L+16|0;F=L+20|0;cc(L);e=f[H>>2]|0;g=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[F>>2]|0)+1|0;f[F>>2]=e;a:do if(e|0){v=a+104|0;D=a+92|0;t=d+4|0;w=a+96|0;C=a+48|0;z=a+44|0;B=a+28|0;y=a+24|0;A=a+88|0;x=a+84|0;b:while(1){q=f[G>>2]|0;g=e+-1|0;n=q+g|0;r=f[H>>2]|0;p=f[r+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;s=f[p+(n*12|0)>>2]|0;h=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[F>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}i=f[I>>2]|0;r=i+(n*12|0)|0;q=(f[E>>2]|0)+(n*12|0)|0;g=Wk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(n*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=31;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0;if((m|0)>=(s|0)){o=23;break}}}else o=23;else{if(!s){o=36;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[J>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[J>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[D>>2]|0;else{l=f[v>>2]|0;m=f[D>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){o=50;break b}if((p|0)<=0){o=52;break b}j=f[C>>2]|0;k=32-j|0;e=f[z>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[C>>2]=p;e=e+4|0;f[z>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[C>>2]|0)+p|0;f[C>>2]=p;if((p|0)!=32)break;f[z>>2]=e+4;f[C>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[J>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=45;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=23;break c}e=f[J>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[I>>2]|0)+(c*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}r=i+(g<<2)|0;f[r>>2]=(f[r>>2]|0)+k;k=(_(s|0)|0)^31;if(k>>>0>=33){o=64;break b}if(!k){o=66;break b}i=f[B>>2]|0;h=32-i|0;j=f[y>>2]|0;e=f[j>>2]<>>(32-k|0);r=i+k|0;f[B>>2]=r;if((r|0)==32){f[y>>2]=j+4;f[B>>2]=0}}else{r=k-h|0;f[B>>2]=r;q=j+4|0;f[y>>2]=q;r=32-r|0;e=(f[q>>2]|0)>>>r|e>>>(r-h|0)}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){l=j;m=j}else{s=f[A>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[A>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[A>>2]=0}l=i?j:h;m=i?h:j}e=f[E>>2]|0;k=f[e+(n*12|0)>>2]|0;h=k+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(n*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[e+(c*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[k+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(l|0){j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(L);e=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;f[F>>2]=(f[F>>2]|0)+1}if(!m){o=23;break}j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(L);e=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=m;f[e+4>>2]=g;f[e+8>>2]=c;e=(f[F>>2]|0)+1|0;f[F>>2]=e}while(0);if((o|0)==23){o=0;e=f[F>>2]|0}if(!e)break a}if((o|0)==31)ra(4996,5026,51,5150);else if((o|0)==36)ra(16930,16968,223,17115);else if((o|0)==45)ra(4996,5026,51,5150);else if((o|0)==50)ra(17130,17154,48,17262);else if((o|0)==52)ra(17291,17154,49,17262);else if((o|0)==64)ra(17130,17154,48,17262);else if((o|0)==66)ra(17291,17154,49,17262)}while(0);e=f[H>>2]|0;g=f[G>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[F>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[H>>2]|0)+4|0;f[H>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=102;break}case 2:{g=341;o=102;break}default:{}}if((o|0)==102)f[G>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[H>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[L>>2]|0;if(!e){u=M;return}Co(e);u=M;return}function gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;N=Q+24|0;P=Q;M=a+8|0;i=f[M>>2]|0;f[N>>2]=0;k=N+4|0;f[k>>2]=0;f[N+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(N);else{O=i<<2;e=Lk(O)|0;f[N>>2]=e;h=e+(i<<2)|0;f[N+8>>2]=h;dh(e|0,0,O|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);L=a+116|0;m=f[L>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[N>>2]|0;h=f[k>>2]|0;i=f[M>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[N+8>>2];f[N>>2]=0;h=N+4|0;f[h>>2]=0;f[N+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(N);else{O=i<<2;g=Lk(O)|0;f[N>>2]=g;d=g+(i<<2)|0;f[N+8>>2]=d;dh(g|0,0,O|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);H=a+128|0;j=f[H>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[N>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[N+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;K=P+4|0;J=P+16|0;I=P+20|0;cc(P);d=f[K>>2]|0;e=(f[I>>2]|0)+(f[J>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[I>>2]|0)+1|0;f[I>>2]=d;a:do if(d|0){w=a+104|0;v=a+92|0;B=N+4|0;D=N+8|0;G=a+48|0;z=a+44|0;F=a+28|0;y=a+24|0;E=a+88|0;x=a+84|0;A=N+4|0;C=N+8|0;b:while(1){r=f[J>>2]|0;e=d+-1|0;m=r+e|0;s=f[K>>2]|0;q=f[s+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;t=f[q+(m*12|0)>>2]|0;g=f[q+(m*12|0)+4>>2]|0;m=f[q+(m*12|0)+8>>2]|0;f[I>>2]=e;e=f[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[O>>2]=(f[O>>2]|0)+-4}h=f[L>>2]|0;s=h+(m*12|0)|0;r=(f[H>>2]|0)+(m*12|0)|0;e=Wk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[N>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else Hf(j,N);i=i+1|0}while((i|0)<(t|0));n=23}else n=23;else{if(!t){n=35;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[M>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[M>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){n=44;break b}if((n|0)<=0){n=46;break b}h=f[G>>2]|0;i=32-h|0;d=f[z>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[G>>2]=n;d=d+4|0;f[z>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[G>>2]|0)+n|0;f[G>>2]=n;if((n|0)!=32)break;f[z>>2]=d+4;f[G>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[M>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[N>>2]=d;f[B>>2]=f[g+4>>2];f[D>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[B>>2];f[g+8>>2]=f[D>>2];f[o>>2]=g+12}else Hf(q,N);e=e+1|0;if(e>>>0>=t>>>0){n=23;break c}d=f[M>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;i=d;h=f[(f[L>>2]|0)+(b*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}s=h+(e<<2)|0;f[s>>2]=(f[s>>2]|0)+j;j=(_(t|0)|0)^31;if(j>>>0>=33){n=61;break b}if(!j){n=63;break b}h=f[F>>2]|0;g=32-h|0;i=f[y>>2]|0;d=f[i>>2]<>>(32-j|0);s=h+j|0;f[F>>2]=s;if((s|0)==32){f[y>>2]=i+4;f[F>>2]=0}}else{s=j-g|0;f[F>>2]=s;r=i+4|0;f[y>>2]=r;s=32-s|0;d=(f[r>>2]|0)>>>s|d>>>(s-g|0)}i=(t>>>1)-d|0;g=t-i|0;if((i|0)==(g|0)){k=i;l=i}else{t=f[E>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[E>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[E>>2]=0}k=h?i:g;l=h?g:i}d=f[H>>2]|0;j=f[d+(m*12|0)>>2]|0;h=j+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(m*12|0)+4>>2]|0;g=j;if((h|0)!=(g|0)){i=f[d+(b*12|0)>>2]|0;g=h-g>>2;d=0;do{f[i+(d<<2)>>2]=f[j+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(k|0){i=f[O>>2]|0;h=f[K>>2]|0;t=i-h>>2;d=f[J>>2]|0;g=f[I>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[J>>2]|0;g=f[I>>2]|0;i=f[O>>2]|0;h=f[K>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;f[I>>2]=(f[I>>2]|0)+1}if(!l){n=23;break}i=f[O>>2]|0;h=f[K>>2]|0;t=i-h>>2;d=f[J>>2]|0;g=f[I>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[J>>2]|0;g=f[I>>2]|0;i=f[O>>2]|0;h=f[K>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=l;f[d+4>>2]=e;f[d+8>>2]=b;d=(f[I>>2]|0)+1|0;f[I>>2]=d}while(0);if((n|0)==23){n=0;d=f[I>>2]|0}if(!d)break a}if((n|0)==35)ra(16930,16968,223,17115);else if((n|0)==44)ra(17130,17154,48,17262);else if((n|0)==46)ra(17291,17154,49,17262);else if((n|0)==61)ra(17130,17154,48,17262);else if((n|0)==63)ra(17291,17154,49,17262)}while(0);d=f[K>>2]|0;e=f[J>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[O>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[I>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[K>>2]|0)+4|0;f[K>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=99;break}case 2:{e=341;n=99;break}default:{}}if((n|0)==99)f[J>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[K>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;O=u;u=u+32|0;N=O;L=a+8|0;j=f[L>>2]|0;f[N>>2]=0;l=N+4|0;f[l>>2]=0;f[N+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(N);else{M=j<<2;g=Lk(M)|0;f[N>>2]=g;i=g+(j<<2)|0;f[N+8>>2]=i;dh(g|0,0,M|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);K=a+116|0;n=f[K>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[N>>2]|0;i=f[l>>2]|0;j=f[L>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[N+8>>2];f[N>>2]=0;i=N+4|0;f[i>>2]=0;f[N+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(N);else{M=j<<2;h=Lk(M)|0;f[N>>2]=h;e=h+(j<<2)|0;f[N+8>>2]=e;dh(h|0,0,M|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);G=a+128|0;k=f[G>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[N>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[N+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;J=N+4|0;I=N+16|0;H=N+20|0;cc(N);e=f[J>>2]|0;g=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[M>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[H>>2]|0)+1|0;f[H>>2]=e;a:do if(e|0){w=a+104|0;E=a+92|0;v=d+4|0;x=a+96|0;D=a+48|0;A=a+44|0;C=a+28|0;z=a+24|0;B=a+88|0;y=a+84|0;b:while(1){r=f[I>>2]|0;g=e+-1|0;o=r+g|0;s=f[J>>2]|0;q=f[s+(((o>>>0)/341|0)<<2)>>2]|0;o=(o>>>0)%341|0;t=f[q+(o*12|0)>>2]|0;h=f[q+(o*12|0)+4>>2]|0;o=f[q+(o*12|0)+8>>2]|0;f[H>>2]=g;g=f[M>>2]|0;s=g-s>>2;if((1-e-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);g=(f[M>>2]|0)+-4|0;f[M>>2]=g}i=f[K>>2]|0;r=i+(o*12|0)|0;m=f[G>>2]|0;s=((f[L>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=m+(o*12|0)|0;c=f[q>>2]|0;l=c+(s<<2)|0;e=(f[a>>2]|0)-(f[l>>2]|0)|0;n=c;c:do if(!e)if((t|0)>0){j=i+(o*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[v>>2]|0;m=0;while(1){e=g;g=g+1|0;f[v>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){F=31;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;s=l;F=f[s>>2]|0;s=Kk(F|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+s|0,h|0,F|0)|0;m=m+1|0;if((m|0)>=(t|0)){F=23;break}}}else F=23;else{if(!t){F=36;break b}if(t>>>0<3){i=f[w>>2]|0;f[i>>2]=s;e=f[L>>2]|0;if(e>>>0>1){g=s;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[L>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[E>>2]|0;else{l=f[w>>2]|0;m=f[E>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){F=50;break b}if((p|0)<=0){F=52;break b}j=f[D>>2]|0;k=32-j|0;e=f[A>>2]|0;j=f[e>>2]<(k|0)){F=p-k|0;f[D>>2]=F;s=e+4|0;f[A>>2]=s;F=32-F|0;f[h>>2]=(f[s>>2]|0)>>>F|j>>>(F-k|0);break}f[h>>2]=j>>>(32-p|0);F=(f[D>>2]|0)+p|0;f[D>>2]=F;if((F|0)!=32)break;f[A>>2]=e+4;f[D>>2]=0}while(0);s=f[c>>2]|0;F=m+(s<<2)|0;f[F>>2]=f[F>>2]|f[(f[r>>2]|0)+(s<<2)>>2];o=o+1|0}while(o>>>0<(f[L>>2]|0)>>>0)}h=f[d>>2]|0;e=f[v>>2]|0;f[v>>2]=e+1;if(((f[x>>2]|0)-i|0)!=12){F=45;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;s=h+40|0;F=f[s>>2]|0;s=Kk(F|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+s|0,i|0,F|0)|0;g=g+1|0;if(g>>>0>=t>>>0){F=23;break c}e=f[L>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;j=e;i=f[i+(p*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}r=i+(s<<2)|0;f[r>>2]=(f[r>>2]|0)+k;k=(_(t|0)|0)^31;if(k>>>0>=33){F=64;break b}if(!k){F=66;break b}i=f[C>>2]|0;h=32-i|0;j=f[z>>2]|0;e=f[j>>2]<>>(32-k|0);r=i+k|0;f[C>>2]=r;if((r|0)==32){f[z>>2]=j+4;f[C>>2]=0}}else{r=k-h|0;f[C>>2]=r;q=j+4|0;f[z>>2]=q;r=32-r|0;e=(f[q>>2]|0)>>>r|e>>>(r-h|0)}j=(t>>>1)-e|0;h=t-j|0;if((j|0)==(h|0))k=j;else{t=f[B>>2]|0;e=f[y>>2]|0;i=(f[e>>2]&1<<31-t|0)!=0;t=t+1|0;f[B>>2]=t;if((t|0)==32){f[y>>2]=e+4;f[B>>2]=0}k=i?j:h;j=i?h:j}f[l>>2]=(f[l>>2]|0)+1;e=f[m+(o*12|0)+4>>2]|0;if((e|0)!=(n|0)){i=f[m+(p*12|0)>>2]|0;h=e-n>>2;e=0;do{f[i+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){i=f[J>>2]|0;t=g-i>>2;e=f[I>>2]|0;h=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+e|0)){cc(N);e=f[I>>2]|0;h=f[H>>2]|0;g=f[M>>2]|0;i=f[J>>2]|0}e=h+e|0;if((g|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=s;f[e+8>>2]=o;f[H>>2]=(f[H>>2]|0)+1}if(!j){F=23;break}i=f[M>>2]|0;h=f[J>>2]|0;t=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+e|0)){cc(N);e=f[I>>2]|0;g=f[H>>2]|0;i=f[M>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=j;f[e+4>>2]=s;f[e+8>>2]=p;e=(f[H>>2]|0)+1|0;f[H>>2]=e}while(0);if((F|0)==23){F=0;e=f[H>>2]|0}if(!e)break a}if((F|0)==31)ra(4996,5026,51,5150);else if((F|0)==36)ra(16930,16968,223,17115);else if((F|0)==45)ra(4996,5026,51,5150);else if((F|0)==50)ra(17130,17154,48,17262);else if((F|0)==52)ra(17291,17154,49,17262);else if((F|0)==64)ra(17130,17154,48,17262);else if((F|0)==66)ra(17291,17154,49,17262)}while(0);e=f[J>>2]|0;g=f[I>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[M>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[H>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[J>>2]|0)+4|0;f[J>>2]=e;h=f[M>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;F=102;break}case 2:{g=341;F=102;break}default:{}}if((F|0)==102)f[I>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[J>>2]|0;g=f[M>>2]|0;if((g|0)!=(e|0))f[M>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[N>>2]|0;if(!e){u=O;return}Co(e);u=O;return}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;N=Q+24|0;P=Q;M=a+8|0;i=f[M>>2]|0;f[N>>2]=0;k=N+4|0;f[k>>2]=0;f[N+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(N);else{O=i<<2;e=Lk(O)|0;f[N>>2]=e;h=e+(i<<2)|0;f[N+8>>2]=h;dh(e|0,0,O|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);L=a+116|0;m=f[L>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[N>>2]|0;h=f[k>>2]|0;i=f[M>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[N+8>>2];f[N>>2]=0;h=N+4|0;f[h>>2]=0;f[N+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(N);else{O=i<<2;g=Lk(O)|0;f[N>>2]=g;d=g+(i<<2)|0;f[N+8>>2]=d;dh(g|0,0,O|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);H=a+128|0;j=f[H>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[N>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[N+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;K=P+4|0;J=P+16|0;I=P+20|0;cc(P);d=f[K>>2]|0;e=(f[I>>2]|0)+(f[J>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[I>>2]|0)+1|0;f[I>>2]=d;a:do if(d|0){w=a+104|0;v=a+92|0;B=N+4|0;D=N+8|0;G=a+48|0;z=a+44|0;F=a+28|0;y=a+24|0;E=a+88|0;x=a+84|0;A=N+4|0;C=N+8|0;b:while(1){r=f[J>>2]|0;e=d+-1|0;n=r+e|0;s=f[K>>2]|0;p=f[s+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;t=f[p+(n*12|0)>>2]|0;g=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[I>>2]=e;e=f[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);e=(f[O>>2]|0)+-4|0;f[O>>2]=e}h=f[L>>2]|0;s=h+(n*12|0)|0;l=f[H>>2]|0;p=((f[M>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=l+(n*12|0)|0;b=f[r>>2]|0;k=b+(p<<2)|0;d=(f[a>>2]|0)-(f[k>>2]|0)|0;m=b;c:do if(!d)if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[N>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else Hf(j,N);i=i+1|0}while((i|0)<(t|0));q=23}else q=23;else{if(!t){q=35;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=p;d=f[M>>2]|0;if(d>>>0>1){e=p;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[M>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){q=44;break b}if((n|0)<=0){q=46;break b}h=f[G>>2]|0;i=32-h|0;d=f[z>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[G>>2]=n;d=d+4|0;f[z>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[G>>2]|0)+n|0;f[G>>2]=n;if((n|0)!=32)break;f[z>>2]=d+4;f[G>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[M>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[N>>2]=d;f[B>>2]=f[g+4>>2];f[D>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[B>>2];f[g+8>>2]=f[D>>2];f[o>>2]=g+12}else Hf(q,N);e=e+1|0;if(e>>>0>=t>>>0){q=23;break c}d=f[M>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;i=d;h=f[h+(o*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}s=h+(p<<2)|0;f[s>>2]=(f[s>>2]|0)+j;j=(_(t|0)|0)^31;if(j>>>0>=33){q=61;break b}if(!j){q=63;break b}h=f[F>>2]|0;g=32-h|0;i=f[y>>2]|0;d=f[i>>2]<>>(32-j|0);s=h+j|0;f[F>>2]=s;if((s|0)==32){f[y>>2]=i+4;f[F>>2]=0}}else{s=j-g|0;f[F>>2]=s;r=i+4|0;f[y>>2]=r;s=32-s|0;d=(f[r>>2]|0)>>>s|d>>>(s-g|0)}i=(t>>>1)-d|0;g=t-i|0;if((i|0)==(g|0))j=i;else{t=f[E>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[E>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[E>>2]=0}j=h?i:g;i=h?g:i}f[k>>2]=(f[k>>2]|0)+1;d=f[l+(n*12|0)+4>>2]|0;if((d|0)!=(m|0)){h=f[l+(o*12|0)>>2]|0;g=d-m>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){h=f[K>>2]|0;t=e-h>>2;d=f[J>>2]|0;g=f[I>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[J>>2]|0;g=f[I>>2]|0;e=f[O>>2]|0;h=f[K>>2]|0}d=g+d|0;if((e|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=p;f[d+8>>2]=n;f[I>>2]=(f[I>>2]|0)+1}if(!i){q=23;break}h=f[O>>2]|0;g=f[K>>2]|0;t=h-g>>2;d=f[J>>2]|0;e=f[I>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[J>>2]|0;e=f[I>>2]|0;h=f[O>>2]|0;g=f[K>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=i;f[d+4>>2]=p;f[d+8>>2]=o;d=(f[I>>2]|0)+1|0;f[I>>2]=d}while(0);if((q|0)==23){q=0;d=f[I>>2]|0}if(!d)break a}if((q|0)==35)ra(16930,16968,223,17115);else if((q|0)==44)ra(17130,17154,48,17262);else if((q|0)==46)ra(17291,17154,49,17262);else if((q|0)==61)ra(17130,17154,48,17262);else if((q|0)==63)ra(17291,17154,49,17262)}while(0);d=f[K>>2]|0;e=f[J>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[O>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[I>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[K>>2]|0)+4|0;f[K>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;q=99;break}case 2:{e=341;q=99;break}default:{}}if((q|0)==99)f[J>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[K>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=u;u=u+64|0;U=V+16|0;I=V;H=a+8|0;f[H>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);d=U;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[I>>2]=0;if(!e){d=0;g=0}else{wf(U,e,I);d=f[U+12>>2]|0;g=f[U+16>>2]|0}f[I>>2]=0;h=U+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else wf(U+12|0,e-i|0,I);i=U+24|0;f[I>>2]=0;h=U+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else wf(i,e-j|0,I);i=U+36|0;f[I>>2]=0;h=U+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else wf(i,e-j|0,I);h=f[U>>2]|0;if((f[H>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{G=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(G|0)?G:d}j=j+1|0;d=f[H>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;r=18}}else{d=d-(f[i>>2]|0)|0;r=18}if((r|0)==18){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}B=f[a+48>>2]|0;C=f[a+52>>2]|0;G=Lk(16)|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;f[I>>2]=0;F=I+4|0;f[F>>2]=0;f[I+8>>2]=0;do if(e)if(e>>>0>1073741823)Tn(I);else{E=e<<2;p=Lk(E)|0;f[I>>2]=p;o=p+(e<<2)|0;f[I+8>>2]=o;dh(p|0,0,E|0)|0;f[F>>2]=o;o=p;break}else{o=0;p=0}while(0);D=a+56|0;d=f[D>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;A=g-h|0;E=A>>2;do if((A|0)>4){x=B+64|0;t=B+28|0;w=(e|0)>0;z=a+16|0;v=a+32|0;A=a+12|0;y=a+20|0;s=e<<2;if(g-h>>2>>>0>1){q=h;Q=1}else{r=d;Tn(r)}while(1){n=f[q+(Q<<2)>>2]|0;q=n+((n|0)<0?0:((n>>>0)%3|0|0)==0?2:-1)|0;p=q>>>5;r=1<<(q&31);o=(q|0)<0;g=n;m=1;d=0;a:while(1){do{if((g|0)<=-1){r=63;break a}h=f[U+(d*12|0)>>2]|0;if(((f[(f[B>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(R=f[(f[(f[x>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(R|0)>=0):0)?(L=f[t>>2]|0,l=f[C>>2]|0,J=f[l+(f[L+(R<<2)>>2]<<2)>>2]|0,K=R+1|0,K=f[l+(f[L+((((K|0)%3|0|0)==0?R+-2|0:K)<<2)>>2]<<2)>>2]|0,L=f[l+(f[L+((((R>>>0)%3|0|0)==0?2:-1)+R<<2)>>2]<<2)>>2]|0,(J|0)<(Q|0)&(K|0)<(Q|0)&(L|0)<(Q|0)):0){j=X(J,e)|0;k=X(K,e)|0;l=X(L,e)|0;if(w){i=0;do{f[h+(i<<2)>>2]=(f[c+(i+l<<2)>>2]|0)+(f[c+(i+k<<2)>>2]|0)-(f[c+(i+j<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;r=44;break a}}do if(m){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=f[B>>2]|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[x>>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=f[B>>2]|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[x>>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)==(n|0)){r=63;break a}}while(!(m&(g|0)<0));g=(r&f[h+(p<<2)>>2]|0)!=0;if(g|o){g=g?-1073741824:q;m=0;continue}g=f[(f[(f[x>>2]|0)+12>>2]|0)+(q<<2)>>2]|0;if((g|0)<0){m=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;m=0;continue}else{g=g+-1|0;m=0;continue}}if((r|0)==63)if((d|0)>0)r=44;else{P=X(Q,e)|0;r=75}if((r|0)==44){r=0;if(w){dh(f[I>>2]|0,0,s|0)|0;j=d+-1|0;l=G+(j<<2)|0;j=f[a+60+(j*12|0)>>2]|0;k=f[I>>2]|0;m=0;g=0;do{q=f[l>>2]|0;f[l>>2]=q+1;if(!(f[j+(q>>>5<<2)>>2]&1<<(q&31))){h=f[U+(m*12|0)>>2]|0;i=0;do{q=k+(i<<2)|0;f[q>>2]=(f[q>>2]|0)+(f[h+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));g=g+1|0}m=m+1|0}while((m|0)!=(d|0))}else{h=d+-1|0;j=G+(h<<2)|0;h=f[a+60+(h*12|0)>>2]|0;i=f[j>>2]|0;k=0;g=0;do{q=i;i=i+1|0;f[j>>2]=i;g=g+((f[h+(q>>>5<<2)>>2]&1<<(q&31)|0)==0&1)|0;k=k+1|0}while((k|0)!=(d|0))}h=X(Q,e)|0;if(g){j=f[I>>2]|0;if(w){d=0;do{q=j+(d<<2)|0;f[q>>2]=(f[q>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=b+(h<<2)|0;k=c+(h<<2)|0;if((f[H>>2]|0)>0){h=0;do{d=f[j+(h<<2)>>2]|0;g=f[z>>2]|0;if((d|0)>(g|0)){i=f[v>>2]|0;f[i+(h<<2)>>2]=g}else{q=f[A>>2]|0;i=f[v>>2]|0;f[i+(h<<2)>>2]=(d|0)<(q|0)?q:d}h=h+1|0;d=f[H>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;do if((d|0)>(f[z>>2]|0)){d=d-(f[y>>2]|0)|0;r=97}else{if((d|0)>=(f[A>>2]|0))break;d=(f[y>>2]|0)+d|0;r=97}while(0);if((r|0)==97){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}}else{P=h;r=75}}if((r|0)==75?(r=0,M=c+((X(Q+-1|0,e)|0)<<2)|0,N=b+(P<<2)|0,O=c+(P<<2)|0,(f[H>>2]|0)>0):0){h=0;do{d=f[M+(h<<2)>>2]|0;g=f[z>>2]|0;if((d|0)>(g|0)){i=f[v>>2]|0;f[i+(h<<2)>>2]=g}else{q=f[A>>2]|0;i=f[v>>2]|0;f[i+(h<<2)>>2]=(d|0)<(q|0)?q:d}h=h+1|0;d=f[H>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[N+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=O+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[z>>2]|0)){if((d|0)<(f[A>>2]|0)){d=(f[y>>2]|0)+d|0;r=85}}else{d=d-(f[y>>2]|0)|0;r=85}if((r|0)==85){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}Q=Q+1|0;if((Q|0)>=(E|0)){r=28;break}d=f[D>>2]|0;q=f[d>>2]|0;if((f[d+4>>2]|0)-q>>2>>>0<=Q>>>0){r=34;break}}if((r|0)==28){T=f[I>>2]|0;S=T;break}else if((r|0)==34)Tn(d)}else{S=p;T=o}while(0);if(S|0){d=f[F>>2]|0;if((d|0)!=(S|0))f[F>>2]=d+(~((d+-4-S|0)>>>2)<<2);Co(T)}Co(G);g=f[U+36>>2]|0;if(g|0){h=U+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g)}d=f[U+24>>2]|0;if(d|0){h=U+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}d=f[U+12>>2]|0;if(d|0){h=U+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}h=f[U>>2]|0;if(!h){u=V;return 1}g=U+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h);u=V;return 1}function kb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K;H=a+8|0;j=f[H>>2]|0;f[J>>2]=0;l=J+4|0;f[l>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;g=Lk(I)|0;f[J>>2]=g;i=g+(j<<2)|0;f[J+8>>2]=i;dh(g|0,0,I|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);G=a+624|0;n=f[G>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[J>>2]|0;i=f[l>>2]|0;j=f[H>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[J+8>>2];f[J>>2]=0;i=J+4|0;f[i>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;h=Lk(I)|0;f[J>>2]=h;e=h+(j<<2)|0;f[J+8>>2]=e;dh(h|0,0,I|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);C=a+636|0;k=f[C>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[J>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;F=J+4|0;E=J+16|0;D=J+20|0;cc(J);e=f[F>>2]|0;g=(f[D>>2]|0)+(f[E>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[D>>2]|0)+1|0;f[D>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[E>>2]|0;g=e+-1|0;n=q+g|0;r=f[F>>2]|0;p=f[r+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;s=f[p+(n*12|0)>>2]|0;h=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[D>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[G>>2]|0;r=i+(n*12|0)|0;q=(f[C>>2]|0)+(n*12|0)|0;g=Sg(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(n*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=31;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0;if((m|0)>=(s|0)){o=23;break}}}else o=23;else{if(!s){o=36;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[H>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[H>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{l=f[v>>2]|0;m=f[B>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){o=50;break b}if((p|0)<=0){o=52;break b}j=f[A>>2]|0;k=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[H>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=45;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=23;break c}e=f[H>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[G>>2]|0)+(c*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+k;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Bi(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){l=j;m=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}l=i?j:h;m=i?h:j}e=f[C>>2]|0;k=f[e+(n*12|0)>>2]|0;h=k+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(n*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[e+(c*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[k+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(l|0){j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;f[D>>2]=(f[D>>2]|0)+1}if(!m)o=23;else{j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=m;f[e+4>>2]=g;f[e+8>>2]=c;e=(f[D>>2]|0)+1|0;f[D>>2]=e}}while(0);if((o|0)==23){o=0;e=f[D>>2]|0}if(!e)break a}if((o|0)==31)ra(4996,5026,51,5150);else if((o|0)==36)ra(16930,16968,223,17115);else if((o|0)==45)ra(4996,5026,51,5150);else if((o|0)==50)ra(17130,17154,48,17262);else if((o|0)==52)ra(17291,17154,49,17262)}while(0);e=f[F>>2]|0;g=f[E>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[D>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[F>>2]|0)+4|0;f[F>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=96;break}case 2:{g=341;o=96;break}default:{}}if((o|0)==96)f[E>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[F>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function lb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K;H=a+8|0;j=f[H>>2]|0;f[J>>2]=0;l=J+4|0;f[l>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;g=Lk(I)|0;f[J>>2]=g;i=g+(j<<2)|0;f[J+8>>2]=i;dh(g|0,0,I|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);G=a+624|0;n=f[G>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[J>>2]|0;i=f[l>>2]|0;j=f[H>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[J+8>>2];f[J>>2]=0;i=J+4|0;f[i>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;h=Lk(I)|0;f[J>>2]=h;e=h+(j<<2)|0;f[J+8>>2]=e;dh(h|0,0,I|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);C=a+636|0;k=f[C>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[J>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;F=J+4|0;E=J+16|0;D=J+20|0;cc(J);e=f[F>>2]|0;g=(f[D>>2]|0)+(f[E>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[D>>2]|0)+1|0;f[D>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[E>>2]|0;g=e+-1|0;n=q+g|0;r=f[F>>2]|0;p=f[r+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;s=f[p+(n*12|0)>>2]|0;h=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[D>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[G>>2]|0;r=i+(n*12|0)|0;q=(f[C>>2]|0)+(n*12|0)|0;g=Wk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(n*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=31;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0;if((m|0)>=(s|0)){o=23;break}}}else o=23;else{if(!s){o=36;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[H>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[H>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{l=f[v>>2]|0;m=f[B>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){o=50;break b}if((p|0)<=0){o=52;break b}j=f[A>>2]|0;k=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[H>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=45;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=23;break c}e=f[H>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[G>>2]|0)+(c*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+k;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Bi(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){l=j;m=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}l=i?j:h;m=i?h:j}e=f[C>>2]|0;k=f[e+(n*12|0)>>2]|0;h=k+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(n*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[e+(c*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[k+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(l|0){j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;f[D>>2]=(f[D>>2]|0)+1}if(!m)o=23;else{j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=m;f[e+4>>2]=g;f[e+8>>2]=c;e=(f[D>>2]|0)+1|0;f[D>>2]=e}}while(0);if((o|0)==23){o=0;e=f[D>>2]|0}if(!e)break a}if((o|0)==31)ra(4996,5026,51,5150);else if((o|0)==36)ra(16930,16968,223,17115);else if((o|0)==45)ra(4996,5026,51,5150);else if((o|0)==50)ra(17130,17154,48,17262);else if((o|0)==52)ra(17291,17154,49,17262)}while(0);e=f[F>>2]|0;g=f[E>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[D>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[F>>2]|0)+4|0;f[F>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=96;break}case 2:{g=341;o=96;break}default:{}}if((o|0)==96)f[E>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[F>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;L=O+24|0;N=O;K=a+8|0;i=f[K>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;e=Lk(M)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;dh(e|0,0,M|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);J=a+624|0;m=f[J>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[K>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;g=Lk(M)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;dh(g|0,0,M|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);F=a+636|0;j=f[F>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;I=N+4|0;H=N+16|0;G=N+20|0;cc(N);d=f[I>>2]|0;e=(f[G>>2]|0)+(f[H>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[G>>2]|0)+1|0;f[G>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;A=L+4|0;C=L+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;z=L+4|0;B=L+8|0;b:while(1){r=f[H>>2]|0;e=d+-1|0;m=r+e|0;s=f[I>>2]|0;q=f[s+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;t=f[q+(m*12|0)>>2]|0;g=f[q+(m*12|0)+4>>2]|0;m=f[q+(m*12|0)+8>>2]|0;f[G>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[J>>2]|0;s=h+(m*12|0)|0;r=(f[F>>2]|0)+(m*12|0)|0;e=Sg(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[L>>2]=d;f[z>>2]=f[e+4>>2];f[B>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[z>>2];f[e+8>>2]=f[B>>2];f[g>>2]=e+12}else Hf(j,L);i=i+1|0}while((i|0)<(t|0));n=23}else n=23;else{if(!t){n=35;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[K>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[K>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){n=44;break b}if((n|0)<=0){n=46;break b}h=f[E>>2]|0;i=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[K>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[L>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Hf(q,L);e=e+1|0;if(e>>>0>=t>>>0){n=23;break c}d=f[K>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;i=d;h=f[(f[J>>2]|0)+(b*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+j;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Bi(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}i=(t>>>1)-d|0;g=t-i|0;if((i|0)==(g|0)){k=i;l=i}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}k=h?i:g;l=h?g:i}d=f[F>>2]|0;j=f[d+(m*12|0)>>2]|0;g=j+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(m*12|0)+4>>2]|0;h=j;if((g|0)!=(h|0)){i=f[d+(b*12|0)>>2]|0;g=g-h>>2;d=0;do{f[i+(d<<2)>>2]=f[j+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(k|0){i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;f[G>>2]=(f[G>>2]|0)+1}if(!l)n=23;else{i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=l;f[d+4>>2]=e;f[d+8>>2]=b;d=(f[G>>2]|0)+1|0;f[G>>2]=d}}while(0);if((n|0)==23){n=0;d=f[G>>2]|0}if(!d)break a}if((n|0)==35)ra(16930,16968,223,17115);else if((n|0)==44)ra(17130,17154,48,17262);else if((n|0)==46)ra(17291,17154,49,17262)}while(0);d=f[I>>2]|0;e=f[H>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[G>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[I>>2]|0)+4|0;f[I>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=93;break}case 2:{e=341;n=93;break}default:{}}if((n|0)==93)f[H>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[I>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;L=O+24|0;N=O;K=a+8|0;i=f[K>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;e=Lk(M)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;dh(e|0,0,M|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);J=a+624|0;m=f[J>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[K>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;g=Lk(M)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;dh(g|0,0,M|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);F=a+636|0;j=f[F>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;I=N+4|0;H=N+16|0;G=N+20|0;cc(N);d=f[I>>2]|0;e=(f[G>>2]|0)+(f[H>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[G>>2]|0)+1|0;f[G>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;A=L+4|0;C=L+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;z=L+4|0;B=L+8|0;b:while(1){r=f[H>>2]|0;e=d+-1|0;m=r+e|0;s=f[I>>2]|0;q=f[s+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;t=f[q+(m*12|0)>>2]|0;g=f[q+(m*12|0)+4>>2]|0;m=f[q+(m*12|0)+8>>2]|0;f[G>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[J>>2]|0;s=h+(m*12|0)|0;r=(f[F>>2]|0)+(m*12|0)|0;e=Wk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[L>>2]=d;f[z>>2]=f[e+4>>2];f[B>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[z>>2];f[e+8>>2]=f[B>>2];f[g>>2]=e+12}else Hf(j,L);i=i+1|0}while((i|0)<(t|0));n=23}else n=23;else{if(!t){n=35;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[K>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[K>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){n=44;break b}if((n|0)<=0){n=46;break b}h=f[E>>2]|0;i=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[K>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[L>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Hf(q,L);e=e+1|0;if(e>>>0>=t>>>0){n=23;break c}d=f[K>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;i=d;h=f[(f[J>>2]|0)+(b*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+j;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Bi(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}i=(t>>>1)-d|0;g=t-i|0;if((i|0)==(g|0)){k=i;l=i}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}k=h?i:g;l=h?g:i}d=f[F>>2]|0;j=f[d+(m*12|0)>>2]|0;g=j+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(m*12|0)+4>>2]|0;h=j;if((g|0)!=(h|0)){i=f[d+(b*12|0)>>2]|0;g=g-h>>2;d=0;do{f[i+(d<<2)>>2]=f[j+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(k|0){i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;f[G>>2]=(f[G>>2]|0)+1}if(!l)n=23;else{i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=l;f[d+4>>2]=e;f[d+8>>2]=b;d=(f[G>>2]|0)+1|0;f[G>>2]=d}}while(0);if((n|0)==23){n=0;d=f[G>>2]|0}if(!d)break a}if((n|0)==35)ra(16930,16968,223,17115);else if((n|0)==44)ra(17130,17154,48,17262);else if((n|0)==46)ra(17291,17154,49,17262)}while(0);d=f[I>>2]|0;e=f[H>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[G>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[I>>2]|0)+4|0;f[I>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=93;break}case 2:{e=341;n=93;break}default:{}}if((n|0)==93)f[H>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[I>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K;H=a+8|0;j=f[H>>2]|0;f[J>>2]=0;l=J+4|0;f[l>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;g=Lk(I)|0;f[J>>2]=g;i=g+(j<<2)|0;f[J+8>>2]=i;dh(g|0,0,I|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);G=a+624|0;n=f[G>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[J>>2]|0;i=f[l>>2]|0;j=f[H>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[J+8>>2];f[J>>2]=0;i=J+4|0;f[i>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;h=Lk(I)|0;f[J>>2]=h;e=h+(j<<2)|0;f[J+8>>2]=e;dh(h|0,0,I|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);C=a+636|0;k=f[C>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[J>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;F=J+4|0;E=J+16|0;D=J+20|0;cc(J);e=f[F>>2]|0;g=(f[D>>2]|0)+(f[E>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[D>>2]|0)+1|0;f[D>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[E>>2]|0;g=e+-1|0;n=q+g|0;r=f[F>>2]|0;p=f[r+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;s=f[p+(n*12|0)>>2]|0;h=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[D>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[G>>2]|0;r=i+(n*12|0)|0;g=((f[H>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=(f[C>>2]|0)+(n*12|0)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(n*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=31;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0;if((m|0)>=(s|0)){o=23;break}}}else o=23;else{if(!s){o=36;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[H>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[H>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{l=f[v>>2]|0;m=f[B>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){o=50;break b}if((p|0)<=0){o=52;break b}j=f[A>>2]|0;k=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[H>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=45;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=23;break c}e=f[H>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;j=e;i=f[i+(c*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+k;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Bi(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){l=j;m=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}l=i?j:h;m=i?h:j}e=f[C>>2]|0;k=f[e+(n*12|0)>>2]|0;h=k+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(n*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[e+(c*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[k+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(l|0){j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;f[D>>2]=(f[D>>2]|0)+1}if(!m)o=23;else{j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=m;f[e+4>>2]=g;f[e+8>>2]=c;e=(f[D>>2]|0)+1|0;f[D>>2]=e}}while(0);if((o|0)==23){o=0;e=f[D>>2]|0}if(!e)break a}if((o|0)==31)ra(4996,5026,51,5150);else if((o|0)==36)ra(16930,16968,223,17115);else if((o|0)==45)ra(4996,5026,51,5150);else if((o|0)==50)ra(17130,17154,48,17262);else if((o|0)==52)ra(17291,17154,49,17262)}while(0);e=f[F>>2]|0;g=f[E>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[D>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[F>>2]|0)+4|0;f[F>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=96;break}case 2:{g=341;o=96;break}default:{}}if((o|0)==96)f[E>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[F>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;L=O+24|0;N=O;K=a+8|0;i=f[K>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;e=Lk(M)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;dh(e|0,0,M|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);J=a+624|0;m=f[J>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[K>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;g=Lk(M)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;dh(g|0,0,M|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);F=a+636|0;j=f[F>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;I=N+4|0;H=N+16|0;G=N+20|0;cc(N);d=f[I>>2]|0;e=(f[G>>2]|0)+(f[H>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[G>>2]|0)+1|0;f[G>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;A=L+4|0;C=L+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;z=L+4|0;B=L+8|0;b:while(1){r=f[H>>2]|0;e=d+-1|0;m=r+e|0;s=f[I>>2]|0;q=f[s+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;t=f[q+(m*12|0)>>2]|0;g=f[q+(m*12|0)+4>>2]|0;m=f[q+(m*12|0)+8>>2]|0;f[G>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[J>>2]|0;s=h+(m*12|0)|0;e=((f[K>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=(f[F>>2]|0)+(m*12|0)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[L>>2]=d;f[z>>2]=f[e+4>>2];f[B>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[z>>2];f[e+8>>2]=f[B>>2];f[g>>2]=e+12}else Hf(j,L);i=i+1|0}while((i|0)<(t|0));n=23}else n=23;else{if(!t){n=35;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[K>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[K>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){n=44;break b}if((n|0)<=0){n=46;break b}h=f[E>>2]|0;i=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[K>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[L>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Hf(q,L);e=e+1|0;if(e>>>0>=t>>>0){n=23;break c}d=f[K>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;i=d;h=f[h+(b*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+j;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Bi(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}i=(t>>>1)-d|0;g=t-i|0;if((i|0)==(g|0)){k=i;l=i}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}k=h?i:g;l=h?g:i}d=f[F>>2]|0;j=f[d+(m*12|0)>>2]|0;g=j+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(m*12|0)+4>>2]|0;h=j;if((g|0)!=(h|0)){i=f[d+(b*12|0)>>2]|0;g=g-h>>2;d=0;do{f[i+(d<<2)>>2]=f[j+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(k|0){i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;f[G>>2]=(f[G>>2]|0)+1}if(!l)n=23;else{i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=l;f[d+4>>2]=e;f[d+8>>2]=b;d=(f[G>>2]|0)+1|0;f[G>>2]=d}}while(0);if((n|0)==23){n=0;d=f[G>>2]|0}if(!d)break a}if((n|0)==35)ra(16930,16968,223,17115);else if((n|0)==44)ra(17130,17154,48,17262);else if((n|0)==46)ra(17291,17154,49,17262)}while(0);d=f[I>>2]|0;e=f[H>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[G>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[I>>2]|0)+4|0;f[I>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=93;break}case 2:{e=341;n=93;break}default:{}}if((n|0)==93)f[H>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[I>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;M=N+8|0;J=N;I=a+8|0;j=f[I>>2]|0;f[M>>2]=0;l=M+4|0;f[l>>2]=0;f[M+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(M);else{K=j<<2;g=Lk(K)|0;f[M>>2]=g;i=g+(j<<2)|0;f[M+8>>2]=i;dh(g|0,0,K|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);H=a+112|0;n=f[H>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[M>>2]|0;i=f[l>>2]|0;j=f[I>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[M+8>>2];f[M>>2]=0;i=M+4|0;f[i>>2]=0;f[M+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(M);else{K=j<<2;h=Lk(K)|0;f[M>>2]=h;e=h+(j<<2)|0;f[M+8>>2]=e;dh(h|0,0,K|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);D=a+124|0;k=f[D>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[M>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;G=M+4|0;F=M+16|0;E=M+20|0;cc(M);e=f[G>>2]|0;g=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[E>>2]|0)+1|0;f[E>>2]=e;a:do if(e|0){v=a+100|0;C=a+88|0;t=d+4|0;w=a+92|0;A=a+44|0;y=a+40|0;B=a+12|0;z=a+84|0;x=a+80|0;b:while(1){q=f[F>>2]|0;g=e+-1|0;m=q+g|0;r=f[G>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[E>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}g=f[H>>2]|0;r=g+(m*12|0)|0;q=(f[D>>2]|0)+(m*12|0)|0;c=Wk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(c<<2)>>2]|0)|0;c:do if(!e){if((s|0)>0){j=g+(m*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;do{e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){L=30;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0}while((m|0)<(s|0))}}else{if(!s){L=35;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=c;e=f[I>>2]|0;if(e>>>0>1){g=c;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[I>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[C>>2]|0;else{l=f[v>>2]|0;m=f[C>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){L=49;break b}if((p|0)<=0){L=51;break b}j=f[A>>2]|0;k=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[I>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){L=44;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0)break c;e=f[I>>2]|0}}j=1<>2]|0;e=f[r>>2]|0;i=e;h=f[(f[H>>2]|0)+(n*12|0)>>2]|0;if((g|0)!=(e|0)){g=g-e>>2;e=0;do{f[h+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=h+(c<<2)|0;f[i>>2]=(f[i>>2]|0)+j;i=(_(s|0)|0)^31;f[J>>2]=0;lh(B,i,J);i=(s>>>1)-(f[J>>2]|0)|0;g=s-i|0;if((i|0)==(g|0)){k=i;l=i}else{s=f[z>>2]|0;e=f[x>>2]|0;h=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=h?i:g;l=h?g:i}e=f[D>>2]|0;j=f[e+(m*12|0)>>2]|0;g=j+(c<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[e+(m*12|0)+4>>2]|0;h=j;if((g|0)!=(h|0)){i=f[e+(n*12|0)>>2]|0;g=g-h>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){i=f[K>>2]|0;h=f[G>>2]|0;s=i-h>>2;e=f[F>>2]|0;g=f[E>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[F>>2]|0;g=f[E>>2]|0;i=f[K>>2]|0;h=f[G>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=c;f[e+8>>2]=m;f[E>>2]=(f[E>>2]|0)+1}if(l|0){i=f[K>>2]|0;h=f[G>>2]|0;s=i-h>>2;e=f[F>>2]|0;g=f[E>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[F>>2]|0;g=f[E>>2]|0;i=f[K>>2]|0;h=f[G>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=c;f[e+8>>2]=n;f[E>>2]=(f[E>>2]|0)+1}}while(0);e=f[E>>2]|0;if(!e)break a}if((L|0)==30)ra(4996,5026,51,5150);else if((L|0)==35)ra(16930,16968,223,17115);else if((L|0)==44)ra(4996,5026,51,5150);else if((L|0)==49)ra(17130,17154,48,17262);else if((L|0)==51)ra(17291,17154,49,17262)}while(0);e=f[G>>2]|0;g=f[F>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[E>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[G>>2]|0)+4|0;f[G>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;L=94;break}case 2:{g=341;L=94;break}default:{}}if((L|0)==94)f[F>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[G>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[M>>2]|0;if(!e){u=N;return}Co(e);u=N;return}function rb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=u;u=u+64|0;R=S+16|0;J=S;I=a+8|0;f[I>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);d=R;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[J>>2]=0;if(!e){d=0;g=0}else{wf(R,e,J);d=f[R+12>>2]|0;g=f[R+16>>2]|0}f[J>>2]=0;h=R+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else wf(R+12|0,e-i|0,J);i=R+24|0;f[J>>2]=0;h=R+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else wf(i,e-j|0,J);i=R+36|0;f[J>>2]=0;h=R+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else wf(i,e-j|0,J);h=f[R>>2]|0;if((f[I>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{H=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(H|0)?H:d}j=j+1|0;d=f[I>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;r=18}}else{d=d-(f[i>>2]|0)|0;r=18}if((r|0)==18){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}C=f[a+48>>2]|0;D=f[a+52>>2]|0;H=Lk(16)|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;do if(e)if(e>>>0>1073741823)Tn(J);else{F=e<<2;p=Lk(F)|0;f[J>>2]=p;o=p+(e<<2)|0;f[J+8>>2]=o;dh(p|0,0,F|0)|0;f[G>>2]=o;o=p;break}else{o=0;p=0}while(0);E=a+56|0;d=f[E>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;B=g-h|0;F=B>>2;do if((B|0)>4){w=C+12|0;y=(e|0)>0;A=a+16|0;x=a+32|0;B=a+12|0;z=a+20|0;v=e<<2;if(g-h>>2>>>0>1){q=h;O=1}else{t=d;Tn(t)}while(1){r=f[q+(O<<2)>>2]|0;t=(((r>>>0)%3|0|0)==0?2:-1)+r|0;s=(r|t|0)<0;q=(r|0)<0?r:t;g=r;p=1;d=0;a:while(1){do{if((g|0)<=-1){r=64;break a}n=f[R+(d*12|0)>>2]|0;o=f[w>>2]|0;i=f[o+(g<<2)>>2]|0;if((i|0)>=0){j=f[C>>2]|0;k=f[D>>2]|0;m=f[k+(f[j+(i<<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=f[j+(h<<2)>>2]|0;l=f[k+(h<<2)>>2]|0;h=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=f[j+(h<<2)>>2]|0;h=f[k+(h<<2)>>2]|0;if((m|0)<(O|0)&(l|0)<(O|0)&(h|0)<(O|0)){k=X(m,e)|0;j=X(l,e)|0;i=X(h,e)|0;if(y){h=0;do{f[n+(h<<2)>>2]=(f[c+(h+i<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+k<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;r=47;break a}}}do if(p){n=g+1|0;g=((n|0)%3|0|0)==0?g+-2|0:n;if((g|0)>=0){g=f[o+(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=f[o+(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)==(r|0)){r=64;break a}}while(!(p&(g|0)<0));if(s){g=q;p=0;continue}g=f[o+(t<<2)>>2]|0;if((g|0)<0){p=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;p=0;continue}else{g=g+-1|0;p=0;continue}}if((r|0)==64)if((d|0)>0)r=47;else{N=X(O,e)|0;r=76}if((r|0)==47){r=0;if(y){dh(f[J>>2]|0,0,v|0)|0;j=d+-1|0;l=H+(j<<2)|0;j=f[a+60+(j*12|0)>>2]|0;k=f[J>>2]|0;m=0;g=0;do{t=f[l>>2]|0;f[l>>2]=t+1;if(!(f[j+(t>>>5<<2)>>2]&1<<(t&31))){h=f[R+(m*12|0)>>2]|0;i=0;do{t=k+(i<<2)|0;f[t>>2]=(f[t>>2]|0)+(f[h+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));g=g+1|0}m=m+1|0}while((m|0)!=(d|0))}else{h=d+-1|0;j=H+(h<<2)|0;h=f[a+60+(h*12|0)>>2]|0;i=f[j>>2]|0;k=0;g=0;do{t=i;i=i+1|0;f[j>>2]=i;g=g+((f[h+(t>>>5<<2)>>2]&1<<(t&31)|0)==0&1)|0;k=k+1|0}while((k|0)!=(d|0))}h=X(O,e)|0;if(g){j=f[J>>2]|0;if(y){d=0;do{t=j+(d<<2)|0;f[t>>2]=(f[t>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=b+(h<<2)|0;k=c+(h<<2)|0;if((f[I>>2]|0)>0){h=0;do{d=f[j+(h<<2)>>2]|0;g=f[A>>2]|0;if((d|0)>(g|0)){i=f[x>>2]|0;f[i+(h<<2)>>2]=g}else{t=f[B>>2]|0;i=f[x>>2]|0;f[i+(h<<2)>>2]=(d|0)<(t|0)?t:d}h=h+1|0;d=f[I>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;do if((d|0)>(f[A>>2]|0)){d=d-(f[z>>2]|0)|0;r=98}else{if((d|0)>=(f[B>>2]|0))break;d=(f[z>>2]|0)+d|0;r=98}while(0);if((r|0)==98){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}}else{N=h;r=76}}if((r|0)==76?(r=0,K=c+((X(O+-1|0,e)|0)<<2)|0,L=b+(N<<2)|0,M=c+(N<<2)|0,(f[I>>2]|0)>0):0){h=0;do{d=f[K+(h<<2)>>2]|0;g=f[A>>2]|0;if((d|0)>(g|0)){i=f[x>>2]|0;f[i+(h<<2)>>2]=g}else{t=f[B>>2]|0;i=f[x>>2]|0;f[i+(h<<2)>>2]=(d|0)<(t|0)?t:d}h=h+1|0;d=f[I>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[L+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=M+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[A>>2]|0)){if((d|0)<(f[B>>2]|0)){d=(f[z>>2]|0)+d|0;r=86}}else{d=d-(f[z>>2]|0)|0;r=86}if((r|0)==86){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}O=O+1|0;if((O|0)>=(F|0)){r=28;break}d=f[E>>2]|0;q=f[d>>2]|0;if((f[d+4>>2]|0)-q>>2>>>0<=O>>>0){r=34;break}}if((r|0)==28){Q=f[J>>2]|0;P=Q;break}else if((r|0)==34)Tn(d)}else{P=p;Q=o}while(0);if(P|0){d=f[G>>2]|0;if((d|0)!=(P|0))f[G>>2]=d+(~((d+-4-P|0)>>>2)<<2);Co(Q)}Co(H);g=f[R+36>>2]|0;if(g|0){h=R+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g)}d=f[R+24>>2]|0;if(d|0){h=R+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}d=f[R+12>>2]|0;if(d|0){h=R+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}h=f[R>>2]|0;if(!h){u=S;return 1}g=R+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h);u=S;return 1}function sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;M=N+8|0;J=N;I=a+8|0;j=f[I>>2]|0;f[M>>2]=0;l=M+4|0;f[l>>2]=0;f[M+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(M);else{K=j<<2;g=Lk(K)|0;f[M>>2]=g;i=g+(j<<2)|0;f[M+8>>2]=i;dh(g|0,0,K|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);H=a+112|0;n=f[H>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[M>>2]|0;i=f[l>>2]|0;j=f[I>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[M+8>>2];f[M>>2]=0;i=M+4|0;f[i>>2]=0;f[M+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(M);else{K=j<<2;h=Lk(K)|0;f[M>>2]=h;e=h+(j<<2)|0;f[M+8>>2]=e;dh(h|0,0,K|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);D=a+124|0;k=f[D>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[M>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;G=M+4|0;F=M+16|0;E=M+20|0;cc(M);e=f[G>>2]|0;g=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[E>>2]|0)+1|0;f[E>>2]=e;a:do if(e|0){v=a+100|0;C=a+88|0;t=d+4|0;w=a+92|0;A=a+44|0;y=a+40|0;B=a+12|0;z=a+84|0;x=a+80|0;b:while(1){q=f[F>>2]|0;g=e+-1|0;m=q+g|0;r=f[G>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[E>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}j=f[H>>2]|0;r=j+(m*12|0)|0;c=((f[I>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=(f[D>>2]|0)+(m*12|0)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(c<<2)>>2]|0)|0;c:do if(!e){if((s|0)>0){j=j+(m*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;do{e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){L=30;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0}while((m|0)<(s|0))}}else{if(!s){L=35;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=c;e=f[I>>2]|0;if(e>>>0>1){g=c;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[I>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[C>>2]|0;else{l=f[v>>2]|0;m=f[C>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){L=49;break b}if((p|0)<=0){L=51;break b}j=f[A>>2]|0;k=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[I>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){L=44;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0)break c;e=f[I>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;i=e;h=f[j+(n*12|0)>>2]|0;if((g|0)!=(e|0)){g=g-e>>2;e=0;do{f[h+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=h+(c<<2)|0;f[i>>2]=(f[i>>2]|0)+k;i=(_(s|0)|0)^31;f[J>>2]=0;lh(B,i,J);i=(s>>>1)-(f[J>>2]|0)|0;g=s-i|0;if((i|0)==(g|0)){k=i;l=i}else{s=f[z>>2]|0;e=f[x>>2]|0;h=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=h?i:g;l=h?g:i}e=f[D>>2]|0;j=f[e+(m*12|0)>>2]|0;g=j+(c<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[e+(m*12|0)+4>>2]|0;h=j;if((g|0)!=(h|0)){i=f[e+(n*12|0)>>2]|0;g=g-h>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){i=f[K>>2]|0;h=f[G>>2]|0;s=i-h>>2;e=f[F>>2]|0;g=f[E>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[F>>2]|0;g=f[E>>2]|0;i=f[K>>2]|0;h=f[G>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=c;f[e+8>>2]=m;f[E>>2]=(f[E>>2]|0)+1}if(l|0){i=f[K>>2]|0;h=f[G>>2]|0;s=i-h>>2;e=f[F>>2]|0;g=f[E>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[F>>2]|0;g=f[E>>2]|0;i=f[K>>2]|0;h=f[G>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=c;f[e+8>>2]=n;f[E>>2]=(f[E>>2]|0)+1}}while(0);e=f[E>>2]|0;if(!e)break a}if((L|0)==30)ra(4996,5026,51,5150);else if((L|0)==35)ra(16930,16968,223,17115);else if((L|0)==44)ra(4996,5026,51,5150);else if((L|0)==49)ra(17130,17154,48,17262);else if((L|0)==51)ra(17291,17154,49,17262)}while(0);e=f[G>>2]|0;g=f[F>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[E>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[G>>2]|0)+4|0;f[G>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;L=94;break}case 2:{g=341;L=94;break}default:{}}if((L|0)==94)f[F>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[G>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[M>>2]|0;if(!e){u=N;return}Co(e);u=N;return}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;M=Q+24|0;P=Q;L=a+8|0;i=f[L>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(M);else{N=i<<2;e=Lk(N)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;dh(e|0,0,N|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);K=a+112|0;m=f[K>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[L>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(M);else{N=i<<2;g=Lk(N)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;dh(g|0,0,N|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);G=a+124|0;j=f[G>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;J=P+4|0;I=P+16|0;H=P+20|0;cc(P);d=f[J>>2]|0;e=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[H>>2]|0)+1|0;f[H>>2]=d;a:do if(d|0){w=a+100|0;v=a+88|0;A=M+4|0;C=M+8|0;E=a+44|0;y=a+40|0;F=a+12|0;D=a+84|0;x=a+80|0;z=M+4|0;B=M+8|0;b:while(1){r=f[I>>2]|0;e=d+-1|0;l=r+e|0;s=f[J>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[H>>2]=e;e=f[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}e=f[K>>2]|0;s=e+(l*12|0)|0;r=(f[G>>2]|0)+(l*12|0)|0;b=Wk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(b<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[M>>2]=d;f[z>>2]=f[e+4>>2];f[B>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[z>>2];f[e+8>>2]=f[B>>2];f[g>>2]=e+12}else Hf(j,M);i=i+1|0}while((i|0)<(t|0))}}else{if(!t){O=34;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=b;d=f[L>>2]|0;if(d>>>0>1){e=b;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[L>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){O=43;break b}if((n|0)<=0){O=45;break b}h=f[E>>2]|0;i=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[L>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[M>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Hf(q,M);e=e+1|0;if(e>>>0>=t>>>0)break c;d=f[L>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;h=d;g=f[(f[K>>2]|0)+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{f[g+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=g+(b<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;f[M>>2]=0;lh(F,h,M);h=(t>>>1)-(f[M>>2]|0)|0;e=t-h|0;if((h|0)==(e|0)){j=h;k=h}else{t=f[D>>2]|0;d=f[x>>2]|0;g=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=g?h:e;k=g?e:h}d=f[G>>2]|0;i=f[d+(l*12|0)>>2]|0;e=i+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=f[d+(l*12|0)+4>>2]|0;g=i;if((e|0)!=(g|0)){h=f[d+(m*12|0)>>2]|0;e=e-g>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){h=f[N>>2]|0;g=f[J>>2]|0;t=h-g>>2;d=f[I>>2]|0;e=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[I>>2]|0;e=f[H>>2]|0;h=f[N>>2]|0;g=f[J>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=b;f[d+8>>2]=l;f[H>>2]=(f[H>>2]|0)+1}if(k|0){h=f[N>>2]|0;g=f[J>>2]|0;t=h-g>>2;d=f[I>>2]|0;e=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[I>>2]|0;e=f[H>>2]|0;h=f[N>>2]|0;g=f[J>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=b;f[d+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}}while(0);d=f[H>>2]|0;if(!d)break a}if((O|0)==34)ra(16930,16968,223,17115);else if((O|0)==43)ra(17130,17154,48,17262);else if((O|0)==45)ra(17291,17154,49,17262)}while(0);d=f[J>>2]|0;e=f[I>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[N>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[H>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[J>>2]|0)+4|0;f[J>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=91;break}case 2:{e=341;O=91;break}default:{}}if((O|0)==91)f[I>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[J>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;M=Q+24|0;P=Q;L=a+8|0;i=f[L>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(M);else{N=i<<2;e=Lk(N)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;dh(e|0,0,N|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);K=a+112|0;m=f[K>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[L>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(M);else{N=i<<2;g=Lk(N)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;dh(g|0,0,N|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);G=a+124|0;j=f[G>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;J=P+4|0;I=P+16|0;H=P+20|0;cc(P);d=f[J>>2]|0;e=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[H>>2]|0)+1|0;f[H>>2]=d;a:do if(d|0){w=a+100|0;v=a+88|0;A=M+4|0;C=M+8|0;E=a+44|0;y=a+40|0;F=a+12|0;D=a+84|0;x=a+80|0;z=M+4|0;B=M+8|0;b:while(1){r=f[I>>2]|0;e=d+-1|0;l=r+e|0;s=f[J>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[H>>2]=e;e=f[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}i=f[K>>2]|0;s=i+(l*12|0)|0;b=((f[L>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=(f[G>>2]|0)+(l*12|0)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(b<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[M>>2]=d;f[z>>2]=f[e+4>>2];f[B>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[z>>2];f[e+8>>2]=f[B>>2];f[g>>2]=e+12}else Hf(j,M);i=i+1|0}while((i|0)<(t|0))}}else{if(!t){O=34;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=b;d=f[L>>2]|0;if(d>>>0>1){e=b;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[L>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){O=43;break b}if((n|0)<=0){O=45;break b}h=f[E>>2]|0;i=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[L>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[M>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Hf(q,M);e=e+1|0;if(e>>>0>=t>>>0)break c;d=f[L>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;h=d;g=f[i+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{f[g+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=g+(b<<2)|0;f[h>>2]=(f[h>>2]|0)+j;h=(_(t|0)|0)^31;f[M>>2]=0;lh(F,h,M);h=(t>>>1)-(f[M>>2]|0)|0;e=t-h|0;if((h|0)==(e|0)){j=h;k=h}else{t=f[D>>2]|0;d=f[x>>2]|0;g=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=g?h:e;k=g?e:h}d=f[G>>2]|0;i=f[d+(l*12|0)>>2]|0;e=i+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=f[d+(l*12|0)+4>>2]|0;g=i;if((e|0)!=(g|0)){h=f[d+(m*12|0)>>2]|0;e=e-g>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){h=f[N>>2]|0;g=f[J>>2]|0;t=h-g>>2;d=f[I>>2]|0;e=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[I>>2]|0;e=f[H>>2]|0;h=f[N>>2]|0;g=f[J>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=b;f[d+8>>2]=l;f[H>>2]=(f[H>>2]|0)+1}if(k|0){h=f[N>>2]|0;g=f[J>>2]|0;t=h-g>>2;d=f[I>>2]|0;e=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[I>>2]|0;e=f[H>>2]|0;h=f[N>>2]|0;g=f[J>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=b;f[d+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}}while(0);d=f[H>>2]|0;if(!d)break a}if((O|0)==34)ra(16930,16968,223,17115);else if((O|0)==43)ra(17130,17154,48,17262);else if((O|0)==45)ra(17291,17154,49,17262)}while(0);d=f[J>>2]|0;e=f[I>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[N>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[H>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[J>>2]|0)+4|0;f[J>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=91;break}case 2:{e=341;O=91;break}default:{}}if((O|0)==91)f[I>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[J>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function vb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;x=z+20|0;y=z+16|0;w=z+4|0;q=z;o=a+36|0;p=a+37|0;v=a+32|0;i=f[v>>2]|0;do if((((h[o>>0]|0)<<8|(h[p>>0]|0))&65535)<514){l=i+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=i+16|0;d=m;c=f[d>>2]|0;d=f[d+4>>2]|0;g=Bl(c|0,d|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&k>>>0>>0){a=0;u=z;return a|0}j=(f[i>>2]|0)+c|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[x>>2]=j;t=m;f[t>>2]=g;f[t+4>>2]=e;c=Bl(c|0,d|0,8,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&k>>>0>>0){a=0;u=z;return a|0}else{t=(f[i>>2]|0)+g|0;f[y>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=m;f[t>>2]=c;f[t+4>>2]=d;break}}else{if(!(yh(x,i)|0)){a=0;u=z;return a|0}if(yh(y,f[v>>2]|0)|0){j=f[x>>2]|0;break}else{a=0;u=z;return a|0}}while(0);if(j>>>0>1431655765){a=0;u=z;return a|0}c=f[y>>2]|0;t=Kk(j|0,0,3,0)|0;s=I;if(0>s>>>0|0==(s|0)&c>>>0>t>>>0){a=0;u=z;return a|0}k=f[v>>2]|0;t=k+8|0;s=f[t+4>>2]|0;d=k+16|0;n=d;m=f[n>>2]|0;n=f[n+4>>2]|0;if(!((s|0)>(n|0)|((s|0)==(n|0)?(f[t>>2]|0)>>>0>m>>>0:0))){a=0;u=z;return a|0}t=b[(f[k>>2]|0)+m>>0]|0;l=Bl(m|0,n|0,1,0)|0;i=I;s=d;f[s>>2]=l;f[s+4>>2]=i;a:do if(!(t<<24>>24)){if(!(Qd(a,j)|0)){a=0;u=z;return a|0}}else{if(c>>>0<256){if(!j)break;o=a+44|0;p=w+4|0;q=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;d=k+8|0;c=f[d>>2]|0;d=f[d+4>>2]|0;b:do if((d|0)>(i|0)|(d|0)==(i|0)&c>>>0>l>>>0){n=c;g=d;m=0;while(1){e=k+16|0;d=f[k>>2]|0;s=b[d+l>>0]|0;c=Bl(l|0,i|0,1,0)|0;t=I;r=e;f[r>>2]=c;f[r+4>>2]=t;f[w>>2]=s&255;if(!((g|0)>(t|0)|(g|0)==(t|0)&n>>>0>c>>>0))break b;s=b[d+c>>0]|0;c=Bl(l|0,i|0,2,0)|0;t=I;r=e;f[r>>2]=c;f[r+4>>2]=t;f[p>>2]=s&255;if(!((g|0)>(t|0)|(g|0)==(t|0)&n>>>0>c>>>0))break b;d=b[d+c>>0]|0;c=Bl(l|0,i|0,3,0)|0;f[e>>2]=c;f[e+4>>2]=I;f[q>>2]=d&255;d=f[o>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){og(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}m=m+1|0;if(m>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;g=k+8|0;n=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>(i|0)|(g|0)==(i|0)&n>>>0>l>>>0))break;else j=c}}while(0);a=0;u=z;return a|0}if(c>>>0<65536){if(!j)break;r=a+44|0;s=w+4|0;t=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=k+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=Bl(m|0,n|0,3,0)|0;d=I;c:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;o=e;n=g;q=0;while(1){m=k+16|0;g=f[k>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8;c=m;f[c>>2]=p;f[c+4>>2]=d;f[w>>2]=e&65535;e=Bl(l|0,i|0,4,0)|0;c=I;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0>>0)break c;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8;p=m;f[p>>2]=e;f[p+4>>2]=c;f[s>>2]=d&65535;c=Bl(l|0,i|0,6,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0)break c;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8;p=m;f[p>>2]=c;f[p+4>>2]=d;f[t>>2]=e&65535;d=f[r>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){og(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}q=q+1|0;if(q>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;o=k+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=Bl(l|0,i|0,2,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0

>>0)break;else j=c}}while(0);a=0;u=z;return a|0}t=a+44|0;if((f[(f[t>>2]|0)+80>>2]|0)<2097152?(((h[o>>0]|0)<<8|(h[p>>0]|0))&65535)>513:0){if(!j)break;i=w+4|0;j=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;d:do if(yh(q,k)|0){g=0;do{f[w>>2]=f[q>>2];if(!(yh(q,f[v>>2]|0)|0))break d;f[i>>2]=f[q>>2];if(!(yh(q,f[v>>2]|0)|0))break d;f[j>>2]=f[q>>2];d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))og(d+96|0,w);else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12}g=g+1|0;if(g>>>0>=(f[x>>2]|0)>>>0)break a;s=f[v>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0}while(yh(q,s)|0)}while(0);a=0;u=z;return a|0}if(j|0){r=w+4|0;s=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=k+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=Bl(m|0,n|0,5,0)|0;d=I;e:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;o=e;n=g;q=0;while(1){m=k+16|0;g=f[k>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;c=m;f[c>>2]=p;f[c+4>>2]=d;f[w>>2]=e;e=Bl(l|0,i|0,8,0)|0;c=I;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0>>0)break e;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;p=m;f[p>>2]=e;f[p+4>>2]=c;f[r>>2]=d;c=Bl(l|0,i|0,12,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0)break e;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;p=m;f[p>>2]=c;f[p+4>>2]=d;f[s>>2]=e;d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){og(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}q=q+1|0;if(q>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;o=k+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=Bl(l|0,i|0,4,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0

>>0)break;else j=c}}while(0);a=0;u=z;return a|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[y>>2];a=1;u=z;return a|0}function wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+32|0;E=F+16|0;D=F+4|0;A=F;f[a+36>>2]=b;B=a+24|0;z=a+28|0;e=f[z>>2]|0;d=f[B>>2]|0;h=e-d>>2;if(h>>>0>=b>>>0){if(h>>>0>b>>>0?(g=d+(b<<2)|0,(e|0)!=(g|0)):0)f[z>>2]=e+(~((e+-4-g|0)>>>2)<<2)}else wf(B,b-h|0,3548);f[E>>2]=0;y=E+4|0;f[y>>2]=0;x=E+8|0;f[x>>2]=0;if(b){if((b|0)<0)Tn(E);d=((b+-1|0)>>>5)+1|0;h=Lk(d<<2)|0;f[E>>2]=h;f[x>>2]=d;f[y>>2]=b;d=b>>>5;dh(h|0,0,d<<2|0)|0;e=b-(d<<5)|0;d=h+(d<<2)|0;g=h;if(!e)k=b;else{f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));k=b}}else{k=0;g=0;h=0}w=a+4|0;l=f[a>>2]|0;d=(f[w>>2]|0)-l|0;j=d>>2;f[D>>2]=0;i=D+4|0;f[i>>2]=0;e=D+8|0;f[e>>2]=0;do if(j){if((d|0)<0)Tn(D);d=((j+-1|0)>>>5)+1|0;m=Lk(d<<2)|0;f[D>>2]=m;f[e>>2]=d;f[i>>2]=j;d=j>>>5;dh(m|0,0,d<<2|0)|0;e=j-(d<<5)|0;d=m+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));if(j>>>0>2){q=a+12|0;t=a+32|0;r=a+52|0;s=a+56|0;v=a+48|0;j=l;e=m;p=0;d=b;a:while(1){o=p*3|0;if((p|0)>=0){l=f[j+(o<<2)>>2]|0;i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;if((i|0)<0)k=-1073741824;else k=f[j+(i<<2)>>2]|0;i=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((i|0)<0)i=-1073741824;else i=f[j+(i<<2)>>2]|0;if((l|0)!=(k|0)?!((l|0)==(i|0)|(k|0)==(i|0)):0){i=d;n=0;while(1){j=n+o|0;if(!(f[e+(j>>>5<<2)>>2]&1<<(j&31))){d=f[(f[a>>2]|0)+(j<<2)>>2]|0;f[A>>2]=d;if(!(f[h+(d>>>5<<2)>>2]&1<<(d&31))){k=0;b=i}else{d=f[z>>2]|0;if((d|0)==(f[t>>2]|0))Ig(B,3548);else{f[d>>2]=-1073741824;f[z>>2]=d+4}d=f[r>>2]|0;if((d|0)==(f[s>>2]|0))Ig(v,A);else{f[d>>2]=f[A>>2];f[r>>2]=d+4}d=f[y>>2]|0;e=f[x>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){i=52;break a}b=e<<6;m=d+32&-32;jg(E,d>>>0<1073741823?(b>>>0>>0?m:b):2147483647);d=f[y>>2]|0}f[y>>2]=d+1;k=(f[E>>2]|0)+(d>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(d&31));f[A>>2]=i;d=i;k=1;b=i+1|0}h=f[E>>2]|0;g=h+(d>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(d&31);g=h;b:do if(k){d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);i=f[A>>2]|0;f[(f[B>>2]|0)+(i<<2)>>2]=d;f[(f[a>>2]|0)+(d<<2)>>2]=i;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}else{d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);f[(f[B>>2]|0)+(f[A>>2]<<2)>>2]=d;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}while(0);do if((i|0)==68){i=0;if((j|0)==-1073741824){d=-1073741824;i=75}}else if((i|0)==69){if((j|0)<0){d=j;i=75;break}d=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((d|0)<0){i=75;break}d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=75;break}if(!((d>>>0)%3|0)){d=d+2|0;i=75;break}else{d=d+-1|0;i=75;break}}while(0);c:do if((i|0)==75){e=f[D>>2]|0;i=e+(d>>>5<<2)|0;l=1<<(d&31);j=(d|0)<0;if((d|0)==-1073741824)break;if(!k){k=d;e=j;d=l;while(1){if(e){i=87;break a}f[i>>2]=f[i>>2]|d;d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);e=f[D>>2]|0;if((d|0)==-1073741824)break c;else{k=d;i=e+(d>>>5<<2)|0;e=(d|0)<0;d=1<<(d&31)}}}m=f[a>>2]|0;k=i;e=l;while(1){i=m+(d<<2)|0;do{f[k>>2]=f[k>>2]|e;f[i>>2]=f[A>>2]}while(j);d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=d;break}if(!((d>>>0)%3|0)){i=d+2|0;break}else{i=d+-1|0;break}}else i=d;while(0);e=f[D>>2]|0;if((i|0)==-1073741824)break;else{d=i;k=e+(i>>>5<<2)|0;j=(i|0)<0;e=1<<(i&31)}}}while(0);d=b}else d=i;n=n+1|0;if((n|0)>=3)break;else i=d}}}p=p+1|0;j=f[a>>2]|0;if((p|0)>=(((f[w>>2]|0)-j>>2>>>0)/3|0|0)){i=18;break}}if((i|0)==18){c=g;C=f[y>>2]|0;break}else if((i|0)==52)Tn(E);else if((i|0)==87)while(1)i=87}else{c=g;C=k}}else{c=g;C=k}while(0);j=a+44|0;f[j>>2]=0;B=C>>>5;i=c+(B<<2)|0;h=C&31;d=(B|0)!=0;d:do if(B|h|0){if(!h){e=c;c=0;while(1){e:do if(d){d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break;else d=d+1|0}}else{d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break e;d=d+1|0;if(!d)break d}}while(0);e=e+4|0;if((e|0)==(i|0))break d;else d=1}}if(d){e=c;c=0;d=0;do{g=0;while(1){if(!(f[e>>2]&1<>2]=d;c=d}if((g|0)==31)break;else g=g+1|0}e=e+4|0}while((e|0)!=(i|0))}else{e=c;c=0}d=0;do{if(!(f[e>>2]&1<>2]=c}d=d+1|0}while((d|0)!=(h|0))}while(0);c=f[D>>2]|0;if(c|0)Co(c);c=f[E>>2]|0;if(!c){u=F;return 1}Co(c);u=F;return 1}function xb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=La,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function yb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;am(c)|0;if((I|0)<0){C=1;A=18206;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?18207:18212):18209}am(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+ho(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=ni(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[18241+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Qi(a,32,d,j,g);Lm(a,p,o);Qi(a,48,d,j,g^65536);Lm(a,F,C);Qi(a,48,D-C|0,0,0);Lm(a,n,E);Qi(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=ml(f[j>>2]|0,0,o|0)|0;x=Bl(x|0,I|0,l|0,0)|0;y=I;v=Ak(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=en(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=ni(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Qi(a,32,d,j,g);Lm(a,A,C);Qi(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=ni(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){dh(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Lm(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Lm(a,18257,1);if(m>>>0>>0&(k|0)>0)while(1){l=ni(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){dh(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Lm(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Qi(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=ni(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Lm(a,l,1);if(e&(k|0)<1){l=m;break}Lm(a,18257,1);l=m}else{if(l>>>0<=F>>>0)break;dh(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Lm(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Qi(a,48,k+18|0,18,0);Lm(a,v,D-v|0)}Qi(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Qi(a,32,d,j,g&-65537);Lm(a,A,C);Lm(a,c!=c|0.0!=0.0?(F?18233:18237):F?18225:18229,3);Qi(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function zb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=po()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Lm(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=Vj(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=Vj(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(17725+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Id(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=ok(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=18189;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=cm(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=18189;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?18189:18191):18190;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=18189;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=18189;i=x;break}case 109:{i=po()|0;i=Sm(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:18199;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Qi(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=yb(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=18189;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Zj(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?18189:18189+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=ni(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=fg(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=18189;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Rm(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Qi(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Rm(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Lm(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Qi(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Qi(a,32,i,l,n);Lm(a,j,k);Qi(a,48,i,l,n^65536);Qi(a,48,q,r,0);Lm(a,o,r);Qi(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Id(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0} // EMSCRIPTEN_END_FUNCS -var Na=[ao,Bl,Xi,ij,$k,kg,al,fe,ic,yj,qg,Mg,Ai,tg,wi,bf,ej,oj,uk,mh,ao,ao,ao,ao,ao,ao,ao,ao,ao,ao,ao,ao];var Oa=[En,Wg,hf,En];var Pa=[Lo,Ho,Ao,jk,_j,Ti,Hi,Hi,ch,Xm,Vf,xm,Pj,Cj,Uj,Dj,Dj,Dj,Dj,Ph,Gh,ui,di,Ri,Fi,bj,Si,Ho,Ao,Dj,Dj,Lh,Fh,ni,_h,Li,Ci,Yi,Mi,Ho,Ao,Cj,Ho,Ao,Jk,Dk,Ho,Ao,Sk,Hk,Ho,Ao,Ao,Tk,Ik,Ho,Ao,Zk,Qk,Ho,Ao,Wi,Ni,Ch,yh,bh,Vg,Ic,ul,ci,Vh,Ek,qk,Fj,Rj,Kj,Lk,zk,Ij,gi,Zh,ed,dl,gd,gl,yh,Ho,Ao,yh,yh,yh,zi,pi,Ie,In,Ho,Zn,Ho,Ho,Zn,Ho,Zn,Rk,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo];var Qa=[wo,li,se,ti,_b,wo,wo,wo];var Ra=[Wm,Gc,Yb,Kb,qb,Lc,hd,Qj,Zb,Lb,jb,Kc,ad,Qj,lh,ec,fc,ph,gc,hc,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm];var Sa=[Go,co,fo,Mm,Pn,fo,od,Jm,wn,Io,Io,fo,Io,fo,fo,pj,co,pj,ml,pj,vm,lj,fo,xl,lj,fo,zl,ei,fo,Pn,fo,pj,co,pj,ml,pj,vm,lj,fo,xl,lj,fo,zl,ei,fo,Pn,co,Io,wn,fo,Io,fo,vm,zl,$h,fo,Pn,zl,$h,fo,Pn,Io,wn,fo,Io,fo,co,zl,$h,fo,Pn,zl,$h,fo,Pn,_d,fo,fo,jl,Tc,Ji,fo,Io,Be,Pl,Xl,Sl,db,fo,wn,Fm,Ze,pe,df,bb,fo,wn,Fm,cb,fo,wn,Fm,vb,Hg,Io,fo,Mh,Mh,Ok,ro,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go];var Ta=[io,ji,Sb,Rb,Rb,Sb,Rb,Sb,Ne,xe,io,io,io,io,io,io];var Ua=[No,uo,wg,fl];var Va=[tn,Bj,Ki,tn];var Wa=[qo,uj,Ff,Vb,xj,Cm,Kn,dn,dn,Jb,$l,dn,rf,zd,af,jj,Xh,Uh,dj,Mc,tm,Kn,Nf,id,wk,Gj,Nc,nk,Gj,qd,pk,Ej,we,hk,id,wk,Gj,Nc,nk,Gj,qd,pk,Ej,we,hk,_f,tm,Kn,kk,pk,zj,xg,hk,pk,zj,xg,hk,tm,Kn,vk,pk,zj,Ag,hk,pk,zj,Ag,hk,Rl,ne,Kn,Kn,rl,pl,ol,Vl,jg,rg,Ib,Md,Wd,Od,Vl,jg,rg,Ib,Vl,jg,rg,Ib,Fe,gk,fg,Fe,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo];var Xa=[Sn,Jg,Qf,Vj,$i,Sn,Sn,Sn];return{_emscripten_bind_Decoder_GetAttributeFloat_3:kl,_emscripten_bind_PointAttribute_normalized_0:Dn,_bitshift64Lshr:sl,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:Pk,_emscripten_bind_DecoderBuffer_Init_2:Am,_emscripten_bind_PointAttribute_size_0:Vn,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:xo,_sbrk:sj,_memcpy:Xe,stackSave:Ko,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:vo,_emscripten_bind_Decoder_GetAttributeIdByName_2:am,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:xo,___udivmoddi4:pc,_emscripten_bind_Status_ok_0:Un,_emscripten_bind_Mesh_num_faces_0:Qm,_emscripten_get_global_libc:Eo,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:tl,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:xo,runPostSets:vl,_emscripten_bind_Decoder_GetEncodedGeometryType_1:jm,___cxa_can_catch:ck,_free:Nb,_emscripten_bind_GeometryAttribute___destroy___0:xn,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:vo,_emscripten_bind_PointAttribute_byte_stride_0:Ln,_emscripten_bind_Metadata_Metadata_0:Hj,_emscripten_bind_AttributeQuantizationTransform_min_value_1:im,_emscripten_bind_Decoder_Decoder_0:Bn,_emscripten_bind_MetadataQuerier_GetStringEntry_2:Nl,_emscripten_bind_MetadataQuerier_GetIntEntry_2:Zl,_emscripten_bind_Decoder___destroy___0:ii,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:no,getTempRet0:Jo,setThrew:yn,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Ll,_emscripten_bind_AttributeTransformData___destroy___0:yk,_emscripten_bind_PointAttribute_num_components_0:Jn,___cxa_is_pointer_type:um,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:dm,_llvm_cttz_i32:ek,_emscripten_bind_AttributeQuantizationTransform___destroy___0:lm,stackAlloc:Pm,_emscripten_bind_DracoInt32Array___destroy___0:fk,_emscripten_bind_Mesh_num_points_0:Vn,___divdi3:ki,_emscripten_bind_Mesh_Mesh_0:Cn,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:rn,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:Wl,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:el,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Ml,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:Ol,_emscripten_bind_Mesh_num_attributes_0:an,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:wn,_emscripten_bind_AttributeOctahedronTransform___destroy___0:lm,_llvm_bswap_i32:pn,_emscripten_bind_Decoder_GetAttributeMetadata_2:Ul,_emscripten_bind_PointAttribute_unique_id_0:On,establishStackSpace:Rn,_emscripten_enum_draco_StatusCode_IO_ERROR:to,_emscripten_bind_MetadataQuerier_HasIntEntry_2:Yl,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:El,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:ho,_emscripten_bind_PointCloud_num_attributes_0:an,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Um,_emscripten_bind_DracoInt32Array_size_0:ln,_emscripten_bind_Decoder_SkipAttributeTransform_1:hm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:mo,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:Vk,_emscripten_enum_draco_StatusCode_ERROR:vo,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:wn,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:lo,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:no,_emscripten_bind_VoidPtr___destroy___0:xn,_memset:Yg,_emscripten_bind_PointAttribute_attribute_type_0:Gn,_emscripten_bind_MetadataQuerier___destroy___0:xn,_emscripten_bind_DracoInt32Array_GetValue_1:Vm,_emscripten_bind_DecoderBuffer___destroy___0:Bm,_emscripten_bind_Decoder_GetAttribute_2:qm,_emscripten_bind_PointCloud___destroy___0:lm,_i64Subtract:wl,setTempRet0:Do,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Tm,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:po,_emscripten_bind_DracoFloat32Array___destroy___0:fk,_emscripten_bind_PointCloud_num_points_0:Vn,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:mo,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Dm,___muldsi3:Nj,_emscripten_bind_Decoder_GetFaceFromMesh_3:Al,_emscripten_bind_PointAttribute_data_type_0:Pn,_emscripten_bind_DracoFloat32Array_size_0:ln,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:Ql,_malloc:$a,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:zn,_emscripten_bind_PointAttribute_byte_offset_0:Mn,_emscripten_replace_memory:Ma,_memmove:Yj,_emscripten_bind_PointCloud_PointCloud_0:gn,_emscripten_bind_Status_error_msg_0:Il,_emscripten_bind_Mesh___destroy___0:lm,_emscripten_bind_Metadata___destroy___0:Hm,_emscripten_bind_Status___destroy___0:Hl,___udivdi3:en,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:vo,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:sk,_emscripten_bind_AttributeQuantizationTransform_range_0:vn,_bitshift64Shl:nl,_emscripten_bind_Decoder_GetAttributeId_2:Dl,_emscripten_enum_draco_StatusCode_OK:xo,_emscripten_bind_AttributeTransformData_transform_type_0:bo,_emscripten_bind_Status_code_0:bo,___muldi3:Mk,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:em,___uremdi3:Ck,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Tm,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:ko,_i64Add:gm,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Kl,_emscripten_bind_DracoFloat32Array_GetValue_1:Em,_emscripten_bind_PointAttribute_PointAttribute_0:Om,_emscripten_bind_Decoder_GetMetadata_1:Im,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:mo,stackRestore:Bo,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:Ql,_emscripten_bind_PointAttribute___destroy___0:uh,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:jo,stackAlloc:Pm,stackSave:Ko,stackRestore:Bo,establishStackSpace:Rn,setThrew:yn,setTempRet0:Do,getTempRet0:Jo,dynCall_iiii:zm,dynCall_viiiii:Jl,dynCall_vi:Wn,dynCall_vii:An,dynCall_iiiiiii:bl,dynCall_ii:Nn,dynCall_viii:Nm,dynCall_v:so,dynCall_viiiiii:hl,dynCall_iii:on,dynCall_viiii:nm}}) +var Na=[Go,fo,go,Mm,Qn,go,Tc,Jm,tn,Io,Io,go,Io,go,go,jj,fo,jj,ll,jj,um,fj,go,vl,fj,go,xl,gi,go,Qn,go,jj,fo,jj,ll,jj,um,fj,go,vl,fj,go,xl,gi,go,Qn,fo,Io,tn,go,Io,go,um,xl,ci,go,Qn,xl,ci,go,Qn,Io,tn,go,Io,go,fo,xl,ci,go,Qn,xl,ci,go,Qn,ge,go,go,il,Yc,Gi,go,Io,Ie,Ol,Wl,Rl,db,go,tn,Fm,Je,je,Ue,bb,go,tn,Fm,cb,go,tn,Fm,vb,Jg,Io,go,Oh,Oh,Mk,Fn,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go];var Oa=[ro,oj,Kf,Ub,sj,Cm,Ln,dn,dn,Mb,_l,dn,sf,Ad,ff,ej,Zh,Vh,_i,Mc,sm,Ln,Tf,jd,tk,Cj,Rc,kk,Cj,rd,mk,Aj,Ce,ek,jd,tk,Cj,Rc,kk,Cj,rd,mk,Aj,Ce,ek,bg,sm,Ln,hk,mk,uj,Ag,ek,mk,uj,Ag,ek,sm,Ln,sk,mk,uj,Eg,ek,mk,uj,Eg,ek,Ql,ue,Ln,Ln,rl,pl,nl,Ul,kg,tg,Ib,Od,_d,Sd,Ul,kg,tg,Ib,Ul,kg,tg,Ib,Me,dk,ig,Me,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro];var Pa=[co,zl,Ti,dj,_k,lg,$k,le,oc,tj,rg,Ug,xi,vg,ti,gf,$i,ij,rk,th,co,co,co,co,co,co,co,co,co,co,co,co];var Qa=[Wm,Jc,Xb,Kb,rb,Ic,Nc,Lj,_b,Jb,jb,Hc,Lc,Lj,rh,ec,fc,wh,gc,hc,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm];var Ra=[No,uo,zg,el];var Sa=[Lo,Ho,Ao,gk,Wj,Pi,Ei,Ei,kh,Xm,Yf,wm,Kj,yj,Qj,zj,zj,zj,zj,Qh,Lh,ri,fi,Ni,Ci,Zi,Oi,Ho,Ao,zj,zj,Nh,Jh,mi,ai,Ii,Ai,Ui,Ji,Ho,Ao,yj,Ho,Ao,Hk,Bk,Ho,Ao,Qk,Fk,Ho,Ao,Ao,Rk,Gk,Ho,Ao,Yk,Ok,Ho,Ao,Si,Ki,Gh,Eh,hh,$g,Qc,ul,ei,Wh,Ck,nk,Bj,Nj,Gj,Jk,wk,Ej,hi,$h,od,cl,pd,fl,Eh,Ho,Ao,Eh,Eh,Eh,wi,oi,Re,In,Ho,Jn,Ho,Ho,Jn,kn,Sn,Sn,Pk,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo];var Ta=[wo,li,ze,qi,$b,wo,wo,wo];var Ua=[jo,ji,Tb,Eb,Eb,Tb,Eb,Tb,Xe,De,jo,jo,jo,jo,jo,jo];var Va=[Yn,Qg,Vf,Rj,Xi,Yn,Yn,Yn];var Wa=[Dn,bh,nf,Dn];var Xa=[mn,wj,Hi,mn];return{___cxa_can_catch:_j,___cxa_is_pointer_type:tm,___divdi3:ki,___muldi3:Kk,___udivdi3:en,___uremdi3:Ak,_bitshift64Lshr:sl,_bitshift64Shl:ml,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:em,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:Pl,_emscripten_bind_AttributeOctahedronTransform___destroy___0:km,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:tn,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:pk,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:Pl,_emscripten_bind_AttributeQuantizationTransform___destroy___0:km,_emscripten_bind_AttributeQuantizationTransform_min_value_1:hm,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:tn,_emscripten_bind_AttributeQuantizationTransform_range_0:sn,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:dm,_emscripten_bind_AttributeTransformData___destroy___0:vk,_emscripten_bind_AttributeTransformData_transform_type_0:eo,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Um,_emscripten_bind_DecoderBuffer_Init_2:zm,_emscripten_bind_DecoderBuffer___destroy___0:Bm,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Jl,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:tl,_emscripten_bind_Decoder_Decoder_0:zn,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:Vl,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:Nk,_emscripten_bind_Decoder_GetAttributeFloat_3:jl,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:dl,_emscripten_bind_Decoder_GetAttributeIdByName_2:$l,_emscripten_bind_Decoder_GetAttributeId_2:Dl,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:Sk,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:Uk,_emscripten_bind_Decoder_GetAttributeMetadata_2:Tl,_emscripten_bind_Decoder_GetAttribute_2:pm,_emscripten_bind_Decoder_GetEncodedGeometryType_1:im,_emscripten_bind_Decoder_GetFaceFromMesh_3:yl,_emscripten_bind_Decoder_GetMetadata_1:Im,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:El,_emscripten_bind_Decoder_SkipAttributeTransform_1:gm,_emscripten_bind_Decoder___destroy___0:bi,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Tm,_emscripten_bind_DracoFloat32Array_GetValue_1:Em,_emscripten_bind_DracoFloat32Array___destroy___0:bk,_emscripten_bind_DracoFloat32Array_size_0:jn,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Tm,_emscripten_bind_DracoInt32Array_GetValue_1:Vm,_emscripten_bind_DracoInt32Array___destroy___0:bk,_emscripten_bind_DracoInt32Array_size_0:jn,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Dm,_emscripten_bind_GeometryAttribute___destroy___0:un,_emscripten_bind_Mesh_Mesh_0:An,_emscripten_bind_Mesh___destroy___0:km,_emscripten_bind_Mesh_num_attributes_0:an,_emscripten_bind_Mesh_num_faces_0:Qm,_emscripten_bind_Mesh_num_points_0:Xn,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:Nl,_emscripten_bind_MetadataQuerier_GetIntEntry_2:Yl,_emscripten_bind_MetadataQuerier_GetStringEntry_2:Ml,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Ll,_emscripten_bind_MetadataQuerier_HasIntEntry_2:Xl,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Kl,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:pn,_emscripten_bind_MetadataQuerier___destroy___0:un,_emscripten_bind_Metadata_Metadata_0:Dj,_emscripten_bind_Metadata___destroy___0:Hm,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:xn,_emscripten_bind_PointAttribute_PointAttribute_0:Om,_emscripten_bind_PointAttribute___destroy___0:Ah,_emscripten_bind_PointAttribute_attribute_type_0:Gn,_emscripten_bind_PointAttribute_byte_offset_0:Nn,_emscripten_bind_PointAttribute_byte_stride_0:Mn,_emscripten_bind_PointAttribute_data_type_0:Qn,_emscripten_bind_PointAttribute_normalized_0:Bn,_emscripten_bind_PointAttribute_num_components_0:Kn,_emscripten_bind_PointAttribute_size_0:Xn,_emscripten_bind_PointAttribute_unique_id_0:Pn,_emscripten_bind_PointCloud_PointCloud_0:gn,_emscripten_bind_PointCloud___destroy___0:km,_emscripten_bind_PointCloud_num_attributes_0:an,_emscripten_bind_PointCloud_num_points_0:Xn,_emscripten_bind_Status___destroy___0:ol,_emscripten_bind_Status_code_0:eo,_emscripten_bind_Status_error_msg_0:Hl,_emscripten_bind_Status_ok_0:Wn,_emscripten_bind_VoidPtr___destroy___0:un,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:vo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:xo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:oo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:no,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:vo,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:xo,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:no,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:oo,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:lo,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:vo,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:no,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:xo,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:io,_emscripten_enum_draco_StatusCode_ERROR:vo,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:mo,_emscripten_enum_draco_StatusCode_IO_ERROR:to,_emscripten_enum_draco_StatusCode_OK:xo,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:qo,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:ko,_emscripten_get_global_libc:Eo,_emscripten_replace_memory:Ma,_free:Ob,_i64Add:Bl,_i64Subtract:cm,_llvm_bswap_i32:nn,_malloc:Ya,_memcpy:cf,_memmove:Uj,_memset:dh,_sbrk:mj,dynCall_ii:On,dynCall_iii:ln,dynCall_iiii:ym,dynCall_iiiiiii:al,dynCall_v:so,dynCall_vi:Zn,dynCall_vii:yn,dynCall_viii:Nm,dynCall_viiii:mm,dynCall_viiiii:Il,dynCall_viiiiii:gl,establishStackSpace:Un,getTempRet0:Jo,runPostSets:Al,setTempRet0:Do,setThrew:vn,stackAlloc:Pm,stackRestore:Bo,stackSave:Ko}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];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 _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var stackSave=Module["stackSave"]=asm["stackSave"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];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_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];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_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];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 setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];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_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];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_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_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=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});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)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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 __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}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=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+16768;__ATINIT__.push();allocate([4,14,0,0,135,14,0,0,44,14,0,0,96,14,0,0,8,0,0,0,0,0,0,0,44,14,0,0,164,14,0,0,8,0,0,0,0,0,0,0,44,14,0,0,205,14,0,0,64,0,0,0,0,0,0,0,4,14,0,0,233,14,0,0,4,14,0,0,14,15,0,0,44,14,0,0,51,15,0,0,48,0,0,0,0,0,0,0,44,14,0,0,159,26,0,0,72,0,0,0,0,0,0,0,44,14,0,0,99,15,0,0,128,0,0,0,0,0,0,0,44,14,0,0,188,15,0,0,144,0,0,0,0,0,0,0,44,14,0,0,16,16,0,0,160,0,0,0,0,0,0,0,44,14,0,0,68,16,0,0,176,0,0,0,0,0,0,0,4,14,0,0,111,16,0,0,44,14,0,0,147,16,0,0,200,0,0,0,0,0,0,0,4,14,0,0,49,17,0,0,44,14,0,0,122,18,0,0,224,0,0,0,0,0,0,0,44,14,0,0,18,19,0,0,128,0,0,0,0,0,0,0,44,14,0,0,59,20,0,0,224,0,0,0,0,0,0,0,44,14,0,0,213,20,0,0,224,0,0,0,0,0,0,0,44,14,0,0,123,21,0,0,224,0,0,0,0,0,0,0,44,14,0,0,17,22,0,0,48,1,0,0,0,0,0,0,4,14,0,0,188,22,0,0,44,14,0,0,103,23,0,0,72,1,0,0,0,0,0,0,44,14,0,0,12,24,0,0,128,0,0,0,0,0,0,0,44,14,0,0,162,24,0,0,72,1,0,0,0,0,0,0,44,14,0,0,73,25,0,0,72,1,0,0,0,0,0,0,44,14,0,0,252,25,0,0,72,1,0,0,0,0,0,0,44,14,0,0,65,41,0,0,96,0,0,0,0,0,0,0,44,14,0,0,68,31,0,0,168,1,0,0,0,0,0,0,44,14,0,0,181,31,0,0,144,0,0,0,0,0,0,0,44,14,0,0,226,33,0,0,200,1,0,0,0,0,0,0,4,14,0,0,152,34,0,0,44,14,0,0,255,36,0,0,224,1,0,0,0,0,0,0,44,14,0,0,175,37,0,0,168,1,0,0,0,0,0,0,44,14,0,0,80,38,0,0,0,2,0,0,0,0,0,0,4,14,0,0,19,39,0,0,44,14,0,0,214,39,0,0,24,2,0,0,0,0,0,0,44,14,0,0,147,40,0,0,168,1,0,0,0,0,0,0,44,14,0,0,108,41,0,0,96,0,0,0,0,0,0,0,44,14,0,0,3,42,0,0,232,2,0,0,0,0,0,0,44,14,0,0,25,42,0,0,56,2,0,0,0,0,0,0,44,14,0,0,137,45,0,0,176,2,0,0,0,0,0,0,4,14,0,0,58,42,0,0,44,14,0,0,4,43,0,0,128,2,0,0,0,0,0,0,4,14,0,0,206,43,0,0,4,14,0,0,232,43,0,0,44,14,0,0,35,44,0,0,128,2,0,0,0,0,0,0,44,14,0,0,204,44,0,0,128,2,0,0,0,0,0,0,4,14,0,0,213,45,0,0,44,14,0,0,3,46,0,0,176,2,0,0,0,0,0,0,44,14,0,0,112,46,0,0,56,2,0,0,0,0,0,0,44,14,0,0,86,46,0,0,128,2,0,0,0,0,0,0,4,14,0,0,144,46,0,0,44,14,0,0,65,48,0,0,0,3,0,0,0,0,0,0,4,14,0,0,196,48,0,0,4,14,0,0,148,61,0,0,44,14,0,0,244,61,0,0,32,3,0,0,0,0,0,0,44,14,0,0,161,61,0,0,48,3,0,0,0,0,0,0,4,14,0,0,194,61,0,0,44,14,0,0,207,61,0,0,16,3,0,0,0,0,0,0,44,14,0,0,229,62,0,0,8,3,0,0,0,0,0,0,44,14,0,0,22,63,0,0,32,3,0,0,0,0,0,0,44,14,0,0,242,62,0,0,88,3,0,0,0,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,48,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,72,0,0,0,7,0,0,0,8,0,0,0,2,0,0,0,8,0,0,0,3,0,0,0,4,0,0,0,9,0,0,0,10,0,0,0,5,0,0,0,0,0,0,192,0,0,0,0,80,0,0,0,9,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,96,0,0,0,11,0,0,0,12,0,0,0,6,0,0,0,8,0,0,0,3,0,0,0,4,0,0,0,16,0,0,0,10,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,7,0,0,0,17,0,0,0,0,0,0,0,128,0,0,0,13,0,0,0,14,0,0,0,1,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,20,0,0,0,1,0,0,0,0,0,0,0,112,0,0,0,13,0,0,0,15,0,0,0,12,0,0,0,8,0,0,0,13,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,20,0,0,0,1,0,0,0,0,0,0,0,16,1,0,0,13,0,0,0,16,0,0,0,14,0,0,0,8,0,0,0,15,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,20,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,17,0,0,0,18,0,0,0,16,0,0,0,8,0,0,0,17,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,21,0,0,0,3,0,0,0,0,0,0,0,240,0,0,0,19,0,0,0,20,0,0,0,18,0,0,0,8,0,0,0,19,0,0,0,20,0,0,0,22,0,0,0,23,0,0,0,10,0,0,0,11,0,0,0,24,0,0,0,4,0,0,0,0,0,0,0,208,0,0,0,21,0,0,0,22,0,0,0,21,0,0,0,8,0,0,0,22,0,0,0,23,0,0,0,25,0,0,0,26,0,0,0,10,0,0,0,11,0,0,0,27,0,0,0,5,0,0,0,0,0,0,0,184,0,0,0,23,0,0,0,24,0,0,0,28,0,0,0,24,0,0,0,2,0,0,0,0,0,0,0,120,1,0,0,13,0,0,0,25,0,0,0,25,0,0,0,8,0,0,0,26,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,20,0,0,0,6,0,0,0,0,0,0,0,104,1,0,0,26,0,0,0,27,0,0,0,27,0,0,0,8,0,0,0,28,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,29,0,0,0,7,0,0,0,0,0,0,0,88,1,0,0,28,0,0,0,29,0,0,0,29,0,0,0,8,0,0,0,30,0,0,0,31,0,0,0,30,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,32,0,0,0,8,0,0,0,0,0,0,0,56,1,0,0,30,0,0,0,31,0,0,0,32,0,0,0,8,0,0,0,33,0,0,0,34,0,0,0,33,0,0,0,34,0,0,0,10,0,0,0,11,0,0,0,35,0,0,0,9,0,0,0,0,0,0,0,32,1,0,0,32,0,0,0,33,0,0,0,36,0,0,0,35,0,0,0,3,0,0,0,0,0,0,0,136,1,0,0,11,0,0,0,34,0,0,0,9,0,0,0,8,0,0,0,3,0,0,0,10,0,0,0,16,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,2,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,152,1,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,38,0,0,0,39,0,0,0,41,0,0,0,42,0,0,0,40,0,0,0,10,0,0,0,0,0,0,0,8,2,0,0,37,0,0,0,38,0,0,0,43,0,0,0,38,0,0,0,44,0,0,0,45,0,0,0,41,0,0,0,42,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,11,0,0,0,0,0,0,0,240,1,0,0,39,0,0,0,40,0,0,0,44,0,0,0,46,0,0,0,4,0,0,0,0,0,0,0,208,1,0,0,41,0,0,0,42,0,0,0,47,0,0,0,38,0,0,0,48,0,0,0,49,0,0,0,45,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,47,0,0,0,12,0,0,0,0,0,0,0,184,1,0,0,43,0,0,0,44,0,0,0,48,0,0,0,50,0,0,0,5,0,0,0,0,0,0,0,40,2,0,0,45,0,0,0,46,0,0,0,12,0,0,0,8,0,0,0,3,0,0,0,13,0,0,0,16,0,0,0,10,0,0,0,7,0,0,0,14,0,0,0,1,0,0,0,7,0,0,0,49,0,0,0,51,0,0,0,50,0,0,0,0,0,0,0,56,2,0,0,47,0,0,0,48,0,0,0,52,0,0,0,53,0,0,0,1,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,51,0,0,0,52,0,0,0,1,0,0,0,0,0,0,0,72,2,0,0,49,0,0,0,50,0,0,0,52,0,0,0,59,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,60,0,0,0,61,0,0,0,54,0,0,0,55,0,0,0,62,0,0,0,0,0,0,0,88,2,0,0,51,0,0,0,52,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,0,0,0,0,112,2,0,0,53,0,0,0,54,0,0,0,60,0,0,0,67,0,0,0,0,0,0,0,104,2,0,0,55,0,0,0,56,0,0,0,57,0,0,0,0,0,0,192,0,0,0,0,144,2,0,0,58,0,0,0,59,0,0,0,61,0,0,0,68,0,0,0,0,0,0,0,136,2,0,0,60,0,0,0,61,0,0,0,62,0,0,0,0,0,0,0,160,2,0,0,63,0,0,0,64,0,0,0,62,0,0,0,69,0,0,0,0,0,0,0,184,2,0,0,65,0,0,0,66,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,0,0,0,0,200,2,0,0,47,0,0,0,67,0,0,0,52,0,0,0,53,0,0,0,67,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,51,0,0,0,52,0,0,0,74,0,0,0,0,0,0,0,216,2,0,0,68,0,0,0,69,0,0,0,68,0,0,0,75,0,0,0,0,0,0,0,232,2,0,0,47,0,0,0,70,0,0,0,76,0,0,0,53,0,0,0,1,0,0,0,77,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,0,0,0,192,0,0,0,192,0,0,0,0,240,2,0,0,71,0,0,0,72,0,0,0,6,0,0,0,3,0,0,0,0,0,0,192,0,0,0,0,0,3,0,0,73,0,0,0,74,0,0,0,7,0,0,0,4,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,136,10,0,0,5,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,124,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,139,61,0,0,0,0,0,0,16,3,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,18,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,56,3,0,0,75,0,0,0,79,0,0,0,77,0,0,0,78,0,0,0,18,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,72,3,0,0,80,0,0,0,81,0,0,0,79,0,0,0,78,53,100,114,97,99,111,50,56,65,116,116,114,105,98,117,116,101,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,49,56,65,116,116,114,105,98,117,116,101,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,51,48,65,116,116,114,105,98,117,116,101,81,117,97,110,116,105,122,97,116,105,111,110,84,114,97,110,115,102,111,114,109,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,50,54,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,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,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,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,51,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,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,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,102,97,108,115,101,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,119,114,97,112,95,116,114,97,110,115,102,111,114,109,95,98,97,115,101,46,104,0,113,117,97,110,116,105,122,97,116,105,111,110,95,98,105,116,115,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,112,111,114,116,97,98,108,101,95,100,101,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,52,52,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,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,48,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,48,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,40,113,41,32,62,61,32,40,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,110,111,114,109,97,108,95,99,111,109,112,114,101,115,115,105,111,110,95,117,116,105,108,115,46,104,0,83,101,116,81,117,97,110,116,105,122,97,116,105,111,110,66,105,116,115,0,40,113,41,32,60,61,32,40,51,48,41,0,40,105,110,95,115,41,32,62,61,32,40,48,41,0,79,99,116,97,104,101,114,100,97,108,67,111,111,114,100,115,84,111,85,110,105,116,86,101,99,116,111,114,0,40,105,110,95,116,41,32,62,61,32,40,48,41,0,40,105,110,95,115,41,32,60,61,32,40,49,41,0,40,105,110,95,116,41,32,60,61,32,40,49,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,100,101,99,111,100,105,110,103,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,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,48,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,49,93,41,0,40,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,115,73,110,68,105,97,109,111,110,100,0,40,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,118,101,114,116,68,105,97,109,111,110,100,0,40,42,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,32,37,32,50,41,32,61,61,32,40,49,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,98,97,115,101,46,104,0,115,101,116,95,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,116,104,105,115,45,62,73,115,73,110,105,116,105,97,108,105,122,101,100,40,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,97,114,101,97,46,104,0,67,111,109,112,117,116,101,80,114,101,100,105,99,116,101,100,86,97,108,117,101,0,40,110,111,114,109,97,108,46,65,98,115,83,117,109,40,41,41,32,60,61,32,40,117,112,112,101,114,95,98,111,117,110,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,98,97,115,101,46,104,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,67,111,114,110,101,114,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,68,97,116,97,73,100,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,100,101,99,111,100,101,114,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,115,0,40,110,117,109,95,99,111,109,112,111,110,101,110,116,115,41,32,61,61,32,40,50,41,0,40,112,114,101,100,95,110,111,114,109,97,108,95,51,100,46,65,98,115,83,117,109,40,41,41,32,61,61,32,40,111,99,116,97,104,101,100,114,111,110,95,116,111,111,108,95,98,111,120,95,46,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,48,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,49,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,50,93,41,41,32,61,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,116,101,103,101,114,86,101,99,116,111,114,84,111,81,117,97,110,116,105,122,101,100,79,99,116,97,104,101,100,114,97,108,67,111,111,114,100,115,0,40,105,41,32,61,61,32,40,48,41,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,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,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,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,46,0,85,110,115,117,112,112,111,114,116,101,100,32,103,101,111,109,101,116,114,121,32,116,121,112,101,46,0,73,110,112,117,116,32,105,115,32,110,111,116,32,97,32,109,101,115,104,46,0,115,107,105,112,95,97,116,116,114,105,98,117,116,101,95,116,114,97,110,115,102,111,114,109,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,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,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,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,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,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,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,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,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,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,70,97,105,108,101,100,32,116,111,32,112,97,114,115,101,32,68,114,97,99,111,32,104,101,97,100,101,114,46,0,68,82,65,67,79,0,78,111,116,32,97,32,68,114,97,99,111,32,102,105,108,101,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,109,101,116,97,100,97,116,97,46,0,85,115,105,110,103,32,105,110,99,111,109,112,97,116,105,98,108,101,32,100,101,99,111,100,101,114,32,102,111,114,32,116,104,101,32,105,110,112,117,116,32,103,101,111,109,101,116,114,121,46,0,85,110,107,110,111,119,110,32,109,97,106,111,114,32,118,101,114,115,105,111,110,46,0,85,110,107,110,111,119,110,32,109,105,110,111,114,32,118,101,114,115,105,111,110,46,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,100,101,99,111,100,101,114,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,103,101,111,109,101,116,114,121,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,112,111,105,110,116,32,97,116,116,114,105,98,117,116,101,115,46,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,100,101,99,111,100,101,114,95,98,117,102,102,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,78,53,100,114,97,99,111,52,77,101,115,104,69,0,97,116,116,95,105,100,32,62,61,32,48,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,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,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,110,97,109,101,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,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,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,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,37,100,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;Module["_i64Add"]=_i64Add;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){Module["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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;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;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}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["___divdi3"]=___divdi3;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["___udivdi3"]=___udivdi3;var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;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 ___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;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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 ___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;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_getspecific":_pthread_getspecific,"_pthread_setspecific":_pthread_setspecific,"___cxa_throw":___cxa_throw,"_pthread_key_create":_pthread_key_create,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___cxa_begin_catch":___cxa_begin_catch,"___syscall146":___syscall146,"_pthread_once":_pthread_once,"_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,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM -var asm=(function(global,env,buffer) { -"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_iiii;var ga=env.invoke_viiiii;var ha=env.invoke_vi;var ia=env.invoke_vii;var ja=env.invoke_iiiiiii;var ka=env.invoke_ii;var la=env.invoke_viii;var ma=env.invoke_v;var na=env.invoke_viiiiii;var oa=env.invoke_iii;var pa=env.invoke_viiii;var qa=env._pthread_getspecific;var ra=env._pthread_setspecific;var sa=env.___cxa_throw;var ta=env._pthread_key_create;var ua=env.___syscall6;var va=env.___setErrNo;var wa=env._abort;var xa=env.___cxa_begin_catch;var ya=env.___syscall146;var za=env._pthread_once;var Aa=env._emscripten_memcpy_big;var Ba=env.___gxx_personality_v0;var Ca=env.___syscall140;var Da=env.___resumeException;var Ea=env.___cxa_find_matching_catch;var Fa=env.___assert_fail;var Ga=env.___cxa_pure_virtual;var Ha=env.___cxa_allocate_exception;var Ia=env.__ZSt18uncaught_exceptionv;var Ja=$(0);const Ka=$(0);function La(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +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]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);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};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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}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"]};function ccall(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)}}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 stop;ptr=ret;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){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+16592;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,GA4AAK8OAABADgAAiA4AAAgAAAAAAAAAQA4AAMwOAAAIAAAAAAAAAEAOAAD1DgAAQAAAAAAAAAAYDgAAEQ8AABgOAAA2DwAAQA4AAFsPAAAwAAAAAAAAAEAOAADTGgAASAAAAAAAAABADgAAiw8AAIAAAAAAAAAAQA4AAOQPAACQAAAAAAAAAEAOAAA4EAAAoAAAAAAAAABADgAAbBAAALAAAAAAAAAAGA4AAJcQAABADgAAuxAAAMgAAAAAAAAAGA4AAFkRAABADgAAqBIAAOAAAAAAAAAAQA4AAEATAACAAAAAAAAAAEAOAABvFAAA4AAAAAAAAABADgAACRUAAOAAAAAAAAAAQA4AAK8VAADgAAAAAAAAAEAOAABFFgAAMAEAAAAAAAAYDgAA8BYAAEAOAACbFwAASAEAAAAAAABADgAAQBgAAIAAAAAAAAAAQA4AANYYAABIAQAAAAAAAEAOAAB9GQAASAEAAAAAAABADgAAMBoAAEgBAAAAAAAAQA4AAIQpAABgAAAAAAAAAEAOAACKHwAAqAEAAAAAAABADgAA+x8AAJAAAAAAAAAAQA4AAB8iAADIAQAAAAAAABgOAADVIgAAQA4AAEIlAADgAQAAAAAAAEAOAADyJQAAqAEAAAAAAABADgAAkyYAAAACAAAAAAAAGA4AAFYnAABADgAAGSgAABgCAAAAAAAAQA4AANYoAACoAQAAAAAAAEAOAACvKQAAYAAAAAAAAABADgAARioAAOgCAAAAAAAAQA4AAFwqAAA4AgAAAAAAAEAOAADSLQAAsAIAAAAAAAAYDgAAfSoAAEAOAABNKwAAgAIAAAAAAAAYDgAAFywAABgOAAAxLAAAQA4AAGwsAACAAgAAAAAAAEAOAAAVLQAAgAIAAAAAAAAYDgAAHi4AAEAOAABMLgAAsAIAAAAAAABADgAAuS4AADgCAAAAAAAAQA4AAJ8uAACAAgAAAAAAABgOAADZLgAAQA4AAJAwAAAAAwAAAAAAABgOAABdMQAAGA4AANg8AABADgAAOD0AACADAAAAAAAAQA4AAOU8AAAwAwAAAAAAABgOAAAGPQAAQA4AABM9AAAQAwAAAAAAAEAOAAAaPgAACAMAAAAAAABADgAAKj4AAEgDAAAAAAAAQA4AAF8+AAAgAwAAAAAAAEAOAAA7PgAAaAMAAAAAAAAAAAAAEAAAAAEAAAACAAAAAQAAAAEAAAABAAAAAAAAACAAAAADAAAABAAAAAIAAAACAAAAAgAAAAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAQAAAAFAAAAAwAAAAQAAAAGAAAAAQAAAAcAAAAFAAAAAAAAAEgAAAAHAAAACAAAAAIAAAAIAAAAAwAAAAQAAAAJAAAACgAAAAUAAAAAAADAAAAAAFAAAAAJAAAACgAAAAEAAAALAAAADAAAAAUAAAADAAAABAAAAA0AAAAOAAAADwAAAAYAAAABAAAAAAAAAGAAAAALAAAADAAAAAYAAAAIAAAAAwAAAAQAAAAQAAAACgAAAAcAAAAIAAAAAQAAAAcAAAARAAAAAAAAAIAAAAANAAAADgAAAAEAAAAIAAAAAQAAAAkAAAASAAAAEwAAAAoAAAALAAAAFAAAAAEAAAAAAAAAcAAAAA0AAAAPAAAADAAAAAgAAAANAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAAAQAAAAAAAAAQAQAADQAAABAAAAAOAAAACAAAAA8AAAAJAAAAEgAAABMAAAAKAAAACwAAABQAAAACAAAAAAAAAAABAAARAAAAEgAAABAAAAAIAAAAEQAAAAkAAAASAAAAEwAAAAoAAAALAAAAFQAAAAMAAAAAAAAA8AAAABMAAAAUAAAAEgAAAAgAAAATAAAAFAAAABYAAAAXAAAACgAAAAsAAAAYAAAABAAAAAAAAADQAAAAFQAAABYAAAAVAAAACAAAABYAAAAXAAAAGQAAABoAAAAKAAAACwAAABsAAAAFAAAAAAAAALgAAAAXAAAAGAAAABwAAAAYAAAAAgAAAAAAAAB4AQAADQAAABkAAAAZAAAACAAAABoAAAAJAAAAEgAAABMAAAAKAAAACwAAABQAAAAGAAAAAAAAAGgBAAAaAAAAGwAAABsAAAAIAAAAHAAAAAkAAAASAAAAEwAAAAoAAAALAAAAHQAAAAcAAAAAAAAAWAEAABwAAAAdAAAAHQAAAAgAAAAeAAAAHwAAAB4AAAAfAAAACgAAAAsAAAAgAAAACAAAAAAAAAA4AQAAHgAAAB8AAAAgAAAACAAAACEAAAAiAAAAIQAAACIAAAAKAAAACwAAACMAAAAJAAAAAAAAACABAAAgAAAAIQAAACQAAAAjAAAAAwAAAAAAAACIAQAACwAAACIAAAAJAAAACAAAAAMAAAAKAAAAEAAAAAoAAAAHAAAACwAAAAIAAAAkAAAAJQAAAAAAAACYAQAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAJgAAACcAAAApAAAAKgAAACgAAAAKAAAAAAAAAAgCAAAlAAAAJgAAACsAAAAmAAAALAAAAC0AAAApAAAAKgAAACkAAAAqAAAAKwAAAAsAAAAAAAAA8AEAACcAAAAoAAAALAAAAC4AAAAEAAAAAAAAANABAAApAAAAKgAAAC8AAAAmAAAAMAAAADEAAAAtAAAALgAAACkAAAAqAAAALwAAAAwAAAAAAAAAuAEAACsAAAAsAAAAMAAAADIAAAAFAAAAAAAAACgCAAAtAAAALgAAAAwAAAAIAAAAAwAAAA0AAAAQAAAACgAAAAcAAAAOAAAAAQAAAAcAAAAxAAAAMwAAADIAAAAAAAAAOAIAAC8AAAAwAAAANAAAADUAAAABAAAANgAAADcAAAA4AAAAOQAAADoAAAAzAAAANAAAAAEAAAAAAAAASAIAADEAAAAyAAAANAAAADsAAAA1AAAANgAAADcAAAA4AAAAPAAAAD0AAAA2AAAANwAAAD4AAAAAAAAAWAIAADMAAAA0AAAAOAAAADkAAAA6AAAAOwAAAD8AAABAAAAAQQAAAEIAAAAAAADAAAAAAHACAAA1AAAANgAAADwAAABDAAAAAAAAAGgCAAA3AAAAOAAAADkAAAAAAADAAAAAAJACAAA6AAAAOwAAAD0AAABEAAAAAAAAAIgCAAA8AAAAPQAAAD4AAAAAAAAAoAIAAD8AAABAAAAAPgAAAEUAAAAAAAAAuAIAAEEAAABCAAAAPwAAAEAAAABBAAAAQgAAAEYAAABHAAAASAAAAEkAAAAAAAAAAQAAAAMAAAAFAAAABwAAAAAAAADIAgAALwAAAEMAAAA0AAAANQAAAEMAAAA2AAAANwAAADgAAAA5AAAAOgAAADMAAAA0AAAASgAAAAAAAADYAgAARAAAAEUAAABEAAAASwAAAAAAAADoAgAALwAAAEYAAABMAAAANQAAAAEAAABNAAAANwAAADgAAAA5AAAAAAAAwAAAAMAAAAAA8AIAAEcAAABIAAAABgAAAAMAAAAAAADAAAAAAAADAABJAAAASgAAAAcAAAAEAAAAAAAAwAAAAMAAAADAAAAAwJwKAAAFAAAAAAAAAAAAAABOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAMxAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAzzwAAAAAAAAQAwAASwAAAEwAAABNAAAATgAAABIAAAABAAAAAQAAAAMAAAAAAAAAOAMAAEsAAABPAAAATQAAAE4AAAASAAAAAgAAAAIAAAAEAAAAAAAAAEgDAABQAAAAUQAAAE8AAAAAAAAAWAMAAFAAAABSAAAATwAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQBONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlcnNDb250cm9sbGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZERlY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAGZhbHNlAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvcHJlZGljdGlvbl9zY2hlbWVfd3JhcF90cmFuc2Zvcm1fYmFzZS5oAHF1YW50aXphdGlvbl9iaXRzAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfdGV4X2Nvb3Jkc19wb3J0YWJsZV9kZWNvZGVyLmgATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zM1NlcXVlbnRpYWxJbnRlZ2VyQXR0cmlidXRlRGVjb2RlckUAKHEpID49ICgyKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvbm9ybWFsX2NvbXByZXNzaW9uX3V0aWxzLmgAU2V0UXVhbnRpemF0aW9uQml0cwAocSkgPD0gKDMwKQAoaW5fcykgPj0gKDApAE9jdGFoZXJkYWxDb29yZHNUb1VuaXRWZWN0b3IAKGluX3QpID49ICgwKQAoaW5fcykgPD0gKDEpAChpbl90KSA8PSAoMSkAKHByZWRfdmFsc1swXSkgPD0gKDIgKiB0aGlzLT5jZW50ZXJfdmFsdWUoKSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9wcmVkaWN0aW9uX3NjaGVtZV9ub3JtYWxfb2N0YWhlZHJvbl9jYW5vbmljYWxpemVkX2RlY29kaW5nX3RyYW5zZm9ybS5oAENvbXB1dGVPcmlnaW5hbFZhbHVlAChwcmVkX3ZhbHNbMV0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpAChjb3JyX3ZhbHNbMF0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpAChjb3JyX3ZhbHNbMV0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpACgwKSA8PSAocHJlZF92YWxzWzBdKQAoMCkgPD0gKHByZWRfdmFsc1sxXSkAKDApIDw9IChjb3JyX3ZhbHNbMF0pACgwKSA8PSAoY29ycl92YWxzWzFdKQAocykgPD0gKGNlbnRlcl92YWx1ZV8pAElzSW5EaWFtb25kACh0KSA8PSAoY2VudGVyX3ZhbHVlXykAKHMpID49ICgtY2VudGVyX3ZhbHVlXykAKHQpID49ICgtY2VudGVyX3ZhbHVlXykAKCpzKSA8PSAoY2VudGVyX3ZhbHVlXykASW52ZXJ0RGlhbW9uZAAoKnQpIDw9IChjZW50ZXJfdmFsdWVfKQAoKnMpID49ICgtY2VudGVyX3ZhbHVlXykAKCp0KSA+PSAoLWNlbnRlcl92YWx1ZV8pAChtYXhfcXVhbnRpemVkX3ZhbHVlICUgMikgPT0gKDEpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvcHJlZGljdGlvbl9zY2hlbWVfbm9ybWFsX29jdGFoZWRyb25fdHJhbnNmb3JtX2Jhc2UuaABzZXRfbWF4X3F1YW50aXplZF92YWx1ZQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAHRoaXMtPklzSW5pdGlhbGl6ZWQoKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfZ2VvbWV0cmljX25vcm1hbF9wcmVkaWN0b3JfYXJlYS5oAENvbXB1dGVQcmVkaWN0ZWRWYWx1ZQAobm9ybWFsLkFic1N1bSgpKSA8PSAodXBwZXJfYm91bmQpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX3ByZWRpY3Rvcl9iYXNlLmgAR2V0UG9zaXRpb25Gb3JDb3JuZXIATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX2RlY29kZXIuaABDb21wdXRlT3JpZ2luYWxWYWx1ZXMAKG51bV9jb21wb25lbnRzKSA9PSAoMikAKHByZWRfbm9ybWFsXzNkLkFic1N1bSgpKSA9PSAob2N0YWhlZHJvbl90b29sX2JveF8uY2VudGVyX3ZhbHVlKCkpAChzdGQ6OmFicyhpbnRfdmVjWzBdKSArIHN0ZDo6YWJzKGludF92ZWNbMV0pICsgc3RkOjphYnMoaW50X3ZlY1syXSkpID09IChjZW50ZXJfdmFsdWVfKQBJbnRlZ2VyVmVjdG9yVG9RdWFudGl6ZWRPY3RhaGVkcmFsQ29vcmRzAChpKSA9PSAoMCkAR2V0UGFyZW50QXR0cmlidXRlVHlwZQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVEZWNvZGVyRQBVbnN1cHBvcnRlZCBlbmNvZGluZyBtZXRob2QuAFVuc3VwcG9ydGVkIGdlb21ldHJ5IHR5cGUuAElucHV0IGlzIG5vdCBhIG1lc2guAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBONWRyYWNvMTFNZXNoRGVjb2RlckUATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRGVjb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUAIWlkZW50aXR5X21hcHBpbmdfAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vYXR0cmlidXRlcy9wb2ludF9hdHRyaWJ1dGUuaABTZXRQb2ludE1hcEVudHJ5AE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzMxTWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsRGVjb2RlckVFRQBONWRyYWNvMzVNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfMzhNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxWYWxlbmNlRGVjb2RlckVFRQBONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAE41ZHJhY28yMU1lc2hTZXF1ZW50aWFsRGVjb2RlckUATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAEZhaWxlZCB0byBwYXJzZSBEcmFjbyBoZWFkZXIuAERSQUNPAE5vdCBhIERyYWNvIGZpbGUuAEZhaWxlZCB0byBkZWNvZGUgbWV0YWRhdGEuAFVzaW5nIGluY29tcGF0aWJsZSBkZWNvZGVyIGZvciB0aGUgaW5wdXQgZ2VvbWV0cnkuAFVua25vd24gbWFqb3IgdmVyc2lvbi4AVW5rbm93biBtaW5vciB2ZXJzaW9uLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4ARmFpbGVkIHRvIGRlY29kZSBnZW9tZXRyeSBkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIHBvaW50IGF0dHJpYnV0ZXMuAChuYml0cykgPj0gKDApAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9kZWNvZGVyX2J1ZmZlci5oAEdldEJpdHMAKG5iaXRzKSA8PSAoMzIpAE41ZHJhY280TWVzaEUAYXR0X2lkID49IDAAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9wb2ludF9jbG91ZC9wb2ludF9jbG91ZC5jYwBTZXRBdHRyaWJ1dGUAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBONWRyYWNvMTBQb2ludENsb3VkRQAoMCkgPD0gKGF0dF9pZCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9wb2ludF9jbG91ZC9wb2ludF9jbG91ZC5oAGF0dHJpYnV0ZQAoYXR0X2lkKSA8IChzdGF0aWNfY2FzdDxpbnQzMl90PihhdHRyaWJ1dGVzXy5zaXplKCkpKQAoMCkgPD0gKGZhY2VfaWQudmFsdWUoKSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9tZXNoL21lc2guaABmYWNlAChmYWNlX2lkLnZhbHVlKCkpIDwgKHN0YXRpY19jYXN0PGludD4oZmFjZXNfLnNpemUoKSkpABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOADAxMjM0NTY3ODlBQkNERUYuAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAJWQAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 ___cxa_allocate_exception(size){return _malloc(size)}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){Module["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 ___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 ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}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 ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__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=Runtime.staticAlloc(4);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;var ASSERTIONS=false;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function Xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;o=t+8|0;p=t+4|0;r=t;q=a+68|0;f[q>>2]=(f[q>>2]|0)+1;q=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;s=q>>2;if((q|0)<=0){u=t;return}n=a+4|0;m=a+56|0;q=a+72|0;k=f[c>>2]|0;i=k+4|0;j=k+8|0;l=a+76|0;c=f[a+44+(b<<2)>>2]|0;h=0;do{g=(c|0)<0;b=g?-1073741824:(c>>>0)/3|0;d=(f[m>>2]|0)+(b>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(b&31);f[q>>2]=(f[q>>2]|0)+1;do if(h){f[p>>2]=c;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Hg(o,b,d)|0;f[l>>2]=d;f[o>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else $e(k,o);if(!(h&1)){b=c+1|0;if(g)break;c=((b|0)%3|0|0)==0?c+-2|0:b;e=31;break}if(!g)if(!((c>>>0)%3|0)){c=c+2|0;e=31;break}else{c=c+-1|0;e=31;break}}else{f[p>>2]=c;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Hg(o,b,d)|0;f[r>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else $e(k,r);b=c+1|0;if(g)b=c;else b=((b|0)%3|0|0)==0?c+-2|0:b;f[p>>2]=b;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Hg(o,b,d)|0;f[r>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else $e(k,r);do if(!g)if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}else b=c;while(0);f[p>>2]=b;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Hg(o,b,d)|0;f[l>>2]=d;f[o>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else $e(k,o);e=31}while(0);if((e|0)==31){e=0;if((c|0)>=0)c=f[(f[(f[n>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}h=h+1|0}while((h|0)<(s|0));u=t;return}function Yb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b[c+11>>0]|0;m=n<<24>>24<0;o=m?f[c>>2]|0:c;n=m?f[c+4>>2]|0:n&255;if(n>>>0>3){c=o;g=n;d=n;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=n+-4|0;d=m&-4;e=o+(d+4)|0;c=g;d=m-d|0}else{e=o;c=n;d=n}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;l=6;break}case 2:{i=c;l=6;break}case 1:{j=c;l=7;break}default:k=c}if((l|0)==6){j=h[e+1>>0]<<8^i;l=7}if((l|0)==7)k=X(h[e>>0]^j,1540483477)|0;c=X(k>>>13^k,1540483477)|0;c=c>>>15^c;k=f[a+4>>2]|0;if(!k){o=0;return o|0}l=k+-1|0;d=(l&k|0)==0;if(d)m=c&l;else m=(c>>>0)%(k>>>0)|0;c=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!c){o=0;return o|0}c=f[c>>2]|0;if(!c){o=0;return o|0}a=(n|0)==0;if(d){a:while(1){if((f[c+4>>2]&l|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break a}if(!(xh(i,o,n)|0)){l=35;break a}else break}if(a){l=35;break a}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break a}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}else{b:while(1){if((((f[c+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break b}if(!(xh(i,o,n)|0)){l=35;break b}else break}if(a){l=35;break b}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}return 0}function Zb(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+12|0;l=m;f[c+40>>2]=e;j=c+32|0;f[j>>2]=g;f[c+4>>2]=i;Bb(a,g,k);if(f[a>>2]|0){u=m;return}i=a+4|0;pk(i);g=h[k+7>>0]|0;if((g|0)!=(Ra[f[(f[c>>2]|0)+8>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12029,50);f[a>>2]=-1;th(i,l);pk(l);u=m;return}e=b[k+5>>0]|0;b[c+36>>0]=e;g=b[k+6>>0]|0;b[c+37>>0]=g;if((e+-1&255)>1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12080,22);f[a>>2]=-5;th(i,l);pk(l);u=m;return}if(e<<24>>24==2&(g&255)>2){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12103,22);f[a>>2]=-5;th(i,l);pk(l);u=m;return}g=(g&255|(e&255)<<8)&65535;d[(f[j>>2]|0)+38>>1]=g;do if((g&65535)>258?(d[k+10>>1]|0)<0:0){Oc(a,c);if(!(f[a>>2]|0)){pk(i);break}else{u=m;return}}while(0);if(!(Ra[f[(f[c>>2]|0)+12>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12126,33);f[a>>2]=-1;th(i,l);pk(l);u=m;return}if(!(Ra[f[(f[c>>2]|0)+20>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12160,31);f[a>>2]=-1;th(i,l);pk(l);u=m;return}if(Ra[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=m;return}else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12192,34);f[a>>2]=-1;th(i,l);pk(l);u=m;return}}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+176|0;h=t+136|0;s=t+64|0;o=t;j=t+32|0;i=f[(f[c+4>>2]|0)+44>>2]|0;n=_i(88)|0;f[n+4>>2]=0;f[n>>2]=2404;k=n+12|0;f[k>>2]=2384;m=n+64|0;f[m>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;e=n+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[n+76>>2]=i;f[n+80>>2]=d;f[n+84>>2]=0;l=n;q=s+4|0;f[q>>2]=2384;p=s+56|0;f[p>>2]=0;r=s+60|0;f[r>>2]=0;f[s+64>>2]=0;e=s+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=f[c+8>>2]|0;f[o>>2]=2384;c=o+4|0;g=c+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;g=e;f[c>>2]=g;g=((f[g+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0;b[h>>0]=0;Td(o+8|0,g,h);Oa[f[(f[o>>2]|0)+8>>2]&127](o);$c(j,o);$c(h,j);f[s>>2]=f[h+4>>2];g=s+4|0;td(g,h)|0;f[h>>2]=2384;c=f[h+20>>2]|0;if(c|0)Em(c);c=f[h+8>>2]|0;if(c|0)Em(c);f[s+36>>2]=e;f[s+40>>2]=d;f[s+44>>2]=i;f[s+48>>2]=n;f[j>>2]=2384;c=f[j+20>>2]|0;if(c|0)Em(c);c=f[j+8>>2]|0;if(c|0)Em(c);f[n+8>>2]=f[s>>2];td(k,g)|0;c=n+44|0;n=s+36|0;f[c>>2]=f[n>>2];f[c+4>>2]=f[n+4>>2];f[c+8>>2]=f[n+8>>2];f[c+12>>2]=f[n+12>>2];b[c+16>>0]=b[n+16>>0]|0;ad(m,f[p>>2]|0,f[r>>2]|0);f[a>>2]=l;f[o>>2]=2384;c=f[o+20>>2]|0;if(c|0)Em(c);c=f[o+8>>2]|0;if(c|0)Em(c);c=f[p>>2]|0;if(c|0){e=f[r>>2]|0;if((e|0)!=(c|0))f[r>>2]=e+(~((e+-4-c|0)>>>2)<<2);Em(c)}f[q>>2]=2384;c=f[s+24>>2]|0;if(c|0)Em(c);c=f[s+12>>2]|0;if(!c){u=t;return}Em(c);u=t;return}function $b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;r=s;dd(a+80|0,a)|0;if(!(Ye(a)|0)){r=0;u=s;return r|0}c=b;d=a;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));h=a+176|0;f[h>>2]=2;k=a+180|0;f[k>>2]=7;c=f[a+152>>2]|0;if((c|0)<0){r=0;u=s;return r|0}j=a+156|0;f[r>>2]=0;g=a+160|0;e=f[g>>2]|0;d=f[j>>2]|0;i=e-d>>2;if(c>>>0<=i>>>0)if(c>>>0>>0?(l=d+(c<<2)|0,(e|0)!=(l|0)):0){f[g>>2]=e+(~((e+-4-l|0)>>>2)<<2);d=2;c=7}else{d=2;c=7}else{Xd(j,c-i|0,r);d=f[h>>2]|0;c=f[k>>2]|0}g=c-d+1|0;o=a+184|0;n=a+188|0;d=f[n>>2]|0;e=f[o>>2]|0;h=(d-e|0)/12|0;c=d;if(g>>>0<=h>>>0){if(g>>>0>>0?(m=e+(g*12|0)|0,(c|0)!=(m|0)):0){do{d=c+-12|0;f[n>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Em(e);c=f[n>>2]|0}}while((c|0)!=(m|0));d=c}}else{Yc(o,g-h|0);d=f[n>>2]|0}l=a+196|0;c=f[o>>2]|0;j=(d-c|0)/12|0;h=a+200|0;g=f[h>>2]|0;e=f[l>>2]|0;i=g-e>>2;if(j>>>0<=i>>>0){if(j>>>0>>0?(p=e+(j<<2)|0,(g|0)!=(p|0)):0)f[h>>2]=g+(~((g+-4-p|0)>>>2)<<2)}else{Oe(l,j-i|0);d=f[n>>2]|0;c=f[o>>2]|0}if((d|0)==(c|0)){r=1;u=s;return r|0}k=0;do{Pf(r,b)|0;c=f[r>>2]|0;if(c|0){d=f[o>>2]|0;i=d+(k*12|0)|0;h=d+(k*12|0)+4|0;g=f[h>>2]|0;e=f[i>>2]|0;j=g-e>>2;if(c>>>0<=j>>>0){if(c>>>0>>0?(q=e+(c<<2)|0,(g|0)!=(q|0)):0)f[h>>2]=g+(~((g+-4-q|0)>>>2)<<2)}else{Oe(i,c-j|0);d=f[o>>2]|0;c=f[r>>2]|0}xf(c,1,b,f[d+(k*12|0)>>2]|0)|0;f[(f[l>>2]|0)+(k<<2)>>2]=f[r>>2]}k=k+1|0}while(k>>>0<(((f[n>>2]|0)-(f[o>>2]|0)|0)/12|0)>>>0);c=1;u=s;return c|0}function ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=u;u=u+16|0;z=B+8|0;x=B;y=B+4|0;if(!(Ff(a,b)|0)){a=0;u=B;return a|0}A=b+96|0;n=b+100|0;d=f[n>>2]|0;b=f[A>>2]|0;if((d-b|0)<=0){a=1;u=B;return a|0}m=a+56|0;t=a+8|0;q=a+12|0;r=a+20|0;o=a+24|0;s=a+32|0;p=a+36|0;v=a+68|0;w=a+76|0;l=f[c>>2]|0;h=l+4|0;j=l+8|0;i=a+4|0;k=a+72|0;g=l;e=0;do{if(!(f[(f[m>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31))){C=e*3|0;f[x>>2]=C;f[z>>2]=f[x>>2];Nb(a,0,z);d=(f[q>>2]|0)-(f[t>>2]|0)>>2;f[x>>2]=C+1;f[z>>2]=f[x>>2];Nb(a,1,z);b=(f[o>>2]|0)-(f[r>>2]|0)>>2;c=b>>>0>d>>>0;f[x>>2]=C+2;f[z>>2]=f[x>>2];Nb(a,2,z);d=(f[p>>2]|0)-(f[s>>2]|0)>>2>>>0>(c?b:d)>>>0?2:c?1:((d|0)==0)<<31>>31;if((f[v>>2]|0)>0){b=f[w>>2]|0;f[z>>2]=b;c=f[h>>2]|0;if(c>>>0<(f[j>>2]|0)>>>0){f[c>>2]=b;f[h>>2]=c+4}else $e(l,z);f[x>>2]=f[a+44+(d<<2)>>2];b=f[i>>2]|0;c=f[a>>2]|0;f[z>>2]=f[x>>2];c=Hg(z,b,c)|0;f[z>>2]=c;b=f[h>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=c;f[h>>2]=b+4}else $e(l,z);C=(f[k>>2]|0)+2|0;f[k>>2]=C;if(C&1|0){f[z>>2]=c;b=f[h>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=c;f[h>>2]=b+4}else $e(l,z);f[k>>2]=(f[k>>2]|0)+1}}f[y>>2]=g;f[z>>2]=f[y>>2];Xb(a,d,z);b=f[A>>2]|0;d=f[n>>2]|0}e=e+1|0}while((e|0)<((d-b|0)/12|0|0));b=1;u=B;return b|0}function bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Em(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}m=_i(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)Em(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){b:do if(m){k=h;i=c;while(1){c=d;while(1){j=f[c+4>>2]&l;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}else{k=h;i=c;while(1){c=d;while(1){j=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}while(0);f[d>>2]=g;d=f[c>>2]|0;if(!d){c=34;break}else h=c}if((c|0)==34)return}function cc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;v=u;u=u+32|0;e=v+24|0;q=v+20|0;t=v+8|0;s=v+4|0;m=v;f[e>>2]=0;Pf(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){d=0;while(1){d=d+1|0;if(!(hc(a,c)|0)){d=0;break}if(d>>>0>=(f[e>>2]|0)>>>0)break a}u=v;return d|0}while(0);f[q>>2]=0;Pf(q,f[a>>2]|0)|0;b:do if(!(f[q>>2]|0))d=1;else{i=0;while(1){f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;g=f[a>>2]|0;w=g+8|0;x=f[w+4>>2]|0;h=g+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if((x|0)>(e|0)|((x|0)==(e|0)?(f[w>>2]|0)>>>0>d>>>0:0)?(l=b[(f[g>>2]|0)+d>>0]|0,j=lk(d|0,e|0,1,0)|0,p=h,f[p>>2]=j,f[p+4>>2]=I,p=l&255,Sf(t,p,0),j=f[a>>2]|0,o=Ah(t,0)|0,g=j+8|0,w=f[g>>2]|0,g=f[g+4>>2]|0,r=j+16|0,x=r,k=f[x>>2]|0,l=l&255,x=lk(k|0,f[x+4>>2]|0,l|0,0)|0,h=I,!((g|0)<(h|0)|(g|0)==(h|0)&w>>>0>>0)):0){Ld(o|0,(f[j>>2]|0)+k|0,p|0)|0;w=r;w=lk(f[w>>2]|0,f[w+4>>2]|0,l|0,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=_i(40)|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;n[x+16>>2]=$(1.0);w=x+20|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;n[x+36>>2]=$(1.0);f[s>>2]=x;if(cc(a,x)|0){d=f[s>>2]|0;f[s>>2]=0;f[m>>2]=d;vd(c,t,m)|0;df(m);d=0}else d=1;df(s)}else d=1;pk(t);i=i+1|0;if(d|0){d=0;break b}if(i>>>0>=(f[q>>2]|0)>>>0){d=1;break}}}while(0);x=d;u=v;return x|0}function dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+148|0;c=f[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)){h=b;g=c+2|0;break}else{h=b;g=c+-1|0;break}}else{h=c;g=c}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){g=c+(b<<2)|0;f[g>>2]=(f[g>>2]|0)+d}if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;b=f[(f[a+156>>2]|0)+(b<<2)>>2]|0;c=f[a+176>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+172|0;f[a>>2]=i;return}i=f[a+180>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+172|0;f[a>>2]=i;return}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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;t=a+8|0;f[t>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2);g=e}else g=e;else{Oe(j,e-k|0);g=f[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=Bm(r)|0;vf(s|0,0,r|0)|0;if((g|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{g=f[s+(j<<2)>>2]|0;h=f[l>>2]|0;if((g|0)>(h|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=h}else{r=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(g|0)<(r|0)?r:g}j=j+1|0;g=f[t>>2]|0}while((j|0)<(g|0));if((g|0)>0){j=a+20|0;i=0;do{g=(f[b+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=c+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[m>>2]|0)){g=(f[j>>2]|0)+g|0;u=18}}else{g=g-(f[j>>2]|0)|0;u=18}if((u|0)==18){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}if((e|0)>=(d|0)){Cm(s);return 1}p=0-e|0;q=a+16|0;o=a+32|0;r=a+12|0;n=a+20|0;a=e;do{l=c+(a<<2)|0;j=l+(p<<2)|0;m=b+(a<<2)|0;if((g|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[q>>2]|0;if((g|0)>(h|0)){k=f[o>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[r>>2]|0;k=f[o>>2]|0;f[k+(i<<2)>>2]=(g|0)<(h|0)?h:g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0));if((g|0)>0){i=0;do{g=(f[m+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[q>>2]|0)){if((g|0)<(f[r>>2]|0)){g=(f[n>>2]|0)+g|0;u=33}}else{g=g-(f[n>>2]|0)|0;u=33}if((u|0)==33){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}a=a+e|0}while((a|0)<(d|0));Cm(s);return 1}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=c+8|0;j=f[i+4>>2]|0;h=c+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){j=0;return j|0}j=b[(f[c>>2]|0)+g>>0]|0;g=lk(g|0,e|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do switch(j<<24>>24){case 1:{j=Vb(a,c,d)|0;return j|0}case 2:{j=Vb(a,c,d)|0;return j|0}case 3:{j=Vb(a,c,d)|0;return j|0}case 4:{j=Vb(a,c,d)|0;return j|0}case 5:{j=Sc(a,c,d)|0;return j|0}case 6:{j=Vb(a,c,d)|0;return j|0}case 7:{j=Vb(a,c,d)|0;return j|0}case 8:{j=Vb(a,c,d)|0;return j|0}case 9:{j=Ub(a,c,d)|0;return j|0}case 10:{j=Tb(a,c,d)|0;return j|0}case 11:{j=Sb(a,c,d)|0;return j|0}case 12:{j=Qb(a,c,d)|0;return j|0}case 13:{j=Pb(a,c,d)|0;return j|0}case 14:{j=Ob(a,c,d)|0;return j|0}case 15:{j=Ob(a,c,d)|0;return j|0}case 16:{j=Ob(a,c,d)|0;return j|0}case 17:{j=Ob(a,c,d)|0;return j|0}case 18:{j=Ob(a,c,d)|0;return j|0}default:{j=0;return j|0}}while(0);return 0}function gc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2264;d=a+376|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(c|0))}Cm(d)}Jm(a+360|0);Jm(a+320|0);Jm(a+304|0);Jm(a+264|0);We(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Em(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Em(b);b=f[a+132>>2]|0;if(b|0)Em(b);b=f[a+120>>2]|0;if(b|0)Em(b);b=f[a+108>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+60>>2]|0;if(b|0)Em(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Lf(b);Em(b);return}function hc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=u;u=u+32|0;m=n+16|0;k=n+12|0;l=n;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;d=f[a>>2]|0;j=d+8|0;i=f[j+4>>2]|0;h=d+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((i|0)>(e|0)|((i|0)==(e|0)?(f[j>>2]|0)>>>0>g>>>0:0))){l=0;pk(m);u=n;return l|0}q=b[(f[d>>2]|0)+g>>0]|0;d=lk(g|0,e|0,1,0)|0;i=h;f[i>>2]=d;f[i+4>>2]=I;i=q&255;Sf(m,i,0);d=f[a>>2]|0;h=Ah(m,0)|0;r=d+8|0;p=f[r>>2]|0;r=f[r+4>>2]|0;j=d+16|0;o=j;e=f[o>>2]|0;g=q&255;o=lk(e|0,f[o+4>>2]|0,g|0,0)|0;q=I;if((r|0)<(q|0)|(r|0)==(q|0)&p>>>0>>0){r=0;pk(m);u=n;return r|0}Ld(h|0,(f[d>>2]|0)+e|0,i|0)|0;d=j;d=lk(f[d>>2]|0,f[d+4>>2]|0,g|0,0)|0;r=j;f[r>>2]=d;f[r+4>>2]=I;f[k>>2]=0;r=(Pf(k,f[a>>2]|0)|0)^1;d=f[k>>2]|0;if((d|0)==0|r)d=0;else{f[l>>2]=0;i=l+4|0;f[i>>2]=0;f[l+8>>2]=0;if((d|0)<0)ql(l);e=_i(d)|0;f[i>>2]=e;f[l>>2]=e;f[l+8>>2]=e+d;do{b[e>>0]=0;e=(f[i>>2]|0)+1|0;f[i>>2]=e;d=d+-1|0}while((d|0)!=0);h=f[k>>2]|0;d=f[a>>2]|0;o=d+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=d+16|0;r=g;e=f[r>>2]|0;r=lk(e|0,f[r+4>>2]|0,h|0,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0)d=0;else{Ld(f[l>>2]|0,(f[d>>2]|0)+e|0,h|0)|0;r=g;r=lk(f[r>>2]|0,f[r+4>>2]|0,h|0,0)|0;d=g;f[d>>2]=r;f[d+4>>2]=I;Bi(c,m,l);d=1}e=f[l>>2]|0;if(e|0){if((f[i>>2]|0)!=(e|0))f[i>>2]=e;Em(e)}}r=d;pk(m);u=n;return r|0}function ic(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;e=f[k>>2]|0;switch(f[e+28>>2]|0){case 2:{d=b[e+24>>0]|0;j=d<<24>>24;i=Bm((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;a:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Ld(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break a}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Cm(i);c=1;return c|0}case 1:{d=b[e+24>>0]|0;j=d<<24>>24;i=Bm((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;b:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Ld(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break b}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Cm(i);c=1;return c|0}case 4:{Ae(a,c);c=1;return c|0}case 3:{Ae(a,c);c=1;return c|0}case 6:{Be(a,c);c=1;return c|0}case 5:{Be(a,c);c=1;return c|0}default:{c=0;return c|0}}return 0}function jc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<>>0>31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if(e>>>0<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if(!h){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)Fa(12505,12521,59,12612);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))Fa(12622,12521,60,12612);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Ra[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Va[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Va[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=_i(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=1992;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2048;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$l(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=_i(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=1908;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=1964;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$l(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function lc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a+32|0;c=f[h>>2]|0;o=c+8|0;n=f[o+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(f[o>>2]|0)>>>0>e>>>0:0))){a=0;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;m=lk(e|0,d|0,1,0)|0;o=g;f[o>>2]=m;f[o+4>>2]=I;o=n&255;g=n<<24>>24==0;a:do if(!g){c=0;while(1){if(!(Va[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){c=0;break}c=c+1|0;if((c|0)>=(o|0))break a}return c|0}while(0);n=a+8|0;c=f[n>>2]|0;d=f[a+12>>2]|0;b:do if((c|0)!=(d|0)){e=a+4|0;while(1){m=f[c>>2]|0;c=c+4|0;if(!(Ma[f[(f[m>>2]|0)+8>>2]&31](m,a,f[e>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}return c|0}while(0);if(!g){c=0;do{m=f[(f[n>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Va[f[(f[m>>2]|0)+12>>2]&127](m,f[h>>2]|0)|0)){c=0;i=26;break}}while((c|0)<(o|0));if((i|0)==26)return c|0;if(!g){i=a+20|0;h=a+24|0;l=0;do{j=f[(f[n>>2]|0)+(l<<2)>>2]|0;j=Ra[f[(f[j>>2]|0)+24>>2]&127](j)|0;if((j|0)>0){m=0;do{k=f[(f[n>>2]|0)+(l<<2)>>2]|0;k=Va[f[(f[k>>2]|0)+20>>2]&127](k,m)|0;d=f[h>>2]|0;c=f[i>>2]|0;g=d-c>>2;do if(k>>>0>=g>>>0){e=k+1|0;if(e>>>0>g>>>0){Oe(i,e-g|0);c=f[i>>2]|0;break}if(e>>>0>>0?(p=c+(e<<2)|0,(d|0)!=(p|0)):0)f[h>>2]=d+(~((d+-4-p|0)>>>2)<<2)}while(0);f[c+(k<<2)>>2]=l;m=m+1|0}while((m|0)!=(j|0))}l=l+1|0}while((l|0)!=(o|0))}}if(!(Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0)){a=0;return a|0}a=Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0;return a|0}function mc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Oe(i,e-j|0);n=a+56|0;i=f[n>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;q=g-d|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;h=0;while(1){if(g-d>>2>>>0<=h>>>0){pl(i);d=f[i>>2]|0}f[t>>2]=f[d+(h<<2)>>2];f[v>>2]=f[t>>2];mb(w,v,c,h);l=X(h,e)|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[a+68+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[k+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;y=22}}else{d=d-(f[o>>2]|0)|0;y=22}if((y|0)==22){y=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[s>>2]|0))}}h=h+1|0;if((h|0)>=(r|0))break;i=f[n>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=x;return 1}function nc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<>>0>31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function oc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2428;Md(a+240|0);We(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Em(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Em(b);b=f[a+132>>2]|0;if(b|0)Em(b);b=f[a+120>>2]|0;if(b|0)Em(b);b=f[a+108>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+60>>2]|0;if(b|0)Em(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Lf(b);Em(b);return}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Oe(i,e-j|0);n=a+56|0;i=f[n>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;q=g-d|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;h=0;while(1){if(g-d>>2>>>0<=h>>>0){pl(i);d=f[i>>2]|0}f[t>>2]=f[d+(h<<2)>>2];f[v>>2]=f[t>>2];lb(w,v,c,h);l=X(h,e)|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[a+68+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[k+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;y=22}}else{d=d-(f[o>>2]|0)|0;y=22}if((y|0)==22){y=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[s>>2]|0))}}h=h+1|0;if((h|0)>=(r|0))break;i=f[n>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=x;return 1}function qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+12|0;n=f[l>>2]|0;i=(f[c>>2]|0)-n|0;j=c+4|0;g=(f[j>>2]|0)-n|0;e=c;f[e>>2]=i;f[e+4>>2]=g;e=f[l>>2]|0;if((e|0)<(i|0))Fa(7569,6870,250,7592);if((e|0)<(g|0))Fa(7604,6870,251,7592);h=0-e|0;if((i|0)<(h|0))Fa(7627,6870,252,7592);if((g|0)<(h|0))Fa(7651,6870,253,7592);m=(((g|0)>-1?g:0-g|0)+((i|0)>-1?i:0-i|0)|0)<=(e|0);if(!m){ve(b,c,j);i=f[c>>2]|0}if(!i){e=f[j>>2]|0;g=e;e=(e|0)==0}else{e=f[j>>2]|0;g=e;e=(i|0)<0&(e|0)<1}if(!i)k=(g|0)==0?0:(g|0)>0?3:1;else k=(i|0)>0?(g>>31)+2|0:(g|0)<1?0:3;if(e){e=i;i=1}else{switch(k|0){case 1:{e=g;g=0-i|0;break}case 2:{e=0-i|0;g=0-g|0;break}case 3:{e=0-g|0;g=i;break}default:e=i}i=c;f[i>>2]=e;f[i+4>>2]=g;i=0}e=(f[d>>2]|0)+e|0;f[a>>2]=e;g=(f[d+4>>2]|0)+g|0;j=a+4|0;f[j>>2]=g;h=f[l>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[a>>2]=e;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[b+4>>2]|0)+g|0}else g=g-(f[b+4>>2]|0)|0;f[j>>2]=g;if(!i){switch((4-k|0)%4|0|0){case 1:{h=g;e=0-e|0;break}case 2:{h=0-e|0;e=0-g|0;break}case 3:{h=0-g|0;break}default:{h=e;e=g}}g=a;f[g>>2]=h;f[g+4>>2]=e;g=e;e=h}if(m){m=e;b=g;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}ve(b,a,j);m=f[a>>2]|0;b=f[j>>2]|0;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}function rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;l=e<<5;d=b-g|0;if(l>>>0>>0|g>>>0>(l-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0){ql(a);e=f[m>>2]|0}h=e<<6;b=b+31&-32;Le(o,e<<5>>>0<1073741823?(h>>>0>>0?b:h):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;li(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)Em(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;vf(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;vf(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function sc(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=Ka,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka;l=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(c)h=g&l;else h=(l>>>0)%(i>>>0)|0;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(b)if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}if((f[b+4>>2]&g|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else{do{b=f[b>>2]|0;if(!b){b=h;break a}if((((f[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else b=h}else b=0;while(0);m=_i(16)|0;f[m+8>>2]=l;f[m+12>>2]=0;f[m+4>>2]=l;f[m>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;Ge(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&l;break}else{g=b;b=(l>>>0)%(b>>>0)|0;break}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[m>>2]=f[b>>2];f[b>>2]=m;f[c>>2]=b;b=f[m>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;b=(f[a>>2]|0)+(b<<2)|0;o=24}}else{f[m>>2]=f[b>>2];o=24}if((o|0)==24)f[b>>2]=m;f[h>>2]=(f[h>>2]|0)+1;a=m;a=a+12|0;return a|0}function tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;m=r+16|0;j=r+4|0;i=r;if(!(Pf(m,c)|0)){c=-1;u=r;return c|0}if(f[m>>2]|0){n=j+4|0;e=a+40|0;g=a+44|0;o=a+36|0;k=0;l=0;do{Pf(i,c)|0;f[n>>2]=(f[i>>2]|0)+l;Pf(i,c)|0;d=f[i>>2]|0;l=f[n>>2]|0;if(l>>>0>>0){p=21;break}f[j>>2]=l-d;d=f[e>>2]|0;if((d|0)==(f[g>>2]|0))Je(o,j);else{f[d>>2]=f[j>>2];f[d+4>>2]=f[j+4>>2];f[d+8>>2]=f[j+8>>2];f[e>>2]=(f[e>>2]|0)+12}k=k+1|0}while(k>>>0<(f[m>>2]|0)>>>0);if((p|0)==21){c=-1;u=r;return c|0}Vg(c,0,0)|0;l=f[m>>2]|0;if(l|0){q=a+4|0;o=c+36|0;p=c+32|0;m=c+24|0;n=c+28|0;j=a+36|0;d=0;k=0;do{a=f[q>>2]|0;e=(b[o>>0]|0)==0;if(((h[a+36>>0]<<8|h[a+37>>0])&65535)<514){if(!e){d=f[p>>2]|0;g=f[m>>2]|0;i=f[n>>2]|0;e=g+(d>>>3)|0;if(e>>>0>>0){a=(h[e>>0]|0)>>>(d&7)&1;e=d+1|0;f[p>>2]=e;d=a}else{e=d;d=0}if((g+(e>>>3)|0)>>>0>>0)f[p>>2]=e+1}}else if(!e){d=f[p>>2]|0;e=(f[m>>2]|0)+(d>>>3)|0;if(e>>>0<(f[n>>2]|0)>>>0){a=(h[e>>0]|0)>>>(d&7)&1;f[p>>2]=d+1;d=a}else d=0}a=(f[j>>2]|0)+(k*12|0)+8|0;b[a>>0]=b[a>>0]&-2|d&1;k=k+1|0}while(k>>>0>>0)}bi(c)}c=f[c+16>>2]|0;u=r;return c|0}function uc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;m=p;k=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((k|0)<=0){a=1;o=1;o=a|o;u=p;return o|0}j=a+36|0;l=a+48|0;b=0;while(1){i=(Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[i>>2]|0){h=f[(f[(f[j>>2]|0)+(b<<2)>>2]|0)+8>>2]|0;g=(Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;g=f[g>>2]|0;h=f[h+56>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;dg(m,10730,24);i=g+16|0;d=f[i>>2]|0;if(d){c=i;e=d;a:while(1){d=e;while(1){if((f[d+16>>2]|0)>=(h|0))break;d=f[d+4>>2]|0;if(!d)break a}e=f[d>>2]|0;if(!e){c=d;break}else c=d}if(((c|0)!=(i|0)?(n=c+20|0,(h|0)>=(f[c+16>>2]|0)):0)?(se(n,m)|0)!=0:0)c=jg(n,m,0)|0;else o=13}else o=13;if((o|0)==13){o=0;c=jg(g,m,0)|0}pk(m);if(c){o=15;break}}i=f[(f[j>>2]|0)+(b<<2)>>2]|0;if(!(Va[f[(f[i>>2]|0)+24>>2]&127](i,l)|0)){b=0;c=0;o=18;break}b=b+1|0;if((b|0)>=(k|0)){b=1;c=1;o=18;break}}if((o|0)==15){a=f[(f[j>>2]|0)+(b<<2)>>2]|0;o=f[a+8>>2]|0;Ic(o,Vd(a)|0);a=0;o=1;o=a|o;u=p;return o|0}else if((o|0)==18){o=b|c;u=p;return o|0}return 0}function vc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){e=23;break}i=h+8|0;d=f[i>>2]|0;e=f[d>>2]|0;if((e|0)==(h|0)){e=f[d+4>>2]|0;if(!e){e=7;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=7;break}}else{if(!e){e=16;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=16;break}}b[g>>0]=1;i=(d|0)==(a|0);b[d+12>>0]=i&1;b[c>>0]=1;if(i){e=23;break}else c=d}if((e|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;c=f[a>>2]|0;e=f[c>>2]|0;f[a>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}a=c+8|0;f[a>>2]=d;d=f[i>>2]|0;f[((f[d>>2]|0)==(h|0)?d:d+4|0)>>2]=c;f[c>>2]=h;f[i>>2]=c;d=f[a>>2]|0}b[c+12>>0]=1;b[d+12>>0]=0;c=f[d>>2]|0;g=c+4|0;e=f[g>>2]|0;f[d>>2]=e;if(e|0)f[e+8>>2]=d;i=d+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(d|0)?h:h+4|0)>>2]=c;f[g>>2]=d;f[i>>2]=c;return}else if((e|0)==16){if((f[h>>2]|0)==(c|0)){c=f[h>>2]|0;g=c+4|0;e=f[g>>2]|0;f[h>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}e=c+8|0;f[e>>2]=d;a=f[i>>2]|0;f[((f[a>>2]|0)==(h|0)?a:a+4|0)>>2]=c;f[g>>2]=h;f[i>>2]=c;e=f[e>>2]|0}else{c=h;e=d}b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((e|0)==23)return}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+16|0;q=r;i=b+8|0;g=i;j=f[g>>2]|0;g=f[g+4>>2]|0;p=b+16|0;d=p;c=f[d>>2]|0;d=lk(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((g|0)<(e|0)|(g|0)==(e|0)&j>>>0>>0){q=0;u=r;return q|0}g=(f[b>>2]|0)+c|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=p;f[j>>2]=d;f[j+4>>2]=e;if((g|0)<0){q=0;u=r;return q|0}rc(a+76|0,g,0);$l(q);if(dd(q,b)|0){if((g|0)>0){c=a+76|0;d=0;e=1;do{e=e^((Tg(q)|0)^1);j=(f[c>>2]|0)+(d>>>5<<2)|0;s=1<<(d&31);t=f[j>>2]|0;f[j>>2]=e?t|s:t&~s;d=d+1|0}while((d|0)<(g|0))}d=i;c=f[d>>2]|0;d=f[d+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;i=lk(e|0,g|0,4,0)|0;j=I;if((!((d|0)<(j|0)|(d|0)==(j|0)&c>>>0>>0)?(k=f[b>>2]|0,l=k+e|0,l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,m=p,f[m>>2]=i,f[m+4>>2]=j,m=lk(e|0,g|0,8,0)|0,n=I,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0>>0)):0)?(o=k+i|0,o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24,t=p,f[t>>2]=m,f[t+4>>2]=n,(l|0)<=(o|0)):0){f[a+12>>2]=l;f[a+16>>2]=o;t=o+(1-l)|0;f[a+20>>2]=t;c=(t|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(t&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Jm(q);t=c;u=r;return t|0}function xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+16|0;k=m;if(!(Fb(a,c)|0)){a=0;u=m;return a|0}j=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;l=a+36|0;h=a+40|0;d=f[h>>2]|0;e=f[l>>2]|0;g=d-e>>2;if(j>>>0<=g>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(d|0)!=(i|0)):0)do{g=d+-4|0;f[h>>2]=g;d=f[g>>2]|0;f[g>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[h>>2]|0}while((d|0)!=(i|0))}else rd(l,j-g|0);g=c+8|0;if((j|0)<=0){a=1;u=m;return a|0}i=c+16|0;h=0;while(1){n=g;o=f[n+4>>2]|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((o|0)>(e|0)|((o|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){d=0;e=19;break}o=b[(f[c>>2]|0)+d>>0]|0;d=lk(d|0,e|0,1,0)|0;n=i;f[n>>2]=d;f[n+4>>2]=I;Sa[f[(f[a>>2]|0)+48>>2]&7](k,a,o);o=(f[l>>2]|0)+(h<<2)|0;n=f[k>>2]|0;f[k>>2]=0;d=f[o>>2]|0;f[o>>2]=n;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[k>>2]|0;f[k>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[(f[l>>2]|0)+(h<<2)>>2]|0;if(!d){d=0;e=19;break}e=f[(f[d>>2]|0)+8>>2]|0;n=Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0;o=Va[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;h=h+1|0;if(!(Ma[e&31](d,n,o)|0)){d=0;e=19;break}if((h|0)>=(j|0)){d=1;e=19;break}}if((e|0)==19){u=m;return d|0}return 0}function yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+144|0;i=n+136|0;m=n+32|0;l=n;e=f[(f[c+4>>2]|0)+44>>2]|0;h=_i(124)|0;f[h+4>>2]=0;f[h>>2]=2360;f[h+12>>2]=2384;f[h+100>>2]=0;f[h+104>>2]=0;f[h+108>>2]=0;j=h+16|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[h+112>>2]=e;f[h+116>>2]=d;f[h+120>>2]=0;g=h;f[m+4>>2]=2384;f[m+92>>2]=0;f[m+96>>2]=0;f[m+100>>2]=0;j=m+8|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));k=f[c+8>>2]|0;f[l>>2]=2384;j=l+4|0;c=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=k;f[j>>2]=c;c=((f[c+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;Td(l+8|0,c,i);Oa[f[(f[l>>2]|0)+8>>2]&127](l);f[m>>2]=f[j>>2];td(m+4|0,l)|0;f[m+36>>2]=k;f[m+40>>2]=d;f[m+44>>2]=e;f[m+48>>2]=h;xd(h,m);f[a>>2]=g;f[l>>2]=2384;e=f[l+20>>2]|0;if(e|0)Em(e);e=f[l+8>>2]|0;if(!e){_e(m);u=n;return}Em(e);_e(m);u=n;return}function zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Tg((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else $e(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{g=a;f[r>>2]=d;h=g+(i*116|0)+108|0;e=f[h>>2]|0;if(e>>>0<(f[g+(i*116|0)+112>>2]|0)>>>0){f[e>>2]=d;f[h>>2]=e+4}else{$e(g+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Tg((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else $e(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{e=a;f[r>>2]=d;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=d;f[h>>2]=g+4}else{$e(e+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Bc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ee(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Cc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=he(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Dc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ie(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Ec(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=je(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Fc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ke(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Gc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=me(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Hc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ne(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Ic(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=_i(32)|0;hj(d);h=a+64|0;g=f[h>>2]|0;f[h>>2]=d;if(g){d=f[g>>2]|0;if(d|0){e=g+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(g);d=f[h>>2]|0}Lg(a,d,0,0,0,0);d=a}else d=a;if(!(qf(d,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))ad(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);i=f[c+88>>2]|0;if(!i){a=a+88|0;d=f[a>>2]|0;f[a>>2]=0;if(!d)return;e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d);return}l=_i(40)|0;f[l>>2]=f[i>>2];e=l+8|0;g=i+8|0;f[e>>2]=0;j=l+12|0;f[j>>2]=0;d=l+16|0;f[d>>2]=0;c=i+12|0;h=(f[c>>2]|0)-(f[g>>2]|0)|0;if(h|0){if((h|0)<0)ql(e);k=_i(h)|0;f[j>>2]=k;f[e>>2]=k;f[d>>2]=k+h;e=f[g>>2]|0;d=(f[c>>2]|0)-e|0;if((d|0)>0){Ld(k|0,e|0,d|0)|0;f[j>>2]=k+d}}g=l+24|0;k=i+24|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];a=a+88|0;g=f[a>>2]|0;f[a>>2]=l;if(!g)return;d=f[g+8>>2]|0;if(d|0){e=g+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(g);return}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+32|0;n=t+20|0;m=t+16|0;s=t;r=c+24|0;k=b[r>>0]|0;o=k<<24>>24;l=f[a+80>>2]|0;h=X(l,o)|0;f[s>>2]=f[669];f[s+4>>2]=f[670];f[s+8>>2]=f[671];f[s+12>>2]=f[672];g=d+4|0;e=f[g>>2]|0;a=f[d>>2]|0;i=e-a>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(j=a+(h<<2)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-4-j|0)>>>2)<<2)}else Oe(d,h-i|0);if((l|0)<=0){s=1;u=t;return s|0}i=c+84|0;h=c+68|0;if(k<<24>>24<=0){e=0;while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(e<<2)>>2]|0;else a=e;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(ab(c,n,k,s)|0)){a=0;e=18;break}e=e+1|0;if((e|0)>=(l|0)){a=1;e=18;break}}if((e|0)==18){u=t;return a|0}}else{p=0;q=0}while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(q<<2)>>2]|0;else a=q;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(ab(c,n,k,s)|0)){a=0;e=18;break}a=f[d>>2]|0;e=p;g=0;while(1){f[a+(e<<2)>>2]=f[s+(g<<2)>>2];g=g+1|0;if((g|0)==(o|0))break;else e=e+1|0}q=q+1|0;if((q|0)>=(l|0)){a=1;e=18;break}else p=o+p|0}if((e|0)==18){u=t;return a|0}return 0}function Lc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;m=o+12|0;l=o;d=b*3|0;f[m>>2]=0;n=m+4|0;f[n>>2]=0;f[m+8>>2]=0;do if(d)if(d>>>0>1073741823){ql(m);o=Ha(4)|0;gm(o);sa(o|0,840,80)}else{j=b*12|0;c=_i(j)|0;f[m>>2]=c;k=c+(d<<2)|0;f[m+8>>2]=k;vf(c|0,0,j|0)|0;f[n>>2]=k;break}else c=0;while(0);if(xf(d,1,f[a+32>>2]|0,c)|0)if(!b)a=1;else{h=a+44|0;i=l+4|0;j=l+8|0;e=0;g=0;k=0;while(1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;d=f[m>>2]|0;p=f[d+(k<<2)>>2]|0;c=p>>>1;c=((p&1|0)==0?c:0-c|0)+g|0;f[l>>2]=c;p=f[d+(k+1<<2)>>2]|0;a=p>>>1;c=((p&1|0)==0?a:0-a|0)+c|0;f[i>>2]=c;d=f[d+(k+2<<2)>>2]|0;a=d>>>1;g=((d&1|0)==0?a:0-a|0)+c|0;f[j>>2]=g;c=f[h>>2]|0;a=c+100|0;d=f[a>>2]|0;if((d|0)==(f[c+104>>2]|0))Je(c+96|0,l);else{f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];f[d+8>>2]=f[l+8>>2];f[a>>2]=(f[a>>2]|0)+12}e=e+1|0;if(e>>>0>=b>>>0){a=1;break}else k=k+3|0}}else a=0;c=f[m>>2]|0;if(!c){u=o;return a|0}d=f[n>>2]|0;if((d|0)!=(c|0))f[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c);u=o;return a|0}function Mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+32|0;i=m+16|0;e=m;g=0;do{Pf(i,b)|0;c=f[i>>2]|0;if(c|0){d=a+60+(g*12|0)|0;rc(d,c,0);$l(e);dd(e,b)|0;if(f[i>>2]|0){c=0;do{n=Tg(e)|0;l=(f[d>>2]|0)+(c>>>5<<2)|0;k=1<<(c&31);j=f[l>>2]|0;f[l>>2]=n?j|k:j&~k;c=c+1|0}while(c>>>0<(f[i>>2]|0)>>>0)}Jm(e)}g=g+1|0}while((g|0)<4);k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;i=lk(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&j>>>0>>0){n=0;u=m;return n|0}g=f[b>>2]|0;b=g+e|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;n=l;f[n>>2]=i;f[n+4>>2]=d;d=lk(e|0,c|0,8,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0){n=0;u=m;return n|0}c=g+i|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;n=l;f[n>>2]=d;f[n+4>>2]=e;if((b|0)>(c|0)){n=0;u=m;return n|0}f[a+12>>2]=b;f[a+16>>2]=c;n=c+(1-b)|0;f[a+20>>2]=n;c=(n|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(n&1|0){n=1;u=m;return n|0}f[d>>2]=c+-1;n=1;u=m;return n|0}function Nc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Fa(12505,12521,59,12612);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Fa(12622,12521,60,12612);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ra[f[(f[b>>2]|0)+36>>2]&127](b)|0;k=Va[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Va[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+44>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;Mb(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+44>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;Lb(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;c=h;g=_i(52)|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);d=g+20|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;n[g+36>>2]=$(1.0);f[g+40>>2]=0;f[g+44>>2]=0;f[g+48>>2]=0;d=g;cm(e);if(!(Id(e,f[b+32>>2]|0,g)|0)){f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;dg(c,12002,26);f[a>>2]=-1;th(a+4|0,c);pk(c);d=g+40|0;c=f[d>>2]|0;if(c|0){e=g+44|0;b=f[e>>2]|0;if((b|0)!=(c|0)){do{a=b+-4|0;f[e>>2]=a;b=f[a>>2]|0;f[a>>2]=0;if(b|0){kf(b);Em(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}Em(c)}kf(g);Em(g);u=h;return}e=(f[b+4>>2]|0)+4|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0){d=g+40|0;c=f[d>>2]|0;if(c|0){e=g+44|0;b=f[e>>2]|0;if((b|0)!=(c|0)){do{i=b+-4|0;f[e>>2]=i;b=f[i>>2]|0;f[i>>2]=0;if(b|0){kf(b);Em(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}Em(c)}kf(g);Em(g)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=h;return}function Pc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Xd(j,m-l|0,2348);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)Fa(12788,12706,64,12783);else if((e|0)==12)Fa(10882,10901,89,10995);else if((e|0)==14)return d|0;return 0}function Qc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;k=l;h=a+8|0;g=f[h>>2]|0;j=a+4|0;d=f[j>>2]|0;if(((g-d|0)/116|0)>>>0>=c>>>0){do{f[d>>2]=-1;ji(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[j>>2]|0)+116|0;f[j>>2]=d;c=c+-1|0}while((c|0)!=0);u=l;return}e=f[a>>2]|0;i=((d-e|0)/116|0)+c|0;if(i>>>0>37025580){ql(a);e=f[a>>2]|0;g=f[h>>2]|0;d=f[j>>2]|0}j=(g-e|0)/116|0;g=j<<1;g=j>>>0<18512790?(g>>>0>>0?i:g):37025580;d=(d-e|0)/116|0;f[k+12>>2]=0;f[k+16>>2]=a+8;do if(g)if(g>>>0>37025580){l=Ha(4)|0;gm(l);sa(l|0,840,80)}else{e=_i(g*116|0)|0;break}else e=0;while(0);f[k>>2]=e;d=e+(d*116|0)|0;h=k+8|0;f[h>>2]=d;f[k+4>>2]=d;f[k+12>>2]=e+(g*116|0);do{f[d>>2]=-1;ji(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[h>>2]|0)+116|0;f[h>>2]=d;c=c+-1|0}while((c|0)!=0);Jb(a,k);Ve(k);u=l;return}function Rc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Xd(j,m-l|0,2348);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Fa(12788,12706,64,12783);else if((e|0)==12)Fa(10882,10901,89,10995);else if((e|0)==13)return d|0;return 0}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Hc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=kd(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<16384){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>12)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Em(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Em(b);u=n;return g|0}function Tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Xd(j,m-l|0,2348);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Fa(12788,12706,64,12783);else if((e|0)==12)Fa(10882,10901,89,10995);else if((e|0)==13)return d|0;return 0}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)li(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){ql(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){ql(a);c=Ha(4)|0;gm(c);sa(c|0,840,80)}h=_i(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)li(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){ql(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){ql(a);c=Ha(4)|0;gm(c);sa(c|0,840,80)}h=_i(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function Wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;l=r+20|0;k=r+16|0;q=r;p=c+24|0;e=b[p>>0]|0;m=e<<24>>24;h=f[a+80>>2]|0;j=X(h,m)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;Vc(d,0,0+(j<<2)|0);if((h|0)<=0){q=1;u=r;return q|0}j=c+84|0;i=c+68|0;if(e<<24>>24<=0){e=0;while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(e<<2)>>2]|0;else a=e;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(kb(c,l,g,q)|0)){a=0;e=13;break}e=e+1|0;if((e|0)>=(h|0)){a=1;e=13;break}}if((e|0)==13){u=r;return a|0}}else{n=0;o=0}while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(o<<2)>>2]|0;else a=o;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(kb(c,l,g,q)|0)){a=0;e=13;break}a=f[d>>2]|0;e=n;g=0;while(1){f[a+(e<<2)>>2]=f[q+(g<<2)>>2];g=g+1|0;if((g|0)==(m|0))break;else e=e+1|0}o=o+1|0;if((o|0)>=(h|0)){a=1;e=13;break}else n=m+n|0}if((e|0)==13){u=r;return a|0}return 0}function Xc(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b[(f[a+8>>2]|0)+24>>0]|0;i=Bm(d>>>0>1073741823?-1:d<<2)|0;j=a+28|0;c=f[j>>2]|0;f[j>>2]=i;if(c|0)Cm(c);i=a+4|0;g=f[(f[i>>2]|0)+32>>2]|0;d=d<<2;n=g+8|0;l=f[n>>2]|0;n=f[n+4>>2]|0;e=g+16|0;k=e;c=f[k>>2]|0;k=lk(c|0,f[k+4>>2]|0,d|0,0)|0;m=I;if((n|0)<(m|0)|(n|0)==(m|0)&l>>>0>>0){n=0;return n|0}Ld(f[j>>2]|0,(f[g>>2]|0)+c|0,d|0)|0;c=e;c=lk(f[c>>2]|0,f[c+4>>2]|0,d|0,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=(f[i>>2]|0)+32|0;c=f[e>>2]|0;k=c+8|0;m=f[k>>2]|0;k=f[k+4>>2]|0;g=c+16|0;n=g;d=f[n>>2]|0;n=lk(d|0,f[n+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&m>>>0>>0){n=0;return n|0}n=a+32|0;c=(f[c>>2]|0)+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[n>>0]=c;b[n+1>>0]=c>>8;b[n+2>>0]=c>>16;b[n+3>>0]=c>>24;n=g;n=lk(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;c=g;f[c>>2]=n;f[c+4>>2]=I;c=f[e>>2]|0;n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}c=b[(f[c>>2]|0)+d>>0]|0;m=lk(d|0,e|0,1,0)|0;n=g;f[n>>2]=m;f[n+4>>2]=I;if((c&255)>31){n=0;return n|0}f[a+24>>2]=c&255;n=1;return n|0}function Yc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;g=f[l>>2]|0;e=g;if(((d-g|0)/12|0)>>>0>=b>>>0){vf(g|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}c=f[a>>2]|0;h=((g-c|0)/12|0)+b|0;if(h>>>0>357913941){ql(a);g=f[l>>2]|0;c=f[a>>2]|0;e=g;d=f[m>>2]|0}k=c;d=(d-c|0)/12|0;i=d<<1;i=d>>>0<178956970?(i>>>0>>0?h:i):357913941;d=(g-c|0)/12|0;do if(i)if(i>>>0>357913941){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{h=_i(i*12|0)|0;break}else h=0;while(0);g=h+(d*12|0)|0;d=g;j=h+(i*12|0)|0;vf(g|0,0,b*12|0)|0;h=g+(b*12|0)|0;if((e|0)==(k|0))i=c;else{c=d;do{b=g+-12|0;i=e;e=e+-12|0;f[b>>2]=0;d=g+-8|0;f[d>>2]=0;f[g+-4>>2]=0;f[b>>2]=f[e>>2];b=i+-8|0;f[d>>2]=f[b>>2];i=i+-4|0;f[g+-4>>2]=f[i>>2];f[i>>2]=0;f[b>>2]=0;f[e>>2]=0;g=c+-12|0;c=g}while((e|0)!=(k|0));d=c;i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=j;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);Em(g)}}while((e|0)!=(h|0));if(!i)return;Em(i);return}function Zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=2336;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)ql(h);c=((c+-1|0)>>>5)+1|0;o=_i(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];nd(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)ql(h);o=((c+-1|0)>>>5)+1|0;a=_i(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];nd(h,k,m);u=n;return}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823){ql(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;j=d-e|0;d=j>>1;d=j>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(d>>>0>1073741823){ql(a);c=Ha(4)|0;gm(c);sa(c|0,840,80)}h=_i(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=2384;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)ql(h);c=((c+-1|0)>>>5)+1|0;o=_i(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];nd(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)ql(h);o=((c+-1|0)>>>5)+1|0;a=_i(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];nd(h,k,m);u=n;return}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[i>>2]|0}else c=0;l=d-c|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){ql(a);b=Ha(4)|0;gm(b);sa(b|0,840,80)}e=_i(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Ld(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Ld(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;e=f[k>>2]|0;if(d-e>>2>>>0>=b>>>0){vf(e|0,0,b<<2|0)|0;f[k>>2]=e+(b<<2);u=n;return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[l>>2]|0;e=f[k>>2]|0}i=d-c|0;j=i>>1;g=i>>2>>>0<536870911?(j>>>0>>0?g:j):1073741823;c=e-c>>2;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(g)if(g>>>0>1073741823){n=Ha(4)|0;gm(n);sa(n|0,840,80)}else{d=_i(g<<2)|0;break}else d=0;while(0);f[m>>2]=d;c=d+(c<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=c;j=m+12|0;f[j>>2]=d+(g<<2);vf(c|0,0,b<<2|0)|0;f[i>>2]=c+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];ze(m);u=n;return}function cd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=u;u=u+16|0;g=n;e=c+8|0;o=e;q=f[o+4>>2]|0;m=c+16|0;p=m;d=f[p>>2]|0;p=f[p+4>>2]|0;if(!((q|0)>(p|0)|((q|0)==(p|0)?(f[o>>2]|0)>>>0>d>>>0:0))){q=0;u=n;return q|0}b[a+12>>0]=b[(f[c>>2]|0)+d>>0]|0;p=m;p=lk(f[p>>2]|0,f[p+4>>2]|0,1,0)|0;q=m;f[q>>2]=p;f[q+4>>2]=I;a:do if((Pf(g,c)|0?(j=f[g>>2]|0,q=e,l=m,k=f[l>>2]|0,l=f[l+4>>2]|0,q=Dj(f[q>>2]|0,f[q+4>>2]|0,k|0,l|0)|0,p=I,!(0>(p|0)|0==(p|0)&j>>>0>q>>>0)):0)?(i=(f[c>>2]|0)+k|0,(j|0)>=1):0){f[a>>2]=i;e=j+-1|0;d=i+e|0;switch((h[d>>0]|0)>>>6&3){case 0:{f[a+4>>2]=e;d=b[d>>0]&63;break}case 1:{if((j|0)<2){d=0;break a}f[a+4>>2]=j+-2;d=i+j+-2|0;d=(h[d+1>>0]|0)<<8&16128|(h[d>>0]|0);break}case 2:{if((j|0)<3){d=0;break a}f[a+4>>2]=j+-3;d=i+j+-3|0;d=(h[d+1>>0]|0)<<8|(h[d>>0]|0)|(h[d+2>>0]|0)<<16&4128768;break}default:{d=0;break a}}q=d+4096|0;f[a+8>>2]=q;if(q>>>0<=1048575){q=lk(k|0,l|0,j|0,0)|0;d=m;f[d>>2]=q;f[d+4>>2]=I;d=1}else d=0}else d=0;while(0);q=d;u=n;return q|0}function ed(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=Ka,f=Ka,g=0.0,h=Ka,i=Ka,j=0.0,k=0.0,l=0.0,m=0.0;if(!(b>=$(0.0)))Fa(7017,6870,191,7031);if(!(c>=$(0.0)))Fa(7060,6870,192,7031);if(!(b<=$(1.0)))Fa(7074,6870,193,7031);if(!(c<=$(1.0)))Fa(7088,6870,194,7031);f=$(b+c);e=$(b-c);if(!(e<=$(.5))|(!(e>=$(-.5))|(!(f>=$(.5))|!(f<=$(1.5))))){do if(!(f<=$(.5))){if(f>=$(1.5)){e=$($(1.5)-c);c=$($(1.5)-b);break}if(!(e<=$(-.5))){e=$(c+$(.5));c=$(b+$(-.5));break}else{e=$(c+$(-.5));c=$(b+$(.5));break}}else{e=$($(.5)-c);c=$($(.5)-b)}while(0);b=e;i=$(e-c);f=$(c+e);g=-1.0}else{i=e;g=1.0}h=$(+b*2.0+-1.0);b=$(+c*2.0+-1.0);l=+f*2.0;j=l+-1.0;l=3.0-l;m=+i*2.0;k=m+1.0;m=1.0-m;k=m>2]=$(0.0);h=$(0.0);i=$(0.0);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}else{i=$($(1.0)/$(L($(e))));f=$(c*i);n[d>>2]=f;h=$(h*i);i=$(b*i);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}}function fd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+80|0;l=m;j=m+60|0;k=m+40|0;g=l;h=d;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Bb(a,l,j);if(f[a>>2]|0){l=l+24|0;Jm(l);u=m;return}h=a+4|0;pk(h);if((b[j+7>>0]|0)!=1){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,10709,20);f[a>>2]=-1;th(h,k);pk(k);l=l+24|0;Jm(l);u=m;return}Ke(k,b[j+8>>0]|0);g=f[k>>2]|0;if(!g){j=k+16|0;g=f[j>>2]|0;f[j>>2]=0;fi(a,g,c,d,e);if(!(f[a>>2]|0)){pk(h);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Oa[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;th(h,k+4|0)}c=k+16|0;g=f[c>>2]|0;f[c>>2]=0;if(g|0)Oa[f[(f[g>>2]|0)+4>>2]&127](g);pk(k+4|0);l=l+24|0;Jm(l);u=m;return}function gd(a,c){a=a|0;c=c|0;var d=0,e=Ka,g=Ka,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Ka,x=Ka,y=0,z=0;v=u;u=u+16|0;p=v;q=f[a+24>>2]|0;r=a+8|0;d=b[(f[r>>2]|0)+24>>0]|0;o=d<<24>>24;s=o<<2;t=Bm(o>>>0>1073741823?-1:o<<2)|0;cl(p);if(!(Pi(p,$(n[a+32>>2]),(1<>2]|0;m=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;if(!c){c=1;Cm(t);u=v;return c|0}q=p+4|0;l=a+28|0;if(d<<24>>24>0){h=0;i=0;j=0}else{a=0;d=0;while(1){Ld((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+d|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(c|0)){a=1;break}else d=d+s|0}Cm(t);u=v;return a|0}while(1){a=f[l>>2]|0;e=$(n[q>>2]);g=$(n[p>>2]);d=0;k=j;while(1){z=f[m+(k<<2)>>2]|0;y=(z|0)<0;w=$(e*$((y?0-z|0:z)|0));x=$(-w);w=$(g*(y?x:w));w=$($(n[a+(d<<2)>>2])+w);n[t+(d<<2)>>2]=w;d=d+1|0;if((d|0)==(o|0))break;else k=k+1|0}Ld((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+i|0,t|0,s|0)|0;h=h+1|0;if((h|0)==(c|0)){a=1;break}else{i=i+s|0;j=o+j|0}}Cm(t);u=v;return a|0}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=f[b>>2]|0;l=f[k>>2]|0;e=f[a+4>>2]|0;b=f[k+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(i)g=h&b;else g=(b>>>0)%(e>>>0)|0;c=(f[a>>2]|0)+(g<<2)|0;j=f[c>>2]|0;while(1){b=f[j>>2]|0;if((b|0)==(k|0))break;else j=b}if((j|0)!=(a+8|0)){b=f[j+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;d=18}else d=11}else d=11;do if((d|0)==11){if(l|0){b=f[l+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;b=l;d=19;break}}f[c>>2]=0;c=f[k>>2]|0;d=18}while(0);if((d|0)==18){b=c;if(c)d=19}if((d|0)==19){c=f[c+4>>2]|0;if(i)c=c&h;else c=(c>>>0)%(e>>>0)|0;if((c|0)!=(g|0)){f[(f[a>>2]|0)+(c<<2)>>2]=j;b=f[k>>2]|0}}f[j>>2]=b;f[k>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!k)return l|0;b=f[k+20>>2]|0;if(b|0){c=k+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}pk(k+8|0);Em(k);return l|0}function id(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;c=f[d>>2]|0;b=f[g>>2]|0;i=c-b>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=b+(h<<2)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2)}else Xd(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];ob(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];ob(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+112|0;h=k+96|0;j=k+16|0;i=k+4|0;g=k;c=j+76|0;d=j;e=d+76|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=-1073741824;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;f[g>>2]=i;f[h>>2]=f[g>>2];if(ac(j,a,h)|0){g=f[i>>2]|0;Vc(b,g,g+((f[e>>2]|0)-g>>2<<2)|0);g=f[j+68>>2]|0}else g=0;c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+56>>2]|0;if(c|0)Em(c);c=f[j+32>>2]|0;if(c|0){e=j+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+20>>2]|0;if(c|0){e=j+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+8>>2]|0;if(c|0){e=j+12|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}j=j+4|0;c=f[j>>2]|0;f[j>>2]=0;if(!c){u=k;return g|0}Lf(c);Em(c);u=k;return g|0}function kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;d=l;if(!(nf(d,c)|0)){a=0;u=l;return a|0}g=d;j=f[g>>2]|0;g=f[g+4>>2]|0;m=c+8|0;i=c+16|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;m=Dj(f[m>>2]|0,f[m+4>>2]|0,d|0,e|0)|0;n=I;if(g>>>0>n>>>0|(g|0)==(n|0)&j>>>0>m>>>0){n=0;u=l;return n|0}c=(f[c>>2]|0)+d|0;m=lk(d|0,e|0,j|0,g|0)|0;n=i;f[n>>2]=m;f[n+4>>2]=I;if((j|0)<1){n=0;u=l;return n|0}f[a+40>>2]=c;e=j+-1|0;d=c+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;k=b[d>>0]&63;break}case 1:if((j|0)<2){n=0;u=l;return n|0}else{f[a+44>>2]=j+-2;k=c+j+-2|0;k=(h[k+1>>0]|0)<<8&16128|(h[k>>0]|0);break a}case 2:if((j|0)<3){n=0;u=l;return n|0}else{f[a+44>>2]=j+-3;k=c+j+-3|0;k=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=j+-4;k=c+j+-4|0;k=(h[k+2>>0]|0)<<16|(h[k+3>>0]|0)<<24&1056964608|(h[k+1>>0]|0)<<8|(h[k>>0]|0);break}default:{}}while(0);n=k+16384|0;f[a+48>>2]=n;n=n>>>0<4194304;u=l;return n|0}function ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Qg(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Qg(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Qg(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)li(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Ld(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);Em(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[h>>2]|0}else c=0;m=d-c|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){ql(a);b=Ha(4)|0;gm(b);sa(b|0,840,80)}e=_i(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Ld(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];jc(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=c>>>5;li(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;s=v;e=f[a+40>>2]|0;j=f[a+44>>2]|0;if((e|0)==(j|0)){t=0;u=v;return t|0}k=s+11|0;m=s+4|0;l=d+11|0;n=d+4|0;a=e;a:while(1){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;do if(wf(f[a>>2]|0,c,s)|0?(p=b[k>>0]|0,q=p<<24>>24<0,p=p&255,o=q?f[m>>2]|0:p,i=b[l>>0]|0,r=i<<24>>24<0,(o|0)==((r?f[n>>2]|0:i&255)|0)):0){g=f[s>>2]|0;i=q?g:s;e=r?f[d>>2]|0:d;h=(o|0)==0;if(q){if(h)break a;if(!(xh(i,e,o)|0))break a;else break}if(h)break a;if((g&255)<<24>>24==(b[e>>0]|0)){g=p;h=s;do{g=g+-1|0;h=h+1|0;if(!g)break a;e=e+1|0}while((b[h>>0]|0)==(b[e>>0]|0))}}while(0);pk(s);a=a+4|0;if((a|0)==(j|0)){a=0;t=14;break}}if((t|0)==14){u=v;return a|0}t=f[a>>2]|0;pk(s);u=v;return t|0}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)Fa(12367,12379,110,12471);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))le(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){$e(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(b);u=j;return}function qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;Em(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0){ql(a);e=f[i>>2]|0;g=f[a>>2]|0}else g=0;k=e-g|0;g=k<<1;g=k>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)ql(a);e=_i(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)li(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;e=f[n>>2]|0;m=a+4|0;d=f[m>>2]|0;if(e-d>>2>>>0>=b>>>0){vf(d|0,0,b<<2|0)|0;f[m>>2]=d+(b<<2);return}c=f[a>>2]|0;h=(d-c>>2)+b|0;if(h>>>0>1073741823){ql(a);g=f[a>>2]|0;d=f[m>>2]|0;e=f[n>>2]|0}else g=c;c=d;l=g;k=e-g|0;j=k>>1;h=k>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;j=d-g>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;vf(e|0,0,b<<2|0)|0;d=e;k=i+(h<<2)|0;h=i+(j+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));g=f[a>>2]|0;c=f[m>>2]|0}f[a>>2]=d;f[m>>2]=h;f[n>>2]=k;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;Em(g);return}function sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;j=d+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;k=d+16|0;e=k;g=f[e>>2]|0;e=f[e+4>>2]|0;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>g>>>0){h=b[(f[d>>2]|0)+g>>0]|0;g=lk(g|0,e|0,1,0)|0;e=I;o=k;f[o>>2]=g;f[o+4>>2]=e;if(h<<24>>24!=-2)l=3}else{h=0;l=3}if((l|0)==3){if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>g>>>0){o=b[(f[d>>2]|0)+g>>0]|0;l=lk(g|0,e|0,1,0)|0;e=k;f[e>>2]=l;f[e+4>>2]=I;e=o}else e=0;Wa[f[(f[a>>2]|0)+40>>2]&7](m,a,h<<24>>24,e<<24>>24);o=a+20|0;l=f[m>>2]|0;f[m>>2]=0;e=f[o>>2]|0;f[o>>2]=l;if(e){Oa[f[(f[e>>2]|0)+4>>2]&127](e);e=f[m>>2]|0;f[m>>2]=0;if(e|0)Oa[f[(f[e>>2]|0)+4>>2]&127](e)}else f[m>>2]=0}e=f[a+20>>2]|0;if(e|0?!(Va[f[(f[a>>2]|0)+28>>2]&127](a,e)|0):0){o=0;u=n;return o|0}o=Ma[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0;u=n;return o|0}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;f[a+4>>2]=f[b+4>>2];g=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;h=b+12|0;c=f[h>>2]|0;if(!c)c=0;else{e=a+16|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[g>>2]|0;if(d){Em(d);f[g>>2]=0;f[e>>2]=0;f[a+12>>2]=0;c=f[h>>2]|0}if((c|0)<0)ql(g);d=((c+-1|0)>>>5)+1|0;c=_i(d<<2)|0;f[g>>2]=c;f[a+12>>2]=0;f[e>>2]=d;d=f[h>>2]|0}else{d=c;c=f[g>>2]|0}li(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[h>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){Em(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)ql(h);d=((c+-1|0)>>>5)+1|0;c=_i(d<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[e>>2]=d;d=f[g>>2]|0}else{d=c;c=f[h>>2]|0}li(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((g-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;h=((d-e|0)/12|0)+b|0;if(h>>>0>357913941){ql(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=(g-e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0>>0?h:g):357913941;d=(d-e|0)/12|0;do if(g)if(g>>>0>357913941){k=Ha(4)|0;gm(k);sa(k|0,840,80)}else{e=_i(g*12|0)|0;break}else e=0;while(0);i=e+(d*12|0)|0;h=e+(g*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ld(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;Em(d);return}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+20|0;if(Yb(a,b)|0){e=0;return e|0}d=wb(a,b)|0;b=f[c>>2]|0;f[c>>2]=0;e=f[d>>2]|0;f[d>>2]=b;if(!e){e=1;return e|0}a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;Ie(d+8|0);Em(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Em(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}pk(d+8|0);Em(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Em(a);Em(e);e=1;return e|0}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;c=_i(64)|0;j=_i(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=2556;f[j+8>>2]=h;f[k>>2]=j;wh(c,k);j=c;if((b|0)>=0){h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){rd(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c)a=1;else{Oa[f[(f[c>>2]|0)+4>>2]&127](c);a=1}}else{Oa[f[(f[c>>2]|0)+4>>2]&127](c);a=0}c=f[k>>2]|0;f[k>>2]=0;if(!c){u=l;return a|0}Oa[f[(f[c>>2]|0)+4>>2]&127](c);u=l;return a|0}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];td(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{ad(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);ad(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);ad(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];md(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+80|0;g=j;i=j+64|0;Kh(g);e=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Yh(5)|0,d)|0;Of(g,e,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=_i(96)|0;Dh(h,g);b[h+84>>0]=1;d=f[h+68>>2]|0;g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Gf(h,c)|0;f[i>>2]=h;lf(a,i);h=f[i>>2]|0;f[i>>2]=0;if(!h){u=j;return}i=h+88|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}i=h+64|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(h);u=j;return}function zd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2660;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}Ce(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){kf(c);Em(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b)}kf(e);Em(e);return}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)Fa(12681,12706,63,12783);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))Fa(12788,12706,64,12783);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))$e(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){$e(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;d=vh(c,0)|0;if(!d){f[a>>2]=0;u=n;return}l=c+96|0;e=c+100|0;Tf(m,((f[e>>2]|0)-(f[l>>2]|0)|0)/12|0);c=f[l>>2]|0;e=(f[e>>2]|0)-c|0;if((e|0)>0){l=d+68|0;k=f[m>>2]|0;j=(b[d+84>>0]|0)==0;i=(e|0)/12|0;h=0;do{d=c+(h*12|0)|0;if(j){o=f[l>>2]|0;e=o+(f[c+(h*12|0)+8>>2]<<2)|0;g=o+(f[c+(h*12|0)+4>>2]<<2)|0;d=o+(f[d>>2]<<2)|0}else{e=c+(h*12|0)+8|0;g=c+(h*12|0)+4|0}g=f[g>>2]|0;o=f[e>>2]|0;f[k+(h*12|0)>>2]=f[d>>2];f[k+(h*12|0)+4>>2]=g;f[k+(h*12|0)+8>>2]=o;h=h+1|0}while((h|0)<(i|0))}zg(a,m);e=f[m>>2]|0;if(e|0){d=m+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0);Em(e)}u=n;return}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;nc(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=c>>>5;li(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{e=_i(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){kf(d);Em(d)}}while((c|0)!=(e|0));if(!g)return;Em(g);return}function Ed(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;pd(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){$d(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=a+4|0;e=f[a>>2]|0;if(!e){f[c>>2]=a;n=a;return n|0}l=b[d+11>>0]|0;k=l<<24>>24<0;l=k?f[d+4>>2]|0:l&255;k=k?f[d>>2]|0:d;while(1){g=e+16|0;d=b[g+11>>0]|0;i=d<<24>>24<0;d=i?f[e+20>>2]|0:d&255;h=d>>>0>>0;a=h?d:l;if((a|0)!=0?(n=xh(k,i?f[g>>2]|0:g,a)|0,(n|0)!=0):0)if((n|0)<0)j=7;else j=9;else if(l>>>0>>0)j=7;else j=9;if((j|0)==7){a=f[e>>2]|0;if(!a){j=8;break}}else if((j|0)==9){j=0;a=l>>>0>>0?l:d;if((a|0)!=0?(m=xh(i?f[g>>2]|0:g,k,a)|0,(m|0)!=0):0){if((m|0)>=0){j=16;break}}else j=11;if((j|0)==11?(0,!h):0){j=16;break}d=e+4|0;a=f[d>>2]|0;if(!a){j=15;break}}e=a}if((j|0)==8){f[c>>2]=e;n=e;return n|0}else if((j|0)==15){f[c>>2]=e;n=d;return n|0}else if((j|0)==16){f[c>>2]=e;n=c;return n|0}return 0}function Gd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=f[c>>2]|0;h=f[a>>2]|0;j=h+(e>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(e&31);j=f[a+64>>2]|0;g=(e|0)<0;c=e+1|0;if(!g?(d=((c|0)%3|0|0)==0?e+-2|0:c,(d|0)>=0):0)c=f[(f[j>>2]|0)+(d<<2)>>2]|0;else c=-1073741824;i=a+12|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g){j=(f[i>>2]|0)+402653184|0;f[j>>2]=f[j>>2]|1;return}c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g)return;d=f[(f[j+12>>2]|0)+(e<<2)>>2]|0;if((d|0)<=-1)return;b[a+24>>0]=0;c=h+(d>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(d&31);c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;a=(f[i>>2]|0)+(c>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;j=(f[i>>2]|0)+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);return}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i+4|0;h=i;b=f[b>>2]|0;if((b|0)<0){a=-1073741824;u=i;return a|0}d=a+4|0;c=f[d>>2]|0;e=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((e|0)<0){a=-1073741824;u=i;return a|0}k=b+1|0;f[h>>2]=((k|0)%3|0|0)==0?b+-2|0:k;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=Hg(g,c,k)|0;f[h>>2]=(((e>>>0)%3|0|0)==0?2:-1)+e;j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];if((k|0)!=(Hg(g,j,c)|0)){k=-1073741824;u=i;return k|0}f[h>>2]=b+(((b>>>0)%3|0|0)==0?2:-1);j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];c=Hg(g,j,c)|0;j=e+1|0;f[h>>2]=((j|0)%3|0|0)==0?e+-2|0:j;j=f[d>>2]|0;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=(c|0)!=(Hg(g,j,k)|0);k=k?-1073741824:e;u=i;return k|0}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+8|0;g=j+4|0;e=j;if(!c){i=0;u=j;return i|0}f[a>>2]=b;f[h>>2]=0;Pf(h,b)|0;a:do if(!(f[h>>2]|0))i=8;else{d=0;while(1){Pf(g,f[a>>2]|0)|0;b=_i(44)|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[b+16>>2]=$(1.0);k=b+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[b+36>>2]=$(1.0);f[b+40>>2]=f[g>>2];if(!(cc(a,b)|0))break;f[e>>2]=b;og(c,e)|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){kf(b);Em(b)}d=d+1|0;if(d>>>0>=(f[h>>2]|0)>>>0){i=8;break a}}kf(b);Em(b);b=0}while(0);if((i|0)==8)b=cc(a,c)|0;k=b;u=j;return k|0}function Jd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+4|0;l=n;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(8225,8468,70,8632);h=c+8|0;if(!(f[h>>2]|0))Fa(8225,8468,70,8632);i=f[(f[(f[c+16>>2]|0)+28>>2]|0)+(f[d>>2]<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=i>>>0){pl(d);c=f[d>>2]|0;d=f[g>>2]|0;if(!d)Fa(8225,8468,62,8653);else{k=d;j=c}}else{k=e;j=c}d=f[h>>2]|0;if(!d)Fa(8225,8468,62,8653);d=f[d+(f[j+(i<<2)>>2]<<2)>>2]|0;if(!(b[k+84>>0]|0))d=f[(f[k+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[l>>2]=d;j=b[k+24>>0]|0;f[m>>2]=f[l>>2];eb(k,m,j,a)|0;u=n;return}function Kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=xh(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=xh(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Aa(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Md(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}g=a+184|0;b=f[g>>2]|0;if(b|0){h=a+188|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Em(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Em(b)}b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}h=a+136|0;c=f[h>>2]|0;f[h>>2]=0;if(!c){h=a+120|0;Jm(h);h=a+80|0;Jm(h);h=a+64|0;Jm(h);a=a+24|0;Jm(a);return}d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(c|0))}Cm(d);h=a+120|0;Jm(h);h=a+80|0;Jm(h);h=a+64|0;Jm(h);a=a+24|0;Jm(a);return}function Nd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];sb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];sb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Od(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,59,12612);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Fa(12622,12521,60,12612);g=f[i+(c<<2)>>2]|0;do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Nc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_i(44)|0;f[b>>2]=1176;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);f[b>>2]=1232;g=b}f[a>>2]=g;return}function Pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+60|0;c=f[i>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+48;if(!(Ra[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}g=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((g|0)>0){h=0;while(1){c=(Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;c=f[c>>2]|0;e=Va[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;if((e|0)<=-1){d=7;break}d=f[c+8>>2]|0;if(((f[c+12>>2]|0)-d>>2|0)<=(e|0)){d=9;break}c=f[i>>2]|0;h=h+1|0;if(!(Va[f[(f[c>>2]|0)+8>>2]&127](c,f[d+(e<<2)>>2]|0)|0)){c=0;d=14;break}if((h|0)>=(g|0))break a}if((d|0)==7)Fa(12505,12521,67,12612);else if((d|0)==9)Fa(12622,12521,68,12612);else if((d|0)==14)return c|0}while(0);if(!(Va[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Ra[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=wk(ya(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=wk(ya(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(8225,8468,70,8632);i=c+8|0;if(!(f[i>>2]|0))Fa(8225,8468,70,8632);d=f[d>>2]|0;if((d|0)<0)h=-1073741824;else h=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;c=f[c+20>>2]|0;d=f[c>>2]|0;if((f[c+4>>2]|0)-d>>2>>>0<=h>>>0){pl(c);e=f[g>>2]|0;d=f[c>>2]|0}c=f[d+(h<<2)>>2]|0;if(!e)Fa(8225,8468,62,8653);d=f[i>>2]|0;if(!d)Fa(8225,8468,62,8653);d=f[d+(c<<2)>>2]|0;if(!(b[e+84>>0]|0))d=f[(f[e+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[j>>2]=d;i=b[e+24>>0]|0;f[k>>2]=f[j>>2];eb(e,k,i,a)|0;u=l;return}function Sd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];tb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];tb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l;i=a+4|0;f[i>>2]=0;if(!c){u=l;return}h=a+8|0;e=f[h>>2]|0;if(e<<5>>>0>>0){f[k>>2]=0;j=k+4|0;f[j>>2]=0;g=k+8|0;f[g>>2]=0;if((c|0)<0){ql(a);e=f[h>>2]|0}m=e<<6;n=c+31&-32;Le(k,e<<5>>>0<1073741823?(m>>>0>>0?n:m):2147483647);e=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=e;k=f[i>>2]|0;f[i>>2]=c;f[j>>2]=k;k=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=k;if(e|0)Em(e)}else f[i>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){vf(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=l;return}else{vf(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=l;return}}function Ud(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function Vd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;c=f[k>>2]|0;l=a+16|0;if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}d=f[l>>2]|0;if(!d){l=f[l>>2]|0;return l|0}a=d+84|0;if(!(b[a>>0]|0)){l=f[l>>2]|0;return l|0}i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>2;b[a>>0]=0;h=d+68|0;e=d+72|0;d=f[e>>2]|0;a=f[h>>2]|0;g=d-a>>2;if(i>>>0<=g>>>0){if(i>>>0>>0?(j=a+(i<<2)|0,(d|0)!=(j|0)):0)f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2)}else{Xd(h,i-g|0,1044);c=f[k>>2]|0}if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}k=f[c+68>>2]|0;g=k;k=(f[c+72>>2]|0)-k|0;d=k>>2;if((k|0)<=0){l=f[l>>2]|0;return l|0}c=f[l>>2]|0;e=(b[c+84>>0]|0)==0;c=c+68|0;a=0;while(1){if(!e){c=14;break}f[(f[c>>2]|0)+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0;if((a|0)>=(d|0)){c=15;break}}if((c|0)==14)Fa(10882,10901,89,10995);else if((c|0)==15){l=f[l>>2]|0;return l|0}return 0}function Wd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(dl(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(dl(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Na[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Ua[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else Di(0,c,d,e);while(0);return}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=f[k>>2]|0;l=a+4|0;h=f[l>>2]|0;g=h;if(e-h>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[l>>2]=g+(b<<2);return}d=f[a>>2]|0;g=(h-d>>2)+b|0;if(g>>>0>1073741823){ql(a);d=f[a>>2]|0;e=f[k>>2]|0;j=f[l>>2]|0}else j=h;i=e-d|0;e=i>>1;g=i>>2>>>0<536870911?(e>>>0>>0?g:e):1073741823;e=j-d>>2;do if(g)if(g>>>0>1073741823){b=Ha(4)|0;gm(b);sa(b|0,840,80)}else{h=_i(g<<2)|0;break}else h=0;while(0);i=h+(e<<2)|0;h=h+(g<<2)|0;e=i;g=b;while(1){f[e>>2]=f[c>>2];g=g+-1|0;if(!g)break;else e=e+4|0}g=j-d|0;e=i+(0-(g>>2)<<2)|0;if((g|0)>0)Ld(e|0,d|0,g|0)|0;f[a>>2]=e;f[l>>2]=i+(b<<2);f[k>>2]=h;if(!d)return;Em(d);return}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;e=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(e-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=f[a>>2]|0;g=(c-d>>3)+b|0;if(g>>>0>536870911){ql(a);d=f[a>>2]|0;e=f[i>>2]|0;c=f[j>>2]|0}h=e-d|0;e=h>>2;e=h>>3>>>0<268435455?(e>>>0>>0?g:e):536870911;c=c-d>>3;do if(e)if(e>>>0>536870911){j=Ha(4)|0;gm(j);sa(j|0,840,80)}else{d=_i(e<<3)|0;break}else d=0;while(0);h=d+(c<<3)|0;g=d+(e<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Ld(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;Em(c);return}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+8|0;g=h+4|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=Rb(a,e,g,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=_i(40)|0;th(e+16|0,d);th(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}vc(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;m=b+16|0;c=m;e=f[c>>2]|0;c=f[c+4>>2]|0;g=lk(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&j>>>0>>0){a=0;return a|0}i=f[b>>2]|0;l=i+e|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;n=m;f[n>>2]=g;f[n+4>>2]=d;d=lk(e|0,c|0,8,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0){n=0;return n|0}c=i+g|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;n=m;f[n>>2]=d;f[n+4>>2]=e;if((l|0)>(c|0)){n=0;return n|0}f[a+12>>2]=l;f[a+16>>2]=c;n=c+(1-l)|0;f[a+20>>2]=n;c=(n|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(n&1))f[d>>2]=c+-1;n=dd(a+108|0,b)|0;return n|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;d=f[j>>2]|0;k=a+4|0;g=f[k>>2]|0;e=g;if(d-g>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[k>>2]=e+(b<<2);return}c=f[a>>2]|0;e=(g-c>>2)+b|0;if(e>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[j>>2]|0;i=f[k>>2]|0}else i=g;h=d-c|0;d=h>>1;e=h>>2>>>0<536870911?(d>>>0>>0?e:d):1073741823;d=i-c>>2;do if(e)if(e>>>0>1073741823){b=Ha(4)|0;gm(b);sa(b|0,840,80)}else{g=_i(e<<2)|0;break}else g=0;while(0);h=g+(d<<2)|0;g=g+(e<<2)|0;d=h;e=b;while(1){f[d>>2]=1;e=e+-1|0;if(!e)break;else d=d+4|0}e=i-c|0;d=h+(0-(e>>2)<<2)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=h+(b<<2);f[j>>2]=g;if(!c)return;Em(c);return}function ae(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,59,12612);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Fa(12622,12521,60,12612);g=f[i+(c<<2)>>2]|0;do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){kc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_i(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=1852;g=b}f[a>>2]=g;return}function be(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+32>>2]|0;h=c+8|0;j=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}h=b[(f[c>>2]|0)+e>>0]|0;c=lk(e|0,d|0,1,0)|0;e=g;f[e>>2]=c;f[e+4>>2]=I;e=a+48|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);switch(h<<24>>24){case 0:{c=_i(392)|0;ig(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);i=9}break}case 2:{c=_i(448)|0;cf(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);i=9}break}default:i=9}if((i|0)==9){c=f[e>>2]|0;if(!c){j=0;return j|0}}j=Va[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;return j|0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Sa[i&7](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Em(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}Em(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function de(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((ib(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=Km(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=ib(a,c,m,p,q)|0;if(d){Ma[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=ib(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)Jm(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=1048576){if((i|0)!=1048576?(h=d+4194304|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,1048576-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>1048576){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==1048576;return k|0}function fe(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(dl(m,e,0)|0){f[o+48>>2]=1;Ua[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Na[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(nb(a,n)|0)){a=0;u=o;return a|0}gb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=524288){if((i|0)!=524288?(h=d+2097152|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,524288-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>524288){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==524288;return k|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=262144){if((i|0)!=262144?(h=d+1048576|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,262144-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>262144){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==262144;return k|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=65536){if((i|0)!=65536?(h=d+262144|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,65536-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>65536){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==65536;return k|0}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=32768){if((i|0)!=32768?(h=d+131072|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,32768-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>32768){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==32768;return k|0}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){bd(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Em(d)}Em(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Em(d)}Em(c)}Em(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=8192){if((i|0)!=8192?(h=d+32768|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,8192-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>8192){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==8192;return k|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=4096){if((i|0)!=4096?(h=d+16384|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,4096-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>4096){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==4096;return k|0}function oe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{Oe(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function pe(a,c,d){a=a|0;c=c|0;d=d|0;a=Yb(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=8){d=0;return d|0}a=c;b[s>>0]=b[a>>0];b[s+1>>0]=b[a+1>>0];b[s+2>>0]=b[a+2>>0];b[s+3>>0]=b[a+3>>0];b[s+4>>0]=b[a+4>>0];b[s+5>>0]=b[a+5>>0];b[s+6>>0]=b[a+6>>0];b[s+7>>0]=b[a+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];d=1;return d|0}function qe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)ml(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{xk(a,d,(e&255)+1|0)|0;Em(d);g=15}}else{c=_i(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{xk(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){xk(c,d,(f[a+4>>2]|0)+1|0)|0;Em(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=el(f[a+8>>2]|0,o)|0;e=el(f[a+12>>2]|0,o)|0;g=el(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=el(f[a+(g<<2)>>2]|0,o)|0;g=el(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Oh(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=el(f[a+(e<<2)>>2]|0,o)|0;e=el(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function se(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=xh(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=xh(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;k=b+8|0;i=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;g=lk(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){a=0;return a|0}b=f[b>>2]|0;j=b+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;m=l;f[m>>2]=g;f[m+4>>2]=d;c=lk(e|0,c|0,8,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){m=0;return m|0}b=b+g|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;m=l;f[m>>2]=c;f[m+4>>2]=d;if((j|0)>(b|0)){m=0;return m|0}f[a+12>>2]=j;f[a+16>>2]=b;m=b+(1-j)|0;f[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;f[c>>2]=b;f[a+28>>2]=0-b;if(m&1|0){m=1;return m|0}f[c>>2]=b+-1;m=1;return m|0}function ue(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;h=_i(32)|0;f[a>>2]=h;f[a+4>>2]=c+8;g=a+8|0;b[g>>0]=0;i=h+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=h+20|0;j=e+12|0;f[i>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;h=f[j>>2]|0;c=(f[e+16>>2]|0)-h|0;if(!c){i=0;j=h;Ld(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}Pe(i,c);i=f[i>>2]|0;j=f[j>>2]|0;Ld(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))Fa(7675,6870,259,7699);d=f[c>>2]|0;if((d|0)>(e|0))Fa(7713,6870,260,7699);a=0-e|0;if((i|0)<(a|0))Fa(7737,6870,261,7699);if((d|0)<(a|0))Fa(7762,6870,262,7699);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=_a(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ib(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=_a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ib(a,b);return}function xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Qc(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*116|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-116;c=f[e+-12>>2]|0;if(c|0){d=e+-8|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}c=f[e+-28>>2]|0;if(c|0){d=e+-24|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}c=f[e+-40>>2]|0;if(c|0){d=e+-36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}Uf(e+-112|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1056;e=a+60|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b)}f[a>>2]=952;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function ze(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}Em(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Em(b);return}function Ae(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;e=f[l>>2]|0;g=b[e+24>>0]|0;k=g<<24>>24;n=k<<1;m=Bm(k>>>0>2147483647?-1:k<<1)|0;j=f[a+16>>2]|0;j=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){Cm(m);return}if(g<<24>>24>0){e=0;g=0;h=0;while(1){a=0;i=h;while(1){d[m+(a<<1)>>1]=f[j+(i<<2)>>2];a=a+1|0;if((a|0)==(k|0))break;else i=i+1|0}Ld((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+g|0,m|0,n|0)|0;e=e+1|0;if((e|0)==(c|0))break;else{g=g+n|0;h=k+h|0}}Cm(m);return}else{Ld(f[f[e+64>>2]>>2]|0,m|0,n|0)|0;if((c|0)==1){Cm(m);return}else{a=1;e=0}do{e=e+n|0;Ld((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+e|0,m|0,n|0)|0;a=a+1|0}while((a|0)!=(c|0));Cm(m);return}}function Be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+8|0;d=f[k>>2]|0;e=b[d+24>>0]|0;j=e<<24>>24;m=j<<2;l=Bm(j>>>0>1073741823?-1:j<<2)|0;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;if(!c){Cm(l);return}if(e<<24>>24>0){d=0;e=0;g=0;while(1){a=0;h=g;while(1){f[l+(a<<2)>>2]=f[i+(h<<2)>>2];a=a+1|0;if((a|0)==(j|0))break;else h=h+1|0}Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,l|0,m|0)|0;d=d+1|0;if((d|0)==(c|0))break;else{e=e+m|0;g=j+g|0}}Cm(l);return}else{Ld(f[f[d+64>>2]>>2]|0,l|0,m|0)|0;if((c|0)==1){Cm(l);return}else{a=1;d=0}do{d=d+m|0;Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+d|0,l|0,m|0)|0;a=a+1|0}while((a|0)!=(c|0));Cm(l);return}}function Ce(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Em(b);return}function De(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Ka;n=u;u=u+32|0;j=n+16|0;m=n;k=a+8|0;l=b[(f[k>>2]|0)+24>>0]<<2;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;a=f[a+24>>2]|0;if((a|0)<=1)Fa(6859,6870,60,6985);if((a|0)>=31)Fa(7005,6870,61,6985);f[m>>2]=a;a=1<>2]=a+-1;a=a+-2|0;h=m+8|0;f[h>>2]=a;f[m+12>>2]=(a|0)/2|0;if(!c){u=n;return 1}d=0;e=0;g=0;while(1){o=$($(1.0)/$(a|0));ed(m,$($(f[i+(g<<2)>>2]|0)*o),$($(f[i+((g|1)<<2)>>2]|0)*o),j);Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,j|0,l|0)|0;d=d+1|0;if((d|0)==(c|0))break;a=f[h>>2]|0;e=e+l|0;g=g+2|0}u=n;return 1}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;g=f[c>>2]|0;c=f[c+4>>2]|0;d=lk(g|0,c|0,4,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0)return 0;i=(f[b>>2]|0)+g|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=l;f[b>>2]=d;f[b+4>>2]=e;b=lk(g|0,c|0,8,0)|0;c=I;if((k|0)<(c|0)|(k|0)==(c|0)&j>>>0>>0)return 0;f[l>>2]=b;f[l+4>>2]=c;if(((i|0)%2|0|0)!=1)Fa(7787,7820,67,7980);c=(_(i|0)|0)^31;b=c+1|0;if(!c)Fa(6859,6870,60,6985);if(b>>>0<31){f[a>>2]=b;l=2<>2]=l+-1;l=l+-2|0;f[a+8>>2]=l;f[a+12>>2]=(l|0)/2|0;return (c+-1|0)>>>0<29|0}else Fa(7005,6870,61,6985);return 0}function Fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m+16|0;i=m+8|0;j=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))Fa(7102,7147,69,7325);e=f[b+4>>2]|0;if((e|0)>(k|0))Fa(7346,7147,70,7325);g=f[c>>2]|0;if((g|0)>(k|0))Fa(7391,7147,71,7325);b=f[c+4>>2]|0;if((b|0)>(k|0))Fa(7436,7147,72,7325);if((h|0)<=-1)Fa(7481,7147,74,7325);if((e|0)<=-1)Fa(7503,7147,75,7325);if((g|0)<=-1)Fa(7525,7147,76,7325);if((b|0)>-1){f[i>>2]=h;f[i+4>>2]=e;f[j>>2]=g;f[j+4>>2]=b;qc(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else Fa(7547,7147,77,7325)}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=_a(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){bc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=_a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;bc(a,b);return}function He(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+12|0;g=f[e>>2]|0;f[e>>2]=0;if(!g){pk(a);return}b=f[g+28>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;Ie(e+8|0);Em(e)}while((b|0)!=0);e=g+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Em(b);b=f[g+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}pk(e+8|0);Em(e)}while((b|0)!=0);b=f[g>>2]|0;f[g>>2]=0;if(b|0)Em(b);Em(g);pk(a);return}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=((d-c|0)/12|0)+1|0;if(e>>>0>357913941){ql(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=((f[j>>2]|0)-c|0)/12|0;h=i<<1;h=i>>>0<178956970?(h>>>0>>0?e:h):357913941;e=(d-c|0)/12|0;do if(h)if(h>>>0>357913941){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h*12|0)|0;break}else i=0;while(0);g=i+(e*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];e=d-c|0;d=g+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+12;f[j>>2]=i+(h*12|0);if(!c)return;Em(c);return}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+16|0;d=e;switch(b<<24>>24){case 0:{d=_i(48)|0;tl(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}case 1:{d=_i(52)|0;Dk(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}default:{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,10653,28);f[c>>2]=-1;b=c+4|0;th(b,d);f[a>>2]=f[c>>2];th(a+4|0,b);f[a+16>>2]=0;pk(b);pk(d);u=e;return}}}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)ql(i);l=((b+-1|0)>>>5)+1|0;k=_i(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Cd(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)Em(b);u=j;return}function Me(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+224|0;j=a+228|0;d=f[k>>2]|0;if((f[j>>2]|0)==(d|0)){l=0;return l|0}g=a+4|0;e=0;a:while(1){a=f[d+(e*116|0)>>2]|0;if(((a|0)>=0?(d=f[g>>2]|0,h=f[d+8>>2]|0,(a|0)<((f[d+12>>2]|0)-h>>2|0)):0)?(i=f[h+(a<<2)>>2]|0,(Ra[f[(f[i>>2]|0)+24>>2]&127](i)|0)>0):0){a=0;do{if((Va[f[(f[i>>2]|0)+20>>2]&127](i,a)|0)==(c|0))break a;a=a+1|0}while((a|0)<(Ra[f[(f[i>>2]|0)+24>>2]&127](i)|0))}a=e+1|0;d=f[k>>2]|0;if(a>>>0>=(((f[j>>2]|0)-d|0)/116|0)>>>0){a=0;l=11;break}else e=a}if((l|0)==11)return a|0;l=f[k>>2]|0;l=(b[l+(e*116|0)+72>>0]|0)==0?0:l+(e*116|0)+4|0;return l|0}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(f[b+4>>2]|0)-(f[b>>2]|0)|0;l=k>>2;g=a+8|0;e=f[(f[g>>2]|0)+40>>2]|0;m=Bm((e|0)>-1?e:-1)|0;h=c+8|0;if((k|0)<=0){c=1;Cm(m);return c|0}k=c+16|0;i=0;j=0;while(1){o=h;n=f[o>>2]|0;o=f[o+4>>2]|0;a=k;b=f[a>>2]|0;a=lk(b|0,f[a+4>>2]|0,e|0,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0){b=0;a=5;break}Ld(m|0,(f[c>>2]|0)+b|0,e|0)|0;o=k;f[o>>2]=a;f[o+4>>2]=d;Ld((f[f[(f[g>>2]|0)+64>>2]>>2]|0)+j|0,m|0,e|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+e|0}if((a|0)==5){Cm(m);return b|0}return 0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;d=f[k>>2]|0;j=a+4|0;e=f[j>>2]|0;if(d-e>>2>>>0>=b>>>0){vf(e|0,0,b<<2|0)|0;f[j>>2]=e+(b<<2);return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[k>>2]|0;e=f[j>>2]|0}d=d-c|0;h=d>>1;h=d>>2>>>0<536870911?(h>>>0>>0?g:h):1073741823;d=e-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h<<2)|0;break}else i=0;while(0);g=i+(d<<2)|0;vf(g|0,0,b<<2|0)|0;e=e-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[j>>2]=g+(b<<2);f[k>>2]=i+(h<<2);if(!c)return;Em(c);return}function Pe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((g-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}e=f[a>>2]|0;h=d-e+c|0;if((h|0)<0){ql(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=g-e|0;g=i<<1;g=i>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if(!g)h=0;else h=_i(g)|0;i=h+(d-e)|0;h=h+g|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Ld(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;Em(d);return}function Qe(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)ml(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=_i(l)|0;if(g|0)xk(k,m,g)|0;if(i|0)xk(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)xk(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Em(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;vl(k+m|0,n);u=o;return}function Re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(Ch(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Ma[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Ma[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Ld(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=Fd(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=_i(40)|0;th(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}vc(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function Te(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;j=u;u=u+16|0;i=j;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){k=d+8|0;l=f[k+4>>2]|0;g=d+16|0;e=g;c=f[e>>2]|0;e=f[e+4>>2]|0;if((l|0)>(e|0)|((l|0)==(e|0)?(f[k>>2]|0)>>>0>c>>>0:0)){l=b[(f[d>>2]|0)+c>>0]|0;k=lk(c|0,e|0,1,0)|0;c=g;f[c>>2]=k;f[c+4>>2]=I;c=l&255;f[a+24>>2]=c;break}else{l=0;u=j;return l|0}}else c=f[a+24>>2]|0;while(0);f[i>>2]=896;f[i+4>>2]=-1;hl(i,c);l=Xg(i,f[a+16>>2]|0)|0;u=j;return l|0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+224|0;h=a+228|0;c=f[i>>2]|0;a:do if((f[h>>2]|0)!=(c|0)){j=a+4|0;d=0;b:while(1){c=f[c+(d*116|0)>>2]|0;if(((c|0)>=0?(k=f[j>>2]|0,e=f[k+8>>2]|0,(c|0)<((f[k+12>>2]|0)-e>>2|0)):0)?(g=f[e+(c<<2)>>2]|0,(Ra[f[(f[g>>2]|0)+24>>2]&127](g)|0)>0):0){c=0;do{if((Va[f[(f[g>>2]|0)+20>>2]&127](g,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Ra[f[(f[g>>2]|0)+24>>2]&127](g)|0))}d=d+1|0;c=f[i>>2]|0;if(d>>>0>=(((f[h>>2]|0)-c|0)/116|0)>>>0)break a}k=(f[i>>2]|0)+(d*116|0)+76|0;return k|0}while(0);k=a+196|0;return k|0}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{f[h>>2]=b+-116;c=f[b+-12>>2]|0;if(c|0){e=b+-8|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[b+-28>>2]|0;if(c|0){e=b+-24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[b+-40>>2]|0;if(c|0){e=b+-36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}Uf(b+-112|0);b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Em(b);return}function We(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-116;d=f[c+-12>>2]|0;if(d|0){g=c+-8|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}d=f[c+-28>>2]|0;if(d|0){g=c+-24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}d=f[c+-40>>2]|0;if(d|0){g=c+-36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}Uf(c+-112|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Em(b);return}function Xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;d=g;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Ra[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=g;return e|0}f[d>>2]=924;f[d+4>>2]=-1;c=d+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;Gh(d,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));e=Xg(d,f[a+16>>2]|0)|0;f[d>>2]=924;a=f[c>>2]|0;if(a|0){c=d+12|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Em(a)}u=g;return e|0}function Ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+140|0;b=f[h>>2]|0;if((b|0)<=0){a=1;return a|0}d=b<<4;d=Bm(b>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<4)|0;b=d;do{$l(b);b=b+16|0}while((b|0)!=(c|0));g=a+136|0;e=f[g>>2]|0;f[g>>2]=d;if(e|0){c=e+-4|0;b=f[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(e|0))}Cm(c)}if((f[h>>2]|0)<=0){a=1;return a|0}b=0;while(1){if(!(dd((f[g>>2]|0)+(b<<4)|0,a)|0)){b=0;c=13;break}b=b+1|0;if((b|0)>=(f[h>>2]|0)){b=1;c=13;break}}if((c|0)==13)return b|0;return 0}function Ze(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Xi()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[894];xj(15705,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Ma[f[(f[194]|0)+16>>2]&31](776,d,e)|0;b=f[894]|0;if(d){i=f[e>>2]|0;i=Ra[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;xj(15619,g)}else{f[i>>2]=b;f[i+4>>2]=a;xj(15664,i)}}xj(15743,h)}function _e(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+4>>2]=2384;b=f[a+24>>2]|0;if(b|0)Em(b);b=f[a+12>>2]|0;if(!b)return;Em(b);return}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=(f[j>>2]|0)-c|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;e=d-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h<<2)|0;break}else i=0;while(0);g=i+(e<<2)|0;f[g>>2]=f[b>>2];e=d-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+4;f[j>>2]=i+(h<<2);if(!c)return;Em(c);return}function af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=gj(e,g+1|0,15616,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;Sf(c,g,0);e=b[h>>0]|0}Sf(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function bf(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(Am()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=qm()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=qm()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function cf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2428;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Ci(b);d=a+388|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[a+408>>2]=-1;f[a+412>>2]=-1;f[a+416>>2]=2;f[a+420>>2]=7;d=a+424|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;return}function df(a){a=a|0;var b=0,c=0,d=0,e=0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;df(d+20|0);pk(d+8|0);Em(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Em(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}pk(d+8|0);Em(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Em(a);Em(e);return}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=u;u=u+80|0;i=j;g=j+56|0;e=j+40|0;d=i;c=d+40|0;do{f[d>>2]=f[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));Bb(e,i,g);b=f[e>>2]|0;if(!b){pk(e+4|0);g=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=g;i=i+24|0;Jm(i);u=j;return}else{f[a>>2]=b;g=e+4|0;th(a+4|0,g);pk(g);i=i+24|0;Jm(i);u=j;return}}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;Td(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;Td(a+12|0,j,d);_c(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,2648);gg(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);gg(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=a+8|0;b=f[j>>2]|0;if((b|0)<0){j=0;return j|0}i=a+4|0;a=f[i>>2]|0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+(b<<2)|0,(d|0)!=(h|0)):0)f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2)}else{Oe(a,b-g|0);b=f[j>>2]|0}if((b|0)>0)d=0;else{j=1;return j|0}do{a=f[i>>2]|0;c=f[a>>2]|0;if((f[a+4>>2]|0)-c>>2>>>0<=d>>>0){pl(a);c=f[a>>2]|0;b=f[j>>2]|0}f[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(b|0));b=1;return b|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+32|0;e=h+12|0;g=h;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,b,kg(b)|0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;dg(g,c,kg(c)|0);b=f[a+4>>2]|0;if((b|0)!=0?(d=od(b,e,g)|0,(d|0)!=0):0)b=lh(a,f[d+40>>2]|0)|0;else b=-1;pk(g);pk(e);u=h;return b|0}function jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;if((d|0)!=1){f[a>>2]=0;u=j;return}g=f[b+12>>2]|0;d=f[b+4>>2]|0;b=h;e=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(e|0));Od(i,c,g,d,h);e=f[h+24>>2]|0;if(e|0){b=h+28|0;d=f[b>>2]|0;if((d|0)!=(e|0))f[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);Em(e)}f[a>>2]=f[i>>2];u=j;return}function kf(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+28>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;e=c+20|0;d=f[e>>2]|0;f[e>>2]=0;if(d|0){kf(d);Em(d)}pk(c+8|0);Em(c)}while((b|0)!=0);e=a+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Em(b);b=f[a+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}pk(e+8|0);Em(e)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Em(b);return}function lf(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Em(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}Em(d);return}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+32|0;d=g+12|0;e=g;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,b,kg(b)|0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,12676,4);b=f[a+4>>2]|0;if((b|0)!=0?(c=od(b,e,d)|0,(c|0)!=0):0)b=lh(a,f[c+40>>2]|0)|0;else b=-1;pk(e);pk(d);u=g;return b|0}function nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=lk(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do if(e<<24>>24<0)if(nf(a,c)|0){d=a;d=uj(f[d>>2]|0,f[d+4>>2]|0,7)|0;i=I;h=a;f[h>>2]=d;f[h+4>>2]=i;d=d|e&127;e=i;break}else{i=0;return i|0}else{d=e&255;e=0}while(0);i=a;f[i>>2]=d;f[i+4>>2]=e;i=1;return i|0}function of(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=3064;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=qm()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=de(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function pf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;tk(e,c,d)|0;b[j>>0]=0;vl(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;Qe(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;if(!d){a=0;return a|0}e=f[c>>2]|0;if(!e){a=0;return a|0}g=f[e>>2]|0;Ef(d,g,(f[e+4>>2]|0)-g|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;e=c+40|0;d=f[e+4>>2]|0;g=a+40|0;f[g>>2]=f[e>>2];f[g+4>>2]=d;g=c+48|0;d=f[g+4>>2]|0;e=a+48|0;f[e>>2]=f[g>>2];f[e+4>>2]=d;f[a+56>>2]=f[c+56>>2];c=c+8|0;a=a+8|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];a=1;return a|0}function rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){Cf(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;sj(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;vl(e+i|0,k)}u=l;return a|0}function sf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2204;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Em(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b);Em(a);return}function tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=gi(a,Va[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=ph(f[c>>2]|0,a)|0;d=d+1|0;if(!(Va[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function uf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(dl(a,f[c+8>>2]|0,g)|0)){if(dl(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else Di(0,c,d,e);while(0);return}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=Yb(a,b)|0;if(!b){c=0;return c|0}e=b+20|0;d=f[e>>2]|0;a=b+24|0;b=f[a>>2]|0;if((d|0)==(b|0)){c=0;return c|0}Sf(c,b-d|0,0);d=Ah(c,0)|0;c=f[e>>2]|0;Ld(d|0,c|0,(f[a>>2]|0)-c|0)|0;c=1;return c|0}function xf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(!a){d=1;return d|0}j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>h>>>0:0))){k=0;return k|0}k=b[(f[d>>2]|0)+h>>0]|0;h=lk(h|0,g|0,1,0)|0;j=i;f[j>>2]=h;f[j+4>>2]=I;switch(k<<24>>24){case 0:{k=Hb(a,c,d,e)|0;return k|0}case 1:{k=fc(a,d,e)|0;return k|0}default:{k=0;return k|0}}return 0}function yf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function zf(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2204;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Em(b);return}function Af(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1008;c=a+16|0;d=f[c>>2]|0;f[c>>2]=0;if(!d)return;c=d+88|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a)}a=f[d+68>>2]|0;if(a|0){c=d+72|0;b=f[c>>2]|0;if((b|0)!=(a|0))f[c>>2]=b+(~((b+-4-a|0)>>>2)<<2);Em(a)}c=d+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a)}Em(d);return}function Bf(a,b){a=a|0;b=b|0;if(!b)return;else{Bf(a,f[b>>2]|0);Bf(a,f[b+4>>2]|0);Mf(b+20|0,f[b+24>>2]|0);Em(b);return}}function Cf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)ml(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=_i(k)|0;if(g|0)xk(j,l,g)|0;d=e-h-g|0;if(d|0)xk(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)Em(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function Df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;rh(e,d&1);a=Se(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}qe(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;pk(e);u=g;return}function Ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){Pe(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else qd(a,b,b+c|0);while(0);a=a+24|0;h=a;h=lk(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;Bd(g,c);e=a+4|0;i=f[g>>2]|0;f[g>>2]=0;d=f[e>>2]|0;f[e>>2]=i;if(d){Lf(d);Em(d);d=f[g>>2]|0;f[g>>2]=0;if(d|0){Lf(d);Em(d)}}else f[g>>2]=0;if(!(f[e>>2]|0)){i=0;u=h;return i|0}i=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[g>>0]=0;Td(a+56|0,i,g);i=1;u=h;return i|0}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=_i(32)|0,hj(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}e=Yh(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Zi(e|0,d|0,c|0,0)|0;if(!(Ef(i,0,g,I)|0)){i=0;return i|0}Lg(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function Hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+20|0;j=h+16|0;g=h;e=b[a+24>>0]|0;f[g>>2]=f[669];f[g+4>>2]=f[670];f[g+8>>2]=f[671];f[g+12>>2]=f[672];f[j>>2]=c;f[i>>2]=f[j>>2];if(!(ab(a,i,e,g)|0)){j=0;u=h;return j|0}Uc(d,g,g+(e<<24>>24<<2)|0);j=1;u=h;return j|0}function If(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=e>>>0>1073741823?-1:e<<2;h=Bm(g)|0;vf(h|0,0,g|0)|0;g=a+8|0;Fe(g,h,b,c);if((e|0)>=(d|0)){Cm(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;Fe(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Cm(h);return 1}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(dl(a,b,0)|0))if((b|0)!=0?(e=fe(b,800,784,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Wa[f[(f[e>>2]|0)+28>>2]&7](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function Kf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+32|0;g=h+8|0;e=h;if((d|0)==3){i=f[b+12>>2]|0;d=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;ae(e,c,i,d,g);f[a>>2]=f[e>>2];u=h;return}else{f[a>>2]=0;u=h;return}}function Lf(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function Mf(a,b){a=a|0;b=b|0;if(!b)return;else{Mf(a,f[b>>2]|0);Mf(a,f[b+4>>2]|0);pk(b+28|0);pk(b+16|0);Em(b);return}}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;a=Yb(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=4){d=0;return d|0}a=c;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;d=1;return d|0}function Of(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=c+8|0;i=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){i=0;return i|0}h=b[(f[c>>2]|0)+e>>0]|0;i=lk(e|0,d|0,1,0)|0;d=g;f[d>>2]=i;f[d+4>>2]=I;d=h&255;do if(d&128)if(Pf(a,c)|0){d=f[a>>2]<<7;f[a>>2]=d;d=d|h&127;break}else{i=0;return i|0}while(0);f[a>>2]=d;i=1;return i|0}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+4>>2]|0;if(!d){e=0;return e|0}if((c|0)<=-1)Fa(12505,12521,59,12612);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Fa(12622,12521,60,12612);e=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;a=f[d+40>>2]|0;b=f[d+44>>2]|0;if((a|0)==(b|0)){e=0;return e|0}else c=a;while(1){a=f[c>>2]|0;c=c+4|0;if((f[a+40>>2]|0)==(e|0)){c=9;break}if((c|0)==(b|0)){a=0;c=9;break}}if((c|0)==9)return a|0;return 0}function Rf(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}Em(a);return}function Sf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;vl(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;vl(a+c|0,h);b[g>>0]=c;break}else rf(a,c-e|0,d)|0;while(0);u=j;return}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){ql(a);c=Ha(4)|0;gm(c);sa(c|0,840,80)}d=_i(b*12|0)|0;f[c>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(b*12|0);a=d;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=(f[c>>2]|0)+12|0;f[c>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Uf(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0)Em(b);b=f[a>>2]|0;if(!b)return;Em(b);return}function Vf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Em(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b);Em(a);return}function Wf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;dg(h,d,kg(d)|0);wf(c,h,g)|0;a=(b[g+11>>0]|0)<0?f[g>>2]|0:g;pk(h);pk(g);u=e;return a|0}function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){ql(a);h=Ha(4)|0;gm(h);sa(h|0,840,80)}g=_i(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Ld(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Yf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(Ch(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Ma[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Zf(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Em(b);return}function _f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(Km(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Yf(c,a)|0;Jm(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Yf(c,a)|0}while(0);return d|0}function $f(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1596;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c){Em(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);Em(a);return}function ag(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1344;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c){Em(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);Em(a);return}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;dg(g,c,kg(c)|0);a=wf(b,g,e)|0;pk(g);pk(e);u=d;return a|0}function cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){ql(a);e=Ha(4)|0;gm(e);sa(e|0,840,80)}g=_i(b<<2)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<2)|0;f[a+8>>2]=e;a=g;while(1){f[a>>2]=f[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}f[d>>2]=e;return}function dg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h;if(d>>>0<=4294967279)if(d>>>0<11)b[a+11>>0]=d;else g=5;else{ml(a);g=5}if((g|0)==5){i=d+16&-16;g=_i(i)|0;f[a>>2]=g;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;a=g}xk(a,c,d)|0;b[e>>0]=0;vl(a+d|0,e);u=h;return}function eg(a){a=a|0;var b=0,c=0;f[a>>2]=1596;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function fg(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Wl(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}j=(f[d>>2]|0)-c|0;h=j>>2;i=_i(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Ld(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;Em(c);return}function hg(a){a=a|0;var b=0,c=0;f[a>>2]=1344;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function ig(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2264;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Ci(b);return}function jg(a,c,d){a=a|0;c=c|0;d=d|0;c=Kd(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=fg(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function kg(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c;d=c+4|0;f[e>>2]=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,10730,24);Df(Kb(a,e)|0,d,1);pk(d);u=c;return}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ma[f[(f[g>>2]|0)+20>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function ng(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2312;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2336;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Dd(a+40|0,b);a=1;return a|0}return 0}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ma[f[(f[g>>2]|0)+16>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function qg(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=zj(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+qg(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function rg(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}if(!(f[a+36>>2]|0)){a=0;return a|0}a=(f[a+72>>2]|0)!=-1;return a|0}function sg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2404;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2384;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0;a=u;u=u+32|0;g=a;e=a+8|0;p[g>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);pe(b,e,g)|0;d=+p[g>>3];pk(e);u=a;return +d}function ug(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[13376+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=13464;e=5;break}}if((e|0)==2)if(!d)d=13464;else{a=13464;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return _l(d,f[c+20>>2]|0)|0}function vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2312;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2336;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b)return;Em(b);return}function wg(a){a=a|0;if(!(f[a+64>>2]|0)){a=0;return a|0}if(!(f[a+68>>2]|0)){a=0;return a|0}if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}if(!(f[a+56>>2]|0)){a=0;return a|0}a=(f[a+92>>2]|0)!=-1;return a|0}function xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);Nf(b,e,a)|0;a=f[a>>2]|0;pk(e);u=d;return a|0}function yg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2404;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2384;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b)return;Em(b);return}function zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=_i(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=ge(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;Lf(a);Em(a);return}function Ag(a){a=a|0;if(!a)return;pk(a+28|0);Bf(a+12|0,f[a+16>>2]|0);Mf(a,f[a+4>>2]|0);Em(a);return}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;switch(c<<24>>24){case 0:{c=_i(20)|0;Mj(c);break}case 1:{c=_i(24)|0;kk(c);break}case 2:{c=_i(36)|0;dj(c);break}case 3:{c=_i(28)|0;ek(c);break}default:c=0}f[a>>2]=c;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,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Dj(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return Dj((Wb(h,g,Dj(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function Dg(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Qg(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;a=d;e=d+8|0;p[a>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);a=pe(b,e,a)|0;pk(e);u=d;return a|0}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Qi(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=il(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function Gg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2632;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+84>>2]|0;if(!b){zd(a);Em(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);zd(a);Em(a);return}function Hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a>>2]|0;if((d|0)<0){c=-1073741824;return c|0}if((f[(f[b>>2]|0)+(d<<2)>>2]|0)==-1073741824){c=-1073741824;return c|0}b=(d>>>0)/3|0;a=f[c+96>>2]|0;if((b|0)>=(((f[c+100>>2]|0)-a|0)/12|0|0))Fa(12788,12706,64,12783);c=f[a+(b*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;return c|0}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);a=Nf(b,e,a)|0;pk(e);u=d;return a|0}function Jg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Ab(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){li(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function Lg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Fa(12681,12706,63,12783);d=f[a+96>>2]|0;if((((f[a+100>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;Vc(c,a,a+12|0);return 1}else Fa(12788,12706,64,12783);return 0}function Ng(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2632;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+84>>2]|0;if(!b){zd(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);zd(a);return}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){ql(a);a=Ha(4)|0;gm(a);sa(a|0,840,80)}d=b<<2;e=_i(d)|0;f[a>>2]=e;b=e+(b<<2)|0;f[a+8>>2]=b;vf(e|0,0,d|0)|0;f[c>>2]=b;return}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;if(!(jj(a,b,c)|0)){c=0;return c|0}b=f[b+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,67,12612);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Fa(12622,12521,68,12612);c=(f[(f[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else Pe(a,b-g|0);a=a+24|0;h=a;h=lk(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Rg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1652;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=u;u=u+16|0;d=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,10682,26);f[a>>2]=-1;th(a+4|0,d);pk(d);u=b;return}function Tg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0;e=h[a+12>>0]|0;g=a+8|0;b=f[g>>2]|0;if(b>>>0<4096?(d=a+4|0,c=f[d>>2]|0,(c|0)>0):0){i=f[a>>2]|0;a=c+-1|0;f[d>>2]=a;b=h[i+a>>0]|0|b<<8;f[g>>2]=b}d=b&255;a=0-e&255;e=X(b>>>8,a)|0;i=d>>>0>>0;f[g>>2]=i?e+d|0:b-a-e|0;return i|0}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Sg(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;_h(a+28|0,b)|0;pk(b);u=d;return c|0}function Vg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;if(c?!(nf(d,a)|0):0){a=0;return a|0}b[a+36>>0]=1;d=a+16|0;e=f[d>>2]|0;c=(f[a>>2]|0)+e|0;g=a+8|0;d=Dj(f[g>>2]|0,f[g+4>>2]|0,e|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=c;f[a+28>>2]=c+d;a=1;return a|0}function Wg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1400;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0;d=_i(40)|0;f[d>>2]=-1;hj(d+8|0);Pa[f[(f[a>>2]|0)+16>>2]&7](a,d);c=b+88|0;b=f[c>>2]|0;f[c>>2]=d;if(!b)return 1;a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b);return 1}function Yg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=952;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+4>>2]|0;if(!b){Em(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;fd(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;_h(a+28|0,b)|0;pk(b);u=d;return c|0}function _g(a){a=a|0;var b=0,c=0,d=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=f[b>>2]|0;b=b+4|0;if(!(Va[f[(f[d>>2]|0)+16>>2]&127](d,f[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 $g(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(dl(a,f[b+8>>2]|0,g)|0)yf(0,b,c,d,e);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function ah(a){a=a|0;var b=0,c=0;f[a>>2]=1652;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function bh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1708;Jm(a+108|0);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function ch(a){a=a|0;var b=0,c=0;f[a>>2]=2076;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Cm(b);f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);Em(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);Em(a);return}function dh(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=b*3|0;if((b|0)>715827882){a=0;return a|0}_c(a,c,2620);_c(a+12|0,c,2616);gg(a+24|0,c);a=1;return a|0}function eh(a,b){a=a|0;b=b|0;if(!(Ee(a+8|0,b)|0)){a=0;return a|0}a=dd(a+88|0,b)|0;return a|0}function fh(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;Sf(a,c,0);return}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;e=a;if((c|0)==(a|0)){b=0;return b|0}d=c-a>>2;c=0;while(1){a=f[e+(c<<2)>>2]|0;if((f[a+60>>2]|0)==(b|0)){c=5;break}c=c+1|0;if(c>>>0>=d>>>0){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function hh(a){a=a|0;var b=0,c=0;f[a>>2]=1400;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function ih(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1456;Jm(a+108|0);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function jh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=952;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;vf(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Qk(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Qk(a,f,e)}u=g;return}function lh(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;d=a;if((c|0)==(a|0)){b=-1;return b|0}c=c-a>>2;a=0;while(1){if((f[(f[d+(a<<2)>>2]|0)+60>>2]|0)==(b|0)){c=5;break}a=a+1|0;if(a>>>0>=c>>>0){a=-1;c=5;break}}if((c|0)==5)return a|0;return 0}function mh(a){a=a|0;var b=0,c=0;f[a>>2]=2076;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Cm(b);f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,67,12612);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else Fa(12622,12521,68,12612);return 0}function oh(a){a=a|0;var b=0,c=0;f[a>>2]=1708;Jm(a+108|0);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function ph(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Va[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(dl(a,f[b+8>>2]|0,0)|0)Jg(0,b,c,d);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+28>>2]&7](a,b,c,d)}return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;fh(d);af(a,d,b);pk(d);u=c;return}function sh(a){a=a|0;var b=0,c=0;f[a>>2]=1456;Jm(a+108|0);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function th(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0)dg(a,f[c>>2]|0,f[c+4>>2]|0);else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}return}function uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((wk(Ca(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function vh(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function wh(a,b){a=a|0;b=b|0;var c=0;Ki(a);f[a>>2]=1056;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function xh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function yh(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Gf(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){a=0;return a|0}a=Ma[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return a|0}function zh(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=Vd(f[(f[a+36>>2]|0)+(c<<2)>>2]|0)|0;return a|0}function Ah(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=a+11|0;d=b[e>>0]|0;if(d<<24>>24<0)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0){ll(a);d=b[e>>0]|0}if(d<<24>>24<0)a=f[a>>2]|0;return a+c|0}function Bh(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Ch(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function Dh(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Eh(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){xb(a,b,c);return}else{Cb(a,0,0);return}}function Gh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Uc(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Hh(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;va(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;va(12);return -1}return b|0}function Ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function Jh(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function Kh(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Lh(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Mh(a,b){a=a|0;b=b|0;if(!(Va[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Ra[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function Nh(a,c,d){a=a|0;c=c|0;d=d|0;if(!(jj(a,c,d)|0)){a=0;return a|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){a=0;return a|0}a=(f[d+28>>2]|0)==9;return a|0}function Oh(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Ph(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(dl(a,f[b+8>>2]|0,g)|0)yf(0,b,c,d,e);return}function Qh(a){a=a|0;var b=0,c=0;f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);Em(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);Em(a);return}function Rh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Sh(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;return Gb(a,b,c)|0}function Uh(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Td(a+20|0,e,d);u=c;return}function Vh(a,c){a=a|0;c=c|0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;c=1}else c=0;return c|0}function Wh(){var a=0,b=0;a=_i(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Xh(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Td(a+20|0,e,d);u=c;return}function Yh(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 Zh(a){a=a|0;f[a>>2]=2360;_e(a+8|0);Em(a);return}function _h(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;pf(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function $h(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+32|0;d=c;ef(d,b);a=f[d+16>>2]|0;pk(d+4|0);u=c;return a|0}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function bi(a){a=a|0;var c=0,d=0;b[a+36>>0]=0;d=lk(f[a+32>>2]|0,0,7,0)|0;d=zj(d|0,I|0,3)|0;a=a+16|0;c=a;c=lk(d|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;f[a>>2]=c;f[a+4>>2]=I;return}function ci(a){a=a|0;var b=0,c=0;f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);return}function di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(4559,4565,76,4712);return 0}function ei(a){a=a|0;f[a>>2]=2360;_e(a+8|0);return}function fi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Zb(a,b,c,d,e);return}function gi(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function hi(a){a=a|0;var b=0,c=0;f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function ii(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(dl(a,f[b+8>>2]|0,0)|0)Jg(0,b,c,d);return}function ji(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function ki(a){a=a|0;var b=0;f[a>>2]=2580;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function li(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Ld(a,c,d)|0;return a|0}function mi(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function ni(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=924;b=f[a+8>>2]|0;if(!b){Em(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function oi(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Fa(12505,12521,59,12612);c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)>(b|0))return f[c+(b<<2)>>2]|0;else Fa(12622,12521,60,12612);return 0}function pi(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function qi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[13358+(a&15)>>0]|0|e;a=zj(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Ma[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function si(){var a=0,b=0;b=Xi()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)Ak(f[a+12>>2]|0);Ak(Ml()|0)}function ti(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function ui(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}Em(a);return}function vi(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function wi(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function xi(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function yi(a,b){a=a|0;b=b|0;return Va[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0}function zi(a){a=a|0;var b=0,c=0;f[a>>2]=924;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function Ai(a,b){a=a|0;b=b|0;return Ee(a+8|0,b)|0}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;pb(a,b,c);return}function Ci(a){a=a|0;xi(a);xi(a+40|0);$l(a+80|0);xi(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Di(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function Ei(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(9437,5019,61,9448);return 0}function Fi(a){a=a|0;var b=0;f[a>>2]=2336;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function Gi(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=zj(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Hi(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(9437,9038,65,9448);return 0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Ld(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Ji(){var a=0,b=0;a=_i(24)|0;f[a>>2]=924;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Ki(a){a=a|0;f[a>>2]=952;a=a+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Li(a){a=a|0;var c=0;Kh(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Mi(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a);return}function Ni(a){a=a|0;var b=0;f[a>>2]=2384;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function Oi(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Pi(a,b,c){a=a|0;b=$(b);c=c|0;var d=Ka;if((c|0)<1){a=0;return a|0}d=$($(1.0)/$(c|0));n[a+4>>2]=d;n[a>>2]=b;a=1;return a|0}function Qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Wb(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Ri(a){a=a|0;f[a>>2]=1908;Jm(a+88|0);Em(a);return}function Si(a){a=a|0;var b=0;f[a>>2]=2336;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b)return;Em(b);return}function Ti(a){a=a|0;jl(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Ui(a){a=a|0;Fj(a);f[a>>2]=2632;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Vi(a){a=a|0;f[a>>2]=1992;Jm(a+88|0);Em(a);return}function Wi(a){a=a|0;f[a>>2]=1908;Jm(a+88|0);return}function Xi(){var a=0,b=0;a=u;u=u+16|0;if(!(za(16744,3)|0)){b=qa(f[4187]|0)|0;u=a;return b|0}else xj(15894,a);return 0}function Yi(a){a=a|0;var b=0;f[a>>2]=2384;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b)return;Em(b);return}function Zi(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=ai(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function _i(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Za(b)|0;if(a|0)break;a=Il()|0;if(!a){a=0;break}Ta[a&3]()}return a|0}function $i(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Hm(f[a+60>>2]|0)|0;f[c>>2]=a;a=wk(ua(6,c|0)|0)|0;u=b;return a|0}function aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kc(b,c,d)|0}function bj(a){a=a|0;var b=0;b=u;u=u+16|0;rb(a);if(!(ra(f[4187]|0,0)|0)){u=b;return}else xj(15993,b)}function cj(a){a=a|0;f[a>>2]=1992;Jm(a+88|0);return}function dj(a){a=a|0;kk(a);f[a>>2]=2076;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function ej(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wc(b,c,d)|0}function fj(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=of(a,b,c,g)|0;u=e;return d|0}function hj(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function jj(a,b,c){a=a|0;b=b|0;c=c|0;return nh(a,b,c)|0}function kj(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 Qa[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return gi(b,c)|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return hf(b,c,d)|0}function nj(){var a=0;a=u;u=u+16|0;if(!(ta(16748,82)|0)){u=a;return}else xj(15943,a)}function oj(a){a=a|0;oc(a);Em(a);return}function pj(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;Ua[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function qj(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Ra[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hf(b,c,d)|0}function sj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)vf(a|0,(bm(c)|0)&255|0,b|0)|0;return a|0}function tj(a){a=a|0;return 4}function uj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Va[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function wj(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Va[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function xj(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[673]|0;de(b,a,c)|0;_f(10,b)|0;wa()}function yj(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Va[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;return Ug(a,b,c)|0}function Bj(a){a=a|0;gc(a);Em(a);return}function Cj(){}function Dj(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 (I=d,a-c>>>0|0)|0}function Ej(a){a=a|0;return 5}function Fj(a){a=a|0;var b=0;f[a>>2]=2660;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Gj(a){a=a|0;return 6}function Hj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Mg(b,c,d)|0}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Jj(a,b){a=a|0;b=b|0;if(!b)b=0;else b=re(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Kj(a,b,c){a=a|0;b=b|0;c=c|0;return lj(a,b,c)|0}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;return jd(b,c)|0}function Mj(a){a=a|0;f[a>>2]=1008;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Nj(a,b){a=a|0;b=b|0;lg(a,b);return}function Oj(a){a=a|0;if(!a)return;pk(a+4|0);Em(a);return}function Pj(a){a=a|0;a=a+4|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function Qj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Na[a&3](b|0,c|0,d|0,e|0,f|0)}function Rj(a,b,c){a=a|0;b=b|0;c=c|0;return Zg(a,b,c)|0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;return bg(a,b,c)|0}function Tj(a,b,c){a=a|0;b=b|0;c=c|0;return Eg(a,b,c)|0}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;return Wf(a,b,c)|0}function Vj(a,b,c){a=a|0;b=b|0;c=c|0;return +(+tg(a,b,c))}function Wj(a){a=a|0;a=f[a+48>>2]|0;return Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Xj(a,b){a=a|0;b=b|0;return Va[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Yj(a,b){a=a|0;b=b|0;return Va[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function Zj(a){a=a|0;a=f[a+48>>2]|0;return Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0}function _j(a,b,c){a=a|0;b=b|0;c=c|0;return Qf(a,b,c)|0}function $j(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function ak(a,b,c){a=a|0;b=b|0;c=c|0;return rk(b,c)|0}function bk(a){a=a|0;a=f[a+48>>2]|0;return Ra[f[(f[a>>2]|0)+36>>2]&127](a)|0}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return Ig(a,b,c)|0}function dk(a,b,c){a=a|0;b=b|0;c=c|0;return xg(a,b,c)|0}function ek(a){a=a|0;kk(a);f[a>>2]=1792;f[a+24>>2]=-1;return}function fk(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function gk(a,b,c){a=a|0;b=b|0;c=c|0;return mf(b,c)|0}function hk(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function ik(){var a=0;a=_i(40)|0;f[a>>2]=-1;hj(a+8|0);return a|0}function jk(){var a=0;a=_i(8)|0;f[a>>2]=896;f[a+4>>2]=-1;return a|0}function kk(a){a=a|0;Mj(a);f[a>>2]=1116;f[a+20>>2]=0;return}function lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function mk(a,b){a=a|0;b=b|0;Nj(a,b);return}function nk(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function ok(a,b){a=a|0;b=b|0;return $h(a,b)|0}function pk(a){a=a|0;if((b[a+11>>0]|0)<0)Em(f[a>>2]|0);return}function qk(a){a=a|0;if(!a)return;Oa[f[(f[a>>2]|0)+4>>2]&127](a);return}function rk(a,b){a=a|0;b=b|0;return gh(a,b)|0}function sk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Wa[a&7](b|0,c|0,d|0,e|0)}function tk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)li(a|0,b|0,c|0)|0;return a|0}function uk(a){a=a|0;var b=0;b=a+60|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function vk(a,b,c){a=a|0;b=b|0;c=c|0;return oi(b,c)|0}function wk(a){a=a|0;var b=0;if(a>>>0>4294963200){b=qm()|0;f[b>>2]=0-a;a=-1}return a|0}function xk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Ld(a|0,b|0,c|0)|0;return a|0}function yk(a,b){a=a|0;b=b|0;return -1}function zk(a){a=a|0;return 3}function Ak(a){a=a|0;var b=0;b=u;u=u+16|0;Ta[a&3]();xj(16046,b)}function Bk(a){a=a|0;if(!a)a=0;else a=(fe(a,800,872,0)|0)!=0;return a&1|0}function Ck(a){a=a|0;ye(a);Em(a);return}function Dk(a){a=a|0;Lk(a);f[a>>2]=2204;f[a+48>>2]=0;return}function Ek(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ma[a&31](b|0,c|0,d|0)|0}function Fk(a,b,c){a=a|0;b=b|0;c=c|0;fj(a,b,c);return}function Gk(a){a=a|0;if(!a)return;Jm(a+24|0);Em(a);return}function Hk(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Ik(){var a=0;a=_i(64)|0;Kh(a);return a|0}function Jk(a,b){a=a|0;b=b|0;return $(Pk(a,b))}function Kk(a){a=a|0;return f[a+8>>2]|0}function Lk(a){a=a|0;ki(a);f[a>>2]=2144;f[a+44>>2]=0;return}function Mk(a){a=a|0;if(!a)return;kf(a);Em(a);return}function Nk(a,b){a=a|0;b=b|0;return xl(a,b)|0}function Ok(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Pk(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Re(b,c,a)|0;return}function Rk(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&7](b|0,c|0,d|0)}function Tk(){var a=0;a=_i(96)|0;Li(a);return a|0}function Uk(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Vk(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Wk(a,b){a=a|0;b=b|0;if(!a)a=0;else a=bf(a,b,0)|0;return a|0}function Xk(a){a=a|0;var b=0;b=(Am()|0)+188|0;return ug(a,f[b>>2]|0)|0}function Yk(){var a=0;a=_i(12)|0;nl(a);return a|0}function Zk(){var a=0;a=_i(40)|0;xi(a);return a|0}function _k(a,b){a=a|0;b=b|0;return 1}function $k(a,b){a=a|0;b=b|0;return gl(a,b)|0}function al(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(4);return 0}function bl(a){a=a|0;Af(a);Em(a);return}function cl(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function dl(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function el(a,b){a=a|0;b=b|0;var c=0;c=sl(a|0)|0;return ((b|0)==0?a:c)|0}function fl(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function gl(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function hl(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wb(a,b,c,d,0)|0}function jl(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function kl(){var a=0;a=_i(84)|0;Fj(a);return a|0}function ll(a){a=a|0;Fa(15566,15444,1194,15595)}function ml(a){a=a|0;Fa(15415,15444,1183,15545)}function nl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function ol(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function pl(a){a=a|0;Fa(15392,15291,315,15595)}function ql(a){a=a|0;Fa(15268,15291,304,15545)}function rl(a,b,c){a=a|0;b=b|0;c=c|0;return Va[a&127](b|0,c|0)|0}function sl(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function tl(a){a=a|0;Lk(a);f[a>>2]=2496;return}function ul(){var a=0;a=_i(1)|0;Jm(a);return a|0}function vl(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function wl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(8)}function xl(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function yl(a){a=a|0;return $(n[a+20>>2])} -function Xa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;pa=u;u=u+48|0;fa=pa+40|0;ma=pa+28|0;na=pa+8|0;Q=pa+4|0;ha=pa;f[ma>>2]=0;oa=ma+4|0;f[oa>>2]=0;f[ma+8>>2]=0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;n[na+16>>2]=$(1.0);ga=a+132|0;ba=f[a+136>>2]|0;a:do if((c|0)>0){aa=a+240|0;G=a+412|0;R=a+408|0;F=a+8|0;E=ma+8|0;_=a+36|0;C=a+40|0;Z=c+-1|0;A=a+436|0;B=a+424|0;D=na+4|0;z=a+396|0;x=0;w=0;while(1){d=x+1|0;e=f[G>>2]|0;b:do if((e|0)==-1){f[R>>2]=7;ca=160}else{t=(f[A>>2]|0)+(e<<2)|0;v=f[t>>2]|0;e=v+-1|0;f[t>>2]=e;if((v|0)<1){g=-1;break a}g=f[(f[(f[B>>2]|0)+((f[G>>2]|0)*12|0)>>2]|0)+(e<<2)>>2]|0;e=f[2468+(g<<2)>>2]|0;f[R>>2]=e;if(!g){e=f[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){g=-1;break a}s=f[e+-4>>2]|0;r=(s|0)<0;c:do if(!r){e=s+(((s>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)ca=10;else{i=f[F>>2]|0;h=f[i+12>>2]|0;while(1){g=f[h+(e<<2)>>2]|0;if((g|0)<=-1){o=0;break c}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){o=1;break}}}}else{e=s;ca=10}while(0);if((ca|0)==10){ca=0;i=f[F>>2]|0;h=f[i+12>>2]|0;o=1}v=x*3|0;p=v+1|0;f[h+(s<<2)>>2]=p;f[h+(p<<2)>>2]=s;t=v+2|0;f[h+(e<<2)>>2]=t;f[h+(t<<2)>>2]=e;g=s+1|0;if(!r?(X=((g|0)%3|0|0)==0?s+-2|0:g,(X|0)>=0):0){q=f[i>>2]|0;m=f[q+(X<<2)>>2]|0;f[q+(v<<2)>>2]=m;if((m|0)>-1){l=i+24|0;i=i+28|0;h=f[i>>2]|0;g=f[l>>2]|0;k=h-g>>2;do if(k>>>0<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){Oe(l,j-k|0);g=f[l>>2]|0;break}if(j>>>0>>0?(H=g+(j<<2)|0,(h|0)!=(H|0)):0)f[i>>2]=h+(~((h+-4-H|0)>>>2)<<2)}while(0);f[g+(m<<2)>>2]=v;i=f[F>>2]|0;q=m}else q=m}else{f[(f[i>>2]|0)+(v<<2)>>2]=-1073741824;q=-1073741824}g=e+1|0;if(!o?(W=((g|0)%3|0|0)==0?e+-2|0:g,(W|0)>=0):0){o=f[i>>2]|0;l=f[o+(W<<2)>>2]|0;f[o+(p<<2)>>2]=l;if((l|0)>-1){k=i+24|0;h=i+28|0;g=f[h>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=l>>>0){i=l+1|0;if(i>>>0>j>>>0){Oe(k,i-j|0);e=f[k>>2]|0;break}if(i>>>0>>0?(K=e+(i<<2)|0,(g|0)!=(K|0)):0)f[h>>2]=g+(~((g+-4-K|0)>>>2)<<2)}while(0);f[e+(l<<2)>>2]=p;i=f[F>>2]|0}}else f[(f[i>>2]|0)+(p<<2)>>2]=-1073741824;if(!r?(U=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(U|0)>=0):0){s=f[i>>2]|0;m=f[s+(U<<2)>>2]|0;f[s+(t<<2)>>2]=m;if((m|0)>-1){l=i+24|0;k=i+28|0;g=f[k>>2]|0;e=f[l>>2]|0;j=g-e>>2;do if(j>>>0<=m>>>0){i=m+1|0;h=g;if(i>>>0>j>>>0){Oe(l,i-j|0);e=f[l>>2]|0;break}if(i>>>0>>0){g=e+(i<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);g=t;e=e+(m<<2)|0;ca=47}}else{g=-1073741824;e=(f[i>>2]|0)+(t<<2)|0;ca=47}if((ca|0)==47){ca=0;f[e>>2]=g}if((w|0)>(ba|0)){g=-1;break a}e=(f[ga>>2]|0)+(q>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(q&31));f[(f[oa>>2]|0)+-4>>2]=v;e=v;g=0;j=w;break}switch(e|0){case 7:{ca=160;break b}case 3:case 5:{e=f[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){g=-1;break a}r=f[e+-4>>2]|0;s=x*3|0;o=((g|0)==3?2:1)+s|0;e=f[F>>2]|0;t=f[e+12>>2]|0;f[t+(o<<2)>>2]=r;f[t+(r<<2)>>2]=o;t=w+1|0;f[(f[e>>2]|0)+(o<<2)>>2]=w;if((w|0)>-1){j=e+24|0;h=e+28|0;g=f[h>>2]|0;e=f[j>>2]|0;i=g-e>>2;do if(i>>>0<=w>>>0){if(t>>>0>i>>>0){Oe(j,t-i|0);e=f[j>>2]|0;break}if(t>>>0>>0?(J=e+(t<<2)|0,(g|0)!=(J|0)):0)f[h>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);f[e+(w<<2)>>2]=o;e=f[F>>2]|0}p=(o|0)<0;g=o+1|0;if(p)l=o;else l=((g|0)%3|0|0)==0?o+-2|0:g;q=(r|0)<0;if(!q?(T=(((r>>>0)%3|0|0)==0?2:-1)+r|0,(T|0)>=0):0){w=f[e>>2]|0;m=f[w+(T<<2)>>2]|0;f[w+(l<<2)>>2]=m;if((m|0)>-1){k=e+24|0;h=e+28|0;g=f[h>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=m>>>0){i=m+1|0;if(i>>>0>j>>>0){Oe(k,i-j|0);e=f[k>>2]|0;break}if(i>>>0>>0?(I=e+(i<<2)|0,(g|0)!=(I|0)):0)f[h>>2]=g+(~((g+-4-I|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=l;e=f[F>>2]|0}}else f[(f[e>>2]|0)+(l<<2)>>2]=-1073741824;do if(!p)if(!((o>>>0)%3|0)){o=o+2|0;break}else{o=o+-1|0;break}while(0);g=r+1|0;if(!q?(V=((g|0)%3|0|0)==0?r+-2|0:g,(V|0)>=0):0){w=f[e>>2]|0;m=f[w+(V<<2)>>2]|0;f[w+(o<<2)>>2]=m;if((m|0)>-1){l=e+24|0;k=e+28|0;g=f[k>>2]|0;e=f[l>>2]|0;j=g-e>>2;do if(j>>>0<=m>>>0){i=m+1|0;h=g;if(i>>>0>j>>>0){Oe(l,i-j|0);e=f[l>>2]|0;break}if(i>>>0>=j>>>0)break;g=e+(i<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}while(0);g=o;e=e+(m<<2)|0;ca=88}}else{g=-1073741824;e=(f[e>>2]|0)+(o<<2)|0;ca=88}if((ca|0)==88){ca=0;f[e>>2]=g}f[(f[oa>>2]|0)+-4>>2]=s;e=s;g=1;j=t;break b}case 1:break;default:{g=-1;break a}}g=f[ma>>2]|0;e=f[oa>>2]|0;if((g|0)==(e|0)){g=-1;break a}o=e+-4|0;l=f[o>>2]|0;f[oa>>2]=o;j=f[D>>2]|0;d:do if(j){k=j+-1|0;i=(k&j|0)==0;if(i)m=k&x;else m=(x>>>0)%(j>>>0)|0;h=f[(f[na>>2]|0)+(m<<2)>>2]|0;if(h){if(i)do{h=f[h>>2]|0;if(!h){e=o;break d}if((f[h+4>>2]&k|0)!=(m|0)){e=o;break d}}while((f[h+8>>2]|0)!=(x|0));else do{h=f[h>>2]|0;if(!h){e=o;break d}if((((f[h+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(m|0)){e=o;break d}}while((f[h+8>>2]|0)!=(x|0));h=h+12|0;if((o|0)==(f[E>>2]|0)){$e(ma,h);g=f[ma>>2]|0;e=f[oa>>2]|0;break}else{f[o>>2]=f[h>>2];f[oa>>2]=e;break}}else e=o}else e=o;while(0);if((g|0)==(e|0)){g=-1;break a}o=f[e+-4>>2]|0;s=x*3|0;r=s+2|0;e=f[F>>2]|0;v=f[e+12>>2]|0;f[v+(o<<2)>>2]=r;f[v+(r<<2)>>2]=o;q=s+1|0;f[v+(l<<2)>>2]=q;f[v+(q<<2)>>2]=l;if((o|0)>=0){g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;h=f[e>>2]|0;if((g|0)>=0){i=f[h+(g<<2)>>2]|0;f[h+(s<<2)>>2]=i;if((i|0)>-1){m=e+24|0;h=e+28|0;g=f[h>>2]|0;e=f[m>>2]|0;k=g-e>>2;do if(k>>>0<=i>>>0){j=i+1|0;if(j>>>0>k>>>0){Oe(m,j-k|0);e=f[m>>2]|0;break}if(j>>>0>>0?(P=e+(j<<2)|0,(g|0)!=(P|0)):0)f[h>>2]=g+(~((g+-4-P|0)>>>2)<<2)}while(0);f[e+(i<<2)>>2]=s;e=f[F>>2]|0;h=1}else h=0}else{f[h+(s<<2)>>2]=-1073741824;h=0;i=-1073741824}g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;j=f[e>>2]|0;if((g|0)>=0){p=f[j+(g<<2)>>2]|0;f[j+(q<<2)>>2]=p;if((p|0)>-1){o=e+24|0;j=e+28|0;g=f[j>>2]|0;e=f[o>>2]|0;m=g-e>>2;do if(m>>>0<=p>>>0){k=p+1|0;if(k>>>0>m>>>0){Oe(o,k-m|0);e=f[o>>2]|0;break}if(k>>>0>>0?(O=e+(k<<2)|0,(g|0)!=(O|0)):0)f[j>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=q;e=f[F>>2]|0;q=h}else q=h}else{g=j;ca=120}}else{g=f[e>>2]|0;f[g+(s<<2)>>2]=-1073741824;h=0;i=-1073741824;ca=120}if((ca|0)==120){ca=0;f[g+(q<<2)>>2]=-1073741824;q=h}if((l|0)>=0){g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;h=f[e>>2]|0;if((g|0)>=0){p=f[h+(g<<2)>>2]|0;f[h+(r<<2)>>2]=p;if((p|0)>-1){o=e+24|0;m=e+28|0;g=f[m>>2]|0;e=f[o>>2]|0;k=g-e>>2;do if(k>>>0<=p>>>0){j=p+1|0;h=g;if(j>>>0>k>>>0){Oe(o,j-k|0);e=f[o>>2]|0;break}if(j>>>0>>0){g=e+(j<<2)|0;if((h|0)==(g|0))break;f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);g=r;e=e+(p<<2)|0;ca=141}}else{g=-1073741824;e=h+(r<<2)|0;ca=141}if((ca|0)==141){ca=0;f[e>>2]=g}h=l+1|0;h=((h|0)%3|0|0)==0?l+-2|0:h;g=f[F>>2]|0;if((h|0)<0){e=g;l=h;p=-1073741824}else{e=g;l=h;p=f[(f[g>>2]|0)+(h<<2)>>2]|0}}else{f[(f[e>>2]|0)+(r<<2)>>2]=-1073741824;p=-1073741824}t=f[z>>2]|0;v=t+(i<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[t+(p<<2)>>2]|0);e:do if((l|0)>-1){o=i+1|0;if(!q){j=f[e>>2]|0;k=e+12|0;g=l;while(1){f[j+(g<<2)>>2]=i;v=g+1|0;g=((v|0)%3|0|0)==0?g+-2|0:v;if((g|0)<0)break e;h=f[(f[k>>2]|0)+(g<<2)>>2]|0;g=h+1|0;if((h|0)<0)break e;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<=-1)break e}}do{f[(f[e>>2]|0)+(l<<2)>>2]=i;m=e+24|0;k=e+28|0;g=f[k>>2]|0;e=f[m>>2]|0;j=g-e>>2;do if(j>>>0<=i>>>0){h=g;if(o>>>0>j>>>0){Oe(m,o-j|0);e=f[m>>2]|0;break}if(o>>>0>>0){g=e+(o<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);f[e+(i<<2)>>2]=l;g=l+1|0;g=((g|0)%3|0|0)==0?l+-2|0:g;e=f[F>>2]|0;if((g|0)<0)break e;h=f[(f[e+12>>2]|0)+(g<<2)>>2]|0;g=h+1|0;if((h|0)<0)break e;l=((g|0)%3|0|0)==0?h+-2|0:g}while((l|0)>-1)}while(0);f[(f[e+24>>2]|0)+(p<<2)>>2]=-1073741824;f[(f[oa>>2]|0)+-4>>2]=s;e=s;g=0;j=w}while(0);if((ca|0)==160){ca=0;k=x*3|0;f[fa>>2]=k;h=f[F>>2]|0;m=w+1|0;e=f[h>>2]|0;f[e+(k<<2)>>2]=w;if((w|0)<=-1){g=k+1|0;i=w+2|0;f[e+(g<<2)>>2]=m;if((w|0)==-1){e=h;l=i;ca=169}else{g=k;l=i}}else{j=h+24|0;h=h+28|0;g=f[h>>2]|0;e=f[j>>2]|0;i=g-e>>2;do if(i>>>0<=w>>>0){if(m>>>0>i>>>0){Oe(j,m-i|0);e=f[j>>2]|0;break}if(m>>>0>>0?(N=e+(m<<2)|0,(g|0)!=(N|0)):0)f[h>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(w<<2)>>2]=k;e=f[F>>2]|0;g=(f[fa>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=m;l=w+2|0;ca=169}if((ca|0)==169){ca=0;k=e+24|0;i=e+28|0;h=f[i>>2]|0;e=f[k>>2]|0;j=h-e>>2;do if(j>>>0<=m>>>0){if(l>>>0>j>>>0){Oe(k,l-j|0);e=f[k>>2]|0;break}if(l>>>0>>0?(M=e+(l<<2)|0,(h|0)!=(M|0)):0)f[i>>2]=h+(~((h+-4-M|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=g;h=f[F>>2]|0;g=f[fa>>2]|0;e=f[h>>2]|0}k=g+2|0;m=w+3|0;f[e+(k<<2)>>2]=l;if((l|0)>-1){j=h+24|0;h=h+28|0;g=f[h>>2]|0;e=f[j>>2]|0;i=g-e>>2;do if(i>>>0<=l>>>0){if(m>>>0>i>>>0){Oe(j,m-i|0);e=f[j>>2]|0;break}if(m>>>0>>0?(L=e+(m<<2)|0,(g|0)!=(L|0)):0)f[h>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);f[e+(l<<2)>>2]=k}e=f[oa>>2]|0;if((e|0)==(f[E>>2]|0)){$e(ma,fa);e=f[oa>>2]|0}else{f[e>>2]=f[fa>>2];e=e+4|0;f[oa>>2]=e}e=f[e+-4>>2]|0;g=1;j=m}f[Q>>2]=e;f[fa>>2]=f[Q>>2];dc(aa,fa);f:do if(g?(S=c-x|0,Y=S+-1|0,y=f[C>>2]|0,(y|0)!=(f[_>>2]|0)):0){e=y;do{g=f[e+-8>>2]|0;if((g|0)>=(S|0)){g=-1;break a}if((g|0)!=(Y|0))break f;g=b[e+-4>>0]|0;i=f[e+-12>>2]|0;f[C>>2]=e+-12;if((i|0)<0){g=-1;break a}e=f[(f[oa>>2]|0)+-4>>2]|0;h=(e|0)<0;do if(!(g&1)){if(!h)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{g=e+1|0;if(!h)e=((g|0)%3|0|0)==0?e+-2|0:g}while(0);f[fa>>2]=Z-i;x=sc(na,fa)|0;f[x>>2]=e;e=f[C>>2]|0}while((e|0)!=(f[_>>2]|0))}while(0);if((d|0)<(c|0)){x=d;w=j}else{A=j;ca=202;break}}}else{d=0;A=0;ca=202}while(0);g:do if((ca|0)==202)if((A|0)<=(ba|0)){g=f[oa>>2]|0;h:do if((g|0)==(f[ma>>2]|0))e=a+8|0;else{s=a+320|0;e=a+8|0;z=a+60|0;x=a+64|0;v=a+68|0;t=a+76|0;w=a+80|0;y=a+72|0;i:while(1){ba=g;f[fa>>2]=f[ba+-4>>2];f[oa>>2]=ba+-4;do if(!(Tg(s)|0)){g=f[x>>2]|0;h=f[v>>2]|0;if((g|0)==(h<<5|0)){if((g+1|0)<0){ql(z);h=f[v>>2]|0}ba=h<<6;g=g+32&-32;Le(z,h<<5>>>0<1073741823?(ba>>>0>>0?g:ba):2147483647);g=f[x>>2]|0}f[x>>2]=g+1;ba=(f[z>>2]|0)+(g>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(g&31));g=f[t>>2]|0;if((g|0)==(f[w>>2]|0)){$e(y,fa);break}else{f[g>>2]=f[fa>>2];f[t>>2]=g+4;break}}else{i=f[e>>2]|0;ba=f[i>>2]|0;p=ba;if((d|0)>=(((f[i+4>>2]|0)-ba>>2>>>0)/3|0|0))break i;m=f[fa>>2]|0;k=(m|0)<0;j:do if(!k){g=m+(((m>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){h=f[i+12>>2]|0;j=g;while(1){g=f[h+(j<<2)>>2]|0;if((g|0)<=-1){h=0;g=j;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){h=1;break}else j=g}if(k){j=m;ca=215;break}}else h=1;j=m+1|0;j=((j|0)%3|0|0)==0?m+-2|0:j;if((j|0)<0)ca=215;else{k=f[i+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)<=-1){q=0;break j}ba=j+1|0;j=((ba|0)%3|0|0)==0?j+-2|0:ba;if((j|0)<0){q=1;l=j;break}else l=j}}}else{h=1;g=m;j=m;ca=215}while(0);if((ca|0)==215){ca=0;k=f[i+12>>2]|0;q=1;l=j}r=d+1|0;d=d*3|0;f[ha>>2]=d;f[k+(d<<2)>>2]=m;f[k+(m<<2)>>2]=d;d=(f[ha>>2]|0)+1|0;f[k+(d<<2)>>2]=g;f[k+(g<<2)>>2]=d;d=(f[ha>>2]|0)+2|0;f[k+(d<<2)>>2]=l;f[k+(l<<2)>>2]=d;d=f[ha>>2]|0;j=g+1|0;if(!h?(ka=((j|0)%3|0|0)==0?g+-2|0:j,(ka|0)>=0):0){o=f[p+(ka<<2)>>2]|0;f[p+(d<<2)>>2]=o;if((o|0)>-1){m=i+24|0;i=i+28|0;h=f[i>>2]|0;g=f[m>>2]|0;k=h-g>>2;do if(k>>>0<=o>>>0){j=o+1|0;if(j>>>0>k>>>0){Oe(m,j-k|0);g=f[m>>2]|0;break}if(j>>>0>>0?(ea=g+(j<<2)|0,(h|0)!=(ea|0)):0)f[i>>2]=h+(~((h+-4-ea|0)>>>2)<<2)}while(0);f[g+(o<<2)>>2]=d;d=f[ha>>2]|0;i=f[e>>2]|0}}else f[p+(d<<2)>>2]=-1073741824;m=d+1|0;g=l+1|0;if(!q?(ja=((g|0)%3|0|0)==0?l+-2|0:g,(ja|0)>=0):0){ba=f[i>>2]|0;l=f[ba+(ja<<2)>>2]|0;f[ba+(m<<2)>>2]=l;if((l|0)>-1){k=i+24|0;h=i+28|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;do if(j>>>0<=l>>>0){i=l+1|0;if(i>>>0>j>>>0){Oe(k,i-j|0);d=f[k>>2]|0;break}if(i>>>0>>0?(da=d+(i<<2)|0,(g|0)!=(da|0)):0)f[h>>2]=g+(~((g+-4-da|0)>>>2)<<2)}while(0);f[d+(l<<2)>>2]=m;d=f[ha>>2]|0;i=f[e>>2]|0}}else f[(f[i>>2]|0)+(m<<2)>>2]=-1073741824;o=d+2|0;g=f[fa>>2]|0;h=g+1|0;if((g|0)>=0?(ia=((h|0)%3|0|0)==0?g+-2|0:h,(ia|0)>=0):0){ba=f[i>>2]|0;m=f[ba+(ia<<2)>>2]|0;f[ba+(o<<2)>>2]=m;if((m|0)>-1){l=i+24|0;k=i+28|0;g=f[k>>2]|0;d=f[l>>2]|0;j=g-d>>2;do if(j>>>0<=m>>>0){i=m+1|0;h=g;if(i>>>0>j>>>0){Oe(l,i-j|0);d=f[l>>2]|0;break}if(i>>>0>>0){g=d+(i<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);f[d+(m<<2)>>2]=o;d=f[ha>>2]|0}}else f[(f[i>>2]|0)+(o<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[ga>>2]|0;ba=g+(d>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(d&31));d=f[ha>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;ba=g+(d>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(d&31));d=f[ha>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[x>>2]|0;g=f[v>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){ql(z);g=f[v>>2]|0}ba=g<<6;d=d+32&-32;Le(z,g<<5>>>0<1073741823?(ba>>>0>>0?d:ba):2147483647);d=f[x>>2]|0}f[x>>2]=d+1;ba=(f[z>>2]|0)+(d>>>5<<2)|0;f[ba>>2]=f[ba>>2]|1<<(d&31);d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))$e(y,ha);else{f[d>>2]=f[ha>>2];f[t>>2]=d+4}d=r}while(0);g=f[oa>>2]|0;if((g|0)==(f[ma>>2]|0))break h}g=-1;break g}while(0);ka=f[e>>2]|0;if((d|0)==(((f[ka+4>>2]|0)-(f[ka>>2]|0)>>2>>>0)/3|0|0)){i=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[i>>2]|0;h=e-d>>2;if(A>>>0>h>>>0){Oe(i,A-h|0);g=A;break}if(A>>>0>>0?(la=d+(A<<2)|0,(e|0)!=(la|0)):0){f[g>>2]=e+(~((e+-4-la|0)>>>2)<<2);g=A}else g=A}else g=-1}else g=-1;while(0);d=f[na+8>>2]|0;if(d|0)do{la=d;d=f[d>>2]|0;Em(la)}while((d|0)!=0);d=f[na>>2]|0;f[na>>2]=0;if(d|0)Em(d);d=f[ma>>2]|0;if(!d){u=pa;return g|0}e=f[oa>>2]|0;if((e|0)!=(d|0))f[oa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d);u=pa;return g|0}function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;oa=u;u=u+48|0;la=oa+28|0;ma=oa+8|0;ea=oa+4|0;ga=oa;f[la>>2]=0;na=la+4|0;f[na>>2]=0;f[la+8>>2]=0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ma+12>>2]=0;n[ma+16>>2]=$(1.0);fa=a+132|0;aa=f[a+136>>2]|0;a:do if((c|0)>0){S=a+316|0;A=ma+4|0;C=a+8|0;D=la+8|0;T=a+312|0;Q=a+304|0;R=a+308|0;_=a+36|0;z=a+40|0;Z=c+-1|0;x=0;y=0;b:while(1){d=x+1|0;c:do if(!(b[S>>0]|0))ba=93;else{g=f[T>>2]|0;j=f[Q>>2]|0;k=f[R>>2]|0;e=j+(g>>>3)|0;if(e>>>0>>0?(w=h[e>>0]|0,E=g+1|0,f[T>>2]=E,w&1<<(g&7)|0):0){e=j+(E>>>3)|0;if(e>>>0>>0){i=(h[e>>0]|0)>>>(E&7)&1;g=g+2|0;f[T>>2]=g}else{g=E;i=0}e=j+(g>>>3)|0;if(e>>>0>>0){e=(h[e>>0]|0)>>>(g&7);f[T>>2]=g+1;e=e<<1&2}else e=0;g=(e|i)<<1|1;switch(g&7){case 1:{ba=93;break c}case 3:case 5:{e=f[na>>2]|0;if((f[la>>2]|0)==(e|0)){B=-1;break a}v=f[e+-4>>2]|0;w=x*3|0;t=((g|0)==5?2:1)+w|0;g=f[C>>2]|0;e=f[g+12>>2]|0;f[e+(t<<2)>>2]=v;f[e+(v<<2)>>2]=t;e=y+1|0;f[(f[g>>2]|0)+(t<<2)>>2]=y;if((y|0)>-1){l=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[l>>2]|0;k=i-g>>2;do if(k>>>0<=y>>>0){if(e>>>0>k>>>0){Oe(l,e-k|0);g=f[l>>2]|0;break}if(e>>>0>>0?(G=g+(e<<2)|0,(i|0)!=(G|0)):0)f[j>>2]=i+(~((i+-4-G|0)>>>2)<<2)}while(0);f[g+(y<<2)>>2]=t;g=f[C>>2]|0}r=(t|0)<0;i=t+1|0;if(r)p=t;else p=((i|0)%3|0|0)==0?t+-2|0:i;s=(v|0)<0;if(!s?(U=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(U|0)>=0):0){y=f[g>>2]|0;q=f[y+(U<<2)>>2]|0;f[y+(p<<2)>>2]=q;if((q|0)>-1){o=g+24|0;m=g+28|0;i=f[m>>2]|0;g=f[o>>2]|0;l=i-g>>2;do if(l>>>0<=q>>>0){k=q+1|0;j=i;if(k>>>0>l>>>0){Oe(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0>=l>>>0)break;i=g+(k<<2)|0;if((j|0)==(i|0))break;f[m>>2]=j+(~((j+-4-i|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=p;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(p<<2)>>2]=-1073741824;do if(!r)if(!((t>>>0)%3|0)){q=t+2|0;break}else{q=t+-1|0;break}else q=t;while(0);i=v+1|0;if(!s?(W=((i|0)%3|0|0)==0?v+-2|0:i,(W|0)>=0):0){y=f[g>>2]|0;p=f[y+(W<<2)>>2]|0;f[y+(q<<2)>>2]=p;if((p|0)>-1){o=g+24|0;m=g+28|0;i=f[m>>2]|0;g=f[o>>2]|0;l=i-g>>2;do if(l>>>0<=p>>>0){k=p+1|0;j=i;if(k>>>0>l>>>0){Oe(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0>=l>>>0)break;i=g+(k<<2)|0;if((j|0)==(i|0))break;f[m>>2]=j+(~((j+-4-i|0)>>>2)<<2)}while(0);i=q;g=g+(p<<2)|0;ba=91}}else{i=-1073741824;g=(f[g>>2]|0)+(q<<2)|0;ba=91}if((ba|0)==91){ba=0;f[g>>2]=i}f[(f[na>>2]|0)+-4>>2]=w;break}case 7:{l=x*3|0;f[ea>>2]=l;i=f[C>>2]|0;m=y+1|0;e=f[i>>2]|0;f[e+(l<<2)>>2]=y;if((y|0)<=-1){g=l+1|0;j=y+2|0;f[e+(g<<2)>>2]=m;if((y|0)==-1){e=i;o=j;ba=170}else{g=l;o=j}}else{k=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=y>>>0){if(m>>>0>j>>>0){Oe(k,m-j|0);e=f[k>>2]|0;break}if(m>>>0>>0?(L=e+(m<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);f[e+(y<<2)>>2]=l;e=f[C>>2]|0;g=(f[ea>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=m;o=y+2|0;ba=170}if((ba|0)==170){ba=0;l=e+24|0;j=e+28|0;i=f[j>>2]|0;e=f[l>>2]|0;k=i-e>>2;do if(k>>>0<=m>>>0){if(o>>>0>k>>>0){Oe(l,o-k|0);e=f[l>>2]|0;break}if(o>>>0>>0?(K=e+(o<<2)|0,(i|0)!=(K|0)):0)f[j>>2]=i+(~((i+-4-K|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=g;i=f[C>>2]|0;g=f[ea>>2]|0;e=f[i>>2]|0}l=g+2|0;m=y+3|0;f[e+(l<<2)>>2]=o;if((o|0)>-1){k=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=o>>>0){if(m>>>0>j>>>0){Oe(k,m-j|0);e=f[k>>2]|0;break}if(m>>>0>>0?(J=e+(m<<2)|0,(g|0)!=(J|0)):0)f[i>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=l}e=f[na>>2]|0;if((e|0)==(f[D>>2]|0))$e(la,ea);else{f[e>>2]=f[ea>>2];f[na>>2]=e+4}e=m;break}default:break b}l=c-x|0;m=l+-1|0;g=f[z>>2]|0;if((g|0)==(f[_>>2]|0))break;while(1){i=f[g+-8>>2]|0;if((i|0)>=(l|0)){B=-1;break a}if((i|0)!=(m|0))break c;i=b[g+-4>>0]|0;k=f[g+-12>>2]|0;f[z>>2]=g+-12;if((k|0)<0){B=-1;break a}g=f[(f[na>>2]|0)+-4>>2]|0;j=(g|0)<0;do if(!(i&1)){if(!j)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else{i=g+1|0;if(!j)g=((i|0)%3|0|0)==0?g+-2|0:i}while(0);f[ea>>2]=Z-k;y=sc(ma,ea)|0;f[y>>2]=g;g=f[z>>2]|0;if((g|0)==(f[_>>2]|0))break c}}e=f[na>>2]|0;if((f[la>>2]|0)==(e|0)){B=-1;break a}v=f[e+-4>>2]|0;t=(v|0)<0;d:do if(!t){e=v+(((v>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)ba=13;else{j=f[C>>2]|0;i=f[j+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){g=j;q=0;p=e;break d}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){g=j;q=1;p=e;break}}}}else{e=v;ba=13}while(0);if((ba|0)==13){ba=0;g=f[C>>2]|0;i=f[g+12>>2]|0;q=1;p=e}e=x*3|0;r=e+1|0;f[i+(v<<2)>>2]=r;f[i+(r<<2)>>2]=v;w=e+2|0;f[i+(p<<2)>>2]=w;f[i+(w<<2)>>2]=p;i=v+1|0;if(!t?(Y=((i|0)%3|0|0)==0?v+-2|0:i,(Y|0)>=0):0){x=f[g>>2]|0;o=f[x+(Y<<2)>>2]|0;f[x+(e<<2)>>2]=o;if((o|0)>-1){m=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0>>0?(F=g+(k<<2)|0,(i|0)!=(F|0)):0)f[j>>2]=i+(~((i+-4-F|0)>>>2)<<2)}while(0);f[g+(o<<2)>>2]=e;g=f[C>>2]|0;s=o}else s=o}else{f[(f[g>>2]|0)+(e<<2)>>2]=-1073741824;s=-1073741824}i=p+1|0;if(!q?(X=((i|0)%3|0|0)==0?p+-2|0:i,(X|0)>=0):0){x=f[g>>2]|0;o=f[x+(X<<2)>>2]|0;f[x+(r<<2)>>2]=o;if((o|0)>-1){m=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0>>0?(I=g+(k<<2)|0,(i|0)!=(I|0)):0)f[j>>2]=i+(~((i+-4-I|0)>>>2)<<2)}while(0);f[g+(o<<2)>>2]=r;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(r<<2)>>2]=-1073741824;if(!t?(V=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(V|0)>=0):0){x=f[g>>2]|0;o=f[x+(V<<2)>>2]|0;f[x+(w<<2)>>2]=o;if((o|0)>-1){m=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0>>0?(H=g+(k<<2)|0,(i|0)!=(H|0)):0)f[j>>2]=i+(~((i+-4-H|0)>>>2)<<2)}while(0);i=w;g=g+(o<<2)|0;ba=50}}else{i=-1073741824;g=(f[g>>2]|0)+(w<<2)|0;ba=50}if((ba|0)==50){ba=0;f[g>>2]=i}if((y|0)>(aa|0)){B=-1;break a}ba=(f[fa>>2]|0)+(s>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(s&31));ba=189}while(0);if((ba|0)==93){ba=0;g=f[la>>2]|0;e=f[na>>2]|0;if((g|0)==(e|0)){B=-1;break a}o=e+-4|0;t=f[o>>2]|0;f[na>>2]=o;k=f[A>>2]|0;e:do if(k){l=k+-1|0;j=(l&k|0)==0;if(j)m=l&x;else m=(x>>>0)%(k>>>0)|0;i=f[(f[ma>>2]|0)+(m<<2)>>2]|0;if(i){if(j)do{i=f[i>>2]|0;if(!i){e=o;break e}if((f[i+4>>2]&l|0)!=(m|0)){e=o;break e}}while((f[i+8>>2]|0)!=(x|0));else do{i=f[i>>2]|0;if(!i){e=o;break e}if((((f[i+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(m|0)){e=o;break e}}while((f[i+8>>2]|0)!=(x|0));i=i+12|0;if((o|0)==(f[D>>2]|0)){$e(la,i);g=f[la>>2]|0;e=f[na>>2]|0;break}else{f[o>>2]=f[i>>2];f[na>>2]=e;break}}else e=o}else e=o;while(0);if((g|0)==(e|0)){B=-1;break a}p=f[e+-4>>2]|0;e=x*3|0;s=e+2|0;i=f[C>>2]|0;x=f[i+12>>2]|0;f[x+(p<<2)>>2]=s;f[x+(s<<2)>>2]=p;r=e+1|0;f[x+(t<<2)>>2]=r;f[x+(r<<2)>>2]=t;if((p|0)>=0){g=(((p>>>0)%3|0|0)==0?2:-1)+p|0;j=f[i>>2]|0;if((g|0)>=0){k=f[j+(g<<2)>>2]|0;f[j+(e<<2)>>2]=k;if((k|0)>-1){o=i+24|0;j=i+28|0;i=f[j>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=k>>>0){l=k+1|0;if(l>>>0>m>>>0){Oe(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(P=g+(l<<2)|0,(i|0)!=(P|0)):0)f[j>>2]=i+(~((i+-4-P|0)>>>2)<<2)}while(0);f[g+(k<<2)>>2]=e;i=f[C>>2]|0;j=1}else j=0}else{f[j+(e<<2)>>2]=-1073741824;j=0;k=-1073741824}g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;l=f[i>>2]|0;if((g|0)>=0){q=f[l+(g<<2)>>2]|0;f[l+(r<<2)>>2]=q;if((q|0)>-1){p=i+24|0;l=i+28|0;i=f[l>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){Oe(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0>>0?(O=g+(m<<2)|0,(i|0)!=(O|0)):0)f[l>>2]=i+(~((i+-4-O|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=r;i=f[C>>2]|0;q=j;r=k}else{q=j;r=k}}else{g=l;ba=123}}else{g=f[i>>2]|0;f[g+(e<<2)>>2]=-1073741824;j=0;k=-1073741824;ba=123}if((ba|0)==123){ba=0;f[g+(r<<2)>>2]=-1073741824;q=j;r=k}f:do if((t|0)>=0){g=(((t>>>0)%3|0|0)==0?2:-1)+t|0;j=f[i>>2]|0;if((g|0)>=0){o=f[j+(g<<2)>>2]|0;f[j+(s<<2)>>2]=o;if((o|0)>-1){m=i+24|0;j=i+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0>>0?(N=g+(k<<2)|0,(i|0)!=(N|0)):0)f[j>>2]=i+(~((i+-4-N|0)>>>2)<<2)}while(0);i=s;g=g+(o<<2)|0;ba=144}}else{i=-1073741824;g=j+(s<<2)|0;ba=144}if((ba|0)==144)f[g>>2]=i;j=t+1|0;j=((j|0)%3|0|0)==0?t+-2|0:j;i=f[C>>2]|0;if((j|0)<0)g=-1073741824;else{g=f[(f[i>>2]|0)+(j<<2)>>2]|0;p=r+1|0;if(!q){l=f[i>>2]|0;m=i+12|0;while(1){f[l+(j<<2)>>2]=r;ba=j+1|0;j=((ba|0)%3|0|0)==0?j+-2|0:ba;if((j|0)<0)break f;k=f[(f[m>>2]|0)+(j<<2)>>2]|0;j=k+1|0;if((k|0)<0)break f;j=((j|0)%3|0|0)==0?k+-2|0:j;if((j|0)<=-1)break f}}do{f[(f[i>>2]|0)+(j<<2)>>2]=r;o=i+24|0;l=i+28|0;k=f[l>>2]|0;i=f[o>>2]|0;m=k-i>>2;do if(m>>>0<=r>>>0){if(p>>>0>m>>>0){Oe(o,p-m|0);i=f[o>>2]|0;break}if(p>>>0>>0?(M=i+(p<<2)|0,(k|0)!=(M|0)):0)f[l>>2]=k+(~((k+-4-M|0)>>>2)<<2)}while(0);f[i+(r<<2)>>2]=j;i=j+1|0;j=((i|0)%3|0|0)==0?j+-2|0:i;i=f[C>>2]|0;if((j|0)<0)break f;k=f[(f[i+12>>2]|0)+(j<<2)>>2]|0;j=k+1|0;if((k|0)<0)break f;j=((j|0)%3|0|0)==0?k+-2|0:j}while((j|0)>-1)}}else{f[(f[i>>2]|0)+(s<<2)>>2]=-1073741824;g=-1073741824}while(0);f[(f[i+24>>2]|0)+(g<<2)>>2]=-1073741824;ba=189}if((ba|0)==189){ba=0;f[(f[na>>2]|0)+-4>>2]=e;e=y}if((d|0)<(c|0)){x=d;y=e}else{B=e;ba=203;break a}}}else{d=0;B=0;ba=203}while(0);g:do if((ba|0)==203)if((B|0)<=(aa|0)){g=f[na>>2]|0;h:do if((g|0)==(f[la>>2]|0))e=a+8|0;else{A=a+320|0;e=a+8|0;z=a+60|0;x=a+64|0;v=a+68|0;t=a+76|0;w=a+80|0;y=a+72|0;i:while(1){aa=g;f[ea>>2]=f[aa+-4>>2];f[na>>2]=aa+-4;do if(!(Tg(A)|0)){g=f[x>>2]|0;i=f[v>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){ql(z);i=f[v>>2]|0}aa=i<<6;g=g+32&-32;Le(z,i<<5>>>0<1073741823?(aa>>>0>>0?g:aa):2147483647);g=f[x>>2]|0}f[x>>2]=g+1;aa=(f[z>>2]|0)+(g>>>5<<2)|0;f[aa>>2]=f[aa>>2]&~(1<<(g&31));g=f[t>>2]|0;if((g|0)==(f[w>>2]|0)){$e(y,ea);break}else{f[g>>2]=f[ea>>2];f[t>>2]=g+4;break}}else{j=f[e>>2]|0;aa=f[j>>2]|0;q=aa;if((d|0)>=(((f[j+4>>2]|0)-aa>>2>>>0)/3|0|0))break i;o=f[ea>>2]|0;l=(o|0)<0;j:do if(!l){g=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[j+12>>2]|0;k=g;while(1){g=f[i+(k<<2)>>2]|0;if((g|0)<=-1){i=0;g=k;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else k=g}if(l){k=o;ba=216;break}}else i=1;k=o+1|0;k=((k|0)%3|0|0)==0?o+-2|0:k;if((k|0)<0)ba=216;else{l=f[j+12>>2]|0;m=k;while(1){k=f[l+(m<<2)>>2]|0;if((k|0)<=-1){r=0;break j}aa=k+1|0;k=((aa|0)%3|0|0)==0?k+-2|0:aa;if((k|0)<0){r=1;m=k;break}else m=k}}}else{i=1;g=o;k=o;ba=216}while(0);if((ba|0)==216){ba=0;l=f[j+12>>2]|0;r=1;m=k}s=d+1|0;d=d*3|0;f[ga>>2]=d;f[l+(d<<2)>>2]=o;f[l+(o<<2)>>2]=d;d=(f[ga>>2]|0)+1|0;f[l+(d<<2)>>2]=g;f[l+(g<<2)>>2]=d;d=(f[ga>>2]|0)+2|0;f[l+(d<<2)>>2]=m;f[l+(m<<2)>>2]=d;d=f[ga>>2]|0;k=g+1|0;if(!i?(ja=((k|0)%3|0|0)==0?g+-2|0:k,(ja|0)>=0):0){p=f[q+(ja<<2)>>2]|0;f[q+(d<<2)>>2]=p;if((p|0)>-1){o=j+24|0;j=j+28|0;i=f[j>>2]|0;g=f[o>>2]|0;l=i-g>>2;do if(l>>>0<=p>>>0){k=p+1|0;if(k>>>0>l>>>0){Oe(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0>>0?(da=g+(k<<2)|0,(i|0)!=(da|0)):0)f[j>>2]=i+(~((i+-4-da|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=d;d=f[ga>>2]|0;j=f[e>>2]|0}}else f[q+(d<<2)>>2]=-1073741824;o=d+1|0;g=m+1|0;if(!r?(ia=((g|0)%3|0|0)==0?m+-2|0:g,(ia|0)>=0):0){aa=f[j>>2]|0;m=f[aa+(ia<<2)>>2]|0;f[aa+(o<<2)>>2]=m;if((m|0)>-1){l=j+24|0;i=j+28|0;g=f[i>>2]|0;d=f[l>>2]|0;k=g-d>>2;do if(k>>>0<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){Oe(l,j-k|0);d=f[l>>2]|0;break}if(j>>>0>>0?(ca=d+(j<<2)|0,(g|0)!=(ca|0)):0)f[i>>2]=g+(~((g+-4-ca|0)>>>2)<<2)}while(0);f[d+(m<<2)>>2]=o;d=f[ga>>2]|0;j=f[e>>2]|0}}else f[(f[j>>2]|0)+(o<<2)>>2]=-1073741824;p=d+2|0;g=f[ea>>2]|0;i=g+1|0;if((g|0)>=0?(ha=((i|0)%3|0|0)==0?g+-2|0:i,(ha|0)>=0):0){aa=f[j>>2]|0;o=f[aa+(ha<<2)>>2]|0;f[aa+(p<<2)>>2]=o;if((o|0)>-1){m=j+24|0;l=j+28|0;g=f[l>>2]|0;d=f[m>>2]|0;k=g-d>>2;do if(k>>>0<=o>>>0){j=o+1|0;i=g;if(j>>>0>k>>>0){Oe(m,j-k|0);d=f[m>>2]|0;break}if(j>>>0>>0){g=d+(j<<2)|0;if((i|0)==(g|0))break;f[l>>2]=i+(~((i+-4-g|0)>>>2)<<2)}}while(0);f[d+(o<<2)>>2]=p;d=f[ga>>2]|0}}else f[(f[j>>2]|0)+(p<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[fa>>2]|0;aa=g+(d>>>5<<2)|0;f[aa>>2]=f[aa>>2]&~(1<<(d&31));d=f[ga>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;aa=g+(d>>>5<<2)|0;f[aa>>2]=f[aa>>2]&~(1<<(d&31));d=f[ga>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[x>>2]|0;g=f[v>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){ql(z);g=f[v>>2]|0}aa=g<<6;d=d+32&-32;Le(z,g<<5>>>0<1073741823?(aa>>>0>>0?d:aa):2147483647);d=f[x>>2]|0}f[x>>2]=d+1;aa=(f[z>>2]|0)+(d>>>5<<2)|0;f[aa>>2]=f[aa>>2]|1<<(d&31);d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))$e(y,ga);else{f[d>>2]=f[ga>>2];f[t>>2]=d+4}d=s}while(0);g=f[na>>2]|0;if((g|0)==(f[la>>2]|0))break h}B=-1;break g}while(0);ja=f[e>>2]|0;if((d|0)==(((f[ja+4>>2]|0)-(f[ja>>2]|0)>>2>>>0)/3|0|0)){j=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[j>>2]|0;i=e-d>>2;if(B>>>0>i>>>0){Oe(j,B-i|0);break}if(B>>>0>>0?(ka=d+(B<<2)|0,(e|0)!=(ka|0)):0)f[g>>2]=e+(~((e+-4-ka|0)>>>2)<<2)}else B=-1}else B=-1;while(0);d=f[ma+8>>2]|0;if(d|0)do{ka=d;d=f[d>>2]|0;Em(ka)}while((d|0)!=0);d=f[ma>>2]|0;f[ma>>2]=0;if(d|0)Em(d);d=f[la>>2]|0;if(!d){u=oa;return B|0}e=f[na>>2]|0;if((e|0)!=(d|0))f[na>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d);u=oa;return B|0}function Za(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[4046]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=16224+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[4046]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[4048]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=16224+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[4051]|0;b=l>>>3;c=16224+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[4048]=g;f[4051]=e;w=h;u=x;return w|0}i=f[4047]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[16488+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=16488+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[4047]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[4051]|0;b=l>>>3;c=16224+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[4048]=j;f[4051]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[4047]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[16488+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[16488+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[4048]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=16488+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=16224+(b<<1<<2)|0;a=f[4046]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=16488+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[4048]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[4051]|0;if(a>>>0>15){w=b+m|0;f[4051]=w;f[4048]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[4048]=0;f[4051]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[4049]|0;if(h>>>0>m>>>0){t=h-m|0;f[4049]=t;w=f[4052]|0;v=w+m|0;f[4052]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[4164]|0)){f[4166]=4096;f[4165]=4096;f[4167]=-1;f[4168]=-1;f[4169]=0;f[4157]=0;a=n&-16^1431655768;f[n>>2]=a;f[4164]=a;a=4096}else a=f[4166]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[4156]|0;if(a|0?(l=f[4154]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[4157]&4)){c=f[4052]|0;c:do if(c){e=16632;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=Hh(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=Hh(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[4165]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[4154]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[4156]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=Hh(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[4166]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((Hh(a|0)|0)==(-1|0)){Hh(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[4157]=f[4157]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=Hh(k|0)|0,q=Hh(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[4154]|0)+g|0;f[4154]=b;if(b>>>0>(f[4155]|0)>>>0)f[4155]=b;j=f[4052]|0;do if(j){e=16632;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[4049]|0)+(g-w)|0;f[4052]=v;f[4049]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[4053]=f[4168];break}if(h>>>0<(f[4050]|0)>>>0)f[4050]=h;c=h+g|0;a=16632;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[4051]|0)){w=(f[4048]|0)+i|0;f[4048]=w;f[4051]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[4046]=f[4046]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=16488+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[4047]=f[4047]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=16224+(b<<1<<2)|0;a=f[4046]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=16488+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[4047]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[4049]|0)+i|0;f[4049]=w;f[4052]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=16632;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[4052]=v;f[4049]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[4053]=f[4168];c=a+4|0;f[c>>2]=27;f[b>>2]=f[4158];f[b+4>>2]=f[4159];f[b+8>>2]=f[4160];f[b+12>>2]=f[4161];f[4158]=h;f[4159]=g;f[4161]=0;f[4160]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=16224+(b<<1<<2)|0;a=f[4046]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=16488+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[4047]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[4050]|0;if((w|0)==0|h>>>0>>0)f[4050]=h;f[4158]=h;f[4159]=g;f[4161]=0;f[4055]=f[4164];f[4054]=-1;b=0;do{w=16224+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[4052]=v;f[4049]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[4053]=f[4168]}while(0);b=f[4049]|0;if(b>>>0>m>>>0){t=b-m|0;f[4049]=t;w=f[4052]|0;v=w+m|0;f[4052]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=qm()|0;f[w>>2]=12;w=0;u=x;return w|0}function _a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(Ih(3380,3572,c,b)|0)-3380>>2;a=e;e=0;a:while(1){b=(f[3380+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[3188+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=Ih(3188,3380,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function $a(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+80|0;x=B+40|0;i=B+68|0;m=B+64|0;o=B+60|0;l=B+52|0;z=B;p=B+56|0;w=B+48|0;f[a+144>>2]=0;h=a+160|0;if(f[h>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{y=c;c=f[c>>2]|0;Em(y)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[h>>2]=0}n=a+4|0;if(!(Pf(i,f[(f[n>>2]|0)+32>>2]|0)|0)){A=0;u=B;return A|0}k=a+168|0;f[k>>2]=f[i>>2];do if(Pf(m,f[(f[n>>2]|0)+32>>2]|0)|0){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=_i(60)|0;uk(c);y=a+8|0;e=f[y>>2]|0;f[y>>2]=c;if(e){Lf(e);Em(e);c=f[y>>2]|0;if(!c){c=0;break}}if(dh(c,f[m>>2]|0)|0){h=a+172|0;c=f[h>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);gg(h,f[m>>2]|0);h=a+184|0;c=f[h>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);gg(h,f[m>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[n>>2]|0)+32>>2]|0;v=c+8|0;t=f[v+4>>2]|0;h=c+16|0;g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;if((t|0)>(g|0)|((t|0)==(g|0)?(f[v>>2]|0)>>>0>e>>>0:0)){j=b[(f[c>>2]|0)+e>>0]|0;i=lk(e|0,g|0,1,0)|0;v=h;f[v>>2]=i;f[v+4>>2]=I;v=a+224|0;i=f[v>>2]|0;t=a+228|0;c=f[t>>2]|0;if((c|0)!=(i|0))do{f[t>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){h=c+-8|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-28>>2]|0;if(e|0){h=c+-24|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-40>>2]|0;if(e|0){h=c+-36|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}Uf(c+-112|0);c=f[t>>2]|0}while((c|0)!=(i|0));c=j&255;xe(v,c);if(Pf(o,f[(f[n>>2]|0)+32>>2]|0)|0?(f[m>>2]|0)>>>0>=(f[o>>2]|0)>>>0:0)if(Pf(l,f[(f[n>>2]|0)+32>>2]|0)|0?(s=a+132|0,r=(f[l>>2]|0)+(f[k>>2]|0)|0,b[x>>0]=1,Td(s,r,x),(tc(a,f[(f[n>>2]|0)+32>>2]|0)|0)!=-1):0){k=a+240|0;f[a+384>>2]=a;g=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;g=f[g>>2]|0;g=(f[g>>2]|0)+(f[g+16>>2]|0)|0;e=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;e=f[e>>2]|0;j=e+8|0;e=e+16|0;e=Dj(f[j>>2]|0,f[j+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0)|0;j=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Oi(k,g,e,d[(f[j>>2]|0)+38>>1]|0);f[a+380>>2]=c;xi(z);j=a+280|0;c=j;e=k;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));a:do if(Vg(j,1,x)|0){c=k;e=j;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));e=x;c=f[e>>2]|0;e=f[e+4>>2]|0;r=a+248|0;i=a+256|0;h=i;g=f[h>>2]|0;h=f[h+4>>2]|0;r=Dj(f[r>>2]|0,f[r+4>>2]|0,g|0,h|0)|0;q=I;if(e>>>0>q>>>0|(e|0)==(q|0)&c>>>0>r>>>0){A=46;break}q=lk(g|0,h|0,c|0,e|0)|0;r=i;f[r>>2]=q;f[r+4>>2]=I;dd(a+320|0,k)|0;if(!(Ye(k)|0)){c=0;break}c=z;e=k;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));if((Ya(a,f[o>>2]|0)|0)==-1){c=0;break}r=f[(f[n>>2]|0)+32>>2]|0;q=z+16|0;n=f[q>>2]|0;o=(f[z>>2]|0)+n|0;m=z+8|0;q=Dj(f[m>>2]|0,f[m+4>>2]|0,n|0,f[q+4>>2]|0)|0;Oi(r,o,q,d[r+38>>1]|0);do if((f[t>>2]|0)!=(f[v>>2]|0)){r=f[y>>2]|0;if(((f[r+4>>2]|0)-(f[r>>2]|0)|0)<=0)break;c=0;do{f[p>>2]=c;f[x>>2]=f[p>>2];c=c+3|0;if(!(Ac(a,x)|0)){c=0;break a}r=f[y>>2]|0}while((c|0)<((f[r+4>>2]|0)-(f[r>>2]|0)>>2|0))}while(0);if(b[a+316>>0]|0)bi(j);h=f[y>>2]|0;r=f[h+28>>2]|0;i=f[h+24>>2]|0;q=i;if((r-i|0)>0){l=f[s>>2]|0;p=r-i>>2;n=h+12|0;o=0;do{do if(f[l+(o>>>5<<2)>>2]&1<<(o&31)|0){m=q+(o<<2)|0;c=f[m>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){k=f[n>>2]|0;g=f[k+(e<<2)>>2]|0;e=g+1|0;b:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break b;g=f[k+(g<<2)>>2]|0;j=g+1|0;if((g|0)<0)break b;g=((j|0)%3|0|0)==0?g+-2|0:j;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[m>>2]=c}while(0);o=o+1|0}while((o|0)<(p|0))}g=f[t>>2]|0;s=f[v>>2]|0;c=s;if((g|0)==(s|0)){h=r;e=g}else{i=0;do{ff(c+(i*116|0)+4|0,h)|0;c=f[v>>2]|0;e=f[c+(i*116|0)+104>>2]|0;g=f[c+(i*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[w>>2]=f[e>>2];f[x>>2]=f[w>>2];Gd(c+(i*116|0)+4|0,x);e=e+4|0;c=f[v>>2]|0}while((e|0)!=(g|0));Fh(c+(i*116|0)+4|0,0,0);i=i+1|0;g=f[t>>2]|0;e=f[v>>2]|0;c=e;h=f[y>>2]|0}while(i>>>0<((g-e|0)/116|0)>>>0);i=f[h+24>>2]|0;h=f[h+28>>2]|0}i=h-i>>2;k=a+208|0;m=a+212|0;l=f[m>>2]|0;h=f[k>>2]|0;j=l-h>>2;do if(i>>>0>j>>>0){Oe(k,i-j|0);c=f[v>>2]|0;g=f[t>>2]|0;e=c}else{if(i>>>0>=j>>>0)break;h=h+(i<<2)|0;if((l|0)==(h|0))break;f[m>>2]=l+(~((l+-4-h|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){m=0;while(1){k=(f[c+(m*116|0)+60>>2]|0)-(f[c+(m*116|0)+56>>2]|0)>>2;l=f[y>>2]|0;l=(f[l+28>>2]|0)-(f[l+24>>2]|0)>>2;k=(k|0)<(l|0)?l:k;l=c+(m*116|0)+88|0;j=c+(m*116|0)+92|0;i=f[j>>2]|0;c=f[l>>2]|0;h=i-c>>2;do if(k>>>0>h>>>0){Oe(l,k-h|0);e=f[v>>2]|0;g=f[t>>2]|0}else{if(k>>>0>=h>>>0)break;c=c+(k<<2)|0;if((i|0)==(c|0))break;f[j>>2]=i+(~((i+-4-c|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=fb(a)|0}else A=46;while(0);if((A|0)==46)c=0;Jm(z+24|0)}else c=0;else c=0}else c=0}else c=0}else c=0;while(0);A=c;u=B;return A|0}function ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=Ka;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=Zi(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=lk(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=Zi(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=lk(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function bb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+80|0;x=A+64|0;i=A+60|0;o=A+56|0;n=A+52|0;m=A+48|0;z=A;p=A+44|0;w=A+40|0;f[a+144>>2]=0;h=a+160|0;if(f[h>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{y=c;c=f[c>>2]|0;Em(y)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[h>>2]=0}k=a+4|0;if(!(Pf(i,f[(f[k>>2]|0)+32>>2]|0)|0)){z=0;u=A;return z|0}l=a+168|0;f[l>>2]=f[i>>2];do if(Pf(o,f[(f[k>>2]|0)+32>>2]|0)|0){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=_i(60)|0;uk(c);y=a+8|0;e=f[y>>2]|0;f[y>>2]=c;if(e){Lf(e);Em(e);c=f[y>>2]|0;if(!c){c=0;break}}if(dh(c,f[o>>2]|0)|0){h=a+172|0;c=f[h>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);gg(h,f[o>>2]|0);h=a+184|0;c=f[h>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);gg(h,f[o>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[k>>2]|0)+32>>2]|0;v=c+8|0;t=f[v+4>>2]|0;h=c+16|0;g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;if((t|0)>(g|0)|((t|0)==(g|0)?(f[v>>2]|0)>>>0>e>>>0:0)){j=b[(f[c>>2]|0)+e>>0]|0;i=lk(e|0,g|0,1,0)|0;v=h;f[v>>2]=i;f[v+4>>2]=I;v=a+224|0;i=f[v>>2]|0;t=a+228|0;c=f[t>>2]|0;if((c|0)!=(i|0))do{f[t>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){h=c+-8|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-28>>2]|0;if(e|0){h=c+-24|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-40>>2]|0;if(e|0){h=c+-36|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}Uf(c+-112|0);c=f[t>>2]|0}while((c|0)!=(i|0));c=j&255;xe(v,c);if(Pf(n,f[(f[k>>2]|0)+32>>2]|0)|0?(f[o>>2]|0)>>>0>=(f[n>>2]|0)>>>0:0)if(Pf(m,f[(f[k>>2]|0)+32>>2]|0)|0?(s=a+132|0,r=(f[m>>2]|0)+(f[l>>2]|0)|0,b[x>>0]=1,Td(s,r,x),(tc(a,f[(f[k>>2]|0)+32>>2]|0)|0)!=-1):0){r=a+240|0;f[a+384>>2]=a;j=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;j=f[j>>2]|0;j=(f[j>>2]|0)+(f[j+16>>2]|0)|0;o=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;q=o+8|0;o=o+16|0;o=Dj(f[q>>2]|0,f[q+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;q=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Oi(r,j,o,d[(f[q>>2]|0)+38>>1]|0);q=Ra[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+388>>2]=q;f[a+392>>2]=(f[m>>2]|0)+(f[l>>2]|0);f[a+380>>2]=c;xi(z);a:do if($b(r,z)|0){if((Xa(a,f[n>>2]|0)|0)==-1){c=0;break}r=f[(f[k>>2]|0)+32>>2]|0;q=z+16|0;n=f[q>>2]|0;o=(f[z>>2]|0)+n|0;m=z+8|0;q=Dj(f[m>>2]|0,f[m+4>>2]|0,n|0,f[q+4>>2]|0)|0;Oi(r,o,q,d[r+38>>1]|0);do if((f[t>>2]|0)!=(f[v>>2]|0)){r=f[y>>2]|0;if(((f[r+4>>2]|0)-(f[r>>2]|0)|0)<=0)break;c=0;do{f[p>>2]=c;f[x>>2]=f[p>>2];c=c+3|0;if(!(zc(a,x)|0)){c=0;break a}r=f[y>>2]|0}while((c|0)<((f[r+4>>2]|0)-(f[r>>2]|0)>>2|0))}while(0);if(b[a+316>>0]|0)bi(a+280|0);h=f[y>>2]|0;r=f[h+28>>2]|0;i=f[h+24>>2]|0;q=i;if((r-i|0)>0){l=f[s>>2]|0;p=r-i>>2;n=h+12|0;o=0;do{do if(f[l+(o>>>5<<2)>>2]&1<<(o&31)|0){m=q+(o<<2)|0;c=f[m>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){k=f[n>>2]|0;g=f[k+(e<<2)>>2]|0;e=g+1|0;b:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break b;g=f[k+(g<<2)>>2]|0;j=g+1|0;if((g|0)<0)break b;g=((j|0)%3|0|0)==0?g+-2|0:j;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[m>>2]=c}while(0);o=o+1|0}while((o|0)<(p|0))}g=f[t>>2]|0;s=f[v>>2]|0;c=s;if((g|0)==(s|0)){h=r;e=g}else{i=0;do{ff(c+(i*116|0)+4|0,h)|0;c=f[v>>2]|0;e=f[c+(i*116|0)+104>>2]|0;g=f[c+(i*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[w>>2]=f[e>>2];f[x>>2]=f[w>>2];Gd(c+(i*116|0)+4|0,x);e=e+4|0;c=f[v>>2]|0}while((e|0)!=(g|0));Fh(c+(i*116|0)+4|0,0,0);i=i+1|0;g=f[t>>2]|0;e=f[v>>2]|0;c=e;h=f[y>>2]|0}while(i>>>0<((g-e|0)/116|0)>>>0);i=f[h+24>>2]|0;h=f[h+28>>2]|0}i=h-i>>2;k=a+208|0;m=a+212|0;l=f[m>>2]|0;h=f[k>>2]|0;j=l-h>>2;do if(i>>>0>j>>>0){Oe(k,i-j|0);c=f[v>>2]|0;g=f[t>>2]|0;e=c}else{if(i>>>0>=j>>>0)break;h=h+(i<<2)|0;if((l|0)==(h|0))break;f[m>>2]=l+(~((l+-4-h|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){m=0;while(1){k=(f[c+(m*116|0)+60>>2]|0)-(f[c+(m*116|0)+56>>2]|0)>>2;l=f[y>>2]|0;l=(f[l+28>>2]|0)-(f[l+24>>2]|0)>>2;k=(k|0)<(l|0)?l:k;l=c+(m*116|0)+88|0;j=c+(m*116|0)+92|0;i=f[j>>2]|0;c=f[l>>2]|0;h=i-c>>2;do if(k>>>0>h>>>0){Oe(l,k-h|0);e=f[v>>2]|0;g=f[t>>2]|0}else{if(k>>>0>=h>>>0)break;c=c+(k<<2)|0;if((i|0)==(c|0))break;f[j>>2]=i+(~((i+-4-c|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=fb(a)|0}else c=0;while(0);Jm(z+24|0)}else c=0;else c=0}else c=0}else c=0}else c=0;while(0);z=c;u=A;return z|0}function cb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=u;u=u+64|0;R=S+16|0;P=S;H=a+8|0;f[H>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Oe(i,e-j|0);d=R;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[P>>2]=0;if(!e){d=0;g=0}else{Xd(R,e,P);d=f[R+12>>2]|0;g=f[R+16>>2]|0}f[P>>2]=0;h=R+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Xd(R+12|0,e-i|0,P);i=R+24|0;f[P>>2]=0;h=R+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else Xd(i,e-j|0,P);i=R+36|0;f[P>>2]=0;h=R+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else Xd(i,e-j|0,P);h=f[R>>2]|0;if((f[H>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{G=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(G|0)?G:d}j=j+1|0;d=f[H>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;o=18}}else{d=d-(f[i>>2]|0)|0;o=18}if((o|0)==18){o=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}t=f[a+48>>2]|0;v=f[a+52>>2]|0;G=_i(16)|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;Og(P,e);B=a+56|0;h=f[B>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;E=g-d|0;F=E>>2;a:do if((E|0)>4){A=t+64|0;x=t+28|0;z=(e|0)>0;D=a+16|0;y=a+32|0;E=a+12|0;C=a+20|0;w=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){pl(i);d=f[i>>2]|0}o=f[d+(h<<2)>>2]|0;r=o+((o|0)<0?0:((o>>>0)%3|0|0)==0?2:-1)|0;q=r>>>5;s=1<<(r&31);p=(r|0)<0;g=o;n=1;d=0;b:while(1){do{if((g|0)<=-1){o=61;break b}i=f[R+(d*12|0)>>2]|0;if(((f[(f[t>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(Q=f[(f[(f[A>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(Q|0)>=0):0)?(K=f[x>>2]|0,m=f[v>>2]|0,I=f[m+(f[K+(Q<<2)>>2]<<2)>>2]|0,J=Q+1|0,J=f[m+(f[K+((((J|0)%3|0|0)==0?Q+-2|0:J)<<2)>>2]<<2)>>2]|0,K=f[m+(f[K+((((Q>>>0)%3|0|0)==0?2:-1)+Q<<2)>>2]<<2)>>2]|0,(I|0)<(h|0)&(J|0)<(h|0)&(K|0)<(h|0)):0){k=X(I,e)|0;l=X(J,e)|0;m=X(K,e)|0;if(z){j=0;do{f[i+(j<<2)>>2]=(f[c+(j+m<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=42;break b}}do if(n){i=g+1|0;g=((i|0)%3|0|0)==0?g+-2|0:i;i=f[t>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[A>>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;i=f[t>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[A>>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)==(o|0)){o=61;break b}}while(!(n&(g|0)<0));g=(s&f[i+(q<<2)>>2]|0)!=0;if(g|p){g=g?-1073741824:r;n=0;continue}g=f[(f[(f[A>>2]|0)+12>>2]|0)+(r<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;n=0;continue}else{g=g+-1|0;n=0;continue}}if((o|0)==61)if((d|0)>0)o=42;else{O=X(h,e)|0;o=73}if((o|0)==42){o=0;if(z){vf(f[P>>2]|0,0,w|0)|0;k=d+-1|0;m=G+(k<<2)|0;k=f[a+60+(k*12|0)>>2]|0;l=f[P>>2]|0;n=0;g=0;do{s=f[m>>2]|0;f[m>>2]=s+1;if(!(f[k+(s>>>5<<2)>>2]&1<<(s&31))){i=f[R+(n*12|0)>>2]|0;j=0;do{s=l+(j<<2)|0;f[s>>2]=(f[s>>2]|0)+(f[i+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0}n=n+1|0}while((n|0)!=(d|0))}else{i=d+-1|0;k=G+(i<<2)|0;i=f[a+60+(i*12|0)>>2]|0;j=f[k>>2]|0;l=0;g=0;do{s=j;j=j+1|0;f[k>>2]=j;g=g+((f[i+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}i=X(h,e)|0;if(g){k=f[P>>2]|0;if(z){d=0;do{s=k+(d<<2)|0;f[s>>2]=(f[s>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}m=b+(i<<2)|0;l=c+(i<<2)|0;if((f[H>>2]|0)>0){i=0;do{d=f[k+(i<<2)>>2]|0;g=f[D>>2]|0;if((d|0)>(g|0)){j=f[y>>2]|0;f[j+(i<<2)>>2]=g}else{s=f[E>>2]|0;j=f[y>>2]|0;f[j+(i<<2)>>2]=(d|0)<(s|0)?s:d}i=i+1|0;d=f[H>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[m+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[D>>2]|0)){if((d|0)<(f[E>>2]|0)){d=(f[C>>2]|0)+d|0;o=95}}else{d=d-(f[C>>2]|0)|0;o=95}if((o|0)==95){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[H>>2]|0))}}}else{O=i;o=73}}if((o|0)==73?(o=0,L=c+((X(h+-1|0,e)|0)<<2)|0,M=b+(O<<2)|0,N=c+(O<<2)|0,(f[H>>2]|0)>0):0){i=0;do{d=f[L+(i<<2)>>2]|0;g=f[D>>2]|0;if((d|0)>(g|0)){j=f[y>>2]|0;f[j+(i<<2)>>2]=g}else{s=f[E>>2]|0;j=f[y>>2]|0;f[j+(i<<2)>>2]=(d|0)<(s|0)?s:d}i=i+1|0;d=f[H>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[M+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=N+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[D>>2]|0)){if((d|0)<(f[E>>2]|0)){d=(f[C>>2]|0)+d|0;o=83}}else{d=d-(f[C>>2]|0)|0;o=83}if((o|0)==83){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[H>>2]|0))}}h=h+1|0;if((h|0)>=(F|0)){d=P;break a}i=f[B>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=P;while(0);h=f[d>>2]|0;if(h|0){g=P+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h)}Em(G);g=f[R+36>>2]|0;if(g|0){h=R+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(g)}d=f[R+24>>2]|0;if(d|0){h=R+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}d=f[R+12>>2]|0;if(d|0){h=R+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}h=f[R>>2]|0;if(!h){u=S;return 1}g=R+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h);u=S;return 1}function db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=u;u=u+64|0;O=P+16|0;N=P;I=a+8|0;f[I>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Oe(i,e-j|0);d=O;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[N>>2]=0;if(!e){d=0;g=0}else{Xd(O,e,N);d=f[O+12>>2]|0;g=f[O+16>>2]|0}f[N>>2]=0;h=O+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Xd(O+12|0,e-i|0,N);i=O+24|0;f[N>>2]=0;h=O+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else Xd(i,e-j|0,N);i=O+36|0;f[N>>2]=0;h=O+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else Xd(i,e-j|0,N);h=f[O>>2]|0;if((f[I>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{H=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(H|0)?H:d}j=j+1|0;d=f[I>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;o=18}}else{d=d-(f[i>>2]|0)|0;o=18}if((o|0)==18){o=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}w=f[a+48>>2]|0;x=f[a+52>>2]|0;H=_i(16)|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;Og(N,e);C=a+56|0;h=f[C>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;F=g-d|0;G=F>>2;a:do if((F|0)>4){z=w+12|0;B=(e|0)>0;E=a+16|0;A=a+32|0;F=a+12|0;D=a+20|0;y=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){pl(i);d=f[i>>2]|0}s=f[d+(h<<2)>>2]|0;v=(((s>>>0)%3|0|0)==0?2:-1)+s|0;t=(s|v|0)<0;r=(s|0)<0?s:v;g=s;q=1;d=0;b:while(1){do{if((g|0)<=-1){o=62;break b}o=f[O+(d*12|0)>>2]|0;p=f[z>>2]|0;j=f[p+(g<<2)>>2]|0;if((j|0)>=0){k=f[w>>2]|0;l=f[x>>2]|0;n=f[l+(f[k+(j<<2)>>2]<<2)>>2]|0;i=j+1|0;i=((i|0)%3|0|0)==0?j+-2|0:i;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;m=f[l+(i<<2)>>2]|0;i=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;i=f[l+(i<<2)>>2]|0;if((n|0)<(h|0)&(m|0)<(h|0)&(i|0)<(h|0)){l=X(n,e)|0;k=X(m,e)|0;j=X(i,e)|0;if(B){i=0;do{f[o+(i<<2)>>2]=(f[c+(i+j<<2)>>2]|0)+(f[c+(i+k<<2)>>2]|0)-(f[c+(i+l<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=45;break b}}}do if(q){o=g+1|0;g=((o|0)%3|0|0)==0?g+-2|0:o;if((g|0)>=0){g=f[p+(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=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=f[p+(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)==(s|0)){o=62;break b}}while(!(q&(g|0)<0));if(t){g=r;q=0;continue}g=f[p+(v<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;q=0;continue}else{g=g+-1|0;q=0;continue}}if((o|0)==62)if((d|0)>0)o=45;else{M=X(h,e)|0;o=74}if((o|0)==45){o=0;if(B){vf(f[N>>2]|0,0,y|0)|0;k=d+-1|0;m=H+(k<<2)|0;k=f[a+60+(k*12|0)>>2]|0;l=f[N>>2]|0;n=0;g=0;do{v=f[m>>2]|0;f[m>>2]=v+1;if(!(f[k+(v>>>5<<2)>>2]&1<<(v&31))){i=f[O+(n*12|0)>>2]|0;j=0;do{v=l+(j<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[i+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0}n=n+1|0}while((n|0)!=(d|0))}else{i=d+-1|0;k=H+(i<<2)|0;i=f[a+60+(i*12|0)>>2]|0;j=f[k>>2]|0;l=0;g=0;do{v=j;j=j+1|0;f[k>>2]=j;g=g+((f[i+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}i=X(h,e)|0;if(g){k=f[N>>2]|0;if(B){d=0;do{v=k+(d<<2)|0;f[v>>2]=(f[v>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}m=b+(i<<2)|0;l=c+(i<<2)|0;if((f[I>>2]|0)>0){i=0;do{d=f[k+(i<<2)>>2]|0;g=f[E>>2]|0;if((d|0)>(g|0)){j=f[A>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[F>>2]|0;j=f[A>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[I>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[m+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[E>>2]|0)){if((d|0)<(f[F>>2]|0)){d=(f[D>>2]|0)+d|0;o=96}}else{d=d-(f[D>>2]|0)|0;o=96}if((o|0)==96){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[I>>2]|0))}}}else{M=i;o=74}}if((o|0)==74?(o=0,J=c+((X(h+-1|0,e)|0)<<2)|0,K=b+(M<<2)|0,L=c+(M<<2)|0,(f[I>>2]|0)>0):0){i=0;do{d=f[J+(i<<2)>>2]|0;g=f[E>>2]|0;if((d|0)>(g|0)){j=f[A>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[F>>2]|0;j=f[A>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[I>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[K+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=L+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[E>>2]|0)){if((d|0)<(f[F>>2]|0)){d=(f[D>>2]|0)+d|0;o=84}}else{d=d-(f[D>>2]|0)|0;o=84}if((o|0)==84){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[I>>2]|0))}}h=h+1|0;if((h|0)>=(G|0)){d=N;break a}i=f[C>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=N;while(0);h=f[d>>2]|0;if(h|0){g=N+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h)}Em(H);g=f[O+36>>2]|0;if(g|0){h=O+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(g)}d=f[O+24>>2]|0;if(d|0){h=O+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}d=f[O+12>>2]|0;if(d|0){h=O+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}h=f[O>>2]|0;if(!h){u=P;return 1}g=O+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h);u=P;return 1}function eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=Ka,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function fb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=u;u=u+48|0;F=I+36|0;H=I+24|0;G=I+12|0;C=I;E=a+4|0;d=f[(f[E>>2]|0)+44>>2]|0;D=a+8|0;g=f[D>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;h=d+96|0;d=d+100|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;c=f[d>>2]|0;b=f[h>>2]|0;i=(c-b|0)/12|0;if(g>>>0<=i>>>0){if(g>>>0>>0?(e=b+(g*12|0)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0)}else ud(h,g-i|0,F);r=a+224|0;q=a+228|0;if((f[q>>2]|0)==(f[r>>2]|0)){d=f[D>>2]|0;d=(f[d+28>>2]|0)-(f[d+24>>2]|0)>>2;f[F>>2]=-1;cg(H,d,F);d=f[E>>2]|0;b=f[d+44>>2]|0;e=f[b+100>>2]|0;c=f[b+96>>2]|0;if((e-c|0)>0){o=G+4|0;p=G+8|0;l=b;m=c;c=d;h=d;n=0;b=0;while(1){f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;i=n*3|0;if((n|0)<0)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i<<2)>>2]|0;a=f[H>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;k=b;b=b+1|0}else k=d;f[G>>2]=k;if((i|0)<-1)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i+1<<2)>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;d=b;b=b+1|0}f[o>>2]=d;if((i|0)<-2)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i+2<<2)>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;d=b;b=b+1|0}f[p>>2]=d;g=l+96|0;d=l+100|0;a=(e-m|0)/12|0;i=m;j=n;n=n+1|0;if((j|0)<(a|0)){d=l;g=m}else{c=e;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;if(n>>>0<=a>>>0)if(n>>>0>>0?(A=i+(n*12|0)|0,(c|0)!=(A|0)):0){e=c+(~(((c+-12-A|0)>>>0)/12|0)*12|0)|0;f[d>>2]=e;d=l;g=m}else{d=l;g=m}else{ud(g,n-a|0,F);h=f[E>>2]|0;C=f[h+44>>2]|0;i=f[g>>2]|0;d=C;e=f[C+100>>2]|0;g=f[C+96>>2]|0}c=h}f[i+(j*12|0)>>2]=k;f[i+(j*12|0)+4>>2]=f[o>>2];f[i+(j*12|0)+8>>2]=f[p>>2];if((n|0)>=((e-g|0)/12|0|0)){d=H;break}else{l=d;m=g}}}else{c=d;d=H;b=0}f[(f[c+4>>2]|0)+80>>2]=b;d=f[d>>2]|0;if(d|0){c=H+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d)}u=I;return 1}f[H>>2]=0;A=H+4|0;f[A>>2]=0;f[H+8>>2]=0;b=f[D>>2]|0;Og(G,(f[b+4>>2]|0)-(f[b>>2]|0)>>2);b=f[D>>2]|0;if(((f[b+28>>2]|0)-(f[b+24>>2]|0)|0)>0){o=a+132|0;p=H+8|0;n=0;do{h=f[(f[b+24>>2]|0)+(n<<2)>>2]|0;a:do if((h|0)>=0){b:do if((f[(f[o>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0)==0?(s=f[q>>2]|0,t=f[r>>2]|0,v=t,(s|0)!=(t|0)):0){a=(((h>>>0)%3|0|0)==0?2:-1)+h|0;j=(a|0)<0;l=(s-t|0)/116|0;i=b+12|0;g=b+12|0;k=0;c:while(1){m=f[(f[f[v+(k*116|0)+68>>2]>>2]|0)+(h<<2)>>2]|0;do if(1<<(m&31)&f[(f[v+(k*116|0)+16>>2]|0)+(m>>>5<<2)>>2]|0){e=f[v+(k*116|0)+32>>2]|0;m=f[e+(h<<2)>>2]|0;if(!j){c=f[(f[i>>2]|0)+(a<<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)==(h|0))break;else d=c}else d=a;while(1){c=f[e+(d<<2)>>2]|0;if((d|0)<0)break c;if((c|0)!=(m|0)){h=d;break b}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=f[(f[g>>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)==(h|0))break;else d=c}}while(0);k=k+1|0;if(k>>>0>=l>>>0)break b}while(1)if((c|0)==(m|0))c=m;else{h=d;break}}while(0);c=f[A>>2]|0;f[(f[G>>2]|0)+(h<<2)>>2]=c-(f[H>>2]|0)>>2;f[F>>2]=h;if(c>>>0<(f[p>>2]|0)>>>0){f[c>>2]=h;f[A>>2]=c+4}else{$e(H,F);b=f[D>>2]|0}if((((h|0)>=0?(w=(((h>>>0)%3|0|0)==0?2:-1)+h|0,(w|0)>=0):0)?(x=f[(f[b+12>>2]|0)+(w<<2)>>2]|0,(x|0)>=0):0)?(y=x+(((x>>>0)%3|0|0)==0?2:-1)|0,(y|0)>-1&(y|0)!=(h|0)):0){g=y;e=h;while(1){b=f[q>>2]|0;c=f[r>>2]|0;d=c;d:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){m=f[d+(b*116|0)+32>>2]|0;b=b+1|0;if((f[m+(g<<2)>>2]|0)!=(f[m+(e<<2)>>2]|0))break;if(b>>>0>=c>>>0){z=67;break d}}b=f[A>>2]|0;f[(f[G>>2]|0)+(g<<2)>>2]=b-(f[H>>2]|0)>>2;f[F>>2]=g;if(b>>>0<(f[p>>2]|0)>>>0){f[b>>2]=g;f[A>>2]=b+4}else $e(H,F)}else z=67;while(0);if((z|0)==67){z=0;m=f[G>>2]|0;f[m+(g<<2)>>2]=f[m+(e<<2)>>2]}b=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((b|0)<0)break a;b=f[(f[(f[D>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break a;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;if((b|0)>-1&(b|0)!=(h|0)){e=g;g=b}else break}}}while(0);n=n+1|0;b=f[D>>2]|0}while((n|0)<((f[b+28>>2]|0)-(f[b+24>>2]|0)>>2|0))}e=f[E>>2]|0;b=f[e+44>>2]|0;d=f[b+100>>2]|0;c=f[b+96>>2]|0;if((d-c|0)>0){m=C+4|0;n=C+8|0;j=c;c=e;g=e;k=0;while(1){f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;i=(f[G>>2]|0)+(k*3<<2)|0;f[C>>2]=f[i>>2];f[C+4>>2]=f[i+4>>2];f[C+8>>2]=f[i+8>>2];i=b+96|0;h=b+100|0;a=(d-j|0)/12|0;e=j;l=k;k=k+1|0;if((l|0)<(a|0))h=j;else{c=d;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;if(k>>>0<=a>>>0)if(k>>>0>>0?(B=e+(k*12|0)|0,(c|0)!=(B|0)):0){d=c+(~(((c+-12-B|0)>>>0)/12|0)*12|0)|0;f[h>>2]=d;c=j}else c=j;else{ud(i,k-a|0,F);g=f[E>>2]|0;c=f[g+44>>2]|0;e=f[i>>2]|0;b=c;d=f[c+100>>2]|0;c=f[c+96>>2]|0}h=c;c=g}f[e+(l*12|0)>>2]=f[C>>2];f[e+(l*12|0)+4>>2]=f[m>>2];f[e+(l*12|0)+8>>2]=f[n>>2];if((k|0)>=((d-h|0)/12|0|0))break;else j=h}}else c=e;b=f[H>>2]|0;f[(f[c+4>>2]|0)+80>>2]=(f[A>>2]|0)-b>>2;d=f[G>>2]|0;if(d){c=G+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);b=f[H>>2]|0}if(b|0){c=f[A>>2]|0;if((c|0)!=(b|0))f[A>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}u=I;return 1}function gb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;A=B+16|0;z=B+4|0;x=B;f[a+36>>2]=b;y=a+24|0;w=a+28|0;d=f[w>>2]|0;c=f[y>>2]|0;g=d-c>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(e=c+(b<<2)|0,(d|0)!=(e|0)):0)f[w>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else Xd(y,b-g|0,2616);f[A>>2]=0;v=A+4|0;f[v>>2]=0;t=A+8|0;f[t>>2]=0;if(b|0){if((b|0)<0)ql(A);c=((b+-1|0)>>>5)+1|0;s=_i(c<<2)|0;f[A>>2]=s;f[t>>2]=c;f[v>>2]=b;c=b>>>5;vf(s|0,0,c<<2|0)|0;d=b-(c<<5)|0;c=s+(c<<2)|0;if(d|0)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}s=a+4|0;c=(f[s>>2]|0)-(f[a>>2]|0)|0;g=c>>2;f[z>>2]=0;e=z+4|0;f[e>>2]=0;d=z+8|0;f[d>>2]=0;if(g){if((c|0)<0)ql(z);c=((g+-1|0)>>>5)+1|0;h=_i(c<<2)|0;f[z>>2]=h;f[d>>2]=c;f[e>>2]=g;c=g>>>5;vf(h|0,0,c<<2|0)|0;d=g-(c<<5)|0;c=h+(c<<2)|0;if(d)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}else h=0;c=f[a>>2]|0;a:do if((f[s>>2]|0)-c>>2>>>0>2){n=a+12|0;q=a+32|0;o=a+52|0;p=a+56|0;r=a+48|0;m=0;d=b;b:while(1){l=m*3|0;if((m|0)>=0){b=f[c+(l<<2)>>2]|0;e=l+1|0;e=((e|0)%3|0|0)==0?l+-2|0:e;if((e|0)<0)g=-1073741824;else g=f[c+(e<<2)>>2]|0;e=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((e|0)<0)c=-1073741824;else c=f[c+(e<<2)>>2]|0;if((b|0)!=(g|0)?!((b|0)==(c|0)|(g|0)==(c|0)):0){k=0;do{g=k+l|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){c=f[(f[a>>2]|0)+(g<<2)>>2]|0;f[x>>2]=c;e=f[A>>2]|0;if(!(f[e+(c>>>5<<2)>>2]&1<<(c&31)))b=0;else{c=f[w>>2]|0;if((c|0)==(f[q>>2]|0))$e(y,2616);else{f[c>>2]=-1073741824;f[w>>2]=c+4}c=f[o>>2]|0;if((c|0)==(f[p>>2]|0))$e(r,x);else{f[c>>2]=f[x>>2];f[o>>2]=c+4}c=f[v>>2]|0;e=f[t>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){ql(A);e=f[t>>2]|0}j=e<<6;c=c+32&-32;Le(A,e<<5>>>0<1073741823?(j>>>0>>0?c:j):2147483647);c=f[v>>2]|0}f[v>>2]=c+1;e=f[A>>2]|0;b=e+(c>>>5<<2)|0;f[b>>2]=f[b>>2]&~(1<<(c&31));f[x>>2]=d;c=d;b=1;d=d+1|0}j=e+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);c:do if(b){c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);e=f[x>>2]|0;f[(f[y>>2]|0)+(e<<2)>>2]=c;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}else{c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);f[(f[y>>2]|0)+(f[x>>2]<<2)>>2]=c;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}while(0);do if((e|0)==67){e=0;if((g|0)==-1073741824){c=-1073741824;e=74}}else if((e|0)==68)if((g|0)>=0){c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=74;break}if(!((c>>>0)%3|0)){c=c+2|0;e=74;break}else{c=c+-1|0;e=74;break}}else e=74}else{c=g;e=74}while(0);d:do if((e|0)==74){h=f[z>>2]|0;g=h+(c>>>5<<2)|0;i=1<<(c&31);e=(c|0)<0;if((c|0)!=-1073741824){if(!b){b=c;c=i;while(1){if(e)break b;f[g>>2]=f[g>>2]|c;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);h=f[z>>2]|0;if((c|0)==-1073741824)break d;else{b=c;g=h+(c>>>5<<2)|0;e=(c|0)<0;c=1<<(c&31)}}}j=f[a>>2]|0;b=g;h=e;e=i;while(1){g=j+(c<<2)|0;do{f[b>>2]=f[b>>2]|e;f[g>>2]=f[x>>2]}while(h);c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=c;break}if(!((c>>>0)%3|0)){e=c+2|0;break}else{e=c+-1|0;break}}else e=c;while(0);h=f[z>>2]|0;if((e|0)==-1073741824)break;else{c=e;b=h+(e>>>5<<2)|0;h=(e|0)<0;e=1<<(e&31)}}}}while(0)}k=k+1|0}while((k|0)<3)}}m=m+1|0;c=f[a>>2]|0;if((m|0)>=(((f[s>>2]|0)-c>>2>>>0)/3|0|0))break a}while(1){}}while(0);j=a+44|0;f[j>>2]=0;c=f[A>>2]|0;b=f[v>>2]|0;y=b>>>5;i=c+(y<<2)|0;b=b&31;e=(y|0)!=0;e:do if(y|b|0){if(!b){g=c;d=0;while(1){f:do if(e){e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break;else e=e+1|0}}else{e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break f;e=e+1|0;if(!e)break e}}while(0);g=g+4|0;if((g|0)==(i|0))break e;else e=1}}if(e){g=c;d=0;e=0;do{h=0;while(1){if(!(f[g>>2]&1<>2]=e;d=e}if((h|0)==31)break;else h=h+1|0}g=g+4|0}while((g|0)!=(i|0))}else{g=c;d=0}e=0;do{if(!(f[g>>2]&1<>2]=d}e=e+1|0}while((e|0)!=(b|0))}while(0);d=f[z>>2]|0;if(d){Em(d);c=f[A>>2]|0}if(!c){u=B;return 1}Em(c);u=B;return 1}function hb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;hk(c)|0;if((I|0)<0){C=1;A=13323;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?13324:13329):13326}hk(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+im(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=Fg(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[13358+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;kh(a,32,d,j,g);Qk(a,p,o);kh(a,48,d,j,g^65536);Qk(a,F,C);kh(a,48,D-C|0,0,0);Qk(a,n,E);kh(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=uj(f[j>>2]|0,0,o|0)|0;x=lk(x|0,I|0,l|0,0)|0;y=I;v=Qi(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=il(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=Fg(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;kh(a,32,d,j,g);Qk(a,A,C);kh(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=Fg(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){vf(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Qk(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Qk(a,13374,1);if(m>>>0>>0&(k|0)>0)while(1){l=Fg(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){vf(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Qk(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}kh(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=Fg(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Qk(a,l,1);if(e&(k|0)<1){l=m;break}Qk(a,13374,1);l=m}else{if(l>>>0<=F>>>0)break;vf(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Qk(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}kh(a,48,k+18|0,18,0);Qk(a,v,D-v|0)}kh(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;kh(a,32,d,j,g&-65537);Qk(a,A,C);Qk(a,c!=c|0.0!=0.0?(F?13350:13354):F?13342:13346,3);kh(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function ib(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=qm()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Qk(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=mi(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=mi(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(12842+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Jc(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Gi(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=13306;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=Dj(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=13306;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?13306:13308):13307;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=13306;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=13306;i=x;break}case 109:{i=qm()|0;i=Xk(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:13316;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){kh(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=hb(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=13306;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=qi(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?13306:13306+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=Fg(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=He(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=13306;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Wk(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}kh(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Wk(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Qk(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;kh(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;kh(a,32,i,l,n);Qk(a,j,k);kh(a,48,i,l,n^65536);kh(a,48,q,r,0);Qk(a,o,r);kh(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Jc(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function jb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+32|0;y=A+20|0;z=A+16|0;x=A+4|0;k=A;w=a+32|0;if(!(Pf(y,f[w>>2]|0)|0)){a=0;u=A;return a|0}if(!(Pf(z,f[w>>2]|0)|0)){a=0;u=A;return a|0}o=f[y>>2]|0;if(o>>>0>1431655765){a=0;u=A;return a|0}c=f[z>>2]|0;v=Zi(o|0,0,3,0)|0;t=I;if(0>t>>>0|0==(t|0)&c>>>0>v>>>0){a=0;u=A;return a|0}m=f[w>>2]|0;v=m+8|0;t=f[v+4>>2]|0;d=m+16|0;j=d;i=f[j>>2]|0;j=f[j+4>>2]|0;if(!((t|0)>(j|0)|((t|0)==(j|0)?(f[v>>2]|0)>>>0>i>>>0:0))){a=0;u=A;return a|0}t=b[(f[m>>2]|0)+i>>0]|0;l=lk(i|0,j|0,1,0)|0;v=I;s=d;f[s>>2]=l;f[s+4>>2]=v;a:do if(!(t<<24>>24)){if(!(Lc(a,o)|0)){a=0;u=A;return a|0}}else{if(c>>>0<256){if(!o)break;p=a+44|0;q=x+4|0;r=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;c=m+8|0;d=f[c>>2]|0;c=f[c+4>>2]|0;b:do if((c|0)>(v|0)|(c|0)==(v|0)&d>>>0>l>>>0){j=m;n=o;k=v;i=c;g=d;m=0;while(1){e=j+16|0;d=f[j>>2]|0;t=b[d+l>>0]|0;c=lk(l|0,k|0,1,0)|0;v=I;s=e;f[s>>2]=c;f[s+4>>2]=v;f[x>>2]=t&255;if(!((i|0)>(v|0)|(i|0)==(v|0)&g>>>0>c>>>0))break b;t=b[d+c>>0]|0;c=lk(l|0,k|0,2,0)|0;v=I;s=e;f[s>>2]=c;f[s+4>>2]=v;f[q>>2]=t&255;if(!((i|0)>(v|0)|(i|0)==(v|0)&g>>>0>c>>>0))break b;d=b[d+c>>0]|0;c=lk(l|0,k|0,3,0)|0;f[e>>2]=c;f[e+4>>2]=I;f[r>>2]=d&255;d=f[p>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Je(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=n}m=m+1|0;if(m>>>0>=c>>>0)break a;j=f[w>>2]|0;k=j+16|0;l=f[k>>2]|0;k=f[k+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;i=j+8|0;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((i|0)>(k|0)|(i|0)==(k|0)&g>>>0>l>>>0))break;else n=c}}while(0);a=0;u=A;return a|0}if(c>>>0<65536){if(!o)break;r=a+44|0;s=x+4|0;t=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;e=m+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=lk(i|0,j|0,3,0)|0;d=I;c:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;j=v;n=e;k=g;q=0;while(1){i=m+16|0;g=f[m>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8;c=i;f[c>>2]=p;f[c+4>>2]=d;f[x>>2]=e&65535;e=lk(l|0,j|0,4,0)|0;c=I;if((n|0)<(c|0)|(n|0)==(c|0)&k>>>0>>0)break c;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8;v=i;f[v>>2]=e;f[v+4>>2]=c;f[s>>2]=d&65535;c=lk(l|0,j|0,6,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0>>0)break c;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8;v=i;f[v>>2]=c;f[v+4>>2]=d;f[t>>2]=e&65535;d=f[r>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Je(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=o}q=q+1|0;if(q>>>0>=c>>>0)break a;m=f[w>>2]|0;j=m+16|0;l=f[j>>2]|0;j=f[j+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;n=m+8|0;k=f[n>>2]|0;n=f[n+4>>2]|0;p=lk(l|0,j|0,2,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0

>>0)break;else o=c}}while(0);a=0;u=A;return a|0}t=a+44|0;if((f[(f[t>>2]|0)+80>>2]|0)<2097152?(((h[a+36>>0]|0)<<8|(h[a+37>>0]|0))&65535)>513:0){if(!o)break;i=x+4|0;j=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;d:do if(Pf(k,m)|0){g=0;do{f[x>>2]=f[k>>2];if(!(Pf(k,f[w>>2]|0)|0))break d;f[i>>2]=f[k>>2];if(!(Pf(k,f[w>>2]|0)|0))break d;f[j>>2]=f[k>>2];d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))Je(d+96|0,x);else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12}g=g+1|0;if(g>>>0>=(f[y>>2]|0)>>>0)break a;v=f[w>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0}while(Pf(k,v)|0)}while(0);a=0;u=A;return a|0}if(o|0){r=x+4|0;s=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;e=m+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=lk(i|0,j|0,5,0)|0;d=I;e:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;j=v;n=e;k=g;q=0;while(1){i=m+16|0;g=f[m>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;c=i;f[c>>2]=p;f[c+4>>2]=d;f[x>>2]=e;e=lk(l|0,j|0,8,0)|0;c=I;if((n|0)<(c|0)|(n|0)==(c|0)&k>>>0>>0)break e;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;v=i;f[v>>2]=e;f[v+4>>2]=c;f[r>>2]=d;c=lk(l|0,j|0,12,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0>>0)break e;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;v=i;f[v>>2]=c;f[v+4>>2]=d;f[s>>2]=e;d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Je(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=o}q=q+1|0;if(q>>>0>=c>>>0)break a;m=f[w>>2]|0;j=m+16|0;l=f[j>>2]|0;j=f[j+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;n=m+8|0;k=f[n>>2]|0;n=f[n+4>>2]|0;p=lk(l|0,j|0,4,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0

>>0)break;else o=c}}while(0);a=0;u=A;return a|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[z>>2];a=1;u=A;return a|0}function kb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function lb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;r=F+76|0;s=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0){l=c;m=-1073741824}else{l=c;m=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}}else{l=-1073741824;m=-1073741824}c=a+36|0;j=f[c>>2]|0;g=f[j+4>>2]|0;k=f[j>>2]|0;if(g-k>>2>>>0>l>>>0){c=k;h=g;i=j;g=k}else{pl(j);i=f[c>>2]|0;c=f[i>>2]|0;h=f[i+4>>2]|0;g=f[j>>2]|0}w=f[g+(l<<2)>>2]|0;if(h-c>>2>>>0<=m>>>0){pl(i);c=f[i>>2]|0}h=f[c+(m<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;i=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,i,B)|0;r=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;r=Dj(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=Dj(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=Dj(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Zi(r|0,s|0,r|0,s|0)|0;x=I;B=Zi(t|0,v|0,t|0,v|0)|0;x=lk(B|0,I|0,C|0,x|0)|0;C=I;B=Zi(l|0,m|0,l|0,m|0)|0;B=lk(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=Dj(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=Dj(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=Dj(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Zi(K|0,J|0,r|0,s|0)|0;d=I;g=Zi(H|0,G|0,t|0,v|0)|0;d=lk(g|0,I|0,k|0,d|0)|0;k=I;g=Zi(h|0,i|0,l|0,m|0)|0;g=lk(d|0,k|0,g|0,I|0)|0;k=I;d=Dj(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=Dj(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Zi(B|0,C|0,q|0,y|0)|0;n=I;q=Zi(B|0,C|0,z|0,A|0)|0;p=I;D=Zi(g|0,k|0,d|0,c|0)|0;e=I;j=Zi(g|0,k|0,w|0,x|0)|0;A=I;n=lk(D|0,e|0,o|0,n|0)|0;o=I;p=lk(j|0,A|0,q|0,p|0)|0;q=I;A=Zi(g|0,k|0,r|0,s|0)|0;j=I;e=Zi(g|0,k|0,t|0,v|0)|0;D=I;m=Zi(g|0,k|0,l|0,m|0)|0;k=I;j=Cg(A|0,j|0,B|0,C|0)|0;l=I;D=Cg(e|0,D|0,B|0,C|0)|0;e=I;k=Cg(m|0,k|0,B|0,C|0)|0;m=I;l=Dj(K|0,J|0,j|0,l|0)|0;j=I;e=Dj(H|0,G|0,D|0,e|0)|0;D=I;m=Dj(h|0,i|0,k|0,m|0)|0;k=I;j=Zi(l|0,j|0,l|0,j|0)|0;l=I;D=Zi(e|0,D|0,e|0,D|0)|0;l=lk(D|0,I|0,j|0,l|0)|0;j=I;k=Zi(m|0,k|0,m|0,k|0)|0;k=lk(l|0,j|0,k|0,I|0)|0;j=I;l=Dj(0,0,d|0,c|0)|0;m=I;j=Zi(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=25}break}case 1:{if(!c){g=1;c=0;E=26}else{g=1;c=0;h=j;i=k;E=25}break}default:{g=1;c=0;h=j;i=k;E=25}}if((E|0)==25)while(1){g=uj(g|0,c|0,1)|0;c=I;K=h;h=zj(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=26;break}else{i=I;E=25}}if((E|0)==26)while(1){K=il(j|0,k|0,g|0,c|0)|0;g=lk(K|0,I|0,g|0,c|0)|0;g=zj(g|0,I|0,1)|0;c=I;K=Zi(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=26;else break}E=Zi(g|0,c|0,w|0,x|0)|0;G=I;d=Zi(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=Dj(0,0,E|0,G|0)|0;G=lk(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=Dj(0,0,d|0,H|0)|0;H=lk(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=Cg(G|0,J|0,B|0,C|0)|0;K=Cg(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function mb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;r=F+76|0;s=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);m=f[(f[h>>2]|0)+28>>2]|0;l=f[m+(c<<2)>>2]|0;m=f[m+(g<<2)>>2]|0;g=a+36|0;h=f[g>>2]|0;c=f[h+4>>2]|0;k=f[h>>2]|0;if(c-k>>2>>>0>l>>>0){i=c;j=h;g=k;c=k}else{pl(h);c=f[g>>2]|0;i=f[c+4>>2]|0;j=c;g=f[h>>2]|0;c=f[c>>2]|0}w=f[g+(l<<2)>>2]|0;if(i-c>>2>>>0<=m>>>0){pl(j);c=f[j>>2]|0}h=f[c+(m<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;i=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,i,B)|0;r=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;r=Dj(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=Dj(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=Dj(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Zi(r|0,s|0,r|0,s|0)|0;x=I;B=Zi(t|0,v|0,t|0,v|0)|0;x=lk(B|0,I|0,C|0,x|0)|0;C=I;B=Zi(l|0,m|0,l|0,m|0)|0;B=lk(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=Dj(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=Dj(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=Dj(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Zi(K|0,J|0,r|0,s|0)|0;d=I;g=Zi(H|0,G|0,t|0,v|0)|0;d=lk(g|0,I|0,k|0,d|0)|0;k=I;g=Zi(h|0,i|0,l|0,m|0)|0;g=lk(d|0,k|0,g|0,I|0)|0;k=I;d=Dj(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=Dj(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Zi(B|0,C|0,q|0,y|0)|0;n=I;q=Zi(B|0,C|0,z|0,A|0)|0;p=I;D=Zi(g|0,k|0,d|0,c|0)|0;e=I;j=Zi(g|0,k|0,w|0,x|0)|0;A=I;n=lk(D|0,e|0,o|0,n|0)|0;o=I;p=lk(j|0,A|0,q|0,p|0)|0;q=I;A=Zi(g|0,k|0,r|0,s|0)|0;j=I;e=Zi(g|0,k|0,t|0,v|0)|0;D=I;m=Zi(g|0,k|0,l|0,m|0)|0;k=I;j=Cg(A|0,j|0,B|0,C|0)|0;l=I;D=Cg(e|0,D|0,B|0,C|0)|0;e=I;k=Cg(m|0,k|0,B|0,C|0)|0;m=I;l=Dj(K|0,J|0,j|0,l|0)|0;j=I;e=Dj(H|0,G|0,D|0,e|0)|0;D=I;m=Dj(h|0,i|0,k|0,m|0)|0;k=I;j=Zi(l|0,j|0,l|0,j|0)|0;l=I;D=Zi(e|0,D|0,e|0,D|0)|0;l=lk(D|0,I|0,j|0,l|0)|0;j=I;k=Zi(m|0,k|0,m|0,k|0)|0;k=lk(l|0,j|0,k|0,I|0)|0;j=I;l=Dj(0,0,d|0,c|0)|0;m=I;j=Zi(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=24}break}case 1:{if(!c){g=1;c=0;E=25}else{g=1;c=0;h=j;i=k;E=24}break}default:{g=1;c=0;h=j;i=k;E=24}}if((E|0)==24)while(1){g=uj(g|0,c|0,1)|0;c=I;K=h;h=zj(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=25;break}else{i=I;E=24}}if((E|0)==25)while(1){K=il(j|0,k|0,g|0,c|0)|0;g=lk(K|0,I|0,g|0,c|0)|0;g=zj(g|0,I|0,1)|0;c=I;K=Zi(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=25;else break}E=Zi(g|0,c|0,w|0,x|0)|0;G=I;d=Zi(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=Dj(0,0,E|0,G|0)|0;G=lk(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=Dj(0,0,d|0,H|0)|0;H=lk(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=Cg(G|0,J|0,B|0,C|0)|0;K=Cg(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function nb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;M=u;u=u+48|0;L=M+24|0;J=M+12|0;z=M;if(!b){L=0;u=M;return L|0}I=a+12|0;A=a+4|0;k=f[A>>2]|0;c=f[a>>2]|0;i=k-c>>2;g=a+16|0;e=f[g>>2]|0;d=f[I>>2]|0;j=e-d>>2;l=c;if(i>>>0<=j>>>0)if(i>>>0>>0?(h=d+(i<<2)|0,(e|0)!=(h|0)):0){f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);g=c}else g=c;else{Xd(I,i-j|0,2616);l=f[a>>2]|0;g=l;k=f[A>>2]|0}f[L>>2]=0;H=L+4|0;f[H>>2]=0;f[L+8>>2]=0;e=k-g|0;d=e>>2;c=L+8|0;do if(d)if(d>>>0>1073741823){M=Ha(4)|0;gm(M);sa(M|0,840,80)}else{i=_i(e)|0;h=i;f[L>>2]=h;f[H>>2]=h;f[c>>2]=i+(d<<2);break}else{i=0;h=0}while(0);if((e|0)>0){v=i;w=k;x=g;d=h;o=h;p=i;q=i;r=i;s=h;j=h;n=g;e=i;t=0;while(1){l=f[l+(t<<2)>>2]|0;c=f[H>>2]|0;if((l|0)<(c-d>>2|0)){g=v;h=w;i=x;m=e;c=n}else{e=l+1|0;f[J>>2]=0;g=c-d>>2;if(e>>>0<=g>>>0)if(e>>>0>>0?(y=d+(e<<2)|0,(c|0)!=(y|0)):0){f[H>>2]=c+(~((c+-4-y|0)>>>2)<<2);d=v;e=w;c=x}else{d=v;e=w;c=x}else{Xd(L,e-g|0,J);d=f[L>>2]|0;e=f[A>>2]|0;c=f[a>>2]|0}j=d;g=d;h=e;i=c;o=j;p=d;q=d;r=d;s=j;m=d;k=e}G=m+(l<<2)|0;f[G>>2]=(f[G>>2]|0)+1;t=t+1|0;if((t|0)>=(k-c>>2|0)){l=s;i=q;break}else{v=g;w=h;x=i;l=c;d=m;n=c;e=m}}}else{c=g;j=h;l=h;r=i;o=h;p=i}c=k-c|0;h=c>>2;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;if(!h){d=0;e=0}else{if(h>>>0>536870911){ql(J);M=Ha(4)|0;gm(M);sa(M|0,840,80)}g=_i(c<<1)|0;f[G>>2]=g;f[J>>2]=g;f[J+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){F=e;f[F>>2]=-1;f[F+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[G>>2]=g+(h<<3);d=g;e=g}F=f[H>>2]|0;g=F-j|0;c=g>>2;f[z>>2]=0;E=z+4|0;f[E>>2]=0;f[z+8>>2]=0;do if(c)if(c>>>0>1073741823){ql(z);M=Ha(4)|0;gm(M);sa(M|0,840,80)}else{D=_i(g)|0;f[z>>2]=D;C=D+(c<<2)|0;f[z+8>>2]=C;vf(D|0,0,g|0)|0;f[E>>2]=C;B=D;break}else{B=0;C=0;D=0}while(0);if((F|0)!=(l|0)){h=F-r>>2;c=0;g=0;do{f[B+(c<<2)>>2]=g;g=(f[r+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}z=f[a>>2]|0;c=(f[A>>2]|0)-z|0;A=z;if((c|0)>0){z=a+40|0;y=c>>2;k=i;m=B;j=0;v=e;t=e;w=e;s=e;x=e;while(1){i=(j|0)<0;c=j+1|0;if(!i){c=((c|0)%3|0|0)==0?j+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[A+(c<<2)>>2]|0;c=(j>>>0)%3|0;g=((c|0)==0?2:-1)+j|0;if((g|0)<0){r=-1073741824;q=h}else{r=f[A+(g<<2)>>2]|0;q=h}}else{c=(j>>>0)%3|0;r=-1073741824;q=-1073741824}if((j|0)==((i?-1073741824:j-c|0)|0)){if(i)c=-1073741824;else c=f[A+(j<<2)>>2]|0;if((q|0)==(r|0)|((c|0)==(q|0)|(c|0)==(r|0))){f[z>>2]=(f[z>>2]|0)+1;j=j+2|0;c=v;g=t;l=w;h=s;i=x}else K=60}else K=60;a:do if((K|0)==60){K=0;n=f[k+(r<<2)>>2]|0;b:do if((n|0)>0){c=0;i=f[m+(r<<2)>>2]|0;while(1){g=f[s+(i<<3)>>2]|0;if((g|0)<0){c=v;g=t;h=s;break b}if((g|0)==(q|0))break;c=c+1|0;if((c|0)<(n|0))i=i+1|0;else{c=v;g=t;h=s;break b}}l=f[s+(i<<3)+4>>2]|0;h=t;while(1){c=c+1|0;if((c|0)>=(n|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[v+(i<<3)>>2]|0)<0)break;else{i=g;h=v}}f[w+(i<<3)>>2]=-1;if((l|0)<0){c=w;g=w;h=w}else{c=f[I>>2]|0;f[c+(j<<2)>>2]=l;f[c+(l<<2)>>2]=j;c=w;g=w;l=w;h=w;i=x;break a}}else{c=v;g=t;h=s}while(0);i=f[p+(q<<2)>>2]|0;if((i|0)>0){h=0;c=f[B+(q<<2)>>2]|0;while(1){g=x+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){m=B;k=p;c=x;g=x;l=x;h=x;i=x;break a}else c=c+1|0}f[g>>2]=r;f[e+(c<<3)+4>>2]=j;m=B;k=p;c=e;g=e;l=e;h=e;i=e}else{k=p;l=w;i=x}}while(0);j=j+1|0;if((j|0)>=(y|0))break;else{v=c;t=g;w=l;s=h;x=i}}}f[b>>2]=F-o>>2;if(B){if((C|0)!=(B|0))f[E>>2]=C+(~((C+-4-B|0)>>>2)<<2);Em(D);d=f[J>>2]|0;e=d}if(e|0){c=f[G>>2]|0;if((c|0)!=(e|0))f[G>>2]=c+(~((c+-8-e|0)>>>3)<<3);Em(d)}c=f[L>>2]|0;if(c|0){d=f[H>>2]|0;if((d|0)!=(c|0))f[H>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}L=1;u=M;return L|0}function ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))$e(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ad(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ad(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Ad(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ad(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))$e(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))$e(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function pb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=Ka,j=0,k=Ka,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Ka;A=u;u=u+48|0;y=A+24|0;z=A;e=Yb(a,c)|0;if(e|0){f[z>>2]=e;f[y>>2]=f[z>>2];hd(a,y)|0}th(z,c);c=z+12|0;f[c>>2]=0;x=z+16|0;f[x>>2]=0;f[z+20>>2]=0;j=d+4|0;g=(f[j>>2]|0)-(f[d>>2]|0)|0;if(g){if((g|0)<0)ql(c);e=_i(g)|0;f[x>>2]=e;f[c>>2]=e;f[z+20>>2]=e+g;g=f[d>>2]|0;c=(f[j>>2]|0)-g|0;if((c|0)>0){Ld(e|0,g|0,c|0)|0;f[x>>2]=e+c}}else e=0;s=b[z+11>>0]|0;v=s<<24>>24<0;t=v?f[z>>2]|0:z;s=v?f[z+4>>2]|0:s&255;if(s>>>0>3){g=t;c=s;j=s;while(1){v=X(h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,1540483477)|0;c=(X(v>>>24^v,1540483477)|0)^(X(c,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else g=g+4|0}v=s+-4|0;g=v&-4;j=t+(g+4)|0;g=v-g|0}else{j=t;c=s;g=s}switch(g|0){case 3:{c=h[j+2>>0]<<16^c;w=13;break}case 2:{w=13;break}case 1:{w=14;break}default:{}}if((w|0)==13){c=h[j+1>>0]<<8^c;w=14}if((w|0)==14)c=X(h[j>>0]^c,1540483477)|0;v=X(c>>>13^c,1540483477)|0;v=v>>>15^v;q=a+4|0;j=f[q>>2]|0;r=(j|0)==0;a:do if(!r){p=j+-1|0;d=(p&j|0)==0;if(d)c=v&p;else c=(v>>>0)%(j>>>0)|0;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){if((f[g+4>>2]&p|0)!=(c|0)){w=48;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=48;break a}}}while(1){if((f[o+4>>2]&p|0)!=(c|0)){w=48;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(xh(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=48;break}}}else{if(g){g=o;while(1){if((((f[g+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(c|0)){w=48;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=48;break a}}}while(1){if((((f[o+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(c|0)){w=48;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(xh(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=48;break}}}}else w=48}else{c=0;w=48}while(0);if((w|0)==48){ue(y,a,v,z);d=a+12|0;k=$(((f[d>>2]|0)+1|0)>>>0);B=$(j>>>0);i=$(n[a+16>>2]);do if(r|k>$(B*i)){e=(j>>>0<3|(j+-1&j|0)!=0)&1|j<<1;c=~~$(W($(k/i)))>>>0;we(a,e>>>0>>0?c:e);e=f[q>>2]|0;c=e+-1|0;if(!(c&e)){j=e;c=c&v;break}else{j=e;c=(v>>>0)%(e>>>0)|0;break}}while(0);e=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!e){g=a+8|0;f[f[y>>2]>>2]=f[g>>2];f[g>>2]=f[y>>2];f[(f[a>>2]|0)+(c<<2)>>2]=g;g=f[y>>2]|0;e=f[g>>2]|0;if(!e)e=y;else{e=f[e+4>>2]|0;c=j+-1|0;if(!(c&j))e=e&c;else e=(e>>>0)%(j>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=g;e=y}}else{f[f[y>>2]>>2]=f[e>>2];f[e>>2]=f[y>>2];e=y}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;e=f[z+12>>2]|0}if(!e){pk(z);u=A;return}if((f[x>>2]|0)!=(e|0))f[x>>2]=e;Em(e);pk(z);u=A;return}function qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+176|0;s=A+136|0;w=A+32|0;v=A;t=A+104|0;x=A+100|0;y=a+4|0;q=f[y>>2]|0;d=f[q+32>>2]|0;o=d+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((o|0)>(l|0)|(o|0)==(l|0)&n>>>0>k>>>0)){c=0;u=A;return c|0}j=f[d>>2]|0;r=b[j+k>>0]|0;d=lk(k|0,l|0,1,0)|0;m=I;i=p;f[i>>2]=d;f[i+4>>2]=m;if(!((o|0)>(m|0)|(o|0)==(m|0)&n>>>0>d>>>0)){c=0;u=A;return c|0}m=b[j+d>>0]|0;d=lk(k|0,l|0,2,0)|0;e=I;i=p;f[i>>2]=d;f[i+4>>2]=e;do if(r<<24>>24>-1){i=r<<24>>24;g=f[a+224>>2]|0;if(i>>>0<(((f[a+228>>2]|0)-g|0)/116|0)>>>0){f[g+(i*116|0)>>2]=c;break}else{c=0;u=A;return c|0}}while(0);do if((((h[q+36>>0]|0)<<8|(h[q+37>>0]|0))&65535)>257)if((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0){e=b[j+d>>0]|0;o=lk(k|0,l|0,3,0)|0;f[p>>2]=o;f[p+4>>2]=I;e=e&255;break}else{c=0;u=A;return c|0}else e=0;while(0);n=f[q+44>>2]|0;if(!(m<<24>>24)){if(r<<24>>24<0)d=a+196|0;else{d=r<<24>>24;w=f[a+224>>2]|0;b[w+(d*116|0)+72>>0]=0;d=w+(d*116|0)+76|0}switch((e&255)<<24>>24){case 0:{_b(s,a,d);d=f[s>>2]|0;break}case 1:{yc(s,a,d);d=f[s>>2]|0;break}default:{c=0;u=A;return c|0}}if(!d){c=0;u=A;return c|0}}else{if(e|0){c=0;u=A;return c|0}j=r<<24>>24;if(r<<24>>24<0){c=0;u=A;return c|0}d=_i(88)|0;i=f[a+224>>2]|0;k=i+(j*116|0)+76|0;f[d+4>>2]=0;f[d>>2]=2312;l=d+12|0;f[l>>2]=2336;m=d+64|0;f[m>>2]=0;f[d+68>>2]=0;f[d+72>>2]=0;e=d+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d+76>>2]=n;f[d+80>>2]=k;f[d+84>>2]=0;p=w+4|0;f[p>>2]=2336;o=w+56|0;f[o>>2]=0;q=w+60|0;f[q>>2]=0;f[w+64>>2]=0;e=w+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));g=i+(j*116|0)+4|0;f[v>>2]=2336;e=v+4|0;a=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[e>>2]=g;i=f[i+(j*116|0)+68>>2]|0;i=((f[i+4>>2]|0)-(f[i>>2]|0)>>2>>>0)/3|0;b[s>>0]=0;Td(v+8|0,i,s);Oa[f[(f[v>>2]|0)+8>>2]&127](v);Zc(t,v);Zc(s,t);f[w>>2]=f[s+4>>2];i=w+4|0;td(i,s)|0;f[s>>2]=2336;e=f[s+20>>2]|0;if(e|0)Em(e);e=f[s+8>>2]|0;if(e|0)Em(e);f[w+36>>2]=g;f[w+40>>2]=k;f[w+44>>2]=n;f[w+48>>2]=d;f[t>>2]=2336;e=f[t+20>>2]|0;if(e|0)Em(e);e=f[t+8>>2]|0;if(e|0)Em(e);f[d+8>>2]=f[w>>2];td(l,i)|0;e=d+44|0;t=w+36|0;f[e>>2]=f[t>>2];f[e+4>>2]=f[t+4>>2];f[e+8>>2]=f[t+8>>2];f[e+12>>2]=f[t+12>>2];b[e+16>>0]=b[t+16>>0]|0;ad(m,f[o>>2]|0,f[q>>2]|0);f[v>>2]=2336;e=f[v+20>>2]|0;if(e|0)Em(e);e=f[v+8>>2]|0;if(e|0)Em(e);e=f[o>>2]|0;if(e|0){g=f[q>>2]|0;if((g|0)!=(e|0))f[q>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}f[p>>2]=2336;e=f[w+24>>2]|0;if(e|0)Em(e);e=f[w+12>>2]|0;if(e|0)Em(e)}e=_i(64)|0;f[x>>2]=d;wh(e,x);l=e;d=f[x>>2]|0;f[x>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[y>>2]|0;if((c|0)<0){Oa[f[(f[e>>2]|0)+4>>2]&127](e);c=0;u=A;return c|0}k=d+8|0;j=d+12|0;d=f[j>>2]|0;e=f[k>>2]|0;i=d-e>>2;do if((i|0)<=(c|0)){g=c+1|0;if(g>>>0>i>>>0){rd(k,g-i|0);break}if(g>>>0>>0?(z=e+(g<<2)|0,(d|0)!=(z|0)):0)do{y=d+-4|0;f[j>>2]=y;d=f[y>>2]|0;f[y>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[j>>2]|0}while((d|0)!=(z|0))}while(0);c=(f[k>>2]|0)+(c<<2)|0;d=f[c>>2]|0;f[c>>2]=l;if(!d){c=1;u=A;return c|0}Oa[f[(f[d>>2]|0)+4>>2]&127](d);c=1;u=A;return c|0}function rb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[4050]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[4051]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[4048]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[4046]=f[4046]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=16488+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[4047]=f[4047]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[4051]|0;if((k|0)==(f[4052]|0)){k=(f[4049]|0)+b|0;f[4049]=k;f[4052]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[4051]=0;f[4048]=0;return}if((k|0)==(a|0)){k=(f[4048]|0)+b|0;f[4048]=k;f[4051]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[4046]=f[4046]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=16488+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[4047]=f[4047]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[4051]|0)){f[4048]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=16224+(a<<1<<2)|0;b=f[4046]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=16488+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[4047]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[4047]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[4054]|0)+-1|0;f[4054]=k;if(!k)a=16640;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[4054]=-1;return}function sb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))$e(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ad(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ad(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;d=d+(i>>>5<<2)|0;f[d>>2]=1<<(i&31)|f[d>>2];d=f[b>>2]|0;i=f[(f[e+28>>2]|0)+(d<<2)>>2]|0;c=f[(f[e+40>>2]|0)+(i<<2)>>2]|0;if((c|0)<0)j=1;else{j=f[(f[f[e+64>>2]>>2]|0)+(c<<2)>>2]|0;j=(1<<(j&31)&f[(f[e+12>>2]|0)+(j>>>5<<2)>>2]|0)!=0}g=(f[n>>2]|0)+(i>>>5<<2)|0;h=1<<(i&31);c=f[g>>2]|0;if(!(c&h)){f[g>>2]=c|h;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ad(k,t,w);e=f[a>>2]|0;c=f[b>>2]|0;if(j){d=c;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)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}}else y=40;if((y|0)==40){y=0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){$e(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))$e(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ad(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ad(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){e=(c|0)/3|0;g=d+(e>>>5<<2)|0;f[g>>2]=1<<(e&31)|f[g>>2];g=f[b>>2]|0;e=f[a>>2]|0;if((g|0)<0)j=-1073741824;else j=f[(f[e>>2]|0)+(g<<2)>>2]|0;d=f[(f[e+24>>2]|0)+(j<<2)>>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){d=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;c=d+1|0;if((d|0)<0)i=d;else i=((c|0)%3|0|0)==0?d+-2|0:c}else i=c}else i=d;d=(f[n>>2]|0)+(j>>>5<<2)|0;h=1<<(j&31);c=f[d>>2]|0;if(!(c&h)){f[d>>2]=c|h;f[s>>2]=j;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ad(k,t,w);d=f[a>>2]|0;c=f[b>>2]|0;if((i|0)<0){g=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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((g|0)<0){y=44;break}c=g+1|0;c=((c|0)%3|0|0)==0?g+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=49;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(g){y=51;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=51;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==44){f[w>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){$e(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Fa(8225,8247,46,8411);if(!(f[a+8>>2]|0))Fa(8225,8247,46,8411);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Jd(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Jd(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Jd(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=Dj(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=Dj(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=Dj(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=Dj(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=Dj(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=Dj(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Zi(H|0,J|0,i|0,h|0)|0;M=I;P=Zi(T|0,S|0,K|0,L|0)|0;O=I;L=Zi(R|0,Q|0,K|0,L|0)|0;K=I;J=Zi(H|0,J|0,n|0,j|0)|0;H=I;j=Zi(T|0,S|0,n|0,j|0)|0;n=I;h=Zi(R|0,Q|0,i|0,h|0)|0;i=I;l=Dj(l|0,k|0,P|0,O|0)|0;l=lk(l|0,I|0,N|0,M|0)|0;k=I;g=lk(L|0,K|0,g|0,m|0)|0;g=Dj(g|0,I|0,J|0,H|0)|0;m=I;c=Dj(c|0,e|0,h|0,i|0)|0;c=lk(c|0,I|0,j|0,n|0)|0;e=I;cd(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=Dj(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=Dj(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=Dj(0,0,c|0,e|0)|0;S=lk((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=lk(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=zj(h|0,i|0,29)|0;T=T&7;i=Cg(l|0,k|0,T|0,0)|0;j=I;g=Cg(g|0,m|0,T|0,0)|0;h=I;c=Cg(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=zj(h|0,i|0,29)|0;T=I;i=Cg(l|0,k|0,S|0,T|0)|0;j=I;g=Cg(g|0,m|0,S|0,T|0)|0;h=I;c=Cg(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=Dj(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=Dj(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=Dj(0,0,c|0,e|0)|0;Q=lk((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=lk(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Fa(8433,8247,95,8411)}function vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Fa(8225,8247,46,8411);if(!(f[a+8>>2]|0))Fa(8225,8247,46,8411);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Rd(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Rd(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Rd(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=Dj(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=Dj(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=Dj(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=Dj(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=Dj(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=Dj(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Zi(H|0,J|0,i|0,h|0)|0;M=I;P=Zi(T|0,S|0,K|0,L|0)|0;O=I;L=Zi(R|0,Q|0,K|0,L|0)|0;K=I;J=Zi(H|0,J|0,n|0,j|0)|0;H=I;j=Zi(T|0,S|0,n|0,j|0)|0;n=I;h=Zi(R|0,Q|0,i|0,h|0)|0;i=I;l=Dj(l|0,k|0,P|0,O|0)|0;l=lk(l|0,I|0,N|0,M|0)|0;k=I;g=lk(L|0,K|0,g|0,m|0)|0;g=Dj(g|0,I|0,J|0,H|0)|0;m=I;c=Dj(c|0,e|0,h|0,i|0)|0;c=lk(c|0,I|0,j|0,n|0)|0;e=I;Ud(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=Dj(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=Dj(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=Dj(0,0,c|0,e|0)|0;S=lk((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=lk(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=zj(h|0,i|0,29)|0;T=T&7;i=Cg(l|0,k|0,T|0,0)|0;j=I;g=Cg(g|0,m|0,T|0,0)|0;h=I;c=Cg(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=zj(h|0,i|0,29)|0;T=I;i=Cg(l|0,k|0,S|0,T|0)|0;j=I;g=Cg(g|0,m|0,S|0,T|0)|0;h=I;c=Cg(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=Dj(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=Dj(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=Dj(0,0,c|0,e|0)|0;Q=lk((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=lk(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Fa(8433,8247,95,8411)}function wb(a,c){a=a|0;c=c|0;var d=0,e=0,g=Ka,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=Ka;t=b[c+11>>0]|0;v=t<<24>>24<0;u=v?f[c>>2]|0:c;t=v?f[c+4>>2]|0:t&255;if(t>>>0>3){j=u;m=t;k=t;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}v=t+-4|0;k=v&-4;l=u+(k+4)|0;j=m;k=v-k|0}else{l=u;j=t;k=t}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;x=6;break}case 2:{o=j;x=6;break}case 1:{p=j;x=7;break}default:q=j}if((x|0)==6){p=h[l+1>>0]<<8^o;x=7}if((x|0)==7)q=X(h[l>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;r=a+4|0;q=f[r>>2]|0;s=(q|0)==0;a:do if(!s){o=q+-1|0;k=(o&q|0)==0;if(k)p=v&o;else p=(v>>>0)%(q>>>0)|0;j=f[(f[a>>2]|0)+(p<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){j=(t|0)==0;if(k){if(j){while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}u=b[e+8+11>>0]|0;if(!((u<<24>>24<0?f[e+12>>2]|0:u&255)|0))break;e=f[e>>2]|0;if(!e){d=p;break a}}a=e+20|0;return a|0}b:while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(xh(k,u,t)|0)){x=54;break b}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break b}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}else{if(j){d=e;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}u=b[d+8+11>>0]|0;if(!((u<<24>>24<0?f[d+12>>2]|0:u&255)|0)){e=d;break}d=f[d>>2]|0;if(!d){d=p;break a}}a=e+20|0;return a|0}c:while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(xh(k,u,t)|0)){x=54;break c}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}}else d=p}else d=0;while(0);l=_i(24)|0;th(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=v;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);y=$(q>>>0);g=$(n[a+16>>2]);do if(s|i>$(y*g)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(i/g)))>>>0;we(a,d>>>0>>0?e:d);d=f[r>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&v;break}else{j=d;d=(v>>>0)%(d>>>0)|0;break}}else j=q;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;w=(f[a>>2]|0)+(d<<2)|0;x=52}}else{f[l>>2]=f[d>>2];w=d;x=52}if((x|0)==52)f[w>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else $e(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))$e(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else $e(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){$e(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)Fa(12788,12706,64,12783);else if((C|0)==33)Fa(12788,12706,64,12783)}function yb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=a+8|0;f[x>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{Oe(i,e-j|0);d=f[x>>2]|0}u=f[a+48>>2]|0;v=f[a+52>>2]|0;t=e>>>0>1073741823?-1:e<<2;w=Bm(t)|0;vf(w|0,0,t|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[w+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{t=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(t|0)?t:d}i=i+1|0;d=f[x>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;C=18}}else{d=d-(f[i>>2]|0)|0;C=18}if((C|0)==18){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}q=a+56|0;h=f[q>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;s=g-d|0;t=s>>2;if((s|0)<=4){Cm(w);return 1}r=a+16|0;p=a+32|0;s=a+12|0;o=a+20|0;m=u+12|0;n=(e|0)>0;i=g;a=1;while(1){if(i-d>>2>>>0<=a>>>0){pl(h);d=f[h>>2]|0}d=f[d+(a<<2)>>2]|0;l=X(a,e)|0;if((d|0)>=0?(B=f[(f[m>>2]|0)+(d<<2)>>2]|0,(B|0)>=0):0){g=f[u>>2]|0;h=f[v>>2]|0;i=f[h+(f[g+(B<<2)>>2]<<2)>>2]|0;d=B+1|0;d=((d|0)%3|0|0)==0?B+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;j=f[h+(d<<2)>>2]|0;d=(((B>>>0)%3|0|0)==0?2:-1)+B|0;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;d=f[h+(d<<2)>>2]|0;if((i|0)<(a|0)&(j|0)<(a|0)&(d|0)<(a|0)){i=X(i,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(n){d=0;do{f[w+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}j=b+(l<<2)|0;k=c+(l<<2)|0;if((f[x>>2]|0)>0){h=0;do{d=f[w+(h<<2)>>2]|0;g=f[r>>2]|0;if((d|0)>(g|0)){i=f[p>>2]|0;f[i+(h<<2)>>2]=g}else{g=f[s>>2]|0;i=f[p>>2]|0;f[i+(h<<2)>>2]=(d|0)<(g|0)?g:d}h=h+1|0;d=f[x>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[r>>2]|0)){if((d|0)<(f[s>>2]|0)){d=(f[o>>2]|0)+d|0;C=57}}else{d=d-(f[o>>2]|0)|0;C=57}if((C|0)==57){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}}else C=35}else C=35;if((C|0)==35?(C=0,y=c+((X(a+-1|0,e)|0)<<2)|0,z=b+(l<<2)|0,A=c+(l<<2)|0,(f[x>>2]|0)>0):0){h=0;do{d=f[y+(h<<2)>>2]|0;g=f[r>>2]|0;if((d|0)>(g|0)){i=f[p>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[s>>2]|0;i=f[p>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[x>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[z+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=A+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[r>>2]|0)){if((d|0)<(f[s>>2]|0)){d=(f[o>>2]|0)+d|0;C=45}}else{d=d-(f[o>>2]|0)|0;C=45}if((C|0)==45){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}g=a+1|0;if((g|0)>=(t|0))break;h=f[q>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;a=g}Cm(w);return 1}function zb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;y=a+8|0;f[y>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{Oe(i,e-j|0);d=f[y>>2]|0}v=f[a+48>>2]|0;w=f[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=Bm(u)|0;vf(x|0,0,u|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[x+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{u=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(u|0)?u:d}i=i+1|0;d=f[y>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;G=18}}else{d=d-(f[i>>2]|0)|0;G=18}if((G|0)==18){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}r=a+56|0;h=f[r>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;t=g-d|0;u=t>>2;if((t|0)<=4){Cm(x);return 1}s=a+16|0;q=a+32|0;t=a+12|0;p=a+20|0;o=v+64|0;m=v+28|0;n=(e|0)>0;i=g;a=1;while(1){if(i-d>>2>>>0<=a>>>0){pl(h);d=f[h>>2]|0}d=f[d+(a<<2)>>2]|0;l=X(a,e)|0;if((!((d|0)<0?1:(1<<(d&31)&f[(f[v>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(F=f[(f[(f[o>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(F|0)>=0):0)?(B=f[m>>2]|0,k=f[w>>2]|0,z=f[k+(f[B+(F<<2)>>2]<<2)>>2]|0,A=F+1|0,A=f[k+(f[B+((((A|0)%3|0|0)==0?F+-2|0:A)<<2)>>2]<<2)>>2]|0,B=f[k+(f[B+((((F>>>0)%3|0|0)==0?2:-1)+F<<2)>>2]<<2)>>2]|0,(z|0)<(a|0)&(A|0)<(a|0)&(B|0)<(a|0)):0){g=X(z,e)|0;h=X(A,e)|0;i=X(B,e)|0;if(n){d=0;do{f[x+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}j=b+(l<<2)|0;k=c+(l<<2)|0;if((f[y>>2]|0)>0){h=0;do{d=f[x+(h<<2)>>2]|0;g=f[s>>2]|0;if((d|0)>(g|0)){i=f[q>>2]|0;f[i+(h<<2)>>2]=g}else{g=f[t>>2]|0;i=f[q>>2]|0;f[i+(h<<2)>>2]=(d|0)<(g|0)?g:d}h=h+1|0;d=f[y>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[s>>2]|0)){if((d|0)<(f[t>>2]|0)){d=(f[p>>2]|0)+d|0;G=53}}else{d=d-(f[p>>2]|0)|0;G=53}if((G|0)==53){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}}else G=31;if((G|0)==31?(G=0,C=c+((X(a+-1|0,e)|0)<<2)|0,D=b+(l<<2)|0,E=c+(l<<2)|0,(f[y>>2]|0)>0):0){h=0;do{d=f[C+(h<<2)>>2]|0;g=f[s>>2]|0;if((d|0)>(g|0)){i=f[q>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[t>>2]|0;i=f[q>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[y>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[D+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=E+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[s>>2]|0)){if((d|0)<(f[t>>2]|0)){d=(f[p>>2]|0)+d|0;G=41}}else{d=d-(f[p>>2]|0)|0;G=41}if((G|0)==41){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}g=a+1|0;if((g|0)>=(u|0))break;h=f[r>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;a=g}Cm(x);return 1}function Ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))Fa(12622,12521,68,12612);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Em(g)}Em(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Em(g)}Em(e)}Em(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){kf(d);Em(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){kf(c);Em(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){li(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function Bb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=u;u=u+16|0;k=l;i=c+8|0;o=i;m=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=lk(e|0,f[g+4>>2]|0,5,0)|0;n=I;if((o|0)<(n|0)|(o|0)==(n|0)&m>>>0>>0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}e=(f[c>>2]|0)+e|0;b[d>>0]=b[e>>0]|0;b[d+1>>0]=b[e+1>>0]|0;b[d+2>>0]=b[e+2>>0]|0;b[d+3>>0]=b[e+3>>0]|0;b[d+4>>0]=b[e+4>>0]|0;e=j;e=lk(f[e>>2]|0,f[e+4>>2]|0,5,0)|0;g=I;o=j;f[o>>2]=e;f[o+4>>2]=g;if(xh(d,11978,5)|0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11984,17);f[a>>2]=-1;th(a+4|0,k);pk(k);u=l;return}o=i;n=f[o+4>>2]|0;if(!((n|0)>(g|0)|((n|0)==(g|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}b[d+5>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=lk(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}b[d+6>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=lk(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}b[d+7>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=lk(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}b[d+8>>0]=b[(f[c>>2]|0)+e>>0]|0;o=j;m=f[o>>2]|0;o=f[o+4>>2]|0;e=lk(m|0,o|0,1,0)|0;n=j;f[n>>2]=e;f[n+4>>2]=I;n=f[i>>2]|0;i=f[i+4>>2]|0;o=lk(m|0,o|0,3,0)|0;m=I;if((i|0)<(m|0)|(i|0)==(m|0)&n>>>0>>0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}else{n=d+10|0;o=(f[c>>2]|0)+e|0;o=h[o>>0]|h[o+1>>0]<<8;b[n>>0]=o;b[n+1>>0]=o>>8;n=j;n=lk(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;o=j;f[o>>2]=n;f[o+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=l;return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))$e(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))$e(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))$e(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){$e(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Fa(6859,6870,60,6985);if((d|0)>=31)Fa(7005,6870,61,6985);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(8225,9038,99,9195);if((e|0)!=2)Fa(9217,9038,102,9195);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){pl(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];ub(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=lk(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=lk(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Zi(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Cg(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Zi(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Cg(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Tg(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;Fe(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Fa(9241,9038,116,9195);else if((d|0)==23)Fa(9308,6870,99,9396);return 0}function Eb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Fa(6859,6870,60,6985);if((d|0)>=31)Fa(7005,6870,61,6985);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(8225,9038,99,9195);if((e|0)!=2)Fa(9217,9038,102,9195);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){pl(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];vb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=lk(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=lk(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Zi(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Cg(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Zi(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Cg(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Tg(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;Fe(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Fa(9241,9038,116,9195);else if((d|0)==23)Fa(9308,6870,99,9396);return 0}function Fb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=u;u=u+80|0;z=D+76|0;y=D;C=D+72|0;x=D+64|0;B=D+68|0;if(!(Pf(z,c)|0)){C=0;u=D;return C|0}d=f[z>>2]|0;if(!d){C=0;u=D;return C|0}A=a+4|0;h=a+8|0;g=f[h>>2]|0;e=f[A>>2]|0;j=g-e>>2;if(d>>>0>j>>>0){Oe(A,d-j|0);if(!(f[z>>2]|0)){C=1;u=D;return C|0}}else if(d>>>0>>0?(i=e+(d<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2);o=f[a+32>>2]|0;r=c+8|0;t=c+16|0;v=y+60|0;q=o+8|0;p=o+12|0;s=a+16|0;m=a+20|0;n=0;while(1){g=r;e=f[g>>2]|0;g=f[g+4>>2]|0;a=t;j=f[a>>2]|0;a=f[a+4>>2]|0;if(!((g|0)>(a|0)|(g|0)==(a|0)&e>>>0>j>>>0)){d=0;e=44;break}h=f[c>>2]|0;l=b[h+j>>0]|0;d=lk(j|0,a|0,1,0)|0;k=I;i=t;f[i>>2]=d;f[i+4>>2]=k;if(!((g|0)>(k|0)|(g|0)==(k|0)&e>>>0>d>>>0)){d=0;e=44;break}k=b[h+d>>0]|0;d=lk(j|0,a|0,2,0)|0;i=I;E=t;f[E>>2]=d;f[E+4>>2]=i;if(!((g|0)>(i|0)|(g|0)==(i|0)&e>>>0>d>>>0)){d=0;e=44;break}i=b[h+d>>0]|0;d=lk(j|0,a|0,3,0)|0;E=I;F=t;f[F>>2]=d;f[F+4>>2]=E;if(!((g|0)>(E|0)|(g|0)==(E|0)&e>>>0>d>>>0)){d=0;e=44;break}e=b[h+d>>0]|0;F=lk(j|0,a|0,4,0)|0;d=t;f[d>>2]=F;f[d+4>>2]=I;d=k&255;if((k+-1&255)>10){d=0;e=44;break}Kh(y);h=X(Yh(d)|0,i&255)|0;Of(y,l&255,0,i,d,e<<24>>24!=0,h,((h|0)<0)<<31>>31,0,0);Pf(C,c)|0;f[v>>2]=f[C>>2];i=_i(96)|0;Dh(i,y);f[x>>2]=i;i=ce(o,x)|0;h=f[x>>2]|0;f[x>>2]=0;if(h|0){F=h+88|0;d=f[F>>2]|0;f[F>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}F=h+64|0;d=f[F>>2]|0;f[F>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(h)}if((i|0)<=-1){e=33;break}d=f[q>>2]|0;if(((f[p>>2]|0)-d>>2|0)<=(i|0)){e=35;break}f[(f[d+(i<<2)>>2]|0)+60>>2]=f[C>>2];f[(f[A>>2]|0)+(n<<2)>>2]=i;e=f[m>>2]|0;d=f[s>>2]|0;h=e-d>>2;if((i|0)>=(h|0)){g=i+1|0;f[B>>2]=-1;if(g>>>0<=h>>>0){if(g>>>0>>0?(w=d+(g<<2)|0,(e|0)!=(w|0)):0)f[m>>2]=e+(~((e+-4-w|0)>>>2)<<2)}else{Xd(s,g-h|0,B);d=f[s>>2]|0}}f[d+(i<<2)>>2]=n;n=n+1|0;if(n>>>0>=(f[z>>2]|0)>>>0){d=1;e=44;break}}if((e|0)==33)Fa(12505,12521,67,12612);else if((e|0)==35)Fa(12622,12521,68,12612);else if((e|0)==44){u=D;return d|0}return 0}function Gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Ra[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((r|0)<1){c=0;return c|0}m=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;s=X(m,r)|0;yd(a,m,r);m=a+16|0;q=f[m>>2]|0;q=(f[f[q>>2]>>2]|0)+(f[q+48>>2]|0)|0;o=d+8|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>k>>>0)){c=0;return c|0}h=f[d>>2]|0;n=b[h+k>>0]|0;i=lk(k|0,l|0,1,0)|0;j=I;t=p;f[t>>2]=i;f[t+4>>2]=j;a:do if(!(n<<24>>24)){if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>i>>>0)){t=0;return t|0}n=b[h+i>>0]|0;t=lk(k|0,l|0,2,0)|0;l=p;f[l>>2]=t;f[l+4>>2]=I;l=n&255;t=(l|0)==(Yh(5)|0);e=f[(f[m>>2]|0)+64>>2]|0;e=(f[e+4>>2]|0)-(f[e>>2]|0)|0;if(t){g=s<<2;if(e>>>0>>0){t=0;return t|0}m=o;o=f[m>>2]|0;m=f[m+4>>2]|0;t=p;e=f[t>>2]|0;t=lk(e|0,f[t+4>>2]|0,g|0,0)|0;n=I;if((m|0)<(n|0)|(m|0)==(n|0)&o>>>0>>0){t=0;return t|0}else{Ld(q|0,(f[d>>2]|0)+e|0,g|0)|0;t=p;t=lk(f[t>>2]|0,f[t+4>>2]|0,g|0,0)|0;i=p;f[i>>2]=t;f[i+4>>2]=I;i=18;break}}i=X(l,s)|0;if(e>>>0>>0){t=0;return t|0}j=o;h=f[j>>2]|0;j=f[j+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;t=Dj(h|0,j|0,e|0,g|0)|0;k=I;m=((i|0)<0)<<31>>31;if((k|0)<(m|0)|(k|0)==(m|0)&t>>>0>>0){t=0;return t|0}if(!s)i=19;else{k=n&255;i=j;j=0;while(1){t=lk(e|0,g|0,k|0,0)|0;n=I;if(!((i|0)<(n|0)|(i|0)==(n|0)&h>>>0>>0)){Ld(q+(j<<2)|0,(f[d>>2]|0)+e|0,l|0)|0;e=p;e=lk(f[e>>2]|0,f[e+4>>2]|0,k|0,0)|0;g=I;t=p;f[t>>2]=e;f[t+4>>2]=g}j=j+1|0;if((j|0)==(s|0)){i=18;break a}h=o;i=f[h+4>>2]|0;h=f[h>>2]|0}}}else if(xf(s,r,d,q)|0)i=18;else{t=0;return t|0}while(0);do if((i|0)==18)if((s|0)>0){g=a+20|0;e=f[g>>2]|0;if(e|0?Ra[f[(f[e>>2]|0)+32>>2]&127](e)|0:0){h=1;break}pi(q,s,q);h=1}else i=19;while(0);if((i|0)==19){g=a+20|0;h=0}e=f[g>>2]|0;if(e|0){if(!(Va[f[(f[e>>2]|0)+40>>2]&127](e,d)|0)){t=0;return t|0}if(h?(t=f[g>>2]|0,!(Qa[f[(f[t>>2]|0)+44>>2]&15](t,q,q,s,r,f[c>>2]|0)|0)):0){t=0;return t|0}}t=1;return t|0}function Hb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+64|0;E=F;g=E;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));a:do if(Hc(E,d)|0?kd(E,d)|0:0){g=(a|0)==0;b:do if(!g){if(!(f[E+12>>2]|0)){k=0;break a}Vg(d,0,0)|0;if(!g){z=E+44|0;C=E+48|0;y=E+40|0;s=E+16|0;t=E+28|0;A=(c|0)>0;D=d+36|0;x=d+32|0;v=d+24|0;w=d+28|0;i=f[C>>2]|0;B=0;g=0;while(1){c:do if(i>>>0<16384){j=f[z>>2]|0;do{if((j|0)<=0)break c;r=f[y>>2]|0;j=j+-1|0;f[z>>2]=j;i=h[r+j>>0]|i<<8;f[C>>2]=i}while(i>>>0<16384)}while(0);p=i&4095;r=f[(f[s>>2]|0)+(p<<2)>>2]|0;q=f[t>>2]|0;i=(X(f[q+(r<<3)>>2]|0,i>>>12)|0)+p-(f[q+(r<<3)+4>>2]|0)|0;f[C>>2]=i;if(A){p=(r|0)>0;if((r|0)<=-1){g=22;break}if((r|0)<33){q=0;o=g}else{g=21;break}while(1){if(!(b[D>>0]|0)){k=0;break a}if(p){l=f[v>>2]|0;m=f[w>>2]|0;k=f[x>>2]|0;n=0;j=0;do{g=l+(k>>>3)|0;if(g>>>0>>0){g=(h[g>>0]|0)>>>(k&7)&1;k=k+1|0;f[x>>2]=k}else g=0;j=g<>2]=j;q=q+1|0;if((q|0)>=(c|0))break;else o=g}}B=B+c|0;if(B>>>0>=a>>>0)break b}if((g|0)==21){if(!(b[D>>0]|0)){k=0;break a}Fa(12337,12242,156,12329)}else if((g|0)==22){if(!(b[D>>0]|0)){k=0;break a}Fa(12227,12242,155,12329)}}}else Vg(d,0,0)|0;while(0);bi(d);k=1}else k=0;while(0);g=f[E+28>>2]|0;if(g|0){j=E+32|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-8-g|0)>>>3)<<3);Em(g)}g=f[E+16>>2]|0;if(g|0){j=E+20|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-4-g|0)>>>2)<<2);Em(g)}j=f[E>>2]|0;if(!j){u=F;return k|0}i=E+4|0;g=f[i>>2]|0;if((g|0)!=(j|0))f[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);Em(j);u=F;return k|0}function Ib(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Em(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}s=_i(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)Em(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(s)g=d&r;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){q=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(s)p=e&r;else p=(e>>>0)%(c>>>0)|0;if((p|0)==(g|0))break;e=(f[a>>2]|0)+(p<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{n=d+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[d+12>>2]|0:m;l=(o|0)==0;if(k){h=d;while(1){j=e+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[e+12>>2]|0:m&255)|0)){e=h;break c}if(!l?xh(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{m=e;e=h;h=m}}}if(l){h=d;while(1){o=b[e+8+11>>0]|0;if((o<<24>>24<0?f[e+12>>2]|0:o&255)|0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{o=e;e=h;h=o}}}l=d;while(1){h=e+8|0;k=b[h+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[e+12>>2]|0:k&255)|0)){e=l;break c}h=j?f[h>>2]|0:h;if((f[n>>2]&255)<<24>>24==(b[h>>0]|0)){j=m;k=n}else{e=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;h=h+1|0;if((b[k>>0]|0)!=(b[h>>0]|0)){e=l;break c}}h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[q>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=41;break a}}e=f[d>>2]|0;if(!e){d=41;break a}else{i=d;q=d}}f[e>>2]=q;e=f[d>>2]|0;if(!e){d=41;break}else{i=d;g=p}}if((d|0)==41)return}function Jb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{l=d;d=d+-116|0;f[g+-116>>2]=f[d>>2];j=l+-112|0;f[g+-112>>2]=f[j>>2];k=l+-108|0;f[g+-108>>2]=f[k>>2];m=l+-104|0;f[g+-104>>2]=f[m>>2];f[j>>2]=0;f[k>>2]=0;f[m>>2]=0;m=l+-100|0;f[g+-100>>2]=f[m>>2];k=l+-96|0;f[g+-96>>2]=f[k>>2];j=l+-92|0;f[g+-92>>2]=f[j>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;b[g+-88>>0]=b[l+-88>>0]|0;j=g+-84|0;k=l+-84|0;f[j>>2]=0;m=g+-80|0;f[m>>2]=0;f[g+-76>>2]=0;f[j>>2]=f[k>>2];j=l+-80|0;f[m>>2]=f[j>>2];m=l+-76|0;f[g+-76>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;k=g+-72|0;j=l+-72|0;f[k>>2]=0;m=g+-68|0;f[m>>2]=0;f[g+-64>>2]=0;f[k>>2]=f[j>>2];k=l+-68|0;f[m>>2]=f[k>>2];m=l+-64|0;f[g+-64>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-60|0;k=l+-60|0;f[j>>2]=0;m=g+-56|0;f[m>>2]=0;f[g+-52>>2]=0;f[j>>2]=f[k>>2];j=l+-56|0;f[m>>2]=f[j>>2];m=l+-52|0;f[g+-52>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-48>>2]=f[l+-48>>2];b[g+-44>>0]=b[l+-44>>0]|0;k=g+-40|0;j=l+-40|0;f[k>>2]=0;m=g+-36|0;f[m>>2]=0;f[g+-32>>2]=0;f[k>>2]=f[j>>2];k=l+-36|0;f[m>>2]=f[k>>2];m=l+-32|0;f[g+-32>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-28|0;k=l+-28|0;f[j>>2]=0;m=g+-24|0;f[m>>2]=0;f[g+-20>>2]=0;f[j>>2]=f[k>>2];j=l+-24|0;f[m>>2]=f[j>>2];m=l+-20|0;f[g+-20>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-16>>2]=f[l+-16>>2];k=g+-12|0;j=l+-12|0;f[k>>2]=0;m=g+-8|0;f[m>>2]=0;f[g+-4>>2]=0;f[k>>2]=f[j>>2];k=l+-8|0;f[m>>2]=f[k>>2];l=l+-4|0;f[g+-4>>2]=f[l>>2];f[l>>2]=0;f[k>>2]=0;f[j>>2]=0;g=(f[h>>2]|0)+-116|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Kb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;m=r+32|0;h=r+28|0;p=r+16|0;q=r;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){q=c;q=q+20|0;u=r;return q|0}}jl(p);f[q>>2]=f[b>>2];l=q+4|0;f[q+8>>2]=0;k=q+12|0;f[k>>2]=0;n=q+8|0;f[l>>2]=n;c=f[p>>2]|0;o=p+4|0;if((c|0)!=(o|0)){g=n;e=c;d=c;while(1){c=e+16|0;f[h>>2]=g;f[m>>2]=f[h>>2];Zd(l,m,c,c)|0;c=f[d+4>>2]|0;if(!c)while(1){c=f[d+8>>2]|0;if((f[c>>2]|0)==(d|0))break;else d=c}else while(1){d=f[c>>2]|0;if(!d)break;else c=d}if((c|0)==(o|0))break;else{e=c;d=c}}}i=a+12|0;c=f[j>>2]|0;do if(c){e=f[q>>2]|0;g=c;while(1){c=f[g+16>>2]|0;if((e|0)<(c|0)){c=f[g>>2]|0;if(!c){c=19;break}}else{if((c|0)>=(e|0)){c=24;break}d=g+4|0;c=f[d>>2]|0;if(!c){c=23;break}}g=c}if((c|0)==19){f[m>>2]=g;h=g;b=g;break}else if((c|0)==23){f[m>>2]=g;h=g;b=d;break}else if((c|0)==24){f[m>>2]=g;h=g;b=m;break}}else{f[m>>2]=j;h=j;b=j}while(0);c=f[b>>2]|0;if(!c){c=_i(32)|0;f[c+16>>2]=f[q>>2];g=c+20|0;f[g>>2]=f[l>>2];e=c+24|0;d=f[q+8>>2]|0;f[e>>2]=d;m=f[k>>2]|0;f[c+28>>2]=m;if(!m)f[g>>2]=e;else{f[d+8>>2]=e;f[l>>2]=n;f[n>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[b>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[b>>2]|0}vc(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}Mf(q+4|0,f[n>>2]|0);Mf(p,f[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function Lb(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_i(60)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1540;e=b;f[a>>2]=e;return}case 4:{b=_i(112)|0;f[b>>2]=1176;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1596;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 5:{b=_i(104)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1652;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_i(124)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1708;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1764;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$l(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Mb(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_i(60)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1288;e=b;f[a>>2]=e;return}case 4:{b=_i(112)|0;f[b>>2]=1176;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1344;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 5:{b=_i(104)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1400;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_i(124)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1456;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1512;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$l(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;r=y+12|0;s=y+4|0;p=y+8|0;q=y;x=a+8+(b*12|0)|0;d=f[x>>2]|0;t=a+8+(b*12|0)+4|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c>>2]|0;m=a+4|0;f[s>>2]=(d|0)<0?-1073741824:(d>>>0)/3|0;w=a+56|0;l=a+8+(b*12|0)+8|0;e=d;o=0;do{n=(o|0)==1;if(n){g=(d|0)<0;do if(!g)if(!((d>>>0)%3|0)){e=d+2|0;break}else{e=d+-1|0;break}else e=d;while(0);f[p>>2]=e;f[r>>2]=f[p>>2];if((Hd(a,r)|0)<0)break;e=d+1|0;if(g){v=12;break}e=((e|0)%3|0|0)==0?d+-2|0:e;f[c>>2]=e;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;if((e|0)<0){v=16;break}e=f[(f[(f[m>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;f[c>>2]=e;if((e|0)<0)break;else{g=0;v=18}}else{i=f[s>>2]|0;k=e;j=0}while(1){if((v|0)==18){v=0;i=(e>>>0)/3|0;f[s>>2]=i;k=e;j=g}h=(f[w>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);e=f[h>>2]|0;if(g&e|0){e=k;g=j;break}f[h>>2]=e|g;e=f[t>>2]|0;if((e|0)==(f[l>>2]|0))$e(x,s);else{f[e>>2]=f[s>>2];f[t>>2]=e+4}g=j+1|0;if((j|0)>0){do if(!(g&1)){d=n?k:d;if((k|0)>=0)if(!((k>>>0)%3|0)){e=k+2|0;break}else{e=k+-1|0;break}else e=k}else{e=k+1|0;if((k|0)<0)e=k;else e=((e|0)%3|0|0)==0?k+-2|0:e}while(0);f[c>>2]=e}else e=k;f[q>>2]=e;f[r>>2]=f[q>>2];e=Hd(a,r)|0;f[c>>2]=e;if((e|0)<0)break;else v=18}if(!((g&1|0)==0|n^1)){n=f[t>>2]|0;j=f[n+-4>>2]|0;k=(f[w>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(j&31));f[t>>2]=n+-4}o=o+1|0}while((o|0)<2);if((v|0)==12){f[c>>2]=d;e=d;v=16}if((v|0)==16)f[c>>2]=e;f[a+44+(b<<2)>>2]=d;e=f[t>>2]|0;d=f[x>>2]|0;h=d;if((e|0)==(d|0)){u=y;return}g=f[w>>2]|0;e=e-d>>2;d=0;do{w=f[h+(d<<2)>>2]|0;x=g+(w>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(w&31));d=d+1|0}while(d>>>0>>0);u=y;return}function Ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Bc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+4194304|0;f[l>>2]=g;e=g>>>0>1073741823;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<4194304)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<4194304);while(0);o=g&1048575;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>20)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Pb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Cc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+2097152|0;f[l>>2]=g;e=g>>>0>536870911;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<2097152)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<2097152);while(0);o=g&524287;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>19)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Dc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+1048576|0;f[l>>2]=g;e=g>>>0>268435455;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<1048576)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<1048576);while(0);o=g&262143;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>18)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Rb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=a+4|0;s=f[c>>2]|0;c=s;do if((s|0)!=(n|0)){i=s+16|0;o=b[e+11>>0]|0;p=o<<24>>24<0;o=p?f[e+4>>2]|0:o&255;h=b[i+11>>0]|0;l=h<<24>>24<0;h=l?f[s+20>>2]|0:h&255;k=h>>>0>>0;g=k?h:o;if((g|0)!=0?(j=xh(p?f[e>>2]|0:e,l?f[i>>2]|0:i,g)|0,(j|0)!=0):0){if((j|0)<0)break}else t=4;if((t|0)==4?o>>>0>>0:0)break;g=o>>>0>>0?o:h;if((g|0)!=0?(m=xh(l?f[i>>2]|0:i,p?f[e>>2]|0:e,g)|0,(m|0)!=0):0){if((m|0)>=0)t=34}else t=20;if((t|0)==20?!k:0)t=34;if((t|0)==34){f[d>>2]=c;return d|0}k=s+4|0;c=f[k>>2]|0;l=(c|0)==0;if(l){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))break;else g=c}}else while(1){g=f[c>>2]|0;if(!g)break;else c=g}do if((c|0)!=(n|0)){h=c+16|0;i=b[h+11>>0]|0;j=i<<24>>24<0;i=j?f[c+20>>2]|0:i&255;g=i>>>0>>0?i:o;if((g|0)!=0?(q=xh(p?f[e>>2]|0:e,j?f[h>>2]|0:h,g)|0,(q|0)!=0):0){if((q|0)<0)break}else t=28;if((t|0)==28?o>>>0>>0:0)break;d=Fd(a,d,e)|0;return d|0}while(0);if(l){f[d>>2]=s;d=k;return d|0}else{f[d>>2]=c;d=c;return d|0}}while(0);do if((s|0)!=(f[a>>2]|0)){c=f[s>>2]|0;if(!c){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))g=c;else{g=c;break}}}else while(1){g=f[c+4>>2]|0;if(!g){g=c;break}else c=g}c=g;k=g+16|0;h=b[k+11>>0]|0;l=h<<24>>24<0;h=l?f[g+20>>2]|0:h&255;i=b[e+11>>0]|0;j=i<<24>>24<0;i=j?f[e+4>>2]|0:i&255;g=i>>>0>>0?i:h;if((g|0)!=0?(r=xh(l?f[k>>2]|0:k,j?f[e>>2]|0:e,g)|0,(r|0)!=0):0){if((r|0)<0)break}else t=12;if((t|0)==12?h>>>0>>0:0)break;d=Fd(a,d,e)|0;return d|0}while(0);if(!(f[s>>2]|0)){f[d>>2]=s;d=s;return d|0}else{t=c;f[d>>2]=t;d=t+4|0;return d|0}return 0}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Ec(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+262144|0;f[l>>2]=g;e=g>>>0>67108863;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<262144)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<262144);while(0);o=g&65535;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>16)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Fc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+131072|0;f[l>>2]=g;e=g>>>0>33554431;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<131072)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<131072);while(0);o=g&32767;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>15)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Gc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+32768|0;f[l>>2]=g;e=g>>>0>8388607;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<32768)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<32768);while(0);o=g&8191;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>13)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Hc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+16384|0;f[l>>2]=g;e=g>>>0>4194303;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<16384)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<16384);while(0);o=g&4095;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>12)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Wb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=ti(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((ti(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=lk(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;Dj(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Dj(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0} -function zl(a){a=a|0;return f[a+4>>2]|0}function Al(a){a=a|0;if(!a)return;Em(a);return}function Bl(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Cl(a){a=a|0;return f[a+88>>2]|0}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;Pa[a&7](b|0,c|0)}function El(){var a=0;a=_i(40)|0;Ti(a);return a|0}function Fl(){var a=0;a=_i(108)|0;Ui(a);return a|0}function Gl(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function Hl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(1)}function Il(){var a=0;a=f[4188]|0;f[4188]=a+0;return a|0}function Jl(a){a=a|0;return f[a+56>>2]|0}function Kl(a){a=a|0;zd(a);Em(a);return}function Ll(a){a=a|0;return b[a+24>>0]|0}function Ml(){var a=0;a=f[893]|0;f[893]=a+0;return a|0}function Nl(a,b){a=a|0;b=b|0;return 0}function Ol(a){a=a|0;return f[a+40>>2]|0}function Pl(a){a=a|0;return f[a+48>>2]|0}function Ql(a,b){a=a|0;b=b|0;return Ra[a&127](b|0)|0}function Rl(a){a=a|0;return f[a+60>>2]|0}function Sl(a){a=a|0;return f[a+28>>2]|0}function Tl(a){a=a|0;xa(a|0)|0;si()}function Ul(a,b){a=a|0;b=b|0;u=a;v=b}function Vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(10)}function Wl(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Xl(a){a=a|0;return (f[a>>2]|0)==0|0}function Yl(a){a=a|0;return f[a+80>>2]|0}function Zl(a,b){a=a|0;b=b|0;Oa[a&127](b|0)}function _l(a,b){a=a|0;b=b|0;return Jj(a,b)|0}function $l(a){a=a|0;b[a+12>>0]=0;return}function am(a){a=a|0;Jm(a);Em(a);return}function bm(a){a=a|0;return a&255|0}function cm(a){a=a|0;f[a>>2]=0;return}function dm(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function em(a){a=a|0;return f[a>>2]|0}function fm(a){a=a|0;return 2}function gm(a){a=a|0;f[a>>2]=3668;return}function hm(a){a=a|0;return 1}function im(a,b){a=+a;b=b|0;return +(+qg(a,b))}function jm(){return 3}function km(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function lm(){return -4}function mm(){return 4}function nm(){return -3}function om(){return 1}function pm(){return 2}function qm(){return (Am()|0)+64|0}function rm(){return -5}function sm(a,b){a=a|0;b=b|0;aa(9);return 0}function tm(a){a=a|0;return 16086}function um(a){a=a|0;Ta[a&3]()}function vm(){return -2}function wm(){Ga()}function xm(){return -1}function ym(a,b){a=a|0;b=b|0;aa(3)}function zm(){return 0}function Am(){return Om()|0}function Bm(a){a=a|0;return _i(a)|0}function Cm(a){a=a|0;Em(a);return}function Dm(a){a=a|0;u=a}function Em(a){a=a|0;rb(a);return}function Fm(a){a=a|0;I=a}function Gm(){return 16680}function Hm(a){a=a|0;return a|0}function Im(a){a=a|0;aa(5);return 0}function Jm(a){a=a|0;return}function Km(a){a=a|0;return 0}function Lm(){return I|0}function Mm(){return u|0}function Nm(a){a=a|0;aa(2)}function Om(){return 2820}function Pm(){aa(7)} +function $b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;B=D+8|0;z=D;A=D+4|0;if(!(Hf(a,b)|0)){a=0;u=D;return a|0}C=b+96|0;o=b+100|0;d=f[o>>2]|0;b=f[C>>2]|0;if((d-b|0)<=0){a=1;u=D;return a|0}n=a+56|0;v=a+8|0;r=a+12|0;s=a+20|0;p=a+24|0;t=a+32|0;q=a+36|0;x=a+68|0;y=a+76|0;w=a+72|0;m=0;while(1){if(!(f[(f[n>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31))){i=m*3|0;f[z>>2]=i;f[B>>2]=f[z>>2];Rb(a,0,B);l=(f[r>>2]|0)-(f[v>>2]|0)>>2;f[z>>2]=i+1;f[B>>2]=f[z>>2];Rb(a,1,B);j=(f[p>>2]|0)-(f[s>>2]|0)>>2;k=j>>>0>l>>>0;f[z>>2]=i+2;f[B>>2]=f[z>>2];Rb(a,2,B);l=(f[q>>2]|0)-(f[t>>2]|0)>>2>>>0>(k?j:l)>>>0?2:k?1:((l|0)==0)<<31>>31;if((f[x>>2]|0)>0){d=f[y>>2]|0;f[B>>2]=d;k=f[c>>2]|0;i=k+4|0;e=f[i>>2]|0;j=k+8|0;b=k;if(e>>>0<(f[j>>2]|0)>>>0){f[e>>2]=d;f[i>>2]=e+4}else hf(k,B);h=f[a+44+(l<<2)>>2]|0;d=f[a>>2]|0;if((h|0)==-1073741824)e=-1073741824;else{g=(h|0)/3|0;if((h|0)<=-3){d=12;break}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){d=14;break}e=f[e+(g*12|0)+(((h|0)%3|0)<<2)>>2]|0}f[B>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else hf(k,B);h=(f[w>>2]|0)+2|0;f[w>>2]=h;if(h&1){f[B>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else hf(k,B);f[w>>2]=(f[w>>2]|0)+1}}else b=f[c>>2]|0;f[A>>2]=b;f[B>>2]=f[A>>2];Cb(a,l,B);b=f[C>>2]|0;d=f[o>>2]|0}m=m+1|0;if((m|0)>=((d-b|0)/12|0|0)){b=1;d=26;break}}if((d|0)==12)ra(12835,12860,63,12943);else if((d|0)==14)ra(12948,12860,64,12943);else if((d|0)==26){u=D;return b|0}return 0}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+176|0;h=t+136|0;s=t+64|0;o=t;j=t+32|0;i=f[(f[c+4>>2]|0)+44>>2]|0;n=Yi(88)|0;f[n+4>>2]=0;f[n>>2]=2424;k=n+12|0;f[k>>2]=2404;m=n+64|0;f[m>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;e=n+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[n+76>>2]=i;f[n+80>>2]=d;f[n+84>>2]=0;l=n;q=s+4|0;f[q>>2]=2404;p=s+56|0;f[p>>2]=0;r=s+60|0;f[r>>2]=0;f[s+64>>2]=0;e=s+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=f[c+8>>2]|0;f[o>>2]=2404;c=o+4|0;g=c+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;g=e;f[c>>2]=g;g=((f[g+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0;b[h>>0]=0;Wd(o+8|0,g,h);Ra[f[(f[o>>2]|0)+8>>2]&127](o);Xc(j,o);Xc(h,j);f[s>>2]=f[h+4>>2];g=s+4|0;nd(g,h)|0;f[h>>2]=2404;c=f[h+20>>2]|0;if(c|0)Em(c);c=f[h+8>>2]|0;if(c|0)Em(c);f[s+36>>2]=e;f[s+40>>2]=d;f[s+44>>2]=i;f[s+48>>2]=n;f[j>>2]=2404;c=f[j+20>>2]|0;if(c|0)Em(c);c=f[j+8>>2]|0;if(c|0)Em(c);f[n+8>>2]=f[s>>2];nd(k,g)|0;c=n+44|0;n=s+36|0;f[c>>2]=f[n>>2];f[c+4>>2]=f[n+4>>2];f[c+8>>2]=f[n+8>>2];f[c+12>>2]=f[n+12>>2];b[c+16>>0]=b[n+16>>0]|0;qd(m,f[p>>2]|0,f[r>>2]|0);f[a>>2]=l;f[o>>2]=2404;c=f[o+20>>2]|0;if(c|0)Em(c);c=f[o+8>>2]|0;if(c|0)Em(c);c=f[p>>2]|0;if(c|0){e=f[r>>2]|0;if((e|0)!=(c|0))f[r>>2]=e+(~((e+-4-c|0)>>>2)<<2);Em(c)}f[q>>2]=2404;c=f[s+24>>2]|0;if(c|0)Em(c);c=f[s+12>>2]|0;if(!c){u=t;return}Em(c);u=t;return}function bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;r=s;ed(a+80|0,a)|0;if(!($e(a)|0)){r=0;u=s;return r|0}c=b;d=a;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));h=a+176|0;f[h>>2]=2;k=a+180|0;f[k>>2]=7;c=f[a+152>>2]|0;if((c|0)<0){r=0;u=s;return r|0}j=a+156|0;f[r>>2]=0;g=a+160|0;e=f[g>>2]|0;d=f[j>>2]|0;i=e-d>>2;if(c>>>0<=i>>>0)if(c>>>0>>0?(l=d+(c<<2)|0,(e|0)!=(l|0)):0){f[g>>2]=e+(~((e+-4-l|0)>>>2)<<2);d=2;c=7}else{d=2;c=7}else{ee(j,c-i|0,r);d=f[h>>2]|0;c=f[k>>2]|0}g=c-d+1|0;o=a+184|0;n=a+188|0;d=f[n>>2]|0;e=f[o>>2]|0;h=(d-e|0)/12|0;c=d;if(g>>>0<=h>>>0){if(g>>>0>>0?(m=e+(g*12|0)|0,(c|0)!=(m|0)):0){do{d=c+-12|0;f[n>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Em(e);c=f[n>>2]|0}}while((c|0)!=(m|0));d=c}}else{hd(o,g-h|0);d=f[n>>2]|0}l=a+196|0;c=f[o>>2]|0;j=(d-c|0)/12|0;h=a+200|0;g=f[h>>2]|0;e=f[l>>2]|0;i=g-e>>2;if(j>>>0<=i>>>0){if(j>>>0>>0?(p=e+(j<<2)|0,(g|0)!=(p|0)):0)f[h>>2]=g+(~((g+-4-p|0)>>>2)<<2)}else{Ve(l,j-i|0);d=f[n>>2]|0;c=f[o>>2]|0}if((d|0)==(c|0)){r=1;u=s;return r|0}k=0;do{Vf(r,b)|0;c=f[r>>2]|0;if(c|0){d=f[o>>2]|0;i=d+(k*12|0)|0;h=d+(k*12|0)+4|0;g=f[h>>2]|0;e=f[i>>2]|0;j=g-e>>2;if(c>>>0<=j>>>0){if(c>>>0>>0?(q=e+(c<<2)|0,(g|0)!=(q|0)):0)f[h>>2]=g+(~((g+-4-q|0)>>>2)<<2)}else{Ve(i,c-j|0);d=f[o>>2]|0;c=f[r>>2]|0}Ef(c,1,b,f[d+(k*12|0)>>2]|0)|0;f[(f[l>>2]|0)+(k<<2)>>2]=f[r>>2]}k=k+1|0}while(k>>>0<(((f[n>>2]|0)-(f[o>>2]|0)|0)/12|0)>>>0);c=1;u=s;return c|0}function cc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Em(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}m=Yi(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)Em(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(!m){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&l;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{i=g;e=d;h=g}a:while(1){b:do if(m){k=i;while(1){d=e;while(1){j=f[d+4>>2]&l;if((j|0)==(c|0))break;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+8|0;g=d;while(1){e=f[g>>2]|0;if(!e)break;if((f[i>>2]|0)==(f[e+8>>2]|0))g=e;else break}f[h>>2]=e;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;h=d}}}else{k=i;j=h;while(1){d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){h=j;c=e;break b}i=d+8|0;h=d;while(1){g=f[h>>2]|0;if(!g)break;if((f[i>>2]|0)==(f[g+8>>2]|0))h=g;else break}f[j>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;j=d}}}while(0);f[g>>2]=h;e=f[d>>2]|0;if(!e){c=37;break}else{i=d;h=d}}if((c|0)==37)return}function dc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;w=u;u=u+32|0;e=w+24|0;r=w+20|0;v=w+8|0;t=w+4|0;o=w;f[e>>2]=0;Vf(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){d=0;while(1){d=d+1|0;if(!(kc(a,c)|0)){d=0;break}if(d>>>0>=(f[e>>2]|0)>>>0)break a}u=w;return d|0}while(0);f[r>>2]=0;Vf(r,f[a>>2]|0)|0;b:do if(!(f[r>>2]|0))d=1;else{i=v+11|0;j=0;while(1){f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=f[a>>2]|0;x=g+8|0;y=f[x+4>>2]|0;h=g+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if((y|0)>(e|0)|((y|0)==(e|0)?(f[x>>2]|0)>>>0>d>>>0:0)?(m=b[(f[g>>2]|0)+d>>0]|0,k=Ij(d|0,e|0,1,0)|0,q=h,f[q>>2]=k,f[q+4>>2]=I,q=m&255,Yf(v,q,0),k=f[a>>2]|0,p=Lh(v,0)|0,g=k+8|0,x=f[g>>2]|0,g=f[g+4>>2]|0,s=k+16|0,y=s,l=f[y>>2]|0,m=m&255,y=Ij(l|0,f[y+4>>2]|0,m|0,0)|0,h=I,!((g|0)<(h|0)|(g|0)==(h|0)&x>>>0>>0)):0){Od(p|0,(f[k>>2]|0)+l|0,q|0)|0;x=s;x=Ij(f[x>>2]|0,f[x+4>>2]|0,m|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I;y=Yi(40)|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;n[y+16>>2]=$(1.0);x=y+20|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;n[y+36>>2]=$(1.0);f[t>>2]=y;if(dc(a,y)|0){d=f[t>>2]|0;f[t>>2]=0;f[o>>2]=d;wd(c,v,o)|0;cf(o);d=0}else d=1;cf(t)}else d=1;if((b[i>>0]|0)<0)Em(f[v>>2]|0);j=j+1|0;if(d|0){d=0;break b}if(j>>>0>=(f[r>>2]|0)>>>0){d=1;break}}}while(0);y=d;u=w;return y|0}function ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+148|0;c=f[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)){h=b;g=c+2|0;break}else{h=b;g=c+-1|0;break}}else{h=c;g=c}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){g=c+(b<<2)|0;f[g>>2]=(f[g>>2]|0)+d}if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;b=f[(f[a+156>>2]|0)+(b<<2)>>2]|0;c=f[a+176>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+172|0;f[a>>2]=i;return}i=f[a+180>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+172|0;f[a>>2]=i;return}function fc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=a+8|0;f[t>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2);g=e}else g=e;else{Ve(j,e-k|0);g=f[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=Bm(r)|0;Cf(s|0,0,r|0)|0;if((g|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{g=f[s+(j<<2)>>2]|0;h=f[l>>2]|0;if((g|0)>(h|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=h}else{r=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(g|0)<(r|0)?r:g}j=j+1|0;g=f[t>>2]|0}while((j|0)<(g|0));if((g|0)>0){j=a+20|0;i=0;do{g=(f[b+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=c+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[m>>2]|0)){g=(f[j>>2]|0)+g|0;u=18}}else{g=g-(f[j>>2]|0)|0;u=18}if((u|0)==18){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}if((e|0)>=(d|0)){Cm(s);return 1}p=0-e|0;q=a+16|0;o=a+32|0;r=a+12|0;n=a+20|0;a=e;do{l=c+(a<<2)|0;j=l+(p<<2)|0;m=b+(a<<2)|0;if((g|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[q>>2]|0;if((g|0)>(h|0)){k=f[o>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[r>>2]|0;k=f[o>>2]|0;f[k+(i<<2)>>2]=(g|0)<(h|0)?h:g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0));if((g|0)>0){i=0;do{g=(f[m+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[q>>2]|0)){if((g|0)<(f[r>>2]|0)){g=(f[n>>2]|0)+g|0;u=33}}else{g=g-(f[n>>2]|0)|0;u=33}if((u|0)==33){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}a=a+e|0}while((a|0)<(d|0));Cm(s);return 1}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=c+8|0;j=f[i+4>>2]|0;h=c+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){j=0;return j|0}j=b[(f[c>>2]|0)+g>>0]|0;g=Ij(g|0,e|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do switch(j<<24>>24){case 1:{j=Zb(a,c,d)|0;return j|0}case 2:{j=Zb(a,c,d)|0;return j|0}case 3:{j=Zb(a,c,d)|0;return j|0}case 4:{j=Zb(a,c,d)|0;return j|0}case 5:{j=Uc(a,c,d)|0;return j|0}case 6:{j=Zb(a,c,d)|0;return j|0}case 7:{j=Zb(a,c,d)|0;return j|0}case 8:{j=Zb(a,c,d)|0;return j|0}case 9:{j=Yb(a,c,d)|0;return j|0}case 10:{j=Xb(a,c,d)|0;return j|0}case 11:{j=Wb(a,c,d)|0;return j|0}case 12:{j=Ub(a,c,d)|0;return j|0}case 13:{j=Tb(a,c,d)|0;return j|0}case 14:{j=Sb(a,c,d)|0;return j|0}case 15:{j=Sb(a,c,d)|0;return j|0}case 16:{j=Sb(a,c,d)|0;return j|0}case 17:{j=Sb(a,c,d)|0;return j|0}case 18:{j=Sb(a,c,d)|0;return j|0}default:{j=0;return j|0}}while(0);return 0}function hc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Ve(i,e-j|0);n=a+56|0;h=f[n>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;q=d-g|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((d|0)==(g|0)){k=h;Wl(k)}else{l=g;y=0}while(1){f[t>>2]=f[l+(y<<2)>>2];f[v>>2]=f[t>>2];mb(w,v,c,y);k=X(y,e)|0;j=b+(k<<2)|0;k=c+(k<<2)|0;if((f[s>>2]|0)>0){h=0;do{d=f[a+68+(h<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){i=f[m>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[q>>2]|0;i=f[m>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[s>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=20}}else{d=d-(f[o>>2]|0)|0;z=20}if((z|0)==20){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=8;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=9;break}}if((z|0)==8){u=x;return 1}else if((z|0)==9)Wl(d);return 0}function ic(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;e=f[k>>2]|0;switch(f[e+28>>2]|0){case 2:{d=b[e+24>>0]|0;j=d<<24>>24;i=Bm((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;a:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Od(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break a}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Cm(i);c=1;return c|0}case 1:{d=b[e+24>>0]|0;j=d<<24>>24;i=Bm((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;b:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Od(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break b}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Cm(i);c=1;return c|0}case 4:{De(a,c);c=1;return c|0}case 3:{De(a,c);c=1;return c|0}case 6:{Ee(a,c);c=1;return c|0}case 5:{Ee(a,c);c=1;return c|0}default:{c=0;return c|0}}return 0}function jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Ve(i,e-j|0);n=a+56|0;h=f[n>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;q=d-g|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((d|0)==(g|0)){k=h;Wl(k)}else{l=g;y=0}while(1){f[t>>2]=f[l+(y<<2)>>2];f[v>>2]=f[t>>2];lb(w,v,c,y);k=X(y,e)|0;j=b+(k<<2)|0;k=c+(k<<2)|0;if((f[s>>2]|0)>0){h=0;do{d=f[a+68+(h<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){i=f[m>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[q>>2]|0;i=f[m>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[s>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=20}}else{d=d-(f[o>>2]|0)|0;z=20}if((z|0)==20){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=8;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=9;break}}if((z|0)==8){u=x;return 1}else if((z|0)==9)Wl(d);return 0}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+32|0;q=r+16|0;o=r+12|0;p=r;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;d=f[a>>2]|0;s=d+8|0;t=f[s+4>>2]|0;n=d+16|0;e=n;j=f[e>>2]|0;e=f[e+4>>2]|0;if((t|0)>(e|0)|((t|0)==(e|0)?(f[s>>2]|0)>>>0>j>>>0:0)?(i=b[(f[d>>2]|0)+j>>0]|0,g=Ij(j|0,e|0,1,0)|0,l=n,f[l>>2]=g,f[l+4>>2]=I,l=i&255,Yf(q,l,0),g=f[a>>2]|0,k=Lh(q,0)|0,j=g+8|0,s=f[j>>2]|0,j=f[j+4>>2]|0,m=g+16|0,t=m,h=f[t>>2]|0,i=i&255,t=Ij(h|0,f[t+4>>2]|0,i|0,0)|0,n=I,!((j|0)<(n|0)|(j|0)==(n|0)&s>>>0>>0)):0){Od(k|0,(f[g>>2]|0)+h|0,l|0)|0;d=m;d=Ij(f[d>>2]|0,f[d+4>>2]|0,i|0,0)|0;t=m;f[t>>2]=d;f[t+4>>2]=I;f[o>>2]=0;t=(Vf(o,f[a>>2]|0)|0)^1;d=f[o>>2]|0;if((d|0)==0|t)d=0;else{f[p>>2]=0;i=p+4|0;f[i>>2]=0;f[p+8>>2]=0;if((d|0)<0)Wl(p);e=Yi(d)|0;f[i>>2]=e;f[p>>2]=e;f[p+8>>2]=e+d;do{b[e>>0]=0;e=(f[i>>2]|0)+1|0;f[i>>2]=e;d=d+-1|0}while((d|0)!=0);h=f[o>>2]|0;d=f[a>>2]|0;o=d+8|0;s=f[o>>2]|0;o=f[o+4>>2]|0;g=d+16|0;t=g;e=f[t>>2]|0;t=Ij(e|0,f[t+4>>2]|0,h|0,0)|0;a=I;if((o|0)<(a|0)|(o|0)==(a|0)&s>>>0>>0)d=0;else{Od(f[p>>2]|0,(f[d>>2]|0)+e|0,h|0)|0;t=g;t=Ij(f[t>>2]|0,f[t+4>>2]|0,h|0,0)|0;d=g;f[d>>2]=t;f[d+4>>2]=I;yi(c,q,p);d=1}e=f[p>>2]|0;if(e|0){if((f[i>>2]|0)!=(e|0))f[i>>2]=e;Em(e)}}}else d=0;if((b[q+11>>0]|0)>=0){u=r;return d|0}Em(f[q>>2]|0);u=r;return d|0}function lc(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=Ka,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka;m=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(!c)if(m>>>0>>0)h=m;else h=(m>>>0)%(i>>>0)|0;else h=g&m;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(!b)b=h;else{if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}l=f[b+4>>2]|0;if(!((l|0)==(m|0)|(l&g|0)==(h|0))){b=h;break a}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}do{b=f[b>>2]|0;if(!b){b=h;break a}c=f[b+4>>2]|0;if((c|0)!=(m|0)){if(c>>>0>=i>>>0)c=(c>>>0)%(i>>>0)|0;if((c|0)!=(h|0)){b=h;break a}}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}}else b=0;while(0);l=Yi(16)|0;f[l+8>>2]=m;f[l+12>>2]=0;f[l+4>>2]=m;f[l>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;Je(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&m;break}if(m>>>0>>0){g=b;b=m}else{g=b;b=(m>>>0)%(b>>>0)|0}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[l>>2]=f[b>>2];f[b>>2]=l;f[c>>2]=b;b=f[l>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(c&g){if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0}else b=b&c;b=(f[a>>2]|0)+(b<<2)|0;o=30}}else{f[l>>2]=f[b>>2];o=30}if((o|0)==30)f[b>>2]=l;f[h>>2]=(f[h>>2]|0)+1;a=l;a=a+12|0;return a|0}function mc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2280;d=a+360|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(c|0))}Cm(d)}Jm(a+344|0);Jm(a+304|0);Jm(a+288|0);Jm(a+248|0);Ye(a+212|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+144>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Em(d)}while((b|0)!=0);d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Em(b);b=f[a+120>>2]|0;if(b|0)Em(b);b=f[a+108>>2]|0;if(b|0)Em(b);b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+60>>2]|0;if(b|0)Em(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Sf(b);Em(b);return}function nc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;o=r+16|0;n=r+4|0;m=r;if(!(Vf(o,c)|0)){c=-1;u=r;return c|0}d=f[o>>2]|0;if(d|0){q=f[a+8>>2]|0;if(d>>>0>(((f[q+4>>2]|0)-(f[q>>2]|0)>>2>>>0)/3|0)>>>0){c=-1;u=r;return c|0}k=n+4|0;e=a+40|0;g=a+44|0;l=a+36|0;i=0;j=0;do{Vf(m,c)|0;f[k>>2]=(f[m>>2]|0)+j;Vf(m,c)|0;d=f[m>>2]|0;j=f[k>>2]|0;if(j>>>0>>0){p=22;break}f[n>>2]=j-d;d=f[e>>2]|0;if((d|0)==(f[g>>2]|0))Re(l,n);else{f[d>>2]=f[n>>2];f[d+4>>2]=f[n+4>>2];f[d+8>>2]=f[n+8>>2];f[e>>2]=(f[e>>2]|0)+12}i=i+1|0}while(i>>>0<(f[o>>2]|0)>>>0);if((p|0)==22){c=-1;u=r;return c|0}Sg(c,0,0)|0;l=f[o>>2]|0;if(l|0){q=a+4|0;o=c+36|0;p=c+32|0;m=c+24|0;n=c+28|0;j=a+36|0;d=0;k=0;do{a=f[q>>2]|0;e=(b[o>>0]|0)==0;if(((h[a+36>>0]<<8|h[a+37>>0])&65535)<514){if(!e){d=f[p>>2]|0;g=f[m>>2]|0;i=f[n>>2]|0;e=g+(d>>>3)|0;if(e>>>0>>0){a=(h[e>>0]|0)>>>(d&7)&1;e=d+1|0;f[p>>2]=e;d=a}else{e=d;d=0}if((g+(e>>>3)|0)>>>0>>0)f[p>>2]=e+1}}else if(!e){d=f[p>>2]|0;e=(f[m>>2]|0)+(d>>>3)|0;if(e>>>0<(f[n>>2]|0)>>>0){a=(h[e>>0]|0)>>>(d&7)&1;f[p>>2]=d+1;d=a}else d=0}a=(f[j>>2]|0)+(k*12|0)+8|0;b[a>>0]=b[a>>0]&-2|d&1;k=k+1|0}while(k>>>0>>0)}Yh(c)}c=f[c+16>>2]|0;u=r;return c|0}function oc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if((e|0)<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if((h|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function pc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;q=t;o=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((o|0)<=0){a=1;s=1;s=a|s;u=t;return s|0}k=a+36|0;p=a+48|0;l=q+8|0;m=q+4|0;n=q+11|0;c=0;while(1){j=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[j>>2]|0){j=f[(f[(f[k>>2]|0)+(c<<2)>>2]|0)+8>>2]|0;i=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;i=f[i>>2]|0;j=f[j+56>>2]|0;d=Yi(32)|0;f[q>>2]=d;f[l>>2]=-2147483616;f[m>>2]=24;e=d;g=10797;h=e+24|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+24>>0]=0;h=i+16|0;e=f[h>>2]|0;if(e){d=h;g=e;a:while(1){e=g;while(1){if((f[e+16>>2]|0)>=(j|0))break;e=f[e+4>>2]|0;if(!e)break a}g=f[e>>2]|0;if(!g){d=e;break}else d=e}if(((d|0)!=(h|0)?(j|0)>=(f[d+16>>2]|0):0)?(r=d+20|0,(ve(r,q)|0)!=0):0)d=ng(r,q,0)|0;else s=13}else s=13;if((s|0)==13){s=0;d=ng(i,q,0)|0}if((b[n>>0]|0)<0)Em(f[q>>2]|0);if(d){s=17;break}}j=f[(f[k>>2]|0)+(c<<2)>>2]|0;if(!(Na[f[(f[j>>2]|0)+24>>2]&127](j,p)|0)){c=0;d=0;s=20;break}c=c+1|0;if((c|0)>=(o|0)){c=1;d=1;s=20;break}}if((s|0)==17){a=f[(f[k>>2]|0)+(c<<2)>>2]|0;s=f[a+8>>2]|0;Kc(s,Ud(a)|0);a=0;s=1;s=a|s;u=t;return s|0}else if((s|0)==20){s=c|d;u=t;return s|0}return 0}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)ra(12658,12674,59,12771);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))ra(12781,12674,60,12771);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Na[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Na[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=Yi(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2008;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2064;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cm(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=Yi(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=1924;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=1980;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cm(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function rc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a+32|0;c=f[h>>2]|0;o=c+8|0;n=f[o+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(f[o>>2]|0)>>>0>e>>>0:0))){a=0;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;m=Ij(e|0,d|0,1,0)|0;o=g;f[o>>2]=m;f[o+4>>2]=I;o=n&255;g=n<<24>>24==0;a:do if(!g){c=0;while(1){if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){c=0;break}c=c+1|0;if((c|0)>=(o|0))break a}return c|0}while(0);n=a+8|0;c=f[n>>2]|0;d=f[a+12>>2]|0;b:do if((c|0)!=(d|0)){e=a+4|0;while(1){m=f[c>>2]|0;c=c+4|0;if(!(Oa[f[(f[m>>2]|0)+8>>2]&31](m,a,f[e>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}return c|0}while(0);if(!g){c=0;do{m=f[(f[n>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Na[f[(f[m>>2]|0)+12>>2]&127](m,f[h>>2]|0)|0)){c=0;i=26;break}}while((c|0)<(o|0));if((i|0)==26)return c|0;if(!g){i=a+20|0;h=a+24|0;l=0;do{j=f[(f[n>>2]|0)+(l<<2)>>2]|0;j=Ma[f[(f[j>>2]|0)+24>>2]&127](j)|0;if((j|0)>0){m=0;do{k=f[(f[n>>2]|0)+(l<<2)>>2]|0;k=Na[f[(f[k>>2]|0)+20>>2]&127](k,m)|0;d=f[h>>2]|0;c=f[i>>2]|0;g=d-c>>2;do if(k>>>0>=g>>>0){e=k+1|0;if(e>>>0>g>>>0){Ve(i,e-g|0);c=f[i>>2]|0;break}if(e>>>0>>0?(p=c+(e<<2)|0,(d|0)!=(p|0)):0)f[h>>2]=d+(~((d+-4-p|0)>>>2)<<2)}while(0);f[c+(k<<2)>>2]=l;m=m+1|0}while((m|0)!=(j|0))}l=l+1|0}while((l|0)!=(o|0))}}if(!(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)){a=0;return a|0}a=Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0;return a|0}function sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((e|0)>31);h=h&31}if((h|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+12|0;n=f[l>>2]|0;i=(f[c>>2]|0)-n|0;j=c+4|0;g=(f[j>>2]|0)-n|0;e=c;f[e>>2]=i;f[e+4>>2]=g;e=f[l>>2]|0;if((e|0)<(i|0))ra(7633,6922,250,7656);if((e|0)<(g|0))ra(7668,6922,251,7656);h=0-e|0;if((i|0)<(h|0))ra(7691,6922,252,7656);if((g|0)<(h|0))ra(7715,6922,253,7656);m=(((g|0)>-1?g:0-g|0)+((i|0)>-1?i:0-i|0)|0)<=(e|0);if(!m){ye(b,c,j);i=f[c>>2]|0}if(!i){e=f[j>>2]|0;g=e;e=(e|0)==0}else{e=f[j>>2]|0;g=e;e=(i|0)<0&(e|0)<1}if(!i)k=(g|0)==0?0:(g|0)>0?3:1;else k=(i|0)>0?(g>>31)+2|0:(g|0)<1?0:3;if(e){e=i;i=1}else{switch(k|0){case 1:{e=g;g=0-i|0;break}case 2:{e=0-i|0;g=0-g|0;break}case 3:{e=0-g|0;g=i;break}default:e=i}i=c;f[i>>2]=e;f[i+4>>2]=g;i=0}e=(f[d>>2]|0)+e|0;f[a>>2]=e;g=(f[d+4>>2]|0)+g|0;j=a+4|0;f[j>>2]=g;h=f[l>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[a>>2]=e;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[b+4>>2]|0)+g|0}else g=g-(f[b+4>>2]|0)|0;f[j>>2]=g;if(!i){switch((4-k|0)%4|0|0){case 1:{h=g;e=0-e|0;break}case 2:{h=0-e|0;e=0-g|0;break}case 3:{h=0-g|0;break}default:{h=e;e=g}}g=a;f[g>>2]=h;f[g+4>>2]=e;g=e;e=h}if(m){m=e;b=g;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}ye(b,a,j);m=f[a>>2]|0;b=f[j>>2]|0;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;h=e<<5;d=b-g|0;if(h>>>0>>0|g>>>0>(h-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0)Wl(a);e=e<<6;b=b+31&-32;Me(o,h>>>0<1073741823?(e>>>0>>0?b:e):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;hi(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)Em(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;Cf(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;Cf(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function vc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2448;Pd(a+224|0);Ye(a+212|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+144>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Em(d)}while((b|0)!=0);d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Em(b);b=f[a+120>>2]|0;if(b|0)Em(b);b=f[a+108>>2]|0;if(b|0)Em(b);b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+60>>2]|0;if(b|0)Em(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Sf(b);Em(b);return}function wc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){d=23;break}i=h+8|0;e=f[i>>2]|0;d=f[e>>2]|0;if((d|0)==(h|0)){d=f[e+4>>2]|0;if(!d){d=7;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=7;break}}else{if(!d){d=16;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=16;break}}b[g>>0]=1;i=(e|0)==(a|0);b[e+12>>0]=i&1;b[c>>0]=1;if(i){d=23;break}else c=e}if((d|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;d=f[a>>2]|0;c=f[d>>2]|0;f[a>>2]=c;if(!c)c=e;else{f[c+8>>2]=h;c=f[i>>2]|0}f[d+8>>2]=c;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=d;f[d>>2]=h;f[i>>2]=d;c=d;e=f[d+8>>2]|0}b[c+12>>0]=1;b[e+12>>0]=0;c=f[e>>2]|0;g=c+4|0;d=f[g>>2]|0;f[e>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[g>>2]=e;f[i>>2]=c;return}else if((d|0)==16){if((f[h>>2]|0)==(c|0)){g=f[h>>2]|0;d=g+4|0;c=f[d>>2]|0;f[h>>2]=c;if(c){f[c+8>>2]=h;e=f[i>>2]|0}f[g+8>>2]=e;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=g;f[d>>2]=h;f[i>>2]=g;c=g;e=f[g+8>>2]|0}else c=h;b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((d|0)==23)return}function xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+16|0;q=r;i=b+8|0;g=i;j=f[g>>2]|0;g=f[g+4>>2]|0;p=b+16|0;d=p;c=f[d>>2]|0;d=Ij(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((g|0)<(e|0)|(g|0)==(e|0)&j>>>0>>0){q=0;u=r;return q|0}g=(f[b>>2]|0)+c|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=p;f[j>>2]=d;f[j+4>>2]=e;if((g|0)<0){q=0;u=r;return q|0}uc(a+76|0,g,0);cm(q);if(ed(q,b)|0){if((g|0)>0){c=a+76|0;d=0;e=1;do{e=e^((Rg(q)|0)^1);j=(f[c>>2]|0)+(d>>>5<<2)|0;s=1<<(d&31);t=f[j>>2]|0;f[j>>2]=e?t|s:t&~s;d=d+1|0}while((d|0)<(g|0))}d=i;c=f[d>>2]|0;d=f[d+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;i=Ij(e|0,g|0,4,0)|0;j=I;if((!((d|0)<(j|0)|(d|0)==(j|0)&c>>>0>>0)?(k=f[b>>2]|0,l=k+e|0,l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,m=p,f[m>>2]=i,f[m+4>>2]=j,m=Ij(e|0,g|0,8,0)|0,n=I,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0>>0)):0)?(o=k+i|0,o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24,t=p,f[t>>2]=m,f[t+4>>2]=n,(l|0)<=(o|0)):0){f[a+12>>2]=l;f[a+16>>2]=o;t=o+(1-l)|0;f[a+20>>2]=t;c=(t|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(t&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Jm(q);t=c;u=r;return t|0}function yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+16|0;k=m;if(!(Gb(a,c)|0)){a=0;u=m;return a|0}j=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;l=a+36|0;h=a+40|0;d=f[h>>2]|0;e=f[l>>2]|0;g=d-e>>2;if(j>>>0<=g>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(d|0)!=(i|0)):0)do{g=d+-4|0;f[h>>2]=g;d=f[g>>2]|0;f[g>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[h>>2]|0}while((d|0)!=(i|0))}else Dd(l,j-g|0);g=c+8|0;if((j|0)<=0){a=1;u=m;return a|0}i=c+16|0;h=0;while(1){n=g;o=f[n+4>>2]|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((o|0)>(e|0)|((o|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){d=0;e=19;break}o=b[(f[c>>2]|0)+d>>0]|0;d=Ij(d|0,e|0,1,0)|0;n=i;f[n>>2]=d;f[n+4>>2]=I;Ta[f[(f[a>>2]|0)+48>>2]&7](k,a,o);o=(f[l>>2]|0)+(h<<2)|0;n=f[k>>2]|0;f[k>>2]=0;d=f[o>>2]|0;f[o>>2]=n;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[k>>2]|0;f[k>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[(f[l>>2]|0)+(h<<2)>>2]|0;if(!d){d=0;e=19;break}e=f[(f[d>>2]|0)+8>>2]|0;n=Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0;o=Na[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;h=h+1|0;if(!(Oa[e&31](d,n,o)|0)){d=0;e=19;break}if((h|0)>=(j|0)){d=1;e=19;break}}if((e|0)==19){u=m;return d|0}return 0}function zc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+144|0;i=n+136|0;m=n+32|0;l=n;e=f[(f[c+4>>2]|0)+44>>2]|0;h=Yi(124)|0;f[h+4>>2]=0;f[h>>2]=2380;f[h+12>>2]=2404;f[h+100>>2]=0;f[h+104>>2]=0;f[h+108>>2]=0;j=h+16|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[h+112>>2]=e;f[h+116>>2]=d;f[h+120>>2]=0;g=h;f[m+4>>2]=2404;f[m+92>>2]=0;f[m+96>>2]=0;f[m+100>>2]=0;j=m+8|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));k=f[c+8>>2]|0;f[l>>2]=2404;j=l+4|0;c=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=k;f[j>>2]=c;c=((f[c+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;Wd(l+8|0,c,i);Ra[f[(f[l>>2]|0)+8>>2]&127](l);f[m>>2]=f[j>>2];nd(m+4|0,l)|0;f[m+36>>2]=k;f[m+40>>2]=d;f[m+44>>2]=e;f[m+48>>2]=h;Bd(h,m);f[a>>2]=g;f[l>>2]=2404;e=f[l+20>>2]|0;if(e|0)Em(e);e=f[l+8>>2]|0;if(!e){df(m);u=n;return}Em(e);df(m);u=n;return}function Ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+212|0;k=a+216|0;j=a+360|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Rg((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else hf(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{g=a;f[r>>2]=d;h=g+(i*116|0)+108|0;e=f[h>>2]|0;if(e>>>0<(f[g+(i*116|0)+112>>2]|0)>>>0){f[e>>2]=d;f[h>>2]=e+4}else{hf(g+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+212|0;k=a+216|0;j=a+360|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Rg((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else hf(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{e=a;f[r>>2]=d;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=d;f[h>>2]=g+4}else{hf(e+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Cc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;i=Yi(52)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);e=i+20|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;n[i+36>>2]=$(1.0);f[i+40>>2]=0;f[i+44>>2]=0;f[i+48>>2]=0;em(g);if(Md(g,f[c+32>>2]|0,i)|0){g=(f[c+4>>2]|0)+4|0;h=f[g>>2]|0;f[g>>2]=i;if(h|0){e=h+40|0;c=f[e>>2]|0;if(c|0){g=h+44|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{i=d+-4|0;f[g>>2]=i;d=f[i>>2]|0;f[i>>2]=0;if(d|0){lf(d);Em(d)}d=f[g>>2]|0}while((d|0)!=(c|0));c=f[e>>2]|0}Em(c)}lf(h);Em(h)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=j;return}else{f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=Yi(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=26;d=c;e=12075;g=d+26|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+26>>0]=0;f[a>>2]=-1;Df(a+4|0,h);if((b[h+11>>0]|0)<0)Em(f[h>>2]|0);e=i+40|0;c=f[e>>2]|0;if(c|0){g=i+44|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{a=d+-4|0;f[g>>2]=a;d=f[a>>2]|0;f[a>>2]=0;if(d|0){lf(d);Em(d)}d=f[g>>2]|0}while((d|0)!=(c|0));c=f[e>>2]|0}Em(c)}lf(i);Em(i);u=j;return}}function Dc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=de(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Ec(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=he(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Fc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ie(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Gc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=je(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Hc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ke(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Ic(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=me(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Jc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ne(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Yi(32)|0;gj(d);h=a+64|0;g=f[h>>2]|0;f[h>>2]=d;if(g){d=f[g>>2]|0;if(d|0){e=g+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(g);d=f[h>>2]|0}Jg(a,d,0,0,0,0);d=a}else d=a;if(!(wf(d,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))qd(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);i=f[c+88>>2]|0;if(!i){a=a+88|0;d=f[a>>2]|0;f[a>>2]=0;if(!d)return;e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d);return}l=Yi(40)|0;f[l>>2]=f[i>>2];e=l+8|0;g=i+8|0;f[e>>2]=0;j=l+12|0;f[j>>2]=0;d=l+16|0;f[d>>2]=0;c=i+12|0;h=(f[c>>2]|0)-(f[g>>2]|0)|0;if(h|0){if((h|0)<0)Wl(e);k=Yi(h)|0;f[j>>2]=k;f[e>>2]=k;f[d>>2]=k+h;e=f[g>>2]|0;d=(f[c>>2]|0)-e|0;if((d|0)>0){Od(k|0,e|0,d|0)|0;f[j>>2]=k+d}}g=l+24|0;k=i+24|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];a=a+88|0;g=f[a>>2]|0;f[a>>2]=l;if(!g)return;d=f[g+8>>2]|0;if(d|0){e=g+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(g);return}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+32|0;n=t+20|0;m=t+16|0;s=t;r=c+24|0;k=b[r>>0]|0;o=k<<24>>24;l=f[a+80>>2]|0;h=X(l,o)|0;f[s>>2]=f[674];f[s+4>>2]=f[675];f[s+8>>2]=f[676];f[s+12>>2]=f[677];g=d+4|0;e=f[g>>2]|0;a=f[d>>2]|0;i=e-a>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(j=a+(h<<2)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-4-j|0)>>>2)<<2)}else Ve(d,h-i|0);if((l|0)<=0){s=1;u=t;return s|0}i=c+84|0;h=c+68|0;if(k<<24>>24<=0){e=0;while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(e<<2)>>2]|0;else a=e;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!($a(c,n,k,s)|0)){a=0;e=18;break}e=e+1|0;if((e|0)>=(l|0)){a=1;e=18;break}}if((e|0)==18){u=t;return a|0}}else{p=0;q=0}while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(q<<2)>>2]|0;else a=q;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!($a(c,n,k,s)|0)){a=0;e=18;break}a=f[d>>2]|0;e=p;g=0;while(1){f[a+(e<<2)>>2]=f[s+(g<<2)>>2];g=g+1|0;if((g|0)==(o|0))break;else e=e+1|0}q=q+1|0;if((q|0)>=(l|0)){a=1;e=18;break}else p=o+p|0}if((e|0)==18){u=t;return a|0}return 0}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+32|0;i=m+16|0;e=m;g=0;do{Vf(i,b)|0;c=f[i>>2]|0;if(c|0){d=a+60+(g*12|0)|0;uc(d,c,0);cm(e);ed(e,b)|0;if(f[i>>2]|0){c=0;do{n=Rg(e)|0;l=(f[d>>2]|0)+(c>>>5<<2)|0;k=1<<(c&31);j=f[l>>2]|0;f[l>>2]=n?j|k:j&~k;c=c+1|0}while(c>>>0<(f[i>>2]|0)>>>0)}Jm(e)}g=g+1|0}while((g|0)<4);k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;i=Ij(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&j>>>0>>0){n=0;u=m;return n|0}g=f[b>>2]|0;b=g+e|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;n=l;f[n>>2]=i;f[n+4>>2]=d;d=Ij(e|0,c|0,8,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0){n=0;u=m;return n|0}c=g+i|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;n=l;f[n>>2]=d;f[n+4>>2]=e;if((b|0)>(c|0)){n=0;u=m;return n|0}f[a+12>>2]=b;f[a+16>>2]=c;n=c+(1-b)|0;f[a+20>>2]=n;c=(n|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(n&1|0){n=1;u=m;return n|0}f[d>>2]=c+-1;n=1;u=m;return n|0}function Oc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+80|0;m=n;g=n+60|0;l=n+40|0;h=m;i=d;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));yb(a,m,g);if(f[a>>2]|0){m=m+24|0;Jm(m);u=n;return}k=a+4|0;h=k+11|0;if((b[h>>0]|0)<0)Em(f[k>>2]|0);if((b[g+7>>0]|0)!=1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=Yi(32)|0;f[l>>2]=g;f[l+8>>2]=-2147483616;f[l+4>>2]=20;h=g;i=10776;j=h+20|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+20>>0]=0;f[a>>2]=-1;Df(k,l);if((b[l+11>>0]|0)<0)Em(f[l>>2]|0);m=m+24|0;Jm(m);u=n;return}te(l,b[g+8>>0]|0);g=f[l>>2]|0;if(!g){j=l+16|0;g=f[j>>2]|0;f[j>>2]=0;bi(a,g,c,d,e);if(!(f[a>>2]|0)){if((b[h>>0]|0)<0)Em(f[k>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Ra[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;Df(k,l+4|0)}k=l+16|0;g=f[k>>2]|0;f[k>>2]=0;if(g|0)Ra[f[(f[g>>2]|0)+4>>2]&127](g);g=l+4|0;if((b[g+11>>0]|0)<0)Em(f[g>>2]|0);m=m+24|0;Jm(m);u=n;return}function Pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n+16|0;l=n;h=f[b+4>>2]|0;if((d|0)<=-1)ra(12658,12674,59,12771);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(12781,12674,60,12771);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0;k=Na[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Na[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!h){f[l>>2]=f[b+44>>2];f[l+4>>2]=j;f[l+12>>2]=k;f[l+8>>2]=k+12;Vb(a,m,c,i,e,l,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[l>>2]=f[b+44>>2];f[l+4>>2]=h;f[l+12>>2]=k;f[l+8>>2]=k+12;Qb(a,m,c,i,e,l,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Qc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ee(j,m-l|0,2368);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)ra(12948,12860,64,12943);else if((e|0)==12)ra(10949,10968,89,11068);else if((e|0)==14)return d|0;return 0}function Rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;m=o+12|0;l=o;d=b*3|0;f[m>>2]=0;n=m+4|0;f[n>>2]=0;f[m+8>>2]=0;do if(d)if(d>>>0>1073741823)Wl(m);else{j=b*12|0;c=Yi(j)|0;f[m>>2]=c;k=c+(d<<2)|0;f[m+8>>2]=k;Cf(c|0,0,j|0)|0;f[n>>2]=k;break}else c=0;while(0);if(Ef(d,1,f[a+32>>2]|0,c)|0)if(!b)a=1;else{h=a+44|0;i=l+4|0;j=l+8|0;e=0;g=0;k=0;while(1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;d=f[m>>2]|0;p=f[d+(k<<2)>>2]|0;c=p>>>1;c=((p&1|0)==0?c:0-c|0)+g|0;f[l>>2]=c;p=f[d+(k+1<<2)>>2]|0;a=p>>>1;c=((p&1|0)==0?a:0-a|0)+c|0;f[i>>2]=c;d=f[d+(k+2<<2)>>2]|0;a=d>>>1;g=((d&1|0)==0?a:0-a|0)+c|0;f[j>>2]=g;c=f[h>>2]|0;a=c+100|0;d=f[a>>2]|0;if((d|0)==(f[c+104>>2]|0))Re(c+96|0,l);else{f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];f[d+8>>2]=f[l+8>>2];f[a>>2]=(f[a>>2]|0)+12}e=e+1|0;if(e>>>0>=b>>>0){a=1;break}else k=k+3|0}}else a=0;c=f[m>>2]|0;if(!c){u=o;return a|0}d=f[n>>2]|0;if((d|0)!=(c|0))f[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c);u=o;return a|0}function Sc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;d=f[b>>2]|0;if((d|0)<0){j=-1073741824;return j|0}i=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((i|0)<0){j=-1073741824;return j|0}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;h=f[a>>2]|0;do if((c|0)!=-1073741824){a=(c|0)/3|0;if((c|0)<=-3)ra(12835,12860,63,12943);b=f[h+96>>2]|0;if((a|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){g=f[b+(a*12|0)+(((c|0)%3|0)<<2)>>2]|0;break}else ra(12948,12860,64,12943)}else g=-1073741824;while(0);a=(((i>>>0)%3|0|0)==0?2:-1)+i|0;do if((a|0)!=-1073741824){c=(a|0)/3|0;if((a|0)<=-3)ra(12835,12860,63,12943);b=f[h+96>>2]|0;if((c|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){e=f[b+(c*12|0)+(((a|0)%3|0)<<2)>>2]|0;break}else ra(12948,12860,64,12943)}else e=-1073741824;while(0);if((g|0)!=(e|0)){j=-1073741824;return j|0}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;a=(c|0)/3|0;if((c|0)<=-3)ra(12835,12860,63,12943);b=f[h+96>>2]|0;if((a|0)>=(((f[h+100>>2]|0)-b|0)/12|0|0))ra(12948,12860,64,12943);c=f[b+(a*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=i+1|0;d=((d|0)%3|0|0)==0?i+-2|0:d;do if((d|0)!=-1073741824){a=(d|0)/3|0;if((d|0)<=-3)ra(12835,12860,63,12943);b=f[h+96>>2]|0;if((a|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){j=f[b+(a*12|0)+(((d|0)%3|0)<<2)>>2]|0;break}else ra(12948,12860,64,12943)}else j=-1073741824;while(0);j=(c|0)!=(j|0)?-1073741824:i;return j|0}function Tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ee(j,m-l|0,2368);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(12948,12860,64,12943);else if((e|0)==12)ra(10949,10968,89,11068);else if((e|0)==13)return d|0;return 0}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Jc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=md(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<16384){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>12)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Em(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Em(b);u=n;return g|0}function Vc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ee(j,m-l|0,2368);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(12948,12860,64,12943);else if((e|0)==12)ra(10949,10968,89,11068);else if((e|0)==13)return d|0;return 0}function Wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=2356;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Wl(h);else{c=((c+-1|0)>>>5)+1|0;o=Yi(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];rd(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Wl(h);o=((c+-1|0)>>>5)+1|0;a=Yi(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];rd(h,k,m);u=n;return}function Xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=2404;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Wl(h);else{c=((c+-1|0)>>>5)+1|0;o=Yi(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];rd(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Wl(h);o=((c+-1|0)>>>5)+1|0;a=Yi(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];rd(h,k,m);u=n;return}function Yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;t=v;e=f[a+40>>2]|0;o=f[a+44>>2]|0;if((e|0)==(o|0)){d=2;t=0;d=(d|0)==2;t=d?0:t;u=v;return t|0}p=t+11|0;r=t+4|0;q=d+11|0;s=d+4|0;a=0;a:while(1){f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;m=Af(f[e>>2]|0,c,t)|0;n=b[p>>0]|0;b:do if(m){m=n<<24>>24<0;h=n&255;k=m?f[r>>2]|0:h;l=b[q>>0]|0;g=l<<24>>24<0;if((k|0)==((g?f[s>>2]|0:l&255)|0)){j=f[t>>2]|0;l=m?j:t;g=g?f[d>>2]|0:d;i=(k|0)==0;c:do if(m){if(!i?sh(l,g,k)|0:0){g=0;break b}}else if(!i){if((j&255)<<24>>24==(b[g>>0]|0))i=t;else{g=0;break b}while(1){h=h+-1|0;i=i+1|0;if(!h)break c;g=g+1|0;if((b[i>>0]|0)!=(b[g>>0]|0)){g=0;break b}}}while(0);g=1;a=f[e>>2]|0}else g=0}else g=3;while(0);if(n<<24>>24<0)Em(f[t>>2]|0);switch(g&3){case 3:case 0:break;default:{e=17;break a}}e=e+4|0;if((e|0)==(o|0)){g=2;e=17;break}}if((e|0)==17){t=(g|0)==2;t=t?0:a;u=v;return t|0}return 0}function Zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=f[c>>2]|0;m=f[l>>2]|0;g=f[a+4>>2]|0;c=f[l+4>>2]|0;i=g+-1|0;j=(i&g|0)==0;if(!j)if(c>>>0>>0)h=c;else h=(c>>>0)%(g>>>0)|0;else h=i&c;d=(f[a>>2]|0)+(h<<2)|0;k=f[d>>2]|0;while(1){c=f[k>>2]|0;if((c|0)==(l|0))break;else k=c}if((k|0)!=(a+8|0)){c=f[k+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;e=21}else e=13}else e=13;do if((e|0)==13){if(m|0){c=f[m+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;c=m;e=22;break}}f[d>>2]=0;d=f[l>>2]|0;e=21}while(0);if((e|0)==21){c=d;if(d)e=22}if((e|0)==22){d=f[d+4>>2]|0;if(!j){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0}else d=d&i;if((d|0)!=(h|0)){f[(f[a>>2]|0)+(d<<2)>>2]=k;c=f[l>>2]|0}}f[k>>2]=c;f[l>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!l)return m|0;d=l+8|0;c=f[l+20>>2]|0;if(c|0){e=l+24|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;Em(c)}if((b[d+11>>0]|0)<0)Em(f[d>>2]|0);Em(l);return m|0}function _c(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;l=r+20|0;k=r+16|0;q=r;p=c+24|0;e=b[p>>0]|0;m=e<<24>>24;h=f[a+80>>2]|0;j=X(h,m)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;jd(d,0,0+(j<<2)|0);if((h|0)<=0){q=1;u=r;return q|0}j=c+84|0;i=c+68|0;if(e<<24>>24<=0){e=0;while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(e<<2)>>2]|0;else a=e;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(kb(c,l,g,q)|0)){a=0;e=13;break}e=e+1|0;if((e|0)>=(h|0)){a=1;e=13;break}}if((e|0)==13){u=r;return a|0}}else{n=0;o=0}while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(o<<2)>>2]|0;else a=o;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(kb(c,l,g,q)|0)){a=0;e=13;break}a=f[d>>2]|0;e=n;g=0;while(1){f[a+(e<<2)>>2]=f[q+(g<<2)>>2];g=g+1|0;if((g|0)==(m|0))break;else e=e+1|0}o=o+1|0;if((o|0)>=(h|0)){a=1;e=13;break}else n=m+n|0}if((e|0)==13){u=r;return a|0}return 0}function $c(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b[(f[a+8>>2]|0)+24>>0]|0;i=Bm(d>>>0>1073741823?-1:d<<2)|0;j=a+28|0;c=f[j>>2]|0;f[j>>2]=i;if(c|0)Cm(c);i=a+4|0;g=f[(f[i>>2]|0)+32>>2]|0;d=d<<2;n=g+8|0;l=f[n>>2]|0;n=f[n+4>>2]|0;e=g+16|0;k=e;c=f[k>>2]|0;k=Ij(c|0,f[k+4>>2]|0,d|0,0)|0;m=I;if((n|0)<(m|0)|(n|0)==(m|0)&l>>>0>>0){n=0;return n|0}Od(f[j>>2]|0,(f[g>>2]|0)+c|0,d|0)|0;c=e;c=Ij(f[c>>2]|0,f[c+4>>2]|0,d|0,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=(f[i>>2]|0)+32|0;c=f[e>>2]|0;k=c+8|0;m=f[k>>2]|0;k=f[k+4>>2]|0;g=c+16|0;n=g;d=f[n>>2]|0;n=Ij(d|0,f[n+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&m>>>0>>0){n=0;return n|0}n=a+32|0;c=(f[c>>2]|0)+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[n>>0]=c;b[n+1>>0]=c>>8;b[n+2>>0]=c>>16;b[n+3>>0]=c>>24;n=g;n=Ij(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;c=g;f[c>>2]=n;f[c+4>>2]=I;c=f[e>>2]|0;n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}c=b[(f[c>>2]|0)+d>>0]|0;m=Ij(d|0,e|0,1,0)|0;n=g;f[n>>2]=m;f[n+4>>2]=I;if((c&255)>31){n=0;return n|0}f[a+24>>2]=c&255;n=1;return n|0}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j;g=f[a+8>>2]|0;h=a+4|0;d=f[h>>2]|0;if(((g-d|0)/116|0)>>>0>=c>>>0){do{f[d>>2]=-1;fi(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[h>>2]|0)+116|0;f[h>>2]=d;c=c+-1|0}while((c|0)!=0);u=j;return}e=f[a>>2]|0;h=(d-e|0)/116|0;d=h+c|0;if(d>>>0>37025580)Wl(a);e=(g-e|0)/116|0;g=e<<1;d=e>>>0<18512790?(g>>>0>>0?d:g):37025580;f[i+12>>2]=0;f[i+16>>2]=a+8;do if(d)if(d>>>0>37025580){j=sa(8)|0;Fk(j,12569);f[j>>2]=3708;wa(j|0,856,80)}else{e=Yi(d*116|0)|0;break}else e=0;while(0);f[i>>2]=e;h=e+(h*116|0)|0;g=i+8|0;f[g>>2]=h;f[i+4>>2]=h;f[i+12>>2]=e+(d*116|0);d=h;do{f[d>>2]=-1;fi(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[g>>2]|0)+116|0;f[g>>2]=d;c=c+-1|0}while((c|0)!=0);Ob(a,i);Xe(i);u=j;return}function bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+12|0;o=q;e=qh(c,0)|0;if(!e){f[a>>2]=0;u=q;return}d=f[c+96>>2]|0;c=(f[c+100>>2]|0)-d|0;m=(c|0)/12|0;f[n>>2]=0;p=n+4|0;f[p>>2]=0;f[n+8>>2]=0;if(c){if(m>>>0>357913941)Wl(n);l=Yi(c)|0;f[n>>2]=l;f[n+8>>2]=l+(m*12|0);Cf(l|0,0,c|0)|0;f[p>>2]=l+c;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if((c|0)>0){i=e+68|0;j=o+4|0;k=o+8|0;h=(b[e+84>>0]|0)==0;g=0;do{c=f[d+(g*12|0)>>2]|0;if(h){e=f[i>>2]|0;c=f[e+(c<<2)>>2]|0;f[o>>2]=c;f[j>>2]=f[e+(f[d+(g*12|0)+4>>2]<<2)>>2];e=e+(f[d+(g*12|0)+8>>2]<<2)|0}else{f[o>>2]=c;f[j>>2]=f[d+(g*12|0)+4>>2];e=d+(g*12|0)+8|0}e=f[e>>2]|0;f[k>>2]=e;f[l+(g*12|0)>>2]=c;f[l+(g*12|0)+4>>2]=f[j>>2];f[l+(g*12|0)+8>>2]=e;g=g+1|0}while((g|0)<(m|0))}}else{f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0}Bg(a,n);d=f[n>>2]|0;if(d|0){c=f[p>>2]|0;if((c|0)!=(d|0))f[p>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);Em(d)}u=q;return}function cd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=f[l>>2]|0;fg(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;b=f[d>>2]|0;c=f[g>>2]|0;i=b-c>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=c+(h<<2)|0,(b|0)!=(e|0)):0)f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2)}else ee(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];pb(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];pb(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function dd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function ed(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=u;u=u+16|0;g=n;e=c+8|0;o=e;q=f[o+4>>2]|0;m=c+16|0;p=m;d=f[p>>2]|0;p=f[p+4>>2]|0;if(!((q|0)>(p|0)|((q|0)==(p|0)?(f[o>>2]|0)>>>0>d>>>0:0))){q=0;u=n;return q|0}b[a+12>>0]=b[(f[c>>2]|0)+d>>0]|0;p=m;p=Ij(f[p>>2]|0,f[p+4>>2]|0,1,0)|0;q=m;f[q>>2]=p;f[q+4>>2]=I;a:do if((Vf(g,c)|0?(j=f[g>>2]|0,q=e,l=m,k=f[l>>2]|0,l=f[l+4>>2]|0,q=hk(f[q>>2]|0,f[q+4>>2]|0,k|0,l|0)|0,p=I,!(0>(p|0)|0==(p|0)&j>>>0>q>>>0)):0)?(i=(f[c>>2]|0)+k|0,(j|0)>=1):0){f[a>>2]=i;e=j+-1|0;d=i+e|0;switch((h[d>>0]|0)>>>6&3){case 0:{f[a+4>>2]=e;d=b[d>>0]&63;break}case 1:{if((j|0)<2){d=0;break a}f[a+4>>2]=j+-2;d=i+j+-2|0;d=(h[d+1>>0]|0)<<8&16128|(h[d>>0]|0);break}case 2:{if((j|0)<3){d=0;break a}f[a+4>>2]=j+-3;d=i+j+-3|0;d=(h[d+1>>0]|0)<<8|(h[d>>0]|0)|(h[d+2>>0]|0)<<16&4128768;break}default:{d=0;break a}}q=d+4096|0;f[a+8>>2]=q;if(q>>>0<=1048575){q=Ij(k|0,l|0,j|0,0)|0;d=m;f[d>>2]=q;f[d+4>>2]=I;d=1}else d=0}else d=0;while(0);q=d;u=n;return q|0}function fd(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=Ka,f=Ka,g=0.0,h=Ka,i=Ka,j=0.0,k=0.0,l=0.0,m=0.0;if(!(b>=$(0.0)))ra(7075,6922,191,7089);if(!(c>=$(0.0)))ra(7118,6922,192,7089);if(!(b<=$(1.0)))ra(7132,6922,193,7089);if(!(c<=$(1.0)))ra(7146,6922,194,7089);f=$(b+c);e=$(b-c);if(!(e<=$(.5))|(!(e>=$(-.5))|(!(f>=$(.5))|!(f<=$(1.5))))){do if(!(f<=$(.5))){if(f>=$(1.5)){e=$($(1.5)-c);c=$($(1.5)-b);break}if(!(e<=$(-.5))){e=$(c+$(.5));c=$(b+$(-.5));break}else{e=$(c+$(-.5));c=$(b+$(.5));break}}else{e=$($(.5)-c);c=$($(.5)-b)}while(0);b=e;i=$(e-c);f=$(c+e);g=-1.0}else{i=e;g=1.0}h=$(+b*2.0+-1.0);b=$(+c*2.0+-1.0);l=+f*2.0;j=l+-1.0;l=3.0-l;m=+i*2.0;k=m+1.0;m=1.0-m;k=m>2]=$(0.0);h=$(0.0);i=$(0.0);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}else{i=$($(1.0)/$(L($(e))));f=$(c*i);n[d>>2]=f;h=$(h*i);i=$(b*i);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}}function gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){Cf(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);u=n;return}e=f[a>>2]|0;g=c-e>>2;c=g+b|0;if(c>>>0>1073741823)Wl(a);i=d-e|0;j=i>>1;c=i>>2>>>0<536870911?(j>>>0>>0?c:j):1073741823;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(c)if(c>>>0>1073741823){n=sa(8)|0;Fk(n,12569);f[n>>2]=3708;wa(n|0,856,80)}else{d=Yi(c<<2)|0;break}else d=0;while(0);f[m>>2]=d;g=d+(g<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=g;j=m+12|0;f[j>>2]=d+(c<<2);Cf(g|0,0,b<<2|0)|0;f[i>>2]=g+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];Ce(m);u=n;return}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(((d-c|0)/12|0)>>>0>=b>>>0){Cf(c|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}j=f[a>>2]|0;i=(c-j|0)/12|0;c=i+b|0;k=j;if(c>>>0>357913941)Wl(a);h=(d-j|0)/12|0;g=h<<1;g=h>>>0<178956970?(g>>>0>>0?c:g):357913941;do if(g)if(g>>>0>357913941){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{h=Yi(g*12|0)|0;break}else h=0;while(0);d=h+(i*12|0)|0;c=d;h=h+(g*12|0)|0;Cf(d|0,0,b*12|0)|0;g=d+(b*12|0)|0;if((e|0)==(k|0))i=j;else{do{j=d+-12|0;b=e;e=e+-12|0;f[j>>2]=0;i=d+-8|0;f[i>>2]=0;f[d+-4>>2]=0;f[j>>2]=f[e>>2];j=b+-8|0;f[i>>2]=f[j>>2];b=b+-4|0;f[d+-4>>2]=f[b>>2];f[b>>2]=0;f[j>>2]=0;f[e>>2]=0;d=c+-12|0;c=d}while((e|0)!=(k|0));i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=c;f[l>>2]=g;f[m>>2]=h;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);Em(g)}}while((e|0)!=(h|0));if(!i)return;Em(i);return}function id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)hi(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Wl(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Wl(a);h=Yi(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)hi(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Wl(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Wl(a);h=Yi(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function kd(a,c){a=a|0;c=c|0;var d=0,e=Ka,g=Ka,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Ka,x=Ka,y=0,z=0;v=u;u=u+16|0;p=v;q=f[a+24>>2]|0;r=a+8|0;d=b[(f[r>>2]|0)+24>>0]|0;o=d<<24>>24;s=o<<2;t=Bm(o>>>0>1073741823?-1:o<<2)|0;cl(p);if(!(Mi(p,$(n[a+32>>2]),(1<>2]|0;m=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;if(!c){c=1;Cm(t);u=v;return c|0}q=p+4|0;l=a+28|0;if(d<<24>>24>0){h=0;i=0;j=0}else{a=0;d=0;while(1){Od((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+d|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(c|0)){a=1;break}else d=d+s|0}Cm(t);u=v;return a|0}while(1){a=f[l>>2]|0;e=$(n[q>>2]);g=$(n[p>>2]);d=0;k=j;while(1){z=f[m+(k<<2)>>2]|0;y=(z|0)<0;w=$(e*$((y?0-z|0:z)|0));x=$(-w);w=$(g*(y?x:w));w=$($(n[a+(d<<2)>>2])+w);n[t+(d<<2)>>2]=w;d=d+1|0;if((d|0)==(o|0))break;else k=k+1|0}Od((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+i|0,t|0,s|0)|0;h=h+1|0;if((h|0)==(c|0)){a=1;break}else{i=i+s|0;j=o+j|0}}Cm(t);u=v;return a|0}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+112|0;h=k+96|0;j=k+16|0;i=k+4|0;g=k;c=j+76|0;d=j;e=d+76|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=-1073741824;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;f[g>>2]=i;f[h>>2]=f[g>>2];if($b(j,a,h)|0){g=f[i>>2]|0;jd(b,g,g+((f[e>>2]|0)-g>>2<<2)|0);g=f[j+68>>2]|0}else g=0;c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+56>>2]|0;if(c|0)Em(c);c=f[j+32>>2]|0;if(c|0){e=j+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+20>>2]|0;if(c|0){e=j+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+8>>2]|0;if(c|0){e=j+12|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}j=j+4|0;c=f[j>>2]|0;f[j>>2]=0;if(!c){u=k;return g|0}Sf(c);Em(c);u=k;return g|0}function md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;d=l;if(!(tf(d,c)|0)){a=0;u=l;return a|0}g=d;j=f[g>>2]|0;g=f[g+4>>2]|0;m=c+8|0;i=c+16|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;m=hk(f[m>>2]|0,f[m+4>>2]|0,d|0,e|0)|0;n=I;if(g>>>0>n>>>0|(g|0)==(n|0)&j>>>0>m>>>0){n=0;u=l;return n|0}c=(f[c>>2]|0)+d|0;m=Ij(d|0,e|0,j|0,g|0)|0;n=i;f[n>>2]=m;f[n+4>>2]=I;if((j|0)<1){n=0;u=l;return n|0}f[a+40>>2]=c;e=j+-1|0;d=c+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;k=b[d>>0]&63;break}case 1:if((j|0)<2){n=0;u=l;return n|0}else{f[a+44>>2]=j+-2;k=c+j+-2|0;k=(h[k+1>>0]|0)<<8&16128|(h[k>>0]|0);break a}case 2:if((j|0)<3){n=0;u=l;return n|0}else{f[a+44>>2]=j+-3;k=c+j+-3|0;k=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=j+-4;k=c+j+-4|0;k=(h[k+2>>0]|0)<<16|(h[k+3>>0]|0)<<24&1056964608|(h[k+1>>0]|0)<<8|(h[k>>0]|0);break}default:{}}while(0);n=k+16384|0;f[a+48>>2]=n;n=n>>>0<4194304;u=l;return n|0}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f[a+4>>2]=f[b+4>>2];j=a+8|0;k=b+8|0;if((a|0)==(b|0))return a|0;i=b+12|0;c=f[i>>2]|0;if(!c)c=0;else{h=a+16|0;do if(c>>>0>f[h>>2]<<5>>>0){d=f[j>>2]|0;if(d){Em(d);f[j>>2]=0;f[h>>2]=0;f[a+12>>2]=0;c=f[i>>2]|0}if((c|0)<0)Wl(j);else{e=((c+-1|0)>>>5)+1|0;g=Yi(e<<2)|0;f[j>>2]=g;f[a+12>>2]=0;f[h>>2]=e;e=f[i>>2]|0;break}}else{e=c;g=f[j>>2]|0}while(0);hi(g|0,f[k>>2]|0,((e+-1|0)>>>5<<2)+4|0)|0;c=f[i>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;do if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){Em(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Wl(h);else{l=((c+-1|0)>>>5)+1|0;m=Yi(l<<2)|0;f[h>>2]=m;f[a+24>>2]=0;f[e>>2]=l;l=f[g>>2]|0;break}}else{l=c;m=f[h>>2]|0}while(0);hi(m|0,f[i>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823)Wl(a);j=d>>1;d=d>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(d>>>0>1073741823)Wl(a);h=Yi(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function pd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Pg(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Pg(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Pg(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Wl(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Wl(a);e=Yi(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Od(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Od(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];oc(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=(c|0)/32|0;hi(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)ra(12446,12458,110,12556);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))le(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){hf(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(b);u=j;return}function td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;j=d+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;k=d+16|0;e=k;g=f[e>>2]|0;e=f[e+4>>2]|0;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>g>>>0){h=b[(f[d>>2]|0)+g>>0]|0;g=Ij(g|0,e|0,1,0)|0;e=I;o=k;f[o>>2]=g;f[o+4>>2]=e;if(h<<24>>24!=-2)l=3}else{h=0;l=3}if((l|0)==3){if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>g>>>0){o=b[(f[d>>2]|0)+g>>0]|0;l=Ij(g|0,e|0,1,0)|0;e=k;f[e>>2]=l;f[e+4>>2]=I;e=o}else e=0;Ua[f[(f[a>>2]|0)+40>>2]&7](m,a,h<<24>>24,e<<24>>24);o=a+20|0;l=f[m>>2]|0;f[m>>2]=0;e=f[o>>2]|0;f[o>>2]=l;if(e){Ra[f[(f[e>>2]|0)+4>>2]&127](e);e=f[m>>2]|0;f[m>>2]=0;if(e|0)Ra[f[(f[e>>2]|0)+4>>2]&127](e)}else f[m>>2]=0}e=f[a+20>>2]|0;if(e|0?!(Na[f[(f[a>>2]|0)+28>>2]&127](a,e)|0):0){o=0;u=n;return o|0}o=Oa[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0;u=n;return o|0}function ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;j=l+12|0;k=l;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=og(c)|0;if(g>>>0>4294967279)Wl(j);if(g>>>0<11){b[j+11>>0]=g;if(!g)e=j;else{e=j;h=6}}else{h=g+16&-16;e=Yi(h)|0;f[j>>2]=e;f[j+8>>2]=h|-2147483648;f[j+4>>2]=g;h=6}if((h|0)==6)Od(e|0,c|0,g|0)|0;b[e+g>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=og(d)|0;if(c>>>0>4294967279)Wl(k);if(c>>>0<11){b[k+11>>0]=c;if(!c)e=k;else{e=k;h=12}}else{h=c+16&-16;e=Yi(h)|0;f[k>>2]=e;f[k+8>>2]=h|-2147483648;f[k+4>>2]=c;h=12}if((h|0)==12)Od(e|0,d|0,c|0)|0;b[e+c>>0]=0;e=f[a+4>>2]|0;if((e|0)!=0?(i=Yc(e,j,k)|0,(i|0)!=0):0)e=hh(a,f[i+40>>2]|0)|0;else e=-1;if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);if((b[j+11>>0]|0)>=0){u=l;return e|0}Em(f[j>>2]|0);u=l;return e|0}function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;o=e;return o|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;j=a<<24>>24<0;a=j?f[g+20>>2]|0:a&255;i=a>>>0>>0;e=i?a:m;if((e|0)!=0?(o=sh(l,j?f[h>>2]|0:h,e)|0,(o|0)!=0):0)if((o|0)<0)k=8;else k=10;else if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if((e|0)!=0?(n=sh(j?f[h>>2]|0:h,l,e)|0,(n|0)!=0):0){if((n|0)>=0){k=16;break}}else k=12;if((k|0)==12?(0,!i):0){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;o=g;return o|0}else if((k|0)==15){f[c>>2]=g;o=d;return o|0}else if((k|0)==16){f[c>>2]=g;o=d;return o|0}return 0}function wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;a=a+20|0;if(Jb(a,c)|0){h=0;return h|0}g=vb(a,c)|0;e=f[d>>2]|0;f[d>>2]=0;h=f[g>>2]|0;f[g>>2]=e;if(!h){h=1;return h|0}a=f[h+28>>2]|0;if(a|0)do{g=a;a=f[a>>2]|0;Le(g+8|0);Em(g)}while((a|0)!=0);g=h+20|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Em(a);a=f[h+8>>2]|0;if(a|0)do{e=a;a=f[a>>2]|0;g=e+8|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}if((b[g+11>>0]|0)<0)Em(f[g>>2]|0);Em(e)}while((a|0)!=0);a=f[h>>2]|0;f[h>>2]=0;if(a|0)Em(a);Em(h);h=1;return h|0}function xd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;fg(f[a+4>>2]|0,(f[c+56>>2]|0)-(f[c+52>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];rb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];rb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)hi(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Od(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);Em(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823)Wl(a);m=d>>1;d=d>>2>>>0<536870911?(m>>>0>>0?g:m):1073741823;if(d>>>0>1073741823)Wl(a);e=Yi(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Od(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;Em(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Wl(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Wl(a);e=Yi(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)hi(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function Ad(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;c=Yi(64)|0;j=Yi(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=2576;f[j+8>>2]=h;f[k>>2]=j;rh(c,k);j=c;if((b|0)>=0){h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Dd(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c)a=1;else{Ra[f[(f[c>>2]|0)+4>>2]&127](c);a=1}}else{Ra[f[(f[c>>2]|0)+4>>2]&127](c);a=0}c=f[k>>2]|0;f[k>>2]=0;if(!c){u=l;return a|0}Ra[f[(f[c>>2]|0)+4>>2]&127](c);u=l;return a|0}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];nd(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{qd(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);qd(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);qd(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];yd(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Cd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+80|0;g=j;i=j+64|0;Eh(g);e=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Uh(5)|0,d)|0;Uf(g,e,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=Yi(96)|0;xh(h,g);b[h+84>>0]=1;d=f[h+68>>2]|0;g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Mf(h,c)|0;f[i>>2]=h;sf(a,i);h=f[i>>2]|0;f[i>>2]=0;if(!h){u=j;return}i=h+88|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}i=h+64|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(h);u=j;return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;e=f[m>>2]|0;l=a+4|0;d=f[l>>2]|0;c=d;if(e-d>>2>>>0>=b>>>0){Cf(d|0,0,b<<2|0)|0;f[l>>2]=d+(b<<2);return}g=f[a>>2]|0;d=d-g>>2;j=d+b|0;k=g;if(j>>>0>1073741823)Wl(a);i=e-g|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?j:h):1073741823;do if(h)if(h>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{i=Yi(h<<2)|0;break}else i=0;while(0);e=i+(d<<2)|0;Cf(e|0,0,b<<2|0)|0;d=e;b=i+(h<<2)|0;h=i+(j<<2)|0;if((c|0)!=(k|0)){do{c=c+-4|0;j=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=j;e=d+-4|0;d=e}while((c|0)!=(k|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=b;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;Em(g);return}function Ed(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2680;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}Fe(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){lf(c);Em(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b)}lf(e);Em(e);return}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)ra(12835,12860,63,12943);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))ra(12948,12860,64,12943);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))hf(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){hf(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;sc(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=(c|0)/32|0;hi(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Hd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;fg(f[a+4>>2]|0,(f[c+28>>2]|0)-(f[c+24>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];ub(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];ub(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=f[a>>2]|0;h=(d-g|0)/12|0;d=h+b|0;if(d>>>0>357913941)Wl(a);g=(e-g|0)/12|0;i=g<<1;d=g>>>0<178956970?(i>>>0>>0?d:i):357913941;do if(d)if(d>>>0>357913941){k=sa(8)|0;Fk(k,12569);f[k>>2]=3708;wa(k|0,856,80)}else{e=Yi(d*12|0)|0;break}else e=0;while(0);i=e+(h*12|0)|0;h=e+(d*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Od(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;Em(d);return}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;sd(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){pe(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=f[c>>2]|0;h=f[a>>2]|0;j=h+(e>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(e&31);j=f[a+64>>2]|0;g=(e|0)<0;c=e+1|0;if(!g?(d=((c|0)%3|0|0)==0?e+-2|0:c,(d|0)>=0):0)c=f[(f[j>>2]|0)+(d<<2)>>2]|0;else c=-1073741824;i=a+12|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g){j=(f[i>>2]|0)+402653184|0;f[j>>2]=f[j>>2]|1;return}c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g)return;d=f[(f[j+12>>2]|0)+(e<<2)>>2]|0;if((d|0)<=-1)return;b[a+24>>0]=0;c=h+(d>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(d&31);c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;a=(f[i>>2]|0)+(c>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;j=(f[i>>2]|0)+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);return}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Wl(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{e=Yi(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){lf(d);Em(d)}}while((c|0)!=(e|0));if(!g)return;Em(g);return}function Md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+8|0;g=j+4|0;e=j;if(!c){i=0;u=j;return i|0}f[a>>2]=b;f[h>>2]=0;Vf(h,b)|0;a:do if(!(f[h>>2]|0))i=8;else{d=0;while(1){Vf(g,f[a>>2]|0)|0;b=Yi(44)|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[b+16>>2]=$(1.0);k=b+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[b+36>>2]=$(1.0);f[b+40>>2]=f[g>>2];if(!(dc(a,b)|0))break;f[e>>2]=b;rg(c,e)|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){lf(b);Em(b)}d=d+1|0;if(d>>>0>=(f[h>>2]|0)>>>0){i=8;break a}}lf(b);Em(b);b=0}while(0);if((i|0)==8)b=dc(a,c)|0;k=b;u=j;return k|0}function Nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=sh(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=sh(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ea(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Pd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}g=a+184|0;b=f[g>>2]|0;if(b|0){h=a+188|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Em(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Em(b)}b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}h=a+136|0;c=f[h>>2]|0;f[h>>2]=0;if(!c){h=a+120|0;Jm(h);h=a+80|0;Jm(h);h=a+64|0;Jm(h);a=a+24|0;Jm(a);return}d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(c|0))}Cm(d);h=a+120|0;Jm(h);h=a+80|0;Jm(h);h=a+64|0;Jm(h);a=a+24|0;Jm(a);return}function Qd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)ra(12658,12674,59,12771);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))ra(12781,12674,60,12771);g=f[i+(c<<2)>>2]|0;do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Pc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Yi(44)|0;f[b>>2]=1192;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);f[b>>2]=1248;g=b}f[a>>2]=g;return}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+60|0;c=f[i>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+48;if(!(Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}g=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((g|0)>0){h=0;while(1){c=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;c=f[c>>2]|0;e=Na[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;if((e|0)<=-1){d=7;break}d=f[c+8>>2]|0;if(((f[c+12>>2]|0)-d>>2|0)<=(e|0)){d=9;break}c=f[i>>2]|0;h=h+1|0;if(!(Na[f[(f[c>>2]|0)+8>>2]&127](c,f[d+(e<<2)>>2]|0)|0)){c=0;d=14;break}if((h|0)>=(g|0))break a}if((d|0)==7)ra(12658,12674,67,12771);else if((d|0)==9)ra(12781,12674,68,12771);else if((d|0)==14)return c|0}while(0);if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=vk(Ba(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=vk(Ba(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Td(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function Ud(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;c=f[k>>2]|0;l=a+16|0;if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}d=f[l>>2]|0;if(!d){l=f[l>>2]|0;return l|0}a=d+84|0;if(!(b[a>>0]|0)){l=f[l>>2]|0;return l|0}i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>2;b[a>>0]=0;h=d+68|0;e=d+72|0;d=f[e>>2]|0;a=f[h>>2]|0;g=d-a>>2;if(i>>>0<=g>>>0){if(i>>>0>>0?(j=a+(i<<2)|0,(d|0)!=(j|0)):0)f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2)}else{ee(h,i-g|0,1060);c=f[k>>2]|0}if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}k=f[c+68>>2]|0;g=k;k=(f[c+72>>2]|0)-k|0;d=k>>2;if((k|0)<=0){l=f[l>>2]|0;return l|0}c=f[l>>2]|0;e=(b[c+84>>0]|0)==0;c=c+68|0;a=0;while(1){if(!e){c=14;break}f[(f[c>>2]|0)+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0;if((a|0)>=(d|0)){c=15;break}}if((c|0)==14)ra(10949,10968,89,11068);else if((c|0)==15){l=f[l>>2]|0;return l|0}return 0}function Vd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;g=h+8|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=Lb(a,e,g,h+4|0,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=Yi(40)|0;Df(e+16|0,d);Df(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}wc(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function Wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+16|0;l=m;j=a+4|0;f[j>>2]=0;if(!c){u=m;return}i=a+8|0;e=f[i>>2]|0;g=e<<5;if(g>>>0>>0){f[l>>2]=0;k=l+4|0;f[k>>2]=0;h=l+8|0;f[h>>2]=0;if((c|0)<0)Wl(a);e=e<<6;n=c+31&-32;Me(l,g>>>0<1073741823?(e>>>0>>0?n:e):2147483647);e=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=e;l=f[j>>2]|0;f[j>>2]=c;f[k>>2]=l;l=f[i>>2]|0;f[i>>2]=f[h>>2];f[h>>2]=l;if(e|0)Em(e)}else f[j>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){Cf(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=m;return}else{Cf(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=m;return}}function Xd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(dl(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(dl(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Va[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Wa[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else Ai(0,c,d,e);while(0);return}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;m=b+16|0;c=m;e=f[c>>2]|0;c=f[c+4>>2]|0;g=Ij(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&j>>>0>>0){a=0;return a|0}i=f[b>>2]|0;l=i+e|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;n=m;f[n>>2]=g;f[n+4>>2]=d;d=Ij(e|0,c|0,8,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0){n=0;return n|0}c=i+g|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;n=m;f[n>>2]=d;f[n+4>>2]=e;if((l|0)>(c|0)){n=0;return n|0}f[a+12>>2]=l;f[a+16>>2]=c;n=c+(1-l)|0;f[a+20>>2]=n;c=(n|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(n&1))f[d>>2]=c+-1;n=ed(a+108|0,b)|0;return n|0}function Zd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)ra(12658,12674,59,12771);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))ra(12781,12674,60,12771);g=f[i+(c<<2)>>2]|0;do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){qc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Yi(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=1868;g=b}f[a>>2]=g;return}function _d(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+32>>2]|0;h=c+8|0;j=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}h=b[(f[c>>2]|0)+e>>0]|0;c=Ij(e|0,d|0,1,0)|0;e=g;f[e>>2]=c;f[e+4>>2]=I;e=a+48|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);switch(h<<24>>24){case 0:{c=Yi(376)|0;lg(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);i=9}break}case 2:{c=Yi(432)|0;gf(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);i=9}break}default:i=9}if((i|0)==9){c=f[e>>2]|0;if(!c){j=0;return j|0}}j=Na[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;return j|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;g=c-e>>3;c=g+b|0;if(c>>>0>536870911)Wl(a);e=d-e|0;h=e>>2;c=e>>3>>>0<268435455?(h>>>0>>0?c:h):536870911;do if(c)if(c>>>0>536870911){j=sa(8)|0;Fk(j,12569);f[j>>2]=3708;wa(j|0,856,80)}else{d=Yi(c<<3)|0;break}else d=0;while(0);h=d+(g<<3)|0;g=d+(c<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Od(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;Em(c);return}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Ta[i&7](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Em(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}Em(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((hb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=Km(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=hb(a,c,m,p,q)|0;if(d){Oa[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=hb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)Jm(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=Yi(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;j=g+8|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Od(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}_e(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Od(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=1048576){if((i|0)!=1048576?(h=d+4194304|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,1048576-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>1048576){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==1048576;return k|0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+8|0;e=f[l>>2]|0;m=a+4|0;d=f[m>>2]|0;g=d;if(e-d>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[m>>2]=g+(b<<2);return}k=f[a>>2]|0;j=d-k|0;i=j>>2;d=i+b|0;if(d>>>0>1073741823)Wl(a);g=e-k|0;h=g>>1;d=g>>2>>>0<536870911?(h>>>0>>0?d:h):1073741823;do if(d)if(d>>>0>1073741823){b=sa(8)|0;Fk(b,12569);f[b>>2]=3708;wa(b|0,856,80)}else{e=Yi(d<<2)|0;break}else e=0;while(0);h=e+(i<<2)|0;g=e+(d<<2)|0;d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}d=h+(0-i<<2)|0;if((j|0)>0)Od(d|0,k|0,j|0)|0;f[a>>2]=d;f[m>>2]=h+(b<<2);f[l>>2]=g;if(!k)return;Em(k);return}function fe(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(dl(m,e,0)|0){f[o+48>>2]=1;Wa[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Va[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(tb(a,n)|0)){a=0;u=o;return a|0}db(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=524288){if((i|0)!=524288?(h=d+2097152|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,524288-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>524288){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==524288;return k|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=262144){if((i|0)!=262144?(h=d+1048576|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,262144-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>262144){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==262144;return k|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=65536){if((i|0)!=65536?(h=d+262144|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,65536-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>65536){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==65536;return k|0}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=32768){if((i|0)!=32768?(h=d+131072|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,32768-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>32768){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==32768;return k|0}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){gd(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Em(d)}Em(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Em(d)}Em(c)}Em(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=8192){if((i|0)!=8192?(h=d+32768|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,8192-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>8192){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==8192;return k|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=4096){if((i|0)!=4096?(h=d+16384|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,4096-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>4096){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==4096;return k|0}function oe(a,c,d){a=a|0;c=c|0;d=d|0;a=Ib(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=8){d=0;return d|0}a=c;b[s>>0]=b[a>>0];b[s+1>>0]=b[a+1>>0];b[s+2>>0]=b[a+2>>0];b[s+3>>0]=b[a+3>>0];b[s+4>>0]=b[a+4>>0];b[s+5>>0]=b[a+5>>0];b[s+6>>0]=b[a+6>>0];b[s+7>>0]=b[a+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];d=1;return d|0}function pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;d=f[k>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(d-c>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[l>>2]=e+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Wl(a);e=d-j|0;g=e>>1;c=e>>2>>>0<536870911?(g>>>0>>0?c:g):1073741823;do if(c)if(c>>>0>1073741823){b=sa(8)|0;Fk(b,12569);f[b>>2]=3708;wa(b|0,856,80)}else{d=Yi(c<<2)|0;break}else d=0;while(0);g=d+(h<<2)|0;e=d+(c<<2)|0;c=g;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}c=g+(0-h<<2)|0;if((i|0)>0)Od(c|0,j|0,i|0)|0;f[a>>2]=c;f[l>>2]=g+(b<<2);f[k>>2]=e;if(!j)return;Em(j);return}function qe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{Ve(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function re(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)Wl(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{wk(a,d,(e&255)+1|0)|0;Em(d);g=15}}else{c=Yi(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{wk(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){wk(c,d,(f[a+4>>2]|0)+1|0)|0;Em(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function se(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=el(f[a+8>>2]|0,o)|0;e=el(f[a+12>>2]|0,o)|0;g=el(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=el(f[a+(g<<2)>>2]|0,o)|0;g=el(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Jh(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=el(f[a+(e<<2)>>2]|0,o)|0;e=el(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;h=j+16|0;i=j;switch(c<<24>>24){case 0:{i=Yi(48)|0;rl(i);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;u=j;return}case 1:{i=Yi(52)|0;Ck(i);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;u=j;return}default:{c=Yi(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=28;d=c;e=10720;g=d+28|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+28>>0]=0;f[h>>2]=-1;c=h+4|0;Df(c,i);f[a>>2]=f[h>>2];Df(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)Em(f[c>>2]|0);if((b[i+11>>0]|0)<0)Em(f[i>>2]|0);u=j;return}}}function ue(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;i=k+12|0;j=k;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;e=og(c)|0;if(e>>>0>4294967279)Wl(i);if(e>>>0<11){b[i+11>>0]=e;if(!e)d=i;else{d=i;g=6}}else{g=e+16&-16;d=Yi(g)|0;f[i>>2]=d;f[i+8>>2]=g|-2147483648;f[i+4>>2]=e;g=6}if((g|0)==6)Od(d|0,c|0,e|0)|0;b[d+e>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;c=j+11|0;b[c>>0]=4;f[j>>2]=1701667182;b[j+4>>0]=0;d=f[a+4>>2]|0;if((d|0)!=0?(h=Yc(d,j,i)|0,(h|0)!=0):0)d=hh(a,f[h+40>>2]|0)|0;else d=-1;if((b[c>>0]|0)<0)Em(f[j>>2]|0);if((b[i+11>>0]|0)>=0){u=k;return d|0}Em(f[i>>2]|0);u=k;return d|0}function ve(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=sh(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=sh(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function we(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k+4|0;i=k;h=f[c+4>>2]|0;if(!h)ra(8295,8544,70,8714);g=f[c+8>>2]|0;if(!g)ra(8295,8544,70,8714);d=f[d>>2]|0;if((d|0)<0)e=-1073741824;else e=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=e>>>0)Wl(d);d=f[g+(f[c+(e<<2)>>2]<<2)>>2]|0;if(!(b[h+84>>0]|0))d=f[(f[h+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[i>>2]=d;g=b[h+24>>0]|0;f[j>>2]=f[i>>2];eb(h,j,g,a)|0;u=k;return}function xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;k=b+8|0;i=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;g=Ij(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){a=0;return a|0}b=f[b>>2]|0;j=b+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;m=l;f[m>>2]=g;f[m+4>>2]=d;c=Ij(e|0,c|0,8,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){m=0;return m|0}b=b+g|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;m=l;f[m>>2]=c;f[m+4>>2]=d;if((j|0)>(b|0)){m=0;return m|0}f[a+12>>2]=j;f[a+16>>2]=b;m=b+(1-j)|0;f[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;f[c>>2]=b;f[a+28>>2]=0-b;if(m&1|0){m=1;return m|0}f[c>>2]=b+-1;m=1;return m|0}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))ra(7739,6922,259,7763);d=f[c>>2]|0;if((d|0)>(e|0))ra(7777,6922,260,7763);a=0-e|0;if((i|0)<(a|0))ra(7801,6922,261,7763);if((d|0)<(a|0))ra(7826,6922,262,7763);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=_a(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Kb(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=_a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Kb(a,b);return}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){ad(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*116|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-116;c=f[e+-12>>2]|0;if(c|0){d=e+-8|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}c=f[e+-28>>2]|0;if(c|0){d=e+-24|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}c=f[e+-40>>2]|0;if(c|0){d=e+-36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}_f(e+-112|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function Be(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1072;e=a+60|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b)}f[a>>2]=968;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function Ce(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}Em(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Em(b);return}function De(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;e=f[l>>2]|0;g=b[e+24>>0]|0;k=g<<24>>24;n=k<<1;m=Bm(k>>>0>2147483647?-1:k<<1)|0;j=f[a+16>>2]|0;j=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){Cm(m);return}if(g<<24>>24>0){e=0;g=0;h=0;while(1){a=0;i=h;while(1){d[m+(a<<1)>>1]=f[j+(i<<2)>>2];a=a+1|0;if((a|0)==(k|0))break;else i=i+1|0}Od((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+g|0,m|0,n|0)|0;e=e+1|0;if((e|0)==(c|0))break;else{g=g+n|0;h=k+h|0}}Cm(m);return}else{Od(f[f[e+64>>2]>>2]|0,m|0,n|0)|0;if((c|0)==1){Cm(m);return}else{a=1;e=0}do{e=e+n|0;Od((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+e|0,m|0,n|0)|0;a=a+1|0}while((a|0)!=(c|0));Cm(m);return}}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+8|0;d=f[k>>2]|0;e=b[d+24>>0]|0;j=e<<24>>24;m=j<<2;l=Bm(j>>>0>1073741823?-1:j<<2)|0;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;if(!c){Cm(l);return}if(e<<24>>24>0){d=0;e=0;g=0;while(1){a=0;h=g;while(1){f[l+(a<<2)>>2]=f[i+(h<<2)>>2];a=a+1|0;if((a|0)==(j|0))break;else h=h+1|0}Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,l|0,m|0)|0;d=d+1|0;if((d|0)==(c|0))break;else{e=e+m|0;g=j+g|0}}Cm(l);return}else{Od(f[f[d+64>>2]>>2]|0,l|0,m|0)|0;if((c|0)==1){Cm(l);return}else{a=1;d=0}do{d=d+m|0;Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+d|0,l|0,m|0)|0;a=a+1|0}while((a|0)!=(c|0));Cm(l);return}}function Fe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Em(b);return}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Ka;n=u;u=u+32|0;j=n+16|0;m=n;k=a+8|0;l=b[(f[k>>2]|0)+24>>0]<<2;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;a=f[a+24>>2]|0;if((a|0)<=1)ra(6911,6922,60,7043);if((a|0)>=31)ra(7063,6922,61,7043);f[m>>2]=a;a=1<>2]=a+-1;a=a+-2|0;h=m+8|0;f[h>>2]=a;f[m+12>>2]=(a|0)/2|0;if(!c){u=n;return 1}d=0;e=0;g=0;while(1){o=$($(1.0)/$(a|0));fd(m,$($(f[i+(g<<2)>>2]|0)*o),$($(f[i+((g|1)<<2)>>2]|0)*o),j);Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,j|0,l|0)|0;d=d+1|0;if((d|0)==(c|0))break;a=f[h>>2]|0;e=e+l|0;g=g+2|0}u=n;return 1}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;g=f[c>>2]|0;c=f[c+4>>2]|0;d=Ij(g|0,c|0,4,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0)return 0;i=(f[b>>2]|0)+g|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=l;f[b>>2]=d;f[b+4>>2]=e;b=Ij(g|0,c|0,8,0)|0;c=I;if((k|0)<(c|0)|(k|0)==(c|0)&j>>>0>>0)return 0;f[l>>2]=b;f[l+4>>2]=c;if(((i|0)%2|0|0)!=1)ra(7851,7884,68,8050);c=(_(i|0)|0)^31;b=c+1|0;if(!c)ra(6911,6922,60,7043);if(b>>>0<31){f[a>>2]=b;l=2<>2]=l+-1;l=l+-2|0;f[a+8>>2]=l;f[a+12>>2]=(l|0)/2|0;return (c+-1|0)>>>0<29|0}else ra(7063,6922,61,7043);return 0}function Ie(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m+16|0;i=m+8|0;j=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))ra(7160,7205,69,7389);e=f[b+4>>2]|0;if((e|0)>(k|0))ra(7410,7205,70,7389);g=f[c>>2]|0;if((g|0)>(k|0))ra(7455,7205,71,7389);b=f[c+4>>2]|0;if((b|0)>(k|0))ra(7500,7205,72,7389);if((h|0)<=-1)ra(7545,7205,74,7389);if((e|0)<=-1)ra(7567,7205,75,7389);if((g|0)<=-1)ra(7589,7205,76,7389);if((b|0)>-1){f[i>>2]=h;f[i+4>>2]=e;f[j>>2]=g;f[j+4>>2]=b;tc(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else ra(7611,7205,77,7389)}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=_a(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){cc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=_a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;cc(a,b);return}function Ke(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function Le(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=a+12|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){c=f[i+28>>2]|0;if(c|0)do{h=c;c=f[c>>2]|0;Le(h+8|0);Em(h)}while((c|0)!=0);h=i+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)Em(c);c=f[i+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}if((b[h+11>>0]|0)<0)Em(f[h>>2]|0);Em(g)}while((c|0)!=0);c=f[i>>2]|0;f[i>>2]=0;if(c|0)Em(c);Em(i)}if((b[a+11>>0]|0)>=0)return;Em(f[a>>2]|0);return}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)Wl(i);l=((b+-1|0)>>>5)+1|0;k=Yi(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Gd(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)Em(b);u=j;return}function Ne(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+212|0;j=a+216|0;d=f[k>>2]|0;if((f[j>>2]|0)==(d|0)){l=0;return l|0}g=a+4|0;e=0;a:while(1){a=f[d+(e*116|0)>>2]|0;if(((a|0)>=0?(d=f[g>>2]|0,h=f[d+8>>2]|0,(a|0)<((f[d+12>>2]|0)-h>>2|0)):0)?(i=f[h+(a<<2)>>2]|0,(Ma[f[(f[i>>2]|0)+24>>2]&127](i)|0)>0):0){a=0;do{if((Na[f[(f[i>>2]|0)+20>>2]&127](i,a)|0)==(c|0))break a;a=a+1|0}while((a|0)<(Ma[f[(f[i>>2]|0)+24>>2]&127](i)|0))}a=e+1|0;d=f[k>>2]|0;if(a>>>0>=(((f[j>>2]|0)-d|0)/116|0)>>>0){a=0;l=11;break}else e=a}if((l|0)==11)return a|0;l=f[k>>2]|0;l=(b[l+(e*116|0)+72>>0]|0)==0?0:l+(e*116|0)+4|0;return l|0}function Oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(f[b+4>>2]|0)-(f[b>>2]|0)|0;l=k>>2;g=a+8|0;e=f[(f[g>>2]|0)+40>>2]|0;m=Bm((e|0)>-1?e:-1)|0;h=c+8|0;if((k|0)<=0){c=1;Cm(m);return c|0}k=c+16|0;i=0;j=0;while(1){o=h;n=f[o>>2]|0;o=f[o+4>>2]|0;a=k;b=f[a>>2]|0;a=Ij(b|0,f[a+4>>2]|0,e|0,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0){b=0;a=5;break}Od(m|0,(f[c>>2]|0)+b|0,e|0)|0;o=k;f[o>>2]=a;f[o+4>>2]=d;Od((f[f[(f[g>>2]|0)+64>>2]>>2]|0)+j|0,m|0,e|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+e|0}if((a|0)==5){Cm(m);return b|0}return 0}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=vd(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=Yi(40)|0;Df(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}wc(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function Qe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j+12|0;h=j;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=og(d)|0;if(e>>>0>4294967279)Wl(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;g=6}}else{g=e+16&-16;a=Yi(g)|0;f[h>>2]=a;f[h+8>>2]=g|-2147483648;f[h+4>>2]=e;g=6}if((g|0)==6)Od(a|0,d|0,e|0)|0;b[a+e>>0]=0;Af(c,h,i)|0;e=i+11|0;a=b[e>>0]|0;d=a<<24>>24<0?f[i>>2]|0:i;if((b[h+11>>0]|0)<0){Em(f[h>>2]|0);a=b[e>>0]|0}if(a<<24>>24>=0){u=j;return d|0}Em(f[i>>2]|0);u=j;return d|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;h=f[a>>2]|0;k=(f[i>>2]|0)-h|0;d=(k|0)/12|0;c=d+1|0;if(c>>>0>357913941)Wl(a);j=a+8|0;g=((f[j>>2]|0)-h|0)/12|0;e=g<<1;e=g>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{g=Yi(e*12|0)|0;break}else g=0;while(0);d=g+(d*12|0)|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];c=d+(((k|0)/-12|0)*12|0)|0;if((k|0)>0)Od(c|0,h|0,k|0)|0;f[a>>2]=c;f[i>>2]=d+12;f[j>>2]=g+(e*12|0);if(!h)return;Em(h);return}function Se(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)Wl(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=Yi(l)|0;if(g|0)wk(k,m,g)|0;if(i|0)wk(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)wk(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Em(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;tl(k+m|0,n);u=o;return}function Te(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(wh(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Oa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Oa[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Od(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function Ue(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;j=u;u=u+16|0;i=j;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){k=d+8|0;l=f[k+4>>2]|0;g=d+16|0;e=g;c=f[e>>2]|0;e=f[e+4>>2]|0;if((l|0)>(e|0)|((l|0)==(e|0)?(f[k>>2]|0)>>>0>c>>>0:0)){l=b[(f[d>>2]|0)+c>>0]|0;k=Ij(c|0,e|0,1,0)|0;c=g;f[c>>2]=k;f[c+4>>2]=I;c=l&255;f[a+24>>2]=c;break}else{l=0;u=j;return l|0}}else c=f[a+24>>2]|0;while(0);f[i>>2]=912;f[i+4>>2]=-1;hl(i,c);l=Ug(i,f[a+16>>2]|0)|0;u=j;return l|0}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){Cf(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Wl(a);g=d-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{g=Yi(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;Cf(e|0,0,b<<2|0)|0;c=e+(0-h<<2)|0;if((i|0)>0)Od(c|0,j|0,i|0)|0;f[a>>2]=c;f[k>>2]=e+(b<<2);f[l>>2]=g+(d<<2);if(!j)return;Em(j);return}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+212|0;h=a+216|0;c=f[i>>2]|0;a:do if((f[h>>2]|0)!=(c|0)){j=a+4|0;d=0;b:while(1){c=f[c+(d*116|0)>>2]|0;if(((c|0)>=0?(k=f[j>>2]|0,e=f[k+8>>2]|0,(c|0)<((f[k+12>>2]|0)-e>>2|0)):0)?(g=f[e+(c<<2)>>2]|0,(Ma[f[(f[g>>2]|0)+24>>2]&127](g)|0)>0):0){c=0;do{if((Na[f[(f[g>>2]|0)+20>>2]&127](g,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Ma[f[(f[g>>2]|0)+24>>2]&127](g)|0))}d=d+1|0;c=f[i>>2]|0;if(d>>>0>=(((f[h>>2]|0)-c|0)/116|0)>>>0)break a}k=(f[i>>2]|0)+(d*116|0)+76|0;return k|0}while(0);k=a+184|0;return k|0}function Xe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{f[h>>2]=b+-116;c=f[b+-12>>2]|0;if(c|0){e=b+-8|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[b+-28>>2]|0;if(c|0){e=b+-24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[b+-40>>2]|0;if(c|0){e=b+-36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}_f(b+-112|0);b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Em(b);return}function Ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-116;d=f[c+-12>>2]|0;if(d|0){g=c+-8|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}d=f[c+-28>>2]|0;if(d|0){g=c+-24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}d=f[c+-40>>2]|0;if(d|0){g=c+-36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}_f(c+-112|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Em(b);return}function Ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;d=g;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Ma[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=g;return e|0}f[d>>2]=940;f[d+4>>2]=-1;c=d+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;Ah(d,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));e=Ug(d,f[a+16>>2]|0)|0;f[d>>2]=940;a=f[c>>2]|0;if(a|0){c=d+12|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Em(a)}u=g;return e|0}function _e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((e-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}g=f[a>>2]|0;h=d-g|0;d=h+c|0;if((d|0)<0)Wl(a);g=e-g|0;i=g<<1;d=g>>>0<1073741823?(i>>>0>>0?d:i):2147483647;if(!d)e=0;else e=Yi(d)|0;i=e+h|0;h=e+d|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Od(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;Em(d);return}function $e(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+140|0;b=f[h>>2]|0;if((b|0)<=0){a=1;return a|0}d=b<<4;d=Bm(b>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<4)|0;b=d;do{cm(b);b=b+16|0}while((b|0)!=(c|0));g=a+136|0;e=f[g>>2]|0;f[g>>2]=d;if(e|0){c=e+-4|0;b=f[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(e|0))}Cm(c)}if((f[h>>2]|0)<=0){a=1;return a|0}b=0;while(1){if(!(ed((f[g>>2]|0)+(b<<4)|0,a)|0)){b=0;c=13;break}b=b+1|0;if((b|0)>=(f[h>>2]|0)){b=1;c=13;break}}if((c|0)==13)return b|0;return 0}function af(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Vi()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[899];xj(15517,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Oa[f[(f[194]|0)+16>>2]&31](776,d,e)|0;b=f[899]|0;if(d){i=f[e>>2]|0;i=Ma[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;xj(15431,g)}else{f[i>>2]=b;f[i+4>>2]=a;xj(15476,i)}}xj(15555,h)}function bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;h=j+12|0;g=j;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;e=og(d)|0;if(e>>>0>4294967279)Wl(g);if(e>>>0<11){b[g+11>>0]=e;if(!e)a=g;else{a=g;i=6}}else{i=e+16&-16;a=Yi(i)|0;f[g>>2]=a;f[g+8>>2]=i|-2147483648;f[g+4>>2]=e;i=6}if((i|0)==6)Od(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=Af(c,g,h)|0;if((b[g+11>>0]|0)<0)Em(f[g>>2]|0);if((b[h+11>>0]|0)>=0){u=j;return a|0}Em(f[h>>2]|0);u=j;return a|0}function cf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;h=f[a>>2]|0;f[a>>2]=0;if(!h)return;a=f[h+28>>2]|0;if(a|0)do{c=a;a=f[a>>2]|0;d=c+8|0;cf(c+20|0);if((b[d+11>>0]|0)<0)Em(f[d>>2]|0);Em(c)}while((a|0)!=0);g=h+20|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Em(a);a=f[h+8>>2]|0;if(a|0)do{e=a;a=f[a>>2]|0;g=e+8|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}if((b[g+11>>0]|0)<0)Em(f[g>>2]|0);Em(e)}while((a|0)!=0);a=f[h>>2]|0;f[h>>2]=0;if(a|0)Em(a);Em(h);return}function df(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+4>>2]=2404;b=f[a+24>>2]|0;if(b|0)Em(b);b=f[a+12>>2]|0;if(!b)return;Em(b);return}function ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=fj(e,g+1|0,15428,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;Yf(c,g,0);e=b[h>>0]|0}Yf(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function ff(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(Am()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=rm()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=rm()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function gf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2448;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));zi(b);d=a+372|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[a+392>>2]=-1;f[a+396>>2]=-1;f[a+400>>2]=2;f[a+404>>2]=7;d=a+408|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;return}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+4|0;i=f[a>>2]|0;l=(f[j>>2]|0)-i|0;h=l>>2;c=h+1|0;if(c>>>0>1073741823)Wl(a);k=a+8|0;g=(f[k>>2]|0)-i|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{g=Yi(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;f[e>>2]=f[b>>2];c=e+(0-h<<2)|0;if((l|0)>0)Od(c|0,i|0,l|0)|0;f[a>>2]=c;f[j>>2]=e+4;f[k>>2]=g+(d<<2);if(!i)return;Em(i);return}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;if((d|0)<0){j=0;return j|0}j=a+4|0;a=f[j>>2]|0;e=a+4|0;c=f[e>>2]|0;b=f[a>>2]|0;g=c-b>>2;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+(d<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{Ve(a,d-g|0);d=f[i>>2]|0}if((d|0)<=0){j=1;return j|0}e=f[j>>2]|0;a=f[e>>2]|0;c=(f[e+4>>2]|0)-a>>2;b=0;while(1){if(c>>>0<=b>>>0){b=10;break}f[a+(b<<2)>>2]=b;b=b+1|0;if((b|0)>=(d|0)){a=1;b=12;break}}if((b|0)==10)Wl(e);else if((b|0)==12)return a|0;return 0}function kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;k=u;u=u+80|0;j=k;i=k+56|0;g=k+40|0;e=j;d=e+40|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));yb(g,j,i);c=f[g>>2]|0;if(!c){c=g+4|0;if((b[c+11>>0]|0)<0)Em(f[c>>2]|0);i=h[i+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;j=j+24|0;Jm(j);u=k;return}else{f[a>>2]=c;c=g+4|0;Df(a+4|0,c);if((b[c+11>>0]|0)<0)Em(f[c>>2]|0);j=j+24|0;Jm(j);u=k;return}}function lf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0)do{d=c;c=f[c>>2]|0;g=d+8|0;h=d+20|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){lf(e);Em(e)}if((b[g+11>>0]|0)<0)Em(f[g>>2]|0);Em(d)}while((c|0)!=0);h=a+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)Em(c);c=f[a+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}if((b[h+11>>0]|0)<0)Em(f[h>>2]|0);Em(g)}while((c|0)!=0);c=f[a>>2]|0;f[a>>2]=0;if(!c)return;Em(c);return}function mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;Wd(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;Wd(a+12|0,j,d);od(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,2668);fg(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);fg(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;h=k;i=k+8|0;p[h>>3]=0.0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=og(d)|0;if(g>>>0>4294967279)Wl(i);if(g>>>0<11){b[i+11>>0]=g;if(!g)a=i;else{a=i;j=6}}else{j=g+16&-16;a=Yi(j)|0;f[i>>2]=a;f[i+8>>2]=j|-2147483648;f[i+4>>2]=g;j=6}if((j|0)==6)Od(a|0,d|0,g|0)|0;b[a+g>>0]=0;oe(c,i,h)|0;e=+p[h>>3];if((b[i+11>>0]|0)>=0){u=k;return +e}Em(f[i>>2]|0);u=k;return +e}function of(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;f[g>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=og(d)|0;if(e>>>0>4294967279)Wl(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Yi(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)Od(a|0,d|0,e|0)|0;b[a+e>>0]=0;Tf(c,h,g)|0;a=f[g>>2]|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Em(f[h>>2]|0);u=j;return a|0}function pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;if((d|0)!=1){f[a>>2]=0;u=j;return}g=f[b+12>>2]|0;d=f[b+4>>2]|0;b=h;e=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(e|0));Qd(i,c,g,d,h);e=f[h+24>>2]|0;if(e|0){b=h+28|0;d=f[b>>2]|0;if((d|0)!=(e|0))f[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);Em(e)}f[a>>2]=f[i>>2];u=j;return}function qf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;g=j;h=j+8|0;p[g>>3]=0.0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=og(d)|0;if(e>>>0>4294967279)Wl(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Yi(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)Od(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=oe(c,h,g)|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Em(f[h>>2]|0);u=j;return a|0}function rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;f[g>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=og(d)|0;if(e>>>0>4294967279)Wl(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Yi(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)Od(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=Tf(c,h,g)|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Em(f[h>>2]|0);u=j;return a|0}function sf(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Em(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}Em(d);return}function tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=Ij(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do if(e<<24>>24<0)if(tf(a,c)|0){d=a;d=tj(f[d>>2]|0,f[d+4>>2]|0,7)|0;i=I;h=a;f[h>>2]=d;f[h+4>>2]=i;d=d|e&127;e=i;break}else{i=0;return i|0}else{d=e&255;e=0}while(0);i=a;f[i>>2]=d;f[i+4>>2]=e;i=1;return i|0}function uf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=3084;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=rm()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=be(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;sk(e,c,d)|0;b[j>>0]=0;tl(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;Se(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function wf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;if(!d){a=0;return a|0}e=f[c>>2]|0;if(!e){a=0;return a|0}g=f[e>>2]|0;Lf(d,g,(f[e+4>>2]|0)-g|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;e=c+40|0;d=f[e+4>>2]|0;g=a+40|0;f[g>>2]=f[e>>2];f[g+4>>2]=d;g=c+48|0;d=f[g+4>>2]|0;e=a+48|0;f[e>>2]=f[g>>2];f[e+4>>2]=d;f[a+56>>2]=f[c+56>>2];c=c+8|0;a=a+8|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];a=1;return a|0}function xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){Kf(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;rj(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;tl(e+i|0,k)}u=l;return a|0}function yf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2220;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=2600;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Em(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b);Em(a);return}function zf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=ci(a,Na[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=lh(f[c>>2]|0,a)|0;d=d+1|0;if(!(Na[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=Ib(a,b)|0;if(!b){c=0;return c|0}e=b+20|0;d=f[e>>2]|0;a=b+24|0;b=f[a>>2]|0;if((d|0)==(b|0)){c=0;return c|0}Yf(c,b-d|0,0);d=Lh(c,0)|0;c=f[e>>2]|0;Od(d|0,c|0,(f[a>>2]|0)-c|0)|0;c=1;return c|0}function Bf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(dl(a,f[c+8>>2]|0,g)|0)){if(dl(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else Ai(0,c,d,e);while(0);return}function Cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function Df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+16|0;e=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;c=f[c+4>>2]|0;if(c>>>0>4294967279)Wl(a);if(c>>>0<11)b[a+11>>0]=c;else{i=c+16&-16;h=Yi(i)|0;f[a>>2]=h;f[a+8>>2]=i|-2147483648;f[a+4>>2]=c;a=h}wk(a,d,c)|0;b[e>>0]=0;tl(a+c|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=g;return}function Ef(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(!a){d=1;return d|0}j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>h>>>0:0))){k=0;return k|0}k=b[(f[d>>2]|0)+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;j=i;f[j>>2]=h;f[j+4>>2]=I;switch(k<<24>>24){case 0:{k=Nb(a,c,d,e)|0;return k|0}case 1:{k=gc(a,d,e)|0;return k|0}default:{k=0;return k|0}}return 0}function Ff(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function Gf(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2220;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=2600;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Em(b);return}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;bd(g,c);e=a+4|0;i=f[g>>2]|0;f[g>>2]=0;d=f[e>>2]|0;f[e>>2]=i;if(d){Sf(d);Em(d);d=f[g>>2]|0;f[g>>2]=0;if(d|0){Sf(d);Em(d)}}else f[g>>2]=0;if(!(f[e>>2]|0)){i=0;u=h;return i|0}i=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[g>>0]=0;Wd(a+56|0,i,g);i=1;u=h;return i|0}function If(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1024;c=a+16|0;d=f[c>>2]|0;f[c>>2]=0;if(!d)return;c=d+88|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a)}a=f[d+68>>2]|0;if(a|0){c=d+72|0;b=f[c>>2]|0;if((b|0)!=(a|0))f[c>>2]=b+(~((b+-4-a|0)>>>2)<<2);Em(a)}c=d+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a)}Em(d);return}function Jf(a,b){a=a|0;b=b|0;if(!b)return;else{Jf(a,f[b>>2]|0);Jf(a,f[b+4>>2]|0);Pf(b+20|0,f[b+24>>2]|0);Em(b);return}}function Kf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)Wl(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=Yi(k)|0;if(g|0)wk(j,l,g)|0;d=e-h-g|0;if(d|0)wk(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)Em(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function Lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){_e(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else zd(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Ij(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=Yi(32)|0,gj(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}e=Uh(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Xi(e|0,d|0,c|0,0)|0;if(!(Lf(i,0,g,I)|0)){i=0;return i|0}Jg(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+20|0;j=h+16|0;g=h;e=b[a+24>>0]|0;f[g>>2]=f[674];f[g+4>>2]=f[675];f[g+8>>2]=f[676];f[g+12>>2]=f[677];f[j>>2]=c;f[i>>2]=f[j>>2];if(!($a(a,i,e,g)|0)){j=0;u=h;return j|0}id(d,g,g+(e<<24>>24<<2)|0);j=1;u=h;return j|0}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;g=e>>>0>1073741823?-1:e<<2;h=Bm(g)|0;Cf(h|0,0,g|0)|0;g=a+8|0;Ie(g,h,b,c);if((e|0)>=(d|0)){Cm(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;Ie(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Cm(h);return 1}function Pf(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Pf(a,f[c>>2]|0);Pf(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)Em(f[d>>2]|0);if((b[a+11>>0]|0)<0)Em(f[a>>2]|0);Em(c);return}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(dl(a,b,0)|0))if((b|0)!=0?(e=fe(b,800,784,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Ua[f[(f[e>>2]|0)+28>>2]&7](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function Rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+32|0;g=h+8|0;e=h;if((d|0)==3){i=f[b+12>>2]|0;d=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Zd(e,c,i,d,g);f[a>>2]=f[e>>2];u=h;return}else{f[a>>2]=0;u=h;return}}function Sf(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function Tf(a,c,d){a=a|0;c=c|0;d=d|0;a=Ib(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=4){d=0;return d|0}a=c;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;d=1;return d|0}function Uf(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function Vf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=c+8|0;i=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){i=0;return i|0}h=b[(f[c>>2]|0)+e>>0]|0;i=Ij(e|0,d|0,1,0)|0;d=g;f[d>>2]=i;f[d+4>>2]=I;d=h&255;do if(d&128)if(Vf(a,c)|0){d=f[a>>2]<<7;f[a>>2]=d;d=d|h&127;break}else{i=0;return i|0}while(0);f[a>>2]=d;i=1;return i|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+4>>2]|0;if(!d){e=0;return e|0}if((c|0)<=-1)ra(12658,12674,59,12771);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))ra(12781,12674,60,12771);e=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;a=f[d+40>>2]|0;b=f[d+44>>2]|0;if((a|0)==(b|0)){e=0;return e|0}else c=a;while(1){a=f[c>>2]|0;c=c+4|0;if((f[a+40>>2]|0)==(e|0)){c=9;break}if((c|0)==(b|0)){a=0;c=9;break}}if((c|0)==9)return a|0;return 0}function Xf(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}Em(a);return}function Yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;tl(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;tl(a+c|0,h);b[g>>0]=c;break}else xf(a,c-e|0,d)|0;while(0);u=j;return}function Zf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;i=j+4|0;f[h>>2]=c;c=Yi(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=24;d=c;e=10797;g=d+24|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+24>>0]=0;cg(Pb(a,h)|0,i,1);if((b[i+11>>0]|0)>=0){u=j;return}Em(f[i>>2]|0);u=j;return}function _f(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0)Em(b);b=f[a>>2]|0;if(!b)return;Em(b);return}function $f(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2600;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Em(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b);Em(a);return}function ag(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(wh(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Oa[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function bg(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2600;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Em(b);return}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;nh(e,d&1);a=Pe(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}re(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function dg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(Km(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=ag(c,a)|0;Jm(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=ag(c,a)|0}while(0);return d|0}function eg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1612;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c){Em(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);Em(a);return}function fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}j=(f[d>>2]|0)-c|0;h=j>>2;i=Yi(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Od(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;Em(c);return}function gg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1360;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c){Em(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);Em(a);return}function hg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+16|0;e=g;d=Yi(32)|0;f[e>>2]=d;f[e+8>>2]=-2147483616;f[e+4>>2]=26;c=d;h=10749;i=c+26|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[d+26>>0]=0;f[a>>2]=-1;Df(a+4|0,e);if((b[e+11>>0]|0)>=0){u=g;return}Em(f[e>>2]|0);u=g;return}function ig(a){a=a|0;var b=0,c=0;f[a>>2]=1612;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function jg(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Yl(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function kg(a){a=a|0;var b=0,c=0;f[a>>2]=1360;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function lg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2280;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));zi(b);return}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)Wl(a);g=Yi(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Od(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function ng(a,c,d){a=a|0;c=c|0;d=d|0;c=Nd(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=jg(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function og(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Oa[f[(f[g>>2]|0)+20>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function qg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2332;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2356;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Ld(a+40|0,b);a=1;return a|0}return 0}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Oa[f[(f[g>>2]|0)+16>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function tg(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=zj(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+tg(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function ug(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}if(!(f[a+36>>2]|0)){a=0;return a|0}a=(f[a+72>>2]|0)!=-1;return a|0}function vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2424;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2404;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function wg(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)Em(f[c>>2]|0);Jf(a+12|0,f[a+16>>2]|0);Pf(a,f[a+4>>2]|0);Em(a);return}function xg(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[13536+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=13624;e=5;break}}if((e|0)==2)if(!d)d=13624;else{a=13624;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return bm(d,f[c+20>>2]|0)|0}function yg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2332;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2356;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b)return;Em(b);return}function zg(a){a=a|0;if(!(f[a+64>>2]|0)){a=0;return a|0}if(!(f[a+68>>2]|0)){a=0;return a|0}if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}if(!(f[a+56>>2]|0)){a=0;return a|0}a=(f[a+92>>2]|0)!=-1;return a|0}function Ag(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2424;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2404;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b)return;Em(b);return}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Yi(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=ge(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;Sf(a);Em(a);return}function Cg(a,b,c){a=a|0;b=b|0;c=c|0;switch(c<<24>>24){case 0:{c=Yi(20)|0;Mj(c);break}case 1:{c=Yi(24)|0;kk(c);break}case 2:{c=Yi(36)|0;cj(c);break}case 3:{c=Yi(28)|0;dk(c);break}default:c=0}f[a>>2]=c;return}function Dg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=hk(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return hk((_b(h,g,hk(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function Eg(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Pg(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Oi(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=il(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function Gg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2652;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+84>>2]|0;if(!b){Ed(a);Em(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Ed(a);Em(a);return}function Hg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Bb(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){hi(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function Jg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)ra(12835,12860,63,12943);d=f[a+96>>2]|0;if((((f[a+100>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;jd(c,a,a+12|0);return 1}else ra(12948,12860,64,12943);return 0}function Lg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;hg(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Wh(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Em(f[c>>2]|0);u=e;return d|0}function Mg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2652;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+84>>2]|0;if(!b){Ed(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Ed(a);return}function Ng(a,b,c){a=a|0;b=b|0;c=c|0;if(!(ij(a,b,c)|0)){c=0;return c|0}b=f[b+4>>2]|0;if((c|0)<=-1)ra(12658,12674,67,12771);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))ra(12781,12674,68,12771);c=(f[(f[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Oc(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Wh(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Em(f[c>>2]|0);u=e;return d|0}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else _e(a,b-g|0);a=a+24|0;h=a;h=Ij(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Qg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1668;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1192;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Rg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0;e=h[a+12>>0]|0;g=a+8|0;b=f[g>>2]|0;if(b>>>0<4096?(d=a+4|0,c=f[d>>2]|0,(c|0)>0):0){i=f[a>>2]|0;a=c+-1|0;f[d>>2]=a;b=h[i+a>>0]|0|b<<8;f[g>>2]=b}d=b&255;a=0-e&255;e=X(b>>>8,a)|0;i=d>>>0>>0;f[g>>2]=i?e+d|0:b-a-e|0;return i|0}function Sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;if(c?!(tf(d,a)|0):0){a=0;return a|0}b[a+36>>0]=1;d=a+16|0;e=f[d>>2]|0;c=(f[a>>2]|0)+e|0;g=a+8|0;d=hk(f[g>>2]|0,f[g+4>>2]|0,e|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=c;f[a+28>>2]=c+d;a=1;return a|0}function Tg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1416;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1192;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0;d=Yi(40)|0;f[d>>2]=-1;gj(d+8|0);Sa[f[(f[a>>2]|0)+16>>2]&7](a,d);c=b+88|0;b=f[c>>2]|0;f[c>>2]=d;if(!b)return 1;a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b);return 1}function Vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=968;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+4>>2]|0;if(!b){Em(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|b|0)<0){a=0;return a|0}d=b*3|0;if((b|0)>715827882){a=0;return a|0}od(a,d,2640);od(a+12|0,d,2636);fg(a+24|0,c);a=1;return a|0}function Xg(a){a=a|0;var b=0,c=0,d=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=f[b>>2]|0;b=b+4|0;if(!(Na[f[(f[d>>2]|0)+16>>2]&127](d,f[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 Yg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(dl(a,f[b+8>>2]|0,g)|0)Ff(0,b,c,d,e);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Zg(a){a=a|0;var b=0,c=0;f[a>>2]=1668;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function _g(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1724;Jm(a+108|0);f[a>>2]=1192;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function $g(a){a=a|0;var b=0,c=0;f[a>>2]=2092;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Cm(b);f[a>>2]=1132;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){If(a);Em(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);If(a);Em(a);return}function ah(a,b){a=a|0;b=b|0;if(!(He(a+8|0,b)|0)){a=0;return a|0}a=ed(a+88|0,b)|0;return a|0}function bh(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;Yf(a,c,0);return}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;e=a;if((c|0)==(a|0)){b=0;return b|0}d=c-a>>2;c=0;while(1){a=f[e+(c<<2)>>2]|0;if((f[a+60>>2]|0)==(b|0)){c=5;break}c=c+1|0;if(c>>>0>=d>>>0){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function dh(a){a=a|0;var b=0,c=0;f[a>>2]=1416;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function eh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1472;Jm(a+108|0);f[a>>2]=1192;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function fh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=968;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function gh(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Cf(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Qk(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Qk(a,f,e)}u=g;return}function hh(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;d=a;if((c|0)==(a|0)){b=-1;return b|0}c=c-a>>2;a=0;while(1){if((f[(f[d+(a<<2)>>2]|0)+60>>2]|0)==(b|0)){c=5;break}a=a+1|0;if(a>>>0>=c>>>0){a=-1;c=5;break}}if((c|0)==5)return a|0;return 0}function ih(a){a=a|0;var b=0,c=0;f[a>>2]=2092;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Cm(b);f[a>>2]=1132;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){If(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);If(a);return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)ra(12658,12674,67,12771);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else ra(12781,12674,68,12771);return 0}function kh(a){a=a|0;var b=0,c=0;f[a>>2]=1724;Jm(a+108|0);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function lh(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(dl(a,f[b+8>>2]|0,0)|0)Hg(0,b,c,d);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+28>>2]&7](a,b,c,d)}return}function nh(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;bh(d);ef(a,d,b);ok(d);u=c;return}function oh(a){a=a|0;var b=0,c=0;f[a>>2]=1472;Jm(a+108|0);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((vk(Aa(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function qh(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function rh(a,b){a=a|0;b=b|0;var c=0;Hi(a);f[a>>2]=1072;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function th(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Mf(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){a=0;return a|0}a=Oa[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return a|0}function uh(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=Ud(f[(f[a+36>>2]|0)+(c<<2)>>2]|0)|0;return a|0}function vh(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function wh(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function xh(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function yh(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){xb(a,b,c);return}else{Fb(a,0,0);return}}function Ah(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;id(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Bh(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;za(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;za(12);return -1}return b|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function Dh(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function Eh(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Fh(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Gh(a,c){a=a|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;e=d;kf(e,c);a=f[e+16>>2]|0;c=e+4|0;if((b[c+11>>0]|0)>=0){u=d;return a|0}Em(f[c>>2]|0);u=d;return a|0}function Hh(a,b){a=a|0;b=b|0;if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function Ih(a,c,d){a=a|0;c=c|0;d=d|0;if(!(ij(a,c,d)|0)){a=0;return a|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){a=0;return a|0}a=(f[d+28>>2]|0)==9;return a|0}function Jh(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Kh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(dl(a,f[b+8>>2]|0,g)|0)Ff(0,b,c,d,e);return}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)d=f[a+4>>2]|0;else d=d&255;if(d>>>0<=c>>>0)Wl(a);if(e)a=f[a>>2]|0;return a+c|0}function Mh(a){a=a|0;var b=0,c=0;f[a>>2]=1132;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){If(a);Em(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);If(a);Em(a);return}function Nh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1192;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Oh(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;return Mb(a,b,c)|0}function Qh(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Wd(a+20|0,e,d);u=c;return}function Rh(a,c){a=a|0;c=c|0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;c=1}else c=0;return c|0}function Sh(){var a=0,b=0;a=Yi(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Th(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Wd(a+20|0,e,d);u=c;return}function Uh(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 Vh(a){a=a|0;f[a>>2]=2380;df(a+8|0);Em(a);return}function Wh(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;vf(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Yh(a){a=a|0;var c=0,d=0;b[a+36>>0]=0;d=Ij(f[a+32>>2]|0,0,7,0)|0;d=zj(d|0,I|0,3)|0;a=a+16|0;c=a;c=Ij(d|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;f[a>>2]=c;f[a+4>>2]=I;return}function Zh(a){a=a|0;var b=0,c=0;f[a>>2]=1132;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){If(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);If(a);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;ra(4599,4605,76,4758);return 0}function $h(a,b){a=a|0;b=b|0;var c=0,d=0;d=og(b)|0;c=Yi(d+13|0)|0;f[c>>2]=d;f[c+4>>2]=d;f[c+8>>2]=0;c=zl(c)|0;Od(c|0,b|0,d+1|0)|0;f[a>>2]=c;return}function ai(a){a=a|0;f[a>>2]=2380;df(a+8|0);return}function bi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Hb(a,b,c,d,e);return}function ci(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function di(a){a=a|0;var b=0,c=0;f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function ei(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(dl(a,f[b+8>>2]|0,0)|0)Hg(0,b,c,d);return}function fi(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function gi(a){a=a|0;var b=0;f[a>>2]=2600;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function hi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Od(a,c,d)|0;return a|0}function ii(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function ji(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=940;b=f[a+8>>2]|0;if(!b){Em(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function ki(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)ra(12658,12674,59,12771);c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)>(b|0))return f[c+(b<<2)>>2]|0;else ra(12781,12674,60,12771);return 0}function li(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function mi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[13518+(a&15)>>0]|0|e;a=zj(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Oa[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function oi(){var a=0,b=0;b=Vi()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)zk(f[a+12>>2]|0);zk(Nl()|0)}function pi(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function qi(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}Em(a);return}function ri(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function si(a){a=a|0;var b=0,c=0;if(im(a)|0?(b=Fl(f[a>>2]|0)|0,c=b+8|0,a=f[c>>2]|0,f[c>>2]=a+-1,(a+-1|0)<0):0)Em(b);return}function ti(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function ui(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function vi(a,b){a=a|0;b=b|0;return Na[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0}function wi(a){a=a|0;var b=0,c=0;f[a>>2]=940;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function xi(a,b){a=a|0;b=b|0;return He(a+8|0,b)|0}function yi(a,b,c){a=a|0;b=b|0;c=c|0;ob(a,b,c);return}function zi(a){a=a|0;ui(a);ui(a+40|0);cm(a+80|0);ui(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Ai(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function Bi(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(9504,5065,61,9515);return 0}function Ci(a){a=a|0;var b=0;f[a>>2]=2356;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function Di(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=zj(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Ei(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(9504,9099,65,9515);return 0}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Od(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Gi(){var a=0,b=0;a=Yi(24)|0;f[a>>2]=940;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Hi(a){a=a|0;f[a>>2]=968;a=a+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Ii(a){a=a|0;var c=0;Eh(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Ji(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a);return}function Ki(a){a=a|0;var b=0;f[a>>2]=2404;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function Li(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Mi(a,b,c){a=a|0;b=$(b);c=c|0;var d=Ka;if((c|0)<1){a=0;return a|0}d=$($(1.0)/$(c|0));n[a+4>>2]=d;n[a>>2]=b;a=1;return a|0}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;return _c(a,b,c)|0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;_b(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Pi(a){a=a|0;f[a>>2]=1924;Jm(a+88|0);Em(a);return}function Qi(a){a=a|0;var b=0;f[a>>2]=2356;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b)return;Em(b);return}function Ri(a){a=a|0;jl(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Si(a){a=a|0;Dj(a);f[a>>2]=2652;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Ti(a){a=a|0;f[a>>2]=2008;Jm(a+88|0);Em(a);return}function Ui(a){a=a|0;f[a>>2]=1924;Jm(a+88|0);return}function Vi(){var a=0,b=0;a=u;u=u+16|0;if(!(Ha(16568,3)|0)){b=Fa(f[4143]|0)|0;u=a;return b|0}else xj(15706,a);return 0}function Wi(a){a=a|0;var b=0;f[a>>2]=2404;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b)return;Em(b);return}function Xi(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=Xh(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function Yi(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0)break;a=Hl()|0;if(!a){a=0;break}Qa[a&3]()}return a|0}function Zi(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Hm(f[a+60>>2]|0)|0;f[c>>2]=a;a=vk(Ca(6,c|0)|0)|0;u=b;return a|0}function _i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Mc(b,c,d)|0}function $i(a){a=a|0;var b=0;b=u;u=u+16|0;sb(a);if(!(Ia(f[4143]|0,0)|0)){u=b;return}else xj(15805,b)}function aj(a){a=a|0;f[a>>2]=2008;Jm(a+88|0);return}function bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _c(b,c,d)|0}function cj(a){a=a|0;kk(a);f[a>>2]=2092;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ni(b,c,d)|0}function ej(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=uf(a,b,c,g)|0;u=e;return d|0}function gj(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function hj(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return jh(a,b,c)|0}function jj(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 Pa[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function kj(a,b,c){a=a|0;b=b|0;c=c|0;return ci(b,c)|0}function lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ud(b,c,d)|0}function mj(){var a=0;a=u;u=u+16|0;if(!(Ga(16572,83)|0)){u=a;return}else xj(15755,a)}function nj(a){a=a|0;vc(a);Em(a);return}function oj(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 pj(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Ma[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Nf(b,c,d)|0}function rj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Cf(a|0,(dm(c)|0)&255|0,b|0)|0;return a|0}function sj(a){a=a|0;return 4}function tj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Na[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function vj(a){a=a|0;var c=0;if(!a)return;c=a+4|0;if((b[c+11>>0]|0)<0)Em(f[c>>2]|0);Em(a);return}function wj(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Na[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function xj(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[678]|0;be(b,a,c)|0;dg(10,b)|0;Da()}function yj(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Na[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;return Lg(a,b,c)|0}function Bj(a){a=a|0;mc(a);Em(a);return}function Cj(a){a=a|0;return 5}function Dj(a){a=a|0;var b=0;f[a>>2]=2680;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Ej(a){a=a|0;return 6}function Fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kg(b,c,d)|0}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Hj(){}function Ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Jj(a,b){a=a|0;b=b|0;if(!b)b=0;else b=se(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Kj(a,b,c){a=a|0;b=b|0;c=c|0;return kj(a,b,c)|0}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;return ld(b,c)|0}function Mj(a){a=a|0;f[a>>2]=1024;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Nj(a,b){a=a|0;b=b|0;Zf(a,b);return}function Oj(a){a=a|0;a=a+4|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function Pj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va[a&3](b|0,c|0,d|0,e|0,f|0)}function Qj(a,b,c){a=a|0;b=b|0;c=c|0;return Og(a,b,c)|0}function Rj(a,b,c){a=a|0;b=b|0;c=c|0;return bf(a,b,c)|0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;return qf(a,b,c)|0}function Tj(a,b,c){a=a|0;b=b|0;c=c|0;return Qe(a,b,c)|0}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;return +(+nf(a,b,c))}function Vj(a){a=a|0;a=f[a+48>>2]|0;return Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Wj(a,b){a=a|0;b=b|0;return Na[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Xj(a,b){a=a|0;b=b|0;return Na[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function Yj(a){a=a|0;a=f[a+48>>2]|0;return Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;return Wf(a,b,c)|0}function _j(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function $j(a,b,c){a=a|0;b=b|0;c=c|0;return qk(b,c)|0}function ak(a){a=a|0;a=f[a+48>>2]|0;return Ma[f[(f[a>>2]|0)+36>>2]&127](a)|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;return rf(a,b,c)|0}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return of(a,b,c)|0}function dk(a){a=a|0;kk(a);f[a>>2]=1808;f[a+24>>2]=-1;return}function ek(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function fk(a,b,c){a=a|0;b=b|0;c=c|0;return ue(b,c)|0}function gk(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function hk(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 (I=d,a-c>>>0|0)|0}function ik(){var a=0;a=Yi(40)|0;f[a>>2]=-1;gj(a+8|0);return a|0}function jk(){var a=0;a=Yi(8)|0;f[a>>2]=912;f[a+4>>2]=-1;return a|0}function kk(a){a=a|0;Mj(a);f[a>>2]=1132;f[a+20>>2]=0;return}function lk(a,b){a=a|0;b=b|0;Nj(a,b);return}function mk(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function nk(a,b){a=a|0;b=b|0;return Gh(a,b)|0}function ok(a){a=a|0;if((b[a+11>>0]|0)<0)Em(f[a>>2]|0);return}function pk(a){a=a|0;if(!a)return;Ra[f[(f[a>>2]|0)+4>>2]&127](a);return}function qk(a,b){a=a|0;b=b|0;return ch(a,b)|0}function rk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ua[a&7](b|0,c|0,d|0,e|0)}function sk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)hi(a|0,b|0,c|0)|0;return a|0}function tk(a){a=a|0;var b=0;b=a+60|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function uk(a,b,c){a=a|0;b=b|0;c=c|0;return ki(b,c)|0}function vk(a){a=a|0;var b=0;if(a>>>0>4294963200){b=rm()|0;f[b>>2]=0-a;a=-1}return a|0}function wk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Od(a|0,b|0,c|0)|0;return a|0}function xk(a,b){a=a|0;b=b|0;return -1}function yk(a){a=a|0;return 3}function zk(a){a=a|0;var b=0;b=u;u=u+16|0;Qa[a&3]();xj(15858,b)}function Ak(a){a=a|0;if(!a)a=0;else a=(fe(a,800,888,0)|0)!=0;return a&1|0}function Bk(a){a=a|0;Be(a);Em(a);return}function Ck(a){a=a|0;Lk(a);f[a>>2]=2220;f[a+48>>2]=0;return}function Dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa[a&31](b|0,c|0,d|0)|0}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;ej(a,b,c);return}function Fk(a,b){a=a|0;b=b|0;f[a>>2]=3688;$h(a+4|0,b);return}function Gk(a){a=a|0;if(!a)return;Jm(a+24|0);Em(a);return}function Hk(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Ik(){var a=0;a=Yi(64)|0;Eh(a);return a|0}function Jk(a,b){a=a|0;b=b|0;return $(Pk(a,b))}function Kk(a){a=a|0;return f[a+8>>2]|0}function Lk(a){a=a|0;gi(a);f[a>>2]=2160;f[a+44>>2]=0;return}function Mk(a){a=a|0;if(!a)return;lf(a);Em(a);return}function Nk(a,b){a=a|0;b=b|0;return ul(a,b)|0}function Ok(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Pk(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Te(b,c,a)|0;return}function Rk(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&7](b|0,c|0,d|0)}function Tk(){var a=0;a=Yi(96)|0;Ii(a);return a|0}function Uk(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Vk(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Wk(a,b){a=a|0;b=b|0;if(!a)a=0;else a=ff(a,b,0)|0;return a|0}function Xk(a){a=a|0;var b=0;b=(Am()|0)+188|0;return xg(a,f[b>>2]|0)|0}function Yk(){var a=0;a=Yi(12)|0;ll(a);return a|0}function Zk(){var a=0;a=Yi(40)|0;ui(a);return a|0}function _k(a,b){a=a|0;b=b|0;return 1}function $k(a,b){a=a|0;b=b|0;return gl(a,b)|0}function al(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function bl(a){a=a|0;If(a);Em(a);return}function cl(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function dl(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function el(a,b){a=a|0;b=b|0;var c=0;c=ql(a|0)|0;return ((b|0)==0?a:c)|0}function fl(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function gl(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function hl(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _b(a,b,c,d,0)|0}function jl(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function kl(){var a=0;a=Yi(84)|0;Dj(a);return a|0}function ll(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function ml(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function nl(a){a=a|0;f[a>>2]=3688;si(a+4|0);return}function ol(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a&127](b|0,c|0)|0}function pl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function ql(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function rl(a){a=a|0;Lk(a);f[a>>2]=2516;return}function sl(){var a=0;a=Yi(1)|0;Jm(a);return a|0}function tl(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function ul(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function vl(a){a=a|0;return $(n[a+20>>2])}function wl(a){a=a|0;return f[a+4>>2]|0}function xl(a){a=a|0;if(!a)return;Em(a);return}function yl(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function zl(a){a=a|0;return a+12|0}function Al(a){a=a|0;return f[a+88>>2]|0}function Bl(a,b,c){a=a|0;b=b|0;c=c|0;Sa[a&7](b|0,c|0)}function Cl(){var a=0;a=Yi(40)|0;Ri(a);return a|0}function Dl(){var a=0;a=Yi(108)|0;Si(a);return a|0}function El(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function Fl(a){a=a|0;return a+-12|0}function Gl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function Hl(){var a=0;a=f[4144]|0;f[4144]=a+0;return a|0}function Il(a){a=a|0;return gm(a+4|0)|0}function Jl(a){a=a|0;return f[a+56>>2]|0}function Kl(a){a=a|0;Ed(a);Em(a);return}function Ll(a){a=a|0;Jm(a);Em(a);return}function Ml(a){a=a|0;return b[a+24>>0]|0}function Nl(){var a=0;a=f[898]|0;f[898]=a+0;return a|0}function Ol(a,b){a=a|0;b=b|0;return 0}function Pl(a){a=a|0;return f[a+40>>2]|0}function Ql(a){a=a|0;return f[a+48>>2]|0}function Rl(a,b){a=a|0;b=b|0;return Ma[a&127](b|0)|0}function Sl(a){a=a|0;return f[a+60>>2]|0}function Tl(a){a=a|0;return f[a+28>>2]|0}function Ul(a){a=a|0;ta(a|0)|0;oi()}function Vl(a){a=a|0;nl(a);Em(a);return}function Wl(a){a=a|0;Da()}function Xl(a,b){a=a|0;b=b|0;u=a;v=b}function Yl(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Zl(a){a=a|0;return (f[a>>2]|0)==0|0}function _l(a){a=a|0;return f[a+80>>2]|0}function $l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function am(a,b){a=a|0;b=b|0;Ra[a&127](b|0)}function bm(a,b){a=a|0;b=b|0;return Jj(a,b)|0}function cm(a){a=a|0;b[a+12>>0]=0;return}function dm(a){a=a|0;return a&255|0}function em(a){a=a|0;f[a>>2]=0;return}function fm(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function gm(a){a=a|0;return f[a>>2]|0}function hm(a){a=a|0;return 2}function im(a){a=a|0;return 1}function jm(a,b){a=+a;b=b|0;return +(+tg(a,b))}function km(){return 3}function lm(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function mm(){return -4}function nm(){return 4}function om(){return -3}function pm(){return 1}function qm(){return 2}function rm(){return (Am()|0)+64|0}function sm(){return -5}function tm(a,b){a=a|0;b=b|0;aa(1);return 0}function um(a){a=a|0;Qa[a&3]()}function vm(){return -2}function wm(){va()}function xm(){return -1}function ym(a,b){a=a|0;b=b|0;aa(6)}function zm(){return 0}function Am(){return Om()|0}function Bm(a){a=a|0;return Yi(a)|0}function Cm(a){a=a|0;Em(a);return}function Dm(a){a=a|0;u=a}function Em(a){a=a|0;sb(a);return}function Fm(a){a=a|0;I=a}function Gm(){return 16504}function Hm(a){a=a|0;return a|0}function Im(a){a=a|0;aa(0);return 0}function Jm(a){a=a|0;return}function Km(a){a=a|0;return 0}function Lm(){return I|0}function Mm(){return u|0}function Nm(a){a=a|0;aa(5)}function Om(){return 2840}function Pm(){aa(4)} +function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[4002]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=16048+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[4002]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[4004]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=16048+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[4007]|0;b=l>>>3;c=16048+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[4004]=g;f[4007]=e;w=h;u=x;return w|0}i=f[4003]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[16312+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=16312+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[4003]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[4007]|0;b=l>>>3;c=16048+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[4004]=j;f[4007]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[4003]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[16312+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[16312+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[4004]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=16312+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=16048+(b<<1<<2)|0;a=f[4002]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=16312+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[4004]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[4007]|0;if(a>>>0>15){w=b+m|0;f[4007]=w;f[4004]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[4004]=0;f[4007]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[4005]|0;if(h>>>0>m>>>0){t=h-m|0;f[4005]=t;w=f[4008]|0;v=w+m|0;f[4008]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[4120]|0)){f[4122]=4096;f[4121]=4096;f[4123]=-1;f[4124]=-1;f[4125]=0;f[4113]=0;a=n&-16^1431655768;f[n>>2]=a;f[4120]=a;a=4096}else a=f[4122]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[4112]|0;if(a|0?(l=f[4110]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[4113]&4)){c=f[4008]|0;c:do if(c){e=16456;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=Bh(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=Bh(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[4121]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[4110]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[4112]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=Bh(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[4122]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((Bh(a|0)|0)==(-1|0)){Bh(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[4113]=f[4113]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=Bh(k|0)|0,q=Bh(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[4110]|0)+g|0;f[4110]=b;if(b>>>0>(f[4111]|0)>>>0)f[4111]=b;j=f[4008]|0;do if(j){e=16456;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[4005]|0)+(g-w)|0;f[4008]=v;f[4005]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[4009]=f[4124];break}if(h>>>0<(f[4006]|0)>>>0)f[4006]=h;c=h+g|0;a=16456;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[4007]|0)){w=(f[4004]|0)+i|0;f[4004]=w;f[4007]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[4002]=f[4002]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=16312+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[4003]=f[4003]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=16048+(b<<1<<2)|0;a=f[4002]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=16312+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[4003]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[4005]|0)+i|0;f[4005]=w;f[4008]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=16456;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[4008]=v;f[4005]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[4009]=f[4124];c=a+4|0;f[c>>2]=27;f[b>>2]=f[4114];f[b+4>>2]=f[4115];f[b+8>>2]=f[4116];f[b+12>>2]=f[4117];f[4114]=h;f[4115]=g;f[4117]=0;f[4116]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=16048+(b<<1<<2)|0;a=f[4002]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=16312+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[4003]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[4006]|0;if((w|0)==0|h>>>0>>0)f[4006]=h;f[4114]=h;f[4115]=g;f[4117]=0;f[4011]=f[4120];f[4010]=-1;b=0;do{w=16048+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[4008]=v;f[4005]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[4009]=f[4124]}while(0);b=f[4005]|0;if(b>>>0>m>>>0){t=b-m|0;f[4005]=t;w=f[4008]|0;v=w+m|0;f[4008]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=rm()|0;f[w>>2]=12;w=0;u=x;return w|0}function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=u;u=u+80|0;Z=fa+56|0;ca=fa+40|0;da=fa+16|0;aa=fa+4|0;I=fa+36|0;U=fa;f[ca>>2]=0;ea=ca+4|0;f[ea>>2]=0;f[ca+8>>2]=0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;n[da+16>>2]=$(1.0);f[aa>>2]=0;ba=aa+4|0;f[ba>>2]=0;f[aa+8>>2]=0;J=(f[a+212>>2]|0)==(f[a+216>>2]|0);_=a+120|0;S=f[a+124>>2]|0;a:do if((c|0)>0){R=a+224|0;H=a+396|0;K=a+392|0;x=a+8|0;E=ca+8|0;Q=a+36|0;C=a+40|0;P=c+-1|0;A=a+420|0;B=a+408|0;D=da+4|0;z=a+380|0;F=aa+8|0;w=0;while(1){h=w+1|0;d=f[H>>2]|0;b:do if((d|0)==-1){f[K>>2]=7;T=92}else{t=(f[A>>2]|0)+(d<<2)|0;v=f[t>>2]|0;d=v+-1|0;f[t>>2]=d;if((v|0)<1){d=-1;T=172;break a}d=f[(f[(f[B>>2]|0)+((f[H>>2]|0)*12|0)>>2]|0)+(d<<2)>>2]|0;e=f[2488+(d<<2)>>2]|0;f[K>>2]=e;if(!d){d=f[ea>>2]|0;if((f[ca>>2]|0)==(d|0)){d=-1;T=172;break a}v=d+-4|0;o=f[v>>2]|0;t=f[x>>2]|0;m=(o|0)<0;e=o+1|0;if(!m?(M=((e|0)%3|0|0)==0?o+-2|0:e,(M|0)>=0):0)s=f[(f[t>>2]|0)+(M<<2)>>2]|0;else s=-1073741824;q=f[t+24>>2]|0;i=f[q+(s<<2)>>2]|0;e=i+1|0;r=q;if((i|0)>=0)i=((e|0)%3|0|0)==0?i+-2|0:e;p=w*3|0;j=p+1|0;k=f[t+12>>2]|0;f[k+(o<<2)>>2]=j;f[k+(j<<2)>>2]=o;l=p+2|0;f[k+(i<<2)>>2]=l;f[k+(l<<2)>>2]=i;k=f[t>>2]|0;f[k+(p<<2)>>2]=s;e=i+1|0;if((i|0)>=0?(N=((e|0)%3|0|0)==0?i+-2|0:e,(N|0)>=0):0)e=f[k+(N<<2)>>2]|0;else e=-1073741824;f[k+(j<<2)>>2]=e;if(!m?(L=(((o>>>0)%3|0|0)==0?2:-1)+o|0,(L|0)>=0):0){e=f[k+(L<<2)>>2]|0;f[k+(l<<2)>>2]=e;if((e|0)!=-1073741824){i=l;e=q+(e<<2)|0;T=22}}else{i=-1073741824;e=k+(l<<2)|0;T=22}if((T|0)==22){T=0;f[e>>2]=i}if(((f[t+28>>2]|0)-r>>2|0)>(S|0)){d=-1;T=172;break a}t=(f[_>>2]|0)+(s>>>5<<2)|0;f[t>>2]=f[t>>2]&~(1<<(s&31));f[v>>2]=p}else{i=(d|0)==3;switch(e|0){case 7:{T=92;break b}case 3:case 5:{d=f[ea>>2]|0;if((f[ca>>2]|0)==(d|0)){d=-1;T=172;break a}m=f[d+-4>>2]|0;p=w*3|0;l=i?p:p+2|0;o=(i&1)+p|0;j=(i?2:1)+p|0;v=f[x>>2]|0;i=f[v+12>>2]|0;f[i+(j<<2)>>2]=m;f[i+(m<<2)>>2]=j;i=v+24|0;e=v+28|0;d=f[e>>2]|0;if((d|0)==(f[v+32>>2]|0)){hf(i,2320);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}d=(d-(f[i>>2]|0)>>2)+-1|0;i=f[x>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=d;if((d|0)!=-1073741824)f[(f[i+24>>2]|0)+(d<<2)>>2]=j;if((m|0)>=0){d=(((m>>>0)%3|0|0)==0?2:-1)+m|0;if((d|0)>=0){d=f[k+(d<<2)>>2]|0;f[k+(l<<2)>>2]=d;if((d|0)!=-1073741824){e=l;d=(f[i+24>>2]|0)+(d<<2)|0;T=38}}else{e=-1073741824;d=k+(l<<2)|0;T=38}if((T|0)==38)f[d>>2]=e;d=m+1|0;d=((d|0)%3|0|0)==0?m+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[k+(d<<2)>>2]|0}else{f[k+(l<<2)>>2]=-1073741824;d=-1073741824}f[k+(o<<2)>>2]=d;T=f[ea>>2]|0;f[T+-4>>2]=p;f[I>>2]=f[T+-4>>2];f[Z>>2]=f[I>>2];ec(R,Z);T=110;break b}case 1:break;default:{d=-1;T=172;break a}}e=f[ca>>2]|0;d=f[ea>>2]|0;if((e|0)==(d|0)){d=-1;T=172;break a}o=d+-4|0;v=f[o>>2]|0;f[ea>>2]=o;l=f[D>>2]|0;c:do if(l){k=l+-1|0;j=(k&l|0)==0;if(!j)if(w>>>0>>0)m=w;else m=(w>>>0)%(l>>>0)|0;else m=k&w;i=f[(f[da>>2]|0)+(m<<2)>>2]|0;if((i|0)!=0?(G=f[i>>2]|0,(G|0)!=0):0){d:do if(j){i=G;while(1){t=f[i+4>>2]|0;j=(t|0)==(w|0);if(!(j|(t&k|0)==(m|0))){d=o;break c}if(j?(f[i+8>>2]|0)==(w|0):0)break d;i=f[i>>2]|0;if(!i){d=o;break c}}}else{i=G;while(1){j=f[i+4>>2]|0;if((j|0)==(w|0)){if((f[i+8>>2]|0)==(w|0))break d}else{if(j>>>0>=l>>>0)j=(j>>>0)%(l>>>0)|0;if((j|0)!=(m|0)){d=o;break c}}i=f[i>>2]|0;if(!i){d=o;break c}}}while(0);i=i+12|0;if((o|0)==(f[E>>2]|0)){hf(ca,i);e=f[ca>>2]|0;d=f[ea>>2]|0;break}else{f[o>>2]=f[i>>2];f[ea>>2]=d;break}}else d=o}else d=o;while(0);if((e|0)==(d|0)){d=-1;T=172;break a}i=f[d+-4>>2]|0;t=w*3|0;m=t+2|0;q=f[x>>2]|0;s=f[q+12>>2]|0;f[s+(i<<2)>>2]=m;f[s+(m<<2)>>2]=i;l=t+1|0;f[s+(v<<2)>>2]=l;f[s+(l<<2)>>2]=v;if((i|0)>=0){e=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((e|0)<0)k=-1073741824;else k=f[(f[q>>2]|0)+(e<<2)>>2]|0;j=f[q>>2]|0;f[j+(t<<2)>>2]=k;e=i+1|0;e=((e|0)%3|0|0)==0?i+-2|0:e;if((e|0)<0){o=j;p=q;e=-1073741824;r=k}else{o=j;p=q;e=f[j+(e<<2)>>2]|0;r=k}}else{o=f[q>>2]|0;f[o+(t<<2)>>2]=-1073741824;p=q;e=-1073741824;r=-1073741824}f[o+(l<<2)>>2]=e;if((v|0)>=0){e=(((v>>>0)%3|0|0)==0?2:-1)+v|0;if((e|0)>=0){e=f[o+(e<<2)>>2]|0;f[o+(m<<2)>>2]=e;if((e|0)!=-1073741824){i=m;e=(f[q+24>>2]|0)+(e<<2)|0;T=77}}else{i=-1073741824;e=o+(m<<2)|0;T=77}if((T|0)==77){T=0;f[e>>2]=i}i=v+1|0;i=((i|0)%3|0|0)==0?v+-2|0:i;if((i|0)<0){e=i;i=-1073741824}else{e=i;i=f[o+(i<<2)>>2]|0}}else{f[o+(m<<2)>>2]=-1073741824;e=v;i=-1073741824}f[Z>>2]=i;v=f[z>>2]|0;k=v+(r<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[v+(i<<2)>>2]|0);k=f[q+24>>2]|0;if((r|0)!=-1073741824)f[k+(r<<2)>>2]=f[k+(f[Z>>2]<<2)>>2];e:do if((e|0)>-1){j=f[p>>2]|0;do{f[j+(e<<2)>>2]=r;v=e+1|0;e=((v|0)%3|0|0)==0?e+-2|0:v;if((e|0)<0)break e;i=f[s+(e<<2)>>2]|0;e=i+1|0;if((i|0)<0)break e;e=((e|0)%3|0|0)==0?i+-2|0:e}while((e|0)>-1)}while(0);f[k+(f[Z>>2]<<2)>>2]=-1073741824;do if(J){e=f[ba>>2]|0;if((e|0)==(f[F>>2]|0)){hf(aa,Z);d=f[ea>>2]|0;break}else{f[e>>2]=f[Z>>2];f[ba>>2]=e+4;break}}while(0);f[d+-4>>2]=t}f[I>>2]=f[d+-4>>2];f[Z>>2]=f[I>>2];ec(R,Z)}while(0);if((T|0)==92){T=0;f[Z>>2]=w*3;v=f[x>>2]|0;i=v+24|0;e=v+28|0;d=f[e>>2]|0;if((d|0)==(f[v+32>>2]|0)){hf(i,2320);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}o=d-(f[i>>2]|0)>>2;m=o+-1|0;j=f[x>>2]|0;k=f[Z>>2]|0;d=f[j>>2]|0;f[d+(k<<2)>>2]=m;l=j+24|0;i=j+28|0;e=f[i>>2]|0;if((e|0)==(f[j+32>>2]|0)){hf(l,2320);e=f[i>>2]|0;d=f[j>>2]|0}else{f[e>>2]=-1073741824;e=e+4|0;f[i>>2]=e}f[d+(k+1<<2)>>2]=(e-(f[l>>2]|0)>>2)+-1;i=f[x>>2]|0;j=(f[Z>>2]|0)+2|0;k=i+24|0;e=i+28|0;d=f[e>>2]|0;if((d|0)==(f[i+32>>2]|0)){hf(k,2320);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}f[(f[i>>2]|0)+(j<<2)>>2]=(d-(f[k>>2]|0)>>2)+-1;if((m|0)!=-1073741824){e=f[(f[x>>2]|0)+24>>2]|0;f[e+(m<<2)>>2]=f[Z>>2];f[e+(o<<2)>>2]=(f[Z>>2]|0)+1;d=o+1|0;if((d|0)!=-1073741824)T=104}else{e=f[(f[x>>2]|0)+24>>2]|0;f[e+(o<<2)>>2]=(f[Z>>2]|0)+1;d=-1073741822;T=104}if((T|0)==104)f[e+(d<<2)>>2]=(f[Z>>2]|0)+2;d=f[ea>>2]|0;if((d|0)==(f[E>>2]|0)){hf(ca,Z);d=f[ea>>2]|0}else{f[d>>2]=f[Z>>2];d=d+4|0;f[ea>>2]=d}f[I>>2]=f[d+-4>>2];f[Z>>2]=f[I>>2];ec(R,Z);T=110}f:do if((T|0)==110?(T=0,O=c-w+-1|0,y=f[C>>2]|0,(y|0)!=(f[Q>>2]|0)):0){d=y;do{e=f[d+-8>>2]|0;if(e>>>0>O>>>0){d=-1;T=172;break a}if((e|0)!=(O|0))break f;e=b[d+-4>>0]|0;j=f[d+-12>>2]|0;f[C>>2]=d+-12;if((j|0)<0){d=-1;T=172;break a}d=f[(f[ea>>2]|0)+-4>>2]|0;i=(d|0)<0;do if(!(e&1)){if(!i)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{e=d+1|0;if(!i)d=((e|0)%3|0|0)==0?d+-2|0:e}while(0);f[Z>>2]=P-j;w=lc(da,Z)|0;f[w>>2]=d;d=f[C>>2]|0}while((d|0)!=(f[Q>>2]|0))}while(0);if((h|0)<(c|0))w=h;else{T=123;break}}}else{x=a+8|0;h=0;T=123}while(0);g:do if((T|0)==123){d=f[x>>2]|0;if(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2|0)<=(S|0)){e=f[ea>>2]|0;do if((e|0)!=(f[ca>>2]|0)){q=a+304|0;w=a+60|0;v=a+64|0;s=a+68|0;r=a+76|0;t=a+80|0;p=a+72|0;h:while(1){a=e;f[Z>>2]=f[a+-4>>2];f[ea>>2]=a+-4;do if(!(Rg(q)|0)){d=f[v>>2]|0;e=f[s>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){T=151;break h}a=e<<6;T=d+32&-32;Me(w,d>>>0<1073741823?(a>>>0>>0?T:a):2147483647);d=f[v>>2]|0}f[v>>2]=d+1;a=(f[w>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[r>>2]|0;if((d|0)==(f[t>>2]|0)){hf(p,Z);d=h;break}else{f[d>>2]=f[Z>>2];f[r>>2]=d+4;d=h;break}}else{k=f[x>>2]|0;a=f[k>>2]|0;o=a;if((h|0)>=(((f[k+4>>2]|0)-a>>2>>>0)/3|0|0)){T=157;break h}l=f[Z>>2]|0;d=l+1|0;if((l|0)>=0?(Y=((d|0)%3|0|0)==0?l+-2|0:d,(Y|0)>=0):0)m=f[o+(Y<<2)>>2]|0;else m=-1073741824;i=f[k+24>>2]|0;e=f[i+(m<<2)>>2]|0;d=e+1|0;if((e|0)>=0){e=((d|0)%3|0|0)==0?e+-2|0:d;d=e+1|0;if((e|0)>=0?(X=((d|0)%3|0|0)==0?e+-2|0:d,(X|0)>=0):0)j=f[o+(X<<2)>>2]|0;else j=-1073741824}else j=-1073741824;d=f[i+(j<<2)>>2]|0;i=d+1|0;if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;i=d+1|0;if((d|0)>=0?(W=((i|0)%3|0|0)==0?d+-2|0:i,(W|0)>=0):0)i=f[o+(W<<2)>>2]|0;else i=-1073741824}else i=-1073741824;T=h*3|0;f[U>>2]=T;a=f[k+12>>2]|0;f[a+(T<<2)>>2]=l;f[a+(l<<2)>>2]=T;T=(f[U>>2]|0)+1|0;f[a+(T<<2)>>2]=e;f[a+(e<<2)>>2]=T;T=(f[U>>2]|0)+2|0;f[a+(T<<2)>>2]=d;f[a+(d<<2)>>2]=T;a=f[U>>2]|0;d=o+(a<<2)|0;f[d>>2]=j;f[o+(a+1<<2)>>2]=i;f[o+(a+2<<2)>>2]=m;if((a|0)<0)d=-1073741824;else d=f[d>>2]|0;e=f[_>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[U>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[o+(d+1<<2)>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[U>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[o+(d+2<<2)>>2]|0;e=e+(d>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(d&31));h=h+1|0;d=f[v>>2]|0;e=f[s>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){T=141;break h}a=e<<6;T=d+32&-32;Me(w,d>>>0<1073741823?(a>>>0>>0?T:a):2147483647);d=f[v>>2]|0}f[v>>2]=d+1;a=(f[w>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(d&31);d=f[r>>2]|0;if((d|0)==(f[t>>2]|0))hf(p,U);else{f[d>>2]=f[U>>2];f[r>>2]=d+4}d=h}while(0);e=f[ea>>2]|0;if((e|0)==(f[ca>>2]|0)){T=158;break}else h=d}if((T|0)==141)Wl(w);else if((T|0)==151)Wl(w);else if((T|0)==157){d=-1;T=172;break g}else if((T|0)==158){g=f[x>>2]|0;V=d;break}}else{g=d;V=h}while(0);if((V|0)==(((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0|0)){d=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;e=f[aa>>2]|0;p=f[ba>>2]|0;if((e|0)==(p|0))g=d;else{m=Z+4|0;l=Z+8|0;o=Z+12|0;do{k=f[e>>2]|0;h=d+-1|0;i=f[g+24>>2]|0;if((f[i+(h<<2)>>2]|0)<0){h=d;while(1){d=h+-1|0;h=h+-2|0;if((f[i+(h<<2)>>2]|0)<0)h=d;else{j=h;break}}}else j=h;if((j|0)>=(k|0)){f[Z>>2]=g;h=f[i+(j<<2)>>2]|0;f[m>>2]=h;f[l>>2]=h;b[o>>0]=1;if((h|0)>=0)do{f[(f[g>>2]|0)+(h<<2)>>2]=k;Td(Z);h=f[l>>2]|0;g=f[x>>2]|0}while((h|0)>=0);h=f[g+24>>2]|0;if((k|0)==-1073741824)h=h+(j<<2)|0;else{Y=h+(j<<2)|0;f[h+(k<<2)>>2]=f[Y>>2];h=Y}f[h>>2]=-1073741824;W=f[_>>2]|0;Y=W+(j>>>5<<2)|0;X=1<<(j&31);W=W+(k>>>5<<2)|0;V=1<<(k&31);U=f[W>>2]|0;f[W>>2]=f[Y>>2]&X|0?U|V:U&~V;f[Y>>2]=f[Y>>2]&~X;d=d+-1|0}e=e+4|0}while((e|0)!=(p|0));T=172}}else{d=-1;T=172}}else{d=-1;T=172}}while(0);if((T|0)==172){e=f[aa>>2]|0;g=d}if(e|0){d=f[ba>>2]|0;if((d|0)!=(e|0))f[ba>>2]=d+(~((d+-4-e|0)>>>2)<<2);Em(e)}d=f[da+8>>2]|0;if(d|0)do{ba=d;d=f[d>>2]|0;Em(ba)}while((d|0)!=0);d=f[da>>2]|0;f[da>>2]=0;if(d|0)Em(d);d=f[ca>>2]|0;if(!d){u=fa;return g|0}e=f[ea>>2]|0;if((e|0)!=(d|0))f[ea>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d);u=fa;return g|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=u;u=u+80|0;ba=ea+56|0;ca=ea+36|0;_=ea+24|0;Z=ea+8|0;T=ea;f[ba>>2]=0;da=ba+4|0;f[da>>2]=0;f[ba+8>>2]=0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;f[ca+12>>2]=0;n[ca+16>>2]=$(1.0);f[_>>2]=0;aa=_+4|0;f[aa>>2]=0;f[_+8>>2]=0;K=(f[a+212>>2]|0)==(f[a+216>>2]|0);Y=a+120|0;Q=f[a+124>>2]|0;a:do if((c|0)>0){I=a+300|0;B=ca+4|0;y=a+8|0;C=_+8|0;D=ba+8|0;J=a+296|0;G=a+288|0;H=a+292|0;P=a+36|0;A=a+40|0;O=c+-1|0;z=0;b:while(1){i=z+1|0;c:do if(!(b[I>>0]|0))S=44;else{j=f[J>>2]|0;l=f[G>>2]|0;m=f[H>>2]|0;d=l+(j>>>3)|0;if(d>>>0>>0?(x=h[d>>0]|0,F=j+1|0,f[J>>2]=F,x&1<<(j&7)|0):0){d=l+(F>>>3)|0;if(d>>>0>>0){k=(h[d>>0]|0)>>>(F&7)&1;j=j+2|0;f[J>>2]=j}else{j=F;k=0}d=l+(j>>>3)|0;if(d>>>0>>0){d=(h[d>>0]|0)>>>(j&7);f[J>>2]=j+1;d=d<<1&2}else d=0;x=(d|k)<<1|1;j=(x|0)==5;switch(x&7){case 1:{S=44;break c}case 3:case 5:{d=f[da>>2]|0;if((f[ba>>2]|0)==(d|0)){d=-1;S=175;break a}p=f[d+-4>>2]|0;r=z*3|0;o=j?r:r+2|0;q=(j&1)+r|0;l=(j?2:1)+r|0;x=f[y>>2]|0;k=f[x+12>>2]|0;f[k+(l<<2)>>2]=p;f[k+(p<<2)>>2]=l;k=x+24|0;j=x+28|0;d=f[j>>2]|0;if((d|0)==(f[x+32>>2]|0)){hf(k,2320);d=f[j>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[j>>2]=d}d=(d-(f[k>>2]|0)>>2)+-1|0;k=f[y>>2]|0;m=f[k>>2]|0;f[m+(l<<2)>>2]=d;if((d|0)!=-1073741824)f[(f[k+24>>2]|0)+(d<<2)>>2]=l;if((p|0)>=0){d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)>=0){d=f[m+(d<<2)>>2]|0;f[m+(o<<2)>>2]=d;if((d|0)!=-1073741824){j=o;d=(f[k+24>>2]|0)+(d<<2)|0;S=40}}else{j=-1073741824;d=m+(o<<2)|0;S=40}if((S|0)==40){S=0;f[d>>2]=j}d=p+1|0;d=((d|0)%3|0|0)==0?p+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[m+(d<<2)>>2]|0}else{f[m+(o<<2)>>2]=-1073741824;d=-1073741824}f[m+(q<<2)>>2]=d;f[(f[da>>2]|0)+-4>>2]=r;break}case 7:{f[Z>>2]=z*3;x=f[y>>2]|0;k=x+24|0;j=x+28|0;d=f[j>>2]|0;if((d|0)==(f[x+32>>2]|0)){hf(k,2320);d=f[j>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[j>>2]=d}q=d-(f[k>>2]|0)>>2;p=q+-1|0;l=f[y>>2]|0;m=f[Z>>2]|0;d=f[l>>2]|0;f[d+(m<<2)>>2]=p;o=l+24|0;k=l+28|0;j=f[k>>2]|0;if((j|0)==(f[l+32>>2]|0)){hf(o,2320);j=f[k>>2]|0;d=f[l>>2]|0}else{f[j>>2]=-1073741824;j=j+4|0;f[k>>2]=j}f[d+(m+1<<2)>>2]=(j-(f[o>>2]|0)>>2)+-1;k=f[y>>2]|0;l=(f[Z>>2]|0)+2|0;m=k+24|0;j=k+28|0;d=f[j>>2]|0;if((d|0)==(f[k+32>>2]|0)){hf(m,2320);d=f[j>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[j>>2]=d}f[(f[k>>2]|0)+(l<<2)>>2]=(d-(f[m>>2]|0)>>2)+-1;if((p|0)!=-1073741824){j=f[(f[y>>2]|0)+24>>2]|0;f[j+(p<<2)>>2]=f[Z>>2];f[j+(q<<2)>>2]=(f[Z>>2]|0)+1;d=q+1|0;if((d|0)!=-1073741824)S=105}else{j=f[(f[y>>2]|0)+24>>2]|0;f[j+(q<<2)>>2]=(f[Z>>2]|0)+1;d=-1073741822;S=105}if((S|0)==105){S=0;f[j+(d<<2)>>2]=(f[Z>>2]|0)+2}d=f[da>>2]|0;if((d|0)==(f[D>>2]|0))hf(ba,Z);else{f[d>>2]=f[Z>>2];f[da>>2]=d+4}break}default:break b}m=c-z+-1|0;d=f[A>>2]|0;if((d|0)==(f[P>>2]|0))break;while(1){j=f[d+-8>>2]|0;if(j>>>0>m>>>0){d=-1;S=175;break a}if((j|0)!=(m|0))break c;j=b[d+-4>>0]|0;l=f[d+-12>>2]|0;f[A>>2]=d+-12;if((l|0)<0){d=-1;S=175;break a}d=f[(f[da>>2]|0)+-4>>2]|0;k=(d|0)<0;do if(!(j&1)){if(!k)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{j=d+1|0;if(!k)d=((j|0)%3|0|0)==0?d+-2|0:j}while(0);f[Z>>2]=O-l;z=lc(ca,Z)|0;f[z>>2]=d;d=f[A>>2]|0;if((d|0)==(f[P>>2]|0))break c}}d=f[da>>2]|0;if((f[ba>>2]|0)==(d|0)){d=-1;S=175;break a}w=d+-4|0;q=f[w>>2]|0;v=f[y>>2]|0;p=(q|0)<0;d=q+1|0;if(!p?(M=((d|0)%3|0|0)==0?q+-2|0:d,(M|0)>=0):0)t=f[(f[v>>2]|0)+(M<<2)>>2]|0;else t=-1073741824;r=f[v+24>>2]|0;j=f[r+(t<<2)>>2]|0;d=j+1|0;s=r;if((j|0)>=0)j=((d|0)%3|0|0)==0?j+-2|0:d;o=z*3|0;k=o+1|0;l=f[v+12>>2]|0;f[l+(q<<2)>>2]=k;f[l+(k<<2)>>2]=q;m=o+2|0;f[l+(j<<2)>>2]=m;f[l+(m<<2)>>2]=j;l=f[v>>2]|0;f[l+(o<<2)>>2]=t;d=j+1|0;if((j|0)>=0?(N=((d|0)%3|0|0)==0?j+-2|0:d,(N|0)>=0):0)d=f[l+(N<<2)>>2]|0;else d=-1073741824;f[l+(k<<2)>>2]=d;if(!p?(L=(((q>>>0)%3|0|0)==0?2:-1)+q|0,(L|0)>=0):0){d=f[l+(L<<2)>>2]|0;f[l+(m<<2)>>2]=d;if((d|0)!=-1073741824){j=m;d=r+(d<<2)|0;S=25}}else{j=-1073741824;d=l+(m<<2)|0;S=25}if((S|0)==25){S=0;f[d>>2]=j}if(((f[v+28>>2]|0)-s>>2|0)>(Q|0)){d=-1;S=175;break a}z=(f[Y>>2]|0)+(t>>>5<<2)|0;f[z>>2]=f[z>>2]&~(1<<(t&31));f[w>>2]=o}while(0);if((S|0)==44){S=0;j=f[ba>>2]|0;d=f[da>>2]|0;if((j|0)==(d|0)){d=-1;S=175;break a}q=d+-4|0;x=f[q>>2]|0;f[da>>2]=q;o=f[B>>2]|0;d:do if(o){m=o+-1|0;l=(m&o|0)==0;if(!l)if(z>>>0>>0)p=z;else p=(z>>>0)%(o>>>0)|0;else p=m&z;k=f[(f[ca>>2]|0)+(p<<2)>>2]|0;if((k|0)!=0?(E=f[k>>2]|0,(E|0)!=0):0){e:do if(l){k=E;while(1){w=f[k+4>>2]|0;l=(w|0)==(z|0);if(!(l|(w&m|0)==(p|0))){d=q;break d}if(l?(f[k+8>>2]|0)==(z|0):0)break e;k=f[k>>2]|0;if(!k){d=q;break d}}}else{k=E;while(1){l=f[k+4>>2]|0;if((l|0)==(z|0)){if((f[k+8>>2]|0)==(z|0))break e}else{if(l>>>0>=o>>>0)l=(l>>>0)%(o>>>0)|0;if((l|0)!=(p|0)){d=q;break d}}k=f[k>>2]|0;if(!k){d=q;break d}}}while(0);k=k+12|0;if((q|0)==(f[D>>2]|0)){hf(ba,k);j=f[ba>>2]|0;d=f[da>>2]|0;break}else{f[q>>2]=f[k>>2];f[da>>2]=d;break}}else d=q}else d=q;while(0);if((j|0)==(d|0)){d=-1;S=175;break a}k=f[d+-4>>2]|0;w=z*3|0;p=w+2|0;s=f[y>>2]|0;v=f[s+12>>2]|0;f[v+(k<<2)>>2]=p;f[v+(p<<2)>>2]=k;o=w+1|0;f[v+(x<<2)>>2]=o;f[v+(o<<2)>>2]=x;if((k|0)>=0){j=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((j|0)<0)m=-1073741824;else m=f[(f[s>>2]|0)+(j<<2)>>2]|0;l=f[s>>2]|0;f[l+(w<<2)>>2]=m;j=k+1|0;j=((j|0)%3|0|0)==0?k+-2|0:j;if((j|0)<0){q=l;r=s;j=-1073741824;t=m}else{q=l;r=s;j=f[l+(j<<2)>>2]|0;t=m}}else{q=f[s>>2]|0;f[q+(w<<2)>>2]=-1073741824;r=s;j=-1073741824;t=-1073741824}f[q+(o<<2)>>2]=j;if((x|0)>=0){j=(((x>>>0)%3|0|0)==0?2:-1)+x|0;if((j|0)>=0){j=f[q+(j<<2)>>2]|0;f[q+(p<<2)>>2]=j;if((j|0)!=-1073741824){k=p;j=(f[s+24>>2]|0)+(j<<2)|0;S=79}}else{k=-1073741824;j=q+(p<<2)|0;S=79}if((S|0)==79){S=0;f[j>>2]=k}k=x+1|0;k=((k|0)%3|0|0)==0?x+-2|0:k;if((k|0)<0){j=k;k=-1073741824}else{j=k;k=f[q+(k<<2)>>2]|0}}else{f[q+(p<<2)>>2]=-1073741824;j=x;k=-1073741824}f[Z>>2]=k;m=f[s+24>>2]|0;if((t|0)!=-1073741824)f[m+(t<<2)>>2]=f[m+(k<<2)>>2];f:do if((j|0)>-1){l=f[r>>2]|0;do{f[l+(j<<2)>>2]=t;z=j+1|0;j=((z|0)%3|0|0)==0?j+-2|0:z;if((j|0)<0)break f;k=f[v+(j<<2)>>2]|0;j=k+1|0;if((k|0)<0)break f;j=((j|0)%3|0|0)==0?k+-2|0:j}while((j|0)>-1)}while(0);f[m+(f[Z>>2]<<2)>>2]=-1073741824;do if(K){j=f[aa>>2]|0;if((j|0)==(f[C>>2]|0)){hf(_,Z);d=f[da>>2]|0;break}else{f[j>>2]=f[Z>>2];f[aa>>2]=j+4;break}}while(0);f[d+-4>>2]=w}if((i|0)<(c|0))z=i;else{S=125;break a}}}else{y=a+8|0;i=0;S=125}while(0);g:do if((S|0)==125){d=f[y>>2]|0;if(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2|0)<=(Q|0)){g=f[da>>2]|0;do if((g|0)!=(f[ba>>2]|0)){w=a+304|0;x=a+60|0;v=a+64|0;s=a+68|0;r=a+76|0;t=a+80|0;q=a+72|0;h:while(1){S=g;f[Z>>2]=f[S+-4>>2];f[da>>2]=S+-4;do if(!(Rg(w)|0)){d=f[v>>2]|0;g=f[s>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){S=153;break h}S=g<<6;a=d+32&-32;Me(x,d>>>0<1073741823?(S>>>0>>0?a:S):2147483647);d=f[v>>2]|0}f[v>>2]=d+1;S=(f[x>>2]|0)+(d>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(d&31));d=f[r>>2]|0;if((d|0)==(f[t>>2]|0)){hf(q,Z);d=i;break}else{f[d>>2]=f[Z>>2];f[r>>2]=d+4;d=i;break}}else{l=f[y>>2]|0;S=f[l>>2]|0;p=S;if((i|0)>=(((f[l+4>>2]|0)-S>>2>>>0)/3|0|0)){S=159;break h}m=f[Z>>2]|0;d=m+1|0;if((m|0)>=0?(X=((d|0)%3|0|0)==0?m+-2|0:d,(X|0)>=0):0)o=f[p+(X<<2)>>2]|0;else o=-1073741824;j=f[l+24>>2]|0;g=f[j+(o<<2)>>2]|0;d=g+1|0;if((g|0)>=0){g=((d|0)%3|0|0)==0?g+-2|0:d;d=g+1|0;if((g|0)>=0?(W=((d|0)%3|0|0)==0?g+-2|0:d,(W|0)>=0):0)k=f[p+(W<<2)>>2]|0;else k=-1073741824}else k=-1073741824;d=f[j+(k<<2)>>2]|0;j=d+1|0;if((d|0)>=0){d=((j|0)%3|0|0)==0?d+-2|0:j;j=d+1|0;if((d|0)>=0?(V=((j|0)%3|0|0)==0?d+-2|0:j,(V|0)>=0):0)j=f[p+(V<<2)>>2]|0;else j=-1073741824}else j=-1073741824;a=i*3|0;f[T>>2]=a;S=f[l+12>>2]|0;f[S+(a<<2)>>2]=m;f[S+(m<<2)>>2]=a;a=(f[T>>2]|0)+1|0;f[S+(a<<2)>>2]=g;f[S+(g<<2)>>2]=a;a=(f[T>>2]|0)+2|0;f[S+(a<<2)>>2]=d;f[S+(d<<2)>>2]=a;S=f[T>>2]|0;d=p+(S<<2)|0;f[d>>2]=k;f[p+(S+1<<2)>>2]=j;f[p+(S+2<<2)>>2]=o;if((S|0)<0)d=-1073741824;else d=f[d>>2]|0;g=f[Y>>2]|0;S=g+(d>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(d&31));d=f[T>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[p+(d+1<<2)>>2]|0;S=g+(d>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(d&31));d=f[T>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[p+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));i=i+1|0;d=f[v>>2]|0;g=f[s>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){S=143;break h}S=g<<6;a=d+32&-32;Me(x,d>>>0<1073741823?(S>>>0>>0?a:S):2147483647);d=f[v>>2]|0}f[v>>2]=d+1;S=(f[x>>2]|0)+(d>>>5<<2)|0;f[S>>2]=f[S>>2]|1<<(d&31);d=f[r>>2]|0;if((d|0)==(f[t>>2]|0))hf(q,T);else{f[d>>2]=f[T>>2];f[r>>2]=d+4}d=i}while(0);g=f[da>>2]|0;if((g|0)==(f[ba>>2]|0)){S=160;break}else i=d}if((S|0)==143)Wl(x);else if((S|0)==153)Wl(x);else if((S|0)==159){d=-1;S=175;break g}else if((S|0)==160){e=f[y>>2]|0;U=d;break}}else{e=d;U=i}while(0);if((U|0)==(((f[e+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0|0)){d=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;g=f[_>>2]|0;q=f[aa>>2]|0;if((g|0)==(q|0))R=d;else{o=Z+4|0;m=Z+8|0;p=Z+12|0;do{l=f[g>>2]|0;i=d+-1|0;j=f[e+24>>2]|0;if((f[j+(i<<2)>>2]|0)<0){i=d;while(1){d=i+-1|0;i=i+-2|0;if((f[j+(i<<2)>>2]|0)<0)i=d;else{k=i;break}}}else k=i;if((k|0)>=(l|0)){f[Z>>2]=e;i=f[j+(k<<2)>>2]|0;f[o>>2]=i;f[m>>2]=i;b[p>>0]=1;if((i|0)>=0)do{f[(f[e>>2]|0)+(i<<2)>>2]=l;Td(Z);i=f[m>>2]|0;e=f[y>>2]|0}while((i|0)>=0);i=f[e+24>>2]|0;if((l|0)==-1073741824)i=i+(k<<2)|0;else{X=i+(k<<2)|0;f[i+(l<<2)>>2]=f[X>>2];i=X}f[i>>2]=-1073741824;V=f[Y>>2]|0;X=V+(k>>>5<<2)|0;W=1<<(k&31);V=V+(l>>>5<<2)|0;U=1<<(l&31);T=f[V>>2]|0;f[V>>2]=f[X>>2]&W|0?T|U:T&~U;f[X>>2]=f[X>>2]&~W;d=d+-1|0}g=g+4|0}while((g|0)!=(q|0));S=175}}else{d=-1;S=175}}else{d=-1;S=175}}while(0);if((S|0)==175){g=f[_>>2]|0;R=d}if(g|0){d=f[aa>>2]|0;if((d|0)!=(g|0))f[aa>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(g)}d=f[ca+8>>2]|0;if(d|0)do{aa=d;d=f[d>>2]|0;Em(aa)}while((d|0)!=0);d=f[ca>>2]|0;f[ca>>2]=0;if(d|0)Em(d);d=f[ba>>2]|0;if(!d){u=ea;return R|0}e=f[da>>2]|0;if((e|0)!=(d|0))f[da>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d);u=ea;return R|0}function _a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(Ch(3400,3592,c,b)|0)-3400>>2;a=e;e=0;a:while(1){b=(f[3400+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[3208+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=Ch(3208,3400,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function $a(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=Ka;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=Xi(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=Ij(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=Xi(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=Ij(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function ab(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=u;u=u+64|0;U=V+16|0;I=V;H=a+8|0;f[H>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Ve(i,e-j|0);d=U;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[I>>2]=0;if(!e){d=0;g=0}else{ee(U,e,I);d=f[U+12>>2]|0;g=f[U+16>>2]|0}f[I>>2]=0;h=U+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else ee(U+12|0,e-i|0,I);i=U+24|0;f[I>>2]=0;h=U+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else ee(i,e-j|0,I);i=U+36|0;f[I>>2]=0;h=U+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else ee(i,e-j|0,I);h=f[U>>2]|0;if((f[H>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{G=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(G|0)?G:d}j=j+1|0;d=f[H>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;r=18}}else{d=d-(f[i>>2]|0)|0;r=18}if((r|0)==18){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}B=f[a+48>>2]|0;C=f[a+52>>2]|0;G=Yi(16)|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;f[I>>2]=0;F=I+4|0;f[F>>2]=0;f[I+8>>2]=0;do if(e)if(e>>>0>1073741823)Wl(I);else{E=e<<2;p=Yi(E)|0;f[I>>2]=p;o=p+(e<<2)|0;f[I+8>>2]=o;Cf(p|0,0,E|0)|0;f[F>>2]=o;o=p;break}else{o=0;p=0}while(0);D=a+56|0;d=f[D>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;A=g-h|0;E=A>>2;do if((A|0)>4){x=B+64|0;t=B+28|0;w=(e|0)>0;z=a+16|0;v=a+32|0;A=a+12|0;y=a+20|0;s=e<<2;if(g-h>>2>>>0>1){q=h;Q=1}else{r=d;Wl(r)}while(1){n=f[q+(Q<<2)>>2]|0;q=n+((n|0)<0?0:((n>>>0)%3|0|0)==0?2:-1)|0;p=q>>>5;r=1<<(q&31);o=(q|0)<0;g=n;m=1;d=0;a:while(1){do{if((g|0)<=-1){r=63;break a}h=f[U+(d*12|0)>>2]|0;if(((f[(f[B>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(R=f[(f[(f[x>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(R|0)>=0):0)?(L=f[t>>2]|0,l=f[C>>2]|0,J=f[l+(f[L+(R<<2)>>2]<<2)>>2]|0,K=R+1|0,K=f[l+(f[L+((((K|0)%3|0|0)==0?R+-2|0:K)<<2)>>2]<<2)>>2]|0,L=f[l+(f[L+((((R>>>0)%3|0|0)==0?2:-1)+R<<2)>>2]<<2)>>2]|0,(J|0)<(Q|0)&(K|0)<(Q|0)&(L|0)<(Q|0)):0){j=X(J,e)|0;k=X(K,e)|0;l=X(L,e)|0;if(w){i=0;do{f[h+(i<<2)>>2]=(f[c+(i+l<<2)>>2]|0)+(f[c+(i+k<<2)>>2]|0)-(f[c+(i+j<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;r=44;break a}}do if(m){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=f[B>>2]|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[x>>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=f[B>>2]|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[x>>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)==(n|0)){r=63;break a}}while(!(m&(g|0)<0));g=(r&f[h+(p<<2)>>2]|0)!=0;if(g|o){g=g?-1073741824:q;m=0;continue}g=f[(f[(f[x>>2]|0)+12>>2]|0)+(q<<2)>>2]|0;if((g|0)<0){m=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;m=0;continue}else{g=g+-1|0;m=0;continue}}if((r|0)==63)if((d|0)>0)r=44;else{P=X(Q,e)|0;r=75}if((r|0)==44){r=0;if(w){Cf(f[I>>2]|0,0,s|0)|0;j=d+-1|0;l=G+(j<<2)|0;j=f[a+60+(j*12|0)>>2]|0;k=f[I>>2]|0;m=0;g=0;do{q=f[l>>2]|0;f[l>>2]=q+1;if(!(f[j+(q>>>5<<2)>>2]&1<<(q&31))){h=f[U+(m*12|0)>>2]|0;i=0;do{q=k+(i<<2)|0;f[q>>2]=(f[q>>2]|0)+(f[h+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));g=g+1|0}m=m+1|0}while((m|0)!=(d|0))}else{h=d+-1|0;j=G+(h<<2)|0;h=f[a+60+(h*12|0)>>2]|0;i=f[j>>2]|0;k=0;g=0;do{q=i;i=i+1|0;f[j>>2]=i;g=g+((f[h+(q>>>5<<2)>>2]&1<<(q&31)|0)==0&1)|0;k=k+1|0}while((k|0)!=(d|0))}h=X(Q,e)|0;if(g){j=f[I>>2]|0;if(w){d=0;do{q=j+(d<<2)|0;f[q>>2]=(f[q>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=b+(h<<2)|0;k=c+(h<<2)|0;if((f[H>>2]|0)>0){h=0;do{d=f[j+(h<<2)>>2]|0;g=f[z>>2]|0;if((d|0)>(g|0)){i=f[v>>2]|0;f[i+(h<<2)>>2]=g}else{q=f[A>>2]|0;i=f[v>>2]|0;f[i+(h<<2)>>2]=(d|0)<(q|0)?q:d}h=h+1|0;d=f[H>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;do if((d|0)>(f[z>>2]|0)){d=d-(f[y>>2]|0)|0;r=97}else{if((d|0)>=(f[A>>2]|0))break;d=(f[y>>2]|0)+d|0;r=97}while(0);if((r|0)==97){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}}else{P=h;r=75}}if((r|0)==75?(r=0,M=c+((X(Q+-1|0,e)|0)<<2)|0,N=b+(P<<2)|0,O=c+(P<<2)|0,(f[H>>2]|0)>0):0){h=0;do{d=f[M+(h<<2)>>2]|0;g=f[z>>2]|0;if((d|0)>(g|0)){i=f[v>>2]|0;f[i+(h<<2)>>2]=g}else{q=f[A>>2]|0;i=f[v>>2]|0;f[i+(h<<2)>>2]=(d|0)<(q|0)?q:d}h=h+1|0;d=f[H>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[N+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=O+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[z>>2]|0)){if((d|0)<(f[A>>2]|0)){d=(f[y>>2]|0)+d|0;r=85}}else{d=d-(f[y>>2]|0)|0;r=85}if((r|0)==85){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}Q=Q+1|0;if((Q|0)>=(E|0)){r=28;break}d=f[D>>2]|0;q=f[d>>2]|0;if((f[d+4>>2]|0)-q>>2>>>0<=Q>>>0){r=34;break}}if((r|0)==28){T=f[I>>2]|0;S=T;break}else if((r|0)==34)Wl(d)}else{S=p;T=o}while(0);if(S|0){d=f[F>>2]|0;if((d|0)!=(S|0))f[F>>2]=d+(~((d+-4-S|0)>>>2)<<2);Em(T)}Em(G);g=f[U+36>>2]|0;if(g|0){h=U+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(g)}d=f[U+24>>2]|0;if(d|0){h=U+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}d=f[U+12>>2]|0;if(d|0){h=U+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}h=f[U>>2]|0;if(!h){u=V;return 1}g=U+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h);u=V;return 1}function bb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=u;u=u+64|0;R=S+16|0;J=S;I=a+8|0;f[I>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Ve(i,e-j|0);d=R;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[J>>2]=0;if(!e){d=0;g=0}else{ee(R,e,J);d=f[R+12>>2]|0;g=f[R+16>>2]|0}f[J>>2]=0;h=R+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else ee(R+12|0,e-i|0,J);i=R+24|0;f[J>>2]=0;h=R+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else ee(i,e-j|0,J);i=R+36|0;f[J>>2]=0;h=R+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else ee(i,e-j|0,J);h=f[R>>2]|0;if((f[I>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{H=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(H|0)?H:d}j=j+1|0;d=f[I>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;r=18}}else{d=d-(f[i>>2]|0)|0;r=18}if((r|0)==18){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}C=f[a+48>>2]|0;D=f[a+52>>2]|0;H=Yi(16)|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;do if(e)if(e>>>0>1073741823)Wl(J);else{F=e<<2;p=Yi(F)|0;f[J>>2]=p;o=p+(e<<2)|0;f[J+8>>2]=o;Cf(p|0,0,F|0)|0;f[G>>2]=o;o=p;break}else{o=0;p=0}while(0);E=a+56|0;d=f[E>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;B=g-h|0;F=B>>2;do if((B|0)>4){w=C+12|0;y=(e|0)>0;A=a+16|0;x=a+32|0;B=a+12|0;z=a+20|0;v=e<<2;if(g-h>>2>>>0>1){q=h;O=1}else{t=d;Wl(t)}while(1){r=f[q+(O<<2)>>2]|0;t=(((r>>>0)%3|0|0)==0?2:-1)+r|0;s=(r|t|0)<0;q=(r|0)<0?r:t;g=r;p=1;d=0;a:while(1){do{if((g|0)<=-1){r=64;break a}n=f[R+(d*12|0)>>2]|0;o=f[w>>2]|0;i=f[o+(g<<2)>>2]|0;if((i|0)>=0){j=f[C>>2]|0;k=f[D>>2]|0;m=f[k+(f[j+(i<<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=f[j+(h<<2)>>2]|0;l=f[k+(h<<2)>>2]|0;h=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=f[j+(h<<2)>>2]|0;h=f[k+(h<<2)>>2]|0;if((m|0)<(O|0)&(l|0)<(O|0)&(h|0)<(O|0)){k=X(m,e)|0;j=X(l,e)|0;i=X(h,e)|0;if(y){h=0;do{f[n+(h<<2)>>2]=(f[c+(h+i<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+k<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;r=47;break a}}}do if(p){n=g+1|0;g=((n|0)%3|0|0)==0?g+-2|0:n;if((g|0)>=0){g=f[o+(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=f[o+(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)==(r|0)){r=64;break a}}while(!(p&(g|0)<0));if(s){g=q;p=0;continue}g=f[o+(t<<2)>>2]|0;if((g|0)<0){p=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;p=0;continue}else{g=g+-1|0;p=0;continue}}if((r|0)==64)if((d|0)>0)r=47;else{N=X(O,e)|0;r=76}if((r|0)==47){r=0;if(y){Cf(f[J>>2]|0,0,v|0)|0;j=d+-1|0;l=H+(j<<2)|0;j=f[a+60+(j*12|0)>>2]|0;k=f[J>>2]|0;m=0;g=0;do{t=f[l>>2]|0;f[l>>2]=t+1;if(!(f[j+(t>>>5<<2)>>2]&1<<(t&31))){h=f[R+(m*12|0)>>2]|0;i=0;do{t=k+(i<<2)|0;f[t>>2]=(f[t>>2]|0)+(f[h+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));g=g+1|0}m=m+1|0}while((m|0)!=(d|0))}else{h=d+-1|0;j=H+(h<<2)|0;h=f[a+60+(h*12|0)>>2]|0;i=f[j>>2]|0;k=0;g=0;do{t=i;i=i+1|0;f[j>>2]=i;g=g+((f[h+(t>>>5<<2)>>2]&1<<(t&31)|0)==0&1)|0;k=k+1|0}while((k|0)!=(d|0))}h=X(O,e)|0;if(g){j=f[J>>2]|0;if(y){d=0;do{t=j+(d<<2)|0;f[t>>2]=(f[t>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=b+(h<<2)|0;k=c+(h<<2)|0;if((f[I>>2]|0)>0){h=0;do{d=f[j+(h<<2)>>2]|0;g=f[A>>2]|0;if((d|0)>(g|0)){i=f[x>>2]|0;f[i+(h<<2)>>2]=g}else{t=f[B>>2]|0;i=f[x>>2]|0;f[i+(h<<2)>>2]=(d|0)<(t|0)?t:d}h=h+1|0;d=f[I>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;do if((d|0)>(f[A>>2]|0)){d=d-(f[z>>2]|0)|0;r=98}else{if((d|0)>=(f[B>>2]|0))break;d=(f[z>>2]|0)+d|0;r=98}while(0);if((r|0)==98){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}}else{N=h;r=76}}if((r|0)==76?(r=0,K=c+((X(O+-1|0,e)|0)<<2)|0,L=b+(N<<2)|0,M=c+(N<<2)|0,(f[I>>2]|0)>0):0){h=0;do{d=f[K+(h<<2)>>2]|0;g=f[A>>2]|0;if((d|0)>(g|0)){i=f[x>>2]|0;f[i+(h<<2)>>2]=g}else{t=f[B>>2]|0;i=f[x>>2]|0;f[i+(h<<2)>>2]=(d|0)<(t|0)?t:d}h=h+1|0;d=f[I>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[L+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=M+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[A>>2]|0)){if((d|0)<(f[B>>2]|0)){d=(f[z>>2]|0)+d|0;r=86}}else{d=d-(f[z>>2]|0)|0;r=86}if((r|0)==86){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}O=O+1|0;if((O|0)>=(F|0)){r=28;break}d=f[E>>2]|0;q=f[d>>2]|0;if((f[d+4>>2]|0)-q>>2>>>0<=O>>>0){r=34;break}}if((r|0)==28){Q=f[J>>2]|0;P=Q;break}else if((r|0)==34)Wl(d)}else{P=p;Q=o}while(0);if(P|0){d=f[G>>2]|0;if((d|0)!=(P|0))f[G>>2]=d+(~((d+-4-P|0)>>>2)<<2);Em(Q)}Em(H);g=f[R+36>>2]|0;if(g|0){h=R+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(g)}d=f[R+24>>2]|0;if(d|0){h=R+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}d=f[R+12>>2]|0;if(d|0){h=R+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}h=f[R>>2]|0;if(!h){u=S;return 1}g=R+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h);u=S;return 1}function cb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+80|0;t=y+40|0;i=y+68|0;m=y+64|0;q=y+60|0;l=y+52|0;w=y;r=y+56|0;s=y+48|0;f[a+132>>2]=0;h=a+148|0;if(f[h>>2]|0){e=a+144|0;c=f[e>>2]|0;if(c|0)do{v=c;c=f[c>>2]|0;Em(v)}while((c|0)!=0);f[e>>2]=0;c=f[a+140>>2]|0;if(c|0){e=a+136|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[h>>2]=0}n=a+4|0;if(!(Vf(i,f[(f[n>>2]|0)+32>>2]|0)|0)){x=0;u=y;return x|0}k=a+156|0;f[k>>2]=f[i>>2];v=(Vf(m,f[(f[n>>2]|0)+32>>2]|0)|0)^1;do if(!((f[m>>2]|0)>>>0>715827882|v)){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);p=Yi(60)|0;tk(p);v=a+8|0;c=f[v>>2]|0;f[v>>2]=p;if(c|0?(Sf(c),Em(c),(f[v>>2]|0)==0):0){c=0;break}h=a+160|0;c=f[h>>2]|0;g=a+164|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);fg(h,f[m>>2]|0);h=a+172|0;c=f[h>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);fg(h,f[m>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;c=f[(f[n>>2]|0)+32>>2]|0;p=c+8|0;o=f[p+4>>2]|0;h=c+16|0;g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;if((o|0)>(g|0)|((o|0)==(g|0)?(f[p>>2]|0)>>>0>e>>>0:0)){j=b[(f[c>>2]|0)+e>>0]|0;i=Ij(e|0,g|0,1,0)|0;p=h;f[p>>2]=i;f[p+4>>2]=I;p=a+212|0;i=f[p>>2]|0;o=a+216|0;c=f[o>>2]|0;if((c|0)!=(i|0))do{f[o>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){h=c+-8|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-28>>2]|0;if(e|0){h=c+-24|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-40>>2]|0;if(e|0){h=c+-36|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}_f(c+-112|0);c=f[o>>2]|0}while((c|0)!=(i|0));c=j&255;Ae(p,c);if(Vf(q,f[(f[n>>2]|0)+32>>2]|0)|0?(f[m>>2]|0)>>>0>=(f[q>>2]|0)>>>0:0)if((Vf(l,f[(f[n>>2]|0)+32>>2]|0)|0?Wg(f[v>>2]|0,f[m>>2]|0,(f[l>>2]|0)+(f[k>>2]|0)|0)|0:0)?(m=(f[l>>2]|0)+(f[k>>2]|0)|0,b[t>>0]=1,Wd(a+120|0,m,t),(nc(a,f[(f[n>>2]|0)+32>>2]|0)|0)!=-1):0){j=a+224|0;f[a+368>>2]=a;g=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;g=f[g>>2]|0;g=(f[g>>2]|0)+(f[g+16>>2]|0)|0;e=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;e=f[e>>2]|0;k=e+8|0;e=e+16|0;e=hk(f[k>>2]|0,f[k+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0)|0;k=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Li(j,g,e,d[(f[k>>2]|0)+38>>1]|0);f[a+364>>2]=c;ui(w);k=a+264|0;c=k;e=j;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));a:do if(Sg(k,1,t)|0){c=j;e=k;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));e=t;c=f[e>>2]|0;e=f[e+4>>2]|0;m=a+232|0;i=a+240|0;h=i;g=f[h>>2]|0;h=f[h+4>>2]|0;m=hk(f[m>>2]|0,f[m+4>>2]|0,g|0,h|0)|0;l=I;if(e>>>0>l>>>0|(e|0)==(l|0)&c>>>0>m>>>0){x=46;break}l=Ij(g|0,h|0,c|0,e|0)|0;m=i;f[m>>2]=l;f[m+4>>2]=I;ed(a+304|0,j)|0;if(!($e(j)|0)){c=0;break}c=w;e=j;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));m=Za(a,f[q>>2]|0)|0;if((m|0)==-1){c=0;break}q=f[(f[n>>2]|0)+32>>2]|0;n=w+16|0;j=f[n>>2]|0;l=(f[w>>2]|0)+j|0;i=w+8|0;n=hk(f[i>>2]|0,f[i+4>>2]|0,j|0,f[n+4>>2]|0)|0;Li(q,l,n,d[q+38>>1]|0);do if((f[o>>2]|0)!=(f[p>>2]|0)){q=f[v>>2]|0;if(((f[q+4>>2]|0)-(f[q>>2]|0)|0)<=0)break;c=0;do{f[r>>2]=c;f[t>>2]=f[r>>2];c=c+3|0;if(!(Bc(a,t)|0)){c=0;break a}q=f[v>>2]|0}while((c|0)<((f[q+4>>2]|0)-(f[q>>2]|0)>>2|0))}while(0);if(b[a+300>>0]|0)Yh(k);c=f[p>>2]|0;if((f[o>>2]|0)!=(c|0)){h=0;do{mf(c+(h*116|0)+4|0,f[v>>2]|0)|0;c=f[p>>2]|0;e=f[c+(h*116|0)+104>>2]|0;g=f[c+(h*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[s>>2]=f[e>>2];f[t>>2]=f[s>>2];Kd(c+(h*116|0)+4|0,t);e=e+4|0;c=f[p>>2]|0}while((e|0)!=(g|0));zh(c+(h*116|0)+4|0,0,0);h=h+1|0;c=f[p>>2]|0}while(h>>>0<(((f[o>>2]|0)-c|0)/116|0)>>>0)}j=f[v>>2]|0;j=(f[j+28>>2]|0)-(f[j+24>>2]|0)>>2;g=a+196|0;i=a+200|0;h=f[i>>2]|0;c=f[g>>2]|0;e=h-c>>2;do if(j>>>0>e>>>0)Ve(g,j-e|0);else{if(j>>>0>=e>>>0)break;c=c+(j<<2)|0;if((h|0)==(c|0))break;f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2)}while(0);fg(a+184|0,j);c=f[p>>2]|0;if((f[o>>2]|0)!=(c|0)){l=0;do{k=(f[c+(l*116|0)+60>>2]|0)-(f[c+(l*116|0)+56>>2]|0)>>2;h=f[v>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;k=(k|0)<(h|0)?h:k;h=c+(l*116|0)+88|0;j=c+(l*116|0)+92|0;i=f[j>>2]|0;e=f[h>>2]|0;g=i-e>>2;do if(k>>>0>g>>>0)Ve(h,k-g|0);else{if(k>>>0>=g>>>0)break;e=e+(k<<2)|0;if((i|0)==(e|0))break;f[j>>2]=i+(~((i+-4-e|0)>>>2)<<2)}while(0);fg(c+(l*116|0)+76|0,k);l=l+1|0;c=f[p>>2]|0}while(l>>>0<(((f[o>>2]|0)-c|0)/116|0)>>>0)}c=jb(a,m)|0}else x=46;while(0);if((x|0)==46)c=0;Jm(w+24|0)}else c=0;else c=0}else c=0}else c=0;while(0);x=c;u=y;return x|0}function db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+32|0;E=F+16|0;D=F+4|0;A=F;f[a+36>>2]=b;B=a+24|0;z=a+28|0;e=f[z>>2]|0;d=f[B>>2]|0;h=e-d>>2;if(h>>>0>=b>>>0){if(h>>>0>b>>>0?(g=d+(b<<2)|0,(e|0)!=(g|0)):0)f[z>>2]=e+(~((e+-4-g|0)>>>2)<<2)}else ee(B,b-h|0,2636);f[E>>2]=0;y=E+4|0;f[y>>2]=0;x=E+8|0;f[x>>2]=0;if(b){if((b|0)<0)Wl(E);d=((b+-1|0)>>>5)+1|0;h=Yi(d<<2)|0;f[E>>2]=h;f[x>>2]=d;f[y>>2]=b;d=b>>>5;Cf(h|0,0,d<<2|0)|0;e=b-(d<<5)|0;d=h+(d<<2)|0;g=h;if(!e)k=b;else{f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));k=b}}else{k=0;g=0;h=0}w=a+4|0;l=f[a>>2]|0;d=(f[w>>2]|0)-l|0;j=d>>2;f[D>>2]=0;i=D+4|0;f[i>>2]=0;e=D+8|0;f[e>>2]=0;do if(j){if((d|0)<0)Wl(D);d=((j+-1|0)>>>5)+1|0;m=Yi(d<<2)|0;f[D>>2]=m;f[e>>2]=d;f[i>>2]=j;d=j>>>5;Cf(m|0,0,d<<2|0)|0;e=j-(d<<5)|0;d=m+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));if(j>>>0>2){q=a+12|0;t=a+32|0;r=a+52|0;s=a+56|0;v=a+48|0;j=l;e=m;p=0;d=b;a:while(1){o=p*3|0;if((p|0)>=0){l=f[j+(o<<2)>>2]|0;i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;if((i|0)<0)k=-1073741824;else k=f[j+(i<<2)>>2]|0;i=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((i|0)<0)i=-1073741824;else i=f[j+(i<<2)>>2]|0;if((l|0)!=(k|0)?!((l|0)==(i|0)|(k|0)==(i|0)):0){i=d;n=0;while(1){j=n+o|0;if(!(f[e+(j>>>5<<2)>>2]&1<<(j&31))){d=f[(f[a>>2]|0)+(j<<2)>>2]|0;f[A>>2]=d;if(!(f[h+(d>>>5<<2)>>2]&1<<(d&31))){k=0;b=i}else{d=f[z>>2]|0;if((d|0)==(f[t>>2]|0))hf(B,2636);else{f[d>>2]=-1073741824;f[z>>2]=d+4}d=f[r>>2]|0;if((d|0)==(f[s>>2]|0))hf(v,A);else{f[d>>2]=f[A>>2];f[r>>2]=d+4}d=f[y>>2]|0;e=f[x>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){i=52;break a}b=e<<6;m=d+32&-32;Me(E,d>>>0<1073741823?(b>>>0>>0?m:b):2147483647);d=f[y>>2]|0}f[y>>2]=d+1;k=(f[E>>2]|0)+(d>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(d&31));f[A>>2]=i;d=i;k=1;b=i+1|0}h=f[E>>2]|0;g=h+(d>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(d&31);g=h;b:do if(k){d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);i=f[A>>2]|0;f[(f[B>>2]|0)+(i<<2)>>2]=d;f[(f[a>>2]|0)+(d<<2)>>2]=i;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}else{d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);f[(f[B>>2]|0)+(f[A>>2]<<2)>>2]=d;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}while(0);do if((i|0)==68){i=0;if((j|0)==-1073741824){d=-1073741824;i=75}}else if((i|0)==69){if((j|0)<0){d=j;i=75;break}d=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((d|0)<0){i=75;break}d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=75;break}if(!((d>>>0)%3|0)){d=d+2|0;i=75;break}else{d=d+-1|0;i=75;break}}while(0);c:do if((i|0)==75){e=f[D>>2]|0;i=e+(d>>>5<<2)|0;l=1<<(d&31);j=(d|0)<0;if((d|0)==-1073741824)break;if(!k){k=d;e=j;d=l;while(1){if(e){i=87;break a}f[i>>2]=f[i>>2]|d;d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);e=f[D>>2]|0;if((d|0)==-1073741824)break c;else{k=d;i=e+(d>>>5<<2)|0;e=(d|0)<0;d=1<<(d&31)}}}m=f[a>>2]|0;k=i;e=l;while(1){i=m+(d<<2)|0;do{f[k>>2]=f[k>>2]|e;f[i>>2]=f[A>>2]}while(j);d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=d;break}if(!((d>>>0)%3|0)){i=d+2|0;break}else{i=d+-1|0;break}}else i=d;while(0);e=f[D>>2]|0;if((i|0)==-1073741824)break;else{d=i;k=e+(i>>>5<<2)|0;j=(i|0)<0;e=1<<(i&31)}}}while(0);d=b}else d=i;n=n+1|0;if((n|0)>=3)break;else i=d}}}p=p+1|0;j=f[a>>2]|0;if((p|0)>=(((f[w>>2]|0)-j>>2>>>0)/3|0|0)){i=18;break}}if((i|0)==18){c=g;C=f[y>>2]|0;break}else if((i|0)==52)Wl(E);else if((i|0)==87)while(1)i=87}else{c=g;C=k}}else{c=g;C=k}while(0);j=a+44|0;f[j>>2]=0;B=C>>>5;i=c+(B<<2)|0;h=C&31;d=(B|0)!=0;d:do if(B|h|0){if(!h){e=c;c=0;while(1){e:do if(d){d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break;else d=d+1|0}}else{d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break e;d=d+1|0;if(!d)break d}}while(0);e=e+4|0;if((e|0)==(i|0))break d;else d=1}}if(d){e=c;c=0;d=0;do{g=0;while(1){if(!(f[e>>2]&1<>2]=d;c=d}if((g|0)==31)break;else g=g+1|0}e=e+4|0}while((e|0)!=(i|0))}else{e=c;c=0}d=0;do{if(!(f[e>>2]&1<>2]=c}d=d+1|0}while((d|0)!=(h|0))}while(0);c=f[D>>2]|0;if(c|0)Em(c);c=f[E>>2]|0;if(!c){u=F;return 1}Em(c);u=F;return 1}function eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=Ka,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function fb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;gk(c)|0;if((I|0)<0){C=1;A=13483;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?13484:13489):13486}gk(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+jm(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=Fg(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[13518+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;gh(a,32,d,j,g);Qk(a,p,o);gh(a,48,d,j,g^65536);Qk(a,F,C);gh(a,48,D-C|0,0,0);Qk(a,n,E);gh(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=tj(f[j>>2]|0,0,o|0)|0;x=Ij(x|0,I|0,l|0,0)|0;y=I;v=Oi(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=il(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=Fg(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;gh(a,32,d,j,g);Qk(a,A,C);gh(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=Fg(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){Cf(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Qk(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Qk(a,13534,1);if(m>>>0>>0&(k|0)>0)while(1){l=Fg(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){Cf(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Qk(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}gh(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=Fg(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Qk(a,l,1);if(e&(k|0)<1){l=m;break}Qk(a,13534,1);l=m}else{if(l>>>0<=F>>>0)break;Cf(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Qk(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}gh(a,48,k+18|0,18,0);Qk(a,v,D-v|0)}gh(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;gh(a,32,d,j,g&-65537);Qk(a,A,C);Qk(a,c!=c|0.0!=0.0?(F?13510:13514):F?13502:13506,3);gh(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function gb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+80|0;t=x+64|0;i=x+60|0;q=x+56|0;p=x+52|0;m=x+48|0;w=x;r=x+44|0;s=x+40|0;f[a+132>>2]=0;h=a+148|0;if(f[h>>2]|0){e=a+144|0;c=f[e>>2]|0;if(c|0)do{v=c;c=f[c>>2]|0;Em(v)}while((c|0)!=0);f[e>>2]=0;c=f[a+140>>2]|0;if(c|0){e=a+136|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[h>>2]=0}l=a+4|0;if(!(Vf(i,f[(f[l>>2]|0)+32>>2]|0)|0)){w=0;u=x;return w|0}k=a+156|0;f[k>>2]=f[i>>2];v=(Vf(q,f[(f[l>>2]|0)+32>>2]|0)|0)^1;do if(!((f[q>>2]|0)>>>0>715827882|v)){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);o=Yi(60)|0;tk(o);v=a+8|0;c=f[v>>2]|0;f[v>>2]=o;if(c|0?(Sf(c),Em(c),(f[v>>2]|0)==0):0){c=0;break}h=a+160|0;c=f[h>>2]|0;g=a+164|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);fg(h,f[q>>2]|0);h=a+172|0;c=f[h>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);fg(h,f[q>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;c=f[(f[l>>2]|0)+32>>2]|0;o=c+8|0;n=f[o+4>>2]|0;h=c+16|0;g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;if((n|0)>(g|0)|((n|0)==(g|0)?(f[o>>2]|0)>>>0>e>>>0:0)){j=b[(f[c>>2]|0)+e>>0]|0;i=Ij(e|0,g|0,1,0)|0;o=h;f[o>>2]=i;f[o+4>>2]=I;o=a+212|0;i=f[o>>2]|0;n=a+216|0;c=f[n>>2]|0;if((c|0)!=(i|0))do{f[n>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){h=c+-8|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-28>>2]|0;if(e|0){h=c+-24|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-40>>2]|0;if(e|0){h=c+-36|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}_f(c+-112|0);c=f[n>>2]|0}while((c|0)!=(i|0));c=j&255;Ae(o,c);if(Vf(p,f[(f[l>>2]|0)+32>>2]|0)|0?(f[q>>2]|0)>>>0>=(f[p>>2]|0)>>>0:0)if((Vf(m,f[(f[l>>2]|0)+32>>2]|0)|0?Wg(f[v>>2]|0,f[q>>2]|0,(f[m>>2]|0)+(f[k>>2]|0)|0)|0:0)?(q=(f[m>>2]|0)+(f[k>>2]|0)|0,b[t>>0]=1,Wd(a+120|0,q,t),(nc(a,f[(f[l>>2]|0)+32>>2]|0)|0)!=-1):0){q=a+224|0;f[a+368>>2]=a;h=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;h=f[h>>2]|0;h=(f[h>>2]|0)+(f[h+16>>2]|0)|0;i=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;i=f[i>>2]|0;j=i+8|0;i=i+16|0;i=hk(f[j>>2]|0,f[j+4>>2]|0,f[i>>2]|0,f[i+4>>2]|0)|0;j=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Li(q,h,i,d[(f[j>>2]|0)+38>>1]|0);j=Ma[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+372>>2]=j;f[a+376>>2]=(f[m>>2]|0)+(f[k>>2]|0);f[a+364>>2]=c;ui(w);a:do if(bc(q,w)|0){m=Ya(a,f[p>>2]|0)|0;if((m|0)==-1){c=0;break}q=f[(f[l>>2]|0)+32>>2]|0;p=w+16|0;k=f[p>>2]|0;l=(f[w>>2]|0)+k|0;j=w+8|0;p=hk(f[j>>2]|0,f[j+4>>2]|0,k|0,f[p+4>>2]|0)|0;Li(q,l,p,d[q+38>>1]|0);do if((f[n>>2]|0)!=(f[o>>2]|0)){q=f[v>>2]|0;if(((f[q+4>>2]|0)-(f[q>>2]|0)|0)<=0)break;c=0;do{f[r>>2]=c;f[t>>2]=f[r>>2];c=c+3|0;if(!(Ac(a,t)|0)){c=0;break a}q=f[v>>2]|0}while((c|0)<((f[q+4>>2]|0)-(f[q>>2]|0)>>2|0))}while(0);if(b[a+300>>0]|0)Yh(a+264|0);c=f[o>>2]|0;if((f[n>>2]|0)!=(c|0)){h=0;do{mf(c+(h*116|0)+4|0,f[v>>2]|0)|0;c=f[o>>2]|0;e=f[c+(h*116|0)+104>>2]|0;g=f[c+(h*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[s>>2]=f[e>>2];f[t>>2]=f[s>>2];Kd(c+(h*116|0)+4|0,t);e=e+4|0;c=f[o>>2]|0}while((e|0)!=(g|0));zh(c+(h*116|0)+4|0,0,0);h=h+1|0;c=f[o>>2]|0}while(h>>>0<(((f[n>>2]|0)-c|0)/116|0)>>>0)}j=f[v>>2]|0;j=(f[j+28>>2]|0)-(f[j+24>>2]|0)>>2;g=a+196|0;i=a+200|0;h=f[i>>2]|0;c=f[g>>2]|0;e=h-c>>2;do if(j>>>0>e>>>0)Ve(g,j-e|0);else{if(j>>>0>=e>>>0)break;c=c+(j<<2)|0;if((h|0)==(c|0))break;f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2)}while(0);fg(a+184|0,j);c=f[o>>2]|0;if((f[n>>2]|0)!=(c|0)){l=0;do{k=(f[c+(l*116|0)+60>>2]|0)-(f[c+(l*116|0)+56>>2]|0)>>2;h=f[v>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;k=(k|0)<(h|0)?h:k;h=c+(l*116|0)+88|0;j=c+(l*116|0)+92|0;i=f[j>>2]|0;e=f[h>>2]|0;g=i-e>>2;do if(k>>>0>g>>>0)Ve(h,k-g|0);else{if(k>>>0>=g>>>0)break;e=e+(k<<2)|0;if((i|0)==(e|0))break;f[j>>2]=i+(~((i+-4-e|0)>>>2)<<2)}while(0);fg(c+(l*116|0)+76|0,k);l=l+1|0;c=f[o>>2]|0}while(l>>>0<(((f[n>>2]|0)-c|0)/116|0)>>>0)}c=jb(a,m)|0}else c=0;while(0);Jm(w+24|0)}else c=0;else c=0}else c=0}else c=0;while(0);w=c;u=x;return w|0}function hb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=rm()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Qk(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=ii(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=ii(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(13002+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Lc(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Di(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=13466;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=hk(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=13466;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?13466:13468):13467;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=13466;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=13466;i=x;break}case 109:{i=rm()|0;i=Xk(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:13476;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){gh(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=fb(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=13466;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=mi(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?13466:13466+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=Fg(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=Ke(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=13466;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Wk(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}gh(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Wk(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Qk(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;gh(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;gh(a,32,i,l,n);Qk(a,j,k);gh(a,48,i,l,n^65536);gh(a,48,q,r,0);Qk(a,o,r);gh(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Lc(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function ib(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+32|0;y=A+20|0;z=A+16|0;x=A+4|0;k=A;w=a+32|0;if(!(Vf(y,f[w>>2]|0)|0)){a=0;u=A;return a|0}if(!(Vf(z,f[w>>2]|0)|0)){a=0;u=A;return a|0}o=f[y>>2]|0;if(o>>>0>1431655765){a=0;u=A;return a|0}c=f[z>>2]|0;v=Xi(o|0,0,3,0)|0;t=I;if(0>t>>>0|0==(t|0)&c>>>0>v>>>0){a=0;u=A;return a|0}m=f[w>>2]|0;v=m+8|0;t=f[v+4>>2]|0;d=m+16|0;j=d;i=f[j>>2]|0;j=f[j+4>>2]|0;if(!((t|0)>(j|0)|((t|0)==(j|0)?(f[v>>2]|0)>>>0>i>>>0:0))){a=0;u=A;return a|0}t=b[(f[m>>2]|0)+i>>0]|0;l=Ij(i|0,j|0,1,0)|0;v=I;s=d;f[s>>2]=l;f[s+4>>2]=v;a:do if(!(t<<24>>24)){if(!(Rc(a,o)|0)){a=0;u=A;return a|0}}else{if(c>>>0<256){if(!o)break;p=a+44|0;q=x+4|0;r=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;c=m+8|0;d=f[c>>2]|0;c=f[c+4>>2]|0;b:do if((c|0)>(v|0)|(c|0)==(v|0)&d>>>0>l>>>0){j=m;n=o;k=v;i=c;g=d;m=0;while(1){e=j+16|0;d=f[j>>2]|0;t=b[d+l>>0]|0;c=Ij(l|0,k|0,1,0)|0;v=I;s=e;f[s>>2]=c;f[s+4>>2]=v;f[x>>2]=t&255;if(!((i|0)>(v|0)|(i|0)==(v|0)&g>>>0>c>>>0))break b;t=b[d+c>>0]|0;c=Ij(l|0,k|0,2,0)|0;v=I;s=e;f[s>>2]=c;f[s+4>>2]=v;f[q>>2]=t&255;if(!((i|0)>(v|0)|(i|0)==(v|0)&g>>>0>c>>>0))break b;d=b[d+c>>0]|0;c=Ij(l|0,k|0,3,0)|0;f[e>>2]=c;f[e+4>>2]=I;f[r>>2]=d&255;d=f[p>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Re(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=n}m=m+1|0;if(m>>>0>=c>>>0)break a;j=f[w>>2]|0;k=j+16|0;l=f[k>>2]|0;k=f[k+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;i=j+8|0;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((i|0)>(k|0)|(i|0)==(k|0)&g>>>0>l>>>0))break;else n=c}}while(0);a=0;u=A;return a|0}if(c>>>0<65536){if(!o)break;r=a+44|0;s=x+4|0;t=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;e=m+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=Ij(i|0,j|0,3,0)|0;d=I;c:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;j=v;n=e;k=g;q=0;while(1){i=m+16|0;g=f[m>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8;c=i;f[c>>2]=p;f[c+4>>2]=d;f[x>>2]=e&65535;e=Ij(l|0,j|0,4,0)|0;c=I;if((n|0)<(c|0)|(n|0)==(c|0)&k>>>0>>0)break c;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8;v=i;f[v>>2]=e;f[v+4>>2]=c;f[s>>2]=d&65535;c=Ij(l|0,j|0,6,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0>>0)break c;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8;v=i;f[v>>2]=c;f[v+4>>2]=d;f[t>>2]=e&65535;d=f[r>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Re(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=o}q=q+1|0;if(q>>>0>=c>>>0)break a;m=f[w>>2]|0;j=m+16|0;l=f[j>>2]|0;j=f[j+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;n=m+8|0;k=f[n>>2]|0;n=f[n+4>>2]|0;p=Ij(l|0,j|0,2,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0

>>0)break;else o=c}}while(0);a=0;u=A;return a|0}t=a+44|0;if((f[(f[t>>2]|0)+80>>2]|0)<2097152?(((h[a+36>>0]|0)<<8|(h[a+37>>0]|0))&65535)>513:0){if(!o)break;i=x+4|0;j=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;d:do if(Vf(k,m)|0){g=0;do{f[x>>2]=f[k>>2];if(!(Vf(k,f[w>>2]|0)|0))break d;f[i>>2]=f[k>>2];if(!(Vf(k,f[w>>2]|0)|0))break d;f[j>>2]=f[k>>2];d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))Re(d+96|0,x);else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12}g=g+1|0;if(g>>>0>=(f[y>>2]|0)>>>0)break a;v=f[w>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0}while(Vf(k,v)|0)}while(0);a=0;u=A;return a|0}if(o|0){r=x+4|0;s=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;e=m+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=Ij(i|0,j|0,5,0)|0;d=I;e:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;j=v;n=e;k=g;q=0;while(1){i=m+16|0;g=f[m>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;c=i;f[c>>2]=p;f[c+4>>2]=d;f[x>>2]=e;e=Ij(l|0,j|0,8,0)|0;c=I;if((n|0)<(c|0)|(n|0)==(c|0)&k>>>0>>0)break e;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;v=i;f[v>>2]=e;f[v+4>>2]=c;f[r>>2]=d;c=Ij(l|0,j|0,12,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0>>0)break e;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;v=i;f[v>>2]=c;f[v+4>>2]=d;f[s>>2]=e;d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Re(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=o}q=q+1|0;if(q>>>0>=c>>>0)break a;m=f[w>>2]|0;j=m+16|0;l=f[j>>2]|0;j=f[j+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;n=m+8|0;k=f[n>>2]|0;n=f[n+4>>2]|0;p=Ij(l|0,j|0,4,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0

>>0)break;else o=c}}while(0);a=0;u=A;return a|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[z>>2];a=1;u=A;return a|0}function jb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+48|0;H=J+36|0;I=J+24|0;D=J+12|0;C=J;G=a+4|0;e=f[(f[G>>2]|0)+44>>2]|0;E=a+8|0;h=f[E>>2]|0;h=((f[h+4>>2]|0)-(f[h>>2]|0)>>2>>>0)/3|0;i=e+96|0;e=e+100|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;d=f[e>>2]|0;c=f[i>>2]|0;j=(d-c|0)/12|0;if(h>>>0<=j>>>0){if(h>>>0>>0?(g=c+(h*12|0)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~(((d+-12-g|0)>>>0)/12|0)*12|0)}else Id(i,h-j|0,H);s=a+212|0;r=a+216|0;if((f[s>>2]|0)==(f[r>>2]|0)){e=f[G>>2]|0;c=f[e+44>>2]|0;g=f[c+100>>2]|0;d=f[c+96>>2]|0;if((g-d|0)>0){o=I+4|0;p=I+8|0;k=c;c=e;h=e;n=0;while(1){f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;e=n*3|0;if((n|0)<0)m=-1073741824;else m=f[(f[f[E>>2]>>2]|0)+(e<<2)>>2]|0;f[I>>2]=m;if((e|0)<-1){f[o>>2]=-1073741824;if((e|0)==-2)F=89;else e=-1073741824}else{f[o>>2]=f[(f[f[E>>2]>>2]|0)+(e+1<<2)>>2];F=89}if((F|0)==89){F=0;e=f[(f[f[E>>2]>>2]|0)+(e+2<<2)>>2]|0}f[p>>2]=e;j=k+96|0;e=k+100|0;a=(g-d|0)/12|0;i=d;l=n;n=n+1|0;if((l|0)<(a|0))e=k;else{c=g;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;if(n>>>0<=a>>>0)if(n>>>0>>0?(q=i+(n*12|0)|0,(c|0)!=(q|0)):0){g=c+(~(((c+-12-q|0)>>>0)/12|0)*12|0)|0;f[e>>2]=g;e=k}else e=k;else{Id(j,n-a|0,H);h=f[G>>2]|0;d=f[h+44>>2]|0;i=f[j>>2]|0;e=d;g=f[d+100>>2]|0;d=f[d+96>>2]|0}c=h}f[i+(l*12|0)>>2]=m;f[i+(l*12|0)+4>>2]=f[o>>2];f[i+(l*12|0)+8>>2]=f[p>>2];if((n|0)>=((g-d|0)/12|0|0))break;else k=e}}else c=e;f[(f[c+4>>2]|0)+80>>2]=b;u=J;return 1}f[I>>2]=0;A=I+4|0;f[A>>2]=0;f[I+8>>2]=0;e=f[E>>2]|0;d=(f[e+4>>2]|0)-(f[e>>2]|0)|0;c=d>>2;f[D>>2]=0;b=D+4|0;f[b>>2]=0;f[D+8>>2]=0;do if(c|0)if(c>>>0>1073741823)Wl(D);else{p=Yi(d)|0;f[D>>2]=p;q=p+(c<<2)|0;f[D+8>>2]=q;Cf(p|0,0,d|0)|0;f[b>>2]=q;break}while(0);if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)>0){p=a+120|0;q=I+8|0;c=e;o=0;do{i=f[(f[c+24>>2]|0)+(o<<2)>>2]|0;a:do if((i|0)>=0){b:do if((f[(f[p>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0)==0?(t=f[r>>2]|0,v=f[s>>2]|0,w=v,(t|0)!=(v|0)):0){a=(((i>>>0)%3|0|0)==0?2:-1)+i|0;k=(a|0)<0;m=(t-v|0)/116|0;j=c+12|0;h=c+12|0;l=0;c:while(1){n=f[(f[f[w+(l*116|0)+68>>2]>>2]|0)+(i<<2)>>2]|0;do if(1<<(n&31)&f[(f[w+(l*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){g=f[w+(l*116|0)+32>>2]|0;n=f[g+(i<<2)>>2]|0;if(!k){d=f[(f[j>>2]|0)+(a<<2)>>2]|0;do 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)==(i|0))break;else e=d}else e=a;while(1){d=f[g+(e<<2)>>2]|0;if((e|0)<0)break c;if((d|0)!=(n|0)){i=e;break b}d=(((e>>>0)%3|0|0)==0?2:-1)+e|0;do if((d|0)>=0){d=f[(f[h>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);if((d|0)==(i|0))break;else e=d}}while(0);l=l+1|0;if(l>>>0>=m>>>0)break b}while(1)if((d|0)==(n|0))d=n;else{i=e;break}}while(0);d=f[A>>2]|0;f[(f[D>>2]|0)+(i<<2)>>2]=d-(f[I>>2]|0)>>2;f[H>>2]=i;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=i;f[A>>2]=d+4}else{hf(I,H);c=f[E>>2]|0}if((((i|0)>=0?(x=(((i>>>0)%3|0|0)==0?2:-1)+i|0,(x|0)>=0):0)?(y=f[(f[c+12>>2]|0)+(x<<2)>>2]|0,(y|0)>=0):0)?(z=y+(((y>>>0)%3|0|0)==0?2:-1)|0,(z|0)>-1&(z|0)!=(i|0)):0){h=z;g=i;while(1){c=f[r>>2]|0;d=f[s>>2]|0;e=d;d:do if((c|0)!=(d|0)){d=(c-d|0)/116|0;c=0;while(1){n=f[e+(c*116|0)+32>>2]|0;c=c+1|0;if((f[n+(h<<2)>>2]|0)!=(f[n+(g<<2)>>2]|0))break;if(c>>>0>=d>>>0){F=64;break d}}c=f[A>>2]|0;f[(f[D>>2]|0)+(h<<2)>>2]=c-(f[I>>2]|0)>>2;f[H>>2]=h;if(c>>>0<(f[q>>2]|0)>>>0){f[c>>2]=h;f[A>>2]=c+4}else hf(I,H)}else F=64;while(0);if((F|0)==64){F=0;n=f[D>>2]|0;f[n+(h<<2)>>2]=f[n+(g<<2)>>2]}c=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((c|0)<0)break a;c=f[(f[(f[E>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break a;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)>-1&(c|0)!=(i|0)){g=h;h=c}else break}}}while(0);o=o+1|0;c=f[E>>2]|0}while((o|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0))}g=f[G>>2]|0;c=f[g+44>>2]|0;e=f[c+100>>2]|0;d=f[c+96>>2]|0;if((e-d|0)>0){n=C+4|0;o=C+8|0;k=d;d=g;h=g;l=0;while(1){f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;j=(f[D>>2]|0)+(l*3<<2)|0;f[C>>2]=f[j>>2];f[C+4>>2]=f[j+4>>2];f[C+8>>2]=f[j+8>>2];j=c+96|0;i=c+100|0;a=(e-k|0)/12|0;g=k;m=l;l=l+1|0;if((m|0)<(a|0))i=k;else{d=e;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;if(l>>>0<=a>>>0)if(l>>>0>>0?(B=g+(l*12|0)|0,(d|0)!=(B|0)):0){e=d+(~(((d+-12-B|0)>>>0)/12|0)*12|0)|0;f[i>>2]=e;d=k}else d=k;else{Id(j,l-a|0,H);h=f[G>>2]|0;d=f[h+44>>2]|0;g=f[j>>2]|0;c=d;e=f[d+100>>2]|0;d=f[d+96>>2]|0}i=d;d=h}f[g+(m*12|0)>>2]=f[C>>2];f[g+(m*12|0)+4>>2]=f[n>>2];f[g+(m*12|0)+8>>2]=f[o>>2];if((l|0)>=((e-i|0)/12|0|0))break;else k=i}}else d=g;c=f[I>>2]|0;f[(f[d+4>>2]|0)+80>>2]=(f[A>>2]|0)-c>>2;d=f[D>>2]|0;if(d){c=f[b>>2]|0;if((c|0)!=(d|0))f[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Em(d);c=f[I>>2]|0}if(c|0){d=f[A>>2]|0;if((d|0)!=(c|0))f[A>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}u=J;return 1}function kb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function lb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;k=F+76|0;l=F+72|0;D=F+48|0;m=F+24|0;x=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)i=-1073741824;else i=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;i=-1073741824}h=f[a+36>>2]|0;g=f[h>>2]|0;j=(f[h+4>>2]|0)-g>>2;if(j>>>0<=c>>>0)Wl(h);w=f[g+(c<<2)>>2]|0;if(j>>>0<=i>>>0)Wl(h);h=f[g+(i<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;r=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,r,x)|0;r=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;r=hk(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=hk(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=hk(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Xi(r|0,s|0,r|0,s|0)|0;x=I;B=Xi(t|0,v|0,t|0,v|0)|0;x=Ij(B|0,I|0,C|0,x|0)|0;C=I;B=Xi(l|0,m|0,l|0,m|0)|0;B=Ij(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=hk(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=hk(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=hk(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Xi(K|0,J|0,r|0,s|0)|0;d=I;g=Xi(H|0,G|0,t|0,v|0)|0;d=Ij(g|0,I|0,k|0,d|0)|0;k=I;g=Xi(h|0,i|0,l|0,m|0)|0;g=Ij(d|0,k|0,g|0,I|0)|0;k=I;d=hk(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=hk(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Xi(B|0,C|0,q|0,y|0)|0;n=I;q=Xi(B|0,C|0,z|0,A|0)|0;p=I;D=Xi(g|0,k|0,d|0,c|0)|0;e=I;j=Xi(g|0,k|0,w|0,x|0)|0;A=I;n=Ij(D|0,e|0,o|0,n|0)|0;o=I;p=Ij(j|0,A|0,q|0,p|0)|0;q=I;A=Xi(g|0,k|0,r|0,s|0)|0;j=I;e=Xi(g|0,k|0,t|0,v|0)|0;D=I;m=Xi(g|0,k|0,l|0,m|0)|0;k=I;j=Dg(A|0,j|0,B|0,C|0)|0;l=I;D=Dg(e|0,D|0,B|0,C|0)|0;e=I;k=Dg(m|0,k|0,B|0,C|0)|0;m=I;l=hk(K|0,J|0,j|0,l|0)|0;j=I;e=hk(H|0,G|0,D|0,e|0)|0;D=I;m=hk(h|0,i|0,k|0,m|0)|0;k=I;j=Xi(l|0,j|0,l|0,j|0)|0;l=I;D=Xi(e|0,D|0,e|0,D|0)|0;l=Ij(D|0,I|0,j|0,l|0)|0;j=I;k=Xi(m|0,k|0,m|0,k|0)|0;k=Ij(l|0,j|0,k|0,I|0)|0;j=I;l=hk(0,0,d|0,c|0)|0;m=I;j=Xi(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=23}break}case 1:{if(!c){g=1;c=0;E=24}else{g=1;c=0;h=j;i=k;E=23}break}default:{g=1;c=0;h=j;i=k;E=23}}if((E|0)==23)while(1){g=tj(g|0,c|0,1)|0;c=I;K=h;h=zj(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=24;break}else{i=I;E=23}}if((E|0)==24)while(1){K=il(j|0,k|0,g|0,c|0)|0;g=Ij(K|0,I|0,g|0,c|0)|0;g=zj(g|0,I|0,1)|0;c=I;K=Xi(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=24;else break}E=Xi(g|0,c|0,w|0,x|0)|0;G=I;d=Xi(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=hk(0,0,E|0,G|0)|0;G=Ij(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=hk(0,0,d|0,H|0)|0;H=Ij(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=Dg(G|0,J|0,B|0,C|0)|0;K=Dg(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function mb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;k=F+76|0;l=F+72|0;D=F+48|0;m=F+24|0;x=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);i=f[(f[h>>2]|0)+28>>2]|0;h=f[i+(c<<2)>>2]|0;i=f[i+(g<<2)>>2]|0;g=f[a+36>>2]|0;c=f[g>>2]|0;j=(f[g+4>>2]|0)-c>>2;if(j>>>0<=h>>>0)Wl(g);w=f[c+(h<<2)>>2]|0;if(j>>>0<=i>>>0)Wl(g);h=f[c+(i<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){y=w<<1;A=f[d+(y<<2)>>2]|0;q=((A|0)<0)<<31>>31;y=f[d+((y|1)<<2)>>2]|0;z=((y|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(A|0)|(o|0)!=(y|0))){f[a+8>>2]=A;f[a+12>>2]=y;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;r=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,r,x)|0;r=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;r=hk(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=hk(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=hk(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Xi(r|0,s|0,r|0,s|0)|0;x=I;B=Xi(t|0,v|0,t|0,v|0)|0;x=Ij(B|0,I|0,C|0,x|0)|0;C=I;B=Xi(l|0,m|0,l|0,m|0)|0;B=Ij(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=hk(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=hk(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=hk(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Xi(K|0,J|0,r|0,s|0)|0;d=I;g=Xi(H|0,G|0,t|0,v|0)|0;d=Ij(g|0,I|0,k|0,d|0)|0;k=I;g=Xi(h|0,i|0,l|0,m|0)|0;g=Ij(d|0,k|0,g|0,I|0)|0;k=I;d=hk(n|0,((n|0)<0)<<31>>31|0,A|0,q|0)|0;c=I;w=hk(o|0,((o|0)<0)<<31>>31|0,y|0,z|0)|0;x=I;o=Xi(B|0,C|0,A|0,q|0)|0;n=I;q=Xi(B|0,C|0,y|0,z|0)|0;p=I;D=Xi(g|0,k|0,d|0,c|0)|0;e=I;j=Xi(g|0,k|0,w|0,x|0)|0;A=I;n=Ij(D|0,e|0,o|0,n|0)|0;o=I;p=Ij(j|0,A|0,q|0,p|0)|0;q=I;A=Xi(g|0,k|0,r|0,s|0)|0;j=I;e=Xi(g|0,k|0,t|0,v|0)|0;D=I;m=Xi(g|0,k|0,l|0,m|0)|0;k=I;j=Dg(A|0,j|0,B|0,C|0)|0;l=I;D=Dg(e|0,D|0,B|0,C|0)|0;e=I;k=Dg(m|0,k|0,B|0,C|0)|0;m=I;l=hk(K|0,J|0,j|0,l|0)|0;j=I;e=hk(H|0,G|0,D|0,e|0)|0;D=I;m=hk(h|0,i|0,k|0,m|0)|0;k=I;j=Xi(l|0,j|0,l|0,j|0)|0;l=I;D=Xi(e|0,D|0,e|0,D|0)|0;l=Ij(D|0,I|0,j|0,l|0)|0;j=I;k=Xi(m|0,k|0,m|0,k|0)|0;k=Ij(l|0,j|0,k|0,I|0)|0;j=I;l=hk(0,0,d|0,c|0)|0;m=I;j=Xi(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=22}break}case 1:{if(!c){g=1;c=0;E=23}else{g=1;c=0;h=j;i=k;E=22}break}default:{g=1;c=0;h=j;i=k;E=22}}if((E|0)==22)while(1){g=tj(g|0,c|0,1)|0;c=I;K=h;h=zj(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=23;break}else{i=I;E=22}}if((E|0)==23)while(1){K=il(j|0,k|0,g|0,c|0)|0;g=Ij(K|0,I|0,g|0,c|0)|0;g=zj(g|0,I|0,1)|0;c=I;K=Xi(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=23;else break}E=Xi(g|0,c|0,w|0,x|0)|0;G=I;d=Xi(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=hk(0,0,E|0,G|0)|0;G=Ij(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=hk(0,0,d|0,H|0)|0;H=Ij(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=Dg(G|0,J|0,B|0,C|0)|0;K=Dg(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function nb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;S=u;u=u+96|0;F=S+92|0;G=S+88|0;H=S+72|0;M=S+48|0;N=S+24|0;O=S;L=a+4|0;m=f[L>>2]|0;if(!m)ra(8295,8317,46,8487);K=a+8|0;l=f[K>>2]|0;if(!l)ra(8295,8317,46,8487);J=a+16|0;k=f[J>>2]|0;n=f[c>>2]|0;f[H>>2]=k;f[H+4>>2]=n;D=H+8|0;f[D>>2]=n;b[H+12>>0]=1;k=f[(f[k+28>>2]|0)+(n<<2)>>2]|0;E=a+20|0;i=f[E>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0)Wl(i);c=f[l+(f[c+(k<<2)>>2]<<2)>>2]|0;if(!(b[m+84>>0]|0))c=f[(f[m+68>>2]|0)+(c<<2)>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;f[G>>2]=c;i=b[m+24>>0]|0;f[F>>2]=f[G>>2];eb(m,F,i,M)|0;i=f[D>>2]|0;w=a+28|0;c=(f[w>>2]|0)==0;a:do if((i|0)>=0){A=N+8|0;x=M+8|0;C=N+16|0;y=M+16|0;z=O+8|0;B=O+16|0;k=(n|0)<0;t=n+1|0;v=n+(k?0:((n>>>0)%3|0|0)==0?2:-1)|0;t=k?n:((t|0)%3|0|0)==0?n+-2|0:t;k=0;r=0;l=0;s=0;m=0;o=0;while(1){do if(!c){c=i+1|0;c=((c|0)%3|0|0)==0?i+-2|0:c;if(!((i>>>0)%3|0)){q=i+2|0;break}else{q=i+-1|0;break}}else{c=t;q=v}while(0);p=f[L>>2]|0;if(!p){c=16;break}a=f[K>>2]|0;if(!a){c=16;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(c<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=18;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;f[G>>2]=c;n=b[p+24>>0]|0;f[F>>2]=f[G>>2];eb(p,F,n,N)|0;p=f[L>>2]|0;if(!p){c=23;break}a=f[K>>2]|0;if(!a){c=23;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(q<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=25;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;f[O+16>>2]=0;f[O+20>>2]=0;f[G>>2]=c;i=b[p+24>>0]|0;f[F>>2]=f[G>>2];eb(p,F,i,O)|0;i=N;_=M;Z=f[_>>2]|0;_=f[_+4>>2]|0;i=hk(f[i>>2]|0,f[i+4>>2]|0,Z|0,_|0)|0;c=I;q=A;aa=x;$=f[aa>>2]|0;aa=f[aa+4>>2]|0;q=hk(f[q>>2]|0,f[q+4>>2]|0,$|0,aa|0)|0;p=I;U=C;n=y;T=f[n>>2]|0;n=f[n+4>>2]|0;U=hk(f[U>>2]|0,f[U+4>>2]|0,T|0,n|0)|0;V=I;W=O;_=hk(f[W>>2]|0,f[W+4>>2]|0,Z|0,_|0)|0;Z=I;W=z;aa=hk(f[W>>2]|0,f[W+4>>2]|0,$|0,aa|0)|0;$=I;W=B;n=hk(f[W>>2]|0,f[W+4>>2]|0,T|0,n|0)|0;T=I;W=Xi(n|0,T|0,q|0,p|0)|0;a=I;Y=Xi(aa|0,$|0,U|0,V|0)|0;X=I;V=Xi(_|0,Z|0,U|0,V|0)|0;U=I;T=Xi(n|0,T|0,i|0,c|0)|0;n=I;c=Xi(aa|0,$|0,i|0,c|0)|0;i=I;p=Xi(_|0,Z|0,q|0,p|0)|0;q=I;k=hk(k|0,r|0,Y|0,X|0)|0;k=Ij(k|0,I|0,W|0,a|0)|0;a=I;l=Ij(V|0,U|0,l|0,s|0)|0;l=hk(l|0,I|0,T|0,n|0)|0;n=I;m=hk(m|0,o|0,p|0,q|0)|0;m=Ij(m|0,I|0,c|0,i|0)|0;o=I;dd(H);i=f[D>>2]|0;c=(f[w>>2]|0)==0;if((i|0)<0){j=a;Q=k;R=n;h=l;g=o;e=m;P=c;break a}else{r=a;s=n}}if((c|0)==16)ra(8295,8544,70,8714);else if((c|0)==18)Wl(n);else if((c|0)==23)ra(8295,8544,70,8714);else if((c|0)==25)Wl(n)}else{j=0;Q=0;R=0;h=0;g=0;e=0;P=c}while(0);aa=(j|0)>-1|(j|0)==-1&Q>>>0>4294967295;i=hk(0,0,Q|0,j|0)|0;c=aa?j:I;X=(R|0)>-1|(R|0)==-1&h>>>0>4294967295;Y=hk(0,0,h|0,R|0)|0;Z=X?R:I;$=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;_=hk(0,0,e|0,g|0)|0;$=Ij((X?h:Y)|0,Z|0,($?e:_)|0,($?g:I)|0)|0;c=Ij($|0,I|0,(aa?Q:i)|0,c|0)|0;i=I;if(P)if((c|0)>536870912){aa=zj(c|0,i|0,29)|0;aa=aa&7;i=Dg(Q|0,j|0,aa|0,0)|0;j=I;h=Dg(h|0,R|0,aa|0,0)|0;c=I;e=Dg(e|0,g|0,aa|0,0)|0;g=I}else{i=Q;c=R}else if((i|0)>0|(i|0)==0&c>>>0>536870912){$=zj(c|0,i|0,29)|0;aa=I;i=Dg(Q|0,j|0,$|0,aa|0)|0;j=I;h=Dg(h|0,R|0,$|0,aa|0)|0;c=I;e=Dg(e|0,g|0,$|0,aa|0)|0;g=I}else{i=Q;c=R}_=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;$=hk(0,0,i|0,j|0)|0;aa=_?j:I;V=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;W=hk(0,0,h|0,c|0)|0;X=V?c:I;Z=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Y=hk(0,0,e|0,g|0)|0;Z=Ij((V?h:W)|0,X|0,(Z?e:Y)|0,(Z?g:I)|0)|0;aa=Ij(Z|0,I|0,(_?i:$)|0,aa|0)|0;$=I;if(($|0)<0|($|0)==0&aa>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=S;return}else ra(8509,8317,95,8487)}function ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=Ka,l=Ka,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=Jb(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];Zc(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;g=f[d>>2]|0;j=(f[d+4>>2]|0)-g|0;if(!j)i=0;else{_e(B,j);i=f[B>>2]|0;g=f[d>>2]|0}Od(i|0,g|0,j|0)|0;Df(A,c);j=A+12|0;f[j>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;i=f[z>>2]|0;g=f[B>>2]|0;d=i-g|0;if(!d){d=i;i=0}else{_e(j,d);d=f[z>>2]|0;i=f[j>>2]|0;g=f[B>>2]|0}Od(i|0,g|0,d-g|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){i=t;g=s;d=s;while(1){v=X(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else i=i+4|0}v=s+-4|0;i=v&-4;d=t+(i+4)|0;i=v-i|0}else{d=t;g=s;i=s}switch(i|0){case 3:{g=h[d+2>>0]<<16^g;w=12;break}case 2:{w=12;break}case 1:{w=13;break}default:{}}if((w|0)==12){g=h[d+1>>0]<<8^g;w=13}if((w|0)==13)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;j=f[q>>2]|0;r=(j|0)==0;a:do if(!r){p=j+-1|0;d=(p&j|0)==0;if(!d)if(v>>>0>>0)i=v;else i=(v>>>0)%(j>>>0)|0;else i=v&p;g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(i|0))){w=54;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=54;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(i|0))){w=54;break a}g=o+8|0;c=b[g+11>>0]|0;m=c<<24>>24<0;c=c&255;do if(((m?f[o+12>>2]|0:c)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(sh(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{c=c+-1|0;g=g+1|0;if(!c)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=54;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0;if((g|0)!=(i|0)){w=54;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=54;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0;if((g|0)!=(i|0)){w=54;break a}}g=o+8|0;c=b[g+11>>0]|0;m=c<<24>>24<0;c=c&255;do if(((m?f[o+12>>2]|0:c)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(sh(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{c=c+-1|0;g=g+1|0;if(!c)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=54;break}}}else w=54}else{i=0;w=54}while(0);if((w|0)==54){ce(e,a,v,A);c=a+12|0;l=$(((f[c>>2]|0)+1|0)>>>0);D=$(j>>>0);k=$(n[a+16>>2]);do if(r|l>$(D*k)){g=(j>>>0<3|(j+-1&j|0)!=0)&1|j<<1;i=~~$(W($(l/k)))>>>0;ze(a,g>>>0>>0?i:g);g=f[q>>2]|0;i=g+-1|0;if(!(i&g)){j=g;i=i&v;break}if(v>>>0>>0){j=g;i=v}else{j=g;i=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;i=j+-1|0;if(i&j){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0}else g=g&i;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[c>>2]=(f[c>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;Em(e)}if((b[x>>0]|0)<0)Em(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;Em(e);u=C;return}function pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))hf(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Fd(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Fd(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Fd(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Fd(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))hf(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))hf(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+176|0;s=A+136|0;w=A+32|0;v=A;t=A+104|0;x=A+100|0;y=a+4|0;q=f[y>>2]|0;d=f[q+32>>2]|0;o=d+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((o|0)>(l|0)|(o|0)==(l|0)&n>>>0>k>>>0)){c=0;u=A;return c|0}j=f[d>>2]|0;r=b[j+k>>0]|0;d=Ij(k|0,l|0,1,0)|0;m=I;i=p;f[i>>2]=d;f[i+4>>2]=m;if(!((o|0)>(m|0)|(o|0)==(m|0)&n>>>0>d>>>0)){c=0;u=A;return c|0}m=b[j+d>>0]|0;d=Ij(k|0,l|0,2,0)|0;e=I;i=p;f[i>>2]=d;f[i+4>>2]=e;do if(r<<24>>24>-1){i=r<<24>>24;g=f[a+212>>2]|0;if(i>>>0<(((f[a+216>>2]|0)-g|0)/116|0)>>>0){f[g+(i*116|0)>>2]=c;break}else{c=0;u=A;return c|0}}while(0);do if((((h[q+36>>0]|0)<<8|(h[q+37>>0]|0))&65535)>257)if((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0){e=b[j+d>>0]|0;o=Ij(k|0,l|0,3,0)|0;f[p>>2]=o;f[p+4>>2]=I;e=e&255;break}else{c=0;u=A;return c|0}else e=0;while(0);n=f[q+44>>2]|0;if(!(m<<24>>24)){if(r<<24>>24<0)d=a+184|0;else{d=r<<24>>24;w=f[a+212>>2]|0;b[w+(d*116|0)+72>>0]=0;d=w+(d*116|0)+76|0}switch((e&255)<<24>>24){case 0:{ac(s,a,d);d=f[s>>2]|0;break}case 1:{zc(s,a,d);d=f[s>>2]|0;break}default:{c=0;u=A;return c|0}}if(!d){c=0;u=A;return c|0}}else{if(e|0){c=0;u=A;return c|0}j=r<<24>>24;if(r<<24>>24<0){c=0;u=A;return c|0}d=Yi(88)|0;i=f[a+212>>2]|0;k=i+(j*116|0)+76|0;f[d+4>>2]=0;f[d>>2]=2332;l=d+12|0;f[l>>2]=2356;m=d+64|0;f[m>>2]=0;f[d+68>>2]=0;f[d+72>>2]=0;e=d+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d+76>>2]=n;f[d+80>>2]=k;f[d+84>>2]=0;p=w+4|0;f[p>>2]=2356;o=w+56|0;f[o>>2]=0;q=w+60|0;f[q>>2]=0;f[w+64>>2]=0;e=w+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));g=i+(j*116|0)+4|0;f[v>>2]=2356;e=v+4|0;a=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[e>>2]=g;i=f[i+(j*116|0)+68>>2]|0;i=((f[i+4>>2]|0)-(f[i>>2]|0)>>2>>>0)/3|0;b[s>>0]=0;Wd(v+8|0,i,s);Ra[f[(f[v>>2]|0)+8>>2]&127](v);Wc(t,v);Wc(s,t);f[w>>2]=f[s+4>>2];i=w+4|0;nd(i,s)|0;f[s>>2]=2356;e=f[s+20>>2]|0;if(e|0)Em(e);e=f[s+8>>2]|0;if(e|0)Em(e);f[w+36>>2]=g;f[w+40>>2]=k;f[w+44>>2]=n;f[w+48>>2]=d;f[t>>2]=2356;e=f[t+20>>2]|0;if(e|0)Em(e);e=f[t+8>>2]|0;if(e|0)Em(e);f[d+8>>2]=f[w>>2];nd(l,i)|0;e=d+44|0;t=w+36|0;f[e>>2]=f[t>>2];f[e+4>>2]=f[t+4>>2];f[e+8>>2]=f[t+8>>2];f[e+12>>2]=f[t+12>>2];b[e+16>>0]=b[t+16>>0]|0;qd(m,f[o>>2]|0,f[q>>2]|0);f[v>>2]=2356;e=f[v+20>>2]|0;if(e|0)Em(e);e=f[v+8>>2]|0;if(e|0)Em(e);e=f[o>>2]|0;if(e|0){g=f[q>>2]|0;if((g|0)!=(e|0))f[q>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}f[p>>2]=2356;e=f[w+24>>2]|0;if(e|0)Em(e);e=f[w+12>>2]|0;if(e|0)Em(e)}e=Yi(64)|0;f[x>>2]=d;rh(e,x);l=e;d=f[x>>2]|0;f[x>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[y>>2]|0;if((c|0)<0){Ra[f[(f[e>>2]|0)+4>>2]&127](e);c=0;u=A;return c|0}k=d+8|0;j=d+12|0;d=f[j>>2]|0;e=f[k>>2]|0;i=d-e>>2;do if((i|0)<=(c|0)){g=c+1|0;if(g>>>0>i>>>0){Dd(k,g-i|0);break}if(g>>>0>>0?(z=e+(g<<2)|0,(d|0)!=(z|0)):0)do{y=d+-4|0;f[j>>2]=y;d=f[y>>2]|0;f[y>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[j>>2]|0}while((d|0)!=(z|0))}while(0);c=(f[k>>2]|0)+(c<<2)|0;d=f[c>>2]|0;f[c>>2]=l;if(!d){c=1;u=A;return c|0}Ra[f[(f[d>>2]|0)+4>>2]&127](d);c=1;u=A;return c|0}function rb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))hf(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Fd(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Fd(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;g=d+(i>>>5<<2)|0;f[g>>2]=1<<(i&31)|f[g>>2];g=f[(f[e+28>>2]|0)+(f[b>>2]<<2)>>2]|0;d=(f[n>>2]|0)+(g>>>5<<2)|0;i=1<<(g&31);c=f[d>>2]|0;do if(!(i&c)){h=f[(f[e+40>>2]|0)+(g<<2)>>2]|0;if((h|0)<0){f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Fd(k,t,w);y=40;break}m=f[(f[f[e+64>>2]>>2]|0)+(h<<2)>>2]|0;m=(1<<(m&31)&f[(f[e+12>>2]|0)+(m>>>5<<2)>>2]|0)==0;f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Fd(k,t,w);if(m){e=f[a>>2]|0;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}else y=40}else y=40;while(0);if((y|0)==40){y=0;e=f[a>>2]|0;d=f[b>>2]|0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){hf(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function sb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[4006]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[4007]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[4004]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[4002]=f[4002]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=16312+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[4003]=f[4003]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[4007]|0;if((k|0)==(f[4008]|0)){k=(f[4005]|0)+b|0;f[4005]=k;f[4008]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[4007]=0;f[4004]=0;return}if((k|0)==(a|0)){k=(f[4004]|0)+b|0;f[4004]=k;f[4007]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[4002]=f[4002]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=16312+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[4003]=f[4003]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[4007]|0)){f[4004]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=16048+(a<<1<<2)|0;b=f[4002]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=16312+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[4003]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[4003]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[4010]|0)+-1|0;f[4010]=k;if(!k)a=16464;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[4010]=-1;return}function tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+48|0;I=J+24|0;G=J+12|0;m=J;if(!b){I=0;u=J;return I|0}F=a+12|0;n=a+4|0;c=f[n>>2]|0;d=f[a>>2]|0;j=c-d>>2;h=a+16|0;g=f[h>>2]|0;e=f[F>>2]|0;k=g-e>>2;if(j>>>0<=k>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ee(F,j-k|0,2636);d=f[a>>2]|0;c=f[n>>2]|0}f[I>>2]=0;B=I+4|0;f[B>>2]=0;f[I+8>>2]=0;fg(I,c-d>>2);c=f[n>>2]|0;d=f[a>>2]|0;if((c-d|0)>0){j=0;do{k=f[d+(j<<2)>>2]|0;g=f[B>>2]|0;e=f[I>>2]|0;i=g-e>>2;if((k|0)>=(i|0)){h=k+1|0;f[G>>2]=0;if(h>>>0<=i>>>0){if(h>>>0>>0?(l=e+(h<<2)|0,(g|0)!=(l|0)):0)f[B>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{ee(I,h-i|0,G);c=f[n>>2]|0;d=f[a>>2]|0}}A=(f[I>>2]|0)+(k<<2)|0;f[A>>2]=(f[A>>2]|0)+1;j=j+1|0}while((j|0)<(c-d>>2|0))}c=c-d|0;h=c>>2;f[G>>2]=0;A=G+4|0;f[A>>2]=0;f[G+8>>2]=0;if(!h){e=0;d=0}else{if(h>>>0>536870911)Wl(G);g=Yi(c<<1)|0;f[A>>2]=g;f[G>>2]=g;f[G+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){z=e;f[z>>2]=-1;f[z+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[A>>2]=g+(h<<3);e=g;d=g}c=f[B>>2]|0;g=f[I>>2]|0;h=c-g|0;z=h>>2;f[m>>2]=0;y=m+4|0;f[y>>2]=0;f[m+8>>2]=0;x=g;do if(z)if(z>>>0>1073741823)Wl(m);else{E=Yi(h)|0;f[m>>2]=E;D=E+(z<<2)|0;f[m+8>>2]=D;Cf(E|0,0,h|0)|0;f[y>>2]=D;C=E;break}else{C=0;D=0;E=0}while(0);if((c|0)!=(g|0)){c=0;g=0;do{f[C+(c<<2)>>2]=g;g=(f[x+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}w=f[a>>2]|0;c=(f[n>>2]|0)-w|0;if((c|0)>0){v=a+40|0;t=c>>2;l=C;r=0;j=e;p=e;q=e;o=e;s=e;while(1){i=(r|0)<0;c=r+1|0;if(!i){c=((c|0)%3|0|0)==0?r+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[w+(c<<2)>>2]|0;c=(r>>>0)%3|0;g=((c|0)==0?2:-1)+r|0;if((g|0)<0){a=-1073741824;n=h}else{a=f[w+(g<<2)>>2]|0;n=h}}else{c=(r>>>0)%3|0;a=-1073741824;n=-1073741824}if((r|0)==((i?-1073741824:r-c|0)|0)){if(i)c=-1073741824;else c=f[w+(r<<2)>>2]|0;if((n|0)==(a|0)|((c|0)==(n|0)|(c|0)==(a|0))){f[v>>2]=(f[v>>2]|0)+1;i=r+2|0;h=p;k=q;c=o;g=s}else H=55}else H=55;a:do if((H|0)==55){H=0;m=f[x+(a<<2)>>2]|0;b:do if((m|0)>0){c=0;i=f[l+(a<<2)>>2]|0;while(1){g=f[o+(i<<3)>>2]|0;if((g|0)<0){g=j;h=p;c=o;break b}if((g|0)==(n|0))break;c=c+1|0;if((c|0)<(m|0))i=i+1|0;else{g=j;h=p;c=o;break b}}k=f[o+(i<<3)+4>>2]|0;h=p;while(1){c=c+1|0;if((c|0)>=(m|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[j+(i<<3)>>2]|0)<0)break;else{i=g;h=j}}f[q+(i<<3)>>2]=-1;if((k|0)<0){g=q;h=q;c=q}else{i=f[F>>2]|0;f[i+(r<<2)>>2]=k;f[i+(k<<2)>>2]=r;i=r;j=q;h=q;k=q;c=q;g=s;break a}}else{g=j;h=p;c=o}while(0);i=f[x+(n<<2)>>2]|0;if((i|0)>0){h=0;c=f[C+(n<<2)>>2]|0;while(1){g=s+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){l=C;i=r;j=s;h=s;k=s;c=s;g=s;break a}else c=c+1|0}f[g>>2]=a;f[e+(c<<3)+4>>2]=r;l=C;i=r;j=e;h=e;k=e;c=e;g=e}else{i=r;j=g;k=q;g=s}}while(0);r=i+1|0;if((r|0)>=(t|0))break;else{p=h;q=k;o=c;s=g}}}f[b>>2]=z;if(C){if((D|0)!=(C|0))f[y>>2]=D+(~((D+-4-C|0)>>>2)<<2);Em(E);d=f[G>>2]|0;e=d}if(e|0){c=f[A>>2]|0;if((c|0)!=(e|0))f[A>>2]=c+(~((c+-8-e|0)>>>3)<<3);Em(d)}c=f[I>>2]|0;if(c|0){d=f[B>>2]|0;if((d|0)!=(c|0))f[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}I=1;u=J;return I|0}function ub(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))hf(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Fd(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Fd(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){m=(c|0)/3|0;d=d+(m>>>5<<2)|0;f[d>>2]=1<<(m&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)i=-1073741824;else i=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;h=(f[n>>2]|0)+(i>>>5<<2)|0;j=1<<(i&31);g=f[h>>2]|0;do if(!(j&g)){e=f[a>>2]|0;c=f[(f[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=f[(f[e+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}}f[h>>2]=g|j;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Fd(k,t,w);if((c|0)<0){d=f[b>>2]|0;y=42;break}d=f[a>>2]|0;c=f[b>>2]|0;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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}else y=42;while(0);if((y|0)==42){y=0;e=f[a>>2]|0;if((d|0)<0){y=45;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=50;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=55;break a}}else y=50;while(0);if((y|0)==50){y=0;if(g){y=52;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=52;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==45){f[w>>2]=-1073741824;y=52}else if((y|0)==55){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){hf(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==52){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function vb(a,c){a=a|0;c=c|0;var d=0,e=0,g=Ka,i=Ka,j=0,k=0,l=0,m=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=Ka;v=b[c+11>>0]|0;x=v<<24>>24<0;w=x?f[c>>2]|0:c;v=x?f[c+4>>2]|0:v&255;if(v>>>0>3){j=w;m=v;k=v;while(1){x=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(x>>>24^x,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}x=v+-4|0;k=x&-4;l=w+(k+4)|0;j=m;k=x-k|0}else{l=w;j=v;k=v}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;z=6;break}case 2:{o=j;z=6;break}case 1:{p=j;z=7;break}default:q=j}if((z|0)==6){p=h[l+1>>0]<<8^o;z=7}if((z|0)==7)q=X(h[l>>0]^p,1540483477)|0;x=X(q>>>13^q,1540483477)|0;x=x>>>15^x;t=a+4|0;s=f[t>>2]|0;u=(s|0)==0;a:do if(!u){q=s+-1|0;k=(q&s|0)==0;if(!k)if(x>>>0>>0)r=x;else r=(x>>>0)%(s>>>0)|0;else r=x&q;j=f[(f[a>>2]|0)+(r<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){p=(v|0)==0;if(k){if(p){d=e;while(1){w=f[d+4>>2]|0;if(!((w|0)==(x|0)|(w&q|0)==(r|0))){d=r;break a}w=b[d+8+11>>0]|0;if(!((w<<24>>24<0?f[d+12>>2]|0:w&255)|0)){j=d;break}d=f[d>>2]|0;if(!d){d=r;break a}}a=j+20|0;return a|0}else j=e;b:while(1){o=f[j+4>>2]|0;if(!((o|0)==(x|0)|(o&q|0)==(r|0))){d=r;break a}k=j+8|0;m=b[k+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[j+12>>2]|0:m)|0)==(v|0)){l=f[k>>2]|0;if(o)if(!(sh(l,w,v)|0)){z=63;break b}else break;if((l&255)<<24>>24==(b[w>>0]|0)){l=w;do{m=m+-1|0;k=k+1|0;if(!m){z=63;break b}l=l+1|0}while((b[k>>0]|0)==(b[l>>0]|0))}}while(0);j=f[j>>2]|0;if(!j){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}if(p){while(1){d=f[e+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=s>>>0)d=(d>>>0)%(s>>>0)|0;if((d|0)!=(r|0)){d=r;break a}}w=b[e+8+11>>0]|0;if(!((w<<24>>24<0?f[e+12>>2]|0:w&255)|0)){j=e;break}e=f[e>>2]|0;if(!e){d=r;break a}}a=j+20|0;return a|0}c:while(1){j=f[e+4>>2]|0;if((j|0)!=(x|0)){if(j>>>0>=s>>>0)j=(j>>>0)%(s>>>0)|0;if((j|0)!=(r|0)){d=r;break a}}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(v|0)){k=f[j>>2]|0;if(m)if(!(sh(k,w,v)|0)){j=e;z=63;break c}else break;if((k&255)<<24>>24==(b[w>>0]|0)){k=w;do{l=l+-1|0;j=j+1|0;if(!l){j=e;z=63;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}else d=r}else d=0;while(0);l=Yi(24)|0;Df(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=x;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);A=$(s>>>0);g=$(n[a+16>>2]);do if(u|i>$(A*g)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~$(W($(i/g)))>>>0;ze(a,d>>>0>>0?e:d);d=f[t>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&x;break}if(x>>>0>>0){j=d;d=x}else{j=d;d=(x>>>0)%(d>>>0)|0}}else j=s;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(e&j){if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0}else d=d&e;y=(f[a>>2]|0)+(d<<2)|0;z=61}}else{f[l>>2]=f[d>>2];y=d;z=61}if((z|0)==61)f[y>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))ra(8295,8317,46,8487);if(!(f[a+8>>2]|0))ra(8295,8317,46,8487);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];we(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];we(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];we(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=hk(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=hk(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=hk(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=hk(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=hk(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=hk(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Xi(H|0,J|0,i|0,h|0)|0;M=I;P=Xi(T|0,S|0,K|0,L|0)|0;O=I;L=Xi(R|0,Q|0,K|0,L|0)|0;K=I;J=Xi(H|0,J|0,n|0,j|0)|0;H=I;j=Xi(T|0,S|0,n|0,j|0)|0;n=I;h=Xi(R|0,Q|0,i|0,h|0)|0;i=I;l=hk(l|0,k|0,P|0,O|0)|0;l=Ij(l|0,I|0,N|0,M|0)|0;k=I;g=Ij(L|0,K|0,g|0,m|0)|0;g=hk(g|0,I|0,J|0,H|0)|0;m=I;c=hk(c|0,e|0,h|0,i|0)|0;c=Ij(c|0,I|0,j|0,n|0)|0;e=I;Td(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=hk(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=hk(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=hk(0,0,c|0,e|0)|0;S=Ij((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Ij(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=zj(h|0,i|0,29)|0;T=T&7;i=Dg(l|0,k|0,T|0,0)|0;j=I;g=Dg(g|0,m|0,T|0,0)|0;h=I;c=Dg(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=zj(h|0,i|0,29)|0;T=I;i=Dg(l|0,k|0,S|0,T|0)|0;j=I;g=Dg(g|0,m|0,S|0,T|0)|0;h=I;c=Dg(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=hk(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=hk(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=hk(0,0,c|0,e|0)|0;Q=Ij((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Ij(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else ra(8509,8317,95,8487)}function xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else hf(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))hf(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else hf(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){hf(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)ra(12948,12860,64,12943);else if((C|0)==33)ra(12948,12860,64,12943)}function yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=u;u=u+16|0;k=l;i=c+8|0;o=i;m=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Ij(e|0,f[g+4>>2]|0,5,0)|0;n=I;if((o|0)<(n|0)|(o|0)==(n|0)&m>>>0>>0){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}e=(f[c>>2]|0)+e|0;b[d>>0]=b[e>>0]|0;b[d+1>>0]=b[e+1>>0]|0;b[d+2>>0]=b[e+2>>0]|0;b[d+3>>0]=b[e+3>>0]|0;b[d+4>>0]=b[e+4>>0]|0;e=j;e=Ij(f[e>>2]|0,f[e+4>>2]|0,5,0)|0;g=I;o=j;f[o>>2]=e;f[o+4>>2]=g;if(sh(d,12051,5)|0){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=17;g=e;c=12057;i=g+17|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+17>>0]=0;f[a>>2]=-1;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}o=i;n=f[o+4>>2]|0;if(!((n|0)>(g|0)|((n|0)==(g|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}b[d+5>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Ij(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}b[d+6>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Ij(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}b[d+7>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Ij(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}b[d+8>>0]=b[(f[c>>2]|0)+e>>0]|0;o=j;m=f[o>>2]|0;o=f[o+4>>2]|0;e=Ij(m|0,o|0,1,0)|0;n=j;f[n>>2]=e;f[n+4>>2]=I;n=f[i>>2]|0;i=f[i+4>>2]|0;o=Ij(m|0,o|0,3,0)|0;m=I;if(!((i|0)<(m|0)|(i|0)==(m|0)&n>>>0>>0)){n=d+10|0;o=(f[c>>2]|0)+e|0;o=h[o>>0]|h[o+1>>0]<<8;b[n>>0]=o;b[n+1>>0]=o>>8;n=j;n=Ij(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;o=j;f[o>>2]=n;f[o+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=l;return}e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}function zb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=a+8|0;f[z>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{Ve(i,e-j|0);d=f[z>>2]|0}w=f[a+48>>2]|0;x=f[a+52>>2]|0;v=e>>>0>1073741823?-1:e<<2;y=Bm(v)|0;Cf(y|0,0,v|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[y+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;B=18}}else{d=d-(f[i>>2]|0)|0;B=18}if((B|0)==18){B=0;f[g>>2]=d}h=h+1|0;d=f[z>>2]|0}while((h|0)<(d|0))}}r=f[a+56>>2]|0;g=f[r>>2]|0;u=(f[r+4>>2]|0)-g|0;v=u>>2;if((u|0)<=4){Cm(y);return 1}t=a+16|0;s=a+32|0;u=a+12|0;q=a+20|0;o=w+12|0;p=(e|0)>0;n=1;while(1){if(v>>>0<=n>>>0){B=24;break}h=f[g+(n<<2)>>2]|0;m=X(n,e)|0;if((h|0)>=0?(A=f[(f[o>>2]|0)+(h<<2)>>2]|0,(A|0)>=0):0){i=f[w>>2]|0;j=f[x>>2]|0;k=f[j+(f[i+(A<<2)>>2]<<2)>>2]|0;h=A+1|0;h=((h|0)%3|0|0)==0?A+-2|0:h;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;l=f[j+(h<<2)>>2]|0;h=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;h=f[j+(h<<2)>>2]|0;if((k|0)<(n|0)&(l|0)<(n|0)&(h|0)<(n|0)){k=X(k,e)|0;j=X(l,e)|0;i=X(h,e)|0;if(p){h=0;do{f[y+(h<<2)>>2]=(f[c+(h+i<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+k<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}l=b+(m<<2)|0;k=c+(m<<2)|0;if((d|0)>0){i=0;do{d=f[y+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){j=f[s>>2]|0;f[j+(i<<2)>>2]=h}else{m=f[u>>2]|0;j=f[s>>2]|0;f[j+(i<<2)>>2]=(d|0)<(m|0)?m:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[l+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;h=k+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;B=56}}else{d=d-(f[q>>2]|0)|0;B=56}if((B|0)==56){B=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}else B=34}else B=34;if((B|0)==34){B=0;j=c+((X(n+-1|0,e)|0)<<2)|0;a=b+(m<<2)|0;l=c+(m<<2)|0;if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){k=f[s>>2]|0;f[k+(i<<2)>>2]=h}else{m=f[u>>2]|0;k=f[s>>2]|0;f[k+(i<<2)>>2]=(d|0)<(m|0)?m:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;B=44}}else{d=d-(f[q>>2]|0)|0;B=44}if((B|0)==44){B=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}n=n+1|0;if((n|0)>=(v|0)){B=22;break}}if((B|0)==22){Cm(y);return 1}else if((B|0)==24)Wl(r);return 0}function Ab(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;z=a+8|0;f[z>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{Ve(i,e-j|0);d=f[z>>2]|0}w=f[a+48>>2]|0;x=f[a+52>>2]|0;v=e>>>0>1073741823?-1:e<<2;y=Bm(v)|0;Cf(y|0,0,v|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[y+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;E=18}}else{d=d-(f[i>>2]|0)|0;E=18}if((E|0)==18){E=0;f[g>>2]=d}h=h+1|0;d=f[z>>2]|0}while((h|0)<(d|0))}}r=f[a+56>>2]|0;g=f[r>>2]|0;u=(f[r+4>>2]|0)-g|0;v=u>>2;if((u|0)<=4){Cm(y);return 1}t=a+16|0;s=a+32|0;u=a+12|0;q=a+20|0;p=w+64|0;n=w+28|0;o=(e|0)>0;m=1;while(1){if(v>>>0<=m>>>0){E=24;break}h=f[g+(m<<2)>>2]|0;l=X(m,e)|0;if((!((h|0)<0?1:(1<<(h&31)&f[(f[w>>2]|0)+(h>>>5<<2)>>2]|0)!=0)?(D=f[(f[(f[p>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(D|0)>=0):0)?(C=f[n>>2]|0,a=f[x>>2]|0,A=f[a+(f[C+(D<<2)>>2]<<2)>>2]|0,B=D+1|0,B=f[a+(f[C+((((B|0)%3|0|0)==0?D+-2|0:B)<<2)>>2]<<2)>>2]|0,C=f[a+(f[C+((((D>>>0)%3|0|0)==0?2:-1)+D<<2)>>2]<<2)>>2]|0,(A|0)<(m|0)&(B|0)<(m|0)&(C|0)<(m|0)):0){i=X(A,e)|0;j=X(B,e)|0;k=X(C,e)|0;if(o){h=0;do{f[y+(h<<2)>>2]=(f[c+(h+k<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+i<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}a=b+(l<<2)|0;k=c+(l<<2)|0;if((d|0)>0){i=0;do{d=f[y+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){j=f[s>>2]|0;f[j+(i<<2)>>2]=h}else{l=f[u>>2]|0;j=f[s>>2]|0;f[j+(i<<2)>>2]=(d|0)<(l|0)?l:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;h=k+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;E=52}}else{d=d-(f[q>>2]|0)|0;E=52}if((E|0)==52){E=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}else{j=c+((X(m+-1|0,e)|0)<<2)|0;a=b+(l<<2)|0;l=c+(l<<2)|0;if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){k=f[s>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[u>>2]|0;k=f[s>>2]|0;f[k+(i<<2)>>2]=(d|0)<(h|0)?h:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;E=40}}else{d=d-(f[q>>2]|0)|0;E=40}if((E|0)==40){E=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}m=m+1|0;if((m|0)>=(v|0)){E=22;break}}if((E|0)==22){Cm(y);return 1}else if((E|0)==24)Wl(r);return 0}function Bb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))ra(12781,12674,68,12771);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Em(g)}Em(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Em(g)}Em(e)}Em(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){lf(d);Em(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){lf(c);Em(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){hi(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v;t=a+68|0;f[t>>2]=(f[t>>2]|0)+1;t=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;s=t>>2;if((t|0)<=0){u=v;return}p=a+4|0;o=a+56|0;q=a+72|0;t=a+76|0;b=f[a+44+(b<<2)>>2]|0;n=0;a:while(1){l=(b|0)<0;j=l?-1073741824:(b>>>0)/3|0;k=(f[o>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]|1<<(j&31);f[q>>2]=(f[q>>2]|0)+1;do if(n){d=f[a>>2]|0;if((b|0)==-1073741824)h=-1073741824;else{g=(b|0)/3|0;if((b|0)<=-3){m=39;break a}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){m=41;break a}h=f[e+(g*12|0)+(((b|0)%3|0)<<2)>>2]|0}f[t>>2]=h;f[r>>2]=h;g=f[c>>2]|0;e=g+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+8>>2]|0)>>>0){f[d>>2]=h;f[e>>2]=d+4}else hf(g,r);if(!(n&1)){d=b+1|0;if(l)break;b=((d|0)%3|0|0)==0?b+-2|0:d;m=53;break}if(!l)if(!((b>>>0)%3|0)){b=b+2|0;m=53;break}else{b=b+-1|0;m=53;break}}else{e=f[a>>2]|0;h=(b|0)==-1073741824;if(h)e=-1073741824;else{g=(b|0)/3|0;if((b|0)<=-3){m=7;break a}d=f[e+96>>2]|0;if((g|0)>=(((f[e+100>>2]|0)-d|0)/12|0|0)){m=9;break a}e=f[d+(g*12|0)+(((b|0)%3|0)<<2)>>2]|0}f[r>>2]=e;k=f[c>>2]|0;i=k+4|0;d=f[i>>2]|0;j=k+8|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else hf(k,r);d=b+1|0;if(l)if((b|0)==-1073741824)e=-1073741824;else{d=b;m=17}else if(!((d|0)%3|0)){d=b+-2|0;m=19}else m=17;if((m|0)==17)if((d|0)>-3)m=19;else{m=18;break a}if((m|0)==19){m=0;w=f[a>>2]|0;g=(d|0)/3|0;e=f[w+96>>2]|0;if((g|0)>=(((f[w+100>>2]|0)-e|0)/12|0|0)){m=20;break a}e=f[e+(g*12|0)+(((d|0)%3|0)<<2)>>2]|0}f[r>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else hf(k,r);if(l)if(h)e=-1073741824;else{h=b;m=28}else{h=(((b>>>0)%3|0|0)==0?2:-1)+b|0;m=28}if((m|0)==28){d=f[a>>2]|0;g=(h|0)/3|0;if((h|0)<=-3){m=29;break a}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){m=31;break a}e=f[e+(g*12|0)+(((h|0)%3|0)<<2)>>2]|0}f[t>>2]=e;f[r>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else hf(k,r);m=53}while(0);if((m|0)==53){m=0;if((b|0)>=0)b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0}n=n+1|0;if((n|0)>=(s|0)){m=3;break}}if((m|0)==3){u=v;return}else if((m|0)==7)ra(12835,12860,63,12943);else if((m|0)==9)ra(12948,12860,64,12943);else if((m|0)==18)ra(12835,12860,63,12943);else if((m|0)==20)ra(12948,12860,64,12943);else if((m|0)==29)ra(12835,12860,63,12943);else if((m|0)==31)ra(12948,12860,64,12943);else if((m|0)==39)ra(12835,12860,63,12943);else if((m|0)==41)ra(12948,12860,64,12943)}function Db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(6911,6922,60,7043);if((d|0)>=31)ra(7063,6922,61,7043);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(8295,9099,99,9262);if((e|0)!=2)ra(9284,9099,102,9262);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Wl(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];nb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Ij(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Ij(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Xi(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Dg(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Xi(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Dg(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Rg(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;Ie(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Wl(d);else if((g|0)==16)ra(9308,9099,116,9262);else if((g|0)==21)ra(9375,6922,99,9463);return 0}function Eb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(6911,6922,60,7043);if((d|0)>=31)ra(7063,6922,61,7043);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(8295,9099,99,9262);if((e|0)!=2)ra(9284,9099,102,9262);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Wl(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];wb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Ij(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Ij(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Xi(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Dg(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Xi(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Dg(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Rg(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;Ie(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Wl(d);else if((g|0)==16)ra(9308,9099,116,9262);else if((g|0)==21)ra(9375,6922,99,9463);return 0}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))hf(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))hf(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))hf(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){hf(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Gb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=u;u=u+80|0;z=D+76|0;y=D;C=D+72|0;x=D+64|0;B=D+68|0;if(!(Vf(z,c)|0)){C=0;u=D;return C|0}d=f[z>>2]|0;if(!d){C=0;u=D;return C|0}A=a+4|0;h=a+8|0;g=f[h>>2]|0;e=f[A>>2]|0;j=g-e>>2;if(d>>>0>j>>>0){Ve(A,d-j|0);if(!(f[z>>2]|0)){C=1;u=D;return C|0}}else if(d>>>0>>0?(i=e+(d<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2);o=f[a+32>>2]|0;r=c+8|0;t=c+16|0;v=y+60|0;q=o+8|0;p=o+12|0;s=a+16|0;m=a+20|0;n=0;while(1){g=r;e=f[g>>2]|0;g=f[g+4>>2]|0;a=t;j=f[a>>2]|0;a=f[a+4>>2]|0;if(!((g|0)>(a|0)|(g|0)==(a|0)&e>>>0>j>>>0)){d=0;e=44;break}h=f[c>>2]|0;l=b[h+j>>0]|0;d=Ij(j|0,a|0,1,0)|0;k=I;i=t;f[i>>2]=d;f[i+4>>2]=k;if(!((g|0)>(k|0)|(g|0)==(k|0)&e>>>0>d>>>0)){d=0;e=44;break}k=b[h+d>>0]|0;d=Ij(j|0,a|0,2,0)|0;i=I;E=t;f[E>>2]=d;f[E+4>>2]=i;if(!((g|0)>(i|0)|(g|0)==(i|0)&e>>>0>d>>>0)){d=0;e=44;break}i=b[h+d>>0]|0;d=Ij(j|0,a|0,3,0)|0;E=I;F=t;f[F>>2]=d;f[F+4>>2]=E;if(!((g|0)>(E|0)|(g|0)==(E|0)&e>>>0>d>>>0)){d=0;e=44;break}e=b[h+d>>0]|0;F=Ij(j|0,a|0,4,0)|0;d=t;f[d>>2]=F;f[d+4>>2]=I;d=k&255;if((k+-1&255)>10){d=0;e=44;break}Eh(y);h=X(Uh(d)|0,i&255)|0;Uf(y,l&255,0,i,d,e<<24>>24!=0,h,((h|0)<0)<<31>>31,0,0);Vf(C,c)|0;f[v>>2]=f[C>>2];i=Yi(96)|0;xh(i,y);f[x>>2]=i;i=ae(o,x)|0;h=f[x>>2]|0;f[x>>2]=0;if(h|0){F=h+88|0;d=f[F>>2]|0;f[F>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}F=h+64|0;d=f[F>>2]|0;f[F>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(h)}if((i|0)<=-1){e=33;break}d=f[q>>2]|0;if(((f[p>>2]|0)-d>>2|0)<=(i|0)){e=35;break}f[(f[d+(i<<2)>>2]|0)+60>>2]=f[C>>2];f[(f[A>>2]|0)+(n<<2)>>2]=i;e=f[m>>2]|0;d=f[s>>2]|0;h=e-d>>2;if((i|0)>=(h|0)){g=i+1|0;f[B>>2]=-1;if(g>>>0<=h>>>0){if(g>>>0>>0?(w=d+(g<<2)|0,(e|0)!=(w|0)):0)f[m>>2]=e+(~((e+-4-w|0)>>>2)<<2)}else{ee(s,g-h|0,B);d=f[s>>2]|0}}f[d+(i<<2)>>2]=n;n=n+1|0;if(n>>>0>=(f[z>>2]|0)>>>0){d=1;e=44;break}}if((e|0)==33)ra(12658,12674,67,12771);else if((e|0)==35)ra(12781,12674,68,12771);else if((e|0)==44){u=D;return d|0}return 0}function Hb(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;k=n+12|0;m=n;f[c+40>>2]=e;j=c+32|0;f[j>>2]=g;f[c+4>>2]=i;yb(a,g,k);if(f[a>>2]|0){u=n;return}l=a+4|0;i=l+11|0;if((b[i>>0]|0)<0)Em(f[l>>2]|0);g=h[k+7>>0]|0;if((g|0)!=(Ma[f[(f[c>>2]|0)+8>>2]&127](c)|0)){e=Yi(64)|0;f[m>>2]=e;f[m+8>>2]=-2147483584;f[m+4>>2]=50;g=e;i=12102;j=g+50|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+50>>0]=0;f[a>>2]=-1;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}e=b[k+5>>0]|0;b[c+36>>0]=e;g=b[k+6>>0]|0;b[c+37>>0]=g;if((e+-1&255)>1){e=Yi(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=22;g=e;i=12153;j=g+22|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+22>>0]=0;f[a>>2]=-5;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}if(e<<24>>24==2&(g&255)>2){e=Yi(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=22;g=e;i=12176;j=g+22|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+22>>0]=0;f[a>>2]=-5;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}g=(g&255|(e&255)<<8)&65535;d[(f[j>>2]|0)+38>>1]=g;if((g&65535)>258?(d[k+10>>1]|0)<0:0){Cc(a,c);if(f[a>>2]|0){u=n;return}if((b[i>>0]|0)<0)Em(f[l>>2]|0)}if(!(Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0)){e=Yi(48)|0;f[m>>2]=e;f[m+8>>2]=-2147483600;f[m+4>>2]=33;g=e;i=12199;j=g+33|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+33>>0]=0;f[a>>2]=-1;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}if(!(Ma[f[(f[c>>2]|0)+20>>2]&127](c)|0)){e=Yi(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=31;g=e;i=12233;j=g+31|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+31>>0]=0;f[a>>2]=-1;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}if(Ma[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=n;return}e=Yi(48)|0;f[m>>2]=e;f[m+8>>2]=-2147483600;f[m+4>>2]=34;g=e;i=12265;j=g+34|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+34>>0]=0;f[a>>2]=-1;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}function Ib(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(m|0)==(q|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(sh(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(m|0)==(c|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(sh(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function Jb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(q|0)==(m|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(sh(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(c|0)==(m|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(sh(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function Kb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Em(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}s=Yi(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)Em(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(!s){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&r;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;else{h=g;i=e;e=g}a:while(1){q=h;g=i;p=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!s){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&r;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{n=e+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[e+12>>2]|0:m;l=(o|0)==0;if(k){i=e;while(1){j=h+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[h+12>>2]|0:m&255)|0)){h=i;break c}if(!l?sh(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{m=h;h=i;i=m}}}if(l){i=e;while(1){o=b[h+8+11>>0]|0;if((o<<24>>24<0?f[h+12>>2]|0:o&255)|0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{o=h;h=i;i=o}}}l=e;while(1){i=h+8|0;k=b[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[h+12>>2]|0:k&255)|0)){h=l;break c}i=j?f[i>>2]|0:i;if((f[n>>2]&255)<<24>>24==(b[i>>0]|0)){j=m;k=n}else{h=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((b[k>>0]|0)!=(b[i>>0]|0)){h=l;break c}}i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[q>>2]|0;if(!e){d=43;break a}}g=f[e>>2]|0;if(!g){d=43;break a}else{q=e;p=e}}f[h>>2]=p;i=f[e>>2]|0;if(!i){d=43;break}else{h=e;d=g}}if((d|0)==43)return}function Lb(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=a+4|0;t=f[c>>2]|0;c=t;do if((t|0)!=(o|0)){j=t+16|0;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[t+20>>2]|0:i&255;q=b[g+11>>0]|0;r=q<<24>>24<0;q=r?f[g+4>>2]|0:q&255;l=i>>>0>>0;h=l?i:q;if((h|0)!=0?(k=sh(r?f[g>>2]|0:g,m?f[j>>2]|0:j,h)|0,(k|0)!=0):0){if((k|0)<0)break}else u=4;if((u|0)==4?q>>>0>>0:0)break;h=q>>>0>>0?q:i;if((h|0)!=0?(n=sh(m?f[j>>2]|0:j,r?f[g>>2]|0:g,h)|0,(n|0)!=0):0){if((n|0)>=0)u=36}else u=20;if((u|0)==20?!l:0)u=36;if((u|0)==36){f[d>>2]=c;f[e>>2]=c;d=e;return d|0}m=t+4|0;h=f[m>>2]|0;if(!h){i=t+8|0;h=f[i>>2]|0;if((f[h>>2]|0)!=(t|0))do{p=f[i>>2]|0;i=p+8|0;h=f[i>>2]|0}while((f[h>>2]|0)!=(p|0))}else while(1){i=f[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(o|0)){j=h+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;k=l?f[h+20>>2]|0:k&255;i=k>>>0>>0?k:q;if((i|0)!=0?(s=sh(r?f[g>>2]|0:g,l?f[j>>2]|0:j,i)|0,(s|0)!=0):0){if((s|0)<0)break}else u=30;if((u|0)==30?q>>>0>>0:0)break;d=vd(a,d,g)|0;return d|0}while(0);if(!(f[t+4>>2]|0)){f[d>>2]=c;d=m;return d|0}else{f[d>>2]=h;d=h;return d|0}}while(0);e=f[t>>2]|0;do if((t|0)!=(f[a>>2]|0)){if(!e){h=t;while(1){c=f[h+8>>2]|0;if((f[c>>2]|0)==(h|0))h=c;else{h=c;break}}}else{h=e;while(1){c=f[h+4>>2]|0;if(!c)break;else h=c}}c=h;j=h+16|0;k=b[g+11>>0]|0;l=k<<24>>24<0;k=l?f[g+4>>2]|0:k&255;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[h+20>>2]|0:i&255;h=k>>>0>>0?k:i;if((h|0)!=0?(p=sh(m?f[j>>2]|0:j,l?f[g>>2]|0:g,h)|0,(p|0)!=0):0){if((p|0)<0)break}else u=12;if((u|0)==12?i>>>0>>0:0)break;d=vd(a,d,g)|0;return d|0}while(0);if(!e){f[d>>2]=t;d=t;return d|0}else{u=c;f[d>>2]=u;d=u+4|0;return d|0}return 0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((r|0)<1){c=0;return c|0}m=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;s=X(m,r)|0;Cd(a,m,r);m=a+16|0;q=f[m>>2]|0;q=(f[f[q>>2]>>2]|0)+(f[q+48>>2]|0)|0;o=d+8|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>k>>>0)){c=0;return c|0}h=f[d>>2]|0;n=b[h+k>>0]|0;i=Ij(k|0,l|0,1,0)|0;j=I;t=p;f[t>>2]=i;f[t+4>>2]=j;a:do if(!(n<<24>>24)){if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>i>>>0)){t=0;return t|0}n=b[h+i>>0]|0;t=Ij(k|0,l|0,2,0)|0;l=p;f[l>>2]=t;f[l+4>>2]=I;l=n&255;t=(l|0)==(Uh(5)|0);e=f[(f[m>>2]|0)+64>>2]|0;e=(f[e+4>>2]|0)-(f[e>>2]|0)|0;if(t){g=s<<2;if(e>>>0>>0){t=0;return t|0}m=o;o=f[m>>2]|0;m=f[m+4>>2]|0;t=p;e=f[t>>2]|0;t=Ij(e|0,f[t+4>>2]|0,g|0,0)|0;n=I;if((m|0)<(n|0)|(m|0)==(n|0)&o>>>0>>0){t=0;return t|0}else{Od(q|0,(f[d>>2]|0)+e|0,g|0)|0;t=p;t=Ij(f[t>>2]|0,f[t+4>>2]|0,g|0,0)|0;i=p;f[i>>2]=t;f[i+4>>2]=I;i=18;break}}i=X(l,s)|0;if(e>>>0>>0){t=0;return t|0}j=o;h=f[j>>2]|0;j=f[j+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;t=hk(h|0,j|0,e|0,g|0)|0;m=I;if((m|0)<0|(m|0)==0&t>>>0>>0){t=0;return t|0}if(!s)i=19;else{k=n&255;i=j;j=0;while(1){t=Ij(e|0,g|0,k|0,0)|0;n=I;if(!((i|0)<(n|0)|(i|0)==(n|0)&h>>>0>>0)){Od(q+(j<<2)|0,(f[d>>2]|0)+e|0,l|0)|0;e=p;e=Ij(f[e>>2]|0,f[e+4>>2]|0,k|0,0)|0;g=I;t=p;f[t>>2]=e;f[t+4>>2]=g}j=j+1|0;if((j|0)==(s|0)){i=18;break a}h=o;i=f[h+4>>2]|0;h=f[h>>2]|0}}}else if(Ef(s,r,d,q)|0)i=18;else{t=0;return t|0}while(0);do if((i|0)==18)if(!s)i=19;else{g=a+20|0;e=f[g>>2]|0;if(e|0?Ma[f[(f[e>>2]|0)+32>>2]&127](e)|0:0){h=1;break}li(q,s,q);h=1}while(0);if((i|0)==19){g=a+20|0;h=0}e=f[g>>2]|0;if(e|0){if(!(Na[f[(f[e>>2]|0)+40>>2]&127](e,d)|0)){t=0;return t|0}if(h?(t=f[g>>2]|0,!(Pa[f[(f[t>>2]|0)+44>>2]&15](t,q,q,s,r,f[c>>2]|0)|0)):0){t=0;return t|0}}t=1;return t|0}function Nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+64|0;E=F;g=E;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));a:do if(Jc(E,d)|0?md(E,d)|0:0){g=(a|0)==0;b:do if(!g){if(!(f[E+12>>2]|0)){k=0;break a}Sg(d,0,0)|0;if(!g){z=E+44|0;C=E+48|0;y=E+40|0;s=E+16|0;t=E+28|0;A=(c|0)>0;D=d+36|0;x=d+32|0;v=d+24|0;w=d+28|0;i=f[C>>2]|0;B=0;g=0;while(1){c:do if(i>>>0<16384){j=f[z>>2]|0;do{if((j|0)<=0)break c;r=f[y>>2]|0;j=j+-1|0;f[z>>2]=j;i=h[r+j>>0]|i<<8;f[C>>2]=i}while(i>>>0<16384)}while(0);p=i&4095;r=f[(f[s>>2]|0)+(p<<2)>>2]|0;q=f[t>>2]|0;i=(X(f[q+(r<<3)>>2]|0,i>>>12)|0)+p-(f[q+(r<<3)+4>>2]|0)|0;f[C>>2]=i;if(A){p=(r|0)>0;if((r|0)<=-1){g=22;break}if((r|0)<33){q=0;o=g}else{g=21;break}while(1){if(!(b[D>>0]|0)){k=0;break a}if(p){l=f[v>>2]|0;m=f[w>>2]|0;k=f[x>>2]|0;n=0;j=0;do{g=l+(k>>>3)|0;if(g>>>0>>0){g=(h[g>>0]|0)>>>(k&7)&1;k=k+1|0;f[x>>2]=k}else g=0;j=g<>2]=j;q=q+1|0;if((q|0)>=(c|0))break;else o=g}}B=B+c|0;if(B>>>0>=a>>>0)break b}if((g|0)==21){if(!(b[D>>0]|0)){k=0;break a}ra(12416,12315,156,12408)}else if((g|0)==22){if(!(b[D>>0]|0)){k=0;break a}ra(12300,12315,155,12408)}}}else Sg(d,0,0)|0;while(0);Yh(d);k=1}else k=0;while(0);g=f[E+28>>2]|0;if(g|0){j=E+32|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-8-g|0)>>>3)<<3);Em(g)}g=f[E+16>>2]|0;if(g|0){j=E+20|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-4-g|0)>>>2)<<2);Em(g)}j=f[E>>2]|0;if(!j){u=F;return k|0}i=E+4|0;g=f[i>>2]|0;if((g|0)!=(j|0))f[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);Em(j);u=F;return k|0}function Ob(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{l=d;d=d+-116|0;f[g+-116>>2]=f[d>>2];j=l+-112|0;f[g+-112>>2]=f[j>>2];k=l+-108|0;f[g+-108>>2]=f[k>>2];m=l+-104|0;f[g+-104>>2]=f[m>>2];f[j>>2]=0;f[k>>2]=0;f[m>>2]=0;m=l+-100|0;f[g+-100>>2]=f[m>>2];k=l+-96|0;f[g+-96>>2]=f[k>>2];j=l+-92|0;f[g+-92>>2]=f[j>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;b[g+-88>>0]=b[l+-88>>0]|0;j=g+-84|0;k=l+-84|0;f[j>>2]=0;m=g+-80|0;f[m>>2]=0;f[g+-76>>2]=0;f[j>>2]=f[k>>2];j=l+-80|0;f[m>>2]=f[j>>2];m=l+-76|0;f[g+-76>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;k=g+-72|0;j=l+-72|0;f[k>>2]=0;m=g+-68|0;f[m>>2]=0;f[g+-64>>2]=0;f[k>>2]=f[j>>2];k=l+-68|0;f[m>>2]=f[k>>2];m=l+-64|0;f[g+-64>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-60|0;k=l+-60|0;f[j>>2]=0;m=g+-56|0;f[m>>2]=0;f[g+-52>>2]=0;f[j>>2]=f[k>>2];j=l+-56|0;f[m>>2]=f[j>>2];m=l+-52|0;f[g+-52>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-48>>2]=f[l+-48>>2];b[g+-44>>0]=b[l+-44>>0]|0;k=g+-40|0;j=l+-40|0;f[k>>2]=0;m=g+-36|0;f[m>>2]=0;f[g+-32>>2]=0;f[k>>2]=f[j>>2];k=l+-36|0;f[m>>2]=f[k>>2];m=l+-32|0;f[g+-32>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-28|0;k=l+-28|0;f[j>>2]=0;m=g+-24|0;f[m>>2]=0;f[g+-20>>2]=0;f[j>>2]=f[k>>2];j=l+-24|0;f[m>>2]=f[j>>2];m=l+-20|0;f[g+-20>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-16>>2]=f[l+-16>>2];k=g+-12|0;j=l+-12|0;f[k>>2]=0;m=g+-8|0;f[m>>2]=0;f[g+-4>>2]=0;f[k>>2]=f[j>>2];k=l+-8|0;f[m>>2]=f[k>>2];l=l+-4|0;f[g+-4>>2]=f[l>>2];f[l>>2]=0;f[k>>2]=0;f[j>>2]=0;g=(f[h>>2]|0)+-116|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;i=q+32|0;h=q+28|0;o=q+16|0;p=q;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){p=c;p=p+20|0;u=q;return p|0}}jl(o);f[p>>2]=f[b>>2];l=p+4|0;f[p+8>>2]=0;k=p+12|0;f[k>>2]=0;m=p+8|0;f[l>>2]=m;c=f[o>>2]|0;n=o+4|0;if((c|0)!=(n|0)){g=m;do{d=c+16|0;f[h>>2]=g;f[i>>2]=f[h>>2];Vd(l,i,d,d)|0;d=f[c+4>>2]|0;if(!d){d=c+8|0;e=f[d>>2]|0;if((f[e>>2]|0)==(c|0))c=e;else do{b=f[d>>2]|0;d=b+8|0;c=f[d>>2]|0}while((f[c>>2]|0)!=(b|0))}else{c=d;while(1){d=f[c>>2]|0;if(!d)break;else c=d}}}while((c|0)!=(n|0))}i=a+12|0;c=f[j>>2]|0;do if(c){g=f[p>>2]|0;e=a+16|0;while(1){d=f[c+16>>2]|0;if((g|0)<(d|0)){d=f[c>>2]|0;if(!d){d=23;break}else e=c}else{if((d|0)>=(g|0)){d=27;break}e=c+4|0;d=f[e>>2]|0;if(!d){d=26;break}}c=d}if((d|0)==23){h=c;e=c;break}else if((d|0)==26){h=c;break}else if((d|0)==27){h=c;break}}else{h=j;e=j}while(0);c=f[e>>2]|0;if(!c){c=Yi(32)|0;f[c+16>>2]=f[p>>2];b=c+20|0;f[b>>2]=f[l>>2];g=c+24|0;d=f[p+8>>2]|0;f[g>>2]=d;j=f[k>>2]|0;f[c+28>>2]=j;if(!j)f[b>>2]=g;else{f[d+8>>2]=g;f[l>>2]=m;f[m>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[e>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[e>>2]|0}wc(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}Pf(p+4|0,f[m>>2]|0);Pf(o,f[n>>2]|0);p=c;p=p+20|0;u=q;return p|0}function Qb(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Yi(60)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1556;e=b;f[a>>2]=e;return}case 4:{b=Yi(112)|0;f[b>>2]=1192;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1612;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 5:{b=Yi(104)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1668;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Yi(124)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1724;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1780;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cm(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;r=y+12|0;s=y+4|0;p=y+8|0;q=y;x=a+8+(b*12|0)|0;d=f[x>>2]|0;t=a+8+(b*12|0)+4|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c>>2]|0;m=a+4|0;f[s>>2]=(d|0)<0?-1073741824:(d>>>0)/3|0;w=a+56|0;l=a+8+(b*12|0)+8|0;e=d;o=0;do{n=(o|0)==1;if(n){g=(d|0)<0;do if(!g)if(!((d>>>0)%3|0)){e=d+2|0;break}else{e=d+-1|0;break}else e=d;while(0);f[p>>2]=e;f[r>>2]=f[p>>2];if((Sc(a,r)|0)<0)break;e=d+1|0;if(g){v=12;break}e=((e|0)%3|0|0)==0?d+-2|0:e;f[c>>2]=e;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;if((e|0)<0){v=16;break}e=f[(f[(f[m>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;f[c>>2]=e;if((e|0)<0)break;else{g=0;v=18}}else{i=f[s>>2]|0;k=e;j=0}while(1){if((v|0)==18){v=0;i=(e>>>0)/3|0;f[s>>2]=i;k=e;j=g}h=(f[w>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);e=f[h>>2]|0;if(g&e|0){e=k;g=j;break}f[h>>2]=e|g;e=f[t>>2]|0;if((e|0)==(f[l>>2]|0))hf(x,s);else{f[e>>2]=f[s>>2];f[t>>2]=e+4}g=j+1|0;if((j|0)>0){do if(!(g&1)){d=n?k:d;if((k|0)>=0)if(!((k>>>0)%3|0)){e=k+2|0;break}else{e=k+-1|0;break}else e=k}else{e=k+1|0;if((k|0)<0)e=k;else e=((e|0)%3|0|0)==0?k+-2|0:e}while(0);f[c>>2]=e}else e=k;f[q>>2]=e;f[r>>2]=f[q>>2];e=Sc(a,r)|0;f[c>>2]=e;if((e|0)<0)break;else v=18}if(!((g&1|0)==0|n^1)){n=f[t>>2]|0;j=f[n+-4>>2]|0;k=(f[w>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(j&31));f[t>>2]=n+-4}o=o+1|0}while((o|0)<2);if((v|0)==12){f[c>>2]=d;e=d;v=16}if((v|0)==16)f[c>>2]=e;f[a+44+(b<<2)>>2]=d;e=f[t>>2]|0;d=f[x>>2]|0;h=d;if((e|0)==(d|0)){u=y;return}g=f[w>>2]|0;e=e-d>>2;d=0;do{w=f[h+(d<<2)>>2]|0;x=g+(w>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(w&31));d=d+1|0}while(d>>>0>>0);u=y;return}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Dc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+4194304|0;f[l>>2]=g;e=g>>>0>1073741823;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<4194304)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<4194304);while(0);o=g&1048575;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>20)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Ec(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+2097152|0;f[l>>2]=g;e=g>>>0>536870911;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<2097152)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<2097152);while(0);o=g&524287;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>19)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Fc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+1048576|0;f[l>>2]=g;e=g>>>0>268435455;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<1048576)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<1048576);while(0);o=g&262143;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>18)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Vb(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Yi(60)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1304;e=b;f[a>>2]=e;return}case 4:{b=Yi(112)|0;f[b>>2]=1192;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1360;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 5:{b=Yi(104)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1416;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Yi(124)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1472;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1528;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cm(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Gc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+262144|0;f[l>>2]=g;e=g>>>0>67108863;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<262144)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<262144);while(0);o=g&65535;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>16)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Hc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+131072|0;f[l>>2]=g;e=g>>>0>33554431;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<131072)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<131072);while(0);o=g&32767;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>15)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Ic(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+32768|0;f[l>>2]=g;e=g>>>0>8388607;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<32768)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<32768);while(0);o=g&8191;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>13)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Jc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+16384|0;f[l>>2]=g;e=g>>>0>4194303;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<16384)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<16384);while(0);o=g&4095;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>12)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function _b(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=pi(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((pi(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Ij(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;hk(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=hk(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0} // EMSCRIPTEN_END_FUNCS -var Ma=[dm,Ij,nh,yh,ij,Ne,jj,sd,Gb,Nh,Te,Th,Pg,Xe,Th,Qd,uh,Ii,Jf,dm,dm,dm,dm,dm,dm,dm,dm,dm,dm,dm,dm,dm];var Na=[Hl,uf,Wd,Hl];var Oa=[Nm,Jm,Cm,zi,ni,jh,Yg,Af,bl,ye,Ck,ci,Qh,hi,Rh,Rh,Rh,hg,ag,hh,Wg,sh,ih,Jm,Cm,Rh,eg,$f,ah,Rg,oh,bh,Jm,Cm,Qh,Jm,Cm,Wi,Ri,Jm,Cm,cj,Vi,Jm,Cm,mh,ch,Zf,Vf,zf,sf,gc,Bj,vg,ng,Si,Fi,Uh,ei,Zh,Yi,Ni,Xh,yg,sg,oc,oj,Vf,Jm,Cm,Vf,Ng,Gg,zd,Kl,Jm,am,Jm,Jm,am,Jm,am,bj,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm];var Pa=[ym,Dg,ld,Kg,Ab,ym,ym,ym];var Qa=[al,ec,yb,db,pc,di,zb,cb,mc,di,If,Db,Eb,al,al,al];var Ra=[Im,fm,hm,Rk,Sl,hm,uc,Ok,zl,Km,Km,hm,Km,hm,hm,Eh,tj,Eh,Ej,Bh,hm,Gj,wg,hm,Sl,hm,Eh,tj,Eh,Ej,Bh,hm,Gj,wg,hm,Sl,fm,Km,zl,hm,Km,hm,zk,Gj,rg,hm,Sl,Gj,rg,hm,Sl,Xc,hm,hm,qj,lc,_g,hm,Km,be,Wj,bk,Zj,$a,hm,zl,Kk,Nd,id,Sd,bb,hm,zl,Kk,jb,gf,Km,hm,$i,tm,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im];var Sa=[km,Bg,vb,ub,ub,vb,Ed,pd];var Ta=[Pm,wm,Ze,nj];var Ua=[wl,Ph,$g,wl];var Va=[sm,Jh,oe,Fb,Mh,Hk,Nl,_k,fk,_k,tf,xc,Pd,zh,pg,mg,yi,ic,yk,Nl,te,Mc,Ei,Vh,wc,Hi,Sh,_d,wi,Mc,Ei,Vh,wc,Hi,Sh,_d,wi,De,yk,Nl,Ai,Hi,Lh,eh,wi,Hi,Lh,eh,wi,Yj,gd,Nl,Nl,yj,wj,vj,$j,Me,Ue,qb,Pc,Tc,Rc,$j,Me,Ue,qb,wd,vi,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm];var Wa=[Vl,jf,Kf,ii,qh,Vl,Vl,Vl];return{_emscripten_bind_Decoder_GetAttributeFloat_3:rj,_emscripten_bind_PointAttribute_normalized_0:Gl,_bitshift64Lshr:zj,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:aj,_emscripten_bind_DecoderBuffer_Init_2:Fk,_emscripten_bind_PointAttribute_size_0:Yl,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:zm,_sbrk:Hh,_memcpy:Ld,stackSave:Mm,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:xm,_emscripten_bind_Decoder_GetAttributeIdByName_2:gk,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:zm,___udivmoddi4:Wb,_emscripten_bind_Status_ok_0:Xl,_emscripten_bind_Mesh_num_faces_0:Vk,_emscripten_get_global_libc:Gm,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Aj,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:zm,runPostSets:Cj,_emscripten_bind_Decoder_GetEncodedGeometryType_1:ok,___cxa_can_catch:ri,_free:rb,_emscripten_bind_GeometryAttribute___destroy___0:Al,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:xm,_emscripten_bind_PointAttribute_byte_stride_0:Ol,_emscripten_bind_Metadata_Metadata_0:Wh,_emscripten_bind_AttributeQuantizationTransform_min_value_1:nk,_emscripten_bind_Decoder_Decoder_0:El,_emscripten_bind_MetadataQuerier_GetStringEntry_2:Uj,_emscripten_bind_MetadataQuerier_GetIntEntry_2:dk,_emscripten_bind_Decoder___destroy___0:Ag,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:pm,getTempRet0:Lm,setThrew:Bl,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Sj,_emscripten_bind_AttributeTransformData___destroy___0:Mi,_emscripten_bind_PointAttribute_num_components_0:Ll,___cxa_is_pointer_type:Bk,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:ik,_llvm_cttz_i32:ti,_emscripten_bind_AttributeQuantizationTransform___destroy___0:qk,stackAlloc:Uk,_emscripten_bind_DracoInt32Array___destroy___0:ui,_emscripten_bind_Mesh_num_points_0:Yl,___divdi3:Cg,_emscripten_bind_Mesh_Mesh_0:Fl,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:ul,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:ak,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:mj,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Tj,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:Vj,_emscripten_bind_Mesh_num_attributes_0:fl,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:zl,_emscripten_bind_AttributeOctahedronTransform___destroy___0:qk,_llvm_bswap_i32:sl,_emscripten_bind_Decoder_GetAttributeMetadata_2:_j,_emscripten_bind_PointAttribute_unique_id_0:Rl,establishStackSpace:Ul,_emscripten_enum_draco_StatusCode_IO_ERROR:vm,_emscripten_bind_MetadataQuerier_HasIntEntry_2:ck,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:Lj,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:jm,_emscripten_bind_PointCloud_num_attributes_0:fl,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Zk,_emscripten_bind_DracoInt32Array_size_0:ol,_emscripten_bind_Decoder_SkipAttributeTransform_1:mk,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:om,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:ej,_emscripten_enum_draco_StatusCode_ERROR:xm,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:zl,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:nm,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:pm,_emscripten_bind_VoidPtr___destroy___0:Al,_memset:vf,_emscripten_bind_PointAttribute_attribute_type_0:Jl,_emscripten_bind_MetadataQuerier___destroy___0:Al,_emscripten_bind_DracoInt32Array_GetValue_1:$k,_emscripten_bind_DecoderBuffer___destroy___0:Gk,_emscripten_bind_Decoder_GetAttribute_2:vk,_emscripten_bind_PointCloud___destroy___0:qk,_i64Subtract:Dj,setTempRet0:Fm,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Yk,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:rm,_emscripten_bind_DracoFloat32Array___destroy___0:ui,_emscripten_bind_PointCloud_num_points_0:Yl,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:om,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Ik,___muldsi3:ai,_emscripten_bind_Decoder_GetFaceFromMesh_3:Hj,_emscripten_bind_PointAttribute_data_type_0:Sl,_emscripten_bind_DracoFloat32Array_size_0:ol,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:Xj,_malloc:Za,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:Cl,_emscripten_bind_PointAttribute_byte_offset_0:Pl,_emscripten_replace_memory:La,_memmove:li,_emscripten_bind_PointCloud_PointCloud_0:kl,_emscripten_bind_Status_error_msg_0:Pj,_emscripten_bind_Mesh___destroy___0:qk,_emscripten_bind_Metadata___destroy___0:Mk,_emscripten_bind_Status___destroy___0:Oj,___udivdi3:il,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:xm,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Ji,_emscripten_bind_AttributeQuantizationTransform_range_0:yl,_bitshift64Shl:uj,_emscripten_bind_Decoder_GetAttributeId_2:Kj,_emscripten_enum_draco_StatusCode_OK:zm,_emscripten_bind_AttributeTransformData_transform_type_0:em,_emscripten_bind_Status_code_0:em,___muldi3:Zi,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:jk,___uremdi3:Qi,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Yk,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:mm,_i64Add:lk,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Rj,_emscripten_bind_DracoFloat32Array_GetValue_1:Jk,_emscripten_bind_PointAttribute_PointAttribute_0:Tk,_emscripten_bind_Decoder_GetMetadata_1:Nk,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:om,stackRestore:Dm,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:Xj,_emscripten_bind_PointAttribute___destroy___0:Rf,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:lm,stackAlloc:Uk,stackSave:Mm,stackRestore:Dm,establishStackSpace:Ul,setThrew:Bl,setTempRet0:Fm,getTempRet0:Lm,dynCall_iiii:Ek,dynCall_viiiii:Qj,dynCall_vi:Zl,dynCall_vii:Dl,dynCall_iiiiiii:kj,dynCall_ii:Ql,dynCall_viii:Sk,dynCall_v:um,dynCall_viiiiii:pj,dynCall_iii:rl,dynCall_viiii:sk}}) +var Ma=[Im,hm,im,Rk,Tl,im,pc,Ok,wl,Km,Km,im,Km,im,im,yh,sj,yh,Cj,vh,im,Ej,zg,im,Tl,im,yh,sj,yh,Cj,vh,im,Ej,zg,im,Tl,hm,Km,wl,im,Km,im,yk,Ej,ug,im,Tl,Ej,ug,im,Tl,$c,im,im,pj,rc,Xg,im,Km,_d,Vj,ak,Yj,cb,im,wl,Kk,xd,cd,Hd,gb,im,wl,Kk,ib,jf,Km,im,Zi,Il,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im];var Na=[tm,Dh,qe,Gb,Hh,Hk,Ol,_k,ek,_k,zf,yc,Rd,uh,sg,pg,vi,ic,xk,Ol,xe,Nc,Bi,Rh,xc,Ei,Oh,Yd,ti,Nc,Bi,Rh,xc,Ei,Oh,Yd,ti,Ge,xk,Ol,xi,Ei,Fh,ah,ti,Ei,Fh,ah,ti,Xj,kd,Ol,Ol,yj,wj,uj,_j,Ne,We,qb,Qc,Vc,Tc,_j,Ne,We,qb,Ad,ri,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm];var Oa=[fm,Gj,jh,th,hj,Oe,ij,td,Mb,Ih,Ue,Ph,Ng,Ze,Ph,Sd,ph,Fi,Qf,fm,fm,fm,fm,fm,fm,fm,fm,fm,fm,fm,fm,fm];var Pa=[al,fc,zb,bb,jc,_h,Ab,ab,hc,_h,Of,Db,Eb,al,al,al];var Qa=[Pm,wm,af,mj];var Ra=[Nm,Jm,Cm,wi,ji,fh,Vg,If,bl,Be,Bk,Zh,Mh,di,Nh,Nh,Nh,kg,gg,dh,Tg,oh,eh,Jm,Cm,Nh,ig,eg,Zg,Qg,kh,_g,Jm,Cm,Mh,Jm,Cm,Ui,Pi,Jm,Cm,aj,Ti,Jm,Cm,ih,$g,bg,$f,Gf,yf,mc,Bj,yg,qg,Qi,Ci,Qh,ai,Vh,Wi,Ki,Th,Ag,vg,vc,nj,$f,Jm,Cm,$f,Mg,Gg,Ed,Kl,Jm,Ll,Jm,Jm,Ll,nl,Vl,Vl,$i,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm];var Sa=[ym,Eg,pd,Ig,Bb,ym,ym,ym];var Ta=[lm,Cg,wb,nb,nb,wb,Jd,sd];var Ua=[$l,pf,Rf,ei,mh,$l,$l,$l];var Va=[Gl,Bf,Xd,Gl];var Wa=[pl,Kh,Yg,pl];return{___cxa_can_catch:ni,___cxa_is_pointer_type:Ak,___divdi3:Dg,___muldi3:Xi,___udivdi3:il,___uremdi3:Oi,_bitshift64Lshr:zj,_bitshift64Shl:tj,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:jk,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:Wj,_emscripten_bind_AttributeOctahedronTransform___destroy___0:pk,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:wl,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Gi,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:Wj,_emscripten_bind_AttributeQuantizationTransform___destroy___0:pk,_emscripten_bind_AttributeQuantizationTransform_min_value_1:mk,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:wl,_emscripten_bind_AttributeQuantizationTransform_range_0:vl,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:ik,_emscripten_bind_AttributeTransformData___destroy___0:Ji,_emscripten_bind_AttributeTransformData_transform_type_0:gm,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Zk,_emscripten_bind_DecoderBuffer_Init_2:Ek,_emscripten_bind_DecoderBuffer___destroy___0:Gk,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Qj,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Aj,_emscripten_bind_Decoder_Decoder_0:Cl,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:$j,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:_i,_emscripten_bind_Decoder_GetAttributeFloat_3:qj,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:lj,_emscripten_bind_Decoder_GetAttributeIdByName_2:fk,_emscripten_bind_Decoder_GetAttributeId_2:Kj,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:bj,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:dj,_emscripten_bind_Decoder_GetAttributeMetadata_2:Zj,_emscripten_bind_Decoder_GetAttribute_2:uk,_emscripten_bind_Decoder_GetEncodedGeometryType_1:nk,_emscripten_bind_Decoder_GetFaceFromMesh_3:Fj,_emscripten_bind_Decoder_GetMetadata_1:Nk,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:Lj,_emscripten_bind_Decoder_SkipAttributeTransform_1:lk,_emscripten_bind_Decoder___destroy___0:wg,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Yk,_emscripten_bind_DracoFloat32Array_GetValue_1:Jk,_emscripten_bind_DracoFloat32Array___destroy___0:qi,_emscripten_bind_DracoFloat32Array_size_0:ml,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Yk,_emscripten_bind_DracoInt32Array_GetValue_1:$k,_emscripten_bind_DracoInt32Array___destroy___0:qi,_emscripten_bind_DracoInt32Array_size_0:ml,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Ik,_emscripten_bind_GeometryAttribute___destroy___0:xl,_emscripten_bind_Mesh_Mesh_0:Dl,_emscripten_bind_Mesh___destroy___0:pk,_emscripten_bind_Mesh_num_attributes_0:fl,_emscripten_bind_Mesh_num_faces_0:Vk,_emscripten_bind_Mesh_num_points_0:_l,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:Uj,_emscripten_bind_MetadataQuerier_GetIntEntry_2:ck,_emscripten_bind_MetadataQuerier_GetStringEntry_2:Tj,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Sj,_emscripten_bind_MetadataQuerier_HasIntEntry_2:bk,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Rj,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:sl,_emscripten_bind_MetadataQuerier___destroy___0:xl,_emscripten_bind_Metadata_Metadata_0:Sh,_emscripten_bind_Metadata___destroy___0:Mk,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:Al,_emscripten_bind_PointAttribute_PointAttribute_0:Tk,_emscripten_bind_PointAttribute___destroy___0:Xf,_emscripten_bind_PointAttribute_attribute_type_0:Jl,_emscripten_bind_PointAttribute_byte_offset_0:Ql,_emscripten_bind_PointAttribute_byte_stride_0:Pl,_emscripten_bind_PointAttribute_data_type_0:Tl,_emscripten_bind_PointAttribute_normalized_0:El,_emscripten_bind_PointAttribute_num_components_0:Ml,_emscripten_bind_PointAttribute_size_0:_l,_emscripten_bind_PointAttribute_unique_id_0:Sl,_emscripten_bind_PointCloud_PointCloud_0:kl,_emscripten_bind_PointCloud___destroy___0:pk,_emscripten_bind_PointCloud_num_attributes_0:fl,_emscripten_bind_PointCloud_num_points_0:_l,_emscripten_bind_Status___destroy___0:vj,_emscripten_bind_Status_code_0:gm,_emscripten_bind_Status_error_msg_0:Oj,_emscripten_bind_Status_ok_0:Zl,_emscripten_bind_VoidPtr___destroy___0:xl,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:xm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:zm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:qm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:pm,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:xm,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:zm,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:pm,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:qm,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:nm,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:xm,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:pm,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:zm,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:km,_emscripten_enum_draco_StatusCode_ERROR:xm,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:om,_emscripten_enum_draco_StatusCode_IO_ERROR:vm,_emscripten_enum_draco_StatusCode_OK:zm,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:sm,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:mm,_emscripten_get_global_libc:Gm,_emscripten_replace_memory:La,_free:sb,_i64Add:Ij,_i64Subtract:hk,_llvm_bswap_i32:ql,_malloc:Xa,_memcpy:Od,_memmove:hi,_memset:Cf,_sbrk:Bh,dynCall_ii:Rl,dynCall_iii:ol,dynCall_iiii:Dk,dynCall_iiiiiii:jj,dynCall_v:um,dynCall_vi:am,dynCall_vii:Bl,dynCall_viii:Sk,dynCall_viiii:rk,dynCall_viiiii:Pj,dynCall_viiiiii:oj,establishStackSpace:Xl,getTempRet0:Lm,runPostSets:Hj,setTempRet0:Fm,setThrew:yl,stackAlloc:Uk,stackRestore:Dm,stackSave:Mm}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];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 _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var stackSave=Module["stackSave"]=asm["stackSave"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];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_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];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_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];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 setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];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_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];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_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_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=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});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)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoEncoderModule!=="undefined"?DracoEncoderModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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 __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}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=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+24496;__ATINIT__.push();allocate([124,27,0,0,109,28,0,0,164,27,0,0,70,28,0,0,8,0,0,0,0,0,0,0,164,27,0,0,138,28,0,0,8,0,0,0,0,0,0,0,124,27,0,0,78,29,0,0,164,27,0,0,125,31,0,0,48,0,0,0,0,0,0,0,124,27,0,0,159,31,0,0,164,27,0,0,196,31,0,0,48,0,0,0,0,0,0,0,164,27,0,0,15,45,0,0,72,0,0,0,0,0,0,0,164,27,0,0,244,31,0,0,128,0,0,0,0,0,0,0,164,27,0,0,77,32,0,0,144,0,0,0,0,0,0,0,164,27,0,0,161,32,0,0,160,0,0,0,0,0,0,0,164,27,0,0,213,32,0,0,176,0,0,0,0,0,0,0,124,27,0,0,0,33,0,0,164,27,0,0,36,33,0,0,200,0,0,0,0,0,0,0,124,27,0,0,194,33,0,0,164,27,0,0,243,34,0,0,224,0,0,0,0,0,0,0,164,27,0,0,139,35,0,0,128,0,0,0,0,0,0,0,164,27,0,0,20,36,0,0,224,0,0,0,0,0,0,0,164,27,0,0,174,36,0,0,224,0,0,0,0,0,0,0,164,27,0,0,64,37,0,0,224,0,0,0,0,0,0,0,164,27,0,0,230,37,0,0,224,0,0,0,0,0,0,0,164,27,0,0,129,38,0,0,224,0,0,0,0,0,0,0,164,27,0,0,23,39,0,0,80,1,0,0,0,0,0,0,124,27,0,0,194,39,0,0,164,27,0,0,109,40,0,0,104,1,0,0,0,0,0,0,164,27,0,0,18,41,0,0,128,0,0,0,0,0,0,0,164,27,0,0,168,41,0,0,104,1,0,0,0,0,0,0,164,27,0,0,79,42,0,0,104,1,0,0,0,0,0,0,164,27,0,0,238,42,0,0,104,1,0,0,0,0,0,0,164,27,0,0,161,43,0,0,104,1,0,0,0,0,0,0,164,27,0,0,73,44,0,0,104,1,0,0,0,0,0,0,164,27,0,0,150,68,0,0,96,0,0,0,0,0,0,0,164,27,0,0,41,50,0,0,232,1,0,0,0,0,0,0,164,27,0,0,154,50,0,0,144,0,0,0,0,0,0,0,164,27,0,0,199,52,0,0,8,2,0,0,0,0,0,0,124,27,0,0,125,53,0,0,164,27,0,0,230,55,0,0,32,2,0,0,0,0,0,0,164,27,0,0,150,56,0,0,232,1,0,0,0,0,0,0,164,27,0,0,215,57,0,0,32,2,0,0,0,0,0,0,164,27,0,0,32,59,0,0,32,2,0,0,0,0,0,0,164,27,0,0,202,59,0,0,32,2,0,0,0,0,0,0,164,27,0,0,136,60,0,0,32,2,0,0,0,0,0,0,164,27,0,0,59,61,0,0,32,2,0,0,0,0,0,0,164,27,0,0,233,61,0,0,144,2,0,0,0,0,0,0,124,27,0,0,172,62,0,0,164,27,0,0,111,63,0,0,168,2,0,0,0,0,0,0,164,27,0,0,44,64,0,0,232,1,0,0,0,0,0,0,164,27,0,0,218,64,0,0,168,2,0,0,0,0,0,0,164,27,0,0,153,65,0,0,168,2,0,0,0,0,0,0,164,27,0,0,80,66,0,0,168,2,0,0,0,0,0,0,164,27,0,0,27,67,0,0,168,2,0,0,0,0,0,0,164,27,0,0,219,67,0,0,168,2,0,0,0,0,0,0,164,27,0,0,193,68,0,0,96,0,0,0,0,0,0,0,164,27,0,0,197,69,0,0,152,3,0,0,0,0,0,0,164,27,0,0,199,72,0,0,128,3,0,0,0,0,0,0,124,27,0,0,230,69,0,0,164,27,0,0,46,70,0,0,80,3,0,0,0,0,0,0,124,27,0,0,248,70,0,0,124,27,0,0,18,71,0,0,164,27,0,0,77,71,0,0,80,3,0,0,0,0,0,0,164,27,0,0,10,72,0,0,80,3,0,0,0,0,0,0,124,27,0,0,19,73,0,0,164,27,0,0,65,73,0,0,128,3,0,0,0,0,0,0,164,27,0,0,148,73,0,0,200,3,0,0,0,0,0,0,164,27,0,0,218,73,0,0,152,3,0,0,0,0,0,0,164,27,0,0,192,73,0,0,80,3,0,0,0,0,0,0,124,27,0,0,250,73,0,0,164,27,0,0,208,74,0,0,200,3,0,0,0,0,0,0,164,27,0,0,242,74,0,0,200,3,0,0,0,0,0,0,164,27,0,0,44,77,0,0,0,4,0,0,0,0,0,0,124,27,0,0,210,78,0,0,124,27,0,0,190,91,0,0,164,27,0,0,30,92,0,0,32,4,0,0,0,0,0,0,164,27,0,0,203,91,0,0,48,4,0,0,0,0,0,0,124,27,0,0,236,91,0,0,164,27,0,0,249,91,0,0,16,4,0,0,0,0,0,0,164,27,0,0,15,93,0,0,8,4,0,0,0,0,0,0,164,27,0,0,64,93,0,0,32,4,0,0,0,0,0,0,164,27,0,0,28,93,0,0,88,4,0,0,0,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,192,0,0,0,192,0,0,0,0,48,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,3,0,0,0,1,0,0,0,8,0,0,0,0,0,0,0,56,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,3,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,72,0,0,0,8,0,0,0,9,0,0,0,3,0,0,0,11,0,0,0,12,0,0,0,4,0,0,0,13,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,15,0,0,0,5,0,0,0,0,0,0,0,80,0,0,0,10,0,0,0,11,0,0,0,6,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,18,0,0,0,7,0,0,0,19,0,0,0,20,0,0,0,8,0,0,0,21,0,0,0,22,0,0,0,9,0,0,0,1,0,0,0,0,0,0,0,96,0,0,0,12,0,0,0,13,0,0,0,8,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,13,0,0,0,5,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,0,0,0,192,0,0,0,0,128,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,1,0,0,0,0,0,0,0,112,0,0,0,14,0,0,0,16,0,0,0,15,0,0,0,11,0,0,0,16,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,1,0,0,0,0,0,0,0,48,1,0,0,14,0,0,0,17,0,0,0,17,0,0,0,11,0,0,0,18,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,2,0,0,0,0,0,0,0,32,1,0,0,14,0,0,0,18,0,0,0,19,0,0,0,11,0,0,0,20,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,3,0,0,0,0,0,0,0,16,1,0,0,19,0,0,0,20,0,0,0,21,0,0,0,11,0,0,0,22,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,27,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,21,0,0,0,22,0,0,0,23,0,0,0,11,0,0,0,24,0,0,0,25,0,0,0,28,0,0,0,29,0,0,0,13,0,0,0,14,0,0,0,30,0,0,0,5,0,0,0,0,0,0,0,240,0,0,0,23,0,0,0,24,0,0,0,26,0,0,0,11,0,0,0,27,0,0,0,28,0,0,0,31,0,0,0,32,0,0,0,13,0,0,0,14,0,0,0,33,0,0,0,6,0,0,0,0,0,0,0,208,0,0,0,25,0,0,0,26,0,0,0,29,0,0,0,11,0,0,0,30,0,0,0,31,0,0,0,34,0,0,0,35,0,0,0,13,0,0,0,14,0,0,0,36,0,0,0,7,0,0,0,0,0,0,0,184,0,0,0,27,0,0,0,28,0,0,0,37,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,184,1,0,0,14,0,0,0,29,0,0,0,33,0,0,0,11,0,0,0,34,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,8,0,0,0,0,0,0,0,168,1,0,0,14,0,0,0,30,0,0,0,35,0,0,0,11,0,0,0,36,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,9,0,0,0,0,0,0,0,152,1,0,0,31,0,0,0,32,0,0,0,37,0,0,0,11,0,0,0,38,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,38,0,0,0,10,0,0,0,0,0,0,0,136,1,0,0,33,0,0,0,34,0,0,0,39,0,0,0,11,0,0,0,40,0,0,0,41,0,0,0,39,0,0,0,40,0,0,0,13,0,0,0,14,0,0,0,41,0,0,0,11,0,0,0,0,0,0,0,120,1,0,0,35,0,0,0,36,0,0,0,42,0,0,0,11,0,0,0,43,0,0,0,44,0,0,0,42,0,0,0,43,0,0,0,13,0,0,0,14,0,0,0,44,0,0,0,12,0,0,0,0,0,0,0,88,1,0,0,37,0,0,0,38,0,0,0,45,0,0,0,11,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,46,0,0,0,13,0,0,0,14,0,0,0,47,0,0,0,13,0,0,0,0,0,0,0,64,1,0,0,39,0,0,0,40,0,0,0,48,0,0,0,48,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,41,0,0,0,42,0,0,0,11,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,49,0,0,0,49,0,0,0,50,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,5,0,0,0,12,0,0,0,0,0,0,0,216,1,0,0,43,0,0,0,44,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,14,0,0,0,0,0,0,0,112,2,0,0,43,0,0,0,45,0,0,0,57,0,0,0,52,0,0,0,58,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,15,0,0,0,0,0,0,0,96,2,0,0,43,0,0,0,46,0,0,0,59,0,0,0,52,0,0,0,60,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,16,0,0,0,0,0,0,0,80,2,0,0,47,0,0,0,48,0,0,0,61,0,0,0,52,0,0,0,62,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,53,0,0,0,17,0,0,0,0,0,0,0,64,2,0,0,49,0,0,0,50,0,0,0,63,0,0,0,52,0,0,0,64,0,0,0,65,0,0,0,54,0,0,0,55,0,0,0,55,0,0,0,56,0,0,0,56,0,0,0,18,0,0,0,0,0,0,0,48,2,0,0,51,0,0,0,52,0,0,0,66,0,0,0,52,0,0,0,67,0,0,0,68,0,0,0,57,0,0,0,58,0,0,0,55,0,0,0,56,0,0,0,59,0,0,0,19,0,0,0,0,0,0,0,16,2,0,0,53,0,0,0,54,0,0,0,69,0,0,0,52,0,0,0,70,0,0,0,71,0,0,0,60,0,0,0,61,0,0,0,55,0,0,0,56,0,0,0,62,0,0,0,20,0,0,0,0,0,0,0,248,1,0,0,55,0,0,0,56,0,0,0,63,0,0,0,72,0,0,0,6,0,0,0,0,0,0,0,248,2,0,0,43,0,0,0,57,0,0,0,73,0,0,0,52,0,0,0,74,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,21,0,0,0,0,0,0,0,232,2,0,0,43,0,0,0,58,0,0,0,75,0,0,0,52,0,0,0,76,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,22,0,0,0,0,0,0,0,216,2,0,0,59,0,0,0,60,0,0,0,77,0,0,0,52,0,0,0,78,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,64,0,0,0,23,0,0,0,0,0,0,0,200,2,0,0,61,0,0,0,62,0,0,0,79,0,0,0,52,0,0,0,80,0,0,0,81,0,0,0,65,0,0,0,66,0,0,0,55,0,0,0,56,0,0,0,67,0,0,0,24,0,0,0,0,0,0,0,184,2,0,0,63,0,0,0,64,0,0,0,82,0,0,0,52,0,0,0,83,0,0,0,84,0,0,0,68,0,0,0,69,0,0,0,55,0,0,0,56,0,0,0,70,0,0,0,25,0,0,0,0,0,0,0,152,2,0,0,65,0,0,0,66,0,0,0,85,0,0,0,52,0,0,0,86,0,0,0,87,0,0,0,71,0,0,0,72,0,0,0,55,0,0,0,56,0,0,0,73,0,0,0,26,0,0,0,0,0,0,0,128,2,0,0,67,0,0,0,68,0,0,0,74,0,0,0,88,0,0,0,7,0,0,0,0,0,0,0,8,3,0,0,69,0,0,0,70,0,0,0,13,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,75,0,0,0,89,0,0,0,90,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,2,0,0,0,14,0,0,0,0,0,0,0,24,3,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,76,0,0,0,77,0,0,0,98,0,0,0,99,0,0,0,78,0,0,0,79,0,0,0,100,0,0,0,0,0,0,0,40,3,0,0,73,0,0,0,74,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,101,0,0,0,102,0,0,0,85,0,0,0,103,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,64,3,0,0,75,0,0,0,76,0,0,0,86,0,0,0,104,0,0,0,0,0,0,0,56,3,0,0,77,0,0,0,78,0,0,0,79,0,0,0,0,0,0,192,0,0,0,0,96,3,0,0,80,0,0,0,81,0,0,0,87,0,0,0,105,0,0,0,0,0,0,0,88,3,0,0,82,0,0,0,83,0,0,0,84,0,0,0,0,0,0,0,112,3,0,0,85,0,0,0,86,0,0,0,88,0,0,0,106,0,0,0,0,0,0,0,136,3,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,107,0,0,0,108,0,0,0,94,0,0,0,109,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,152,3,0,0,89,0,0,0,90,0,0,0,91,0,0,0,1,0,0,0,110,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,1,0,0,0,95,0,0,0,98,0,0,0,111,0,0,0,96,0,0,0,97,0,0,0,1,0,0,0,0,0,0,0,168,3,0,0,89,0,0,0,91,0,0,0,91,0,0,0,112,0,0,0,110,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,95,0,0,0,98,0,0,0,111,0,0,0,96,0,0,0,97,0,0,0,113,0,0,0,0,0,0,0,184,3,0,0,92,0,0,0,93,0,0,0,99,0,0,0,114,0,0,0,0,0,0,0,200,3,0,0,89,0,0,0,94,0,0,0,115,0,0,0,1,0,0,0,110,0,0,0,94,0,0,0,116,0,0,0,96,0,0,0,97,0,0,0,1,0,0,0,95,0,0,0,98,0,0,0,0,0,0,0,208,3,0,0,89,0,0,0,95,0,0,0,115,0,0,0,117,0,0,0,110,0,0,0,94,0,0,0,118,0,0,0,96,0,0,0,97,0,0,0,100,0,0,0,95,0,0,0,98,0,0,0,0,0,0,0,224,3,0,0,89,0,0,0,96,0,0,0,115,0,0,0,119,0,0,0,110,0,0,0,94,0,0,0,120,0,0,0,96,0,0,0,97,0,0,0,101,0,0,0,95,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,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,0,240,3,0,0,97,0,0,0,98,0,0,0,8,0,0,0,3,0,0,0,121,0,0,0,99,0,0,0,9,0,0,0,0,0,0,192,0,0,0,0,0,4,0,0,100,0,0,0,101,0,0,0,10,0,0,0,4,0,0,0,121,0,0,0,99,0,0,0,11,0,0,0,0,0,0,192,3,0,0,0,216,23,0,0,5,0,0,0,0,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,172,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,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,181,91,0,0,0,0,0,0,16,4,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,18,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,56,4,0,0,102,0,0,0,106,0,0,0,104,0,0,0,105,0,0,0,18,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,72,4,0,0,107,0,0,0,108,0,0,0,123,0,0,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,47,97,116,116,114,105,98,117,116,101,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,99,99,0,78,53,100,114,97,99,111,50,56,65,116,116,114,105,98,117,116,101,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,49,56,65,116,116,114,105,98,117,116,101,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,51,48,65,116,116,114,105,98,117,116,101,81,117,97,110,116,105,122,97,116,105,111,110,84,114,97,110,115,102,111,114,109,69,0,105,115,95,105,110,105,116,105,97,108,105,122,101,100,40,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,47,97,116,116,114,105,98,117,116,101,95,113,117,97,110,116,105,122,97,116,105,111,110,95,116,114,97,110,115,102,111,114,109,46,99,99,0,71,101,110,101,114,97,116,101,80,111,114,116,97,98,108,101,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,69,110,99,111,100,101,114,69,0,40,99,111,109,112,114,101,115,115,105,111,110,95,108,101,118,101,108,41,32,60,61,32,40,54,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,107,100,95,116,114,101,101,95,97,116,116,114,105,98,117,116,101,115,95,101,110,99,111,100,101,114,46,99,99,0,69,110,99,111,100,101,68,97,116,97,78,101,101,100,101,100,66,121,80,111,114,116,97,98,108,101,84,114,97,110,115,102,111,114,109,115,0,40,116,114,117,101,41,32,61,61,32,40,40,101,110,100,32,45,32,98,101,103,105,110,41,32,62,32,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,100,121,110,97,109,105,99,95,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,101,110,99,111,100,101,114,46,104,0,69,110,99,111,100,101,73,110,116,101,114,110,97,108,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,100,105,114,101,99,116,95,98,105,116,95,101,110,99,111,100,101,114,46,104,0,40,116,114,117,101,41,32,61,61,32,40,101,110,100,32,45,32,98,101,103,105,110,32,33,61,32,48,41,0,71,101,116,65,120,105,115,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,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,69,110,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,69,110,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,69,110,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,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,69,110,99,111,100,101,114,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,51,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,110,116,101,114,102,97,99,101,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,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,119,114,97,112,95,116,114,97,110,115,102,111,114,109,95,98,97,115,101,46,104,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,117,115,101,95,98,117,105,108,116,95,105,110,95,97,116,116,114,105,98,117,116,101,95,99,111,109,112,114,101,115,115,105,111,110,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,69,110,99,111,100,101,114,69,0,40,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,32,37,32,50,41,32,61,61,32,40,49,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,98,97,115,101,46,104,0,115,101,116,95,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,0,40,113,41,32,62,61,32,40,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,110,111,114,109,97,108,95,99,111,109,112,114,101,115,115,105,111,110,95,117,116,105,108,115,46,104,0,83,101,116,81,117,97,110,116,105,122,97,116,105,111,110,66,105,116,115,0,40,113,41,32,60,61,32,40,51,48,41,0,102,97,108,115,101,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,115,101,113,117,101,110,116,105,97,108,95,110,111,114,109,97,108,95,97,116,116,114,105,98,117,116,101,95,101,110,99,111,100,101,114,46,104,0,67,114,101,97,116,101,73,110,116,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,32,42,32,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,101,110,99,111,100,105,110,103,95,116,114,97,110,115,102,111,114,109,46,104,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,32,42,32,50,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,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,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,115,73,110,68,105,97,109,111,110,100,0,40,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,120,41,32,60,61,32,40,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,40,42,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,118,101,114,116,68,105,97,109,111,110,100,0,40,42,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,116,104,105,115,45,62,73,115,73,110,105,116,105,97,108,105,122,101,100,40,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,97,114,101,97,46,104,0,67,111,109,112,117,116,101,80,114,101,100,105,99,116,101,100,86,97,108,117,101,0,40,110,111,114,109,97,108,46,65,98,115,83,117,109,40,41,41,32,60,61,32,40,117,112,112,101,114,95,98,111,117,110,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,98,97,115,101,46,104,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,67,111,114,110,101,114,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,68,97,116,97,73,100,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,101,110,99,111,100,101,114,46,104,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,86,97,108,117,101,115,0,40,110,117,109,95,99,111,109,112,111,110,101,110,116,115,41,32,61,61,32,40,50,41,0,40,112,114,101,100,95,110,111,114,109,97,108,95,51,100,46,65,98,115,83,117,109,40,41,41,32,61,61,32,40,111,99,116,97,104,101,100,114,111,110,95,116,111,111,108,95,98,111,120,95,46,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,48,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,49,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,50,93,41,41,32,61,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,116,101,103,101,114,86,101,99,116,111,114,84,111,81,117,97,110,116,105,122,101,100,79,99,116,97,104,101,100,114,97,108,67,111,111,114,100,115,0,40,105,41,32,61,61,32,40,48,41,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,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,112,111,114,116,97,98,108,101,95,101,110,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,52,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,101,110,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,51,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,69,110,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,69,110,99,111,100,101,114,69,0,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,0,101,110,99,111,100,105,110,103,95,115,112,101,101,100,0,100,101,99,111,100,105,110,103,95,115,112,101,101,100,0,113,117,97,110,116,105,122,97,116,105,111,110,95,111,114,105,103,105,110,0,113,117,97,110,116,105,122,97,116,105,111,110,95,114,97,110,103,101,0,32,0,101,110,99,111,100,105,110,103,95,109,101,116,104,111,100,0,113,117,97,110,116,105,122,97,116,105,111,110,95,98,105,116,115,0,73,110,118,97,108,105,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,46,0,115,116,97,110,100,97,114,100,95,101,100,103,101,98,114,101,97,107,101,114,0,112,114,101,100,105,99,116,105,118,101,95,101,100,103,101,98,114,101,97,107,101,114,0,101,100,103,101,98,114,101,97,107,101,114,95,109,101,116,104,111,100,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,69,110,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,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,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,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,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,115,112,108,105,116,95,109,101,115,104,95,111,110,95,115,101,97,109,115,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,69,110,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,69,110,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,69,110,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,69,110,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,69,110,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,49,49,77,101,115,104,69,110,99,111,100,101,114,69,0,99,111,109,112,114,101,115,115,95,99,111,110,110,101,99,116,105,118,105,116,121,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,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,69,110,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,69,110,99,111,100,101,114,69,0,73,110,118,97,108,105,100,32,105,110,112,117,116,32,103,101,111,109,101,116,114,121,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,109,101,116,97,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,101,110,99,111,100,101,114,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,105,110,116,101,114,110,97,108,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,103,101,111,109,101,116,114,121,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,112,111,105,110,116,32,97,116,116,114,105,98,117,116,101,115,46,0,68,82,65,67,79,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,69,110,99,111,100,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,69,110,99,111,100,101,114,69,0,40,97,110,115,95,46,115,116,97,116,101,41,32,62,61,32,40,108,95,114,97,110,115,95,98,97,115,101,41,0,119,114,105,116,101,95,101,110,100,0,40,97,110,115,95,46,115,116,97,116,101,41,32,60,32,40,108,95,114,97,110,115,95,98,97,115,101,32,42,32,50,53,54,41,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,101,110,99,111,100,101,114,95,98,117,102,102,101,114,46,104,0,80,117,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,114,97,110,115,95,98,105,116,95,101,110,99,111,100,101,114,46,99,99,0,69,110,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,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,78,53,100,114,97,99,111,52,77,101,115,104,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,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,97,116,116,95,105,100,32,62,61,32,48,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,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,40,99,111,109,112,114,101,115,115,105,111,110,95,108,101,118,101,108,95,41,32,60,61,32,40,54,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,102,108,111,97,116,95,112,111,105,110,116,115,95,116,114,101,101,95,101,110,99,111,100,101,114,46,99,99,0,70,108,111,97,116,80,111,105,110,116,115,84,114,101,101,69,110,99,111,100,101,114,0,69,110,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,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([99,111,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,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,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,105,110,102,105,110,105,116,121,0,110,97,110,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,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,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,33,34,98,97,115,105,99,95,115,116,114,105,110,103,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,37,100,0,37,102,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+20480);var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;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){Module["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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;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;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}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["___divdi3"]=___divdi3;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["___udivdi3"]=___udivdi3;var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;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 ___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;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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 ___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;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_getspecific":_pthread_getspecific,"_pthread_setspecific":_pthread_setspecific,"___cxa_throw":___cxa_throw,"_pthread_key_create":_pthread_key_create,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___cxa_begin_catch":___cxa_begin_catch,"___syscall146":___syscall146,"_pthread_once":_pthread_once,"_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,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM -var asm=(function(global,env,buffer) { -"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_iiii;var ga=env.invoke_viiiii;var ha=env.invoke_vi;var ia=env.invoke_vii;var ja=env.invoke_iiiiiii;var ka=env.invoke_ii;var la=env.invoke_viii;var ma=env.invoke_v;var na=env.invoke_viiiiii;var oa=env.invoke_iii;var pa=env.invoke_viiii;var qa=env._pthread_getspecific;var ra=env._pthread_setspecific;var sa=env.___cxa_throw;var ta=env._pthread_key_create;var ua=env.___syscall6;var va=env.___setErrNo;var wa=env._abort;var xa=env.___cxa_begin_catch;var ya=env.___syscall146;var za=env._pthread_once;var Aa=env._emscripten_memcpy_big;var Ba=env.___gxx_personality_v0;var Ca=env.___syscall140;var Da=env.___resumeException;var Ea=env.___cxa_find_matching_catch;var Fa=env.___assert_fail;var Ga=env.___cxa_pure_virtual;var Ha=env.___cxa_allocate_exception;var Ia=env.__ZSt18uncaught_exceptionv;var Ja=$(0);const Ka=$(0);function La(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +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]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoEncoderModule!=="undefined"?DracoEncoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);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};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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}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"]};function ccall(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)}}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 stop;ptr=ret;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){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+24400;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,jBsAAJccAAC0GwAAcBwAAAgAAAAAAAAAtBsAALQcAAAIAAAAAAAAAIwbAAB+HQAAtBsAAL8fAAAwAAAAAAAAAIwbAADhHwAAtBsAAAYgAAAwAAAAAAAAALQbAABXLQAASAAAAAAAAAC0GwAANiAAAIAAAAAAAAAAtBsAAI8gAACQAAAAAAAAALQbAADjIAAAoAAAAAAAAAC0GwAAFyEAALAAAAAAAAAAjBsAAEIhAAC0GwAAZiEAAMgAAAAAAAAAjBsAAAQiAAC0GwAAOyMAAOAAAAAAAAAAtBsAANMjAACAAAAAAAAAALQbAABcJAAA4AAAAAAAAAC0GwAA9iQAAOAAAAAAAAAAtBsAAIglAADgAAAAAAAAALQbAAAuJgAA4AAAAAAAAAC0GwAAySYAAOAAAAAAAAAAtBsAAF8nAABQAQAAAAAAAIwbAAAKKAAAtBsAALUoAABoAQAAAAAAALQbAABaKQAAgAAAAAAAAAC0GwAA8CkAAGgBAAAAAAAAtBsAAJcqAABoAQAAAAAAALQbAAA2KwAAaAEAAAAAAAC0GwAA6SsAAGgBAAAAAAAAtBsAAJEsAABoAQAAAAAAALQbAAD/RAAAYAAAAAAAAAC0GwAAiTIAAOgBAAAAAAAAtBsAAPoyAACQAAAAAAAAALQbAAAeNQAACAIAAAAAAACMGwAA1DUAALQbAABDOAAAIAIAAAAAAAC0GwAA8zgAAOgBAAAAAAAAtBsAADo6AAAgAgAAAAAAALQbAACJOwAAIAIAAAAAAAC0GwAAMzwAACACAAAAAAAAtBsAAPE8AAAgAgAAAAAAALQbAACkPQAAIAIAAAAAAAC0GwAAUj4AAJACAAAAAAAAjBsAABU/AAC0GwAA2D8AAKgCAAAAAAAAtBsAAJVAAADoAQAAAAAAALQbAABDQQAAqAIAAAAAAAC0GwAAAkIAAKgCAAAAAAAAtBsAALlCAACoAgAAAAAAALQbAACEQwAAqAIAAAAAAAC0GwAAREQAAKgCAAAAAAAAtBsAACpFAABgAAAAAAAAALQbAAAuRgAAmAMAAAAAAAC0GwAAMEkAAIADAAAAAAAAjBsAAE9GAAC0GwAAl0YAAFADAAAAAAAAjBsAAGFHAACMGwAAe0cAALQbAAC2RwAAUAMAAAAAAAC0GwAAc0gAAFADAAAAAAAAjBsAAHxJAAC0GwAAqkkAAIADAAAAAAAAtBsAAP1JAADIAwAAAAAAALQbAABDSgAAmAMAAAAAAAC0GwAAKUoAAFADAAAAAAAAjBsAAGNKAAC0GwAAOUsAAMgDAAAAAAAAtBsAAFtLAADIAwAAAAAAALQbAACnTQAAAAQAAAAAAACMGwAAo08AAIwbAABcWwAAtBsAALxbAAAgBAAAAAAAALQbAABpWwAAMAQAAAAAAACMGwAAilsAALQbAACXWwAAEAQAAAAAAAC0GwAAnlwAAAgEAAAAAAAAtBsAAK5cAABIBAAAAAAAALQbAADjXAAAIAQAAAAAAAC0GwAAv1wAAGgEAAAAAAAAAAAAABAAAAABAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAgAAAAAwAAAAQAAAACAAAAAgAAAAIAAAAAAADAAAAAwAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAEAAAAEAAAABQAAAAIAAAAGAAAABwAAAAMAAAABAAAACAAAAAAAAAA4AAAABQAAAAcAAAABAAAAAwAAAAQAAAAEAAAABQAAAAIAAAAGAAAABwAAAAMAAAAJAAAACgAAAAAAAABIAAAACAAAAAkAAAADAAAACwAAAAwAAAAEAAAADQAAAAUAAAAGAAAADgAAAA8AAAAFAAAAAAAAAFAAAAAKAAAACwAAAAYAAAAQAAAABwAAABEAAAASAAAABwAAABMAAAAUAAAACAAAABUAAAAWAAAACQAAAAEAAAAAAAAAYAAAAAwAAAANAAAACAAAAAsAAAAXAAAABAAAAA0AAAAFAAAACgAAAA4AAAAPAAAACQAAAAIAAAAKAAAAAAAAwAAAAACAAAAADgAAAA8AAAABAAAACwAAAAEAAAAMAAAAGAAAABkAAAANAAAADgAAABoAAAABAAAAAAAAAHAAAAAOAAAAEAAAAA8AAAALAAAAEAAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGgAAAAEAAAAAAAAAMAEAAA4AAAARAAAAEQAAAAsAAAASAAAADAAAABgAAAAZAAAADQAAAA4AAAAaAAAAAgAAAAAAAAAgAQAADgAAABIAAAATAAAACwAAABQAAAAMAAAAGAAAABkAAAANAAAADgAAABoAAAADAAAAAAAAABABAAATAAAAFAAAABUAAAALAAAAFgAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGwAAAAQAAAAAAAAAAAEAABUAAAAWAAAAFwAAAAsAAAAYAAAAGQAAABwAAAAdAAAADQAAAA4AAAAeAAAABQAAAAAAAADwAAAAFwAAABgAAAAaAAAACwAAABsAAAAcAAAAHwAAACAAAAANAAAADgAAACEAAAAGAAAAAAAAANAAAAAZAAAAGgAAAB0AAAALAAAAHgAAAB8AAAAiAAAAIwAAAA0AAAAOAAAAJAAAAAcAAAAAAAAAuAAAABsAAAAcAAAAJQAAACAAAAADAAAAAAAAALgBAAAOAAAAHQAAACEAAAALAAAAIgAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGgAAAAgAAAAAAAAAqAEAAA4AAAAeAAAAIwAAAAsAAAAkAAAADAAAABgAAAAZAAAADQAAAA4AAAAaAAAACQAAAAAAAACYAQAAHwAAACAAAAAlAAAACwAAACYAAAAMAAAAGAAAABkAAAANAAAADgAAACYAAAAKAAAAAAAAAIgBAAAhAAAAIgAAACcAAAALAAAAKAAAACkAAAAnAAAAKAAAAA0AAAAOAAAAKQAAAAsAAAAAAAAAeAEAACMAAAAkAAAAKgAAAAsAAAArAAAALAAAACoAAAArAAAADQAAAA4AAAAsAAAADAAAAAAAAABYAQAAJQAAACYAAAAtAAAACwAAAC4AAAAvAAAALQAAAC4AAAANAAAADgAAAC8AAAANAAAAAAAAAEABAAAnAAAAKAAAADAAAAAwAAAABAAAAAAAAADIAQAAKQAAACoAAAALAAAACwAAABcAAAAEAAAAMQAAADEAAAAyAAAADgAAAA8AAAAJAAAABQAAAAwAAAAAAAAA2AEAACsAAAAsAAAAMwAAADQAAAA1AAAANgAAADIAAAAzAAAANwAAADgAAAA0AAAADgAAAAAAAABwAgAAKwAAAC0AAAA5AAAANAAAADoAAAA2AAAAMgAAADMAAAA3AAAAOAAAADQAAAAPAAAAAAAAAGACAAArAAAALgAAADsAAAA0AAAAPAAAADYAAAAyAAAAMwAAADcAAAA4AAAANAAAABAAAAAAAAAAUAIAAC8AAAAwAAAAPQAAADQAAAA+AAAANgAAADIAAAAzAAAANwAAADgAAAA1AAAAEQAAAAAAAABAAgAAMQAAADIAAAA/AAAANAAAAEAAAABBAAAANgAAADcAAAA3AAAAOAAAADgAAAASAAAAAAAAADACAAAzAAAANAAAAEIAAAA0AAAAQwAAAEQAAAA5AAAAOgAAADcAAAA4AAAAOwAAABMAAAAAAAAAEAIAADUAAAA2AAAARQAAADQAAABGAAAARwAAADwAAAA9AAAANwAAADgAAAA+AAAAFAAAAAAAAAD4AQAANwAAADgAAAA/AAAASAAAAAYAAAAAAAAA+AIAACsAAAA5AAAASQAAADQAAABKAAAANgAAADIAAAAzAAAANwAAADgAAAA0AAAAFQAAAAAAAADoAgAAKwAAADoAAABLAAAANAAAAEwAAAA2AAAAMgAAADMAAAA3AAAAOAAAADQAAAAWAAAAAAAAANgCAAA7AAAAPAAAAE0AAAA0AAAATgAAADYAAAAyAAAAMwAAADcAAAA4AAAAQAAAABcAAAAAAAAAyAIAAD0AAAA+AAAATwAAADQAAABQAAAAUQAAAEEAAABCAAAANwAAADgAAABDAAAAGAAAAAAAAAC4AgAAPwAAAEAAAABSAAAANAAAAFMAAABUAAAARAAAAEUAAAA3AAAAOAAAAEYAAAAZAAAAAAAAAJgCAABBAAAAQgAAAFUAAAA0AAAAVgAAAFcAAABHAAAASAAAADcAAAA4AAAASQAAABoAAAAAAAAAgAIAAEMAAABEAAAASgAAAFgAAAAHAAAAAAAAAAgDAABFAAAARgAAAA0AAAALAAAAFwAAAAQAAABLAAAAWQAAAFoAAAAOAAAADwAAAAkAAAACAAAADgAAAAAAAAAYAwAARwAAAEgAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAATAAAAE0AAABiAAAAYwAAAE4AAABPAAAAZAAAAAAAAAAoAwAASQAAAEoAAABQAAAAUQAAAFIAAABTAAAAVAAAAGUAAABmAAAAVQAAAGcAAAABAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAABAAwAASwAAAEwAAABWAAAAaAAAAAAAAAA4AwAATQAAAE4AAABPAAAAAAAAwAAAAABgAwAAUAAAAFEAAABXAAAAaQAAAAAAAABYAwAAUgAAAFMAAABUAAAAAAAAAHADAABVAAAAVgAAAFgAAABqAAAAAAAAAIgDAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAawAAAGwAAABeAAAAbQAAAAAAAAABAAAABQAAAAIAAAAFAAAAAwAAAAUAAAAEAAAAAAAAAJgDAABZAAAAWgAAAFsAAAABAAAAbgAAAF4AAABfAAAAYAAAAGEAAAABAAAAXwAAAGIAAABvAAAAYAAAAGEAAAABAAAAAAAAAKgDAABZAAAAWwAAAFsAAABwAAAAbgAAAF4AAABfAAAAYAAAAGEAAABiAAAAXwAAAGIAAABvAAAAYAAAAGEAAABxAAAAAAAAALgDAABcAAAAXQAAAGMAAAByAAAAAAAAAMgDAABZAAAAXgAAAHMAAAABAAAAbgAAAF4AAAB0AAAAYAAAAGEAAAABAAAAXwAAAGIAAAAAAAAA0AMAAFkAAABfAAAAcwAAAHUAAABuAAAAXgAAAHYAAABgAAAAYQAAAGQAAABfAAAAYgAAAAAAAADgAwAAWQAAAGAAAABzAAAAdwAAAG4AAABeAAAAeAAAAGAAAABhAAAAZQAAAF8AAABiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAVlVVVQIAAAAAAAAAAgAAAJqZmZkDAAAAVlVVVQMAAAAlSZIkAwAAAAAAAAADAAAAyHEcxwQAAACamZmZBAAAAEYXXXQEAAAAVlVVVQQAAAA8sRM7BAAAACVJkiQEAAAAEhEREQQAAAAAAAAABAAAAOLh4eEFAAAAyHEcxwUAAADLayivBQAAAJqZmZkFAAAAh2EYhgUAAABGF110BQAAAJGFLGQFAAAAVlVVVQUAAAB7FK5HBQAAADyxEzsFAAAA20toLwUAAAAlSZIkBQAAABKWexoFAAAAEhEREQUAAACFEEIIBQAAAAAAAAAFAAAACB988AYAAADi4eHhBgAAANVBHdQGAAAAyHEcxwYAAABNkc+6BgAAAMtrKK8GAAAApUEapAYAAACamZmZBgAAAPoYnI8GAAAAh2EYhgYAAAAY9AV9BgAAAEYXXXQGAAAAbcEWbAYAAACRhSxkBgAAALqCmFwGAAAAVlVVVQYAAABzCl5OBgAAAHsUrkcGAAAAQkFBQQYAAAA8sRM7BgAAALPPITUGAAAA20toLwYAAACfEuQpBgAAACVJkiQGAAAA3UdwHwYAAAASlnsaBgAAAPjlsRUGAAAAEhEREQYAAAD8FJcMBgAAAIUQQggGAAAABUEQBAYAAAAAAAAABgAAAPmBH/gHAAAACB988AcAAADAGhPpBwAAAOLh4eEHAAAAbAfm2gcAAADVQR3UBwAAAJFohc0HAAAAyHEcxwcAAAA5cODABwAAAE2Rz7oHAAAATxvotAcAAADLayivBwAAAAf2jqkHAAAApUEapAcAAABS6cieBwAAAJqZmZkHAAAAzg+LlAcAAAD6GJyPBwAAAPeQy4oHAAAAh2EYhgcAAACCgYGBBwAAABj0BX0HAAAAGMikeAcAAABGF110BwAAAMEFLnAHAAAAbcEWbAcAAABpgRZoBwAAAJGFLGQHAAAABhZYYAcAAAC6gphcBwAAAAkj7VgHAAAAVlVVVQcAAACvftBRBwAAAHMKXk4HAAAABmr9SgcAAAB7FK5HBwAAAFeGb0QHAAAAQkFBQQcAAADPyyI+BwAAADyxEzsHAAAAOYETOAcAAACzzyE1BwAAAKM0PjIHAAAA20toLwcAAADZtJ8sBwAAAJ8S5CkHAAAAiQs1JwcAAAAlSZIkBwAAABN4+yEHAAAA3UdwHwcAAADbavAcBwAAABKWexoHAAAAGYERGAcAAAD45bEVBwAAABSBXBMHAAAAEhEREQcAAAC/Vs8OBwAAAPwUlwwHAAAApxBoCgcAAACFEEIIBwAAADDdJAYHAAAABUEQBAcAAAARCAQCBwAAAAAAAAAHAAAAIPAH/AgAAAD5gR/4CAAAAOVZRvQIAAAACB988AgAAAAxe8DsCAAAAMAaE+kIAAAAkaxz5QgAAADi4eHhCAAAAEBuXd4IAAAAbAfm2ggAAABMZXvXCAAAANVBHdQIAAAA91jL0AgAAACRaIXNCAAAAFYwS8oIAAAAyHEcxwgAAAAd8PjDCAAAADlw4MAIAAAAmrjSvQgAAABNkc+6CAAAAN7D1rcIAAAATxvotAgAAAAHZAOyCAAAAMtrKK8IAAAArQFXrAgAAAAH9o6pCAAAAG4a0KYIAAAApUEapAgAAACYP22hCAAAAFLpyJ4IAAAA7xQtnAgAAACamZmZCAAAAIFPDpcIAAAAzg+LlAgAAACetA+SCAAAAPoYnI8IAAAA1BgwjQgAAAD3kMuKCAAAAAtfbogIAAAAh2EYhggAAACsd8mDCAAAAIKBgYEIAAAA0V9AfwgAAAAY9AV9CAAAAI8g0noIAAAAGMikeAgAAABEzn12CAAAAEYXXXQIAAAA9YdCcggAAADBBS5wCAAAALV2H24IAAAAbcEWbAgAAAAWzRNqCAAAAGmBFmgIAAAApsYeZggAAACRhSxkCAAAAHGnP2IIAAAABhZYYAgAAACOu3VeCAAAALqCmFwIAAAAsVbAWggAAAAJI+1YCAAAAMbTHlcIAAAAVlVVVQgAAACQlJBTCAAAAK9+0FEIAAAAUQEVUAgAAABzCl5OCAAAAHOIq0wIAAAABmr9SggAAAA8nlNJCAAAAHsUrkcIAAAAgLwMRggAAABXhm9ECAAAAF5i1kIIAAAAQkFBQQgAAAD8E7A/CAAAAM/LIj4IAAAASFqZPAgAAAA8sRM7CAAAAMLCkTkIAAAAOYETOAgAAAA+35g2CAAAALPPITUIAAAAtkWuMwgAAACjND4yCAAAABSQ0TAIAAAA20toLwgAAAAFXAIuCAAAANm0nywIAAAA0UpAKwgAAACfEuQpCAAAACkBiygIAAAAiQs1JwgAAAAJJ+IlCAAAACVJkiQIAAAAimdFIwgAAAATePshCAAAAMdwtCAIAAAA3UdwHwgAAAC08y4eCAAAANtq8BwIAAAABaS0GwgAAAASlnsaCAAAAAk4RRkIAAAAGYERGAgAAACVaOAWCAAAAPjlsRUIAAAA4fCFFAgAAAAUgVwTCAAAAHaONRIIAAAAEhEREQgAAAAQAe8PCAAAAL9Wzw4IAAAAiQqyDQgAAAD8FJcMCAAAAMNufgsIAAAApxBoCggAAACR81MJCAAAAIUQQggIAAAApWAyBwgAAAAw3SQGCAAAAH5/GQUIAAAABUEQBAgAAABSGwkDCAAAABEIBAIIAAAAAgEBAQgAAAAAAADAAAAAAPADAABhAAAAYgAAAAgAAAADAAAAeQAAAGMAAAAJAAAAAAAAwAAAAAAABAAAZAAAAGUAAAAKAAAABAAAAHkAAABjAAAACwAAAAAAAMADAAAA6BcAAAUAAAAAAAAAAAAAAHoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAATF8AAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAU1sAAAAAAAAQBAAAZgAAAGcAAABoAAAAaQAAABIAAAABAAAAAQAAAAEAAAAAAAAAOAQAAGYAAABqAAAAaAAAAGkAAAASAAAAAgAAAAIAAAACAAAAAAAAAEgEAABrAAAAbAAAAHsAAAAAAAAAWAQAAGsAAABtAAAAewAAAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vYXR0cmlidXRlcy9hdHRyaWJ1dGVfb2N0YWhlZHJvbl90cmFuc2Zvcm0uY2MATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAGlzX2luaXRpYWxpemVkKCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9hdHRyaWJ1dGVzL2F0dHJpYnV0ZV9xdWFudGl6YXRpb25fdHJhbnNmb3JtLmNjAEdlbmVyYXRlUG9ydGFibGVBdHRyaWJ1dGUATjVkcmFjbzE3QXR0cmlidXRlc0VuY29kZXJFAChjb21wcmVzc2lvbl9sZXZlbCkgPD0gKDYpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9rZF90cmVlX2F0dHJpYnV0ZXNfZW5jb2Rlci5jYwBFbmNvZGVEYXRhTmVlZGVkQnlQb3J0YWJsZVRyYW5zZm9ybXMAKHRydWUpID09ICgoZW5kIC0gYmVnaW4pID4gMCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9wb2ludF9jbG91ZC9hbGdvcml0aG1zL2R5bmFtaWNfaW50ZWdlcl9wb2ludHNfa2RfdHJlZV9lbmNvZGVyLmgARW5jb2RlSW50ZXJuYWwAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2JpdF9jb2RlcnMvZGlyZWN0X2JpdF9lbmNvZGVyLmgAKHRydWUpID09IChlbmQgLSBiZWdpbiAhPSAwKQBHZXRBeGlzAE1ldGhvZCBub3Qgc3VwcG9ydGVkLiAKAE41ZHJhY28yM0tkVHJlZUF0dHJpYnV0ZXNFbmNvZGVyRQBONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRW5jb2RlckUATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZUVuY29kZXJzQ29udHJvbGxlckUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWRFbmNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZUVuY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL3ByZWRpY3Rpb25fc2NoZW1lX3dyYXBfdHJhbnNmb3JtX2Jhc2UuaABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQB1c2VfYnVpbHRfaW5fYXR0cmlidXRlX2NvbXByZXNzaW9uAE41ZHJhY28zM1NlcXVlbnRpYWxJbnRlZ2VyQXR0cmlidXRlRW5jb2RlckUAKG1heF9xdWFudGl6ZWRfdmFsdWUgJSAyKSA9PSAoMSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9wcmVkaWN0aW9uX3NjaGVtZV9ub3JtYWxfb2N0YWhlZHJvbl90cmFuc2Zvcm1fYmFzZS5oAHNldF9tYXhfcXVhbnRpemVkX3ZhbHVlAChxKSA+PSAoMikAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL25vcm1hbF9jb21wcmVzc2lvbl91dGlscy5oAFNldFF1YW50aXphdGlvbkJpdHMAKHEpIDw9ICgzMCkAZmFsc2UAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3NlcXVlbnRpYWxfbm9ybWFsX2F0dHJpYnV0ZV9lbmNvZGVyLmgAQ3JlYXRlSW50UHJlZGljdGlvblNjaGVtZQAocHJlZF92YWxzWzBdKSA8PSAodGhpcy0+Y2VudGVyX3ZhbHVlKCkgKiAyKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL3ByZWRpY3Rpb25fc2NoZW1lX25vcm1hbF9vY3RhaGVkcm9uX2Nhbm9uaWNhbGl6ZWRfZW5jb2RpbmdfdHJhbnNmb3JtLmgAQ29tcHV0ZUNvcnJlY3Rpb24AKHByZWRfdmFsc1sxXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKG9yaWdfdmFsc1swXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKG9yaWdfdmFsc1sxXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKDApIDw9IChwcmVkX3ZhbHNbMF0pACgwKSA8PSAocHJlZF92YWxzWzFdKQAoMCkgPD0gKG9yaWdfdmFsc1swXSkAKDApIDw9IChvcmlnX3ZhbHNbMV0pAChzKSA8PSAoY2VudGVyX3ZhbHVlXykASXNJbkRpYW1vbmQAKHQpIDw9IChjZW50ZXJfdmFsdWVfKQAocykgPj0gKC1jZW50ZXJfdmFsdWVfKQAodCkgPj0gKC1jZW50ZXJfdmFsdWVfKQAoeCkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikATWFrZVBvc2l0aXZlACgqcykgPD0gKGNlbnRlcl92YWx1ZV8pAEludmVydERpYW1vbmQAKCp0KSA8PSAoY2VudGVyX3ZhbHVlXykAKCpzKSA+PSAoLWNlbnRlcl92YWx1ZV8pACgqdCkgPj0gKC1jZW50ZXJfdmFsdWVfKQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAHRoaXMtPklzSW5pdGlhbGl6ZWQoKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfZ2VvbWV0cmljX25vcm1hbF9wcmVkaWN0b3JfYXJlYS5oAENvbXB1dGVQcmVkaWN0ZWRWYWx1ZQAobm9ybWFsLkFic1N1bSgpKSA8PSAodXBwZXJfYm91bmQpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX3ByZWRpY3Rvcl9iYXNlLmgAR2V0UG9zaXRpb25Gb3JDb3JuZXIATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX2VuY29kZXIuaABDb21wdXRlQ29ycmVjdGlvblZhbHVlcwAobnVtX2NvbXBvbmVudHMpID09ICgyKQAocHJlZF9ub3JtYWxfM2QuQWJzU3VtKCkpID09IChvY3RhaGVkcm9uX3Rvb2xfYm94Xy5jZW50ZXJfdmFsdWUoKSkAKHN0ZDo6YWJzKGludF92ZWNbMF0pICsgc3RkOjphYnMoaW50X3ZlY1sxXSkgKyBzdGQ6OmFicyhpbnRfdmVjWzJdKSkgPT0gKGNlbnRlcl92YWx1ZV8pAEludGVnZXJWZWN0b3JUb1F1YW50aXplZE9jdGFoZWRyYWxDb29yZHMAKGkpID09ICgwKQBHZXRQYXJlbnRBdHRyaWJ1dGVUeXBlAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfdGV4X2Nvb3Jkc19wb3J0YWJsZV9lbmNvZGVyLmgATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV90ZXhfY29vcmRzX2VuY29kZXIuaABONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVFbmNvZGVyRQBwcmVkaWN0aW9uX3NjaGVtZQBlbmNvZGluZ19zcGVlZABkZWNvZGluZ19zcGVlZABxdWFudGl6YXRpb25fb3JpZ2luAHF1YW50aXphdGlvbl9yYW5nZQAgAGVuY29kaW5nX21ldGhvZABxdWFudGl6YXRpb25fYml0cwBJbnZhbGlkIGVuY29kaW5nIG1ldGhvZC4Ac3RhbmRhcmRfZWRnZWJyZWFrZXIAcHJlZGljdGl2ZV9lZGdlYnJlYWtlcgBlZGdlYnJlYWtlcl9tZXRob2QATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRW5jb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUAc3BsaXRfbWVzaF9vbl9zZWFtcwBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbEVuY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZUVuY29kZXJFRUUATjVkcmFjbzExTWVzaEVuY29kZXJFAGNvbXByZXNzX2Nvbm5lY3Rpdml0eQBONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAE41ZHJhY28yMU1lc2hTZXF1ZW50aWFsRW5jb2RlckUATjVkcmFjbzE3UG9pbnRDbG91ZEVuY29kZXJFAEludmFsaWQgaW5wdXQgZ2VvbWV0cnkuAEZhaWxlZCB0byBpbml0aWFsaXplIGVuY29kZXIuAEZhaWxlZCB0byBlbmNvZGUgaW50ZXJuYWwgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBnZW9tZXRyeSBkYXRhLgBGYWlsZWQgdG8gZW5jb2RlIHBvaW50IGF0dHJpYnV0ZXMuAEZhaWxlZCB0byBlbmNvZGUgbWV0YWRhdGEuAERSQUNPAE41ZHJhY28yM1BvaW50Q2xvdWRLZFRyZWVFbmNvZGVyRQBONWRyYWNvMjdQb2ludENsb3VkU2VxdWVudGlhbEVuY29kZXJFAChhbnNfLnN0YXRlKSA+PSAobF9yYW5zX2Jhc2UpAHdyaXRlX2VuZAAoYW5zXy5zdGF0ZSkgPCAobF9yYW5zX2Jhc2UgKiAyNTYpAChuYml0cykgPj0gKDApAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9lbmNvZGVyX2J1ZmZlci5oAFB1dEJpdHMAKG5iaXRzKSA8PSAoMzIpACh0cnVlKSA9PSAobmJpdHMgPD0gMzIpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9iaXRfY29kZXJzL3JhbnNfYml0X2VuY29kZXIuY2MARW5jb2RlTGVhc3RTaWduaWZpY2FudEJpdHMzMgAodHJ1ZSkgPT0gKG5iaXRzID4gMCkAKGFucy0+c3RhdGUpID49ICgoMTAyNHUgKiA0KSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2Fucy5oAGFuc193cml0ZV9lbmQAKGFucy0+c3RhdGUpIDwgKCgxMDI0dSAqIDQpICogMjU2KQBONWRyYWNvNE1lc2hFACgwKSA8PSAoZmFjZV9pZC52YWx1ZSgpKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL21lc2gvbWVzaC5oAGZhY2UAKGZhY2VfaWQudmFsdWUoKSkgPCAoc3RhdGljX2Nhc3Q8aW50PihmYWNlc18uc2l6ZSgpKSkAIWlkZW50aXR5X21hcHBpbmdfAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vYXR0cmlidXRlcy9wb2ludF9hdHRyaWJ1dGUuaABTZXRQb2ludE1hcEVudHJ5AGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAYXR0X2lkID49IDAAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9wb2ludF9jbG91ZC9wb2ludF9jbG91ZC5jYwBTZXRBdHRyaWJ1dGUATjVkcmFjbzEwUG9pbnRDbG91ZEUAKGNvbXByZXNzaW9uX2xldmVsXykgPD0gKDYpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vcG9pbnRfY2xvdWQvYWxnb3JpdGhtcy9mbG9hdF9wb2ludHNfdHJlZV9lbmNvZGVyLmNjAEZsb2F0UG9pbnRzVHJlZUVuY29kZXIARW5jb2RlUG9pbnRDbG91ZEtkVHJlZUludGVybmFsACgwKSA8PSAoYXR0X2lkKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL3BvaW50X2Nsb3VkL3BvaW50X2Nsb3VkLmgAYXR0cmlidXRlAChhdHRfaWQpIDwgKHN0YXRpY19jYXN0PGludDMyX3Q+KGF0dHJpYnV0ZXNfLnNpemUoKSkpABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABpbmZpbml0eQBuYW4AJWQAJWYAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 ___cxa_allocate_exception(size){return _malloc(size)}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){Module["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 ___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 ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}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 ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__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=Runtime.staticAlloc(4);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;var ASSERTIONS=false;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function Lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(c|0){case 0:{l=24;m=-149;i=4;break}case 1:{l=53;m=-1074;i=4;break}case 2:{l=53;m=-1074;i=4;break}default:e=0.0}a:do if((i|0)==4){o=a+4|0;n=a+100|0;do{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0}while((Ep(c)|0)!=0);b:do switch(c|0){case 43:case 45:{g=1-(((c|0)==45&1)<<1)|0;c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0;k=g;break b}else{c=Pi(a)|0;k=g;break b}}default:k=1}while(0);g=c;c=0;do{if((g|32|0)!=(b[23003+c>>0]|0))break;do if(c>>>0<7){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Pi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<8);c:do switch(c|0){case 8:break;case 3:{i=23;break}default:{j=(d|0)!=0;if(j&c>>>0>3)if((c|0)==8)break c;else{i=23;break c}d:do if(!c){c=0;do{if((g|32|0)!=(b[23012+c>>0]|0))break d;do if(c>>>0<2){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Pi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<3)}while(0);switch(c|0){case 3:{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;if((c|0)==40)c=1;else{if(!(f[n>>2]|0)){e=B;break a}f[o>>2]=(f[o>>2]|0)+-1;e=B;break a}while(1){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0}else g=Pi(a)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;c=c+1|0}if((g|0)==41){e=B;break a}g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!j){o=aq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}if(!c){e=B;break a}while(1){c=c+-1|0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!c){e=B;break a}}}case 0:{if((g|0)==48){c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;if((c|32|0)==120){e=+Ec(a,l,m,k,d);break a}if(!(f[n>>2]|0))c=48;else{f[o>>2]=(f[o>>2]|0)+-1;c=48}}else c=g;e=+Jb(a,c,l,m,k,d);break a}default:{if(f[n>>2]|0)f[o>>2]=(f[o>>2]|0)+-1;o=aq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}}}}while(0);if((i|0)==23){g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if((d|0)!=0&c>>>0>3)do{if(!g)f[o>>2]=(f[o>>2]|0)+-1;c=c+-1|0}while(c>>>0>3)}e=+$($(k|0)*$(C))}while(0);return +e}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))zi(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))zi(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))zi(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){zi(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Nc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+48|0;o=t+32|0;n=t+28|0;r=t+4|0;p=t;l=t+16|0;q=t+36|0;if((c|0)<0){s=0;u=t;return s|0}if(!c){s=1;u=t;return s|0}g=(d|0)>1;m=g?d:1;f[r>>2]=0;s=r+4|0;f[s>>2]=0;f[r+8>>2]=0;j=r+8|0;if(c>>>0>1073741823){t=Ha(4)|0;Pp(t);sa(t|0,1096,107)}k=_m(c<<2)|0;i=k;f[r>>2]=i;f[s>>2]=i;f[j>>2]=k+(c<<2);f[p>>2]=0;a:do if(g){h=0;do{d=1;g=f[a+(h<<2)>>2]|0;do{k=f[a+(d+h<<2)>>2]|0;g=g>>>0>>0?k:g;d=d+1|0}while((d|0)!=(m|0));d=(_(g|0)|0)^31;if(g>>>0>(f[p>>2]|0)>>>0)f[p>>2]=g;g=(g|0)==0?1:d+1|0;f[o>>2]=g;d=f[s>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=g;f[s>>2]=d+4}else zi(r,o);h=h+m|0}while((h|0)<(c|0))}else{i=0;d=0;while(1){g=f[a+(d<<2)>>2]|0;h=(_(g|0)|0)^31;if(g>>>0>i>>>0)f[p>>2]=g;h=(g|0)==0?1:h+1|0;f[o>>2]=h;g=f[s>>2]|0;if(g>>>0<(f[j>>2]|0)>>>0){f[g>>2]=h;f[s>>2]=g+4}else zi(r,o);d=d+m|0;if((d|0)>=(c|0))break a;i=f[p>>2]|0}}while(0);yj(l,r);k=l+4|0;g=f[k>>2]|0;h=f[l>>2]|0;j=h;i=g-h>>2;if((g|0)==(h|0)){g=0;d=0}else{g=0;d=0;h=0;do{g=Zn(f[j+(h<<2)>>2]|0,0,g|0,d|0)|0;d=I;h=h+1|0}while(h>>>0>>0)}v=fg(j,i,32,o)|0;j=I;i=f[o>>2]<<3;i=tn(i|0,((i|0)<0)<<31>>31|0,1)|0;h=I;d=Zm(g|0,d|0,m|0,0)|0;d=Zn(v|0,j|0,d|0,I|0)|0;h=Zn(d|0,I|0,i|0,h|0)|0;i=I;d=f[l>>2]|0;if(d|0){g=f[k>>2]|0;if((g|0)!=(d|0))f[k>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}v=f[p>>2]|0;k=fg(a,c,v,o)|0;j=f[o>>2]|0;l=((v-j|0)/64|0)+j<<3;j=j<<3;k=Zn(j|0,((j|0)<0)<<31>>31|0,k|0,I|0)|0;l=Zn(k|0,I|0,l|0,((l|0)<0)<<31>>31|0)|0;k=I;if((i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0|((_((v>>>0>1?v:1)|0)|0)^30)>>>0>17){b[q>>0]=0;v=e+16|0;p=f[v+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[v>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,q,q+1|0)|0}h=Jc(a,c,m,r,e)|0}else{b[q>>0]=1;v=e+16|0;m=f[v+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[v>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,q,q+1|0)|0}h=id(a,c,p,e)|0}d=f[r>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}v=h;u=t;return v|0}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+16|0;v=w+8|0;l=w+4|0;p=w;q=a+124|0;f[q>>2]=(f[q>>2]|0)+1;q=a+88|0;m=a+120|0;j=f[m>>2]|0;c=j+1|0;do if((j|0)>=0){c=((c|0)%3|0|0)==0?j+-2|0:c;if(!((j>>>0)%3|0)){h=j+2|0;break}else{h=j+-1|0;break}}else{c=j;h=j}while(0);r=a+104|0;o=a+92|0;e=f[o>>2]|0;i=e+(c<<2)|0;g=f[r>>2]|0;d=g+(f[i>>2]<<2)|0;t=f[d>>2]|0;switch(b|0){case 1:case 0:{f[d>>2]=t+-1;j=g+(f[e+(h<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+-1;if((b|0)==1){if((h|0)>=0?(k=f[(f[(f[q>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(k|0)>-1):0){g=a+64|0;e=k;d=1;do{k=f[g>>2]|0;j=f[(f[k>>2]|0)+36>>2]|0;f[l>>2]=(e>>>0)/3|0;f[v>>2]=f[l>>2];if(Va[j&127](k,v)|0)break;k=e+1|0;e=((k|0)%3|0|0)==0?e+-2|0:k;if((e|0)<0){s=12;break}e=f[(f[(f[q>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;d=d+1|0}while((e|0)>-1);if((s|0)==12)d=d+1|0;g=f[r>>2]|0;e=f[o>>2]|0}else d=1;f[g+(f[e+(f[m>>2]<<2)>>2]<<2)>>2]=d;h=a+108|0;d=f[h>>2]|0;g=d-g>>2;if((c|0)>=0?(n=f[(f[(f[q>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(n|0)>-1):0){e=a+64|0;d=n;c=1;do{n=f[e>>2]|0;m=f[(f[n>>2]|0)+36>>2]|0;f[p>>2]=(d>>>0)/3|0;f[v>>2]=f[p>>2];if(Va[m&127](n,v)|0)break;n=d+1|0;f[(f[o>>2]|0)+((((n|0)%3|0|0)==0?d+-2|0:n)<<2)>>2]=g;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0){s=20;break}d=f[(f[(f[q>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;c=c+1|0}while((d|0)>-1);if((s|0)==20)c=c+1|0;d=f[h>>2]|0}else c=1;f[v>>2]=c;if(d>>>0<(f[a+112>>2]|0)>>>0){f[d>>2]=c;f[h>>2]=d+4}else zi(r,v)}break}case 5:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}case 3:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;break}case 7:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}default:{}}i=a+116|0;e=f[i>>2]|0;if((e|0)==-1){f[i>>2]=b;u=w;return}d=f[a+128>>2]|0;if((t|0)<(d|0))c=d;else{c=f[a+132>>2]|0;c=(t|0)>(c|0)?c:t}h=c-d|0;g=f[a+136>>2]|0;c=f[3596+(e<<2)>>2]|0;f[v>>2]=c;e=g+(h*12|0)+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+(h*12|0)+8>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else zi(g+(h*12|0)|0,v);f[i>>2]=b;u=w;return}function Pc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+32|0;r=x;s=x+20|0;q=x+24|0;v=x+8|0;t=f[a>>2]|0;w=t+8|0;d=f[t>>2]|0;t=f[t+4>>2]|0;w=Zn(d|0,t|0,f[w>>2]|0,f[w+4>>2]|0)|0;n=I;n=Zn((w|0)==0&(n|0)==0&1|0,0,w|0,n|0)|0;n=~~((+(d>>>0)+4294967296.0*+(t>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=n>>>0<255?n:255;b[q>>0]=((n|0)==0&1)+n;n=a+12|0;t=a+16|0;d=((f[t>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[v>>2]=0;w=v+4|0;f[w>>2]=0;f[v+8>>2]=0;if(!d)o=0;else{if((d|0)<0)Wo(v);e=_m(d)|0;f[w>>2]=e;f[v>>2]=e;f[v+8>>2]=e+d;do{b[e>>0]=0;e=(f[w>>2]|0)+1|0;f[w>>2]=e;d=d+-1|0}while((d|0)!=0);o=f[v>>2]|0}p=a+28|0;e=(f[p>>2]|0)+-1|0;if((e|0)>-1){k=a+24|0;d=4096;h=0;do{g=b[q>>0]|0;i=256-(g&255)|0;j=(f[k>>2]&1<>>0>=g<<12>>>0){b[o+h>>0]=d;d=d>>>8;h=h+1|0}Zm(f[3964+(g<<3)>>2]|0,0,d|0,0)|0;d=d+(j?0:i&255)+(X((I+d|0)>>>(f[3964+(g<<3)+4>>2]|0),256-g|0)|0)|0;e=e+-1|0}while((e|0)>-1);e=d}else{e=4096;h=0}d=f[t>>2]|0;if((d|0)==(f[n>>2]|0))g=e;else{g=h;while(1){d=d+-4|0;m=f[d>>2]|0;j=31;while(1){i=b[q>>0]|0;k=256-(i&255)|0;l=(1<>>0>>0)h=g;else{b[o+g>>0]=e;e=e>>>8;h=g+1|0}Zm(f[3964+(i<<3)>>2]|0,0,e|0,0)|0;e=e+(l?0:k&255)+(X((I+e|0)>>>(f[3964+(i<<3)+4>>2]|0),256-i|0)|0)|0;if((j|0)<=0)break;else{g=h;j=j+-1|0}}if((d|0)==(f[n>>2]|0)){g=e;break}else g=h}}if(g>>>0<=4095)Fa(19601,19631,132,19707);if(g>>>0>=1048576)Fa(19721,19631,133,19707);d=g+-4096|0;do if(d>>>0>=64){e=o+h|0;if(d>>>0<16384){d=g+12288|0;b[e>>0]=d;g=2;e=e+1|0;d=d>>>8;break}else{d=g+8384512|0;b[e>>0]=d;b[e+1>>0]=d>>>8;g=3;e=e+2|0;d=d>>>16;break}}else{g=1;e=o+h|0}while(0);b[e>>0]=d;e=g+h|0;g=c+16|0;o=g;n=f[o+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ie(c,r,q,q+1|0)|0}Mh(e,c)|0;d=f[v>>2]|0;q=g;o=f[q+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[q>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ie(c,r,d,d+e|0)|0}d=r;f[d>>2]=0;f[d+4>>2]=0;Te(a,2,r);d=f[a+12>>2]|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+24>>2]=0;f[p>>2]=0;d=f[v>>2]|0;if(!d){u=x;return}if((f[w>>2]|0)!=(d|0))f[w>>2]=d;mq(d);u=x;return}function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>262144){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;mb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>131072){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;nb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>65536){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;ob(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>32768){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;pb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>16384){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;qb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>8192){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*524288.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==524288){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;rb(h,l,n);a:do if((i|0)<524288){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=524288-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>524288;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-524288|0;while(1){e=524288.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==524288){i=524288;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=524288){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*1.9073486328125e-06)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>4096){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*262144.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==262144){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;sb(h,l,n);a:do if((i|0)<262144){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=262144-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>262144;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-262144|0;while(1){e=262144.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==262144){i=262144;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=262144){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*3.814697265625e-06)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>2048){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*65536.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==65536){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;tb(h,l,n);a:do if((i|0)<65536){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=65536-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>65536;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-65536|0;while(1){e=65536.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==65536){i=65536;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=65536){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.0000152587890625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>1024){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*32768.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==32768){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;ub(h,l,n);a:do if((i|0)<32768){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=32768-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>32768;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-32768|0;while(1){e=32768.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==32768){i=32768;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=32768){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000030517578125)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>512){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*8192.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==8192){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;vb(h,l,n);a:do if((i|0)<8192){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=8192-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>8192;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-8192|0;while(1){e=8192.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==8192){i=8192;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=8192){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.0001220703125)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>256){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;wb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>128){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;xb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>64){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;yb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>32){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;zb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>16){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Ab(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>8){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Bb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>4){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Cb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>2){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Db(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;r=f[a+28>>2]|0;s=f[a+32>>2]|0;y=e>>>0>1073741823?-1:e<<2;v=jq(y)|0;Xi(v|0,0,y|0)|0;w=jq(y)|0;Xi(w|0,0,y|0)|0;y=a+36|0;h=f[y>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;i=d-g|0;a:do if((i|0)>4){x=(e|0)>0;z=a+8|0;u=r+12|0;t=e<<2;p=i>>2;while(1){q=p+-1|0;if(d-g>>2>>>0<=q>>>0){Vo(h);g=f[h>>2]|0}o=f[g+(q<<2)>>2]|0;if(x)Xi(v|0,0,t|0)|0;if((o|0)>-1){n=f[u>>2]|0;m=o;l=0;while(1){d=f[n+(m<<2)>>2]|0;if((d|0)>=0){h=f[r>>2]|0;i=f[s>>2]|0;k=f[i+(f[h+(d<<2)>>2]<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;j=f[i+(g<<2)>>2]|0;g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;g=f[i+(g<<2)>>2]|0;if((k|0)<(q|0)&(j|0)<(q|0)&(g|0)<(q|0)){i=X(k,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(x){g=0;do{f[w+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(x){g=0;do{k=v+(g<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[w+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else l=h}g=X(q,e)|0;if(!h)A=32;else{if(x){d=0;do{p=v+(d<<2)|0;f[p>>2]=(f[p>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}Xh(z,b+(g<<2)|0,v,c+(g<<2)|0)}}else{g=X(q,e)|0;A=32}if((A|0)==32){A=0;Xh(z,b+(g<<2)|0,b+((X(p+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((q|0)<=1)break a;g=f[y>>2]|0;d=f[g+4>>2]|0;h=g;g=f[g>>2]|0;p=q}}while(0);if((e|0)<=0){A=a+8|0;Xh(A,b,v,c);kq(w);kq(v);return 1}Xi(v|0,0,e<<2|0)|0;A=a+8|0;Xh(A,b,v,c);kq(w);kq(v);return 1}function hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;p=f[a+28>>2]|0;q=f[a+32>>2]|0;x=e>>>0>1073741823?-1:e<<2;t=jq(x)|0;Xi(t|0,0,x|0)|0;u=jq(x)|0;Xi(u|0,0,x|0)|0;x=a+36|0;h=f[x>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;i=d-g|0;a:do if((i|0)>4){v=(e|0)>0;y=a+8|0;w=p+64|0;s=p+28|0;r=e<<2;n=i>>2;while(1){o=n+-1|0;if(d-g>>2>>>0<=o>>>0){Vo(h);g=f[h>>2]|0}m=f[g+(o<<2)>>2]|0;if(v)Xi(t|0,0,r|0)|0;if((m|0)>-1){l=f[p>>2]|0;k=m;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(C=f[(f[(f[w>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(C|0)>=0):0)?(B=f[s>>2]|0,i=f[q>>2]|0,z=f[i+(f[B+(C<<2)>>2]<<2)>>2]|0,A=C+1|0,A=f[i+(f[B+((((A|0)%3|0|0)==0?C+-2|0:A)<<2)>>2]<<2)>>2]|0,B=f[i+(f[B+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(z|0)<(o|0)&(A|0)<(o|0)&(B|0)<(o|0)):0){d=X(z,e)|0;h=X(A,e)|0;i=X(B,e)|0;if(v){g=0;do{f[u+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(v){g=0;do{i=t+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[u+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}j=j+1|0}g=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[w>>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);k=(g|0)==(m|0)?-1073741824:g}while((k|0)>-1);g=X(o,e)|0;if(!j)D=30;else{if(v){d=0;do{n=t+(d<<2)|0;f[n>>2]=(f[n>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}Xh(y,b+(g<<2)|0,t,c+(g<<2)|0)}}else{g=X(o,e)|0;D=30}if((D|0)==30){D=0;Xh(y,b+(g<<2)|0,b+((X(n+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((o|0)<=1)break a;g=f[x>>2]|0;d=f[g+4>>2]|0;h=g;g=f[g>>2]|0;n=o}}while(0);if((e|0)<=0){D=a+8|0;Xh(D,b,t,c);kq(u);kq(t);return 1}Xi(t|0,0,e<<2|0)|0;D=a+8|0;Xh(D,b,t,c);kq(u);kq(t);return 1}function id(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+8|0;i=m+4|0;k=m;l=m+12|0;f[k>>2]=0;if(!d)if((c|0)>0){g=0;h=0;while(1){d=f[a+(h<<2)>>2]|0;if(d>>>0>g>>>0)f[k>>2]=d;else d=g;h=h+1|0;if((h|0)==(c|0)){g=7;break}else g=d}}else d=1;else{d=f[d>>2]|0;f[k>>2]=d;g=7}if((g|0)==7){g=((_(d|0)|0)^31)+1|0;if(d)if(g>>>0>18){e=0;u=m;return e|0}else d=g;else d=1}b[l>>0]=d;h=e+16|0;g=f[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)){f[i>>2]=f[e+4>>2];f[j>>2]=f[i>>2];Ie(e,j,l,l+1|0)|0}do switch(d|0){case 1:case 0:{e=ze(a,c,k,e)|0;u=m;return e|0}case 2:{e=ye(a,c,k,e)|0;u=m;return e|0}case 3:{e=xe(a,c,k,e)|0;u=m;return e|0}case 4:{e=we(a,c,k,e)|0;u=m;return e|0}case 5:{e=ve(a,c,k,e)|0;u=m;return e|0}case 6:{e=ue(a,c,k,e)|0;u=m;return e|0}case 7:{e=te(a,c,k,e)|0;u=m;return e|0}case 8:{e=se(a,c,k,e)|0;u=m;return e|0}case 9:{e=re(a,c,k,e)|0;u=m;return e|0}case 10:{e=pe(a,c,k,e)|0;u=m;return e|0}case 11:{e=oe(a,c,k,e)|0;u=m;return e|0}case 12:{e=ne(a,c,k,e)|0;u=m;return e|0}case 13:{e=me(a,c,k,e)|0;u=m;return e|0}case 14:{e=le(a,c,k,e)|0;u=m;return e|0}case 15:{e=ke(a,c,k,e)|0;u=m;return e|0}case 16:{e=je(a,c,k,e)|0;u=m;return e|0}case 17:{e=ie(a,c,k,e)|0;u=m;return e|0}case 18:{e=he(a,c,k,e)|0;u=m;return e|0}default:{e=0;u=m;return e|0}}while(0);return 0}function jd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2852;e=b;f[a>>2]=e;return}case 2:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2908;e=b;f[a>>2]=e;return}case 4:{b=_m(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2964;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3020;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3076;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3132;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=3188;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function kd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2488;e=b;f[a>>2]=e;return}case 2:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2544;e=b;f[a>>2]=e;return}case 4:{b=_m(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2600;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2656;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2712;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2768;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=2824;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+1264|0;t=x+1252|0;q=x+1248|0;v=x+16|0;d=x+1244|0;i=x+1240|0;w=x+8|0;r=x+1236|0;e=x+1232|0;g=x+1228|0;h=x+1224|0;j=x+1220|0;k=x+1216|0;l=x+1212|0;m=x+1208|0;n=x+1204|0;o=x+12|0;p=x+4|0;s=x;c=f[a+48>>2]|0;if(c>>>0>=7)Fa(20199,20227,45,20379);switch(c|0){case 0:{th(v,3);f[d>>2]=f[b>>2];f[i>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[d>>2];f[t>>2]=f[i>>2];of(v,q,t,w,a+16|0)|0;gf(v);u=x;return 1}case 1:{th(v,3);f[r>>2]=f[b>>2];f[e>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[r>>2];f[t>>2]=f[e>>2];of(v,q,t,w,a+16|0)|0;gf(v);u=x;return 1}case 2:{uh(v,3);f[g>>2]=f[b>>2];f[h>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[g>>2];f[t>>2]=f[h>>2];qf(v,q,t,w,a+16|0)|0;hf(v);u=x;return 1}case 3:{uh(v,3);f[j>>2]=f[b>>2];f[k>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[j>>2];f[t>>2]=f[k>>2];qf(v,q,t,w,a+16|0)|0;hf(v);u=x;return 1}case 4:{bh(v,3);f[l>>2]=f[b>>2];f[m>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[l>>2];f[t>>2]=f[m>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}case 5:{bh(v,3);f[n>>2]=f[b>>2];f[o>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[n>>2];f[t>>2]=f[o>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}default:{bh(v,3);f[p>>2]=f[b>>2];f[s>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[p>>2];f[t>>2]=f[s>>2];We(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}}return 0}function md(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}q=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)g=c&p;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){o=c;b:while(1){c:do if(q){c=e;while(1){n=f[c+4>>2]&p;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=c+10|0;k=c+12|0;l=c+14|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[m>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break d}if((d[l>>1]|0)!=(d[e+14>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=40;break a}}}else{c=e;while(1){n=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=c+10|0;k=c+12|0;l=c+14|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[m>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break e}if((d[l>>1]|0)!=(d[e+14>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=40;break a}}}while(0);e=f[c>>2]|0;if(!e){c=40;break a}else{i=c;o=c}}f[e>>2]=o;e=f[c>>2]|0;if(!e){c=40;break}else i=c}if((c|0)==40)return}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}p=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)e=c&o;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=f[c+4>>2]&o;if((m|0)==(e|0))break c;d=(f[a>>2]|0)+(m<<2)|0;if(!(f[d>>2]|0)){e=m;break b}l=c+12|0;j=c+16|0;k=c+20|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[l>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break d}if((f[k>>2]|0)!=(f[d+20>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{q=d;d=g;g=q}}}while(0);f[n>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){m=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(f[a>>2]|0)+(m<<2)|0;if(!(f[d>>2]|0)){e=m;break b}l=c+12|0;j=c+16|0;k=c+20|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[l>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break e}if((f[k>>2]|0)!=(f[d+20>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{q=d;d=g;g=q}}}while(0);f[n>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=40;break a}}}while(0);d=f[c>>2]|0;if(!d){c=40;break a}else{h=c;n=c}}f[d>>2]=n;d=f[c>>2]|0;if(!d){c=40;break}else h=c}if((c|0)==40)return}function od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}q=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=q;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;p=c+-1|0;q=(p&c|0)==0;if(q)g=d&p;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){o=d;b:while(1){c:do if(q){d=e;while(1){n=f[d+4>>2]&p;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=d+9|0;k=d+10|0;l=d+11|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[m>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break d}if((b[l>>0]|0)!=(b[e+11>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}}else{d=e;while(1){n=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=d+9|0;k=d+10|0;l=d+11|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[m>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break e}if((b[l>>0]|0)!=(b[e+11>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}}while(0);e=f[d>>2]|0;if(!e){d=40;break a}else{i=d;o=d}}f[e>>2]=o;e=f[d>>2]|0;if(!e){d=40;break}else i=d}if((d|0)==40)return}function pd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+32|0;h=j+12|0;i=j;f[b+48>>2]=c;g=b+44|0;f[g>>2]=d;d=f[b+8>>2]|0;e=b+12|0;c=f[e>>2]|0;if((c|0)!=(d|0))do{k=c+-4|0;f[e>>2]=k;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(d|0));c=f[b+20>>2]|0;e=b+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);c=f[b+32>>2]|0;e=b+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);c=b+4|0;if(!(f[c>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,18966,23);f[a>>2]=-1;dl(a+4|0,h);_n(h);u=j;return}Od(a,b);if(f[a>>2]|0){u=j;return}d=a+4|0;_n(d);c=f[(f[c>>2]|0)+4>>2]|0;do if(c){if(nj(h,f[g>>2]|0,c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;break}f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18990,26);f[a>>2]=-1;dl(d,i);_n(i);if(f[a>>2]|0){u=j;return}}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}while(0);_n(d);if(!(Ra[f[(f[b>>2]|0)+16>>2]&127](b)|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19017,29);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}if(!(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19047,31);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}if(!(Ra[f[(f[b>>2]|0)+24>>2]&127](b)|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19079,31);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}if(Ra[f[(f[b>>2]|0)+28>>2]&127](b)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=j;return}else{f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19111,34);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}}function qd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;u=a+8|0;f[u>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}else d=0;g=d-e|0;if((g|0)>0){o=0-e|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;d=f[u>>2]|0;do{l=b+(g<<2)|0;m=c+(g<<2)|0;if((d|0)>0){k=0;j=l+(o<<2)|0;while(1){if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[r>>2]|0;if((d|0)>(h|0)){d=f[n>>2]|0;f[d+(i<<2)>>2]=h}else{w=f[t>>2]|0;h=f[n>>2]|0;f[h+(i<<2)>>2]=(d|0)<(w|0)?w:d;d=h}i=i+1|0}while((i|0)<(f[u>>2]|0));i=d}else i=f[n>>2]|0;d=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=m+(k<<2)|0;f[h>>2]=d;if((d|0)>=(f[s>>2]|0)){if((d|0)>(f[p>>2]|0)){d=d-(f[q>>2]|0)|0;v=41}}else{d=(f[q>>2]|0)+d|0;v=41}if((v|0)==41){v=0;f[h>>2]=d}k=k+1|0;d=f[u>>2]|0;if((k|0)>=(d|0))break;else j=i}}g=g-e|0}while((g|0)>0)}else d=f[u>>2]|0;w=e>>>0>1073741823?-1:e<<2;m=jq(w)|0;Xi(m|0,0,w|0)|0;if((d|0)<=0){kq(m);return 1}o=a+16|0;l=a+32|0;q=a+12|0;p=a+28|0;n=a+20|0;k=a+24|0;j=0;h=m;do{if((d|0)>0){i=0;do{d=f[h+(i<<2)>>2]|0;g=f[o>>2]|0;if((d|0)>(g|0)){d=f[l>>2]|0;f[d+(i<<2)>>2]=g}else{a=f[q>>2]|0;w=f[l>>2]|0;f[w+(i<<2)>>2]=(d|0)<(a|0)?a:d;d=w}i=i+1|0}while((i|0)<(f[u>>2]|0));h=d}else h=f[l>>2]|0;d=(f[b+(j<<2)>>2]|0)-(f[h+(j<<2)>>2]|0)|0;g=c+(j<<2)|0;f[g>>2]=d;if((d|0)>=(f[p>>2]|0)){if((d|0)>(f[k>>2]|0)){d=d-(f[n>>2]|0)|0;v=26}}else{d=(f[n>>2]|0)+d|0;v=26}if((v|0)==26){v=0;f[g>>2]=d}j=j+1|0;d=f[u>>2]|0}while((j|0)<(d|0));kq(m);return 1}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}s=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(s)g=d&r;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){q=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(s)p=e&r;else p=(e>>>0)%(c>>>0)|0;if((p|0)==(g|0))break;e=(f[a>>2]|0)+(p<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{n=d+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[d+12>>2]|0:m;l=(o|0)==0;if(k){h=d;while(1){j=e+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[e+12>>2]|0:m&255)|0)){e=h;break c}if(!l?il(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{m=e;e=h;h=m}}}if(l){h=d;while(1){o=b[e+8+11>>0]|0;if((o<<24>>24<0?f[e+12>>2]|0:o&255)|0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{o=e;e=h;h=o}}}l=d;while(1){h=e+8|0;k=b[h+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[e+12>>2]|0:k&255)|0)){e=l;break c}h=j?f[h>>2]|0:h;if((f[n>>2]&255)<<24>>24==(b[h>>0]|0)){j=m;k=n}else{e=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;h=h+1|0;if((b[k>>0]|0)!=(b[h>>0]|0)){e=l;break c}}h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[q>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=41;break a}}e=f[d>>2]|0;if(!e){d=41;break a}else{i=d;q=d}}f[e>>2]=q;e=f[d>>2]|0;if(!e){d=41;break}else{i=d;g=p}}if((d|0)==41)return}function sd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}p=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)g=c&o;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){n=c;b:while(1){c:do if(p){c=e;while(1){m=f[c+4>>2]&o;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=c+10|0;k=c+12|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[l>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=38;break a}}}else{c=e;while(1){m=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=c+10|0;k=c+12|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[l>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=38;break a}}}while(0);e=f[c>>2]|0;if(!e){c=38;break a}else{i=c;n=c}}f[e>>2]=n;e=f[c>>2]|0;if(!e){c=38;break}else i=c}if((c|0)==38)return}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}o=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)e=c&n;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=f[c+4>>2]&n;if((l|0)==(e|0))break c;d=(f[a>>2]|0)+(l<<2)|0;if(!(f[d>>2]|0)){e=l;break b}k=c+12|0;j=c+16|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[k>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{p=d;d=g;g=p}}}while(0);f[m>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){l=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(f[a>>2]|0)+(l<<2)|0;if(!(f[d>>2]|0)){e=l;break b}k=c+12|0;j=c+16|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[k>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{p=d;d=g;g=p}}}while(0);f[m>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=38;break a}}}while(0);d=f[c>>2]|0;if(!d){c=38;break a}else{h=c;m=c}}f[d>>2]=m;d=f[c>>2]|0;if(!d){c=38;break}else h=c}if((c|0)==38)return}function ud(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}p=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=p;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;o=c+-1|0;p=(o&c|0)==0;if(p)g=d&o;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){n=d;b:while(1){c:do if(p){d=e;while(1){m=f[d+4>>2]&o;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=d+9|0;k=d+10|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[l>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=38;break a}}}else{d=e;while(1){m=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=d+9|0;k=d+10|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[l>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=38;break a}}}while(0);e=f[d>>2]|0;if(!e){d=38;break a}else{i=d;n=d}}f[e>>2]=n;e=f[d>>2]|0;if(!e){d=38;break}else i=d}if((d|0)==38)return}function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;i=r+20|0;j=r+12|0;p=r;g=r+16|0;h=r+24|0;k=a+16|0;cn(k);e=(f[d+4>>2]|0)-(f[c+4>>2]|0)|0;m=a+12|0;f[m>>2]=e;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;Ji(p,e);f[g>>2]=p;f[i>>2]=f[g>>2];Fc(c,d,a,i)|0;g=a+32|0;c=g;d=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,6096,6100)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}e=a+8|0;b[h>>0]=f[e>>2];if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,h,h+1|0)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}if(!((c|0)>0|(c|0)==0&d>>>0>0)?(f[j>>2]=f[a+20>>2],f[i>>2]=f[j>>2],Ie(k,i,a,a+4|0)|0,h=g,d=f[h+4>>2]|0,n=a+4|0,!((d|0)>0|(d|0)==0&(f[h>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,n,n+4|0)|0;n=g;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,m,m+4|0)|0}}else o=9;if((f[e>>2]|0)==1?(l=a+48|0,o=g,n=f[o+4>>2]|0,!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,l,l+4|0)|0}do if(f[m>>2]|0)if((f[e>>2]|0)==1){e=ld(a,p)|0;break}else{zl(8037,23,1,f[1525]|0)|0;e=0;break}else e=1;while(0);c=f[p>>2]|0;if(!c){u=r;return e|0}d=f[q>>2]|0;if((d|0)!=(c|0))f[q>>2]=d+(~(((d+-12-c|0)>>>0)/12|0)*12|0);mq(c);u=r;return e|0}function wd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17739,15);l=Ck(c,m,-1)|0;_n(m);switch(l|0){case 0:{g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3916;break}case -1:{if((bj(c)|0)==10){g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3916}else n=5;break}default:n=5}a:do if((n|0)==5){g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g|0)<=0)Fa(20527,20426,60,20517);g=f[g>>2]|0;b:do if((f[g+56>>2]|0)==0?(b[g+24>>0]|0)==3:0){switch(f[g+28>>2]|0){case 9:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17755,17);j=c+16|0;h=f[j>>2]|0;if(h){g=j;i=h;c:while(1){h=i;while(1){if((f[h+16>>2]|0)>=0)break;h=f[h+4>>2]|0;if(!h)break c}i=f[h>>2]|0;if(!i){g=h;break}else g=h}if(((g|0)!=(j|0)?(k=g+20|0,(f[g+16>>2]|0)<=0):0)?(Kh(k,m)|0)!=0:0)g=Ck(k,m,-1)|0;else n=19}else n=19;if((n|0)==19)g=Ck(c,m,-1)|0;_n(m);if((g|0)<1)break b;break}case 6:break;default:break b}g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3860;break a}while(0);if((l|0)!=1){g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3916;break}f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17773,24);f[a>>2]=-1;dl(a+4|0,m);_n(m);u=o;return}while(0);f[g>>2]=h;No(g,d);pd(a,g,c,e);Oa[f[(f[g>>2]|0)+4>>2]&127](g);u=o;return}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;m=r+32|0;h=r+28|0;p=r+16|0;q=r;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){q=c;q=q+20|0;u=r;return q|0}}Qo(p);f[q>>2]=f[b>>2];l=q+4|0;f[q+8>>2]=0;k=q+12|0;f[k>>2]=0;n=q+8|0;f[l>>2]=n;c=f[p>>2]|0;o=p+4|0;if((c|0)!=(o|0)){g=n;e=c;d=c;while(1){c=e+16|0;f[h>>2]=g;f[m>>2]=f[h>>2];Sg(l,m,c,c)|0;c=f[d+4>>2]|0;if(!c)while(1){c=f[d+8>>2]|0;if((f[c>>2]|0)==(d|0))break;else d=c}else while(1){d=f[c>>2]|0;if(!d)break;else c=d}if((c|0)==(o|0))break;else{e=c;d=c}}}i=a+12|0;c=f[j>>2]|0;do if(c){e=f[q>>2]|0;g=c;while(1){c=f[g+16>>2]|0;if((e|0)<(c|0)){c=f[g>>2]|0;if(!c){c=19;break}}else{if((c|0)>=(e|0)){c=24;break}d=g+4|0;c=f[d>>2]|0;if(!c){c=23;break}}g=c}if((c|0)==19){f[m>>2]=g;h=g;b=g;break}else if((c|0)==23){f[m>>2]=g;h=g;b=d;break}else if((c|0)==24){f[m>>2]=g;h=g;b=m;break}}else{f[m>>2]=j;h=j;b=j}while(0);c=f[b>>2]|0;if(!c){c=_m(32)|0;f[c+16>>2]=f[q>>2];g=c+20|0;f[g>>2]=f[l>>2];e=c+24|0;d=f[q+8>>2]|0;f[e>>2]=d;m=f[k>>2]|0;f[c+28>>2]=m;if(!m)f[g>>2]=e;else{f[d+8>>2]=e;f[l>>2]=n;f[n>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[b>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[b>>2]|0}Je(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}mj(q+4|0,f[n>>2]|0);mj(p,f[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(b-a>>2|0){case 2:{l=b+-4|0;i=f[l>>2]|0;k=f[a>>2]|0;d=f[c>>2]|0;g=f[d+4>>2]|0;e=f[d>>2]|0;if(g-e>>3>>>0>i>>>0){j=d;h=e;d=e}else{Vo(d);g=f[c>>2]|0;j=g;h=f[d>>2]|0;d=f[g>>2]|0;g=f[g+4>>2]|0}e=f[h+(i<<3)>>2]|0;if(g-d>>3>>>0<=k>>>0){Vo(j);d=f[j>>2]|0}if(e>>>0>=(f[d+(k<<3)>>2]|0)>>>0){a=1;return a|0}c=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=c;a=1;return a|0}case 3:{Wd(a,a+4|0,b+-4|0,c)|0;a=1;return a|0}case 4:{Ne(a,a+4|0,a+8|0,b+-4|0,c)|0;a=1;return a|0}case 5:{Vd(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{g=a+8|0;Wd(a,a+4|0,g,c)|0;e=a+12|0;a:do if((e|0)==(b|0)){e=1;d=0}else{d=0;n=e;e=g;while(1){k=f[n>>2]|0;m=f[e>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}if(h>>>0<(f[g+(m<<3)>>2]|0)>>>0){m=f[n>>2]|0;g=n;while(1){f[g>>2]=f[e>>2];if((e|0)==(a|0)){e=a;break}l=e+-4|0;k=f[l>>2]|0;j=f[c>>2]|0;h=f[j+4>>2]|0;g=f[j>>2]|0;if(h-g>>3>>>0>m>>>0)i=g;else{Vo(j);o=f[c>>2]|0;i=f[j>>2]|0;g=f[o>>2]|0;h=f[o+4>>2]|0;j=o}i=f[i+(m<<3)>>2]|0;if(h-g>>3>>>0<=k>>>0){Vo(j);g=f[j>>2]|0}if(i>>>0<(f[g+(k<<3)>>2]|0)>>>0){g=e;e=l}else break}f[e>>2]=m;d=d+1|0;if((d|0)==8){e=0;d=(n+4|0)==(b|0);break a}}e=n+4|0;if((e|0)==(b|0)){e=1;d=0;break}else{o=n;n=e;e=o}}}while(0);o=d|e;return o|0}}return 0}function zd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=a+4|0;s=f[c>>2]|0;c=s;do if((s|0)!=(n|0)){i=s+16|0;o=b[e+11>>0]|0;p=o<<24>>24<0;o=p?f[e+4>>2]|0:o&255;h=b[i+11>>0]|0;l=h<<24>>24<0;h=l?f[s+20>>2]|0:h&255;k=h>>>0>>0;g=k?h:o;if((g|0)!=0?(j=il(p?f[e>>2]|0:e,l?f[i>>2]|0:i,g)|0,(j|0)!=0):0){if((j|0)<0)break}else t=4;if((t|0)==4?o>>>0>>0:0)break;g=o>>>0>>0?o:h;if((g|0)!=0?(m=il(l?f[i>>2]|0:i,p?f[e>>2]|0:e,g)|0,(m|0)!=0):0){if((m|0)>=0)t=34}else t=20;if((t|0)==20?!k:0)t=34;if((t|0)==34){f[d>>2]=c;return d|0}k=s+4|0;c=f[k>>2]|0;l=(c|0)==0;if(l){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))break;else g=c}}else while(1){g=f[c>>2]|0;if(!g)break;else c=g}do if((c|0)!=(n|0)){h=c+16|0;i=b[h+11>>0]|0;j=i<<24>>24<0;i=j?f[c+20>>2]|0:i&255;g=i>>>0>>0?i:o;if((g|0)!=0?(q=il(p?f[e>>2]|0:e,j?f[h>>2]|0:h,g)|0,(q|0)!=0):0){if((q|0)<0)break}else t=28;if((t|0)==28?o>>>0>>0:0)break;d=xg(a,d,e)|0;return d|0}while(0);if(l){f[d>>2]=s;d=k;return d|0}else{f[d>>2]=c;d=c;return d|0}}while(0);do if((s|0)!=(f[a>>2]|0)){c=f[s>>2]|0;if(!c){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))g=c;else{g=c;break}}}else while(1){g=f[c+4>>2]|0;if(!g){g=c;break}else c=g}c=g;k=g+16|0;h=b[k+11>>0]|0;l=h<<24>>24<0;h=l?f[g+20>>2]|0:h&255;i=b[e+11>>0]|0;j=i<<24>>24<0;i=j?f[e+4>>2]|0:i&255;g=i>>>0>>0?i:h;if((g|0)!=0?(r=il(l?f[k>>2]|0:k,j?f[e>>2]|0:e,g)|0,(r|0)!=0):0){if((r|0)<0)break}else t=12;if((t|0)==12?h>>>0>>0:0)break;d=xg(a,d,e)|0;return d|0}while(0);if(!(f[s>>2]|0)){f[d>>2]=s;d=s;return d|0}else{t=c;f[d>>2]=t;d=t+4|0;return d|0}return 0}function Ad(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=mm(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((mm(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Zn(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;Dn(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Dn(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function Bd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}o=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)g=c&n;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){m=c;b:while(1){c:do if(o){c=e;while(1){l=f[c+4>>2]&n;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=c+10|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=36;break a}}}else{c=e;while(1){l=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=c+10|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=36;break a}}}while(0);e=f[c>>2]|0;if(!e){c=36;break a}else{i=c;m=c}}f[e>>2]=m;e=f[c>>2]|0;if(!e){c=36;break}else i=c}if((c|0)==36)return}function Cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=jq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)kq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}o=a+56|0;i=f[o>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[x>>2]=f[g+(h<<2)>>2];f[y>>2]=f[x>>2];sc(a,y,b,h);m=X(h,e)|0;d=b+(m<<2)|0;m=c+(m<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=f[w>>2]|0;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[p>>2]|0)){g=g-(f[q>>2]|0)|0;z=33}}else{g=(f[q>>2]|0)+g|0;z=33}if((z|0)==33){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[o>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b[c+11>>0]|0;m=n<<24>>24<0;o=m?f[c>>2]|0:c;n=m?f[c+4>>2]|0:n&255;if(n>>>0>3){c=o;g=n;d=n;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=n+-4|0;d=m&-4;e=o+(d+4)|0;c=g;d=m-d|0}else{e=o;c=n;d=n}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;l=6;break}case 2:{i=c;l=6;break}case 1:{j=c;l=7;break}default:k=c}if((l|0)==6){j=h[e+1>>0]<<8^i;l=7}if((l|0)==7)k=X(h[e>>0]^j,1540483477)|0;c=X(k>>>13^k,1540483477)|0;c=c>>>15^c;k=f[a+4>>2]|0;if(!k){o=0;return o|0}l=k+-1|0;d=(l&k|0)==0;if(d)m=c&l;else m=(c>>>0)%(k>>>0)|0;c=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!c){o=0;return o|0}c=f[c>>2]|0;if(!c){o=0;return o|0}a=(n|0)==0;if(d){a:while(1){if((f[c+4>>2]&l|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break a}if(!(il(i,o,n)|0)){l=35;break a}else break}if(a){l=35;break a}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break a}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}else{b:while(1){if((((f[c+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break b}if(!(il(i,o,n)|0)){l=35;break b}else break}if(a){l=35;break b}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}return 0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}n=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){l=c;b:while(1){c:do if(n){c=d;while(1){k=f[c+4>>2]&m;if((k|0)==(e|0))break c;d=(f[a>>2]|0)+(k<<2)|0;if(!(f[d>>2]|0)){e=k;break b}j=c+12|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{o=d;d=g;g=o}}}while(0);f[l>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){k=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((k|0)==(e|0))break c;d=(f[a>>2]|0)+(k<<2)|0;if(!(f[d>>2]|0)){e=k;break b}j=c+12|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{o=d;d=g;g=o}}}while(0);f[l>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=36;break a}}}while(0);d=f[c>>2]|0;if(!d){c=36;break a}else{h=c;l=c}}f[d>>2]=l;d=f[c>>2]|0;if(!d){c=36;break}else h=c}if((c|0)==36)return}function Fd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}o=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=o;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;n=c+-1|0;o=(n&c|0)==0;if(o)g=d&n;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){m=d;b:while(1){c:do if(o){d=e;while(1){l=f[d+4>>2]&n;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=d+9|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=36;break a}}}else{d=e;while(1){l=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=d+9|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=36;break a}}}while(0);e=f[d>>2]|0;if(!e){d=36;break a}else{i=d;m=d}}f[e>>2]=m;e=f[d>>2]|0;if(!e){d=36;break}else i=d}if((d|0)==36)return}function Gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=jq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)kq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}o=a+56|0;i=f[o>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[x>>2]=f[g+(h<<2)>>2];f[y>>2]=f[x>>2];pc(a,y,b,h);m=X(h,e)|0;d=b+(m<<2)|0;m=c+(m<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=f[w>>2]|0;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[p>>2]|0)){g=g-(f[q>>2]|0)|0;z=33}}else{g=(f[q>>2]|0)+g|0;z=33}if((z|0)==33){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[o>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{j=d;d=d+-108|0;f[g+-108>>2]=f[d>>2];l=j+-104|0;f[g+-104>>2]=f[l>>2];k=j+-100|0;f[g+-100>>2]=f[k>>2];m=j+-96|0;f[g+-96>>2]=f[m>>2];f[l>>2]=0;f[k>>2]=0;f[m>>2]=0;m=j+-92|0;f[g+-92>>2]=f[m>>2];k=j+-88|0;f[g+-88>>2]=f[k>>2];l=j+-84|0;f[g+-84>>2]=f[l>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;b[g+-80>>0]=b[j+-80>>0]|0;l=g+-76|0;k=j+-76|0;f[l>>2]=0;m=g+-72|0;f[m>>2]=0;f[g+-68>>2]=0;f[l>>2]=f[k>>2];l=j+-72|0;f[m>>2]=f[l>>2];m=j+-68|0;f[g+-68>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;k=g+-64|0;l=j+-64|0;f[k>>2]=0;m=g+-60|0;f[m>>2]=0;f[g+-56>>2]=0;f[k>>2]=f[l>>2];k=j+-60|0;f[m>>2]=f[k>>2];m=j+-56|0;f[g+-56>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-52|0;k=j+-52|0;f[l>>2]=0;m=g+-48|0;f[m>>2]=0;f[g+-44>>2]=0;f[l>>2]=f[k>>2];l=j+-48|0;f[m>>2]=f[l>>2];m=j+-44|0;f[g+-44>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-40>>2]=f[j+-40>>2];b[g+-36>>0]=b[j+-36>>0]|0;k=g+-32|0;l=j+-32|0;f[k>>2]=0;m=g+-28|0;f[m>>2]=0;f[g+-24>>2]=0;f[k>>2]=f[l>>2];k=j+-28|0;f[m>>2]=f[k>>2];m=j+-24|0;f[g+-24>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-20|0;k=j+-20|0;f[l>>2]=0;m=g+-16|0;f[m>>2]=0;f[g+-12>>2]=0;f[l>>2]=f[k>>2];l=j+-16|0;f[m>>2]=f[l>>2];m=j+-12|0;f[g+-12>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-8>>2]=f[j+-8>>2];f[g+-4>>2]=f[j+-4>>2];g=(f[h>>2]|0)+-108|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Id(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;y=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}p=a+56|0;i=f[p>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}o=a+68|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;m=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[w>>2]=f[g+(h<<2)>>2];f[x>>2]=f[w>>2];Gb(y,x,b,h);a=X(h,e)|0;d=b+(a<<2)|0;a=c+(a<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=o;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=a+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[m>>2]|0)){g=g-(f[q>>2]|0)|0;z=30}}else{g=(f[q>>2]|0)+g|0;z=30}if((z|0)==30){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[p>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Jd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;y=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}p=a+56|0;i=f[p>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}o=a+68|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;m=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[w>>2]=f[g+(h<<2)>>2];f[x>>2]=f[w>>2];Eb(y,x,b,h);a=X(h,e)|0;d=b+(a<<2)|0;a=c+(a<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=o;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=a+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[m>>2]|0)){g=g-(f[q>>2]|0)|0;z=30}}else{g=(f[q>>2]|0)+g|0;z=30}if((z|0)==30){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[p>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+176|0;i=x+136|0;w=x+104|0;v=x;l=x+72|0;q=_m(88)|0;j=f[c+8>>2]|0;f[q+4>>2]=0;f[q>>2]=3484;m=q+12|0;f[m>>2]=3508;o=q+64|0;f[o>>2]=0;f[q+68>>2]=0;f[q+72>>2]=0;g=q+16|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[q+76>>2]=j;f[q+80>>2]=d;r=q+84|0;f[r>>2]=0;n=q;f[w>>2]=3508;e=w+4|0;k=e+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=f[c+12>>2]|0;s=v+4|0;f[s>>2]=3508;p=v+56|0;f[p>>2]=0;t=v+60|0;f[t>>2]=0;f[v+64>>2]=0;g=v+8|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=k;f[e>>2]=g;g=((f[g+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;Kg(w+8|0,g,i);Oa[f[(f[w>>2]|0)+8>>2]&127](w);tf(l,w);tf(i,l);f[v>>2]=f[i+4>>2];g=v+4|0;eg(g,i)|0;f[i>>2]=3508;e=f[i+20>>2]|0;if(e|0)mq(e);e=f[i+8>>2]|0;if(e|0)mq(e);f[v+36>>2]=k;f[v+40>>2]=d;f[v+44>>2]=j;f[v+48>>2]=q;f[l>>2]=3508;e=f[l+20>>2]|0;if(e|0)mq(e);e=f[l+8>>2]|0;if(e|0)mq(e);f[r>>2]=c+72;f[q+8>>2]=f[v>>2];eg(m,g)|0;e=q+44|0;c=v+36|0;f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];f[e+12>>2]=f[c+12>>2];b[e+16>>0]=b[c+16>>0]|0;vf(o,f[p>>2]|0,f[t>>2]|0);f[a>>2]=n;e=f[p>>2]|0;if(e|0){g=f[t>>2]|0;if((g|0)!=(e|0))f[t>>2]=g+(~((g+-4-e|0)>>>2)<<2);mq(e)}f[s>>2]=3508;e=f[v+24>>2]|0;if(e|0)mq(e);e=f[v+12>>2]|0;if(e|0)mq(e);f[w>>2]=3508;e=f[w+20>>2]|0;if(e|0)mq(e);e=f[w+8>>2]|0;if(!e){u=x;return}mq(e);u=x;return}function Ld(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+32|0;h=l+4|0;i=l;j=l+16|0;g=a+48|0;e=f[g>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,17798,20);e=Ak(e+24|0,h)|0;_n(h);d=f[g>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,17819,22);d=Ak(d+24|0,h)|0;_n(h);k=a+56|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+52>>2]|0;c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)<12e3;m=f[g>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,17842,18);m=Ck(m,h,-1)|0;_n(h);switch(m|0){case -1:{if(e?c|((bj(f[g>>2]|0)|0)>4|d^1):0)e=7;else e=11;break}case 0:{if(e)e=7;else e=15;break}case 2:{e=11;break}default:e=15}if((e|0)==7){c=f[a+44>>2]|0;b[j>>0]=0;m=c+16|0;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Ie(c,h,j,j+1|0)|0}c=_m(296)|0;Di(c);d=f[k>>2]|0;f[k>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);e=15}}else if((e|0)==11){c=f[a+44>>2]|0;b[j>>0]=2;m=c+16|0;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Ie(c,h,j,j+1|0)|0}c=_m(360)|0;di(c);d=f[k>>2]|0;f[k>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);e=15}}if((e|0)==15){c=f[k>>2]|0;if(!c){m=0;u=l;return m|0}}m=Va[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;u=l;return m|0}function Md(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=Ka,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;k=y;e=a+4|0;if((f[e>>2]|0)!=-1){x=0;u=y;return x|0}f[e>>2]=d;v=b[c+24>>0]|0;w=v<<24>>24;x=a+20|0;n[x>>2]=$(0.0);f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;do if(v<<24>>24)if(v<<24>>24<0){Wo(k);y=Ha(4)|0;Pp(y);sa(y|0,1096,107)}else{t=w<<2;j=_m(t)|0;f[k>>2]=j;f[k+8>>2]=j+(w<<2);Xi(j|0,0,t|0)|0;j=j+(w<<2)|0;f[d>>2]=j;break}else j=0;while(0);t=a+8|0;d=f[t>>2]|0;i=a+12|0;if(!d)d=a+16|0;else{e=f[i>>2]|0;if((e|0)!=(d|0))f[i>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=a+16|0;f[d>>2]=0;f[i>>2]=0;f[t>>2]=0}f[t>>2]=f[k>>2];f[i>>2]=j;f[d>>2]=f[k+8>>2];s=w>>>0>1073741823?-1:w<<2;r=jq(s)|0;s=jq(s)|0;m=c+48|0;o=f[m>>2]|0;p=c+40|0;l=f[p>>2]|0;q=f[c>>2]|0;Eg(s|0,(f[q>>2]|0)+o|0,l|0)|0;Eg(f[t>>2]|0,(f[q>>2]|0)+o|0,l|0)|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=f[p>>2]|0;p=f[p+4>>2]|0;q=f[c>>2]|0;Eg(r|0,(f[q>>2]|0)+l|0,o|0)|0;k=f[c+80>>2]|0;a:do if((k|0)>1){if(v<<24>>24<=0){d=1;while(1){c=Zm(o|0,p|0,d|0,((d|0)<0)<<31>>31|0)|0;c=Zn(c|0,I|0,l|0,m|0)|0;Eg(s|0,(f[q>>2]|0)+c|0,o|0)|0;d=d+1|0;if((d|0)>=(k|0))break a}}i=f[t>>2]|0;a=1;do{j=Zm(o|0,p|0,a|0,((a|0)<0)<<31>>31|0)|0;j=Zn(j|0,I|0,l|0,m|0)|0;Eg(s|0,(f[q>>2]|0)+j|0,o|0)|0;j=0;do{e=i+(j<<2)|0;h=$(n[e>>2]);d=s+(j<<2)|0;g=$(n[d>>2]);if(h>g){n[e>>2]=g;g=$(n[d>>2])}d=r+(j<<2)|0;if($(n[d>>2])>2]=g;j=j+1|0}while((j|0)!=(w|0));a=a+1|0}while((a|0)<(k|0))}while(0);if(v<<24>>24>0){d=f[t>>2]|0;g=$(n[x>>2]);e=0;do{h=$(n[r+(e<<2)>>2]);h=$(h-$(n[d+(e<<2)>>2]));if(h>g){n[x>>2]=h;g=h}e=e+1|0}while((e|0)!=(w|0))}kq(s);kq(r);x=1;u=y;return x|0}function Nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}v=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=v;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;u=c+-1|0;v=(u&c|0)==0;if(v)g=d&u;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;t=a+24|0;i=h;e=d;d=h;a:while(1){s=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(v)r=e&u;else r=(e>>>0)%(c>>>0)|0;if((r|0)==(g|0))break;e=(f[a>>2]|0)+(r<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{p=f[d+8>>2]|0;n=f[t>>2]|0;o=f[n+8>>2]|0;n=(f[n+12>>2]|0)-o|0;q=n>>>2;if((n|0)>0)l=d;else while(1){h=f[e>>2]|0;if(!h)break c;else e=h}while(1){m=f[e+8>>2]|0;n=0;do{h=f[o+(n<<2)>>2]|0;j=(b[h+84>>0]|0)==0;if(j)k=f[(f[h+68>>2]|0)+(p<<2)>>2]|0;else k=p;if((q|0)<=(n|0)){d=35;break a}if(j)h=f[(f[h+68>>2]|0)+(m<<2)>>2]|0;else h=m;n=n+1|0;if((k|0)!=(h|0)){e=l;break c}}while((n|0)<(q|0));h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[s>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(r<<2)>>2]>>2];f[f[(f[a>>2]|0)+(r<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}e=f[d>>2]|0;if(!e){d=40;break a}else{i=d;s=d}}f[e>>2]=s;e=f[d>>2]|0;if(!e){d=40;break}else{i=d;g=r}}if((d|0)==35)Fa(20527,20426,68,20517);else if((d|0)==40)return}function Od(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q+4|0;n=q;j=q+12|0;k=q+11|0;l=q+10|0;p=q+8|0;m=c+44|0;e=f[m>>2]|0;g=e+16|0;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>0|(g|0)==0&h>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,19146,19151)|0;e=f[m>>2]|0;h=e+16|0;g=f[h+4>>2]|0;h=f[h>>2]|0}b[j>>0]=2;b[k>>0]=2;if(!((g|0)>0|(g|0)==0&h>>>0>0)?(f[n>>2]=f[e+4>>2],f[o>>2]=f[n>>2],Ie(e,o,j,j+1|0)|0,i=f[m>>2]|0,j=i+16|0,h=f[j+4>>2]|0,!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)):0){f[n>>2]=f[i+4>>2];f[o>>2]=f[n>>2];Ie(i,o,k,k+1|0)|0}e=(Ra[f[(f[c>>2]|0)+8>>2]&127](c)|0)&255;b[l>>0]=e;e=f[m>>2]|0;k=e+16|0;j=f[k+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,l,l+1|0)|0;e=f[m>>2]|0}l=Ra[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[p>>0]=l;l=e+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,p,p+1|0)|0}d[p>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;e=f[m>>2]|0;c=e+16|0;m=f[c+4>>2]|0;if((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,p,p+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}function Pd(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;p[s>>3]=a;c=f[s>>2]|0;k=f[s+4>>2]|0;p[s>>3]=b;l=f[s>>2]|0;m=f[s+4>>2]|0;d=yn(c|0,k|0,52)|0;d=d&2047;h=yn(l|0,m|0,52)|0;h=h&2047;n=k&-2147483648;j=tn(l|0,m|0,1)|0;i=I;a:do if(!((j|0)==0&(i|0)==0)?(g=Xn(b)|0,e=I&2147483647,!((d|0)==2047|(e>>>0>2146435072|(e|0)==2146435072&g>>>0>0))):0){e=tn(c|0,k|0,1)|0;g=I;if(!(g>>>0>i>>>0|(g|0)==(i|0)&e>>>0>j>>>0))return +((e|0)==(j|0)&(g|0)==(i|0)?a*0.0:a);if(!d){d=tn(c|0,k|0,12)|0;e=I;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){g=d;d=0;do{d=d+-1|0;g=tn(g|0,e|0,1)|0;e=I}while((e|0)>-1|(e|0)==-1&g>>>0>4294967295)}else d=0;c=tn(c|0,k|0,1-d|0)|0;i=I}else i=k&1048575|1048576;if(!h){e=tn(l|0,m|0,12)|0;g=I;if((g|0)>-1|(g|0)==-1&e>>>0>4294967295){h=0;do{h=h+-1|0;e=tn(e|0,g|0,1)|0;g=I}while((g|0)>-1|(g|0)==-1&e>>>0>4294967295)}else h=0;l=tn(l|0,m|0,1-h|0)|0;k=I}else k=m&1048575|1048576;j=Dn(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;b:do if((d|0)>(h|0)){while(1){if(g)if((j|0)==0&(e|0)==0)break;else c=j;else e=i;c=tn(c|0,e|0,1)|0;i=I;d=d+-1|0;j=Dn(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;if((d|0)<=(h|0)){h=j;break b}}b=a*0.0;break a}else h=j;while(0);if(g)if((h|0)==0&(e|0)==0){b=a*0.0;break}else c=h;else e=i;if(e>>>0<1048576|(e|0)==1048576&c>>>0<0)do{c=tn(c|0,e|0,1)|0;e=I;d=d+-1|0}while(e>>>0<1048576|(e|0)==1048576&c>>>0<0);if((d|0)>0){m=Zn(c|0,e|0,0,-1048576)|0;c=I;d=tn(d|0,0,52)|0;c=c|I;d=m|d}else{d=yn(c|0,e|0,1-d|0)|0;c=I}f[s>>2]=d;f[s+4>>2]=c|n;b=+p[s>>3]}else o=3;while(0);if((o|0)==3){b=a*b;b=b/b}return +b}function Qd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}n=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)g=c&m;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){b:do if(n){l=i;j=c;while(1){c=e;while(1){k=f[c+4>>2]&m;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=c+8|0;h=c;while(1){e=f[h>>2]|0;if(!e)break;if((d[i>>1]|0)==(d[e+8>>1]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[l>>2]|0;if(!c){c=34;break a}}e=f[c>>2]|0;if(!e){c=34;break a}else{l=c;j=c}}}else{l=i;j=c;while(1){c=e;while(1){k=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=c+8|0;h=c;while(1){e=f[h>>2]|0;if(!e)break;if((d[i>>1]|0)==(d[e+8>>1]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[l>>2]|0;if(!c){c=34;break a}}e=f[c>>2]|0;if(!e){c=34;break a}else{l=c;j=c}}}while(0);f[e>>2]=h;e=f[c>>2]|0;if(!e){c=34;break}else i=c}if((c|0)==34)return}function Rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}n=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=n;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;m=c+-1|0;n=(m&c|0)==0;if(n)g=d&m;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){b:do if(n){l=i;j=d;while(1){d=e;while(1){k=f[d+4>>2]&m;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=d+8|0;h=d;while(1){e=f[h>>2]|0;if(!e)break;if((b[i>>0]|0)==(b[e+8>>0]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=d;d=f[l>>2]|0;if(!d){d=34;break a}}e=f[d>>2]|0;if(!e){d=34;break a}else{l=d;j=d}}}else{l=i;j=d;while(1){d=e;while(1){k=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=d+8|0;h=d;while(1){e=f[h>>2]|0;if(!e)break;if((b[i>>0]|0)==(b[e+8>>0]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=d;d=f[l>>2]|0;if(!d){d=34;break a}}e=f[d>>2]|0;if(!e){d=34;break a}else{l=d;j=d}}}while(0);f[e>>2]=h;e=f[d>>2]|0;if(!e){d=34;break}else i=d}if((d|0)==34)return}function Sd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=f[c>>2]|0;l=f[b>>2]|0;b=m-l|0;o=(b|0)/12|0;if(!b)Fa(8e3,7742,232,8029);n=a+8|0;h=f[n>>2]|0;if((b|0)<768){if(h>>>0<=1){a=0;return a|0}c=f[e>>2]|0;g=1;b=0;do{b=(f[c+(b<<2)>>2]|0)>>>0>(f[c+(g<<2)>>2]|0)>>>0?g:b;g=g+1|0}while(g>>>0>>0);return b|0}if(h){j=f[e>>2]|0;k=f[a+1140>>2]|0;h=f[d>>2]|0;i=f[a+1128>>2]|0;if((l|0)==(m|0)){c=0;do{f[k+(c<<2)>>2]=(f[a>>2]|0)-(f[j+(c<<2)>>2]|0);b=i+(c<<2)|0;l=f[b>>2]|0;m=o-l|0;f[b>>2]=m>>>0>>0?l:m;c=c+1|0;b=f[n>>2]|0}while(c>>>0>>0)}else{d=0;do{g=(f[a>>2]|0)-(f[j+(d<<2)>>2]|0)|0;f[k+(d<<2)>>2]=g;g=(1<>2]|0)|0;e=i+(d<<2)|0;b=l;c=f[e>>2]|0;do{c=c+((f[b+(d<<2)>>2]|0)>>>0>>0&1)|0;f[e>>2]=c;b=b+12|0}while((b|0)!=(m|0));b=o-c|0;f[e>>2]=b>>>0>>0?c:b;d=d+1|0;b=f[n>>2]|0}while(d>>>0>>0)}if(b){e=f[a+1140>>2]|0;h=a+1128|0;c=0;d=0;g=0;do{if(f[e+(d<<2)>>2]|0){o=f[(f[h>>2]|0)+(d<<2)>>2]|0;n=g>>>0>>0;c=n?d:c;g=n?o:g}d=d+1|0}while(d>>>0>>0);i=c}else i=0}else i=0;d=a+1088|0;j=a+1104|0;b=f[j>>2]|0;g=32-b|0;h=a+1100|0;c=f[h>>2]|0;if((g|0)<4){e=i&15;g=4-g|0;f[j>>2]=g;g=e>>>g|c;f[h>>2]=g;c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))zi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=e<<32-(f[j>>2]|0);a=i;return a|0}g=c|i<<28>>>b;f[h>>2]=g;o=b+4|0;f[j>>2]=o;if((o|0)!=32){a=i;return a|0}c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))zi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=0;f[j>>2]=0;a=i;return a|0}function Td(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=f[a>>2]|0;h=i;b=i+((f[b>>2]|0)-h>>2<<2)|0;k=f[c>>2]|0;e=f[d>>2]|0;p=e-k|0;l=p>>2;c=k;o=e;if((p|0)<=0){p=b;return p|0}n=a+8|0;d=f[n>>2]|0;p=a+4|0;m=f[p>>2]|0;g=m;if((l|0)<=(d-g>>2|0)){j=b;i=g-j|0;d=i>>2;if((l|0)>(d|0)){d=c+(d<<2)|0;e=d;if((d|0)==(o|0))d=m;else{h=o+-4-e|0;g=m;while(1){f[g>>2]=f[d>>2];d=d+4|0;if((d|0)==(o|0))break;else g=g+4|0}d=m+((h>>>2)+1<<2)|0;f[p>>2]=d}if((i|0)<=0){p=b;return p|0}}else d=m;k=d-(b+(l<<2))>>2;g=b+(k<<2)|0;if(g>>>0>>0){h=(m+(0-k<<2)+~j|0)>>>2;i=d;j=g;while(1){f[i>>2]=f[j>>2];j=j+4|0;if(j>>>0>=m>>>0)break;else i=i+4|0}f[p>>2]=d+(h+1<<2)}if(k|0)do{g=g+-4|0;d=d+-4|0;f[d>>2]=f[g>>2]}while((g|0)!=(b|0));if((c|0)==(e|0)){p=b;return p|0}else d=b;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(e|0))break;else d=d+4|0}return b|0}e=(g-h>>2)+l|0;if(e>>>0>1073741823){Wo(a);i=f[a>>2]|0;h=i;d=f[n>>2]|0}j=d-h|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;j=b;d=j-h>>2;do if(g)if(g>>>0>1073741823){p=Ha(4)|0;Pp(p);sa(p|0,1096,107)}else{e=_m(g<<2)|0;break}else e=0;while(0);h=e+(d<<2)|0;g=e+(g<<2)|0;if((c|0)==(o|0))d=h;else{e=((o+-4-k|0)>>>2)+1|0;d=h;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(o|0))break;else d=d+4|0}d=h+(e<<2)|0}c=j-i|0;e=h+(0-(c>>2)<<2)|0;if((c|0)>0)Eg(e|0,i|0,c|0)|0;c=(f[p>>2]|0)-j|0;if((c|0)>0){Eg(d|0,b|0,c|0)|0;b=d+(c>>>2<<2)|0}else b=d;f[a>>2]=e;f[p>>2]=b;f[n>>2]=g;if(!i){p=h;return p|0}mq(i);p=h;return p|0}function Ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}m=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){b:do if(m){k=h;i=c;while(1){c=d;while(1){j=f[c+4>>2]&l;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}else{k=h;i=c;while(1){c=d;while(1){j=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}while(0);f[d>>2]=g;d=f[c>>2]|0;if(!d){c=34;break}else h=c}if((c|0)==34)return}function Vd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Ne(a,b,c,d,g)|0;l=f[e>>2]|0;n=f[d>>2]|0;h=f[g>>2]|0;j=f[h+4>>2]|0;i=f[h>>2]|0;if(j-i>>3>>>0>l>>>0){m=h;k=i;h=i}else{Vo(h);j=f[g>>2]|0;m=j;k=f[h>>2]|0;h=f[j>>2]|0;j=f[j+4>>2]|0}i=f[k+(l<<3)>>2]|0;if(j-h>>3>>>0<=n>>>0){Vo(m);h=f[m>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0)return o|0;l=f[d>>2]|0;f[d>>2]=f[e>>2];f[e>>2]=l;l=f[d>>2]|0;n=f[c>>2]|0;j=f[g>>2]|0;i=f[j+4>>2]|0;h=f[j>>2]|0;if(i-h>>3>>>0>l>>>0){m=h;k=i}else{Vo(j);e=f[g>>2]|0;m=f[j>>2]|0;h=f[e>>2]|0;k=f[e+4>>2]|0;j=e}i=f[m+(l<<3)>>2]|0;if(k-h>>3>>>0<=n>>>0){Vo(j);h=f[j>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0){o=o+1|0;return o|0}l=f[c>>2]|0;f[c>>2]=f[d>>2];f[d>>2]=l;l=f[c>>2]|0;n=f[b>>2]|0;j=f[g>>2]|0;i=f[j+4>>2]|0;h=f[j>>2]|0;if(i-h>>3>>>0>l>>>0){m=h;k=i}else{Vo(j);d=f[g>>2]|0;m=f[j>>2]|0;h=f[d>>2]|0;k=f[d+4>>2]|0;j=d}i=f[m+(l<<3)>>2]|0;if(k-h>>3>>>0<=n>>>0){Vo(j);h=f[j>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0){o=o+2|0;return o|0}m=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=m;m=f[b>>2]|0;n=f[a>>2]|0;j=f[g>>2]|0;i=f[j+4>>2]|0;h=f[j>>2]|0;if(i-h>>3>>>0>m>>>0){l=h;k=i}else{Vo(j);g=f[g>>2]|0;l=f[j>>2]|0;h=f[g>>2]|0;k=f[g+4>>2]|0;j=g}i=f[l+(m<<3)>>2]|0;if(k-h>>3>>>0<=n>>>0){Vo(j);h=f[j>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0){o=o+3|0;return o|0}g=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=g;o=o+4|0;return o|0}function Wd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=f[b>>2]|0;l=f[a>>2]|0;e=f[d>>2]|0;h=f[e+4>>2]|0;g=f[e>>2]|0;if(h-g>>3>>>0>j>>>0){k=e;i=g;e=g}else{Vo(e);h=f[d>>2]|0;k=h;i=f[e>>2]|0;e=f[h>>2]|0;h=f[h+4>>2]|0}g=f[i+(j<<3)>>2]|0;if(h-e>>3>>>0>l>>>0)h=k;else{Vo(k);e=f[k>>2]|0;h=f[d>>2]|0}m=g>>>0<(f[e+(l<<3)>>2]|0)>>>0;j=f[c>>2]|0;l=f[b>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);g=f[d>>2]|0;k=f[h>>2]|0;e=f[g>>2]|0;i=f[g+4>>2]|0;h=g}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}e=g>>>0<(f[e+(l<<3)>>2]|0)>>>0;if(!m){if(!e){b=0;return b|0}k=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=k;k=f[b>>2]|0;l=f[a>>2]|0;h=f[d>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>k>>>0){j=e;i=g}else{Vo(h);c=f[d>>2]|0;j=f[h>>2]|0;e=f[c>>2]|0;i=f[c+4>>2]|0;h=c}g=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){b=1;return b|0}c=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=c;b=2;return b|0}l=f[a>>2]|0;if(e){f[a>>2]=f[c>>2];f[c>>2]=l;b=1;return b|0}f[a>>2]=f[b>>2];f[b>>2]=l;k=f[c>>2]|0;h=f[d>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>k>>>0){j=e;i=g}else{Vo(h);a=f[d>>2]|0;j=f[h>>2]|0;e=f[a>>2]|0;i=f[a+4>>2]|0;h=a}g=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){b=1;return b|0}a=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=a;b=2;return b|0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=e>>>0>1073741823?-1:e<<2;q=jq(n)|0;Xi(q|0,0,n|0)|0;n=f[a+28>>2]|0;s=a+36|0;d=f[s>>2]|0;h=f[d+4>>2]|0;g=f[d>>2]|0;i=h-g|0;a:do if((i|0)>4){o=f[a+32>>2]|0;t=a+8|0;p=n+12|0;r=(e|0)>0;l=i>>2;while(1){m=l+-1|0;if(h-g>>2>>>0<=m>>>0){Vo(d);g=f[d>>2]|0}g=f[g+(m<<2)>>2]|0;k=X(m,e)|0;if((g|0)>=0?(u=f[(f[p>>2]|0)+(g<<2)>>2]|0,(u|0)>=0):0){d=f[n>>2]|0;h=f[o>>2]|0;i=f[h+(f[d+(u<<2)>>2]<<2)>>2]|0;g=u+1|0;g=((g|0)%3|0|0)==0?u+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;j=f[h+(g<<2)>>2]|0;g=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;g=f[h+(g<<2)>>2]|0;if((i|0)<(m|0)&(j|0)<(m|0)&(g|0)<(m|0)){i=X(i,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(r){g=0;do{f[q+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}Xh(t,b+(k<<2)|0,q,c+(k<<2)|0)}else v=17}else v=17;if((v|0)==17){v=0;Xh(t,b+(k<<2)|0,b+((X(l+-2|0,e)|0)<<2)|0,c+(k<<2)|0)}if((m|0)<=1)break a;h=f[s>>2]|0;d=h;g=f[h>>2]|0;h=f[h+4>>2]|0;l=m}}while(0);if((e|0)<=0){v=a+8|0;Xh(v,b,q,c);kq(q);return 1}Xi(q|0,0,e<<2|0)|0;v=a+8|0;Xh(v,b,q,c);kq(q);return 1}function Yd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;p=t+4|0;q=t;s=t+8|0;r=a+4|0;o=a+8|0;Mh((f[o>>2]|0)-(f[r>>2]|0)>>2,c)|0;d=f[r>>2]|0;if((f[o>>2]|0)==(d|0)){u=t;return 1}n=a+32|0;m=c+16|0;h=c+4|0;i=s+1|0;j=s+1|0;l=s+1|0;k=s+1|0;a=d;g=0;while(1){a=f[a+(g<<2)>>2]|0;d=f[n>>2]|0;if((a|0)<=-1){a=5;break}e=f[d+8>>2]|0;if(((f[d+12>>2]|0)-e>>2|0)<=(a|0)){a=7;break}e=f[e+(a<<2)>>2]|0;b[s>>0]=f[e+56>>2];a=m;d=f[a>>2]|0;a=f[a+4>>2]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,k)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=f[e+28>>2];if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,l)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+24>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,j)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+32>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,i)|0}Mh(f[e+60>>2]|0,c)|0;g=g+1|0;a=f[r>>2]|0;if(g>>>0>=(f[o>>2]|0)-a>>2>>>0){a=3;break}}if((a|0)==3){u=t;return 1}else if((a|0)==5)Fa(20410,20426,59,20517);else if((a|0)==7)Fa(20527,20426,60,20517);return 0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+60|0;Mh(f[g>>2]|0,b)|0;an(k);Wk(k);c=f[a+56>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;oj(k);u=m;return 1}function _d(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;k=a+12|0;b=f[k>>2]|0;p=(f[b+4>>2]|0)-(f[b>>2]|0)|0;o=p>>2;if((p|0)<=0){u=r;return 1}j=a+152|0;p=a+140|0;l=a+144|0;i=a+148|0;a=0;while(1){f[m>>2]=(a>>>0)/3|0;f[n>>2]=f[m>>2];if(!(Cj(b,n)|0)?(f[(f[(f[k>>2]|0)+12>>2]|0)+(a<<2)>>2]|0)==-1073741824:0){b=a+1|0;b=((b|0)%3|0|0)==0?a+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[(f[f[k>>2]>>2]|0)+(b<<2)>>2]|0;c=f[j>>2]|0;if((f[c+(d<<2)>>2]|0)==-1){h=f[l>>2]|0;b=f[i>>2]|0;if((h|0)==(b<<5|0)){if((h+1|0)<0){Wo(p);b=f[i>>2]|0}c=b<<6;g=h+32&-32;bi(p,b<<5>>>0<1073741823?(c>>>0>>0?g:c):2147483647);b=f[l>>2]|0;c=f[j>>2]|0}else b=h;f[l>>2]=b+1;g=(f[p>>2]|0)+(b>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(b&31));b=c+(d<<2)|0;if((f[b>>2]|0)==-1){d=a;while(1){f[b>>2]=h;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;a:do if((b|0)>=0){g=f[k>>2]|0;e=f[g+12>>2]|0;while(1){d=f[e+(b<<2)>>2]|0;if((d|0)==-1073741824)break;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;if((b|0)<0){q=18;break a}}d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)<0){d=-1073741824;e=b}else{d=f[(f[g>>2]|0)+(d<<2)>>2]|0;e=b}}else q=18;while(0);if((q|0)==18){q=0;b=(b|0)==-1073741824;do{}while(!b);d=-1073741824;e=-1073741824}b=c+(d<<2)|0;if((f[b>>2]|0)!=-1)break;else d=e}}}}a=a+1|0;if((a|0)>=(o|0))break;b=f[k>>2]|0}u=r;return 1}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+80|0;Mh(f[g>>2]|0,b)|0;an(k);Wk(k);c=f[a+76>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;oj(k);u=m;return 1}function ae(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;i=l+4|0;j=l;e=l+9|0;k=l+8|0;c=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[e>>0]=c;g=a+4|0;d=f[(f[g>>2]|0)+44>>2]|0;m=d+16|0;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[j>>2]=f[d+4>>2];f[i>>2]=f[j>>2];Ie(d,i,e,e+1|0)|0;c=b[e>>0]|0}a:do if(c<<24>>24>-1){d=a+172|0;n=f[(f[d>>2]|0)+((c<<24>>24)*108|0)>>2]|0;m=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;e=b[e>>0]|0;c=f[d>>2]|0;d=f[c+(e*108|0)+104>>2]|0;switch(f[(f[(f[m>>2]|0)+84>>2]|0)+(n<<2)>>2]|0){case 0:{h=7;break a}case 1:{if(b[c+(e*108|0)+28>>0]|0){h=7;break a}break}default:{}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=1;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,k,k+1|0)|0}}else{d=f[a+68>>2]|0;h=7}while(0);if((h|0)==7){c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=0;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,k,k+1|0)|0}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=d;n=c+16|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0){u=l;return 1}f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,k,k+1|0)|0;u=l;return 1}function be(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=Ka,B=Ka;y=u;u=u+16|0;x=y;h=c+4|0;if((f[h>>2]|0)==-1)Fa(7347,7364,113,7476);q=e+4|0;j=b[d+24>>0]|0;w=j<<24>>24;ri(a,c,(f[q>>2]|0)-(f[e>>2]|0)>>2,w,g,d);o=f[a>>2]|0;o=(f[f[o>>2]>>2]|0)+(f[o+48>>2]|0)|0;v=f[h>>2]|0;dp(x);no(x,$(n[c+20>>2]),(1<>>0>1073741823?-1:w<<2)|0;g=f[q>>2]|0;a=f[e>>2]|0;q=a;if((g|0)==(a|0)){kq(v);u=y;return}r=d+68|0;s=d+48|0;t=d+40|0;k=c+8|0;l=x+4|0;p=(b[d+84>>0]|0)==0;m=g-a>>2;if(j<<24>>24>0){e=0;c=0}else{g=0;do{a=f[q+(g<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;w=s;o=f[w>>2]|0;w=f[w+4>>2]|0;l=t;x=f[l>>2]|0;l=Zm(x|0,f[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;w=Zn(l|0,I|0,o|0,w|0)|0;Eg(v|0,(f[f[d>>2]>>2]|0)+w|0,x|0)|0;g=g+1|0}while(g>>>0>>0);kq(v);u=y;return}while(1){a=f[q+(c<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;h=s;j=f[h>>2]|0;h=f[h+4>>2]|0;z=t;g=f[z>>2]|0;a=Zm(g|0,f[z+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Zn(a|0,I|0,j|0,h|0)|0;Eg(v|0,(f[f[d>>2]>>2]|0)+a|0,g|0)|0;a=f[k>>2]|0;i=$(n[x>>2]);g=0;h=e;while(1){A=$(n[v+(g<<2)>>2]);A=$(A-$(n[a+(g<<2)>>2]));j=A<$(0.0);B=$(-A);A=$((j?B:A)/i);z=~~$(J($($($(f[l>>2]|0)*A)+$(.5))));f[o+(h<<2)>>2]=j?0-z|0:z;g=g+1|0;if((g|0)==(w|0))break;else h=h+1|0}c=c+1|0;if(c>>>0>=m>>>0)break;else e=w+e|0}kq(v);u=y;return}function ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;k=l;h=a+8|0;g=f[h>>2]|0;j=a+4|0;d=f[j>>2]|0;if(((g-d|0)/108|0)>>>0>=c>>>0){do{f[d>>2]=-1;cm(d+4|0);b[d+72>>0]=1;k=d+76|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;d=(f[j>>2]|0)+108|0;f[j>>2]=d;c=c+-1|0}while((c|0)!=0);u=l;return}e=f[a>>2]|0;i=((d-e|0)/108|0)+c|0;if(i>>>0>39768215){Wo(a);e=f[a>>2]|0;g=f[h>>2]|0;d=f[j>>2]|0}j=(g-e|0)/108|0;h=j<<1;h=j>>>0<19884107?(h>>>0>>0?i:h):39768215;d=(d-e|0)/108|0;f[k+12>>2]=0;f[k+16>>2]=a+8;do if(h)if(h>>>0>39768215){l=Ha(4)|0;Pp(l);sa(l|0,1096,107)}else{e=_m(h*108|0)|0;break}else e=0;while(0);f[k>>2]=e;d=e+(d*108|0)|0;i=k+8|0;f[i>>2]=d;g=k+4|0;f[g>>2]=d;f[k+12>>2]=e+(h*108|0);do{f[d>>2]=-1;cm(d+4|0);b[d+72>>0]=1;j=d+76|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;d=(f[i>>2]|0)+108|0;f[i>>2]=d;c=c+-1|0}while((c|0)!=0);Hd(a,k);h=f[g>>2]|0;c=f[i>>2]|0;if((c|0)!=(h|0))do{f[i>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}xj(c+-104|0);c=f[i>>2]|0}while((c|0)!=(h|0));c=f[k>>2]|0;if(c|0)mq(c);u=l;return}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;m=o+8|0;n=o;l=b+4|0;h=f[(f[l>>2]|0)+48>>2]|0;k=b+12|0;e=f[k>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17755,17);g=h+16|0;b=f[g>>2]|0;if(b){c=g;a:while(1){d=b;while(1){if((f[d+16>>2]|0)>=(e|0))break;b=f[d+4>>2]|0;if(!b)break a;else d=b}b=f[d>>2]|0;if(!b){c=d;break}else c=d}if(((c|0)!=(g|0)?(i=c+20|0,(e|0)>=(f[c+16>>2]|0)):0)?(Kh(i,m)|0)!=0:0)c=Ck(i,m,-1)|0;else j=10}else j=10;if((j|0)==10)c=Ck(h,m,-1)|0;_n(m);c=(1<>2]=-1;f[m+4>>2]=-1;f[m+8>>2]=-1;f[m+12>>2]=-1;if(((c|0)%2|0|0)!=1)Fa(11579,11612,67,11772);b=(_(c|0)|0)^31;c=b+1|0;if(!b)Fa(11796,11807,60,11922);if(c>>>0>=31)Fa(11942,11807,61,11922);f[m>>2]=c;j=2<>2]=j+-1;j=j+-2|0;f[m+8>>2]=j;f[m+12>>2]=(j|0)/2|0;switch(hi(f[k>>2]|0,f[l>>2]|0)|0){case 6:{Tg(n,6,f[k>>2]|0,f[l>>2]|0,m);f[a>>2]=f[n>>2];u=o;return}case 0:{Tg(n,0,f[k>>2]|0,f[l>>2]|0,m);f[a>>2]=f[n>>2];u=o;return}default:Fa(11954,11960,69,12086)}}function ee(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;l=e>>>0>1073741823?-1:e<<2;o=jq(l)|0;Xi(o|0,0,l|0)|0;l=f[a+28>>2]|0;r=a+36|0;d=f[r>>2]|0;h=f[d+4>>2]|0;g=f[d>>2]|0;i=h-g|0;a:do if((i|0)>4){m=f[a+32>>2]|0;s=a+8|0;q=l+64|0;n=l+28|0;p=(e|0)>0;i=i>>2;while(1){k=i+-1|0;if(h-g>>2>>>0<=k>>>0){Vo(d);g=f[d>>2]|0}g=f[g+(k<<2)>>2]|0;j=X(k,e)|0;if((!((g|0)<0?1:(1<<(g&31)&f[(f[l>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(w=f[(f[(f[q>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(w|0)>=0):0)?(v=f[n>>2]|0,h=f[m>>2]|0,t=f[h+(f[v+(w<<2)>>2]<<2)>>2]|0,u=w+1|0,u=f[h+(f[v+((((u|0)%3|0|0)==0?w+-2|0:u)<<2)>>2]<<2)>>2]|0,v=f[h+(f[v+((((w>>>0)%3|0|0)==0?2:-1)+w<<2)>>2]<<2)>>2]|0,(t|0)<(k|0)&(u|0)<(k|0)&(v|0)<(k|0)):0){d=X(t,e)|0;h=X(u,e)|0;i=X(v,e)|0;if(p){g=0;do{f[o+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}Xh(s,b+(j<<2)|0,o,c+(j<<2)|0)}else Xh(s,b+(j<<2)|0,b+((X(i+-2|0,e)|0)<<2)|0,c+(j<<2)|0);if((k|0)<=1)break a;h=f[r>>2]|0;d=h;g=f[h>>2]|0;h=f[h+4>>2]|0;i=k}}while(0);if((e|0)<=0){a=a+8|0;Xh(a,b,o,c);kq(o);return 1}Xi(o|0,0,e<<2|0)|0;a=a+8|0;Xh(a,b,o,c);kq(o);return 1}function fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<>>0>31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if(e>>>0<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if(!h){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;m=r+4|0;l=r;f[a+64>>2]=b;q=a+128|0;f[q>>2]=2;p=a+132|0;f[p>>2]=7;g=Ra[f[(f[b>>2]|0)+32>>2]&127](b)|0;n=a+88|0;f[n>>2]=g;k=a+104|0;g=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;j=a+108|0;b=f[j>>2]|0;c=f[k>>2]|0;h=b-c>>2;d=c;e=b;if(g>>>0<=h>>>0){if(g>>>0>>0?(i=d+(g<<2)|0,(e|0)!=(i|0)):0){b=e+(~((e+-4-i|0)>>>2)<<2)|0;f[j>>2]=b}}else{gi(k,g-h|0);c=f[k>>2]|0;b=f[j>>2]|0}if((b-c|0)>0){b=0;do{h=f[n>>2]|0;f[l>>2]=b;f[m>>2]=f[l>>2];h=Ph(h,m)|0;i=f[k>>2]|0;f[i+(b<<2)>>2]=h;b=b+1|0}while((b|0)<((f[j>>2]|0)-i>>2|0))}j=a+92|0;d=f[n>>2]|0;b=f[d>>2]|0;i=(f[d+4>>2]|0)-b>>2;g=a+96|0;e=f[g>>2]|0;c=f[j>>2]|0;h=e-c>>2;if(i>>>0<=h>>>0){if(i>>>0>>0?(o=c+(i<<2)|0,(e|0)!=(o|0)):0)f[g>>2]=e+(~((e+-4-o|0)>>>2)<<2)}else{gi(j,i-h|0);b=f[n>>2]|0;d=b;b=f[b>>2]|0}c=f[d+4>>2]|0;if((c-b|0)>0){b=0;do{o=f[d>>2]|0;f[(f[j>>2]|0)+(b<<2)>>2]=f[o+(b<<2)>>2];b=b+1|0}while((b|0)<(c-o>>2|0))}e=(f[p>>2]|0)-(f[q>>2]|0)+1|0;g=a+136|0;h=a+140|0;b=f[h>>2]|0;c=f[g>>2]|0;d=(b-c|0)/12|0;if(e>>>0>d>>>0){rf(g,e-d|0);u=r;return 1}if(e>>>0>=d>>>0){u=r;return 1}e=c+(e*12|0)|0;if((b|0)==(e|0)){u=r;return 1}do{c=b+-12|0;f[h>>2]=c;d=f[c>>2]|0;if(!d)b=c;else{c=b+-8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);b=f[h>>2]|0}}while((b|0)!=(e|0));u=r;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Qc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Rc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Sc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Tc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Uc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Vc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=2097152;if(h){d=2097152;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<19)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Cf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Wc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=1048576;if(h){d=1048576;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<18)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Df(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Xc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=262144;if(h){d=262144;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<16)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function pe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Yc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=131072;if(h){d=131072;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<15)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ff(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<>>0>31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function re(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Zc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=32768;if(h){d=32768;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<13)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Hf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function se(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;_c(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function te(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;$c(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ue(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;ad(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ve(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;bd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function we(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;cd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function xe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;dd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ye(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;ed(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ze(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;fd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+32|0;p=s+16|0;n=s+12|0;m=s+8|0;o=s+4|0;q=s;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Qo(e);if((a|0)!=(b|0)){f[m>>2]=f[b>>2];f[o>>2]=b+4;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(a,n,p)}d=b+24|0;if((e|0)!=(d|0)){f[m>>2]=f[d>>2];f[o>>2]=b+28;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(e,n,p)}f[q>>2]=0;l=c+8|0;k=c+12|0;d=f[k>>2]|0;e=f[l>>2]|0;if((d-e|0)<=0){u=s;return}j=b+16|0;c=0;while(1){if((c|0)<=-1){d=9;break}i=f[(f[e+(c<<2)>>2]|0)+56>>2]|0;b=f[j>>2]|0;if(b){h=j;g=b;a:while(1){b=g;while(1){if((f[b+16>>2]|0)>=(i|0))break;b=f[b+4>>2]|0;if(!b){b=h;break a}}g=f[b>>2]|0;if(!g)break;else h=b}if((b|0)!=(j|0)?(r=b+20|0,(i|0)>=(f[b+16>>2]|0)):0){d=xd(a,q)|0;if((d|0)!=(r|0)){f[m>>2]=f[r>>2];f[o>>2]=b+24;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(d,n,p)}c=f[q>>2]|0;e=f[l>>2]|0;d=f[k>>2]|0}}c=c+1|0;f[q>>2]=c;if((c|0)>=(d-e>>2|0)){d=7;break}}if((d|0)==7){u=s;return}else if((d|0)==9)Fa(20410,20426,59,20517)}function Be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n;h=a+4|0;d=f[h>>2]|0;e=f[(f[a>>2]|0)+52>>2]|0;if(!d){if(!(Ma[e&31](a,c,0)|0)){m=0;u=n;return m|0}}else if(!(Ma[e&31](a,c,f[(f[d+4>>2]|0)+80>>2]|0)|0)){m=0;u=n;return m|0}if(!(b[a+28>>0]|0)){m=1;u=n;return m|0}j=f[a+8>>2]|0;i=f[a+32>>2]|0;d=f[j+80>>2]|0;f[m>>2]=0;l=m+4|0;f[l>>2]=0;f[m+8>>2]=0;do if(d)if(d>>>0>1073741823){Wo(m);n=Ha(4)|0;Pp(n);sa(n|0,1096,107)}else{a=d<<2;g=_m(a)|0;f[m>>2]=g;k=g+(d<<2)|0;f[m+8>>2]=k;Xi(g|0,0,a|0)|0;f[l>>2]=k;break}else{g=0;k=0}while(0);e=f[c+4>>2]|0;d=f[c>>2]|0;c=d;a:do if((e|0)!=(d|0)){a=e-d>>2;if(b[j+84>>0]|0){d=0;while(1){f[g+(f[c+(d<<2)>>2]<<2)>>2]=d;d=d+1|0;if(d>>>0>=a>>>0)break a}}d=f[j+68>>2]|0;e=0;do{f[g+(f[d+(f[c+(e<<2)>>2]<<2)>>2]<<2)>>2]=e;e=e+1|0}while(e>>>0>>0)}while(0);c=f[(f[(f[h>>2]|0)+4>>2]|0)+80>>2]|0;if((c|0)>0){e=j+68|0;a=(b[i+84>>0]|0)==0;g=f[m>>2]|0;d=i+68|0;if(!(b[j+84>>0]|0)){if(!a)Fa(19931,19950,89,20044);a=f[e>>2]|0;d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while((e|0)<(c|0))}else{if(!a)Fa(19931,19950,89,20044);d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(e<<2)>>2];e=e+1|0}while((e|0)<(c|0))}}d=f[m>>2]|0;if(d|0){if((k|0)!=(d|0))f[l>>2]=k+(~((k+-4-d|0)>>>2)<<2);mq(d)}m=1;u=n;return m|0}function Ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+16|0;n=t+4|0;o=t;r=t+8|0;q=a+12|0;Mh(f[q>>2]|0,c)|0;if(!(f[q>>2]|0)){s=1;u=t;return s|0}p=c+16|0;j=c+4|0;k=r+1|0;l=r+1|0;m=r+1|0;d=0;while(1){i=f[a>>2]|0;h=f[i+(d<<3)>>2]|0;if(h>>>0>63)if(h>>>0>16383)if(h>>>0>4194303){d=0;s=20;break}else{g=2;s=13}else{g=1;s=13}else if(!h){g=d+1|0;e=0;do{if(f[i+(g+e<<3)>>2]|0)break;e=e+1|0}while(e>>>0<63);b[r>>0]=e<<2|3;i=p;h=f[i+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ie(c,n,r,m)|0}d=e+d|0}else{g=0;s=13}if((s|0)==13){s=0;b[r>>0]=g|h<<2;i=p;e=f[i+4>>2]|0;if(!((e|0)>0|(e|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ie(c,n,r,l)|0}if(g){e=0;do{e=e+1|0;b[r>>0]=h>>>((e<<3)+-2|0);i=p;v=f[i+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ie(c,n,r,k)|0}}while((e|0)<(g|0))}}d=d+1|0;if(d>>>0>=(f[q>>2]|0)>>>0){d=1;s=20;break}}if((s|0)==20){u=t;return d|0}return 0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;l=e<<5;d=b-g|0;if(l>>>0>>0|g>>>0>(l-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0){Wo(a);e=f[m>>2]|0}h=e<<6;b=b+31&-32;bi(o,e<<5>>>0<1073741823?(h>>>0>>0?b:h):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;dm(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)mq(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;Xi(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;Xi(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;i=f[(f[b+4>>2]|0)+(c<<2)>>2]|0;d=f[b+28>>2]|0;c=f[d+4>>2]|0;if((i|0)<=-1)Fa(20410,20426,59,20517);b=f[c+8>>2]|0;if(((f[c+12>>2]|0)-b>>2|0)<=(i|0))Fa(20527,20426,60,20517);h=f[b+(i<<2)>>2]|0;switch(f[h+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{l=_m(40)|0;Yn(l);f[a>>2]=l;u=m;return}case 9:{l=7;break}default:{}}if((l|0)==7){e=f[d+48>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kj(k,17755,17);g=e+16|0;b=f[g>>2]|0;if(b){c=g;a:while(1){d=b;while(1){if((f[d+16>>2]|0)>=(i|0))break;b=f[d+4>>2]|0;if(!b)break a;else d=b}b=f[d>>2]|0;if(!b){c=d;break}else c=d}if(((c|0)!=(g|0)?(j=c+20|0,(i|0)>=(f[c+16>>2]|0)):0)?(Kh(j,k)|0)!=0:0)c=Ck(j,k,-1)|0;else l=16}else l=16;if((l|0)==16)c=Ck(e,k,-1)|0;_n(k);if((c|0)>0)if((f[h+56>>2]|0)==1){c=_m(48)|0;b=c;d=b+48|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));Yn(c);f[c>>2]=2368;f[c+40>>2]=1152;f[c+44>>2]=-1;l=c;f[a>>2]=l;u=m;return}else{l=_m(64)|0;rm(l);f[a>>2]=l;u=m;return}}l=_m(36)|0;tm(l);f[a>>2]=l;u=m;return}function Fe(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=Ka,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka;l=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(c)h=g&l;else h=(l>>>0)%(i>>>0)|0;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(b)if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}if((f[b+4>>2]&g|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else{do{b=f[b>>2]|0;if(!b){b=h;break a}if((((f[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else b=h}else b=0;while(0);m=_m(16)|0;f[m+8>>2]=l;f[m+12>>2]=0;f[m+4>>2]=l;f[m>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;si(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&l;break}else{g=b;b=(l>>>0)%(b>>>0)|0;break}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[m>>2]=f[b>>2];f[b>>2]=m;f[c>>2]=b;b=f[m>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;b=(f[a>>2]|0)+(b<<2)|0;o=24}}else{f[m>>2]=f[b>>2];o=24}if((o|0)==24)f[b>>2]=m;f[h>>2]=(f[h>>2]|0)+1;a=m;a=a+12|0;return a|0}function Ge(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b+12|0;h=f[m>>2]|0;l=c+4|0;k=(f[l>>2]|0)-h|0;e=c;f[e>>2]=(f[c>>2]|0)-h;f[e+4>>2]=k;e=(f[d>>2]|0)-h|0;k=d+4|0;h=(f[k>>2]|0)-h|0;g=d;f[g>>2]=e;f[g+4>>2]=h;g=f[m>>2]|0;if((g|0)<(e|0))Fa(12576,11807,250,12599);if((g|0)<(h|0))Fa(12611,11807,251,12599);i=0-g|0;if((e|0)<(i|0))Fa(12634,11807,252,12599);if((h|0)<(i|0))Fa(12658,11807,253,12599);if((((h|0)>-1?h:0-h|0)+((e|0)>-1?e:0-e|0)|0)>(g|0)){Lh(b,c,l);Lh(b,d,k);e=f[d>>2]|0}if(!e){g=f[k>>2]|0;if(!g)g=0;else j=14}else{g=f[k>>2]|0;if(!((e|0)<0&(g|0)<1))j=14}if((j|0)==14){if(!e)h=(g|0)==0?0:(g|0)>0?3:1;else h=(e|0)>0?(g>>31)+2|0:(g|0)<1?0:3;e=f[c>>2]|0;g=f[l>>2]|0;switch(h|0){case 1:{j=c;f[j>>2]=g;f[j+4>>2]=0-e;e=f[k>>2]|0;g=0-(f[d>>2]|0)|0;break}case 2:{j=c;f[j>>2]=0-e;f[j+4>>2]=0-g;e=0-(f[d>>2]|0)|0;g=0-(f[k>>2]|0)|0;break}case 3:{j=c;f[j>>2]=0-g;f[j+4>>2]=e;e=0-(f[k>>2]|0)|0;g=f[d>>2]|0;break}default:{j=c;f[j>>2]=e;f[j+4>>2]=g;e=f[d>>2]|0;g=f[k>>2]|0}}f[d>>2]=e;f[d+4>>2]=g}e=(f[c>>2]|0)-e|0;f[a>>2]=e;i=(f[l>>2]|0)-g|0;h=a+4|0;f[h>>2]=i;g=f[m>>2]<<1;if((g|0)<(e|0))Fa(12682,11807,313,12716);if((e|0)<0)e=(f[b+4>>2]|0)+e|0;f[a>>2]=e;if((g|0)<(i|0))Fa(12682,11807,313,12716);if((i|0)>=0){b=i;f[h>>2]=b;return}b=(f[b+4>>2]|0)+i|0;f[h>>2]=b;return}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f[b>>2]|0;l=a+12|0;i=(h|0)<0;do if(!i)if(!((h>>>0)%3|0)){d=h+2|0;break}else{d=h+-1|0;break}else d=h;while(0);a:do if((d|0)<0)m=7;else{g=f[(f[l>>2]|0)+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824){e=0;break a}b=e+1|0;if((e|0)<0)d=e;else d=((b|0)%3|0|0)==0?e+-2|0:b;if((d|0)<0){m=7;break}}}while(0);if((m|0)==7){b=(d|0)==-1073741824;do{}while(!b);e=1;d=-1073741824}if(i)k=-1073741824;else k=f[(f[f[l>>2]>>2]|0)+(h<<2)>>2]|0;if(c){b=(f[a+84>>2]|0)+(k>>>5<<2)|0;f[b>>2]=f[b>>2]|1<<(k&31);b=1}else b=0;i=f[(f[a+152>>2]|0)+(k<<2)>>2]|0;c=(f[a+140>>2]|0)+(i>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(i&31);if(!e?(j=(((d>>>0)%3|0|0)==0?2:-1)+d|0,(j|0)>=0):0)e=f[(f[f[l>>2]>>2]|0)+(j<<2)>>2]|0;else e=-1073741824;if((e|0)==(k|0)){m=b;return m|0}i=a+84|0;do{a=(f[i>>2]|0)+(e>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(e&31);b=b+1|0;e=d+1|0;if((d|0)>=0)d=((e|0)%3|0|0)==0?d+-2|0:e;b:do if((d|0)>=0){h=f[l>>2]|0;g=f[h+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824)break;d=e+1|0;if((e|0)<0)d=e;else d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0){m=26;break b}}e=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((e|0)<0)e=-1073741824;else e=f[(f[h>>2]|0)+(e<<2)>>2]|0}else m=26;while(0);if((m|0)==26){m=0;d=(d|0)==-1073741824;do{}while(!d);e=-1073741824;d=-1073741824}}while((e|0)!=(k|0));return b|0}function Ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=f[a>>2]|0;i=k;c=k+((f[c>>2]|0)-i)|0;l=e-d|0;if((l|0)<=0){o=c;return o|0}n=a+8|0;g=f[n>>2]|0;o=a+4|0;m=f[o>>2]|0;h=m;if((l|0)<=(g-h|0)){i=h-c|0;if((l|0)>(i|0)){j=d+i|0;if((j|0)==(e|0))g=m;else{g=m;h=j;do{b[g>>0]=b[h>>0]|0;h=h+1|0;g=(f[o>>2]|0)+1|0;f[o>>2]=g}while((h|0)!=(e|0))}if((i|0)>0)e=j;else{o=c;return o|0}}else g=m;j=g-(c+l)|0;h=c+j|0;if(h>>>0>>0){i=g;do{b[i>>0]=b[h>>0]|0;h=h+1|0;i=(f[o>>2]|0)+1|0;f[o>>2]=i}while((h|0)!=(m|0))}if(j|0)dm(g+(0-j)|0,c|0,j|0)|0;if((e|0)==(d|0)){o=c;return o|0}else g=c;while(1){b[g>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else g=g+1|0}return c|0}h=h-i+l|0;if((h|0)<0){Wo(a);k=f[a>>2]|0;j=k;g=f[n>>2]|0}else j=i;m=g-j|0;l=m<<1;h=m>>>0<1073741823?(l>>>0>>0?h:l):2147483647;l=c;if(!h)i=0;else i=_m(h)|0;m=i+(l-j)|0;g=m;j=i+h|0;if((d|0)==(e|0)){d=k;h=g}else{h=m;do{b[h>>0]=b[d>>0]|0;h=g+1|0;g=h;d=d+1|0}while((d|0)!=(e|0));d=f[a>>2]|0;h=g}g=l-d|0;i=m+(0-g)|0;if((g|0)>0)Eg(i|0,d|0,g|0)|0;g=(f[o>>2]|0)-l|0;if((g|0)>0){l=h;Eg(l|0,c|0,g|0)|0;d=f[a>>2]|0;c=l+g|0}else c=h;f[a>>2]=i;f[o>>2]=c;f[n>>2]=j;if(!d){o=m;return o|0}mq(d);o=m;return o|0}function Je(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){e=23;break}i=h+8|0;d=f[i>>2]|0;e=f[d>>2]|0;if((e|0)==(h|0)){e=f[d+4>>2]|0;if(!e){e=7;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=7;break}}else{if(!e){e=16;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=16;break}}b[g>>0]=1;i=(d|0)==(a|0);b[d+12>>0]=i&1;b[c>>0]=1;if(i){e=23;break}else c=d}if((e|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;c=f[a>>2]|0;e=f[c>>2]|0;f[a>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}a=c+8|0;f[a>>2]=d;d=f[i>>2]|0;f[((f[d>>2]|0)==(h|0)?d:d+4|0)>>2]=c;f[c>>2]=h;f[i>>2]=c;d=f[a>>2]|0}b[c+12>>0]=1;b[d+12>>0]=0;c=f[d>>2]|0;g=c+4|0;e=f[g>>2]|0;f[d>>2]=e;if(e|0)f[e+8>>2]=d;i=d+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(d|0)?h:h+4|0)>>2]=c;f[g>>2]=d;f[i>>2]=c;return}else if((e|0)==16){if((f[h>>2]|0)==(c|0)){c=f[h>>2]|0;g=c+4|0;e=f[g>>2]|0;f[h>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}e=c+8|0;f[e>>2]=d;a=f[i>>2]|0;f[((f[a>>2]|0)==(h|0)?a:a+4|0)>>2]=c;f[g>>2]=h;f[i>>2]=c;e=f[e>>2]|0}else{c=h;e=d}b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((e|0)==23)return}function Ke(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;q=s+4|0;k=s;f[q>>2]=0;r=q+4|0;f[r>>2]=0;f[q+8>>2]=0;m=a+52|0;b=f[m>>2]|0;j=(f[b+100>>2]|0)-(f[b+96>>2]|0)|0;n=(j|0)/12|0;do if((j|0)>0){j=q+8|0;c=f[b+96>>2]|0;if(((f[b+100>>2]|0)-c|0)>0){d=c;l=0;i=0}else Fa(19877,19795,64,19872);while(1){g=f[d+(l*12|0)>>2]|0;c=g-i|0;c=((c|0)>-1?c:0-c|0)<<1|c>>>31;f[k>>2]=c;b=f[r>>2]|0;e=f[j>>2]|0;if((b|0)==(e|0)){zi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[b>>2]=c;c=b+4|0;f[r>>2]=c}h=f[d+(l*12|0)+4>>2]|0;b=h-g|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0)){zi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[c>>2]=b;c=c+4|0;f[r>>2]=c}i=f[d+(l*12|0)+8>>2]|0;b=i-h|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0))zi(q,k);else{f[c>>2]=b;f[r>>2]=c+4}l=l+1|0;if((l|0)>=(n|0)){b=3;break}h=f[m>>2]|0;d=f[h+96>>2]|0;if((l|0)>=(((f[h+100>>2]|0)-d|0)/12|0|0)){b=5;break}}if((b|0)==3){o=f[q>>2]|0;p=f[r>>2]|0;break}else if((b|0)==5)Fa(19877,19795,64,19872)}else{o=0;p=0}while(0);Nc(o,p-o>>2,1,f[a+44>>2]|0)|0;c=f[q>>2]|0;if(!c){u=s;return 1}b=f[r>>2]|0;if((b|0)!=(c|0))f[r>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);u=s;return 1}function Le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=f[b>>2]|0;b=e*3|0;h=a+12|0;e=(e|0)<0;if(e)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(e)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;g=f[a+152>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!e)b=((d|0)%3|0|0)==0?b+-2|0:d;a=(b|0)<0;if(a)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(a)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!a){b=((d|0)%3|0|0)==0?b+-2|0:d;if((b|0)<0){d=b;a=1}else{d=b;a=0;b=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0}}else{d=b;a=1}if((b|0)==-1073741824){i=0;h=d;f[c>>2]=h;return i|0}if(a)b=-1073741824;else b=f[(f[f[h>>2]>>2]|0)+(d<<2)>>2]|0;if((f[g+(b<<2)>>2]|0)==-1){b=d+1|0;if(a){i=1;h=d;f[c>>2]=h;return i|0}i=1;h=((b|0)%3|0|0)==0?d+-2|0:b;f[c>>2]=h;return i|0}else b=d}}if((b|0)<=-1){i=0;h=b;f[c>>2]=h;return i|0}while(1){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)<0)break;d=f[(f[(f[h>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=11;break}d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((d|0)>-1)b=d;else{i=11;break}}if((i|0)==11?(b|0)<0:0){i=0;h=b;f[c>>2]=h;return i|0}if(!((b>>>0)%3|0)){i=0;h=b+2|0;f[c>>2]=h;return i|0}else{i=0;h=b+-1|0;f[c>>2]=h;return i|0}return 0}function Me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;g=n;if((f[c+56>>2]|0)==-1){e=-1;u=n;return e|0}m=_m(96)|0;ql(m,c);f[g>>2]=m;m=dh(a,g)|0;i=f[g>>2]|0;f[g>>2]=0;if(i|0){k=i+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c+8>>2]|0;if(g|0){h=c+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(c)}c=f[i+68>>2]|0;if(c|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(c|0))f[h>>2]=g+(~((g+-4-c|0)>>>2)<<2);mq(c)}k=i+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c>>2]|0;if(g|0){h=c+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(c)}mq(i)}if((m|0)<=-1)Fa(20410,20426,67,20517);j=a+8|0;k=a+12|0;c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))Fa(20527,20426,68,20517);i=c+(m<<2)|0;c=f[i>>2]|0;do if(!d){d=f[a+80>>2]|0;b[c+84>>0]=0;a=c+68|0;h=c+72|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c>>2;if(d>>>0>i>>>0){Pg(a,d-i|0,6092);break}if(d>>>0>>0?(l=c+(d<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{b[c+84>>0]=1;h=f[c+68>>2]|0;g=c+72|0;c=f[g>>2]|0;if((c|0)!=(h|0))f[g>>2]=c+(~((c+-4-h|0)>>>2)<<2);f[(f[i>>2]|0)+80>>2]=f[a+80>>2]}while(0);if((e|0)<=0){e=m;u=n;return e|0}c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))Fa(20527,20426,68,20517);gj(f[c+(m<<2)>>2]|0,e)|0;e=m;u=n;return e|0}function Ne(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Wd(a,b,c,e)|0;k=f[d>>2]|0;m=f[c>>2]|0;g=f[e>>2]|0;i=f[g+4>>2]|0;h=f[g>>2]|0;if(i-h>>3>>>0>k>>>0){l=g;j=h;g=h}else{Vo(g);i=f[e>>2]|0;l=i;j=f[g>>2]|0;g=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-g>>3>>>0<=m>>>0){Vo(l);g=f[l>>2]|0}if(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0)return n|0;k=f[c>>2]|0;f[c>>2]=f[d>>2];f[d>>2]=k;k=f[c>>2]|0;m=f[b>>2]|0;i=f[e>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);d=f[e>>2]|0;l=f[i>>2]|0;g=f[d>>2]|0;j=f[d+4>>2]|0;i=d}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}if(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0){n=n+1|0;return n|0}l=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=l;l=f[b>>2]|0;m=f[a>>2]|0;i=f[e>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>l>>>0){k=g;j=h}else{Vo(i);e=f[e>>2]|0;k=f[i>>2]|0;g=f[e>>2]|0;j=f[e+4>>2]|0;i=e}h=f[k+(l<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}if(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0){n=n+2|0;return n|0}e=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=e;n=n+3|0;return n|0}function Oe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+144|0;m=q+136|0;p=q+104|0;i=q;j=_m(124)|0;e=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3528;f[j+12>>2]=3508;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;n=j+16|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[j+112>>2]=e;f[j+116>>2]=d;k=j+120|0;f[k>>2]=0;g=j;f[p>>2]=3508;l=p+4|0;h=l+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;h=f[c+12>>2]|0;f[i+4>>2]=3508;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;n=i+8|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));o=h;f[l>>2]=o;o=((f[o+4>>2]|0)-(f[h>>2]|0)>>2>>>0)/3|0;b[m>>0]=0;Kg(p+8|0,o,m);Oa[f[(f[p>>2]|0)+8>>2]&127](p);f[i>>2]=f[l>>2];eg(i+4|0,p)|0;f[i+36>>2]=h;f[i+40>>2]=d;f[i+44>>2]=e;f[i+48>>2]=j;f[k>>2]=c+72;kg(j,i);f[a>>2]=g;yi(i);f[p>>2]=3508;e=f[p+20>>2]|0;if(e|0)mq(e);e=f[p+8>>2]|0;if(!e){u=q;return}mq(e);u=q;return}function Pe(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3552;pi(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}Ri(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+140>>2]|0;if(b|0)mq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;mq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)mq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+28>>2]|0;if(b|0)mq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;lj(b);mq(b);return}function Qe(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3352;Zi(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}Ri(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+140>>2]|0;if(b|0)mq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;mq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)mq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+28>>2]|0;if(b|0)mq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;lj(b);mq(b);return}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Se(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+16|0;h=n+4|0;g=n;i=n+8|0;if(!(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)){a=0;u=n;return a|0}m=a+44|0;d=f[m>>2]|0;k=a+8|0;j=a+12|0;e=f[j>>2]|0;c=f[k>>2]|0;b[i>>0]=(e-c|0)>>>2;o=d+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ie(d,h,i,i+1|0)|0;c=f[k>>2]|0;e=f[j>>2]|0}a:do if((c|0)!=(e|0)){d=a+4|0;while(1){p=f[c>>2]|0;c=c+4|0;if(!(Ma[f[(f[p>>2]|0)+8>>2]&31](p,a,f[d>>2]|0)|0)){c=0;break}if((c|0)==(e|0))break a}u=n;return c|0}while(0);if(!(vc(a)|0)){p=0;u=n;return p|0}e=a+32|0;c=f[e>>2]|0;g=a+36|0;d=f[g>>2]|0;b:do if((c|0)!=(d|0)){do{if(!(Va[f[(f[a>>2]|0)+40>>2]&127](a,f[c>>2]|0)|0)){c=0;l=18;break}c=c+4|0}while((c|0)!=(d|0));if((l|0)==18){u=n;return c|0}c=f[e>>2]|0;d=f[g>>2]|0;if((c|0)!=(d|0)){while(1){p=f[(f[k>>2]|0)+(f[c>>2]<<2)>>2]|0;c=c+4|0;if(!(Va[f[(f[p>>2]|0)+12>>2]&127](p,f[m>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}u=n;return c|0}}while(0);p=Ra[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=n;return p|0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>3>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>3;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){m=c;l=f[m+4>>2]|0;k=e;f[k>>2]=f[m>>2];f[k+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(!g){d=j+(b<<3)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-8-d|0)>>>3)<<3)|0;break}}else{g=b-h|0;d=i;e=g;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=a;d=i+(g<<3)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>536870911){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;m=d-e|0;d=m>>2;d=m>>3>>>0<268435455?(d>>>0>>0?b:d):536870911;if(d>>>0>536870911){Wo(a);m=Ha(4)|0;Pp(m);sa(m|0,1096,107)}h=_m(d<<3)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<3);d=h;e=b;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=g;d=h+(b<<3)|0}while(0);f[e>>2]=d;return}function Ue(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Fa(20410,20426,59,20517);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Fa(20527,20426,60,20517);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ra[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Va[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Va[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;kd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;jd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+1176|0;b=f[g>>2]|0;if(b|0){h=a+1180|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}g=a+1164|0;b=f[g>>2]|0;if(b|0){h=a+1168|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+1152>>2]|0;if(b|0){d=a+1156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+1140>>2]|0;if(b|0){d=a+1144|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+1128>>2]|0;if(!b){h=a+1108|0;jl(h);h=a+1088|0;jl(h);h=a+1068|0;jl(h);h=a+1036|0;oj(h);a=a+12|0;ph(a);return}d=a+1132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);h=a+1108|0;jl(h);h=a+1088|0;jl(h);h=a+1068|0;jl(h);h=a+1036|0;oj(h);a=a+12|0;ph(a);return}function We(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ie(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ie(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}Yf(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];hb(a,k,m);d=0;do{Pc(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);Pc(a+1036|0,e);gg(g,e);gg(c,e);gg(b,e);u=n;return 1}function Xe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ie(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ie(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}Yf(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];jb(a,k,m);d=0;do{Pc(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);Pc(a+1036|0,e);gg(g,e);gg(c,e);gg(b,e);u=n;return 1}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+60>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,g,g+4|0)|0}an(k);Wk(k);if((f[g>>2]|0)>0){c=a+56|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;Ui(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}Pc(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;oj(k);u=m;return 1}function Ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Fa(20410,20426,59,20517);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Fa(20527,20426,60,20517);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ra[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Va[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Va[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;Hc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;Gc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function _e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+80>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,g,g+4|0)|0}an(k);Wk(k);if((f[g>>2]|0)>0){c=a+76|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;Ui(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}Pc(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;oj(k);u=m;return 1}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=a+4|0;c=f[j>>2]|0;i=a+100|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;switch(c|0){case 43:case 45:{d=(c|0)==45&1;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;if((b|0)!=0&(c+-48|0)>>>0>9?(f[i>>2]|0)!=0:0){f[j>>2]=(f[j>>2]|0)+-1;g=d}else g=d;break}default:g=0}if((c+-48|0)>>>0>9)if(!(f[i>>2]|0)){d=-2147483648;c=0}else{f[j>>2]=(f[j>>2]|0)+-1;d=-2147483648;c=0}else{d=0;do{d=c+-48+(d*10|0)|0;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0}while((c+-48|0)>>>0<10&(d|0)<214748364);b=((d|0)<0)<<31>>31;if((c+-48|0)>>>0<10){do{b=Zm(d|0,b|0,10,0)|0;d=I;c=Zn(c|0,((c|0)<0)<<31>>31|0,-48,-1)|0;d=Zn(c|0,I|0,b|0,d|0)|0;b=I;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0}while((c+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&d>>>0<2061584302));e=d;d=c}else{e=d;d=c}c=f[i>>2]|0;if((d+-48|0)>>>0<10)do{d=f[j>>2]|0;if(d>>>0>>0){f[j>>2]=d+1;d=h[d>>0]|0}else{d=Pi(a)|0;c=f[i>>2]|0}}while((d+-48|0)>>>0<10);if(c|0)f[j>>2]=(f[j>>2]|0)+-1;j=(g|0)!=0;c=Dn(0,0,e|0,b|0)|0;d=j?I:b;c=j?c:e}I=d;return c|0}function af(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=u;u=u+96|0;o=p;if(!c){o=-1;u=p;return o|0}Im(o);qj(o,d,0,g&255,9,0,g<<2,0,0,0);j=Me(c,o,1,e)|0;if((j|0)<=-1)Fa(20410,20426,67,20517);a=f[c+8>>2]|0;if(((f[c+12>>2]|0)-a>>2|0)<=(j|0))Fa(20527,20426,68,20517);a=f[a+(j<<2)>>2]|0;if((e|0)>0){m=a+84|0;k=a+68|0;l=a+40|0;d=a+64|0;i=0;do{if(!(b[m>>0]|0))a=f[(f[k>>2]|0)+(i<<2)>>2]|0;else a=i;r=h+((X(i,g)|0)<<2)|0;s=l;q=f[s>>2]|0;a=Zm(a|0,((a|0)<0)<<31>>31|0,q|0,f[s+4>>2]|0)|0;Eg((f[f[d>>2]>>2]|0)+a|0,r|0,q|0)|0;i=i+1|0}while((i|0)!=(e|0))}d=c+80|0;a=f[d>>2]|0;if(a)if((a|0)==(e|0))n=14;else j=-1;else{f[d>>2]=e;n=14}s=o+88|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){i=a+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;mq(d)}mq(a)}a=f[o+68>>2]|0;if(a|0){i=o+72|0;d=f[i>>2]|0;if((d|0)!=(a|0))f[i>>2]=d+(~((d+-4-a|0)>>>2)<<2);mq(a)}s=o+64|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){d=f[a>>2]|0;if(d|0){i=a+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;mq(d)}mq(a)}s=j;u=p;return s|0}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Pg(j,m-l|0,3472);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)Fa(19877,19795,64,19872);else if((e|0)==12)Fa(19931,19950,89,20044);else if((e|0)==14)return d|0;return 0}function cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=f[b>>2]|0;d=f[c>>2]|0;g=d-l>>2;h=a+8|0;b=f[h>>2]|0;i=f[a>>2]|0;j=i;k=d;if(g>>>0<=b-i>>2>>>0){a=a+4|0;h=(f[a>>2]|0)-i>>2;e=g>>>0>h>>>0;h=e?l+(h<<2)|0:d;d=h-l|0;b=d>>2;if(b|0)dm(i|0,l|0,d|0)|0;d=j+(b<<2)|0;if(!e){b=f[a>>2]|0;if((b|0)==(d|0))return;f[a>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}c=f[c>>2]|0;b=h;if((b|0)==(c|0))return;g=f[a>>2]|0;e=c+-4-h|0;d=g;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[a>>2]=g+((e>>>2)+1<<2);return}e=i;if(i){d=a+4|0;b=f[d>>2]|0;if((b|0)!=(j|0))f[d>>2]=b+(~((b+-4-i|0)>>>2)<<2);mq(e);f[h>>2]=0;f[d>>2]=0;f[a>>2]=0;b=0}if(g>>>0>1073741823){Wo(a);d=f[a>>2]|0;b=f[h>>2]|0}else d=0;j=b-d|0;b=j>>1;b=j>>2>>>0<536870911?(b>>>0>>0?g:b):1073741823;if(b>>>0>1073741823){Wo(a);l=Ha(4)|0;Pp(l);sa(l|0,1096,107)}g=_m(b<<2)|0;c=a+4|0;f[c>>2]=g;f[a>>2]=g;f[h>>2]=g+(b<<2);b=l;if((b|0)==(k|0))return;e=k+-4-l|0;d=g;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(k|0))break;else d=d+4|0}f[c>>2]=g+((e>>>2)+1<<2);return}function df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Pg(j,m-l|0,3472);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Fa(19877,19795,64,19872);else if((e|0)==12)Fa(19931,19950,89,20044);else if((e|0)==13)return d|0;return 0}function ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Pg(j,m-l|0,3472);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Fa(19877,19795,64,19872);else if((e|0)==12)Fa(19931,19950,89,20044);else if((e|0)==13)return d|0;return 0}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=_m(40)|0;e=l+16|0;dl(e,c);dl(l+28|0,c+12|0);c=a+4|0;d=f[c>>2]|0;do if(d){j=b[l+27>>0]|0;i=j<<24>>24<0;j=i?f[l+20>>2]|0:j&255;i=i?f[e>>2]|0:e;h=d;while(1){d=h+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[h+20>>2]|0:e&255;c=e>>>0>>0?e:j;if((c|0)!=0?(k=il(i,g?f[d>>2]|0:d,c)|0,(k|0)!=0):0)if((k|0)<0)g=7;else g=9;else if(j>>>0>>0)g=7;else g=9;if((g|0)==7){c=f[h>>2]|0;if(!c){g=8;break}}else if((g|0)==9){d=h+4|0;c=f[d>>2]|0;if(!c){g=11;break}}h=c}if((g|0)==8){e=h;d=h;break}else if((g|0)==11){e=h;break}}else{e=c;d=c}while(0);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=e;f[d>>2]=l;c=f[f[a>>2]>>2]|0;if(!c){k=l;j=a+4|0;j=f[j>>2]|0;Je(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}f[a>>2]=c;k=f[d>>2]|0;j=a+4|0;j=f[j>>2]|0;Je(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;jl(h);h=a+52|0;jl(h);h=a+32|0;jl(h);a=a+12|0;jl(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);h=a+72|0;jl(h);h=a+52|0;jl(h);h=a+32|0;jl(h);a=a+12|0;jl(a);return}function hf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+152|0;b=f[g>>2]|0;if(b|0){h=a+156|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+128>>2]|0;if(b|0){d=a+132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+104>>2]|0;if(!b){h=a+84|0;jl(h);h=a+64|0;jl(h);h=a+44|0;jl(h);a=a+12|0;oj(a);return}d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);h=a+84|0;jl(h);h=a+64|0;jl(h);h=a+44|0;jl(h);a=a+12|0;oj(a);return}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)dm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}h=_m(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+40+(h*12|0)+4|0;Mh(f[c>>2]|0,b)|0;if(f[c>>2]|0){an(i);Wk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+40+(h*12|0)|0;do{d=0;while(1){m=d+c|0;Ui(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}Pc(i,b);oj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;u=l;return 1}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)dm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}h=_m(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c;j=d-l|0;k=a+8|0;e=f[k>>2]|0;i=f[a>>2]|0;m=i;if(j>>>0>e-i>>2>>>0){h=i;if(i){g=a+4|0;e=f[g>>2]|0;if((e|0)!=(m|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(h);f[k>>2]=0;f[g>>2]=0;f[a>>2]=0;e=0}if(j>>>0>1073741823){Wo(a);g=f[a>>2]|0;e=f[k>>2]|0}else g=0;m=e-g|0;g=m>>1;g=m>>2>>>0<536870911?(g>>>0>>0?j:g):1073741823;if(g>>>0>1073741823){Wo(a);d=Ha(4)|0;Pp(d);sa(d|0,1096,107)}e=_m(g<<2)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[k>>2]=e+(g<<2);if((c|0)==(d|0))return;do{f[e>>2]=b[c>>0];c=c+1|0;e=e+4|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{k=a+4|0;g=f[k>>2]|0;h=g-i>>2;i=j>>>0>h>>>0;j=c+h|0;h=i?j:d;if((h|0)==(c|0))c=m;else{e=m;while(1){f[e>>2]=b[c>>0];c=c+1|0;if((c|0)==(h|0))break;else e=e+4|0}c=m+(h-l<<2)|0}if(!i){if((g|0)==(c|0))return;f[k>>2]=g+(~((g+-4-c|0)>>>2)<<2);return}if((h|0)==(d|0))return;e=f[k>>2]|0;c=j;do{f[e>>2]=b[c>>0];c=c+1|0;e=e+4|0;f[k>>2]=e}while((c|0)!=(d|0));return}}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+60+(h*12|0)+4|0;Mh(f[c>>2]|0,b)|0;if(f[c>>2]|0){an(i);Wk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+60+(h*12|0)|0;do{d=0;while(1){m=d+c|0;Ui(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}Pc(i,b);oj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;u=l;return 1}function of(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ie(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ie(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;wm(c);b=a+32|0;wm(b);m=a+52|0;wm(m);n=a+72|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];kb(a,i,k);gg(c,e);gg(b,e);gg(m,e);gg(n,e);u=l;return 1} -function Fb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=Ka,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function Gb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;n=F+76|0;o=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);m=f[(f[h>>2]|0)+28>>2]|0;l=f[m+(c<<2)>>2]|0;m=f[m+(g<<2)>>2]|0;g=a+36|0;h=f[g>>2]|0;c=f[h+4>>2]|0;k=f[h>>2]|0;if(c-k>>2>>>0>l>>>0){i=c;j=h;g=k;c=k}else{Vo(h);c=f[g>>2]|0;i=f[c+4>>2]|0;j=c;g=f[h>>2]|0;c=f[c>>2]|0}w=f[g+(l<<2)>>2]|0;if(i-c>>2>>>0<=m>>>0){Vo(j);c=f[j>>2]|0}h=f[c+(m<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){z=w<<1;v=f[d+(z<<2)>>2]|0;y=((v|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(v|0)|(s|0)!=(z|0))){f[a+8>>2]=v;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;i=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,i,B)|0;n=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=Dn(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=Dn(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Zm(n|0,o|0,n|0,o|0)|0;x=I;B=Zm(p|0,q|0,p|0,q|0)|0;x=Zn(B|0,I|0,C|0,x|0)|0;C=I;B=Zm(l|0,m|0,l|0,m|0)|0;B=Zn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=Dn(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=Dn(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=Dn(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Zm(K|0,J|0,n|0,o|0)|0;D=I;g=Zm(H|0,G|0,p|0,q|0)|0;D=Zn(g|0,I|0,k|0,D|0)|0;k=I;g=Zm(h|0,i|0,l|0,m|0)|0;g=Zn(D|0,k|0,g|0,I|0)|0;k=I;D=Dn(r|0,((r|0)<0)<<31>>31|0,v|0,y|0)|0;c=I;w=Dn(s|0,((s|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;s=Zm(B|0,C|0,v|0,y|0)|0;r=I;v=Zm(B|0,C|0,z|0,A|0)|0;t=I;A=Zm(g|0,k|0,D|0,c|0)|0;z=I;j=Zm(g|0,k|0,w|0,x|0)|0;y=I;r=Zn(A|0,z|0,s|0,r|0)|0;s=I;t=Zn(j|0,y|0,v|0,t|0)|0;v=I;y=Zm(g|0,k|0,n|0,o|0)|0;j=I;z=Zm(g|0,k|0,p|0,q|0)|0;A=I;m=Zm(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=Dn(K|0,J|0,j|0,l|0)|0;j=I;z=Dn(H|0,G|0,A|0,z|0)|0;A=I;m=Dn(h|0,i|0,k|0,m|0)|0;k=I;j=Zm(l|0,j|0,l|0,j|0)|0;l=I;A=Zm(z|0,A|0,z|0,A|0)|0;l=Zn(A|0,I|0,j|0,l|0)|0;j=I;k=Zm(m|0,k|0,m|0,k|0)|0;k=Zn(l|0,j|0,k|0,I|0)|0;j=I;l=Dn(0,0,D|0,c|0)|0;m=I;j=Zm(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=24}break}case 1:{if(!c){g=1;c=0;E=25}else{g=1;c=0;h=j;i=k;E=24}break}default:{g=1;c=0;h=j;i=k;E=24}}if((E|0)==24)while(1){g=tn(g|0,c|0,1)|0;c=I;K=h;h=yn(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=25;break}else{i=I;E=24}}if((E|0)==25)while(1){K=Oo(j|0,k|0,g|0,c|0)|0;g=Zn(K|0,I|0,g|0,c|0)|0;g=yn(g|0,I|0,1)|0;c=I;K=Zm(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=25;else break}o=Zm(g|0,c|0,w|0,x|0)|0;K=I;n=Zm(g|0,c|0,l|0,m|0)|0;l=I;J=Zn(o|0,K|0,r|0,s|0)|0;g=I;k=Zn(n|0,l|0,t|0,v|0)|0;c=I;g=kk(J|0,g|0,B|0,C|0)|0;J=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;K=Dn(r|0,s|0,o|0,K|0)|0;o=I;l=Dn(t|0,v|0,n|0,l|0)|0;n=I;o=kk(K|0,o|0,B|0,C|0)|0;K=I;n=kk(l|0,n|0,B|0,C|0)|0;l=I;h=e<<1;j=f[d+(h<<2)>>2]|0;H=((j|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;m=((h|0)<0)<<31>>31;J=Dn(j|0,H|0,g|0,J|0)|0;G=I;k=Dn(h|0,m|0,c|0,k|0)|0;i=I;G=Zm(J|0,G|0,J|0,G|0)|0;J=I;i=Zm(k|0,i|0,k|0,i|0)|0;J=Zn(i|0,I|0,G|0,J|0)|0;G=I;K=Dn(j|0,H|0,o|0,K|0)|0;H=I;l=Dn(h|0,m|0,n|0,l|0)|0;m=I;H=Zm(K|0,H|0,K|0,H|0)|0;K=I;m=Zm(l|0,m|0,l|0,m|0)|0;K=Zn(m|0,I|0,H|0,K|0)|0;H=I;m=a+16|0;l=a+20|0;h=f[l>>2]|0;j=a+24|0;i=f[j>>2]|0;k=(h|0)==(i<<5|0);if(G>>>0>>0|(G|0)==(H|0)&J>>>0>>0){if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;K=(f[m>>2]|0)+(h>>>5<<2)|0;f[K>>2]=f[K>>2]|1<<(h&31)}else{if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;g=(f[m>>2]|0)+(h>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(h&31));g=o;c=n}f[a+8>>2]=g;f[a+12>>2]=c;u=F;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function Hb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;A=B+16|0;z=B+4|0;x=B;f[a+36>>2]=b;y=a+24|0;w=a+28|0;d=f[w>>2]|0;c=f[y>>2]|0;g=d-c>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(e=c+(b<<2)|0,(d|0)!=(e|0)):0)f[w>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else Pg(y,b-g|0,6012);f[A>>2]=0;v=A+4|0;f[v>>2]=0;t=A+8|0;f[t>>2]=0;if(b|0){if((b|0)<0)Wo(A);c=((b+-1|0)>>>5)+1|0;s=_m(c<<2)|0;f[A>>2]=s;f[t>>2]=c;f[v>>2]=b;c=b>>>5;Xi(s|0,0,c<<2|0)|0;d=b-(c<<5)|0;c=s+(c<<2)|0;if(d|0)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}s=a+4|0;c=(f[s>>2]|0)-(f[a>>2]|0)|0;g=c>>2;f[z>>2]=0;e=z+4|0;f[e>>2]=0;d=z+8|0;f[d>>2]=0;if(g){if((c|0)<0)Wo(z);c=((g+-1|0)>>>5)+1|0;h=_m(c<<2)|0;f[z>>2]=h;f[d>>2]=c;f[e>>2]=g;c=g>>>5;Xi(h|0,0,c<<2|0)|0;d=g-(c<<5)|0;c=h+(c<<2)|0;if(d)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}else h=0;c=f[a>>2]|0;a:do if((f[s>>2]|0)-c>>2>>>0>2){n=a+12|0;q=a+32|0;o=a+52|0;p=a+56|0;r=a+48|0;m=0;d=b;b:while(1){l=m*3|0;if((m|0)>=0){b=f[c+(l<<2)>>2]|0;e=l+1|0;e=((e|0)%3|0|0)==0?l+-2|0:e;if((e|0)<0)g=-1073741824;else g=f[c+(e<<2)>>2]|0;e=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((e|0)<0)c=-1073741824;else c=f[c+(e<<2)>>2]|0;if((b|0)!=(g|0)?!((b|0)==(c|0)|(g|0)==(c|0)):0){k=0;do{g=k+l|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){c=f[(f[a>>2]|0)+(g<<2)>>2]|0;f[x>>2]=c;e=f[A>>2]|0;if(!(f[e+(c>>>5<<2)>>2]&1<<(c&31)))b=0;else{c=f[w>>2]|0;if((c|0)==(f[q>>2]|0))zi(y,6012);else{f[c>>2]=-1073741824;f[w>>2]=c+4}c=f[o>>2]|0;if((c|0)==(f[p>>2]|0))zi(r,x);else{f[c>>2]=f[x>>2];f[o>>2]=c+4}c=f[v>>2]|0;e=f[t>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){Wo(A);e=f[t>>2]|0}j=e<<6;c=c+32&-32;bi(A,e<<5>>>0<1073741823?(j>>>0>>0?c:j):2147483647);c=f[v>>2]|0}f[v>>2]=c+1;e=f[A>>2]|0;b=e+(c>>>5<<2)|0;f[b>>2]=f[b>>2]&~(1<<(c&31));f[x>>2]=d;c=d;b=1;d=d+1|0}j=e+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);c:do if(b){c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);e=f[x>>2]|0;f[(f[y>>2]|0)+(e<<2)>>2]=c;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}else{c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);f[(f[y>>2]|0)+(f[x>>2]<<2)>>2]=c;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}while(0);do if((e|0)==67){e=0;if((g|0)==-1073741824){c=-1073741824;e=74}}else if((e|0)==68)if((g|0)>=0){c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=74;break}if(!((c>>>0)%3|0)){c=c+2|0;e=74;break}else{c=c+-1|0;e=74;break}}else e=74}else{c=g;e=74}while(0);d:do if((e|0)==74){h=f[z>>2]|0;g=h+(c>>>5<<2)|0;i=1<<(c&31);e=(c|0)<0;if((c|0)!=-1073741824){if(!b){b=c;c=i;while(1){if(e)break b;f[g>>2]=f[g>>2]|c;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);h=f[z>>2]|0;if((c|0)==-1073741824)break d;else{b=c;g=h+(c>>>5<<2)|0;e=(c|0)<0;c=1<<(c&31)}}}j=f[a>>2]|0;b=g;h=e;e=i;while(1){g=j+(c<<2)|0;do{f[b>>2]=f[b>>2]|e;f[g>>2]=f[x>>2]}while(h);c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=c;break}if(!((c>>>0)%3|0)){e=c+2|0;break}else{e=c+-1|0;break}}else e=c;while(0);h=f[z>>2]|0;if((e|0)==-1073741824)break;else{c=e;b=h+(e>>>5<<2)|0;h=(e|0)<0;e=1<<(e&31)}}}}while(0)}k=k+1|0}while((k|0)<3)}}m=m+1|0;c=f[a>>2]|0;if((m|0)>=(((f[s>>2]|0)-c>>2>>>0)/3|0|0))break a}while(1){}}while(0);j=a+44|0;f[j>>2]=0;c=f[A>>2]|0;b=f[v>>2]|0;y=b>>>5;i=c+(y<<2)|0;b=b&31;e=(y|0)!=0;e:do if(y|b|0){if(!b){g=c;d=0;while(1){f:do if(e){e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break;else e=e+1|0}}else{e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break f;e=e+1|0;if(!e)break e}}while(0);g=g+4|0;if((g|0)==(i|0))break e;else e=1}}if(e){g=c;d=0;e=0;do{h=0;while(1){if(!(f[g>>2]&1<>2]=e;d=e}if((h|0)==31)break;else h=h+1|0}g=g+4|0}while((g|0)!=(i|0))}else{g=c;d=0}e=0;do{if(!(f[g>>2]&1<>2]=d}e=e+1|0}while((e|0)!=(b|0))}while(0);d=f[z>>2]|0;if(d){mq(d);c=f[A>>2]|0}if(!c){u=B;return 1}mq(c);u=B;return 1}function Ib(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;Xn(c)|0;if((I|0)<0){C=1;A=21062;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?21063:21068):21065}Xn(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+Up(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=ok(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[21093+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Rk(a,32,d,j,g);zo(a,p,o);Rk(a,48,d,j,g^65536);zo(a,F,C);Rk(a,48,D-C|0,0,0);zo(a,n,E);Rk(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=tn(f[j>>2]|0,0,o|0)|0;x=Zn(x|0,I|0,l|0,0)|0;y=I;v=Sm(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=Oo(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=ok(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Rk(a,32,d,j,g);zo(a,A,C);Rk(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=ok(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){Xi(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}zo(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)zo(a,21109,1);if(m>>>0>>0&(k|0)>0)while(1){l=ok(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){Xi(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}zo(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Rk(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=ok(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;zo(a,l,1);if(e&(k|0)<1){l=m;break}zo(a,21109,1);l=m}else{if(l>>>0<=F>>>0)break;Xi(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;zo(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Rk(a,48,k+18|0,18,0);zo(a,v,D-v|0)}Rk(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Rk(a,32,d,j,g&-65537);zo(a,A,C);zo(a,c!=c|0.0!=0.0?(F?23012:21089):F?21081:21085,3);Rk(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function Jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0.0;H=u;u=u+512|0;E=H;F=d+c|0;G=0-F|0;B=a+4|0;C=a+100|0;j=b;m=0;a:while(1){switch(j|0){case 46:{A=6;break a}case 48:break;default:{l=0;b=0;p=0;break a}}b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0;m=1;continue}else{j=Pi(a)|0;m=1;continue}}if((A|0)==6){b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0}else j=Pi(a)|0;if((j|0)==48){j=0;b=0;while(1){l=Zn(j|0,b|0,-1,-1)|0;b=I;j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Pi(a)|0;if((j|0)==48)j=l;else{m=1;p=1;break}}}else{l=0;b=0;p=1}}f[E>>2]=0;v=j+-48|0;n=(j|0)==46;b:do if(n|v>>>0<10){A=E+496|0;y=l;z=0;t=0;w=n;o=0;l=0;n=0;c:while(1){do if(w)if(!p){y=z;b=t;p=1}else break c;else{w=Zn(z|0,t|0,1,0)|0;t=I;x=(j|0)!=48;if((l|0)>=125){if(!x){z=w;break}f[A>>2]=f[A>>2]|1;z=w;break}m=E+(l<<2)|0;if(!o)j=v;else j=j+-48+((f[m>>2]|0)*10|0)|0;f[m>>2]=j;o=o+1|0;v=(o|0)==9;z=w;m=1;o=v?0:o;l=(v&1)+l|0;n=x?w:n}while(0);j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Pi(a)|0;v=j+-48|0;w=(j|0)==46;if(!(w|v>>>0<10)){w=y;v=z;A=29;break b}}v=z;p=y;j=(m|0)!=0;A=37}else{w=l;v=0;t=0;o=0;l=0;n=0;A=29}while(0);do if((A|0)==29){z=(p|0)==0;p=z?v:w;b=z?t:b;w=(m|0)!=0;if(!(w&(j|32|0)==101))if((j|0)>-1){j=w;A=37;break}else{m=t;j=w;A=39;break}m=$e(a,g)|0;j=I;if((m|0)==0&(j|0)==-2147483648){if(!g){Lm(a,0);i=0.0;break}if(!(f[C>>2]|0)){m=0;j=0}else{f[B>>2]=(f[B>>2]|0)+-1;m=0;j=0}}y=Zn(m|0,j|0,p|0,b|0)|0;p=v;b=I;m=t;A=41}while(0);if((A|0)==37)if(f[C>>2]|0){f[B>>2]=(f[B>>2]|0)+-1;if(j){y=p;p=v;m=t;A=41}else A=40}else{m=t;A=39}if((A|0)==39)if(j){y=p;p=v;A=41}else A=40;do if((A|0)==40){G=aq()|0;f[G>>2]=22;Lm(a,0);i=0.0}else if((A|0)==41){j=f[E>>2]|0;if(!j){i=+(e|0)*0.0;break}if(((m|0)<0|(m|0)==0&p>>>0<10)&((y|0)==(p|0)&(b|0)==(m|0))?(c|0)>30|(j>>>c|0)==0:0){i=+(e|0)*+(j>>>0);break}a=(d|0)/-2|0;C=((a|0)<0)<<31>>31;if((b|0)>(C|0)|(b|0)==(C|0)&y>>>0>a>>>0){G=aq()|0;f[G>>2]=34;i=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=d+-106|0;C=((a|0)<0)<<31>>31;if((b|0)<(C|0)|(b|0)==(C|0)&y>>>0>>0){G=aq()|0;f[G>>2]=34;i=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(o){if((o|0)<9){m=E+(l<<2)|0;b=o;j=f[m>>2]|0;do{j=j*10|0;b=b+1|0}while((b|0)!=9);f[m>>2]=j}l=l+1|0}if((n|0)<9?(n|0)<=(y|0)&(y|0)<18:0){b=f[E>>2]|0;if((y|0)==9){i=+(e|0)*+(b>>>0);break}if((y|0)<9){i=+(e|0)*+(b>>>0)/+(f[6596+(8-y<<2)>>2]|0);break}a=c+27+(X(y,-3)|0)|0;if((a|0)>30|(b>>>a|0)==0){i=+(e|0)*+(b>>>0)*+(f[6596+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){m=0;b=0}else{t=(y|0)>-1?b:b+9|0;m=f[6596+(8-t<<2)>>2]|0;if(l){o=1e9/(m|0)|0;b=0;n=0;p=0;j=y;do{B=E+(p<<2)|0;C=f[B>>2]|0;a=((C>>>0)/(m>>>0)|0)+n|0;f[B>>2]=a;n=X(o,(C>>>0)%(m>>>0)|0)|0;a=(p|0)==(b|0)&(a|0)==0;j=a?j+-9|0:j;b=a?b+1&127:b;p=p+1|0}while((p|0)!=(l|0));if(n){f[E+(l<<2)>>2]=n;l=l+1|0}}else{b=0;j=y;l=0}m=b;b=0;y=9-t+j|0}d:while(1){v=(y|0)<18;w=(y|0)==18;t=E+(m<<2)|0;while(1){if(!v){if(!w){j=y;break d}if((f[t>>2]|0)>>>0>=9007199){j=18;break d}}n=0;j=l+127|0;x=l;while(1){p=j&127;o=E+(p<<2)|0;j=tn(f[o>>2]|0,0,29)|0;j=Zn(j|0,I|0,n|0,0)|0;l=I;if(l>>>0>0|(l|0)==0&j>>>0>1e9){n=Oo(j|0,l|0,1e9,0)|0;j=Sm(j|0,l|0,1e9,0)|0}else n=0;f[o>>2]=j;a=(p|0)==(m|0);x=(j|0)==0&(((p|0)!=(x+127&127|0)|a)^1)?p:x;if(a)break;else j=p+-1|0}b=b+-29|0;if(n|0)break;else l=x}m=m+127&127;l=x+127&127;j=E+((x+126&127)<<2)|0;if((m|0)==(x|0))f[j>>2]=f[j>>2]|f[E+(l<<2)>>2];else l=x;f[E+(m<<2)>>2]=n;y=y+9|0}e:while(1){x=l+1&127;y=E+((l+127&127)<<2)|0;v=j;while(1){o=(v|0)==18;w=(v|0)>27?9:1;z=m;while(1){j=0;while(1){m=j+z&127;if((m|0)==(l|0)){D=2;A=88;break}m=f[E+(m<<2)>>2]|0;n=f[6628+(j<<2)>>2]|0;if(m>>>0>>0){D=2;A=88;break}if(m>>>0>n>>>0)break;j=j+1|0;if((j|0)>=2){D=j;A=88;break}}if((A|0)==88?(A=0,o&(D|0)==2):0){n=0;i=0.0;break e}b=w+b|0;if((z|0)==(l|0))z=l;else break}t=(1<>>w;m=z;o=0;n=z;j=v;do{B=E+(n<<2)|0;C=f[B>>2]|0;a=(C>>>w)+o|0;f[B>>2]=a;o=X(C&t,p)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(!o){v=j;continue}if((x|0)!=(m|0))break;f[y>>2]=f[y>>2]|1;v=j}f[E+(l<<2)>>2]=o;l=x}while(1){m=n+z&127;j=l+1&127;if((m|0)==(l|0))f[E+(j+-1<<2)>>2]=0;else j=l;i=i*1.0e9+ +((f[E+(m<<2)>>2]|0)>>>0);n=n+1|0;if((n|0)==2)break;else l=j}s=+(e|0);k=s*i;m=b+53|0;p=m-d|0;o=(p|0)<(c|0);n=o?((p|0)>0?p:0):c;if((n|0)<53){J=+Sp(+Qj(1.0,105-n|0),k);q=+bq(k,+Qj(1.0,53-n|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=z+2&127;if((l|0)!=(j|0)){l=f[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=s*.75+i;break}if((z+3&127|0)==(j|0)){i=s*.5+i;break}else{i=s*.75+i;break}}else{if((l|0)==0?(z+3&127|0)==(j|0):0)break;i=s*.25+i}while(0);if((53-n|0)>1?!(+bq(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((m&2147483647|0)>(-2-F|0)){F=!(+K(+i)>=9007199254740992.0);b=((F^1)&1)+b|0;i=F?i:i*.5;if((b+50|0)<=(G|0)?!(k!=0.0&(o&((n|0)!=(p|0)|F))):0)break;G=aq()|0;f[G>>2]=34}while(0);i=+Tp(i,b)}while(0);u=H;return +i}function Kb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=aq()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)zo(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=em(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=em(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(20581+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Re(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Cm(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=21045;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=Dn(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=21045;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?21045:21047):21046;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=21045;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=21045;i=x;break}case 109:{i=aq()|0;i=Fo(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:21055;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Rk(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=Ib(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=21045;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=im(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?21045:21045+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=ok(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=Yh(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=21045;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Eo(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Rk(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Eo(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}zo(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Rk(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Rk(a,32,i,l,n);zo(a,j,k);Rk(a,48,i,l,n^65536);Rk(a,48,q,r,0);zo(a,o,r);Rk(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Re(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function Lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2])>>>0;f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3]>>>0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function Mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function Nb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+48|0;z=B+36|0;v=B+24|0;y=B+12|0;w=B;if(!(ah(a,c,d)|0)){A=0;u=B;return A|0}e=f[c+4>>2]|0;if((d|0)<=-1)Fa(20410,20426,59,20517);g=f[e+8>>2]|0;if(((f[e+12>>2]|0)-g>>2|0)<=(d|0))Fa(20527,20426,60,20517);l=f[g+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){A=0;u=B;return A|0}s=c+48|0;i=f[s>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;Kj(z,17755,17);j=i+16|0;g=f[j>>2]|0;if(g){e=j;c=g;a:while(1){g=c;while(1){if((f[g+16>>2]|0)>=(d|0))break;g=f[g+4>>2]|0;if(!g)break a}c=f[g>>2]|0;if(!c){e=g;break}else e=g}if(((e|0)!=(j|0)?(k=e+20|0,(f[e+16>>2]|0)<=(d|0)):0)?(Kh(k,z)|0)!=0:0)t=Ck(k,z,-1)|0;else A=16}else A=16;if((A|0)==16)t=Ck(i,z,-1)|0;_n(z);if((t|0)<1){A=0;u=B;return A|0}e=f[s>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;Kj(z,17698,19);j=e+16|0;c=f[j>>2]|0;if(c){g=j;b:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break b;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=25}else A=25;if(Kh(e,z)|0){e=f[s>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;Kj(v,17718,18);j=e+16|0;c=f[j>>2]|0;if(c){g=j;c:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break c;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=35}else A=35;p=(Kh(e,v)|0)==0;_n(v);_n(z);if(!p){o=l+24|0;e=b[o>>0]|0;g=e<<24>>24;f[y>>2]=0;p=y+4|0;f[p>>2]=0;f[y+8>>2]=0;do if(e<<24>>24)if(e<<24>>24<0){Wo(y);B=Ha(4)|0;Pp(B);sa(B|0,1096,107)}else{l=g<<2;k=_m(l)|0;f[y>>2]=k;m=k+(g<<2)|0;f[y+8>>2]=m;Xi(k|0,0,l|0)|0;f[p>>2]=m;break}while(0);j=f[s>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;Kj(w,17698,19);k=b[o>>0]|0;m=k<<24>>24;l=f[y>>2]|0;i=j+16|0;e=f[i>>2]|0;if(e){g=i;d:while(1){c=e;while(1){if((f[c+16>>2]|0)>=(d|0))break;e=f[c+4>>2]|0;if(!e)break d;else c=e}e=f[c>>2]|0;if(!e){g=c;break}else g=c}if(((g|0)!=(i|0)?(f[g+16>>2]|0)<=(d|0):0)?(q=g+20|0,(Kh(q,w)|0)!=0):0){e=Dg(q,w)|0;if((e|0)!=(g+24|0)){dl(z,e+28|0);q=b[z+11>>0]|0;e=q<<24>>24<0;if((e?f[z+4>>2]|0:q&255)|0)e:do if(k<<24>>24>0){e=e?f[z>>2]|0:z;g=0;do{h=$(Gp(e,v));q=e;e=f[v>>2]|0;if((q|0)==(e|0))break e;n[l+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(m|0))}while(0);_n(z)}}else A=57}else A=57;if((A|0)==57?(r=Dg(j,w)|0,(r|0)!=(j+4|0)):0){dl(z,r+28|0);r=b[z+11>>0]|0;e=r<<24>>24<0;if((e?f[z+4>>2]|0:r&255)|0)f:do if(k<<24>>24>0){e=e?f[z>>2]|0:z;g=0;do{h=$(Gp(e,v));r=e;e=f[v>>2]|0;if((r|0)==(e|0))break f;n[l+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(m|0))}while(0);_n(z)}_n(w);i=f[s>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;Kj(z,17718,18);j=i+16|0;g=f[j>>2]|0;if(g){e=j;g:while(1){c=g;while(1){if((f[c+16>>2]|0)>=(d|0))break;g=f[c+4>>2]|0;if(!g)break g;else c=g}g=f[c>>2]|0;if(!g){e=c;break}else e=c}if(((e|0)!=(j|0)?(x=e+20|0,(f[e+16>>2]|0)<=(d|0)):0)?(Kh(x,z)|0)!=0:0)h=$(wk(x,z,$(1.0)));else A=74}else A=74;if((A|0)==74)h=$(wk(i,z,$(1.0)));_n(z);ul(a+40|0,t,f[y>>2]|0,b[o>>0]|0,h);e=f[y>>2]|0;if(e|0){g=f[p>>2]|0;if((g|0)!=(e|0))f[p>>2]=g+(~((g+-4-e|0)>>>2)<<2);mq(e)}A=1;u=B;return A|0}}else _n(z);Md(a+40|0,l,t)|0;A=1;u=B;return A|0}function Ob(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+352|0;if(b[k>>0]|0?(z=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))zi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{Pg(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))Fa(20527,20426,60,20517);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=_m(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3436;n=h+12|0;f[n>>2]=3460;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3460;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3460;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Kg(x+8|0,g,y);Oa[f[(f[x>>2]|0)+8>>2]&127](x);sf(v,x);sf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;eg(g,y)|0;f[y>>2]=3460;d=f[y+20>>2]|0;if(d|0)mq(d);d=f[y+8>>2]|0;if(d|0)mq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3460;d=f[v+20>>2]|0;if(d|0)mq(d);d=f[v+8>>2]|0;if(d|0)mq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];eg(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;vf(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}f[r>>2]=3460;d=f[w+24>>2]|0;if(d|0)mq(d);d=f[w+12>>2]|0;if(d|0)mq(d);f[x>>2]=3460;d=f[x+20>>2]|0;if(d|0)mq(d);d=f[x+8>>2]|0;if(d|0)mq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((bj(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Oe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Kd(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=_m(76)|0;f[A>>2]=h;ml(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))zi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else pg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Pb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+288|0;if(b[k>>0]|0?(z=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))zi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{Pg(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))Fa(20527,20426,60,20517);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=_m(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3436;n=h+12|0;f[n>>2]=3460;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3460;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3460;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Kg(x+8|0,g,y);Oa[f[(f[x>>2]|0)+8>>2]&127](x);sf(v,x);sf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;eg(g,y)|0;f[y>>2]=3460;d=f[y+20>>2]|0;if(d|0)mq(d);d=f[y+8>>2]|0;if(d|0)mq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3460;d=f[v+20>>2]|0;if(d|0)mq(d);d=f[v+8>>2]|0;if(d|0)mq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];eg(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;vf(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}f[r>>2]=3460;d=f[w+24>>2]|0;if(d|0)mq(d);d=f[w+12>>2]|0;if(d|0)mq(d);f[x>>2]=3460;d=f[x+20>>2]|0;if(d|0)mq(d);d=f[x+8>>2]|0;if(d|0)mq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((bj(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Oe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Kd(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=_m(76)|0;f[A>>2]=h;ml(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))zi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else pg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=Ka,m=Ka,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+16|0;B=F;x=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[x>>2]=$(1.0);E=a+20|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[a+36>>2]=$(1.0);d=f[c+8>>2]|0;a:do if(d|0){z=a+4|0;A=a+12|0;y=a+8|0;e=d;w=d;while(1){v=e+8|0;s=b[v+11>>0]|0;r=s<<24>>24<0;t=r?f[v>>2]|0:v;s=r?f[e+12>>2]|0:s&255;if(s>>>0>3){e=t;d=s;g=s;while(1){r=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;d=(X(r>>>24^r,1540483477)|0)^(X(d,1540483477)|0);g=g+-4|0;if(g>>>0<=3)break;else e=e+4|0}r=s+-4|0;e=r&-4;g=t+(e+4)|0;e=r-e|0}else{g=t;d=s;e=s}switch(e|0){case 3:{d=h[g+2>>0]<<16^d;D=8;break}case 2:{D=8;break}case 1:{D=9;break}default:{}}if((D|0)==8){d=h[g+1>>0]<<8^d;D=9}if((D|0)==9){D=0;d=X(h[g>>0]^d,1540483477)|0}r=X(d>>>13^d,1540483477)|0;r=r>>>15^r;i=f[z>>2]|0;q=(i|0)==0;b:do if(!q){p=i+-1|0;g=(p&i|0)==0;if(g)e=r&p;else e=(r>>>0)%(i>>>0)|0;d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(C=f[d>>2]|0,(C|0)!=0):0){d=(s|0)==0;if(g){if(d){d=C;while(1){if((f[d+4>>2]&p|0)!=(e|0)){D=43;break b}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break b;d=f[d>>2]|0;if(!d){D=43;break b}}}else o=C;while(1){if((f[o+4>>2]&p|0)!=(e|0)){D=43;break b}d=o+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[o+12>>2]|0:j)|0)==(s|0)){g=f[d>>2]|0;if(k)if(!(il(g,t,s)|0))break b;else break;if((g&255)<<24>>24==(b[t>>0]|0)){g=t;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){D=43;break}}}else{if(d){d=C;while(1){if((((f[d+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){D=43;break b}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break b;d=f[d>>2]|0;if(!d){D=43;break b}}}else o=C;while(1){if((((f[o+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){D=43;break b}d=o+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[o+12>>2]|0:j)|0)==(s|0)){g=f[d>>2]|0;if(k)if(!(il(g,t,s)|0))break b;else break;if((g&255)<<24>>24==(b[t>>0]|0)){g=t;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){D=43;break}}}}else D=43}else{e=0;D=43}while(0);if((D|0)==43){D=0;Qh(B,a,r,v);m=$(((f[A>>2]|0)+1|0)>>>0);G=$(i>>>0);l=$(n[x>>2]);do if(q|m>$(G*l)){d=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(m/l)))>>>0;Rh(a,d>>>0>>0?e:d);d=f[z>>2]|0;e=d+-1|0;if(!(e&d)){i=d;e=e&r;break}else{i=d;e=(r>>>0)%(d>>>0)|0;break}}while(0);d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if(!d){f[f[B>>2]>>2]=f[y>>2];f[y>>2]=f[B>>2];f[(f[a>>2]|0)+(e<<2)>>2]=y;g=f[B>>2]|0;d=f[g>>2]|0;if(d|0){d=f[d+4>>2]|0;e=i+-1|0;if(!(e&i))d=d&e;else d=(d>>>0)%(i>>>0)|0;f[(f[a>>2]|0)+(d<<2)>>2]=g}}else{f[f[B>>2]>>2]=f[d>>2];f[d>>2]=f[B>>2]}f[A>>2]=(f[A>>2]|0)+1}d=f[w>>2]|0;if(!d)break a;else{e=d;w=d}}}while(0);d=f[c+28>>2]|0;if(!d){u=F;return}do{D=d;a=_m(40)|0;Qb(a,f[D+20>>2]|0);D=zc(E,D+8|0)|0;k=f[D>>2]|0;f[D>>2]=a;if(k|0){e=f[k+28>>2]|0;if(e|0)do{D=e;e=f[e>>2]|0;Zh(D+8|0);mq(D)}while((e|0)!=0);D=k+20|0;e=f[D>>2]|0;f[D>>2]=0;if(e|0)mq(e);e=f[k+8>>2]|0;if(e|0)do{j=e;e=f[e>>2]|0;g=f[j+20>>2]|0;if(g|0){i=j+24|0;if((f[i>>2]|0)!=(g|0))f[i>>2]=g;mq(g)}_n(j+8|0);mq(j)}while((e|0)!=0);e=f[k>>2]|0;f[k>>2]=0;if(e|0)mq(e);mq(k)}d=f[d>>2]|0}while((d|0)!=0);u=F;return}function Rb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=a+8|0;f[J>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{H=f[b+(i<<2)>>2]|0;G=(H|0)<(g|0);g=G?H:g;h=G?h:(H|0)>(h|0)?H:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;H=1-g+h|0;f[a+20>>2]=H;g=(H|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(H&1))f[h>>2]=g+-1}r=f[a+48>>2]|0;s=f[a+52>>2]|0;x=e>>>0>1073741823?-1:e<<2;G=jq(x)|0;Xi(G|0,0,x|0)|0;H=jq(x)|0;Xi(H|0,0,x|0)|0;x=a+56|0;i=f[x>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){w=(e|0)>0;A=a+16|0;v=a+32|0;C=a+12|0;B=a+28|0;z=a+20|0;y=a+24|0;u=r+12|0;t=e<<2;p=j>>2;while(1){q=p+-1|0;if(h-g>>2>>>0<=q>>>0){Vo(i);g=f[i>>2]|0}o=f[g+(q<<2)>>2]|0;if(w)Xi(G|0,0,t|0)|0;if((o|0)>-1){n=f[u>>2]|0;m=o;d=0;while(1){h=f[n+(m<<2)>>2]|0;if((h|0)>=0){i=f[r>>2]|0;j=f[s>>2]|0;l=f[j+(f[i+(h<<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=f[i+(g<<2)>>2]|0;k=f[j+(g<<2)>>2]|0;g=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;g=f[j+(g<<2)>>2]|0;if((l|0)<(q|0)&(k|0)<(q|0)&(g|0)<(q|0)){j=X(l,e)|0;i=X(k,e)|0;h=X(g,e)|0;if(w){g=0;do{f[H+(g<<2)>>2]=(f[b+(g+h<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(w){g=0;do{l=G+(g<<2)|0;f[l>>2]=(f[l>>2]|0)+(f[H+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}i=d+1|0}else i=d}else i=d;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else d=i}h=X(q,e)|0;if(i){if(w){g=0;do{o=G+(g<<2)|0;f[o>>2]=(f[o>>2]|0)/(i|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[J>>2]|0;if((g|0)>0){k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[A>>2]|0;if((g|0)>(h|0)){g=f[v>>2]|0;f[g+(j<<2)>>2]=h}else{n=f[C>>2]|0;o=f[v>>2]|0;f[o+(j<<2)>>2]=(g|0)<(n|0)?n:g;g=o}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[v>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[B>>2]|0)){if((g|0)>(f[y>>2]|0)){g=g-(f[z>>2]|0)|0;K=69}}else{g=(f[z>>2]|0)+g|0;K=69}if((K|0)==69){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0))}}else{I=h;K=42}}else{I=X(q,e)|0;K=42}if((K|0)==42?(K=0,E=b+(I<<2)|0,F=c+(I<<2)|0,D=f[J>>2]|0,(D|0)>0):0){h=D;k=0;j=b+((X(p+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[A>>2]|0;if((g|0)>(h|0)){g=f[v>>2]|0;f[g+(i<<2)>>2]=h}else{o=f[C>>2]|0;p=f[v>>2]|0;f[p+(i<<2)>>2]=(g|0)<(o|0)?o:g;g=p}i=i+1|0}while((i|0)<(f[J>>2]|0))}else g=f[v>>2]|0;h=(f[E+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=F+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[B>>2]|0)){if((h|0)>(f[y>>2]|0)){h=h-(f[z>>2]|0)|0;K=54}}else{h=(f[z>>2]|0)+h|0;K=54}if((K|0)==54){K=0;f[i>>2]=h}k=k+1|0;h=f[J>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((q|0)<=1)break a;i=f[x>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;p=q}}while(0);if((e|0)>0)Xi(G|0,0,e<<2|0)|0;g=f[J>>2]|0;if((g|0)<=0){kq(H);kq(G);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{e=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(e|0)?e:g;g=a}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;K=84}}else{g=(f[m>>2]|0)+g|0;K=84}if((K|0)==84){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0));kq(H);kq(G);return 1}function Sb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=a+8|0;f[M>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{J=f[b+(i<<2)>>2]|0;I=(J|0)<(g|0);g=I?J:g;h=I?h:(J|0)>(h|0)?J:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;J=1-g+h|0;f[a+20>>2]=J;g=(J|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(J&1))f[h>>2]=g+-1}p=f[a+48>>2]|0;q=f[a+52>>2]|0;w=e>>>0>1073741823?-1:e<<2;I=jq(w)|0;Xi(I|0,0,w|0)|0;J=jq(w)|0;Xi(J|0,0,w|0)|0;w=a+56|0;i=f[w>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){u=(e|0)>0;z=a+16|0;t=a+32|0;B=a+12|0;A=a+28|0;y=a+20|0;x=a+24|0;v=p+64|0;s=p+28|0;r=e<<2;n=j>>2;while(1){o=n+-1|0;if(h-g>>2>>>0<=o>>>0){Vo(i);g=f[i>>2]|0}m=f[g+(o<<2)>>2]|0;if(u)Xi(I|0,0,r|0)|0;if((m|0)>-1){d=f[p>>2]|0;l=m;k=0;do{if(((f[d+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(L=f[(f[(f[v>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(L|0)>=0):0)?(E=f[s>>2]|0,j=f[q>>2]|0,C=f[j+(f[E+(L<<2)>>2]<<2)>>2]|0,D=L+1|0,D=f[j+(f[E+((((D|0)%3|0|0)==0?L+-2|0:D)<<2)>>2]<<2)>>2]|0,E=f[j+(f[E+((((L>>>0)%3|0|0)==0?2:-1)+L<<2)>>2]<<2)>>2]|0,(C|0)<(o|0)&(D|0)<(o|0)&(E|0)<(o|0)):0){h=X(C,e)|0;i=X(D,e)|0;j=X(E,e)|0;if(u){g=0;do{f[J+(g<<2)>>2]=(f[b+(g+j<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+h<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(u){g=0;do{j=I+(g<<2)|0;f[j>>2]=(f[j>>2]|0)+(f[J+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}k=k+1|0}g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if(!(f[d+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[v>>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);l=(g|0)==(m|0)?-1073741824:g}while((l|0)>-1);h=X(o,e)|0;if(k){if(u){g=0;do{m=I+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(k|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[M>>2]|0;if((g|0)>0){k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[z>>2]|0;if((g|0)>(h|0)){g=f[t>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[B>>2]|0;m=f[t>>2]|0;f[m+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=m}j=j+1|0}while((j|0)<(f[M>>2]|0));i=g}else i=f[t>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[A>>2]|0)){if((g|0)>(f[x>>2]|0)){g=g-(f[y>>2]|0)|0;N=67}}else{g=(f[y>>2]|0)+g|0;N=67}if((N|0)==67){N=0;f[h>>2]=g}k=k+1|0;g=f[M>>2]|0}while((k|0)<(g|0))}}else{K=h;N=40}}else{K=X(o,e)|0;N=40}if((N|0)==40?(N=0,G=b+(K<<2)|0,H=c+(K<<2)|0,F=f[M>>2]|0,(F|0)>0):0){h=F;k=0;j=b+((X(n+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[z>>2]|0;if((g|0)>(h|0)){g=f[t>>2]|0;f[g+(i<<2)>>2]=h}else{m=f[B>>2]|0;n=f[t>>2]|0;f[n+(i<<2)>>2]=(g|0)<(m|0)?m:g;g=n}i=i+1|0}while((i|0)<(f[M>>2]|0))}else g=f[t>>2]|0;h=(f[G+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=H+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[A>>2]|0)){if((h|0)>(f[x>>2]|0)){h=h-(f[y>>2]|0)|0;N=52}}else{h=(f[y>>2]|0)+h|0;N=52}if((N|0)==52){N=0;f[i>>2]=h}k=k+1|0;h=f[M>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((o|0)<=1)break a;i=f[w>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;n=o}}while(0);if((e|0)>0)Xi(I|0,0,e<<2|0)|0;g=f[M>>2]|0;if((g|0)<=0){kq(J);kq(I);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{L=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(L|0)?L:g;g=a}j=j+1|0}while((j|0)<(f[M>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;N=82}}else{g=(f[m>>2]|0)+g|0;N=82}if((N|0)==82){N=0;f[h>>2]=g}k=k+1|0;g=f[M>>2]|0}while((k|0)<(g|0));kq(J);kq(I);return 1}function Tb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;P=u;u=u+48|0;O=P+12|0;K=P+32|0;N=P;G=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[G>>2]=$(1.0);M=a+80|0;yk(N,f[M>>2]|0);h=f[M>>2]|0;a:do if((h|0)>0){D=c+48|0;E=c+40|0;B=K+2|0;C=K+4|0;x=O+4|0;A=O+12|0;y=O+8|0;F=a+40|0;z=a+64|0;w=f[e>>2]|0;r=0;v=0;t=0;while(1){l=w+v|0;j=D;k=f[j>>2]|0;j=f[j+4>>2]|0;s=E;l=Zm(f[s>>2]|0,f[s+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;j=Zn(l|0,I|0,k|0,j|0)|0;j=(f[f[c>>2]>>2]|0)+j|0;b[K>>0]=b[j>>0]|0;b[K+1>>0]=b[j+1>>0]|0;b[K+2>>0]=b[j+2>>0]|0;b[K+3>>0]=b[j+3>>0]|0;b[K+4>>0]=b[j+4>>0]|0;b[K+5>>0]=b[j+5>>0]|0;j=d[K>>1]|0;k=d[B>>1]|0;l=d[C>>1]|0;s=(((j^318)&65535)+239^k&65535)+239^l&65535;q=(r|0)==0;b:do if(!q){h=r+-1|0;g=(h&r|0)==0;if(g)i=s&h;else i=(s>>>0)%(r>>>0)|0;e=f[(f[O>>2]|0)+(i<<2)>>2]|0;do if(e|0?(J=f[e>>2]|0,J|0):0){c:do if(g){e=J;while(1){if((f[e+4>>2]&h|0)!=(i|0)){i=22;break c}if(((d[e+8>>1]|0)==j<<16>>16?(d[e+10>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0){i=21;break c}e=f[e>>2]|0;if(!e){i=22;break}}}else{e=J;while(1){if((((f[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(i|0)){i=22;break c}if(((d[e+8>>1]|0)==j<<16>>16?(d[e+10>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0){i=21;break c}e=f[e>>2]|0;if(!e){i=22;break}}}while(0);if((i|0)==21){i=0;f[(f[N>>2]|0)+(v<<2)>>2]=f[e+16>>2];g=t;break b}else if((i|0)==22)if(q){e=0;i=39;break b}else break}while(0);i=r+-1|0;h=(i&r|0)==0;if(h)e=i&s;else e=(s>>>0)%(r>>>0)|0;g=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(H=f[g>>2]|0,(H|0)!=0):0)if(h){g=H;while(1){if((f[g+4>>2]&i|0)!=(e|0)){i=39;break b}if(((d[g+8>>1]|0)==j<<16>>16?(d[g+10>>1]|0)==k<<16>>16:0)?(d[g+12>>1]|0)==l<<16>>16:0){i=52;break b}g=f[g>>2]|0;if(!g){i=39;break}}}else{g=H;while(1){if((((f[g+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(e|0)){i=39;break b}if(((d[g+8>>1]|0)==j<<16>>16?(d[g+10>>1]|0)==k<<16>>16:0)?(d[g+12>>1]|0)==l<<16>>16:0){i=52;break b}g=f[g>>2]|0;if(!g){i=39;break}}}else i=39}else{e=0;i=39}while(0);if((i|0)==39){i=0;m=_m(20)|0;d[m+8>>1]=j;d[m+10>>1]=k;d[m+12>>1]=l;f[m+16>>2]=t;f[m+4>>2]=s;f[m>>2]=0;p=$(((f[A>>2]|0)+1|0)>>>0);Q=$(r>>>0);o=$(n[G>>2]);do if(q|p>$(Q*o)){e=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;g=~~$(W($(p/o)))>>>0;xh(O,e>>>0>>0?g:e);e=f[x>>2]|0;g=e+-1|0;if(!(g&e)){h=e;e=g&s;break}else{h=e;e=(s>>>0)%(e>>>0)|0;break}}else h=r;while(0);g=(f[O>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[m>>2]=f[y>>2];f[y>>2]=m;f[g>>2]=y;e=f[m>>2]|0;if(e|0){e=f[e+4>>2]|0;g=h+-1|0;if(!(g&h))e=e&g;else e=(e>>>0)%(h>>>0)|0;e=(f[O>>2]|0)+(e<<2)|0;i=50}}else{f[m>>2]=f[e>>2];i=50}if((i|0)==50)f[e>>2]=m;f[A>>2]=(f[A>>2]|0)+1;i=52}if((i|0)==52){s=F;g=f[s>>2]|0;s=Zm(g|0,f[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Eg((f[f[z>>2]>>2]|0)+s|0,K|0,g|0)|0;f[(f[N>>2]|0)+(v<<2)>>2]=t;g=t+1|0}e=v+1|0;h=f[M>>2]|0;if((e|0)>=(h|0)){m=g;break a}r=f[x>>2]|0;v=e;t=g}}else m=0;while(0);if((m|0)!=(h|0)){l=a+84|0;if(!(b[l>>0]|0)){h=f[a+68>>2]|0;e=(f[a+72>>2]|0)-h|0;if((e|0)>0){i=f[N>>2]|0;g=e>>2;e=0;do{a=h+(e<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;g=f[i>>2]|0;e=f[j>>2]|0;k=g-e>>2;if(h>>>0<=k>>>0){if(h>>>0>>0?(L=e+(h<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}else{Pg(j,h-k|0,1204);h=f[M>>2]|0}if((h|0)>0){i=f[N>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[i+(g<<2)>>2];g=g+1|0}while((g|0)<(h|0))}}f[M>>2]=m}h=f[N>>2]|0;if(h|0){g=N+4|0;e=f[g>>2]|0;if((e|0)!=(h|0))f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);mq(h)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;mq(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return m|0}mq(e);u=P;return m|0}function Ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+12|0;J=O+32|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);g=f[L>>2]|0;a:do if((g|0)>0){C=c+48|0;D=c+40|0;A=J+1|0;B=J+2|0;w=N+4|0;z=N+12|0;x=N+8|0;E=a+40|0;y=a+64|0;v=f[d>>2]|0;q=0;t=0;s=0;while(1){k=v+t|0;i=C;j=f[i>>2]|0;i=f[i+4>>2]|0;r=D;k=Zm(f[r>>2]|0,f[r+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;i=Zn(k|0,I|0,j|0,i|0)|0;i=(f[f[c>>2]>>2]|0)+i|0;b[J>>0]=b[i>>0]|0;b[J+1>>0]=b[i+1>>0]|0;b[J+2>>0]=b[i+2>>0]|0;i=b[J>>0]|0;j=b[A>>0]|0;k=b[B>>0]|0;r=((i&255^318)+239^j&255)+239^k&255;p=(q|0)==0;b:do if(!p){g=q+-1|0;e=(g&q|0)==0;if(e)h=r&g;else h=(r>>>0)%(q>>>0)|0;d=f[(f[N>>2]|0)+(h<<2)>>2]|0;do if(d|0?(H=f[d>>2]|0,H|0):0){c:do if(e){d=H;while(1){if((f[d+4>>2]&g|0)!=(h|0)){h=22;break c}if(((b[d+8>>0]|0)==i<<24>>24?(b[d+9>>0]|0)==j<<24>>24:0)?(b[d+10>>0]|0)==k<<24>>24:0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}else{d=H;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(h|0)){h=22;break c}if(((b[d+8>>0]|0)==i<<24>>24?(b[d+9>>0]|0)==j<<24>>24:0)?(b[d+10>>0]|0)==k<<24>>24:0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}while(0);if((h|0)==21){h=0;f[(f[M>>2]|0)+(t<<2)>>2]=f[d+12>>2];e=s;break b}else if((h|0)==22)if(p){d=0;h=39;break b}else break}while(0);h=q+-1|0;g=(h&q|0)==0;if(g)d=h&r;else d=(r>>>0)%(q>>>0)|0;e=f[(f[N>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0)if(g){e=G;while(1){if((f[e+4>>2]&h|0)!=(d|0)){h=39;break b}if(((b[e+8>>0]|0)==i<<24>>24?(b[e+9>>0]|0)==j<<24>>24:0)?(b[e+10>>0]|0)==k<<24>>24:0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else{e=G;while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(d|0)){h=39;break b}if(((b[e+8>>0]|0)==i<<24>>24?(b[e+9>>0]|0)==j<<24>>24:0)?(b[e+10>>0]|0)==k<<24>>24:0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else h=39}else{d=0;h=39}while(0);if((h|0)==39){h=0;l=_m(16)|0;b[l+8>>0]=i;b[l+9>>0]=j;b[l+10>>0]=k;f[l+12>>2]=s;f[l+4>>2]=r;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);P=$(q>>>0);m=$(n[F>>2]);do if(p|o>$(P*m)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(o/m)))>>>0;Eh(N,d>>>0>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=q;while(0);e=(f[N>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[x>>2];f[x>>2]=l;f[e>>2]=x;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[N>>2]|0)+(d<<2)|0;h=50}}else{f[l>>2]=f[d>>2];h=50}if((h|0)==50)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;h=52}if((h|0)==52){r=E;e=f[r>>2]|0;r=Zm(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+r|0,J|0,e|0)|0;f[(f[M>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[L>>2]|0;if((d|0)>=(g|0)){l=e;break a}q=f[w>>2]|0;t=d;s=e}}else l=0;while(0);if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[M>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=d+(g<<2)|0,(e|0)!=(K|0)):0)f[h>>2]=e+(~((e+-4-K|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[L>>2]=l}g=f[M>>2]|0;if(g|0){e=M+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;mq(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}mq(d);u=O;return l|0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+24|0;J=O+12|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);g=f[L>>2]|0;a:do if((g|0)>0){C=c+48|0;D=c+40|0;A=J+4|0;B=J+8|0;w=N+4|0;z=N+12|0;x=N+8|0;E=a+40|0;y=a+64|0;v=f[d>>2]|0;r=0;t=0;s=0;while(1){g=v+t|0;e=C;d=f[e>>2]|0;e=f[e+4>>2]|0;q=D;g=Zm(f[q>>2]|0,f[q+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Zn(g|0,I|0,d|0,e|0)|0;d=J;e=(f[f[c>>2]>>2]|0)+e|0;g=d+12|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));i=f[J>>2]|0;j=f[A>>2]|0;k=f[B>>2]|0;q=((i^318)+239^j)+239^k;p=(r|0)==0;b:do if(!p){g=r+-1|0;e=(g&r|0)==0;if(e)h=q&g;else h=(q>>>0)%(r>>>0)|0;d=f[(f[N>>2]|0)+(h<<2)>>2]|0;do if(d|0?(H=f[d>>2]|0,H|0):0){c:do if(e){d=H;while(1){if((f[d+4>>2]&g|0)!=(h|0)){h=22;break c}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}else{d=H;while(1){if((((f[d+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(h|0)){h=22;break c}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}while(0);if((h|0)==21){h=0;f[(f[M>>2]|0)+(t<<2)>>2]=f[d+20>>2];e=s;break b}else if((h|0)==22)if(p){d=0;h=39;break b}else break}while(0);h=r+-1|0;g=(h&r|0)==0;if(g)d=h&q;else d=(q>>>0)%(r>>>0)|0;e=f[(f[N>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0)if(g){e=G;while(1){if((f[e+4>>2]&h|0)!=(d|0)){h=39;break b}if(((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else{e=G;while(1){if((((f[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(d|0)){h=39;break b}if(((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else h=39}else{d=0;h=39}while(0);if((h|0)==39){h=0;l=_m(24)|0;f[l+8>>2]=i;f[l+12>>2]=j;f[l+16>>2]=k;f[l+20>>2]=s;f[l+4>>2]=q;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);P=$(r>>>0);m=$(n[F>>2]);do if(p|o>$(P*m)){d=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;e=~~$(W($(o/m)))>>>0;Bh(N,d>>>0>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&q;break}else{g=d;d=(q>>>0)%(d>>>0)|0;break}}else g=r;while(0);e=(f[N>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[x>>2];f[x>>2]=l;f[e>>2]=x;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[N>>2]|0)+(d<<2)|0;h=50}}else{f[l>>2]=f[d>>2];h=50}if((h|0)==50)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;h=52}if((h|0)==52){r=E;e=f[r>>2]|0;r=Zm(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+r|0,J|0,e|0)|0;f[(f[M>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[L>>2]|0;if((d|0)>=(g|0)){l=e;break a}r=f[w>>2]|0;t=d;s=e}}else l=0;while(0);if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[M>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=d+(g<<2)|0,(e|0)!=(K|0)):0)f[h>>2]=e+(~((e+-4-K|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[L>>2]=l}g=f[M>>2]|0;if(g|0){e=M+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;mq(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}mq(d);u=O;return l|0}function Wb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;v=B+4|0;w=B;o=B+16|0;z=a+52|0;p=f[z>>2]|0;p=(f[p+100>>2]|0)-(f[p+96>>2]|0)|0;A=(p|0)/12|0;x=a+44|0;Mh(A,f[x>>2]|0)|0;Mh(f[(f[z>>2]|0)+80>>2]|0,f[x>>2]|0)|0;q=f[a+48>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;Kj(v,18858,21);q=Pj(q,v,0)|0;_n(v);c=f[x>>2]|0;if(q){b[o>>0]=0;A=c+16|0;z=f[A+4>>2]|0;if(!((z|0)>0|(z|0)==0&(f[A>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,o+1|0)|0}Ke(a)|0;u=B;return 1}b[o>>0]=1;q=c+16|0;m=f[q+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[q>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,o+1|0)|0}q=f[z>>2]|0;m=f[q+80>>2]|0;if((m|0)<256){if((p|0)<=0){u=B;return 1}h=o+1|0;j=o+1|0;i=o+1|0;c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){e=c;k=0}else Fa(19877,19795,64,19872);while(1){a=f[x>>2]|0;b[o>>0]=f[e+(k*12|0)>>2];c=a+16|0;g=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[a+4>>2];f[v>>2]=f[w>>2];Ie(a,v,o,i)|0;a=f[x>>2]|0;g=a+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[o>>0]=f[e+(k*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[a+4>>2];f[v>>2]=f[w>>2];Ie(a,v,o,j)|0;a=f[x>>2]|0;g=a+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[o>>0]=f[e+(k*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[a+4>>2];f[v>>2]=f[w>>2];Ie(a,v,o,h)|0}k=k+1|0;if((k|0)>=(A|0)){c=44;break}g=f[z>>2]|0;e=f[g+96>>2]|0;if((k|0)>=(((f[g+100>>2]|0)-e|0)/12|0|0)){c=10;break}}if((c|0)==10)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}}if((m|0)<65536){if((p|0)<=0){u=B;return 1}j=o+2|0;h=o+2|0;i=o+2|0;c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){l=c;n=0}else Fa(19877,19795,64,19872);while(1){g=l;c=f[x>>2]|0;d[o>>1]=f[g+(n*12|0)>>2];a=c+16|0;e=f[a>>2]|0;a=f[a+4>>2]|0;if(!((a|0)>0|(a|0)==0&e>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,i)|0;c=f[x>>2]|0;e=c+16|0;a=f[e+4>>2]|0;e=f[e>>2]|0}d[o>>1]=f[g+(n*12|0)+4>>2];if(!((a|0)>0|(a|0)==0&e>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,h)|0;c=f[x>>2]|0;e=c+16|0;a=f[e+4>>2]|0;e=f[e>>2]|0}d[o>>1]=f[g+(n*12|0)+8>>2];if(!((a|0)>0|(a|0)==0&e>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,j)|0}n=n+1|0;if((n|0)>=(A|0)){c=44;break}k=f[z>>2]|0;l=f[k+96>>2]|0;if((n|0)>=(((f[k+100>>2]|0)-l|0)/12|0|0)){c=22;break}}if((c|0)==22)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}}a=(p|0)>0;if((m|0)<2097152){if(!a){u=B;return 1}c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){r=c;s=0}else Fa(19877,19795,64,19872);while(1){Mh(f[r+(s*12|0)>>2]|0,f[x>>2]|0)|0;Mh(f[r+(s*12|0)+4>>2]|0,f[x>>2]|0)|0;Mh(f[r+(s*12|0)+8>>2]|0,f[x>>2]|0)|0;s=s+1|0;if((s|0)>=(A|0)){c=44;break}p=f[z>>2]|0;r=f[p+96>>2]|0;if((s|0)>=(((f[p+100>>2]|0)-r|0)/12|0|0)){c=36;break}}if((c|0)==36)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}}if(!a){u=B;return 1}c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){t=c;y=0}else Fa(19877,19795,64,19872);while(1){a=t+(y*12|0)|0;c=f[x>>2]|0;t=c+16|0;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,a,a+12|0)|0}y=y+1|0;if((y|0)>=(A|0)){c=44;break}s=f[z>>2]|0;t=f[s+96>>2]|0;if((y|0)>=(((f[s+100>>2]|0)-t|0)/12|0|0)){c=39;break}}if((c|0)==39)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}return 0}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;M=u;u=u+48|0;L=M+24|0;J=M+12|0;z=M;if(!b){L=0;u=M;return L|0}I=a+12|0;A=a+4|0;k=f[A>>2]|0;c=f[a>>2]|0;i=k-c>>2;g=a+16|0;e=f[g>>2]|0;d=f[I>>2]|0;j=e-d>>2;l=c;if(i>>>0<=j>>>0)if(i>>>0>>0?(h=d+(i<<2)|0,(e|0)!=(h|0)):0){f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);g=c}else g=c;else{Pg(I,i-j|0,6012);l=f[a>>2]|0;g=l;k=f[A>>2]|0}f[L>>2]=0;H=L+4|0;f[H>>2]=0;f[L+8>>2]=0;e=k-g|0;d=e>>2;c=L+8|0;do if(d)if(d>>>0>1073741823){M=Ha(4)|0;Pp(M);sa(M|0,1096,107)}else{i=_m(e)|0;h=i;f[L>>2]=h;f[H>>2]=h;f[c>>2]=i+(d<<2);break}else{i=0;h=0}while(0);if((e|0)>0){v=i;w=k;x=g;d=h;o=h;p=i;q=i;r=i;s=h;j=h;n=g;e=i;t=0;while(1){l=f[l+(t<<2)>>2]|0;c=f[H>>2]|0;if((l|0)<(c-d>>2|0)){g=v;h=w;i=x;m=e;c=n}else{e=l+1|0;f[J>>2]=0;g=c-d>>2;if(e>>>0<=g>>>0)if(e>>>0>>0?(y=d+(e<<2)|0,(c|0)!=(y|0)):0){f[H>>2]=c+(~((c+-4-y|0)>>>2)<<2);d=v;e=w;c=x}else{d=v;e=w;c=x}else{Pg(L,e-g|0,J);d=f[L>>2]|0;e=f[A>>2]|0;c=f[a>>2]|0}j=d;g=d;h=e;i=c;o=j;p=d;q=d;r=d;s=j;m=d;k=e}G=m+(l<<2)|0;f[G>>2]=(f[G>>2]|0)+1;t=t+1|0;if((t|0)>=(k-c>>2|0)){l=s;i=q;break}else{v=g;w=h;x=i;l=c;d=m;n=c;e=m}}}else{c=g;j=h;l=h;r=i;o=h;p=i}c=k-c|0;h=c>>2;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;if(!h){d=0;e=0}else{if(h>>>0>536870911){Wo(J);M=Ha(4)|0;Pp(M);sa(M|0,1096,107)}g=_m(c<<1)|0;f[G>>2]=g;f[J>>2]=g;f[J+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){F=e;f[F>>2]=-1;f[F+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[G>>2]=g+(h<<3);d=g;e=g}F=f[H>>2]|0;g=F-j|0;c=g>>2;f[z>>2]=0;E=z+4|0;f[E>>2]=0;f[z+8>>2]=0;do if(c)if(c>>>0>1073741823){Wo(z);M=Ha(4)|0;Pp(M);sa(M|0,1096,107)}else{D=_m(g)|0;f[z>>2]=D;C=D+(c<<2)|0;f[z+8>>2]=C;Xi(D|0,0,g|0)|0;f[E>>2]=C;B=D;break}else{B=0;C=0;D=0}while(0);if((F|0)!=(l|0)){h=F-r>>2;c=0;g=0;do{f[B+(c<<2)>>2]=g;g=(f[r+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}z=f[a>>2]|0;c=(f[A>>2]|0)-z|0;A=z;if((c|0)>0){z=a+40|0;y=c>>2;k=i;m=B;j=0;v=e;t=e;w=e;s=e;x=e;while(1){i=(j|0)<0;c=j+1|0;if(!i){c=((c|0)%3|0|0)==0?j+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[A+(c<<2)>>2]|0;c=(j>>>0)%3|0;g=((c|0)==0?2:-1)+j|0;if((g|0)<0){r=-1073741824;q=h}else{r=f[A+(g<<2)>>2]|0;q=h}}else{c=(j>>>0)%3|0;r=-1073741824;q=-1073741824}if((j|0)==((i?-1073741824:j-c|0)|0)){if(i)c=-1073741824;else c=f[A+(j<<2)>>2]|0;if((q|0)==(r|0)|((c|0)==(q|0)|(c|0)==(r|0))){f[z>>2]=(f[z>>2]|0)+1;j=j+2|0;c=v;g=t;l=w;h=s;i=x}else K=60}else K=60;a:do if((K|0)==60){K=0;n=f[k+(r<<2)>>2]|0;b:do if((n|0)>0){c=0;i=f[m+(r<<2)>>2]|0;while(1){g=f[s+(i<<3)>>2]|0;if((g|0)<0){c=v;g=t;h=s;break b}if((g|0)==(q|0))break;c=c+1|0;if((c|0)<(n|0))i=i+1|0;else{c=v;g=t;h=s;break b}}l=f[s+(i<<3)+4>>2]|0;h=t;while(1){c=c+1|0;if((c|0)>=(n|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[v+(i<<3)>>2]|0)<0)break;else{i=g;h=v}}f[w+(i<<3)>>2]=-1;if((l|0)<0){c=w;g=w;h=w}else{c=f[I>>2]|0;f[c+(j<<2)>>2]=l;f[c+(l<<2)>>2]=j;c=w;g=w;l=w;h=w;i=x;break a}}else{c=v;g=t;h=s}while(0);i=f[p+(q<<2)>>2]|0;if((i|0)>0){h=0;c=f[B+(q<<2)>>2]|0;while(1){g=x+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){m=B;k=p;c=x;g=x;l=x;h=x;i=x;break a}else c=c+1|0}f[g>>2]=r;f[e+(c<<3)+4>>2]=j;m=B;k=p;c=e;g=e;l=e;h=e;i=e}else{k=p;l=w;i=x}}while(0);j=j+1|0;if((j|0)>=(y|0))break;else{v=c;t=g;w=l;s=h;x=i}}}f[b>>2]=F-o>>2;if(B){if((C|0)!=(B|0))f[E>>2]=C+(~((C+-4-B|0)>>>2)<<2);mq(D);d=f[J>>2]|0;e=d}if(e|0){c=f[G>>2]|0;if((c|0)!=(e|0))f[G>>2]=c+(~((c+-8-e|0)>>>3)<<3);mq(d)}c=f[L>>2]|0;if(c|0){d=f[H>>2]|0;if((d|0)!=(c|0))f[H>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}L=1;u=M;return L|0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=Ka;M=u;u=u+48|0;L=M+20|0;G=M;K=M+8|0;D=L+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;n[D>>2]=$(1.0);J=a+80|0;yk(K,f[J>>2]|0);g=f[J>>2]|0;a:do if((g|0)>0){A=c+48|0;B=c+40|0;x=L+4|0;z=L+12|0;w=L+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;q=0;t=0;s=0;while(1){p=v+t|0;k=A;j=f[k>>2]|0;k=f[k+4>>2]|0;r=B;r=Zm(p|0,((p|0)<0)<<31>>31|0,f[r>>2]|0,f[r+4>>2]|0)|0;k=Zn(r|0,I|0,j|0,k|0)|0;k=(f[f[c>>2]>>2]|0)+k|0;j=k;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;k=k+4|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;r=G;f[r>>2]=j;f[r+4>>2]=k;r=(j^318)+239^k;p=(q|0)==0;b:do if(!p){g=q+-1|0;e=(g&q|0)==0;if(e)i=r&g;else i=(r>>>0)%(q>>>0)|0;d=f[(f[L>>2]|0)+(i<<2)>>2]|0;do if(d|0?(F=f[d>>2]|0,F|0):0){c:do if(e){d=F;while(1){if((f[d+4>>2]&g|0)!=(i|0)){i=20;break c}if((f[d+8>>2]|0)==(j|0)?(f[d+12>>2]|0)==(k|0):0){i=19;break c}d=f[d>>2]|0;if(!d){i=20;break}}}else{d=F;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(i|0)){i=20;break c}if((f[d+8>>2]|0)==(j|0)?(f[d+12>>2]|0)==(k|0):0){i=19;break c}d=f[d>>2]|0;if(!d){i=20;break}}}while(0);if((i|0)==19){i=0;f[(f[K>>2]|0)+(t<<2)>>2]=f[d+16>>2];e=s;break b}else if((i|0)==20)if(p){d=0;i=35;break b}else break}while(0);i=q+-1|0;g=(i&q|0)==0;if(g)d=i&r;else d=(r>>>0)%(q>>>0)|0;e=f[(f[L>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(E=f[e>>2]|0,(E|0)!=0):0)if(g){e=E;while(1){if((f[e+4>>2]&i|0)!=(d|0)){i=35;break b}if((f[e+8>>2]|0)==(j|0)?(f[e+12>>2]|0)==(k|0):0){i=48;break b}e=f[e>>2]|0;if(!e){i=35;break}}}else{e=E;while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(d|0)){i=35;break b}if((f[e+8>>2]|0)==(j|0)?(f[e+12>>2]|0)==(k|0):0){i=48;break b}e=f[e>>2]|0;if(!e){i=35;break}}}else i=35}else{d=0;i=35}while(0);if((i|0)==35){i=0;l=_m(20)|0;g=l+8|0;f[g>>2]=j;f[g+4>>2]=k;f[l+16>>2]=s;f[l+4>>2]=r;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);N=$(q>>>0);m=$(n[D>>2]);do if(p|o>$(N*m)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(o/m)))>>>0;Ch(L,d>>>0>>0?e:d);d=f[x>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=q;while(0);e=(f[L>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[w>>2];f[w>>2]=l;f[e>>2]=w;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[L>>2]|0)+(d<<2)|0;i=46}}else{f[l>>2]=f[d>>2];i=46}if((i|0)==46)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;i=48}if((i|0)==48){r=C;e=f[r>>2]|0;r=Zm(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+r|0,G|0,e|0)|0;f[(f[K>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[J>>2]|0;if((d|0)>=(g|0)){p=e;break a}q=f[x>>2]|0;t=d;s=e}}else p=0;while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[K>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(H=d+(g<<2)|0,(e|0)!=(H|0)):0)f[i>>2]=e+(~((e+-4-H|0)>>>2)<<2)}else{Pg(j,g-k|0,1204);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[J>>2]=p}g=f[K>>2]|0;if(g|0){e=K+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[L+8>>2]|0;if(d|0)do{K=d;d=f[d>>2]|0;mq(K)}while((d|0)!=0);d=f[L>>2]|0;f[L>>2]=0;if(!d){u=M;return p|0}mq(d);u=M;return p|0}function Zb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+16|0;J=O+12|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);i=f[L>>2]|0;a:do if((i|0)>0){C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;s=0;w=0;v=0;while(1){l=x+w|0;m=C;k=f[m>>2]|0;m=f[m+4>>2]|0;t=D;t=Zm(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=Zn(t|0,I|0,k|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[J>>2]=m;k=m&65535;t=m>>>16;l=t&65535;t=(m&65535^318)+239^t;r=(s|0)==0;b:do if(!r){i=s+-1|0;g=(i&s|0)==0;if(g)j=t&i;else j=(t>>>0)%(s>>>0)|0;e=f[(f[N>>2]|0)+(j<<2)>>2]|0;do if(e|0?(H=f[e>>2]|0,H|0):0){c:do if(g){e=H;while(1){if((f[e+4>>2]&i|0)!=(j|0)){q=20;break c}if((d[e+8>>1]|0)==k<<16>>16?(d[e+10>>1]|0)==l<<16>>16:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}else{e=H;while(1){if((((f[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(j|0)){q=20;break c}if((d[e+8>>1]|0)==k<<16>>16?(d[e+10>>1]|0)==l<<16>>16:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}while(0);if((q|0)==19){q=0;f[(f[M>>2]|0)+(w<<2)>>2]=f[e+12>>2];g=v;break b}else if((q|0)==20)if(r){e=0;q=35;break b}else break}while(0);j=s+-1|0;i=(j&s|0)==0;if(i)e=j&t;else e=(t>>>0)%(s>>>0)|0;g=f[(f[N>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(G=f[g>>2]|0,(G|0)!=0):0)if(i){g=G;while(1){if((f[g+4>>2]&j|0)!=(e|0)){q=35;break b}if((d[g+8>>1]|0)==k<<16>>16?(d[g+10>>1]|0)==l<<16>>16:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else{g=G;while(1){if((((f[g+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(e|0)){q=35;break b}if((d[g+8>>1]|0)==k<<16>>16?(d[g+10>>1]|0)==l<<16>>16:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else q=35}else{e=0;q=35}while(0);if((q|0)==35){q=0;j=_m(16)|0;l=j+8|0;d[l>>1]=m;d[l+2>>1]=m>>>16;f[j+12>>2]=v;f[j+4>>2]=t;f[j>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);P=$(s>>>0);o=$(n[F>>2]);do if(r|p>$(P*o)){e=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;g=~~$(W($(p/o)))>>>0;yh(N,e>>>0>>0?g:e);e=f[z>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&t;break}else{i=e;e=(t>>>0)%(e>>>0)|0;break}}else i=s;while(0);g=(f[N>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[y>>2];f[y>>2]=j;f[g>>2]=y;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[N>>2]|0)+(e<<2)|0;q=46}}else{f[j>>2]=f[e>>2];q=46}if((q|0)==46)f[e>>2]=j;f[B>>2]=(f[B>>2]|0)+1;q=48}if((q|0)==48){t=E;g=f[t>>2]|0;t=Zm(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Eg((f[f[A>>2]>>2]|0)+t|0,J|0,g|0)|0;f[(f[M>>2]|0)+(w<<2)>>2]=v;g=v+1|0}e=w+1|0;i=f[L>>2]|0;if((e|0)>=(i|0)){q=g;break a}s=f[z>>2]|0;w=e;v=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[M>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(K=e+(i<<2)|0,(g|0)!=(K|0)):0)f[j>>2]=g+(~((g+-4-K|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[L>>2]=q}i=f[M>>2]|0;if(i|0){g=M+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;mq(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}mq(e);u=O;return q|0}function _b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+12|0;J=O+32|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);i=f[L>>2]|0;a:do if((i|0)>0){C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;s=0;w=0;v=0;while(1){l=x+w|0;m=C;k=f[m>>2]|0;m=f[m+4>>2]|0;t=D;t=Zm(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=Zn(t|0,I|0,k|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8;d[J>>1]=m;k=m&255;t=(m&65535)>>>8;l=t&255;t=((m&255^318)+239<<16>>16^t)&65535;r=(s|0)==0;b:do if(!r){i=s+-1|0;g=(i&s|0)==0;if(g)j=t&i;else j=(t>>>0)%(s>>>0)|0;e=f[(f[N>>2]|0)+(j<<2)>>2]|0;do if(e|0?(H=f[e>>2]|0,H|0):0){c:do if(g){e=H;while(1){if((f[e+4>>2]&i|0)!=(j|0)){q=20;break c}if((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}else{e=H;while(1){if((((f[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(j|0)){q=20;break c}if((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}while(0);if((q|0)==19){q=0;f[(f[M>>2]|0)+(w<<2)>>2]=f[e+12>>2];g=v;break b}else if((q|0)==20)if(r){e=0;q=35;break b}else break}while(0);j=s+-1|0;i=(j&s|0)==0;if(i)e=j&t;else e=(t>>>0)%(s>>>0)|0;g=f[(f[N>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(G=f[g>>2]|0,(G|0)!=0):0)if(i){g=G;while(1){if((f[g+4>>2]&j|0)!=(e|0)){q=35;break b}if((b[g+8>>0]|0)==k<<24>>24?(b[g+9>>0]|0)==l<<24>>24:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else{g=G;while(1){if((((f[g+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(e|0)){q=35;break b}if((b[g+8>>0]|0)==k<<24>>24?(b[g+9>>0]|0)==l<<24>>24:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else q=35}else{e=0;q=35}while(0);if((q|0)==35){q=0;j=_m(16)|0;l=j+8|0;b[l>>0]=m;b[l+1>>0]=m>>8;f[j+12>>2]=v;f[j+4>>2]=t;f[j>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);P=$(s>>>0);o=$(n[F>>2]);do if(r|p>$(P*o)){e=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;g=~~$(W($(p/o)))>>>0;Fh(N,e>>>0>>0?g:e);e=f[z>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&t;break}else{i=e;e=(t>>>0)%(e>>>0)|0;break}}else i=s;while(0);g=(f[N>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[y>>2];f[y>>2]=j;f[g>>2]=y;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[N>>2]|0)+(e<<2)|0;q=46}}else{f[j>>2]=f[e>>2];q=46}if((q|0)==46)f[e>>2]=j;f[B>>2]=(f[B>>2]|0)+1;q=48}if((q|0)==48){t=E;g=f[t>>2]|0;t=Zm(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Eg((f[f[A>>2]>>2]|0)+t|0,J|0,g|0)|0;f[(f[M>>2]|0)+(w<<2)>>2]=v;g=v+1|0}e=w+1|0;i=f[L>>2]|0;if((e|0)>=(i|0)){q=g;break a}s=f[z>>2]|0;w=e;v=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[M>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(K=e+(i<<2)|0,(g|0)!=(K|0)):0)f[j>>2]=g+(~((g+-4-K|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[L>>2]=q}i=f[M>>2]|0;if(i|0){g=M+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;mq(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}mq(e);u=O;return q|0}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;g=k+16|0;e=k+12|0;i=k+8|0;j=k+4|0;h=k;switch(f[c+28>>2]|0){case 9:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=oc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Yb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Vb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=jc(a,c,g)|0;break}default:d=0}break}case 1:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=mc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=_b(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Ub(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 11:case 2:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=mc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=_b(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Ub(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 4:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=kc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Zb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Tb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=cc(a,c,g)|0;break}default:d=0}break}case 3:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=kc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Zb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Tb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=cc(a,c,g)|0;break}default:d=0}break}case 6:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=oc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Yb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Vb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=jc(a,c,g)|0;break}default:d=0}break}case 5:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=oc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Yb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Vb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=jc(a,c,g)|0;break}default:d=0}break}default:{a=-1;u=k;return a|0}}a=(d|0)==0?-1:d;u=k;return a|0}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))zi(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];qg(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];qg(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];qg(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];qg(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))zi(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))zi(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=Ka,l=Ka,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Ka;A=u;u=u+48|0;e=A+24|0;z=A;j=Dd(a,c)|0;if(j|0){f[z>>2]=j;f[e>>2]=f[z>>2];Lf(a,e)|0}dl(z,c);y=z+12|0;dl(y,d);w=b[z+11>>0]|0;v=w<<24>>24<0;x=v?f[z>>2]|0:z;w=v?f[z+4>>2]|0:w&255;if(w>>>0>3){j=x;m=w;c=w;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else j=j+4|0}v=w+-4|0;c=v&-4;d=x+(c+4)|0;j=m;c=v-c|0}else{d=x;j=w;c=w}switch(c|0){case 3:{o=h[d+2>>0]<<16^j;r=8;break}case 2:{o=j;r=8;break}case 1:{p=j;r=9;break}default:q=j}if((r|0)==8){p=h[d+1>>0]<<8^o;r=9}if((r|0)==9)q=X(h[d>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;s=a+4|0;c=f[s>>2]|0;t=(c|0)==0;a:do if(!t){p=c+-1|0;d=(p&c|0)==0;if(d)q=v&p;else q=(v>>>0)%(c>>>0)|0;j=f[(f[a>>2]|0)+(q<<2)>>2]|0;if((j|0)!=0?(g=f[j>>2]|0,(g|0)!=0):0){j=(w|0)==0;if(d){if(j){while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);_n(z);u=A;return}b:while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break b}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break b}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);_n(z);u=A;return}}else{if(j){while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);_n(z);u=A;return}c:while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break c}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break c}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);_n(z);u=A;return}}}else i=q}else i=0;while(0);Oh(e,a,v,z);d=a+12|0;l=$(((f[d>>2]|0)+1|0)>>>0);B=$(c>>>0);k=$(n[a+16>>2]);do if(t|l>$(B*k)){g=(c>>>0<3|(c+-1&c|0)!=0)&1|c<<1;i=~~$(W($(l/k)))>>>0;Rh(a,g>>>0>>0?i:g);g=f[s>>2]|0;i=g+-1|0;if(!(i&g)){c=g;i=i&v;break}else{c=g;i=(v>>>0)%(g>>>0)|0;break}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=c+-1|0;if(!(i&c))g=g&i;else g=(g>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;_n(y);_n(z);u=A;return}function cc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ka;T=u;u=u+48|0;S=T+28|0;N=T+8|0;O=T;R=T+16|0;L=S+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;n[L>>2]=$(1.0);Q=a+80|0;yk(R,f[Q>>2]|0);i=f[Q>>2]|0;if((i|0)>0){B=f[e>>2]|0;G=c+48|0;H=c+40|0;E=S+4|0;F=S+12|0;D=S+8|0;J=a+40|0;C=a+64|0;K=0;z=0;while(1){w=B+K|0;y=G;x=f[y>>2]|0;y=f[y+4>>2]|0;e=H;e=Zm(w|0,((w|0)<0)<<31>>31|0,f[e>>2]|0,f[e+4>>2]|0)|0;y=Zn(e|0,I|0,x|0,y|0)|0;y=(f[f[c>>2]>>2]|0)+y|0;x=y;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;e=N;f[e>>2]=x;f[e+4>>2]=y;e=O;f[e>>2]=x;f[e+4>>2]=y;e=Vf(S,O)|0;if(!e){t=O;s=f[t>>2]|0;t=f[t+4>>2]|0;l=s&65535;y=yn(s|0,t|0,16)|0;m=y&65535;q=t&65535;v=yn(s|0,t|0,48)|0;w=I;r=v&65535;y=((((l^318)&65535)+239^y&65535)+239^t&65535)+239^v;i=f[E>>2]|0;x=(i|0)==0;a:do if(!x){k=i+-1|0;j=(k&i|0)==0;if(j)e=y&k;else e=(y>>>0)%(i>>>0)|0;g=f[(f[S>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(M=f[g>>2]|0,(M|0)!=0):0)if(j){g=M;while(1){if((f[g+4>>2]&k|0)!=(e|0)){A=25;break a}if((((d[g+8>>1]|0)==l<<16>>16?(d[g+10>>1]|0)==m<<16>>16:0)?(d[g+12>>1]|0)==q<<16>>16:0)?(d[g+14>>1]|0)==r<<16>>16:0)break a;g=f[g>>2]|0;if(!g){A=25;break}}}else{g=M;while(1){if((((f[g+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){A=25;break a}if((((d[g+8>>1]|0)==l<<16>>16?(d[g+10>>1]|0)==m<<16>>16:0)?(d[g+12>>1]|0)==q<<16>>16:0)?(d[g+14>>1]|0)==r<<16>>16:0)break a;g=f[g>>2]|0;if(!g){A=25;break}}}else A=25}else{e=0;A=25}while(0);if((A|0)==25){A=0;j=_m(20)|0;v=tn(v|0,w|0,48)|0;s=s|v;v=t&65535|I;w=j+8|0;t=w;d[t>>1]=s;d[t+2>>1]=s>>>16;w=w+4|0;d[w>>1]=v;d[w+2>>1]=v>>>16;f[j+16>>2]=z;f[j+4>>2]=y;f[j>>2]=0;p=$(((f[F>>2]|0)+1|0)>>>0);U=$(i>>>0);o=$(n[L>>2]);do if(x|p>$(U*o)){e=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;g=~~$(W($(p/o)))>>>0;wh(S,e>>>0>>0?g:e);e=f[E>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&y;break}else{i=e;e=(y>>>0)%(e>>>0)|0;break}}while(0);g=(f[S>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[D>>2];f[D>>2]=j;f[g>>2]=D;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[S>>2]|0)+(e<<2)|0;A=36}}else{f[j>>2]=f[e>>2];A=36}if((A|0)==36){A=0;f[e>>2]=j}f[F>>2]=(f[F>>2]|0)+1}y=J;e=f[y>>2]|0;y=Zm(e|0,f[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Eg((f[f[C>>2]>>2]|0)+y|0,N|0,e|0)|0;f[(f[R>>2]|0)+(K<<2)>>2]=z;e=z+1|0}else{f[(f[R>>2]|0)+(K<<2)>>2]=f[e+16>>2];e=z}K=K+1|0;i=f[Q>>2]|0;if((K|0)>=(i|0)){q=e;break}else z=e}}else q=0;if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[R>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(P=e+(i<<2)|0,(g|0)!=(P|0)):0)f[j>>2]=g+(~((g+-4-P|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[Q>>2]|0}if((i|0)>0){j=f[R>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[Q>>2]=q}i=f[R>>2]|0;if(i|0){g=R+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[S+8>>2]|0;if(e|0)do{R=e;e=f[e>>2]|0;mq(R)}while((e|0)!=0);e=f[S>>2]|0;f[S>>2]=0;if(!e){u=T;return q|0}mq(e);u=T;return q|0}function dc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;F=R+48|0;L=R+36|0;K=R+24|0;H=R+16|0;J=R+8|0;G=R;E=R+32|0;M=a+8|0;d=f[M>>2]|0;if((d|0)<=1)Fa(11796,13875,79,11922);if((d|0)>=31)Fa(11942,13875,80,11922);f[a+72>>2]=d;D=1<>2]=D+-1;D=D+-2|0;C=a+80|0;f[C>>2]=D;A=a+84|0;f[A>>2]=(D|0)/2|0;D=a+40|0;f[a+48>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(13062,13875,99,14032);if((e|0)!=2)Fa(14056,13875,101,14032);z=a+88|0;Wk(z);x=a+36|0;d=f[x>>2]|0;w=(f[d+4>>2]|0)-(f[d>>2]|0)|0;y=w>>2;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;v=K;f[v>>2]=0;f[v+4>>2]=0;v=H;f[v>>2]=0;f[v+4>>2]=0;v=J;f[v>>2]=0;f[v+4>>2]=0;v=G;f[v>>2]=0;f[v+4>>2]=0;if((w|0)<=0){u=R;return 1}v=L+4|0;w=L+8|0;q=K+4|0;r=H+4|0;t=J+4|0;s=G+4|0;g=0;while(1){e=f[d>>2]|0;if((f[d+4>>2]|0)-e>>2>>>0>g>>>0)d=e;else{Vo(d);d=f[d>>2]|0}f[E>>2]=f[d+(g<<2)>>2];f[F>>2]=f[E>>2];xc(D,F,L);d=f[L>>2]|0;h=(d|0)>-1?d:0-d|0;e=f[v>>2]|0;a=(e|0)>-1?e:0-e|0;h=Zn(a|0,((a|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;a=f[w>>2]|0;i=(a|0)>-1;a=i?a:0-a|0;a=Zn(h|0,I|0,a|0,((a|0)<0)<<31>>31|0)|0;h=I;p=f[A>>2]|0;if((a|0)==0&(h|0)==0){e=L;d=p}else{n=((p|0)<0)<<31>>31;o=Zm(p|0,n|0,d|0,((d|0)<0)<<31>>31|0)|0;o=kk(o|0,I|0,a|0,h|0)|0;f[L>>2]=o;d=Zm(p|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,a|0,h|0)|0;f[v>>2]=d;d=p-((o|0)>-1?o:0-o|0)-((d|0)>-1?d:0-d|0)|0;e=w;d=i?d:0-d|0}f[e>>2]=d;l=f[L>>2]|0;e=(l|0)>-1;n=0-l|0;m=f[v>>2]|0;j=0-m|0;h=(m|0)>-1?m:j;o=f[w>>2]|0;k=0-o|0;d=(o|0)>-1?o:k;if((h+(e?l:n)+d|0)!=(p|0)){d=18;break}if(!e){if((m|0)>=0)d=(f[C>>2]|0)-d|0;if((o|0)<0){a=d;e=h}else{a=d;e=(f[C>>2]|0)-h|0}}else{a=p+m|0;e=p+o|0}h=(a|0)==0;i=(e|0)==0;d=f[C>>2]|0;do if((e|a|0)!=0?(O=(d|0)==(e|0),Q=(d|0)==(a|0),!(h&O|i&Q)):0){if(h&(p|0)<(e|0)){a=0;e=(p<<1)-e|0;break}if((p|0)>(e|0)&Q){e=(p<<1)-e|0;break}if((p|0)>(a|0)&O){a=(p<<1)-a|0;break}else{a=(p|0)<(a|0)&i?(p<<1)-a|0:a;break}}else{a=d;e=d}while(0);f[K>>2]=a;f[q>>2]=e;f[L>>2]=n;f[v>>2]=j;f[w>>2]=k;h=(l|0)<1;a=(m|0)<1?j:m;e=(o|0)<1?k:o;if((a+(h?n:l)+e|0)!=(p|0)){d=35;break}if(h){i=p-m|0;h=p-o|0}else{i=(m|0)>0?e:d-e|0;h=(o|0)>0?a:d-a|0}e=(i|0)==0;a=(h|0)==0;do if((h|i|0)!=0?(N=(d|0)==(h|0),P=(d|0)==(i|0),!(e&N|a&P)):0){if(e&(p|0)<(h|0)){e=0;d=(p<<1)-h|0;break}if((p|0)>(h|0)&P){e=d;d=(p<<1)-h|0;break}if((p|0)>(i|0)&N){e=(p<<1)-i|0;break}else{e=(p|0)<(i|0)&a?(p<<1)-i|0:i;d=h;break}}else e=d;while(0);f[H>>2]=e;f[r>>2]=d;j=g<<1;d=b+(j<<2)|0;Xh(M,d,K,J);Xh(M,d,H,G);d=f[J>>2]|0;i=f[A>>2]|0;if((i|0)>=(d|0)){if((d|0)<(0-i|0))d=(f[B>>2]|0)+d|0}else d=d-(f[B>>2]|0)|0;f[J>>2]=d;e=f[t>>2]|0;if((i|0)>=(e|0)){if((e|0)<(0-i|0))e=(f[B>>2]|0)+e|0}else e=e-(f[B>>2]|0)|0;f[t>>2]=e;a=f[G>>2]|0;if((i|0)>=(a|0)){if((a|0)<(0-i|0))a=(f[B>>2]|0)+a|0}else a=a-(f[B>>2]|0)|0;f[G>>2]=a;h=f[s>>2]|0;if((i|0)>=(h|0)){if((h|0)<(0-i|0))h=(f[B>>2]|0)+h|0}else h=h-(f[B>>2]|0)|0;f[s>>2]=h;if((((e|0)>-1?e:0-e|0)+((d|0)>-1?d:0-d|0)|0)<(((a|0)>-1?a:0-a|0)+((h|0)>-1?h:0-h|0)|0)){Ui(z,0);a=J}else{Ui(z,1);a=G}d=f[a>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=68;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;e=c+(j<<2)|0;f[e>>2]=d;d=f[a+4>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=72;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;f[e+4>>2]=d;g=g+1|0;if((g|0)>=(y|0)){d=11;break}d=f[x>>2]|0}if((d|0)==11){u=R;return 1}else if((d|0)==18)Fa(14080,13875,119,14032);else if((d|0)==35)Fa(14147,11807,99,14235);else if((d|0)==68)Fa(12682,11807,313,12716);else if((d|0)==72)Fa(12682,11807,313,12716);return 0}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;F=R+48|0;L=R+36|0;K=R+24|0;H=R+16|0;J=R+8|0;G=R;E=R+32|0;M=a+8|0;d=f[M>>2]|0;if((d|0)<=1)Fa(11796,13875,79,11922);if((d|0)>=31)Fa(11942,13875,80,11922);f[a+72>>2]=d;D=1<>2]=D+-1;D=D+-2|0;C=a+80|0;f[C>>2]=D;A=a+84|0;f[A>>2]=(D|0)/2|0;D=a+40|0;f[a+48>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(13062,13875,99,14032);if((e|0)!=2)Fa(14056,13875,101,14032);z=a+88|0;Wk(z);x=a+36|0;d=f[x>>2]|0;w=(f[d+4>>2]|0)-(f[d>>2]|0)|0;y=w>>2;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;v=K;f[v>>2]=0;f[v+4>>2]=0;v=H;f[v>>2]=0;f[v+4>>2]=0;v=J;f[v>>2]=0;f[v+4>>2]=0;v=G;f[v>>2]=0;f[v+4>>2]=0;if((w|0)<=0){u=R;return 1}v=L+4|0;w=L+8|0;q=K+4|0;r=H+4|0;t=J+4|0;s=G+4|0;g=0;while(1){e=f[d>>2]|0;if((f[d+4>>2]|0)-e>>2>>>0>g>>>0)d=e;else{Vo(d);d=f[d>>2]|0}f[E>>2]=f[d+(g<<2)>>2];f[F>>2]=f[E>>2];yc(D,F,L);d=f[L>>2]|0;h=(d|0)>-1?d:0-d|0;e=f[v>>2]|0;a=(e|0)>-1?e:0-e|0;h=Zn(a|0,((a|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;a=f[w>>2]|0;i=(a|0)>-1;a=i?a:0-a|0;a=Zn(h|0,I|0,a|0,((a|0)<0)<<31>>31|0)|0;h=I;p=f[A>>2]|0;if((a|0)==0&(h|0)==0){e=L;d=p}else{n=((p|0)<0)<<31>>31;o=Zm(p|0,n|0,d|0,((d|0)<0)<<31>>31|0)|0;o=kk(o|0,I|0,a|0,h|0)|0;f[L>>2]=o;d=Zm(p|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,a|0,h|0)|0;f[v>>2]=d;d=p-((o|0)>-1?o:0-o|0)-((d|0)>-1?d:0-d|0)|0;e=w;d=i?d:0-d|0}f[e>>2]=d;l=f[L>>2]|0;e=(l|0)>-1;n=0-l|0;m=f[v>>2]|0;j=0-m|0;h=(m|0)>-1?m:j;o=f[w>>2]|0;k=0-o|0;d=(o|0)>-1?o:k;if((h+(e?l:n)+d|0)!=(p|0)){d=18;break}if(!e){if((m|0)>=0)d=(f[C>>2]|0)-d|0;if((o|0)<0){a=d;e=h}else{a=d;e=(f[C>>2]|0)-h|0}}else{a=p+m|0;e=p+o|0}h=(a|0)==0;i=(e|0)==0;d=f[C>>2]|0;do if((e|a|0)!=0?(O=(d|0)==(e|0),Q=(d|0)==(a|0),!(h&O|i&Q)):0){if(h&(p|0)<(e|0)){a=0;e=(p<<1)-e|0;break}if((p|0)>(e|0)&Q){e=(p<<1)-e|0;break}if((p|0)>(a|0)&O){a=(p<<1)-a|0;break}else{a=(p|0)<(a|0)&i?(p<<1)-a|0:a;break}}else{a=d;e=d}while(0);f[K>>2]=a;f[q>>2]=e;f[L>>2]=n;f[v>>2]=j;f[w>>2]=k;h=(l|0)<1;a=(m|0)<1?j:m;e=(o|0)<1?k:o;if((a+(h?n:l)+e|0)!=(p|0)){d=35;break}if(h){i=p-m|0;h=p-o|0}else{i=(m|0)>0?e:d-e|0;h=(o|0)>0?a:d-a|0}e=(i|0)==0;a=(h|0)==0;do if((h|i|0)!=0?(N=(d|0)==(h|0),P=(d|0)==(i|0),!(e&N|a&P)):0){if(e&(p|0)<(h|0)){e=0;d=(p<<1)-h|0;break}if((p|0)>(h|0)&P){e=d;d=(p<<1)-h|0;break}if((p|0)>(i|0)&N){e=(p<<1)-i|0;break}else{e=(p|0)<(i|0)&a?(p<<1)-i|0:i;d=h;break}}else e=d;while(0);f[H>>2]=e;f[r>>2]=d;j=g<<1;d=b+(j<<2)|0;Xh(M,d,K,J);Xh(M,d,H,G);d=f[J>>2]|0;i=f[A>>2]|0;if((i|0)>=(d|0)){if((d|0)<(0-i|0))d=(f[B>>2]|0)+d|0}else d=d-(f[B>>2]|0)|0;f[J>>2]=d;e=f[t>>2]|0;if((i|0)>=(e|0)){if((e|0)<(0-i|0))e=(f[B>>2]|0)+e|0}else e=e-(f[B>>2]|0)|0;f[t>>2]=e;a=f[G>>2]|0;if((i|0)>=(a|0)){if((a|0)<(0-i|0))a=(f[B>>2]|0)+a|0}else a=a-(f[B>>2]|0)|0;f[G>>2]=a;h=f[s>>2]|0;if((i|0)>=(h|0)){if((h|0)<(0-i|0))h=(f[B>>2]|0)+h|0}else h=h-(f[B>>2]|0)|0;f[s>>2]=h;if((((e|0)>-1?e:0-e|0)+((d|0)>-1?d:0-d|0)|0)<(((a|0)>-1?a:0-a|0)+((h|0)>-1?h:0-h|0)|0)){Ui(z,0);a=J}else{Ui(z,1);a=G}d=f[a>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=68;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;e=c+(j<<2)|0;f[e>>2]=d;d=f[a+4>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=72;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;f[e+4>>2]=d;g=g+1|0;if((g|0)>=(y|0)){d=11;break}d=f[x>>2]|0}if((d|0)==11){u=R;return 1}else if((d|0)==18)Fa(14080,13875,119,14032);else if((d|0)==35)Fa(14147,11807,99,14235);else if((d|0)==68)Fa(12682,11807,313,12716);else if((d|0)==72)Fa(12682,11807,313,12716);return 0}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=Ka,l=Ka,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Ka;A=u;u=u+48|0;e=A+24|0;z=A;j=Dd(a,c)|0;if(j|0){f[z>>2]=j;f[e>>2]=f[z>>2];Lf(a,e)|0}dl(z,c);p[z+16>>3]=+p[d>>3];x=b[z+11>>0]|0;w=x<<24>>24<0;y=w?f[z>>2]|0:z;x=w?f[z+4>>2]|0:x&255;if(x>>>0>3){j=y;m=x;c=x;while(1){w=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(w>>>24^w,1540483477)|0)^(X(m,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else j=j+4|0}w=x+-4|0;c=w&-4;d=y+(c+4)|0;j=m;c=w-c|0}else{d=y;j=x;c=x}switch(c|0){case 3:{o=h[d+2>>0]<<16^j;s=8;break}case 2:{o=j;s=8;break}case 1:{q=j;s=9;break}default:r=j}if((s|0)==8){q=h[d+1>>0]<<8^o;s=9}if((s|0)==9)r=X(h[d>>0]^q,1540483477)|0;w=X(r>>>13^r,1540483477)|0;w=w>>>15^w;t=a+4|0;c=f[t>>2]|0;v=(c|0)==0;a:do if(!v){q=c+-1|0;d=(q&c|0)==0;if(d)r=w&q;else r=(w>>>0)%(c>>>0)|0;j=f[(f[a>>2]|0)+(r<<2)>>2]|0;if((j|0)!=0?(g=f[j>>2]|0,(g|0)!=0):0){j=(x|0)==0;if(d){if(j){while(1){if((f[g+4>>2]&q|0)!=(r|0)){i=r;break a}y=b[g+8+11>>0]|0;if(!((y<<24>>24<0?f[g+12>>2]|0:y&255)|0))break;g=f[g>>2]|0;if(!g){i=r;break a}}_n(z);u=A;return}b:while(1){if((f[g+4>>2]&q|0)!=(r|0)){i=r;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(x|0)){d=f[j>>2]|0;if(o)if(!(il(d,y,x)|0)){s=55;break b}else break;if((d&255)<<24>>24==(b[y>>0]|0)){d=y;do{m=m+-1|0;j=j+1|0;if(!m){s=55;break b}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=r;break a}}if((s|0)==55){_n(z);u=A;return}}else{if(j){while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(r|0)){i=r;break a}y=b[g+8+11>>0]|0;if(!((y<<24>>24<0?f[g+12>>2]|0:y&255)|0))break;g=f[g>>2]|0;if(!g){i=r;break a}}_n(z);u=A;return}c:while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(r|0)){i=r;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(x|0)){d=f[j>>2]|0;if(o)if(!(il(d,y,x)|0)){s=55;break c}else break;if((d&255)<<24>>24==(b[y>>0]|0)){d=y;do{m=m+-1|0;j=j+1|0;if(!m){s=55;break c}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=r;break a}}if((s|0)==55){_n(z);u=A;return}}}else i=r}else i=0;while(0);eh(e,a,w,z);d=a+12|0;l=$(((f[d>>2]|0)+1|0)>>>0);B=$(c>>>0);k=$(n[a+16>>2]);do if(v|l>$(B*k)){g=(c>>>0<3|(c+-1&c|0)!=0)&1|c<<1;i=~~$(W($(l/k)))>>>0;Rh(a,g>>>0>>0?i:g);g=f[t>>2]|0;i=g+-1|0;if(!(i&g)){c=g;i=i&w;break}else{c=g;i=(w>>>0)%(g>>>0)|0;break}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=c+-1|0;if(!(i&c))g=g&i;else g=(g>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;_n(z);u=A;return}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=Ka,l=Ka,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=Ka;z=u;u=u+32|0;e=z+16|0;y=z;j=Dd(a,c)|0;if(j|0){f[y>>2]=j;f[e>>2]=f[y>>2];Lf(a,e)|0}dl(y,c);f[y+12>>2]=f[d>>2];w=b[y+11>>0]|0;v=w<<24>>24<0;x=v?f[y>>2]|0:y;w=v?f[y+4>>2]|0:w&255;if(w>>>0>3){j=x;m=w;c=w;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else j=j+4|0}v=w+-4|0;c=v&-4;d=x+(c+4)|0;j=m;c=v-c|0}else{d=x;j=w;c=w}switch(c|0){case 3:{o=h[d+2>>0]<<16^j;r=8;break}case 2:{o=j;r=8;break}case 1:{p=j;r=9;break}default:q=j}if((r|0)==8){p=h[d+1>>0]<<8^o;r=9}if((r|0)==9)q=X(h[d>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;s=a+4|0;c=f[s>>2]|0;t=(c|0)==0;a:do if(!t){p=c+-1|0;d=(p&c|0)==0;if(d)q=v&p;else q=(v>>>0)%(c>>>0)|0;j=f[(f[a>>2]|0)+(q<<2)>>2]|0;if((j|0)!=0?(g=f[j>>2]|0,(g|0)!=0):0){j=(w|0)==0;if(d){if(j){while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);u=z;return}b:while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break b}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break b}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);u=z;return}}else{if(j){while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);u=z;return}c:while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break c}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break c}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);u=z;return}}}else i=q}else i=0;while(0);ii(e,a,v,y);d=a+12|0;l=$(((f[d>>2]|0)+1|0)>>>0);A=$(c>>>0);k=$(n[a+16>>2]);do if(t|l>$(A*k)){g=(c>>>0<3|(c+-1&c|0)!=0)&1|c<<1;i=~~$(W($(l/k)))>>>0;Rh(a,g>>>0>>0?i:g);g=f[s>>2]|0;i=g+-1|0;if(!(i&g)){c=g;i=i&v;break}else{c=g;i=(v>>>0)%(g>>>0)|0;break}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=c+-1|0;if(!(i&c))g=g&i;else g=(g>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;_n(y);u=z;return}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=Ka;S=u;u=u+48|0;R=S+20|0;M=S+16|0;N=S+12|0;Q=S;K=R+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;n[K>>2]=$(1.0);P=a+80|0;yk(Q,f[P>>2]|0);g=f[P>>2]|0;if((g|0)>0){A=f[d>>2]|0;F=c+48|0;G=c+40|0;D=R+4|0;E=R+12|0;C=R+8|0;H=a+40|0;B=a+64|0;J=0;y=0;while(1){v=A+J|0;d=F;x=f[d>>2]|0;d=f[d+4>>2]|0;w=G;w=Zm(v|0,((v|0)<0)<<31>>31|0,f[w>>2]|0,f[w+4>>2]|0)|0;d=Zn(w|0,I|0,x|0,d|0)|0;d=(f[f[c>>2]>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[M>>2]=d;f[N>>2]=d;d=Xf(R,N)|0;if(!d){t=f[N>>2]|0;k=t&255;r=t>>>8;l=r&255;s=t>>>16;p=s&255;v=t>>>24;q=v&255;t=t&255;r=r&255;s=s&255;x=(((t^318)+239^r)+239^s)+239^v;g=f[D>>2]|0;w=(g|0)==0;a:do if(!w){j=g+-1|0;i=(j&g|0)==0;if(i)d=x&j;else d=(x>>>0)%(g>>>0)|0;e=f[(f[R>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(L=f[e>>2]|0,(L|0)!=0):0)if(i){e=L;while(1){if((f[e+4>>2]&j|0)!=(d|0)){z=25;break a}if((((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0)?(b[e+10>>0]|0)==p<<24>>24:0)?(b[e+11>>0]|0)==q<<24>>24:0)break a;e=f[e>>2]|0;if(!e){z=25;break}}}else{e=L;while(1){if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){z=25;break a}if((((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0)?(b[e+10>>0]|0)==p<<24>>24:0)?(b[e+11>>0]|0)==q<<24>>24:0)break a;e=f[e>>2]|0;if(!e){z=25;break}}}else z=25}else{d=0;z=25}while(0);if((z|0)==25){z=0;i=_m(16)|0;q=i+8|0;v=v<<24|t|s<<16|r<<8;b[q>>0]=v;b[q+1>>0]=v>>8;b[q+2>>0]=v>>16;b[q+3>>0]=v>>24;f[i+12>>2]=y;f[i+4>>2]=x;f[i>>2]=0;o=$(((f[E>>2]|0)+1|0)>>>0);T=$(g>>>0);m=$(n[K>>2]);do if(w|o>$(T*m)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(o/m)))>>>0;Dh(R,d>>>0>>0?e:d);d=f[D>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&x;break}else{g=d;d=(x>>>0)%(d>>>0)|0;break}}while(0);e=(f[R>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[i>>2]=f[C>>2];f[C>>2]=i;f[e>>2]=C;d=f[i>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[R>>2]|0)+(d<<2)|0;z=36}}else{f[i>>2]=f[d>>2];z=36}if((z|0)==36){z=0;f[d>>2]=i}f[E>>2]=(f[E>>2]|0)+1}x=H;d=f[x>>2]|0;x=Zm(d|0,f[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Eg((f[f[B>>2]>>2]|0)+x|0,M|0,d|0)|0;f[(f[Q>>2]|0)+(J<<2)>>2]=y;d=y+1|0}else{f[(f[Q>>2]|0)+(J<<2)>>2]=f[d+12>>2];d=y}J=J+1|0;g=f[P>>2]|0;if((J|0)>=(g|0)){p=d;break}else y=d}}else p=0;if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[Q>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(O=d+(g<<2)|0,(e|0)!=(O|0)):0)f[i>>2]=e+(~((e+-4-O|0)>>>2)<<2)}else{Pg(j,g-k|0,1204);g=f[P>>2]|0}if((g|0)>0){i=f[Q>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[P>>2]=p}g=f[Q>>2]|0;if(g|0){e=Q+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[R+8>>2]|0;if(d|0)do{Q=d;d=f[d>>2]|0;mq(Q)}while((d|0)!=0);d=f[R>>2]|0;f[R>>2]=0;if(!d){u=S;return p|0}mq(d);u=S;return p|0}function ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=a+8|0;f[F>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{D=f[b+(i<<2)>>2]|0;z=(D|0)<(g|0);g=z?D:g;h=z?h:(D|0)>(h|0)?D:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;D=1-g+h|0;f[a+20>>2]=D;g=(D|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(D&1))f[h>>2]=g+-1}p=e>>>0>1073741823?-1:e<<2;D=jq(p)|0;Xi(D|0,0,p|0)|0;p=f[a+48>>2]|0;u=a+56|0;i=f[u>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){q=f[a+52>>2]|0;x=a+16|0;s=a+32|0;z=a+12|0;y=a+28|0;w=a+20|0;v=a+24|0;r=p+12|0;t=(e|0)>0;n=j>>2;while(1){o=n+-1|0;if(h-g>>2>>>0<=o>>>0){Vo(i);g=f[i>>2]|0}g=f[g+(o<<2)>>2]|0;m=X(o,e)|0;if((g|0)>=0?(E=f[(f[r>>2]|0)+(g<<2)>>2]|0,(E|0)>=0):0){h=f[p>>2]|0;i=f[q>>2]|0;j=f[i+(f[h+(E<<2)>>2]<<2)>>2]|0;g=E+1|0;g=((g|0)%3|0|0)==0?E+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;k=f[i+(g<<2)>>2]|0;g=(((E>>>0)%3|0|0)==0?2:-1)+E|0;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;g=f[i+(g<<2)>>2]|0;if((j|0)<(o|0)&(k|0)<(o|0)&(g|0)<(o|0)){j=X(j,e)|0;i=X(k,e)|0;h=X(g,e)|0;if(t){g=0;do{f[D+(g<<2)>>2]=(f[b+(g+h<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(m<<2)|0;d=c+(m<<2)|0;g=f[F>>2]|0;if((g|0)>0){k=0;i=D;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[x>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(j<<2)>>2]=h}else{H=f[z>>2]|0;h=f[s>>2]|0;f[h+(j<<2)>>2]=(g|0)<(H|0)?H:g;g=h}j=j+1|0}while((j|0)<(f[F>>2]|0));i=g}else i=f[s>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[y>>2]|0)){if((g|0)>(f[v>>2]|0)){g=g-(f[w>>2]|0)|0;G=54}}else{g=(f[w>>2]|0)+g|0;G=54}if((G|0)==54){G=0;f[h>>2]=g}k=k+1|0;g=f[F>>2]|0}while((k|0)<(g|0))}}else G=27}else G=27;if((G|0)==27?(G=0,B=b+(m<<2)|0,C=c+(m<<2)|0,A=f[F>>2]|0,(A|0)>0):0){h=A;k=0;j=b+((X(n+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[x>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(i<<2)>>2]=h}else{n=f[z>>2]|0;H=f[s>>2]|0;f[H+(i<<2)>>2]=(g|0)<(n|0)?n:g;g=H}i=i+1|0}while((i|0)<(f[F>>2]|0))}else g=f[s>>2]|0;h=(f[B+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=C+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[y>>2]|0)){if((h|0)>(f[v>>2]|0)){h=h-(f[w>>2]|0)|0;G=41}}else{h=(f[w>>2]|0)+h|0;G=41}if((G|0)==41){G=0;f[i>>2]=h}k=k+1|0;h=f[F>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((o|0)<=1)break a;i=f[u>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;n=o}}while(0);if((e|0)>0)Xi(D|0,0,e<<2|0)|0;g=f[F>>2]|0;if((g|0)<=0){kq(D);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=D;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;H=f[d>>2]|0;f[H+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=H}j=j+1|0}while((j|0)<(f[F>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;G=68}}else{g=(f[m>>2]|0)+g|0;G=68}if((G|0)==68){G=0;f[h>>2]=g}k=k+1|0;g=f[F>>2]|0}while((k|0)<(g|0));kq(D);return 1}function jc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Ka;Q=u;u=u+80|0;P=Q+48|0;K=Q+32|0;L=Q+16|0;O=Q;H=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[H>>2]=$(1.0);N=a+80|0;yk(O,f[N>>2]|0);g=f[N>>2]|0;if((g|0)>0){v=f[d>>2]|0;A=c+48|0;B=c+40|0;E=L+4|0;F=L+8|0;G=L+12|0;y=P+4|0;z=P+12|0;x=P+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){g=v+D|0;d=A;e=f[d>>2]|0;d=f[d+4>>2]|0;h=B;g=Zm(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Zn(g|0,I|0,e|0,d|0)|0;d=(f[f[c>>2]>>2]|0)+d|0;e=K;g=d;h=e+16|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));dm(L|0,d|0,16)|0;d=dg(P,L)|0;if(!d){i=f[L>>2]|0;j=f[E>>2]|0;k=f[F>>2]|0;l=f[G>>2]|0;r=(((i^318)+239^j)+239^k)+239^l;p=f[y>>2]|0;q=(p|0)==0;a:do if(!q){h=p+-1|0;g=(h&p|0)==0;if(g)d=r&h;else d=(r>>>0)%(p>>>0)|0;e=f[(f[P>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(J=f[e>>2]|0,(J|0)!=0):0)if(g){e=J;while(1){if((f[e+4>>2]&h|0)!=(d|0)){t=25;break a}if((((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0)?(f[e+20>>2]|0)==(l|0):0)break a;e=f[e>>2]|0;if(!e){t=25;break}}}else{e=J;while(1){if((((f[e+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(d|0)){t=25;break a}if((((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0)?(f[e+20>>2]|0)==(l|0):0)break a;e=f[e>>2]|0;if(!e){t=25;break}}}else t=25}else{d=0;t=25}while(0);if((t|0)==25){t=0;h=_m(28)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=l;f[h+24>>2]=s;f[h+4>>2]=r;f[h>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);R=$(p>>>0);m=$(n[H>>2]);do if(q|o>$(R*m)){d=(p>>>0<3|(p+-1&p|0)!=0)&1|p<<1;e=~~$(W($(o/m)))>>>0;Ah(P,d>>>0>>0?e:d);d=f[y>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=p;while(0);e=(f[P>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[h>>2]=f[x>>2];f[x>>2]=h;f[e>>2]=x;d=f[h>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[P>>2]|0)+(d<<2)|0;t=36}}else{f[h>>2]=f[d>>2];t=36}if((t|0)==36){t=0;f[d>>2]=h}f[z>>2]=(f[z>>2]|0)+1}r=C;d=f[r>>2]|0;r=Zm(d|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[w>>2]>>2]|0)+r|0,K|0,d|0)|0;f[(f[O>>2]|0)+(D<<2)>>2]=s;d=s+1|0}else{f[(f[O>>2]|0)+(D<<2)>>2]=f[d+24>>2];d=s}D=D+1|0;g=f[N>>2]|0;if((D|0)>=(g|0)){l=d;break}else s=d}}else l=0;if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[O>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(M=d+(g<<2)|0,(e|0)!=(M|0)):0)f[h>>2]=e+(~((e+-4-M|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[N>>2]|0}if((g|0)>0){h=f[O>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[N>>2]=l}g=f[O>>2]|0;if(g|0){e=O+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[P+8>>2]|0;if(d|0)do{O=d;d=f[d>>2]|0;mq(O)}while((d|0)!=0);d=f[P>>2]|0;f[P>>2]=0;if(!d){u=Q;return l|0}mq(d);u=Q;return l|0}function kc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=Ka;K=u;u=u+48|0;J=K+12|0;E=K+32|0;H=K;D=J+16|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;n[D>>2]=$(1.0);G=a+80|0;yk(H,f[G>>2]|0);i=f[G>>2]|0;a:do if((i|0)>0){A=c+48|0;B=c+40|0;x=J+4|0;z=J+12|0;w=J+8|0;C=a+40|0;y=a+64|0;v=f[e>>2]|0;i=0;t=0;s=0;while(1){k=v+t|0;m=A;q=f[m>>2]|0;m=f[m+4>>2]|0;l=B;l=Zm(k|0,((k|0)<0)<<31>>31|0,f[l>>2]|0,f[l+4>>2]|0)|0;m=Zn(l|0,I|0,q|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8;d[E>>1]=m;q=(m^318)&65535;b:do if(i){l=i+-1|0;k=(l&i|0)==0;if(k)g=l&q;else g=(q>>>0)%(i>>>0)|0;j=f[J>>2]|0;e=f[j+(g<<2)>>2]|0;c:do if(e|0){if(k)do{e=f[e>>2]|0;if(!e)break c;if((f[e+4>>2]&l|0)!=(g|0))break c}while((d[e+8>>1]|0)!=m<<16>>16);else do{e=f[e>>2]|0;if(!e)break c;if((((f[e+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(g|0))break c}while((d[e+8>>1]|0)!=m<<16>>16);f[(f[H>>2]|0)+(t<<2)>>2]=f[e+12>>2];g=s;break b}while(0);if(k)e=l&q;else e=(q>>>0)%(i>>>0)|0;g=f[j+(e<<2)>>2]|0;if(g)if(k)while(1){g=f[g>>2]|0;if(!g){g=0;r=28;break b}if((f[g+4>>2]&l|0)!=(e|0)){g=0;r=28;break b}if((d[g+8>>1]|0)==m<<16>>16){r=41;break}}else while(1){g=f[g>>2]|0;if(!g){g=0;r=28;break b}if((((f[g+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){g=0;r=28;break b}if((d[g+8>>1]|0)==m<<16>>16){r=41;break}}else{g=0;r=28}}else{i=0;e=0;g=1;r=28}while(0);if((r|0)==28){r=0;j=_m(16)|0;d[j+8>>1]=m;f[j+12>>2]=s;f[j+4>>2]=q;f[j>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);L=$(i>>>0);o=$(n[D>>2]);do if(g|p>$(L*o)){e=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;g=~~$(W($(p/o)))>>>0;zh(J,e>>>0>>0?g:e);e=f[x>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&q;break}else{i=e;e=(q>>>0)%(e>>>0)|0;break}}while(0);g=(f[J>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[w>>2];f[w>>2]=j;f[g>>2]=w;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[J>>2]|0)+(e<<2)|0;r=39}}else{f[j>>2]=f[e>>2];r=39}if((r|0)==39)f[e>>2]=j;f[z>>2]=(f[z>>2]|0)+1;r=41}if((r|0)==41){r=0;q=C;g=f[q>>2]|0;q=Zm(g|0,f[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+q|0,E|0,g|0)|0;f[(f[H>>2]|0)+(t<<2)>>2]=s;g=s+1|0}e=t+1|0;i=f[G>>2]|0;if((e|0)>=(i|0)){q=g;break a}i=f[x>>2]|0;t=e;s=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[H>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(F=e+(i<<2)|0,(g|0)!=(F|0)):0)f[j>>2]=g+(~((g+-4-F|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[G>>2]|0}if((i|0)>0){j=f[H>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[G>>2]=q}i=f[H>>2]|0;if(i|0){g=H+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[J+8>>2]|0;if(e|0)do{H=e;e=f[e>>2]|0;mq(H)}while((e|0)!=0);e=f[J>>2]|0;f[J>>2]=0;if(!e){u=K;return q|0}mq(e);u=K;return q|0}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;J=a+8|0;f[J>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{H=f[b+(i<<2)>>2]|0;A=(H|0)<(g|0);g=A?H:g;h=A?h:(H|0)>(h|0)?H:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;H=1-g+h|0;f[a+20>>2]=H;g=(H|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(H&1))f[h>>2]=g+-1}p=e>>>0>1073741823?-1:e<<2;H=jq(p)|0;Xi(H|0,0,p|0)|0;p=f[a+48>>2]|0;v=a+56|0;i=f[v>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){q=f[a+52>>2]|0;y=a+16|0;s=a+32|0;A=a+12|0;z=a+28|0;x=a+20|0;w=a+24|0;u=p+64|0;r=p+28|0;t=(e|0)>0;n=j>>2;while(1){o=n+-1|0;if(h-g>>2>>>0<=o>>>0){Vo(i);g=f[i>>2]|0}g=f[g+(o<<2)>>2]|0;m=X(o,e)|0;if((!((g|0)<0?1:(1<<(g&31)&f[(f[p>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(I=f[(f[(f[u>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(I|0)>=0):0)?(D=f[r>>2]|0,d=f[q>>2]|0,B=f[d+(f[D+(I<<2)>>2]<<2)>>2]|0,C=I+1|0,C=f[d+(f[D+((((C|0)%3|0|0)==0?I+-2|0:C)<<2)>>2]<<2)>>2]|0,D=f[d+(f[D+((((I>>>0)%3|0|0)==0?2:-1)+I<<2)>>2]<<2)>>2]|0,(B|0)<(o|0)&(C|0)<(o|0)&(D|0)<(o|0)):0){h=X(B,e)|0;i=X(C,e)|0;j=X(D,e)|0;if(t){g=0;do{f[H+(g<<2)>>2]=(f[b+(g+j<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+h<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(m<<2)|0;d=c+(m<<2)|0;g=f[J>>2]|0;if((g|0)>0){k=0;i=H;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[y>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(j<<2)>>2]=h}else{L=f[A>>2]|0;h=f[s>>2]|0;f[h+(j<<2)>>2]=(g|0)<(L|0)?L:g;g=h}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[s>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[z>>2]|0)){if((g|0)>(f[w>>2]|0)){g=g-(f[x>>2]|0)|0;K=50}}else{g=(f[x>>2]|0)+g|0;K=50}if((K|0)==50){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0))}}else K=23;if((K|0)==23?(K=0,F=b+(m<<2)|0,G=c+(m<<2)|0,E=f[J>>2]|0,(E|0)>0):0){h=E;k=0;j=b+((X(n+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[y>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(i<<2)>>2]=h}else{n=f[A>>2]|0;L=f[s>>2]|0;f[L+(i<<2)>>2]=(g|0)<(n|0)?n:g;g=L}i=i+1|0}while((i|0)<(f[J>>2]|0))}else g=f[s>>2]|0;h=(f[F+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=G+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[z>>2]|0)){if((h|0)>(f[w>>2]|0)){h=h-(f[x>>2]|0)|0;K=37}}else{h=(f[x>>2]|0)+h|0;K=37}if((K|0)==37){K=0;f[i>>2]=h}k=k+1|0;h=f[J>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((o|0)<=1)break a;i=f[v>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;n=o}}while(0);if((e|0)>0)Xi(H|0,0,e<<2|0)|0;g=f[J>>2]|0;if((g|0)<=0){kq(H);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=H;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;L=f[d>>2]|0;f[L+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=L}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;K=64}}else{g=(f[m>>2]|0)+g|0;K=64}if((K|0)==64){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0));kq(H);return 1}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=Ka,m=Ka,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=Ka;H=u;u=u+48|0;G=H+12|0;C=H+32|0;F=H;B=G+16|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;n[B>>2]=$(1.0);E=a+80|0;yk(F,f[E>>2]|0);g=f[E>>2]|0;a:do if((g|0)>0){y=c+48|0;z=c+40|0;v=G+4|0;x=G+12|0;t=G+8|0;A=a+40|0;w=a+64|0;s=f[d>>2]|0;g=0;r=0;q=0;while(1){i=s+r|0;k=y;o=f[k>>2]|0;k=f[k+4>>2]|0;j=z;j=Zm(i|0,((i|0)<0)<<31>>31|0,f[j>>2]|0,f[j+4>>2]|0)|0;k=Zn(j|0,I|0,o|0,k|0)|0;k=b[(f[f[c>>2]>>2]|0)+k>>0]|0;b[C>>0]=k;o=k&255^318;b:do if(g){j=g+-1|0;i=(j&g|0)==0;if(i)e=j&o;else e=(o>>>0)%(g>>>0)|0;h=f[G>>2]|0;d=f[h+(e<<2)>>2]|0;c:do if(d|0){if(i)do{d=f[d>>2]|0;if(!d)break c;if((f[d+4>>2]&j|0)!=(e|0))break c}while((b[d+8>>0]|0)!=k<<24>>24);else do{d=f[d>>2]|0;if(!d)break c;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(e|0))break c}while((b[d+8>>0]|0)!=k<<24>>24);f[(f[F>>2]|0)+(r<<2)>>2]=f[d+12>>2];e=q;break b}while(0);if(i)d=j&o;else d=(o>>>0)%(g>>>0)|0;e=f[h+(d<<2)>>2]|0;if(e)if(i)while(1){e=f[e>>2]|0;if(!e){e=0;p=28;break b}if((f[e+4>>2]&j|0)!=(d|0)){e=0;p=28;break b}if((b[e+8>>0]|0)==k<<24>>24){p=41;break}}else while(1){e=f[e>>2]|0;if(!e){e=0;p=28;break b}if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){e=0;p=28;break b}if((b[e+8>>0]|0)==k<<24>>24){p=41;break}}else{e=0;p=28}}else{g=0;d=0;e=1;p=28}while(0);if((p|0)==28){p=0;h=_m(16)|0;b[h+8>>0]=k;f[h+12>>2]=q;f[h+4>>2]=o;f[h>>2]=0;m=$(((f[x>>2]|0)+1|0)>>>0);J=$(g>>>0);l=$(n[B>>2]);do if(e|m>$(J*l)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(m/l)))>>>0;Gh(G,d>>>0>>0?e:d);d=f[v>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&o;break}else{g=d;d=(o>>>0)%(d>>>0)|0;break}}while(0);e=(f[G>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[h>>2]=f[t>>2];f[t>>2]=h;f[e>>2]=t;d=f[h>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[G>>2]|0)+(d<<2)|0;p=39}}else{f[h>>2]=f[d>>2];p=39}if((p|0)==39)f[d>>2]=h;f[x>>2]=(f[x>>2]|0)+1;p=41}if((p|0)==41){p=0;o=A;e=f[o>>2]|0;o=Zm(e|0,f[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;Eg((f[f[w>>2]>>2]|0)+o|0,C|0,e|0)|0;f[(f[F>>2]|0)+(r<<2)>>2]=q;e=q+1|0}d=r+1|0;g=f[E>>2]|0;if((d|0)>=(g|0)){o=e;break a}g=f[v>>2]|0;r=d;q=e}}else o=0;while(0);if((o|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[F>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(D=d+(g<<2)|0,(e|0)!=(D|0)):0)f[h>>2]=e+(~((e+-4-D|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[E>>2]|0}if((g|0)>0){h=f[F>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[E>>2]=o}g=f[F>>2]|0;if(g|0){e=F+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[G+8>>2]|0;if(d|0)do{F=d;d=f[d>>2]|0;mq(F)}while((d|0)!=0);d=f[G>>2]|0;f[G>>2]=0;if(!d){u=H;return o|0}mq(d);u=H;return o|0}function nc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=0,s=Ka,t=Ka,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+28|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)v=-1073741824;else v=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;v=-1073741824}g=a+32|0;m=f[g>>2]|0;i=f[m+4>>2]|0;r=f[m>>2]|0;if(i-r>>2>>>0>c>>>0){g=r;k=i;l=m;i=r}else{Vo(m);l=f[g>>2]|0;g=f[l>>2]|0;k=f[l+4>>2]|0;i=f[m>>2]|0}c=f[i+(c<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+52|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}r=a+52|0;v=f[r>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+48>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+40|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;t=$(n[D>>2]);q=$(n[C>>2]);t=$(t-q);s=$(n[D+4>>2]);j=$(n[C+4>>2]);s=$(s-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(t*t)+$(0.0))+$(s*s))+$(p*p));if(o>$(0.0)){G=$($($($($(t*q)+$(0.0))+$(s*j))+$(p*h))/o);t=$(q-$(t*G));s=$(j-$(s*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(s*s)+$($(t*t)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[r>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+56|0;l=a+60|0;c=f[l>>2]|0;i=a+64|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=Ka;J=u;u=u+48|0;H=J+16|0;D=J+12|0;G=J;C=H+16|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;n[C>>2]=$(1.0);F=a+80|0;yk(G,f[F>>2]|0);g=f[F>>2]|0;a:do if((g|0)>0){z=c+48|0;A=c+40|0;w=H+4|0;y=H+12|0;v=H+8|0;B=a+40|0;x=a+64|0;t=f[d>>2]|0;g=0;s=0;r=0;while(1){j=t+s|0;l=z;p=f[l>>2]|0;l=f[l+4>>2]|0;k=A;k=Zm(j|0,((j|0)<0)<<31>>31|0,f[k>>2]|0,f[k+4>>2]|0)|0;l=Zn(k|0,I|0,p|0,l|0)|0;l=(f[f[c>>2]>>2]|0)+l|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[D>>2]=l;p=l^318;b:do if(g){k=g+-1|0;j=(k&g|0)==0;if(j)e=k&p;else e=(p>>>0)%(g>>>0)|0;i=f[H>>2]|0;d=f[i+(e<<2)>>2]|0;c:do if(d|0){if(j)do{d=f[d>>2]|0;if(!d)break c;if((f[d+4>>2]&k|0)!=(e|0))break c}while((f[d+8>>2]|0)!=(l|0));else do{d=f[d>>2]|0;if(!d)break c;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(e|0))break c}while((f[d+8>>2]|0)!=(l|0));f[(f[G>>2]|0)+(s<<2)>>2]=f[d+12>>2];e=r;break b}while(0);if(j)d=k&p;else d=(p>>>0)%(g>>>0)|0;e=f[i+(d<<2)>>2]|0;if(e)if(j)while(1){e=f[e>>2]|0;if(!e){e=0;q=28;break b}if((f[e+4>>2]&k|0)!=(d|0)){e=0;q=28;break b}if((f[e+8>>2]|0)==(l|0)){q=41;break}}else while(1){e=f[e>>2]|0;if(!e){e=0;q=28;break b}if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){e=0;q=28;break b}if((f[e+8>>2]|0)==(l|0)){q=41;break}}else{e=0;q=28}}else{g=0;d=0;e=1;q=28}while(0);if((q|0)==28){q=0;i=_m(16)|0;f[i+8>>2]=l;f[i+12>>2]=r;f[i+4>>2]=p;f[i>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);K=$(g>>>0);m=$(n[C>>2]);do if(e|o>$(K*m)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(o/m)))>>>0;si(H,d>>>0>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&p;break}else{g=d;d=(p>>>0)%(d>>>0)|0;break}}while(0);e=(f[H>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[i>>2]=f[v>>2];f[v>>2]=i;f[e>>2]=v;d=f[i>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[H>>2]|0)+(d<<2)|0;q=39}}else{f[i>>2]=f[d>>2];q=39}if((q|0)==39)f[d>>2]=i;f[y>>2]=(f[y>>2]|0)+1;q=41}if((q|0)==41){q=0;p=B;e=f[p>>2]|0;p=Zm(e|0,f[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Eg((f[f[x>>2]>>2]|0)+p|0,D|0,e|0)|0;f[(f[G>>2]|0)+(s<<2)>>2]=r;e=r+1|0}d=s+1|0;g=f[F>>2]|0;if((d|0)>=(g|0)){p=e;break a}g=f[w>>2]|0;s=d;r=e}}else p=0;while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[G>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(E=d+(g<<2)|0,(e|0)!=(E|0)):0)f[i>>2]=e+(~((e+-4-E|0)>>>2)<<2)}else{Pg(j,g-k|0,1204);g=f[F>>2]|0}if((g|0)>0){i=f[G>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[F>>2]=p}g=f[G>>2]|0;if(g|0){e=G+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[H+8>>2]|0;if(d|0)do{G=d;d=f[d>>2]|0;mq(G)}while((d|0)!=0);d=f[H>>2]|0;f[H>>2]=0;if(!d){u=J;return p|0}mq(d);u=J;return p|0}function pc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=0,s=Ka,t=Ka,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+48|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)v=-1073741824;else v=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;v=-1073741824}g=a+52|0;m=f[g>>2]|0;i=f[m+4>>2]|0;r=f[m>>2]|0;if(i-r>>2>>>0>c>>>0){g=r;k=i;l=m;i=r}else{Vo(m);l=f[g>>2]|0;g=f[l>>2]|0;k=f[l+4>>2]|0;i=f[m>>2]|0}c=f[i+(c<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+72|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}r=a+72|0;v=f[r>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+68>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+60|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;t=$(n[D>>2]);q=$(n[C>>2]);t=$(t-q);s=$(n[D+4>>2]);j=$(n[C+4>>2]);s=$(s-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(t*t)+$(0.0))+$(s*s))+$(p*p));if(o>$(0.0)){G=$($($($($(t*q)+$(0.0))+$(s*j))+$(p*h))/o);t=$(q-$(t*G));s=$(j-$(s*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(s*s)+$($(t*t)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[r>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+76|0;l=a+80|0;c=f[l>>2]|0;i=a+84|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function qc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=Ka,s=Ka,t=0,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+28|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);v=f[(f[i>>2]|0)+28>>2]|0;t=f[v+(c<<2)>>2]|0;v=f[v+(g<<2)>>2]|0;g=a+32|0;i=f[g>>2]|0;c=f[i+4>>2]|0;m=f[i>>2]|0;if(c-m>>2>>>0>t>>>0){k=c;l=i;c=m;g=m}else{Vo(i);g=f[g>>2]|0;k=f[g+4>>2]|0;l=g;c=f[i>>2]|0;g=f[g>>2]|0}c=f[c+(t<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+52|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}t=a+52|0;v=f[t>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+48>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+40|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;s=$(n[D>>2]);q=$(n[C>>2]);s=$(s-q);r=$(n[D+4>>2]);j=$(n[C+4>>2]);r=$(r-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(s*s)+$(0.0))+$(r*r))+$(p*p));if(o>$(0.0)){G=$($($($($(s*q)+$(0.0))+$(r*j))+$(p*h))/o);s=$(q-$(s*G));r=$(j-$(r*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[t>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+56|0;l=a+60|0;c=f[l>>2]|0;i=a+64|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function rc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[5982]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[5983]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[5980]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[5978]=f[5978]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=24216+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5979]=f[5979]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[5983]|0;if((k|0)==(f[5984]|0)){k=(f[5981]|0)+b|0;f[5981]=k;f[5984]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[5983]=0;f[5980]=0;return}if((k|0)==(a|0)){k=(f[5980]|0)+b|0;f[5980]=k;f[5983]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[5978]=f[5978]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=24216+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5979]=f[5979]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[5983]|0)){f[5980]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=23952+(a<<1<<2)|0;b=f[5978]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=24216+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[5979]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[5979]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[5986]|0)+-1|0;f[5986]=k;if(!k)a=24368;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[5986]=-1;return}function sc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=Ka,s=Ka,t=0,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+48|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);v=f[(f[i>>2]|0)+28>>2]|0;t=f[v+(c<<2)>>2]|0;v=f[v+(g<<2)>>2]|0;g=a+52|0;i=f[g>>2]|0;c=f[i+4>>2]|0;m=f[i>>2]|0;if(c-m>>2>>>0>t>>>0){k=c;l=i;c=m;g=m}else{Vo(i);g=f[g>>2]|0;k=f[g+4>>2]|0;l=g;c=f[i>>2]|0;g=f[g>>2]|0}c=f[c+(t<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+72|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}t=a+72|0;v=f[t>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+68>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+60|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;s=$(n[D>>2]);q=$(n[C>>2]);s=$(s-q);r=$(n[D+4>>2]);j=$(n[C+4>>2]);r=$(r-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(s*s)+$(0.0))+$(r*r))+$(p*p));if(o>$(0.0)){G=$($($($($(s*q)+$(0.0))+$(r*j))+$(p*h))/o);s=$(q-$(s*G));r=$(j-$(r*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[t>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+76|0;l=a+80|0;c=f[l>>2]|0;i=a+84|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))zi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];qg(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];qg(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;d=d+(i>>>5<<2)|0;f[d>>2]=1<<(i&31)|f[d>>2];d=f[b>>2]|0;i=f[(f[e+28>>2]|0)+(d<<2)>>2]|0;c=f[(f[e+40>>2]|0)+(i<<2)>>2]|0;if((c|0)<0)j=1;else{j=f[(f[f[e+64>>2]>>2]|0)+(c<<2)>>2]|0;j=(1<<(j&31)&f[(f[e+12>>2]|0)+(j>>>5<<2)>>2]|0)!=0}g=(f[n>>2]|0)+(i>>>5<<2)|0;h=1<<(i&31);c=f[g>>2]|0;if(!(c&h)){f[g>>2]=c|h;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];qg(k,t,w);e=f[a>>2]|0;c=f[b>>2]|0;if(j){d=c;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)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}}else y=40;if((y|0)==40){y=0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){zi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))zi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];qg(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];qg(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){e=(c|0)/3|0;g=d+(e>>>5<<2)|0;f[g>>2]=1<<(e&31)|f[g>>2];g=f[b>>2]|0;e=f[a>>2]|0;if((g|0)<0)j=-1073741824;else j=f[(f[e>>2]|0)+(g<<2)>>2]|0;d=f[(f[e+24>>2]|0)+(j<<2)>>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){d=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;c=d+1|0;if((d|0)<0)i=d;else i=((c|0)%3|0|0)==0?d+-2|0:c}else i=c}else i=d;d=(f[n>>2]|0)+(j>>>5<<2)|0;h=1<<(j&31);c=f[d>>2]|0;if(!(c&h)){f[d>>2]=c|h;f[s>>2]=j;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];qg(k,t,w);d=f[a>>2]|0;c=f[b>>2]|0;if((i|0)<0){g=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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((g|0)<0){y=44;break}c=g+1|0;c=((c|0)%3|0|0)==0?g+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=49;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(g){y=51;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=51;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==44){f[w>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){zi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function vc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+48|0;v=w+24|0;t=w+12|0;s=w;q=a+32|0;r=a+8|0;o=a+12|0;b=f[o>>2]|0;c=f[r>>2]|0;i=b-c>>2;g=a+36|0;e=f[g>>2]|0;d=f[q>>2]|0;j=e-d>>2;if(i>>>0<=j>>>0){if(i>>>0>>0?(h=d+(i<<2)|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else{gi(q,i-j|0);c=f[r>>2]|0;b=f[o>>2]|0}e=b-c|0;d=e>>2;f[v>>2]=0;c=v+4|0;f[c>>2]=0;b=v+8|0;f[b>>2]=0;if(d|0){if((e|0)<0)Wo(v);l=((d+-1|0)>>>5)+1|0;m=_m(l<<2)|0;f[v>>2]=m;f[b>>2]=l;f[c>>2]=d;b=d>>>5;Xi(m|0,0,b<<2|0)|0;c=d-(b<<5)|0;b=m+(b<<2)|0;if(c|0)f[b>>2]=f[b>>2]&~(-1>>>(32-c|0))}m=a+20|0;b=f[r>>2]|0;d=b;c=f[o>>2]|0;e=0;while(1){if(e>>>0>2>>>0){g=0;l=0}else{n=25;break}while(1){j=l>>>5;k=1<<(l&31);do if(!(f[(f[v>>2]|0)+(j<<2)>>2]&k)){c=f[b+(l<<2)>>2]|0;if((f[c+8>>2]|0)!=(f[c+4>>2]|0)){d=1;i=0;do{h=f[(f[c+4>>2]|0)+(i<<2)>>2]|0;c=0;while(1){b=f[b+(l<<2)>>2]|0;if((c|0)>=(Va[f[(f[b>>2]|0)+24>>2]&127](b,h)|0))break;b=f[(f[r>>2]|0)+(l<<2)>>2]|0;b=Ma[f[(f[b>>2]|0)+28>>2]&31](b,h,c)|0;if((b|0)!=(l|0)?(b=f[(f[m>>2]|0)+(b<<2)>>2]|0,(1<<(b&31)&f[(f[v>>2]|0)+(b>>>5<<2)>>2]|0)==0):0){d=0;break}b=f[r>>2]|0;c=c+1|0}i=i+1|0;b=f[r>>2]|0;c=f[b+(l<<2)>>2]|0}while(i>>>0<(f[c+8>>2]|0)-(f[c+4>>2]|0)>>2>>>0);if(!d){d=b;h=e;break}}else b=d;f[(f[q>>2]|0)+(e<<2)>>2]=l;d=(f[v>>2]|0)+(j<<2)|0;f[d>>2]=f[d>>2]|k;d=b;g=1;h=e+1|0}else h=e;while(0);l=l+1|0;c=f[o>>2]|0;e=c-d>>2;b=d;if(l>>>0>=e>>>0)break;else e=h}if(h>>>0>>0&(g^1)){c=0;break}else e=h}if((n|0)==25){f[t>>2]=0;n=t+4|0;f[n>>2]=0;f[t+8>>2]=0;e=f[a+4>>2]|0;e=(f[e+12>>2]|0)-(f[e+8>>2]|0)|0;d=e>>2;f[s>>2]=0;c=s+4|0;f[c>>2]=0;b=s+8|0;f[b>>2]=0;if(d|0){if((e|0)<0)Wo(s);m=((d+-1|0)>>>5)+1|0;a=_m(m<<2)|0;f[s>>2]=a;f[b>>2]=m;f[c>>2]=d;b=d>>>5;Xi(a|0,0,b<<2|0)|0;c=d-(b<<5)|0;b=a+(b<<2)|0;if(c|0)f[b>>2]=f[b>>2]&~(-1>>>(32-c|0))}b=f[o>>2]|0;c=f[r>>2]|0;a:do if((b|0)==(c|0))c=1;else{a=0;while(1){l=f[(f[q>>2]|0)+(a<<2)>>2]|0;k=f[c+(l<<2)>>2]|0;k=(f[k+8>>2]|0)-(f[k+4>>2]|0)|0;m=k>>2;if((k|0)>=8){c=f[n>>2]|0;b=f[t>>2]|0;d=c-b>>2;if(m>>>0<=d>>>0)if(m>>>0>>0?(p=b+(m<<2)|0,(c|0)!=(p|0)):0){f[n>>2]=c+(~((c+-4-p|0)>>>2)<<2);b=0}else b=0;else{gi(t,m-d|0);b=0}while(1){if((b|0)<(m|0)){c=0;k=0}else break;do{d=f[(f[r>>2]|0)+(l<<2)>>2]|0;h=f[(f[d+4>>2]|0)+(k<<2)>>2]|0;i=k>>>5;j=1<<(k&31);if(!(f[(f[s>>2]|0)+(i<<2)>>2]&j)){e=d;d=1;g=0;while(1){if((g|0)>=(Va[f[(f[e>>2]|0)+24>>2]&127](e,h)|0))break;e=f[(f[r>>2]|0)+(l<<2)>>2]|0;e=Ma[f[(f[e>>2]|0)+28>>2]&31](e,h,g)|0;e=(f[(f[s>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0)!=0;d=d&e;if(!e)break;e=f[(f[r>>2]|0)+(l<<2)>>2]|0;g=g+1|0}if(d){f[(f[t>>2]|0)+(b<<2)>>2]=k;c=(f[s>>2]|0)+(i<<2)|0;f[c>>2]=f[c>>2]|j;c=1;b=b+1|0}}k=k+1|0}while((k|0)<(m|0));if(!(c|(b|0)>=(m|0))){c=0;break a}}lg(f[(f[r>>2]|0)+(l<<2)>>2]|0,t);c=f[r>>2]|0;b=f[o>>2]|0}a=a+1|0;if(a>>>0>=b-c>>2>>>0){c=1;break}}}while(0);b=f[s>>2]|0;if(b|0)mq(b);b=f[t>>2]|0;if(b|0){d=f[n>>2]|0;if((d|0)!=(b|0))f[n>>2]=d+(~((d+-4-b|0)>>>2)<<2);mq(b)}}b=f[v>>2]|0;if(!b){u=w;return c|0}mq(b);u=w;return c|0}function wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;o=r+16|0;p=r+12|0;g=r+29|0;q=r;k=r+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){q=1;u=r;return q|0}b[g>>0]=-2;n=a+36|0;e=f[n>>2]|0;if(e)if(Va[f[(f[a>>2]|0)+40>>2]&127](a,e)|0){j=f[n>>2]|0;j=(Ra[f[(f[j>>2]|0)+8>>2]&127](j)|0)&255;b[g>>0]=j;j=5}else e=0;else j=5;if((j|0)==5){m=d+16|0;l=m;i=f[l+4>>2]|0;if(!((i|0)>0|(i|0)==0&(f[l>>2]|0)>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,g,g+1|0)|0}e=f[n>>2]|0;if(e|0?(l=(Ra[f[(f[e>>2]|0)+36>>2]&127](e)|0)&255,b[q>>0]=l,l=m,i=f[l+4>>2]|0,!((i|0)>0|(i|0)==0&(f[l>>2]|0)>>>0>0)):0){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,q,q+1|0)|0}e=f[a+32>>2]|0;i=b[e+24>>0]|0;l=X(i,f[e+80>>2]|0)|0;e=(f[f[e>>2]>>2]|0)+(f[e+48>>2]|0)|0;yk(q,l);g=f[n>>2]|0;if((g|0)!=0?(Qa[f[(f[g>>2]|0)+44>>2]&31](g,e,f[q>>2]|0,l,i,f[c>>2]|0)|0,h=f[n>>2]|0,(h|0)!=0):0){if(!(Ra[f[(f[h>>2]|0)+32>>2]&127](h)|0)){g=q;e=(f[n>>2]|0)==0?e:f[q>>2]|0;j=16}}else{g=q;j=16}if((j|0)==16)nm(e,l,f[g>>2]|0);e=f[a+4>>2]|0;do if((e|0)!=0?(j=f[e+48>>2]|0,f[o>>2]=0,f[o+4>>2]=0,f[o+8>>2]=0,Kj(o,11500,34),j=Pj(j,o,1)|0,_n(o),!j):0){i=(l|0)==0;if(!i){e=f[q>>2]|0;g=0;h=0;do{h=f[e+(g<<2)>>2]|h;g=g+1|0}while((g|0)!=(l|0));if(h)a=((_(h|0)|0)>>>3^3)+1|0;else a=1}else a=1;b[k>>0]=0;e=m;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,k,k+1|0)|0;g=m;e=f[g+4>>2]|0;g=f[g>>2]|0}b[k>>0]=a;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,k,k+1|0)|0}if((a|0)==(Ql(5)|0)){e=f[q>>2]|0;k=f[m+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[m>>2]|0)>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,e,e+(l<<2)|0)|0}j=40;break}if(i)j=40;else{e=d+4|0;h=0;do{g=(f[q>>2]|0)+(h<<2)|0;k=m;j=f[k+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){f[p>>2]=f[e>>2];f[o>>2]=f[p>>2];Ie(d,o,g,g+a|0)|0}h=h+1|0}while(h>>>0>>0);j=40}}else j=21;while(0);if((j|0)==21){b[k>>0]=1;l=f[m+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[m>>2]|0)>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,k,k+1|0)|0}if(Nc(f[q>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,d)|0)j=40;else e=0}if((j|0)==40){e=f[n>>2]|0;if(!e)e=1;else{Va[f[(f[e>>2]|0)+40>>2]&127](e,d)|0;e=1}}i=f[q>>2]|0;if(i|0){h=q+4|0;g=f[h>>2]|0;if((g|0)!=(i|0))f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2);mq(i)}}q=e;u=r;return q|0}function xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Fa(13062,13084,46,13248);if(!(f[a+8>>2]|0))Fa(13062,13084,46,13248);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Bg(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Bg(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Bg(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=Dn(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=Dn(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=Dn(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=Dn(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=Dn(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Zm(H|0,J|0,i|0,h|0)|0;M=I;P=Zm(T|0,S|0,K|0,L|0)|0;O=I;L=Zm(R|0,Q|0,K|0,L|0)|0;K=I;J=Zm(H|0,J|0,n|0,j|0)|0;H=I;j=Zm(T|0,S|0,n|0,j|0)|0;n=I;h=Zm(R|0,Q|0,i|0,h|0)|0;i=I;l=Dn(l|0,k|0,P|0,O|0)|0;l=Zn(l|0,I|0,N|0,M|0)|0;k=I;g=Zn(L|0,K|0,g|0,m|0)|0;g=Dn(g|0,I|0,J|0,H|0)|0;m=I;c=Dn(c|0,e|0,h|0,i|0)|0;c=Zn(c|0,I|0,j|0,n|0)|0;e=I;xf(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=Dn(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=Dn(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=Dn(0,0,c|0,e|0)|0;S=Zn((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Zn(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=yn(h|0,i|0,29)|0;T=T&7;i=kk(l|0,k|0,T|0,0)|0;j=I;g=kk(g|0,m|0,T|0,0)|0;h=I;c=kk(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=yn(h|0,i|0,29)|0;T=I;i=kk(l|0,k|0,S|0,T|0)|0;j=I;g=kk(g|0,m|0,S|0,T|0)|0;h=I;c=kk(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=Dn(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=Dn(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=Dn(0,0,c|0,e|0)|0;Q=Zn((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Zn(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Fa(13270,13084,95,13248)}function yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Fa(13062,13084,46,13248);if(!(f[a+8>>2]|0))Fa(13062,13084,46,13248);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Gg(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Gg(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Gg(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=Dn(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=Dn(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=Dn(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=Dn(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=Dn(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Zm(H|0,J|0,i|0,h|0)|0;M=I;P=Zm(T|0,S|0,K|0,L|0)|0;O=I;L=Zm(R|0,Q|0,K|0,L|0)|0;K=I;J=Zm(H|0,J|0,n|0,j|0)|0;H=I;j=Zm(T|0,S|0,n|0,j|0)|0;n=I;h=Zm(R|0,Q|0,i|0,h|0)|0;i=I;l=Dn(l|0,k|0,P|0,O|0)|0;l=Zn(l|0,I|0,N|0,M|0)|0;k=I;g=Zn(L|0,K|0,g|0,m|0)|0;g=Dn(g|0,I|0,J|0,H|0)|0;m=I;c=Dn(c|0,e|0,h|0,i|0)|0;c=Zn(c|0,I|0,j|0,n|0)|0;e=I;Lg(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=Dn(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=Dn(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=Dn(0,0,c|0,e|0)|0;S=Zn((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Zn(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=yn(h|0,i|0,29)|0;T=T&7;i=kk(l|0,k|0,T|0,0)|0;j=I;g=kk(g|0,m|0,T|0,0)|0;h=I;c=kk(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=yn(h|0,i|0,29)|0;T=I;i=kk(l|0,k|0,S|0,T|0)|0;j=I;g=kk(g|0,m|0,S|0,T|0)|0;h=I;c=kk(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=Dn(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=Dn(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=Dn(0,0,c|0,e|0)|0;Q=Zn((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Zn(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Fa(13270,13084,95,13248)}function zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=Ka,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=Ka;t=b[c+11>>0]|0;v=t<<24>>24<0;u=v?f[c>>2]|0:c;t=v?f[c+4>>2]|0:t&255;if(t>>>0>3){j=u;m=t;k=t;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}v=t+-4|0;k=v&-4;l=u+(k+4)|0;j=m;k=v-k|0}else{l=u;j=t;k=t}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;x=6;break}case 2:{o=j;x=6;break}case 1:{p=j;x=7;break}default:q=j}if((x|0)==6){p=h[l+1>>0]<<8^o;x=7}if((x|0)==7)q=X(h[l>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;r=a+4|0;q=f[r>>2]|0;s=(q|0)==0;a:do if(!s){o=q+-1|0;k=(o&q|0)==0;if(k)p=v&o;else p=(v>>>0)%(q>>>0)|0;j=f[(f[a>>2]|0)+(p<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){j=(t|0)==0;if(k){if(j){while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}u=b[e+8+11>>0]|0;if(!((u<<24>>24<0?f[e+12>>2]|0:u&255)|0))break;e=f[e>>2]|0;if(!e){d=p;break a}}a=e+20|0;return a|0}b:while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(il(k,u,t)|0)){x=54;break b}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break b}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}else{if(j){d=e;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}u=b[d+8+11>>0]|0;if(!((u<<24>>24<0?f[d+12>>2]|0:u&255)|0)){e=d;break}d=f[d>>2]|0;if(!d){d=p;break a}}a=e+20|0;return a|0}c:while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(il(k,u,t)|0)){x=54;break c}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}}else d=p}else d=0;while(0);l=_m(24)|0;dl(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=v;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);y=$(q>>>0);g=$(n[a+16>>2]);do if(s|i>$(y*g)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(i/g)))>>>0;Rh(a,d>>>0>>0?e:d);d=f[r>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&v;break}else{j=d;d=(v>>>0)%(d>>>0)|0;break}}else j=q;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;w=(f[a>>2]|0)+(d<<2)|0;x=52}}else{f[l>>2]=f[d>>2];w=d;x=52}if((x|0)==52)f[w>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else zi(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))zi(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else zi(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){zi(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)Fa(19877,19795,64,19872);else if((C|0)==33)Fa(19877,19795,64,19872)}function Bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=u;u=u+16|0;A=B+4|0;z=B;if(!(Ci(a,d)|0)){a=0;u=B;return a|0}v=a+64|0;d=f[v>>2]|0;a:do if(((f[d+4>>2]|0)-(f[d>>2]|0)|0)>0){s=a+12|0;w=c+96|0;t=c+100|0;x=e+84|0;r=e+68|0;y=a+24|0;q=0;b:while(1){f[z>>2]=(q>>>0)/3|0;f[A>>2]=f[z>>2];p=Cj(d,A)|0;d=f[v>>2]|0;do if(!p){p=f[(f[d+12>>2]|0)+(q<<2)>>2]|0;if((p|0)<0){g=(f[a>>2]|0)+(q>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(q&31);g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;p=(f[s>>2]|0)+(g>>>5<<2)|0;f[p>>2]=f[p>>2]|1<<(g&31);g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;p=(f[s>>2]|0)+(g>>>5<<2)|0;f[p>>2]=f[p>>2]|1<<(g&31);break}if((p|0)>=(q|0)){o=q+1|0;k=((o|0)%3|0|0)==0?q+-2|0:o;i=p+(((p>>>0)%3|0|0)==0?2:-1)|0;h=(k|0)/3|0;if((k|0)<=-3){d=17;break b}g=f[w>>2]|0;n=((f[t>>2]|0)-g|0)/12|0;if((h|0)>=(n|0)){d=19;break b}m=g;j=f[m+(h*12|0)+(((k|0)%3|0)<<2)>>2]|0;g=(i|0)/3|0;if((i|0)<=-3){d=21;break b}if((g|0)>=(n|0)){d=23;break b}g=f[m+(g*12|0)+(((i|0)%3|0)<<2)>>2]|0;l=(b[x>>0]|0)==0;if(l){C=f[r>>2]|0;h=f[C+(g<<2)>>2]|0;g=f[C+(j<<2)>>2]|0}else{h=g;g=j}if((g|0)==(h|0)){g=k+1|0;if((k|0)<0)h=k;else h=((g|0)%3|0|0)==0?k+-2|0:g;do if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}while(0);g=(h|0)/3|0;if((h|0)<=-3){d=17;break b}if((g|0)>=(n|0)){d=19;break b}g=f[m+(g*12|0)+(((h|0)%3|0)<<2)>>2]|0;h=(i|0)/3|0;if((i|0)<=-3){d=21;break b}if((h|0)>=(n|0)){d=23;break b}h=f[m+(h*12|0)+(((i|0)%3|0)<<2)>>2]|0;if(l){C=f[r>>2]|0;h=f[C+(h<<2)>>2]|0;g=f[C+(g<<2)>>2]|0}if((g|0)==(h|0))break}b[y>>0]=0;g=f[a>>2]|0;C=g+(q>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(q&31);g=g+(p>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(p&31);g=((o|0)%3|0|0)==0?q+-2|0:o;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31);g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31);g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31);g=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31)}}while(0);q=q+1|0;if((q|0)>=((f[d+4>>2]|0)-(f[d>>2]|0)>>2|0))break a}if((d|0)==17)Fa(19770,19795,63,19872);else if((d|0)==19)Fa(19877,19795,64,19872);else if((d|0)==21)Fa(19770,19795,63,19872);else if((d|0)==23)Fa(19877,19795,64,19872)}while(0);if((c|0)!=0&(e|0)!=0){Ac(a,c,e);C=1;u=B;return C|0}else{Mc(a,0,0);C=1;u=B;return C|0}return 0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+32|0;t=v+12|0;q=v+8|0;p=v+4|0;r=v;s=a+8|0;a:do if(f[s>>2]|0?(o=f[a>>2]|0,n=a+4|0,f[a>>2]=n,f[(f[n>>2]|0)+8>>2]=0,f[n>>2]=0,f[s>>2]=0,d=f[o+4>>2]|0,d=(d|0)==0?o:d,d|0):0){o=a+4|0;g=f[b>>2]|0;e=g;m=d;while(1){if((g|0)==(f[c>>2]|0))break;h=m+16|0;f[h>>2]=f[g+16>>2];if((m|0)!=(g|0)){f[p>>2]=f[g+20>>2];f[r>>2]=g+24;f[q>>2]=f[p>>2];f[t>>2]=f[r>>2];Kc(m+20|0,q,t)}j=m+8|0;g=f[j>>2]|0;do if(g){d=f[g>>2]|0;if((d|0)==(m|0)){f[g>>2]=0;d=f[g+4>>2]|0;if(!d){l=g;break}while(1){g=f[d>>2]|0;if(g|0){d=g;continue}g=f[d+4>>2]|0;if(!g)break;else d=g}l=d;break}else{f[g+4>>2]=0;if(!d){l=g;break}while(1){g=f[d>>2]|0;if(g|0){d=g;continue}g=f[d+4>>2]|0;if(!g)break;else d=g}l=d;break}}else l=0;while(0);d=f[n>>2]|0;do if(d){h=f[h>>2]|0;i=d;while(1){if((h|0)<(f[i+16>>2]|0)){d=f[i>>2]|0;if(!d){k=22;break}}else{g=i+4|0;d=f[g>>2]|0;if(!d){k=25;break}}i=d}if((k|0)==22){d=i;g=i;break}else if((k|0)==25){d=i;break}}else{d=n;g=n}while(0);f[m>>2]=0;f[m+4>>2]=0;f[j>>2]=d;f[g>>2]=m;d=f[f[a>>2]>>2]|0;if(!d)d=m;else{f[a>>2]=d;d=f[g>>2]|0}Je(f[o>>2]|0,d);f[s>>2]=(f[s>>2]|0)+1;d=f[e+4>>2]|0;if(!d)while(1){d=f[e+8>>2]|0;if((f[d>>2]|0)==(e|0))break;else e=d}else while(1){e=f[d>>2]|0;if(!e)break;else d=e}f[b>>2]=d;if(!l)break a;else{e=d;g=d;m=l}}d=f[m+8>>2]|0;if(!d)d=m;else while(1){e=f[d+8>>2]|0;if(!e)break;else d=e}tj(a,d)}while(0);d=f[b>>2]|0;l=f[c>>2]|0;if((d|0)==(l|0)){u=v;return}m=a+4|0;n=a+4|0;g=d;e=d;while(1){Ig(t,a,g+16|0);g=f[m>>2]|0;do if(g){d=f[t>>2]|0;i=f[d+16>>2]|0;j=g;while(1){if((i|0)<(f[j+16>>2]|0)){g=f[j>>2]|0;if(!g){k=41;break}}else{h=j+4|0;g=f[h>>2]|0;if(!g){k=44;break}}j=g}if((k|0)==41){g=j;h=j;break}else if((k|0)==44){g=j;break}}else{d=f[t>>2]|0;g=m;h=m}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=g;f[h>>2]=d;g=f[f[a>>2]>>2]|0;if(g){f[a>>2]=g;d=f[h>>2]|0}Je(f[n>>2]|0,d);f[s>>2]=(f[s>>2]|0)+1;d=f[e+4>>2]|0;if(!d)while(1){d=f[e+8>>2]|0;if((f[d>>2]|0)==(e|0))break;else e=d}else while(1){e=f[d>>2]|0;if(!e)break;else d=e}f[b>>2]=d;if((d|0)==(l|0))break;else{g=d;e=d}}u=v;return}function Dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))Fa(20527,20426,68,20517);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);mq(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(e)}mq(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}mq(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){Gi(d);mq(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){Gi(c);mq(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){dm(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function Ec(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+4|0;i=f[w>>2]|0;v=a+100|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=0}else{i=Pi(a)|0;k=0}a:while(1){switch(i|0){case 46:{o=8;break a}case 48:break;default:{u=0;n=0;q=0;j=0;r=k;t=0;s=0;m=1.0;k=0;g=0.0;break a}}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=1;continue}else{i=Pi(a)|0;k=1;continue}}if((o|0)==8){i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Pi(a)|0;if((i|0)==48){k=0;j=0;do{i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Pi(a)|0;k=Zn(k|0,j|0,-1,-1)|0;j=I}while((i|0)==48);u=0;n=0;q=k;r=1;t=1;s=0;m=1.0;k=0;g=0.0}else{u=0;n=0;q=0;j=0;r=k;t=1;s=0;m=1.0;k=0;g=0.0}}while(1){p=i+-48|0;o=(i|0)==46;if(p>>>0>=10?!(o|((i|32)+-97|0)>>>0<6):0)break;if(o)if(!t){q=n;j=u;p=u;t=1;o=s;l=m}else{i=46;break}else{i=(i|0)>57?(i|32)+-87|0:p;do if(!((u|0)<0|(u|0)==0&n>>>0<8))if((u|0)<0|(u|0)==0&n>>>0<14){m=m*.0625;o=s;l=m;g=g+m*+(i|0);break}else{r=(s|0)!=0|(i|0)==0;o=r?s:1;l=m;g=r?g:g+m*.5;break}else{o=s;l=m;k=i+(k<<4)|0}while(0);n=Zn(n|0,u|0,1,0)|0;p=I;r=1}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;u=p;i=h[i>>0]|0;s=o;m=l;continue}else{u=p;i=Pi(a)|0;s=o;m=l;continue}}do if(!r){i=f[v>>2]|0;j=(i|0)!=0;if(j)f[w>>2]=(f[w>>2]|0)+-1;if(e){if(j)f[w>>2]=(f[w>>2]|0)+-1;if(!((t|0)==0|(i|0)==0))f[w>>2]=(f[w>>2]|0)+-1}else Lm(a,0);g=+(d|0)*0.0}else{o=(t|0)==0;p=o?n:q;o=o?u:j;if((u|0)<0|(u|0)==0&n>>>0<8){j=u;do{k=k<<4;n=Zn(n|0,j|0,1,0)|0;j=I}while((j|0)<0|(j|0)==0&n>>>0<8)}if((i|32|0)==112){j=$e(a,e)|0;i=I;if((j|0)==0&(i|0)==-2147483648){if(!e){Lm(a,0);g=0.0;break}if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}}}else if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}w=tn(p|0,o|0,2)|0;w=Zn(w|0,I|0,-32,-1)|0;i=Zn(w|0,I|0,j|0,i|0)|0;j=I;if(!k){g=+(d|0)*0.0;break}w=0-c|0;e=((w|0)<0)<<31>>31;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>w>>>0){b=aq()|0;f[b>>2]=34;g=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}w=c+-106|0;e=((w|0)<0)<<31>>31;if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0){b=aq()|0;f[b>>2]=34;g=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((k|0)>-1){do{w=!(g>=.5);k=k<<1|(w^1)&1;g=g+(w?g:g+-1.0);i=Zn(i|0,j|0,-1,-1)|0;j=I}while((k|0)>-1);n=i;m=g}else{n=i;m=g}w=((b|0)<0)<<31>>31;i=Dn(32,0,c|0,((c|0)<0)<<31>>31|0)|0;i=Zn(i|0,I|0,n|0,j|0)|0;c=I;if((w|0)>(c|0)|(w|0)==(c|0)&b>>>0>i>>>0)if((i|0)>0)o=59;else{j=0;i=84;o=61}else{i=b;o=59}if((o|0)==59)if((i|0)<53){j=i;i=84-i|0;o=61}else{l=0.0;g=+(d|0)}if((o|0)==61){g=+(d|0);l=+Sp(+Qj(1.0,i),g);i=j}d=(k&1|0)==0&(m!=0.0&(i|0)<32);g=g*(d?0.0:m)+(l+g*+(((d&1)+k|0)>>>0))-l;if(!(g!=0.0)){d=aq()|0;f[d>>2]=34}g=+Tp(g,n)}while(0);return +g}function Fc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=Ka,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=Ka;E=u;u=u+112|0;x=E+104|0;y=E+64|0;o=E+24|0;A=E+16|0;p=E+92|0;r=E+80|0;q=E+68|0;z=E;B=E+52|0;C=E+40|0;D=E+28|0;f[o>>2]=0;m=f[a>>2]|0;v=a+4|0;h=f[v>>2]|0;w=c+4|0;if((h|0)==(f[w>>2]|0))g=$(0.0);else{l=m+84|0;i=m+68|0;j=r+4|0;k=q+8|0;g=$(0.0);do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,p)|0;F=$(K($(n[p>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,r)|0;F=$(K($(n[j>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,q)|0;F=$(K($(n[k>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;h=h+1|0;g=(f[s>>2]=t,$(n[s>>2]))}while((h|0)!=(f[w>>2]|0))}t=(1<>2])+-1|0;dp(A);no(A,g,t);n[d+4>>2]=g;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;d=f[a>>2]|0;h=f[v>>2]|0;if((h|0)==(f[w>>2]|0)){D=f[e>>2]|0;u=E;return D|0}r=d+84|0;l=d+68|0;a=A+4|0;q=C+4|0;p=z+4|0;o=D+8|0;m=z+8|0;c=f[e>>2]|0;j=c+4|0;k=c+8|0;i=h;do{f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,B)|0;F=$(n[B>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[z>>2]=(v?0-e|0:e)+t;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,C)|0;F=$(n[q>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[p>>2]=(v?0-e|0:e)+t;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,D)|0;F=$(n[o>>2]);e=F<$(0.0);g=$(-F);F=$((e?g:F)/$(n[A>>2]));h=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[m>>2]=(e?0-h|0:h)+t;h=f[j>>2]|0;if((h|0)==(f[k>>2]|0))_g(c,z);else{f[h>>2]=f[z>>2];f[h+4>>2]=f[p>>2];f[h+8>>2]=f[m>>2];f[j>>2]=h+12}i=i+1|0}while((i|0)!=(f[w>>2]|0));u=E;return c|0}function Gc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2004;e=b;f[a>>2]=e;return}case 2:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2060;e=b;f[a>>2]=e;return}case 4:{b=_m(112)|0;f[b>>2]=1528;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2116;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(88)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2172;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(104)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2228;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(140)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2284;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2340;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Hc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1640;e=b;f[a>>2]=e;return}case 2:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1696;e=b;f[a>>2]=e;return}case 4:{b=_m(112)|0;f[b>>2]=1528;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1752;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(88)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1808;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(104)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1864;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(140)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1920;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1976;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Ic(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>203){f[c>>2]=b+-204;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{dm(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}g=_m(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){mq(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}d=_m(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=_m(4080)|0;f[j>>2]=e;sg(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;ng(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)mq(d);u=o;return}if((c|0)!=(b|0)){n=_m(4080)|0;f[k>>2]=n;sg(a,k);u=o;return}j=_m(4080)|0;f[k>>2]=j;ng(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{dm(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}g=_m(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){mq(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function Jc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;F=u;u=u+352|0;C=F+340|0;B=F+336|0;l=F+80|0;E=F+48|0;D=F;Xi(l|0,0,256)|0;i=f[e+4>>2]|0;j=f[e>>2]|0;k=j;if((i|0)!=(j|0)){j=i-j>>2;i=0;do{A=l+(f[k+(i<<2)>>2]<<3)|0;z=A;z=Zn(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;f[A>>2]=z;f[A+4>>2]=I;i=i+1|0}while(i>>>0>>0)}jn(E);w=c<<5;y=D+40|0;z=y;f[z>>2]=0;f[z+4>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;bd(D,l,32,g)|0;z=D+16|0;z=tn(f[z>>2]|0,f[z+4>>2]|0,1)|0;A=g+4|0;x=(f[A>>2]|0)-(f[g>>2]|0)|0;v=y;f[v>>2]=x;f[v+4>>2]=0;z=Zn(z|0,I|0,39,0)|0;z=yn(z|0,I|0,3)|0;z=Zn(z|0,I|0,8,0)|0;x=Zn(z|0,I|0,x|0,0)|0;sl(g,x,I);x=D+24|0;f[x>>2]=(f[g>>2]|0)+(f[y>>2]|0);y=D+28|0;f[y>>2]=0;z=D+32|0;f[z>>2]=16384;qi(E,w,((w|0)<0)<<31>>31,0)|0;w=c-d|0;a:do if((w|0)>-1){t=(d|0)>0;s=E+16|0;r=E+12|0;v=w;b:while(1){j=f[e>>2]|0;l=f[j+(((v|0)/(d|0)|0)<<2)>>2]|0;c=f[D>>2]|0;m=f[c+(l<<3)>>2]|0;i=f[z>>2]|0;k=m<<10;if(i>>>0>=k>>>0){do{p=f[x>>2]|0;q=f[y>>2]|0;f[y>>2]=q+1;b[p+q>>0]=i;i=(f[z>>2]|0)>>>8;f[z>>2]=i}while(i>>>0>=k>>>0);j=f[e>>2]|0}f[z>>2]=(((i>>>0)/(m>>>0)|0)<<12)+((i>>>0)%(m>>>0)|0)+(f[c+(l<<3)+4>>2]|0);q=w-v|0;j=f[j+(((q|0)/(d|0)|0)<<2)>>2]|0;c:do if(t){o=(j|0)<33;p=(j|0)>0;if((j|0)>-1)n=0;else{i=s;j=f[i+4>>2]|0;i=(j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0;j=0;while(1){if(i){i=21;break b}j=j+1|0;if((j|0)>=(d|0))break c}}do{k=f[a+(n+q<<2)>>2]|0;m=s;c=f[m+4>>2]|0;if((c|0)>0|(c|0)==0&(f[m>>2]|0)>>>0>0){l=f[r>>2]|0;if(!o){i=22;break b}if(p){m=l+4|0;i=f[m>>2]|0;c=0;do{G=i>>>3;H=i&7;J=(f[l>>2]|0)+G|0;b[J>>0]=(h[J>>0]|0)&(1<>2]|0)+G|0;b[G>>0]=h[G>>0]|0|(k>>>c&1)<>2]|0)+1|0;f[m>>2]=i;c=c+1|0}while((c|0)!=(j|0))}}n=n+1|0}while((n|0)<(d|0))}while(0);v=v-d|0;if((v|0)<=-1)break a}if((i|0)==21)Fa(19299,19314,88,19401);else if((i|0)==22)Fa(19409,19314,89,19401)}while(0);ig(D,g);Of(E);i=f[E>>2]|0;l=E+4|0;J=g+16|0;H=f[J+4>>2]|0;if(!((H|0)>0|(H|0)==0&(f[J>>2]|0)>>>0>0)){J=(f[l>>2]|0)-i|0;f[B>>2]=f[A>>2];f[C>>2]=f[B>>2];Ie(g,C,i,i+J|0)|0}k=f[D>>2]|0;if(k|0){j=D+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-8-k|0)>>>3)<<3);mq(k)}J=E+12|0;i=f[J>>2]|0;f[J>>2]=0;if(i|0)mq(i);i=f[E>>2]|0;if(!i){u=F;return 1}if((f[l>>2]|0)!=(i|0))f[l>>2]=i;mq(i);u=F;return 1}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=a+8|0;a:do if(f[r>>2]|0?(t=f[a>>2]|0,s=a+4|0,f[a>>2]=s,f[(f[s>>2]|0)+8>>2]=0,f[s>>2]=0,f[r>>2]=0,e=f[t+4>>2]|0,e=(e|0)==0?t:e,e|0):0){q=s;t=a+4|0;h=f[c>>2]|0;g=h;p=e;while(1){if((h|0)==(f[d>>2]|0))break;i=p+16|0;Ul(i,h+16|0)|0;Ul(p+28|0,h+28|0)|0;n=p+8|0;h=f[n>>2]|0;do if(h){e=f[h>>2]|0;if((e|0)==(p|0)){f[h>>2]=0;e=f[h+4>>2]|0;if(!e){o=h;break}while(1){h=f[e>>2]|0;if(h|0){e=h;continue}h=f[e+4>>2]|0;if(!h)break;else e=h}o=e;break}else{f[h+4>>2]=0;if(!e){o=h;break}while(1){h=f[e>>2]|0;if(h|0){e=h;continue}h=f[e+4>>2]|0;if(!h)break;else e=h}o=e;break}}else o=0;while(0);e=f[s>>2]|0;do if(e){m=b[i+11>>0]|0;l=m<<24>>24<0;m=l?f[p+20>>2]|0:m&255;l=l?f[i>>2]|0:i;k=e;while(1){h=k+16|0;i=b[h+11>>0]|0;j=i<<24>>24<0;i=j?f[k+20>>2]|0:i&255;e=i>>>0>>0?i:m;if((e|0)!=0?(u=il(l,j?f[h>>2]|0:h,e)|0,(u|0)!=0):0)if((u|0)<0)i=22;else i=24;else if(m>>>0>>0)i=22;else i=24;if((i|0)==22){e=f[k>>2]|0;if(!e){i=23;break}}else if((i|0)==24){h=k+4|0;e=f[h>>2]|0;if(!e){i=26;break}}k=e}if((i|0)==23){e=k;h=k;break}else if((i|0)==26){e=k;break}}else{e=q;h=s}while(0);f[p>>2]=0;f[p+4>>2]=0;f[n>>2]=e;f[h>>2]=p;e=f[f[a>>2]>>2]|0;if(!e)e=p;else{f[a>>2]=e;e=f[h>>2]|0}Je(f[t>>2]|0,e);f[r>>2]=(f[r>>2]|0)+1;e=f[g+4>>2]|0;if(!e)while(1){e=f[g+8>>2]|0;if((f[e>>2]|0)==(g|0))break;else g=e}else while(1){g=f[e>>2]|0;if(!g)break;else e=g}f[c>>2]=e;if(!o)break a;else{g=e;h=e;p=o}}e=f[p+8>>2]|0;if(!e)e=p;else while(1){g=f[e+8>>2]|0;if(!g)break;else e=g}mj(a,e)}while(0);e=f[c>>2]|0;i=f[d>>2]|0;if((e|0)==(i|0))return;h=e;g=e;while(1){ff(a,h+16|0)|0;e=f[g+4>>2]|0;if(!e)while(1){e=f[g+8>>2]|0;if((f[e>>2]|0)==(g|0))break;else g=e}else while(1){g=f[e>>2]|0;if(!g)break;else e=g}f[c>>2]=e;if((e|0)==(i|0))break;else{h=e;g=e}}return} -function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[5978]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=23952+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[5978]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[5980]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=23952+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[5983]|0;b=l>>>3;c=23952+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5980]=g;f[5983]=e;w=h;u=x;return w|0}i=f[5979]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[24216+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=24216+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[5979]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[5983]|0;b=l>>>3;c=23952+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5980]=j;f[5983]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[5979]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[24216+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[24216+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[5980]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=24216+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=23952+(b<<1<<2)|0;a=f[5978]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=24216+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[5980]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[5983]|0;if(a>>>0>15){w=b+m|0;f[5983]=w;f[5980]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[5980]=0;f[5983]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[5981]|0;if(h>>>0>m>>>0){t=h-m|0;f[5981]=t;w=f[5984]|0;v=w+m|0;f[5984]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[6096]|0)){f[6098]=4096;f[6097]=4096;f[6099]=-1;f[6100]=-1;f[6101]=0;f[6089]=0;a=n&-16^1431655768;f[n>>2]=a;f[6096]=a;a=4096}else a=f[6098]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[6088]|0;if(a|0?(l=f[6086]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[6089]&4)){c=f[5984]|0;c:do if(c){e=24360;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=vl(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=vl(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[6097]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[6086]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[6088]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=vl(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[6098]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((vl(a|0)|0)==(-1|0)){vl(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[6089]=f[6089]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=vl(k|0)|0,q=vl(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[6086]|0)+g|0;f[6086]=b;if(b>>>0>(f[6087]|0)>>>0)f[6087]=b;j=f[5984]|0;do if(j){e=24360;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[5981]|0)+(g-w)|0;f[5984]=v;f[5981]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5985]=f[6100];break}if(h>>>0<(f[5982]|0)>>>0)f[5982]=h;c=h+g|0;a=24360;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[5983]|0)){w=(f[5980]|0)+i|0;f[5980]=w;f[5983]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[5978]=f[5978]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=24216+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[5979]=f[5979]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=23952+(b<<1<<2)|0;a=f[5978]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=24216+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[5979]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[5981]|0)+i|0;f[5981]=w;f[5984]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=24360;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[5984]=v;f[5981]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[5985]=f[6100];c=a+4|0;f[c>>2]=27;f[b>>2]=f[6090];f[b+4>>2]=f[6091];f[b+8>>2]=f[6092];f[b+12>>2]=f[6093];f[6090]=h;f[6091]=g;f[6093]=0;f[6092]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=23952+(b<<1<<2)|0;a=f[5978]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=24216+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[5979]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[5982]|0;if((w|0)==0|h>>>0>>0)f[5982]=h;f[6090]=h;f[6091]=g;f[6093]=0;f[5987]=f[6096];f[5986]=-1;b=0;do{w=23952+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[5984]=v;f[5981]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5985]=f[6100]}while(0);b=f[5981]|0;if(b>>>0>m>>>0){t=b-m|0;f[5981]=t;w=f[5984]|0;v=w+m|0;f[5984]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=aq()|0;f[w>>2]=12;w=0;u=x;return w|0}function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(xl(6828,7020,c,b)|0)-6828>>2;a=e;e=0;a:while(1){b=(f[6828+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[6636+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=xl(6636,6828,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function Za(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=u;u=u+112|0;Z=ja+100|0;W=ja+96|0;ia=ja+48|0;ga=ja+32|0;$=ja+104|0;_=ja+8|0;V=ja+4|0;Y=ja;fa=a+8|0;f[fa>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else gi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{U=f[c+(k<<2)>>2]|0;T=(U|0)<(i|0);i=T?U:i;j=T?j:(U|0)>(j|0)?U:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;U=1-i+j|0;f[a+20>>2]=U;i=(U|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(U&1))f[j>>2]=i+-1}T=f[a+48>>2]|0;U=f[a+52>>2]|0;i=ia;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{gi(ia,g);i=f[ia+12>>2]|0;j=f[ia+16>>2]|0}k=ia+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else gi(ia+12|0,g-l|0);l=ia+24|0;k=ia+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else gi(l,g-m|0);l=ia+36|0;k=ia+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else gi(l,g-m|0);yk(ga,g);K=a+56|0;k=f[K>>2]|0;j=f[k+4>>2]|0;i=f[k>>2]|0;l=j-i|0;a:do if((l|0)>4){J=T+64|0;C=T+28|0;H=(g|0)>0;I=_+4|0;R=_+8|0;S=_+12|0;O=a+16|0;E=a+32|0;Q=a+12|0;P=a+28|0;N=a+20|0;M=a+24|0;D=_+12|0;F=_+16|0;G=ga+4|0;L=$+1|0;B=g<<2;v=l>>2;while(1){A=v+-1|0;if(j-i>>2>>>0<=A>>>0){Vo(k);i=f[k>>2]|0}p=f[i+(A<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;j=0;b:while(1){do{if((i|0)<=-1){y=j;break b}k=f[ia+(j*12|0)>>2]|0;if(((f[(f[T>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(ea=f[(f[(f[J>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(ea|0)>=0):0)?(da=f[C>>2]|0,z=f[U>>2]|0,ba=f[z+(f[da+(ea<<2)>>2]<<2)>>2]|0,ca=ea+1|0,ca=f[z+(f[da+((((ca|0)%3|0|0)==0?ea+-2|0:ca)<<2)>>2]<<2)>>2]|0,da=f[z+(f[da+((((ea>>>0)%3|0|0)==0?2:-1)+ea<<2)>>2]<<2)>>2]|0,(ba|0)<(A|0)&(ca|0)<(A|0)&(da|0)<(A|0)):0){m=X(ba,g)|0;n=X(ca,g)|0;e=X(da,g)|0;if(H){l=0;do{f[k+(l<<2)>>2]=(f[c+(l+e<<2)>>2]|0)+(f[c+(l+n<<2)>>2]|0)-(f[c+(l+m<<2)>>2]|0);l=l+1|0}while((l|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break b}}do if(o){k=i+1|0;i=((k|0)%3|0|0)==0?i+-2|0:k;k=f[T>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[J>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;l=i+1|0;if((i|0)>=0)i=((l|0)%3|0|0)==0?i+-2|0:l}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;k=f[T>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[J>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){y=j;break b}}while(!(o&(i|0)<0));i=(t&f[k+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[J>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}z=X(A,g)|0;f[_>>2]=2147483647;b[I>>0]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;k=X(v+-2|0,g)|0;if(H){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[_>>2]=i;b[I>>0]=0;f[R>>2]=0;x=c+(k<<2)|0;lf(S,x,x+(g<<2)|0);if((y|0)>=1){p=$+y|0;v=p+-1|0;r=(v|0)==($|0);t=p+-2|0;q=L>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>$>>>0;w=0;x=1;while(1){w=w+1|0;Xi($|0,1,o|0)|0;Xi($|0,0,w|0)|0;c:while(1){if(H){Xi(f[ga>>2]|0,0,B|0)|0;l=f[ga>>2]|0;i=0;m=0;do{if(!(b[$+m>>0]|0)){j=f[ia+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[_>>2]|0)){f[_>>2]=j;b[I>>0]=i;f[R>>2]=x;f[V>>2]=f[ga>>2];f[Y>>2]=f[G>>2];f[W>>2]=f[V>>2];f[Z>>2]=f[Y>>2];cf(S,W,Z)}if(r)break;aa=b[v>>0]|0;m=aa;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==($|0)){ha=76;break c}else n=i}i=p+n|0;if((m&255)<(aa&255)){k=aa;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue c}}if(((ha|0)==76?(ha=0,s):0)?(e=b[$>>0]|0,b[$>>0]=aa,b[v>>0]=e,q):0){i=t;j=L;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[I>>0]&1<>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){Wo(n);j=f[l>>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[fa>>2]|0;if((j|0)>0){i=f[S>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[O>>2]|0;if((j|0)>(k|0)){j=f[E>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[Q>>2]|0;z=f[E>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[fa>>2]|0));l=j}else l=f[E>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[P>>2]|0)){if((j|0)>(f[M>>2]|0)){j=j-(f[N>>2]|0)|0;ha=93}}else{j=(f[N>>2]|0)+j|0;ha=93}if((ha|0)==93){ha=0;f[k>>2]=j}n=n+1|0;j=f[fa>>2]|0}while((n|0)<(j|0))}else i=f[D>>2]|0;if(i|0){j=f[F>>2]|0;if((j|0)!=(i|0))f[F>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;k=f[K>>2]|0;i=f[k>>2]|0;j=f[k+4>>2]|0;v=A}}while(0);k=f[ia>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[fa>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[fa>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ha=125}}else{i=(f[o>>2]|0)+i|0;ha=125}if((ha|0)==125){ha=0;f[j>>2]=i}m=m+1|0;i=f[fa>>2]|0}while((m|0)<(i|0))}k=f[ga>>2]|0;if(k|0){j=ga+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k)}i=f[ia+36>>2]|0;if(i|0){k=ia+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[ia+24>>2]|0;if(i|0){k=ia+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[ia+12>>2]|0;if(i|0){k=ia+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}k=f[ia>>2]|0;if(!k){u=ja;return 1}j=ia+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k);u=ja;return 1}function _a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=u;u=u+112|0;Y=ea+100|0;V=ea+96|0;da=ea+48|0;ba=ea+32|0;_=ea+104|0;Z=ea+8|0;U=ea+4|0;W=ea;aa=a+8|0;f[aa>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else gi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{T=f[c+(k<<2)>>2]|0;S=(T|0)<(i|0);i=S?T:i;j=S?j:(T|0)>(j|0)?T:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;T=1-i+j|0;f[a+20>>2]=T;i=(T|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(T&1))f[j>>2]=i+-1}S=f[a+48>>2]|0;T=f[a+52>>2]|0;i=da;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{gi(da,g);i=f[da+12>>2]|0;j=f[da+16>>2]|0}k=da+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else gi(da+12|0,g-l|0);l=da+24|0;k=da+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else gi(l,g-m|0);l=da+36|0;k=da+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else gi(l,g-m|0);yk(ba,g);J=a+56|0;k=f[J>>2]|0;j=f[k+4>>2]|0;i=f[k>>2]|0;l=j-i|0;a:do if((l|0)>4){C=S+12|0;H=(g|0)>0;I=Z+4|0;Q=Z+8|0;R=Z+12|0;N=a+16|0;E=a+32|0;P=a+12|0;O=a+28|0;M=a+20|0;L=a+24|0;D=Z+12|0;F=Z+16|0;G=ba+4|0;K=_+1|0;B=g<<2;x=l>>2;while(1){A=x+-1|0;if(j-i>>2>>>0<=A>>>0){Vo(k);i=f[k>>2]|0}t=f[i+(A<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;j=0;b:while(1){do{if((i|0)<=-1){y=j;break b}p=f[da+(j*12|0)>>2]|0;q=f[C>>2]|0;l=f[q+(i<<2)>>2]|0;if((l|0)>=0){m=f[S>>2]|0;n=f[T>>2]|0;o=f[n+(f[m+(l<<2)>>2]<<2)>>2]|0;k=l+1|0;k=((k|0)%3|0|0)==0?l+-2|0:k;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;e=f[n+(k<<2)>>2]|0;k=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;k=f[n+(k<<2)>>2]|0;if((o|0)<(A|0)&(e|0)<(A|0)&(k|0)<(A|0)){n=X(o,g)|0;m=X(e,g)|0;l=X(k,g)|0;if(H){k=0;do{f[p+(k<<2)>>2]=(f[c+(k+l<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+n<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break b}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){y=j;break b}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}z=X(A,g)|0;f[Z>>2]=2147483647;b[I>>0]=0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;k=X(x+-2|0,g)|0;if(H){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[Z>>2]=i;b[I>>0]=0;f[Q>>2]=0;x=c+(k<<2)|0;lf(R,x,x+(g<<2)|0);if((y|0)>=1){p=_+y|0;v=p+-1|0;r=(v|0)==(_|0);t=p+-2|0;q=K>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>_>>>0;w=0;x=1;while(1){w=w+1|0;Xi(_|0,1,o|0)|0;Xi(_|0,0,w|0)|0;c:while(1){if(H){Xi(f[ba>>2]|0,0,B|0)|0;l=f[ba>>2]|0;i=0;m=0;do{if(!(b[_+m>>0]|0)){j=f[da+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[Z>>2]|0)){f[Z>>2]=j;b[I>>0]=i;f[Q>>2]=x;f[U>>2]=f[ba>>2];f[W>>2]=f[G>>2];f[V>>2]=f[U>>2];f[Y>>2]=f[W>>2];cf(R,V,Y)}if(r)break;$=b[v>>0]|0;m=$;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==(_|0)){ca=77;break c}else n=i}i=p+n|0;if((m&255)<($&255)){k=$;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue c}}if(((ca|0)==77?(ca=0,s):0)?(e=b[_>>0]|0,b[_>>0]=$,b[v>>0]=e,q):0){i=t;j=K;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[I>>0]&1<>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){Wo(n);j=f[l>>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[aa>>2]|0;if((j|0)>0){i=f[R>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[N>>2]|0;if((j|0)>(k|0)){j=f[E>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[P>>2]|0;z=f[E>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[aa>>2]|0));l=j}else l=f[E>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[O>>2]|0)){if((j|0)>(f[L>>2]|0)){j=j-(f[M>>2]|0)|0;ca=94}}else{j=(f[M>>2]|0)+j|0;ca=94}if((ca|0)==94){ca=0;f[k>>2]=j}n=n+1|0;j=f[aa>>2]|0}while((n|0)<(j|0))}else i=f[D>>2]|0;if(i|0){j=f[F>>2]|0;if((j|0)!=(i|0))f[F>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;k=f[J>>2]|0;i=f[k>>2]|0;j=f[k+4>>2]|0;x=A}}while(0);k=f[da>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[aa>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[aa>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ca=126}}else{i=(f[o>>2]|0)+i|0;ca=126}if((ca|0)==126){ca=0;f[j>>2]=i}m=m+1|0;i=f[aa>>2]|0}while((m|0)<(i|0))}k=f[ba>>2]|0;if(k|0){j=ba+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k)}i=f[da+36>>2]|0;if(i|0){k=da+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[da+24>>2]|0;if(i|0){k=da+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[da+12>>2]|0;if(i|0){k=da+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}k=f[da>>2]|0;if(!k){u=ea;return 1}j=da+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k);u=ea;return 1}function $a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;la=u;u=u+32|0;ha=la+8|0;ja=la;ga=la+4|0;ia=a+16|0;e=f[ia>>2]|0;fa=a+20|0;d=f[fa>>2]|0;if((d|0)==(e|0))d=e;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;f[fa>>2]=d}_=a+24|0;if((d|0)==(f[_>>2]|0)){zi(ia,c);e=f[ia>>2]|0;g=f[fa>>2]|0}else{f[d>>2]=f[c>>2];g=d+4|0;f[fa>>2]=g}d=f[a+8>>2]|0;d=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;Z=(d|0)/12|0;if((e|0)==(g|0)){u=la;return 1}Y=a+28|0;G=(d|0)>0;I=a+164|0;F=a+12|0;A=a+76|0;E=a+80|0;O=a+72|0;W=a+200|0;X=a+320|0;y=a+152|0;s=a+84|0;M=a+324|0;x=a+292|0;t=a+304|0;N=a+316|0;K=a+328|0;w=a+336|0;J=a+332|0;B=a+124|0;C=a+120|0;T=ha+4|0;Q=ha+8|0;z=a+112|0;D=a+116|0;V=a+108|0;S=ha+4|0;P=ha+8|0;U=ha+4|0;R=ha+8|0;L=a+168|0;v=a+140|0;H=a+120|0;d=g;do{e=f[d+-4>>2]|0;f[c>>2]=e;a:do if((e|0)>=0?(r=(e>>>0)/3|0,$=f[Y>>2]|0,(f[$+(r>>>5<<2)>>2]&1<<(r&31)|0)==0):0){if(G){e=$;d=0;while(1){r=d+1|0;f[I>>2]=(f[I>>2]|0)+1;p=f[c>>2]|0;p=(p|0)<0?-1073741824:(p>>>0)/3|0;d=e+(p>>>5<<2)|0;f[d>>2]=1<<(p&31)|f[d>>2];d=f[A>>2]|0;if((d|0)==(f[E>>2]|0))zi(O,c);else{f[d>>2]=f[c>>2];f[A>>2]=d+4}f[X>>2]=f[c>>2];e=f[c>>2]|0;if((e|0)<0)o=-1073741824;else o=f[(f[f[F>>2]>>2]|0)+(e<<2)>>2]|0;n=(f[(f[y>>2]|0)+(o<<2)>>2]|0)!=-1;g=(f[s>>2]|0)+(o>>>5<<2)|0;h=1<<(o&31);d=f[g>>2]|0;do if(!(d&h)){f[g>>2]=d|h;if(n){e=f[c>>2]|0;ka=38;break}f[M>>2]=(f[M>>2]|0)+1;e=f[X>>2]|0;d=e+1|0;do if((e|0)>=0){d=((d|0)%3|0|0)==0?e+-2|0:d;if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else d=e;while(0);g=f[x>>2]|0;q=f[t>>2]|0;p=q+(f[g+(d<<2)>>2]<<2)|0;d=f[p>>2]|0;f[p>>2]=d+-1;g=q+(f[g+(e<<2)>>2]<<2)|0;f[g>>2]=(f[g>>2]|0)+-1;g=f[N>>2]|0;if((g|0)!=-1){e=f[K>>2]|0;if((d|0)<(e|0))d=e;else{q=f[J>>2]|0;d=(d|0)>(q|0)?q:d}i=d-e|0;h=f[w>>2]|0;d=f[3596+(g<<2)>>2]|0;f[ha>>2]=d;g=h+(i*12|0)+4|0;e=f[g>>2]|0;if(e>>>0<(f[h+(i*12|0)+8>>2]|0)>>>0){f[e>>2]=d;f[g>>2]=e+4}else zi(h+(i*12|0)|0,ha)}f[N>>2]=0;d=f[c>>2]|0;e=d+1|0;if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;if((d|0)>=0)d=f[(f[(f[F>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}f[c>>2]=d}else ka=38;while(0);if((ka|0)==38){ka=0;m=(e|0)<0;j=e+1|0;if(!m){d=((j|0)%3|0|0)==0?e+-2|0:j;if((d|0)<0)g=d;else g=f[(f[(f[F>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;f[ja>>2]=g;d=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((d|0)>=0)d=f[(f[(f[F>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;i=(g|0)<0;l=i?-1073741824:(g>>>0)/3|0;h=(d|0)<0;k=h?-1073741824:(d>>>0)/3|0;g=((j|0)%3|0|0)==0?e+-2|0:j;if((g|0)<0)q=h;else{q=h;g=f[(f[(f[F>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}}else{f[ja>>2]=e;q=1;i=1;d=e;k=-1073741824;l=-1073741824;g=e}if((g|0)!=-1073741824?(j=(g|0)<0?-1073741824:(g>>>0)/3|0,aa=f[Y>>2]|0,(f[aa+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!m){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[F>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)!=-1073741824?(m=(e|0)<0?-1073741824:(e>>>0)/3|0,(f[aa+(m>>>5<<2)>>2]&1<<(m&31)|0)==0):0){ka=115;break}b:do if(!q){j=f[I>>2]|0;g=f[B>>2]|0;if(!g)break;h=g+-1|0;e=(h&g|0)==0;if(e)i=h&k;else i=(k>>>0)%(g>>>0)|0;d=f[(f[C>>2]|0)+(i<<2)>>2]|0;if(!d)break;if(e)do{d=f[d>>2]|0;if(!d)break b;if((f[d+4>>2]&h|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break b;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)==-1)break;f[ha>>2]=d;f[S>>2]=j;b[P>>0]=0;d=f[z>>2]|0;if((d|0)==(f[D>>2]|0))$h(V,ha);else{f[d>>2]=f[ha>>2];f[d+4>>2]=f[ha+4>>2];f[d+8>>2]=f[ha+8>>2];f[z>>2]=(f[z>>2]|0)+12}}while(0);Oc(W,3);d=f[ja>>2]|0}else{c:do if(!i?(ba=f[I>>2]|0,ca=f[B>>2]|0,(ca|0)!=0):0){i=ca+-1|0;h=(i&ca|0)==0;if(h)j=i&l;else j=(l>>>0)%(ca>>>0)|0;g=f[(f[C>>2]|0)+(j<<2)>>2]|0;if(!g)break;if(h)do{g=f[g>>2]|0;if(!g)break c;if((f[g+4>>2]&i|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));else do{g=f[g>>2]|0;if(!g)break c;if((((f[g+4>>2]|0)>>>0)%(ca>>>0)|0|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));g=f[g+12>>2]|0;if((g|0)==-1)break;f[ha>>2]=g;f[T>>2]=ba;b[Q>>0]=1;g=f[z>>2]|0;if((g|0)==(f[D>>2]|0)){$h(V,ha);e=f[c>>2]|0}else{f[g>>2]=f[ha>>2];f[g+4>>2]=f[ha+4>>2];f[g+8>>2]=f[ha+8>>2];f[z>>2]=(f[z>>2]|0)+12}}while(0);if((e|0)>=0){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[F>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)==-1073741824){ka=71;break}p=(e|0)<0?-1073741824:(e>>>0)/3|0;if(f[(f[Y>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0){ka=71;break}Oc(W,5)}f[c>>2]=d}if((r|0)>=(Z|0))break a;e=f[Y>>2]|0;d=r}do if((ka|0)==71){ka=0;d:do if(!q?(da=f[I>>2]|0,ea=f[B>>2]|0,ea|0):0){g=ea+-1|0;e=(g&ea|0)==0;if(e)h=g&k;else h=(k>>>0)%(ea>>>0)|0;d=f[(f[C>>2]|0)+(h<<2)>>2]|0;if(d|0){if(e)do{d=f[d>>2]|0;if(!d)break d;if((f[d+4>>2]&g|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break d;if((((f[d+4>>2]|0)>>>0)%(ea>>>0)|0|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)!=-1){f[ha>>2]=d;f[U>>2]=da;b[R>>0]=0;d=f[z>>2]|0;if((d|0)==(f[D>>2]|0))$h(V,ha);else{f[d>>2]=f[ha>>2];f[d+4>>2]=f[ha+4>>2];f[d+8>>2]=f[ha+8>>2];f[z>>2]=(f[z>>2]|0)+12}}}}while(0);Oc(W,7);f[fa>>2]=(f[fa>>2]|0)+-4}else if((ka|0)==115){ka=0;Oc(W,1);f[L>>2]=(f[L>>2]|0)+1;if(n?(r=f[(f[y>>2]|0)+(o<<2)>>2]|0,(1<<(r&31)&f[(f[v>>2]|0)+(r>>>5<<2)>>2]|0)==0):0){f[ga>>2]=f[c>>2];f[ha>>2]=f[ga>>2];He(a,ha,0)|0}r=f[I>>2]|0;f[ha>>2]=p;e=Fe(H,ha)|0;f[e>>2]=r;e=f[fa>>2]|0;f[e+-4>>2]=d;if((e|0)==(f[_>>2]|0)){zi(ia,ja);break}else{f[e>>2]=f[ja>>2];f[fa>>2]=e+4;break}}while(0)}}else ka=11;while(0);if((ka|0)==11){ka=0;f[fa>>2]=d+-4}d=f[fa>>2]|0}while((f[ia>>2]|0)!=(d|0));u=la;return 1}function ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=Ka;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=Zm(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=Zn(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=Zm(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=Zn(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function bb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=u;u=u+112|0;T=da+100|0;R=da+96|0;ca=da+48|0;W=da+32|0;V=da+104|0;U=da+8|0;Q=da+4|0;S=da;O=f[a+28>>2]|0;P=f[a+32>>2]|0;i=ca;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{gi(ca,g);i=f[ca+12>>2]|0;e=f[ca+16>>2]|0}j=ca+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else gi(ca+12|0,g-k|0);k=ca+24|0;j=ca+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else gi(k,g-l|0);k=ca+36|0;j=ca+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else gi(k,g-l|0);yk(W,g);J=a+36|0;j=f[J>>2]|0;e=f[j+4>>2]|0;i=f[j>>2]|0;k=e-i|0;a:do if((k|0)>4){I=O+64|0;C=O+28|0;G=(g|0)>0;H=U+4|0;L=U+8|0;M=U+12|0;N=a+8|0;D=U+12|0;E=U+16|0;F=W+4|0;K=V+1|0;B=g<<2;v=k>>2;while(1){A=v+-1|0;if(e-i>>2>>>0<=A>>>0){Vo(j);i=f[j>>2]|0}p=f[i+(A<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;e=0;b:while(1){do{if((i|0)<=-1){z=e;break b}j=f[ca+(e*12|0)>>2]|0;if(((f[(f[O>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(aa=f[(f[(f[I>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(aa|0)>=0):0)?($=f[C>>2]|0,z=f[P>>2]|0,Z=f[z+(f[$+(aa<<2)>>2]<<2)>>2]|0,_=aa+1|0,_=f[z+(f[$+((((_|0)%3|0|0)==0?aa+-2|0:_)<<2)>>2]<<2)>>2]|0,$=f[z+(f[$+((((aa>>>0)%3|0|0)==0?2:-1)+aa<<2)>>2]<<2)>>2]|0,(Z|0)<(A|0)&(_|0)<(A|0)&($|0)<(A|0)):0){l=X(Z,g)|0;m=X(_,g)|0;n=X($,g)|0;if(G){k=0;do{f[j+(k<<2)>>2]=(f[c+(k+n<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+l<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break b}}do if(o){j=i+1|0;i=((j|0)%3|0|0)==0?i+-2|0:j;j=f[O>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[I>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;j=f[O>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[I>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){z=e;break b}}while(!(o&(i|0)<0));i=(t&f[j+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[I>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}y=X(A,g)|0;f[U>>2]=2147483647;b[H>>0]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;j=X(v+-2|0,g)|0;if(G){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[U>>2]=i;b[H>>0]=0;f[L>>2]=0;x=c+(j<<2)|0;lf(M,x,x+(g<<2)|0);if((z|0)>=1){p=V+z|0;v=p+-1|0;r=(v|0)==(V|0);t=p+-2|0;q=K>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>V>>>0;w=0;x=1;while(1){w=w+1|0;Xi(V|0,1,o|0)|0;Xi(V|0,0,w|0)|0;c:while(1){if(G){Xi(f[W>>2]|0,0,B|0)|0;k=f[W>>2]|0;i=0;l=0;do{if(!(b[V+l>>0]|0)){e=f[ca+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[U>>2]|0)){f[U>>2]=e;b[H>>0]=i;f[L>>2]=x;f[Q>>2]=f[W>>2];f[S>>2]=f[F>>2];f[R>>2]=f[Q>>2];f[T>>2]=f[S>>2];cf(M,R,T)}if(r)break;Y=b[v>>0]|0;l=Y;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(V|0)){ba=67;break c}else m=i}i=p+m|0;if((l&255)<(Y&255)){j=Y;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue c}}if(((ba|0)==67?(ba=0,s):0)?(n=b[V>>0]|0,b[V>>0]=Y,b[v>>0]=n,q):0){i=t;e=K;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[H>>0]&1<>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){Wo(m);e=f[k>>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}Xh(N,c+(y<<2)|0,f[M>>2]|0,d+(y<<2)|0);i=f[D>>2]|0;if(i|0){e=f[E>>2]|0;if((e|0)!=(i|0))f[E>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;j=f[J>>2]|0;i=f[j>>2]|0;e=f[j+4>>2]|0;v=A}}while(0);if((g|0)>0)Xi(f[ca>>2]|0,0,g<<2|0)|0;Xh(a+8|0,c,f[ca>>2]|0,d);j=f[W>>2]|0;if(j|0){e=W+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j)}i=f[ca+36>>2]|0;if(i|0){j=ca+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}i=f[ca+24>>2]|0;if(i|0){j=ca+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}i=f[ca+12>>2]|0;if(i|0){j=ca+16|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}j=f[ca>>2]|0;if(!j){u=da;return 1}e=ca+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j);u=da;return 1}function cb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;fa=u;u=u+32|0;ba=fa+8|0;da=fa;aa=fa+4|0;ca=a+16|0;e=f[ca>>2]|0;$=a+20|0;d=f[$>>2]|0;if((d|0)==(e|0))d=e;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;f[$>>2]=d}U=a+24|0;if((d|0)==(f[U>>2]|0)){zi(ca,c);e=f[ca>>2]|0;g=f[$>>2]|0}else{f[d>>2]=f[c>>2];g=d+4|0;f[$>>2]=g}d=f[a+8>>2]|0;d=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;T=(d|0)/12|0;if((e|0)==(g|0)){u=fa;return 1}S=a+28|0;F=(d|0)>0;H=a+164|0;E=a+12|0;y=a+76|0;D=a+80|0;J=a+72|0;v=a+152|0;s=a+84|0;x=a+272|0;C=a+276|0;Q=a+268|0;z=a+124|0;A=a+120|0;P=ba+4|0;M=ba+8|0;w=a+112|0;B=a+116|0;R=a+108|0;N=ba+4|0;K=ba+8|0;O=ba+4|0;L=ba+8|0;I=a+168|0;t=a+140|0;G=a+120|0;d=g;do{e=f[d+-4>>2]|0;f[c>>2]=e;a:do if((e|0)>=0?(r=(e>>>0)/3|0,V=f[S>>2]|0,(f[V+(r>>>5<<2)>>2]&1<<(r&31)|0)==0):0){if(F){e=V;d=0;while(1){r=d+1|0;f[H>>2]=(f[H>>2]|0)+1;p=f[c>>2]|0;p=(p|0)<0?-1073741824:(p>>>0)/3|0;d=e+(p>>>5<<2)|0;f[d>>2]=1<<(p&31)|f[d>>2];d=f[y>>2]|0;if((d|0)==(f[D>>2]|0))zi(J,c);else{f[d>>2]=f[c>>2];f[y>>2]=d+4}e=f[c>>2]|0;if((e|0)<0)o=-1073741824;else o=f[(f[f[E>>2]>>2]|0)+(e<<2)>>2]|0;n=(f[(f[v>>2]|0)+(o<<2)>>2]|0)!=-1;g=(f[s>>2]|0)+(o>>>5<<2)|0;h=1<<(o&31);d=f[g>>2]|0;do if(!(d&h)){f[g>>2]=d|h;if(n){e=f[c>>2]|0;ea=30;break}f[ba>>2]=0;d=f[x>>2]|0;if((d|0)==(f[C>>2]|0))zi(Q,ba);else{f[d>>2]=0;f[x>>2]=d+4}d=f[c>>2]|0;e=d+1|0;if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;if((d|0)>=0)d=f[(f[(f[E>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}f[c>>2]=d}else ea=30;while(0);if((ea|0)==30){ea=0;m=(e|0)<0;j=e+1|0;if(!m){d=((j|0)%3|0|0)==0?e+-2|0:j;if((d|0)<0)g=d;else g=f[(f[(f[E>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;f[da>>2]=g;d=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((d|0)>=0)d=f[(f[(f[E>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;i=(g|0)<0;l=i?-1073741824:(g>>>0)/3|0;h=(d|0)<0;k=h?-1073741824:(d>>>0)/3|0;g=((j|0)%3|0|0)==0?e+-2|0:j;if((g|0)<0)q=h;else{q=h;g=f[(f[(f[E>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}}else{f[da>>2]=e;q=1;i=1;d=e;k=-1073741824;l=-1073741824;g=e}if((g|0)!=-1073741824?(j=(g|0)<0?-1073741824:(g>>>0)/3|0,W=f[S>>2]|0,(f[W+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!m){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[E>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)!=-1073741824?(m=(e|0)<0?-1073741824:(e>>>0)/3|0,(f[W+(m>>>5<<2)>>2]&1<<(m&31)|0)==0):0){ea=116;break}b:do if(!q){j=f[H>>2]|0;g=f[z>>2]|0;if(!g)break;h=g+-1|0;e=(h&g|0)==0;if(e)i=h&k;else i=(k>>>0)%(g>>>0)|0;d=f[(f[A>>2]|0)+(i<<2)>>2]|0;if(!d)break;if(e)do{d=f[d>>2]|0;if(!d)break b;if((f[d+4>>2]&h|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break b;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)==-1)break;f[ba>>2]=d;f[N>>2]=j;b[K>>0]=0;d=f[w>>2]|0;if((d|0)==(f[B>>2]|0))$h(R,ba);else{f[d>>2]=f[ba>>2];f[d+4>>2]=f[ba+4>>2];f[d+8>>2]=f[ba+8>>2];f[w>>2]=(f[w>>2]|0)+12}}while(0);f[ba>>2]=3;d=f[x>>2]|0;if((d|0)==(f[C>>2]|0))zi(Q,ba);else{f[d>>2]=3;f[x>>2]=d+4}d=f[da>>2]|0}else{c:do if(!i?(X=f[H>>2]|0,Y=f[z>>2]|0,(Y|0)!=0):0){i=Y+-1|0;h=(i&Y|0)==0;if(h)j=i&l;else j=(l>>>0)%(Y>>>0)|0;g=f[(f[A>>2]|0)+(j<<2)>>2]|0;if(!g)break;if(h)do{g=f[g>>2]|0;if(!g)break c;if((f[g+4>>2]&i|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));else do{g=f[g>>2]|0;if(!g)break c;if((((f[g+4>>2]|0)>>>0)%(Y>>>0)|0|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));g=f[g+12>>2]|0;if((g|0)==-1)break;f[ba>>2]=g;f[P>>2]=X;b[M>>0]=1;g=f[w>>2]|0;if((g|0)==(f[B>>2]|0)){$h(R,ba);e=f[c>>2]|0}else{f[g>>2]=f[ba>>2];f[g+4>>2]=f[ba+4>>2];f[g+8>>2]=f[ba+8>>2];f[w>>2]=(f[w>>2]|0)+12}}while(0);if((e|0)>=0){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[E>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)==-1073741824){ea=63;break}p=(e|0)<0?-1073741824:(e>>>0)/3|0;if(f[(f[S>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0){ea=63;break}f[ba>>2]=5;e=f[x>>2]|0;if((e|0)==(f[C>>2]|0))zi(Q,ba);else{f[e>>2]=5;f[x>>2]=e+4}}f[c>>2]=d}if((r|0)>=(T|0))break a;e=f[S>>2]|0;d=r}do if((ea|0)==63){ea=0;d:do if(!q?(Z=f[H>>2]|0,_=f[z>>2]|0,_|0):0){g=_+-1|0;e=(g&_|0)==0;if(e)h=g&k;else h=(k>>>0)%(_>>>0)|0;d=f[(f[A>>2]|0)+(h<<2)>>2]|0;if(d|0){if(e)do{d=f[d>>2]|0;if(!d)break d;if((f[d+4>>2]&g|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break d;if((((f[d+4>>2]|0)>>>0)%(_>>>0)|0|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)!=-1){f[ba>>2]=d;f[O>>2]=Z;b[L>>0]=0;d=f[w>>2]|0;if((d|0)==(f[B>>2]|0))$h(R,ba);else{f[d>>2]=f[ba>>2];f[d+4>>2]=f[ba+4>>2];f[d+8>>2]=f[ba+8>>2];f[w>>2]=(f[w>>2]|0)+12}}}}while(0);f[ba>>2]=7;d=f[x>>2]|0;if((d|0)==(f[C>>2]|0))zi(Q,ba);else{f[d>>2]=7;f[x>>2]=d+4}f[$>>2]=(f[$>>2]|0)+-4}else if((ea|0)==116){ea=0;f[ba>>2]=1;e=f[x>>2]|0;if((e|0)==(f[C>>2]|0))zi(Q,ba);else{f[e>>2]=1;f[x>>2]=e+4}f[I>>2]=(f[I>>2]|0)+1;if(n?(r=f[(f[v>>2]|0)+(o<<2)>>2]|0,(1<<(r&31)&f[(f[t>>2]|0)+(r>>>5<<2)>>2]|0)==0):0){f[aa>>2]=f[c>>2];f[ba>>2]=f[aa>>2];He(a,ba,0)|0}r=f[H>>2]|0;f[ba>>2]=p;e=Fe(G,ba)|0;f[e>>2]=r;e=f[$>>2]|0;f[e+-4>>2]=d;if((e|0)==(f[U>>2]|0)){zi(ca,da);break}else{f[e>>2]=f[da>>2];f[$>>2]=e+4;break}}while(0)}}else ea=11;while(0);if((ea|0)==11){ea=0;f[$>>2]=d+-4}d=f[$>>2]|0}while((f[ca>>2]|0)!=(d|0));u=fa;return 1}function db(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;_=u;u=u+112|0;S=_+100|0;Q=_+96|0;Z=_+48|0;V=_+32|0;U=_+104|0;T=_+8|0;P=_+4|0;R=_;N=f[a+28>>2]|0;O=f[a+32>>2]|0;i=Z;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{gi(Z,g);i=f[Z+12>>2]|0;e=f[Z+16>>2]|0}j=Z+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else gi(Z+12|0,g-k|0);k=Z+24|0;j=Z+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else gi(k,g-l|0);k=Z+36|0;j=Z+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else gi(k,g-l|0);yk(V,g);I=a+36|0;j=f[I>>2]|0;e=f[j+4>>2]|0;i=f[j>>2]|0;k=e-i|0;a:do if((k|0)>4){C=N+12|0;G=(g|0)>0;H=T+4|0;K=T+8|0;L=T+12|0;M=a+8|0;D=T+12|0;E=T+16|0;F=V+4|0;J=U+1|0;B=g<<2;x=k>>2;while(1){A=x+-1|0;if(e-i>>2>>>0<=A>>>0){Vo(j);i=f[j>>2]|0}t=f[i+(A<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;e=0;b:while(1){do{if((i|0)<=-1){z=e;break b}p=f[Z+(e*12|0)>>2]|0;q=f[C>>2]|0;k=f[q+(i<<2)>>2]|0;if((k|0)>=0){l=f[N>>2]|0;m=f[O>>2]|0;o=f[m+(f[l+(k<<2)>>2]<<2)>>2]|0;j=k+1|0;j=((j|0)%3|0|0)==0?k+-2|0:j;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;n=f[m+(j<<2)>>2]|0;j=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;j=f[m+(j<<2)>>2]|0;if((o|0)<(A|0)&(n|0)<(A|0)&(j|0)<(A|0)){m=X(o,g)|0;l=X(n,g)|0;k=X(j,g)|0;if(G){j=0;do{f[p+(j<<2)>>2]=(f[c+(j+k<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+m<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break b}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;j=i+1|0;if((i|0)>=0)i=((j|0)%3|0|0)==0?i+-2|0:j}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){z=e;break b}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}y=X(A,g)|0;f[T>>2]=2147483647;b[H>>0]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;j=X(x+-2|0,g)|0;if(G){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[T>>2]=i;b[H>>0]=0;f[K>>2]=0;x=c+(j<<2)|0;lf(L,x,x+(g<<2)|0);if((z|0)>=1){p=U+z|0;v=p+-1|0;r=(v|0)==(U|0);t=p+-2|0;q=J>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>U>>>0;w=0;x=1;while(1){w=w+1|0;Xi(U|0,1,o|0)|0;Xi(U|0,0,w|0)|0;c:while(1){if(G){Xi(f[V>>2]|0,0,B|0)|0;k=f[V>>2]|0;i=0;l=0;do{if(!(b[U+l>>0]|0)){e=f[Z+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[T>>2]|0)){f[T>>2]=e;b[H>>0]=i;f[K>>2]=x;f[P>>2]=f[V>>2];f[R>>2]=f[F>>2];f[Q>>2]=f[P>>2];f[S>>2]=f[R>>2];cf(L,Q,S)}if(r)break;W=b[v>>0]|0;l=W;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(U|0)){Y=68;break c}else m=i}i=p+m|0;if((l&255)<(W&255)){j=W;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue c}}if(((Y|0)==68?(Y=0,s):0)?(n=b[U>>0]|0,b[U>>0]=W,b[v>>0]=n,q):0){i=t;e=J;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[H>>0]&1<>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){Wo(m);e=f[k>>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}Xh(M,c+(y<<2)|0,f[L>>2]|0,d+(y<<2)|0);i=f[D>>2]|0;if(i|0){e=f[E>>2]|0;if((e|0)!=(i|0))f[E>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;j=f[I>>2]|0;i=f[j>>2]|0;e=f[j+4>>2]|0;x=A}}while(0);if((g|0)>0)Xi(f[Z>>2]|0,0,g<<2|0)|0;Xh(a+8|0,c,f[Z>>2]|0,d);j=f[V>>2]|0;if(j|0){e=V+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j)}i=f[Z+36>>2]|0;if(i|0){j=Z+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}i=f[Z+24>>2]|0;if(i|0){j=Z+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[Z+12>>2]|0;if(e|0){j=Z+16|0;i=f[j>>2]|0;if((i|0)!=(e|0))f[j>>2]=i+(~((i+-4-e|0)>>>2)<<2);mq(e)}j=f[Z>>2]|0;if(!j){u=_;return 1}e=Z+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j);u=_;return 1}function eb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=u;u=u+64|0;T=W+56|0;U=W+52|0;N=W+48|0;i=W+60|0;V=W;F=W+44|0;G=W+40|0;C=W+36|0;D=W+32|0;E=W+28|0;M=W+24|0;O=W+20|0;P=W+16|0;R=W+12|0;if(!(b[a+288>>0]|0)){tg(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){lj(d);mq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){lj(d);mq(d)}}else f[T>>2]=0}else{ai(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){lj(d);mq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){lj(d);mq(d)}}else f[T>>2]=0}A=a+12|0;d=f[A>>2]|0;if(!d){V=0;u=W;return V|0}K=a+200|0;f[a+264>>2]=a;S=a+4|0;Mh(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2)-(f[d+44>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=f[A>>2]|0;Mh((((f[I+4>>2]|0)-(f[I>>2]|0)>>2>>>0)/3|0)-(f[I+40>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=a+28|0;H=a+8|0;h=f[H>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[T>>0]=0;Kg(I,h,T);h=f[A>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[T>>2]=-1;yf(a+52|0,h,T);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);z=f[A>>2]|0;z=(f[z+4>>2]|0)-(f[z>>2]|0)>>2;Fj(h,z-((z>>>0)%3|0)|0);z=a+84|0;y=f[A>>2]|0;y=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2;b[T>>0]=0;Kg(z,y,T);y=a+96|0;d=f[y>>2]|0;x=a+100|0;e=f[x>>2]|0;if((e|0)!=(d|0))f[x>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;B=a+168|0;f[B>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{w=d;d=f[d>>2]|0;mq(w)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[A>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[T>>2]=-1;yf(a+152|0,v,T);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);w=f[A>>2]|0;Fj(v,((f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(_d(a)|0)){V=0;u=W;return V|0}if(!(Jf(a)|0)){V=0;u=W;return V|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[S>>2]|0)+44>>2]|0;w=e+16|0;t=f[w+4>>2]|0;if(!((t|0)>0|(t|0)==0&(f[w>>2]|0)>>>0>0)){f[U>>2]=f[e+4>>2];f[T>>2]=f[U>>2];Ie(e,T,i,i+1|0)|0;d=b[i>>0]|0}t=a+284|0;f[t>>2]=d&255;o=f[A>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Fi(K);f[V>>2]=0;w=V+4|0;f[w>>2]=0;f[V+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=V+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[I>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[A>>2]|0,f[F>>2]=d,f[T>>2]=f[F>>2],!(Cj(l,T)|0)):0){f[U>>2]=0;f[G>>2]=d;f[T>>2]=f[G>>2];i=Le(a,T,U)|0;Ui(K,i);d=f[U>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[A>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[z>>2]|0;X=i+(e>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[T>>2]=1;e=f[x>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[x>>2]=e+4}else zi(y,T);h=(f[I>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[T>>2]=g;e=f[w>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[w>>2]=e+4}else zi(V,T);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[A>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;X=(e|0)<0;d=X?-1073741824:(e>>>0)/3|0;if(X)break;if(f[(f[I>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[C>>2]=e;f[T>>2]=f[C>>2];if(!(cb(a,T)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[D>>2]=d;f[T>>2]=f[D>>2];He(a,T,1)|0;f[E>>2]=f[U>>2];f[T>>2]=f[E>>2];if(!(cb(a,T)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){J=61;break a}}e=0}else J=61;while(0);if((J|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{X=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=X;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[V>>2];f[P>>2]=f[w>>2];f[N>>2]=f[M>>2];f[U>>2]=f[O>>2];f[T>>2]=f[P>>2];Td(v,N,U,T)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[H>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[T>>0]=0,Kg(I,c,T),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[T>>2]=f[R>>2];cg(a,T)|0;c=c+4|0}while((c|0)!=(Q|0));Og(K);e=a+232|0;Pc(K,e);d=a+280|0;c=f[d>>2]|0;if((c|0?(f[t>>2]|0)>0:0)?(Pc(c,e),(f[t>>2]|0)>1):0){c=1;do{Pc((f[d>>2]|0)+(c<<5)|0,e);c=c+1|0}while((c|0)<(f[t>>2]|0))}Mh((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[S>>2]|0)+44>>2]|0)|0;Mh(f[B>>2]|0,f[(f[S>>2]|0)+44>>2]|0)|0;if(zg(a)|0){d=f[(f[S>>2]|0)+44>>2]|0;c=f[e>>2]|0;X=d+16|0;S=f[X+4>>2]|0;if(!((S|0)>0|(S|0)==0&(f[X>>2]|0)>>>0>0)){X=(f[a+236>>2]|0)-c|0;f[U>>2]=f[d+4>>2];f[T>>2]=f[U>>2];Ie(d,T,c,c+X|0)|0}e=1}else e=0}c=f[V>>2]|0;if(c|0){d=f[w>>2]|0;if((d|0)!=(c|0))f[w>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}X=e;u=W;return X|0}function fb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+1328|0;x=z+1304|0;w=z+1296|0;y=z;g=z+1284|0;n=z+1280|0;t=z+1316|0;p=z+1288|0;q=z+72|0;o=z+1268|0;i=z+64|0;l=z+56|0;m=z+80|0;d=f[a+4>>2]|0;if(((f[a+8>>2]|0)-d|0)!=4){y=0;u=z;return y|0}j=f[d>>2]|0;s=a+28|0;e=f[s>>2]|0;d=f[e+4>>2]|0;if((j|0)<=-1)Fa(20410,20426,59,20517);a=f[d+8>>2]|0;if(((f[d+12>>2]|0)-a>>2|0)<=(j|0))Fa(20527,20426,60,20517);r=f[a+(j<<2)>>2]|0;if((b[r+24>>0]|0)!=3){y=0;u=z;return y|0}e=10-(bj(f[e+48>>2]|0)|0)|0;e=(e|0)<6?e:6;b[t>>0]=e;if((e&255)>>>0>=7)Fa(7530,7557,92,7675);a:do switch(f[r+28>>2]|0){case 9:{g=f[(f[s>>2]|0)+48>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;Kj(x,17755,17);i=g+16|0;a=f[i>>2]|0;if(a){d=i;b:while(1){e=a;while(1){if((f[e+16>>2]|0)>=(j|0))break;a=f[e+4>>2]|0;if(!a)break b;else e=a}a=f[e>>2]|0;if(!a){d=e;break}else d=e}if(((d|0)!=(i|0)?(k=d+20|0,(j|0)>=(f[d+16>>2]|0)):0)?(Kh(k,x)|0)!=0:0)e=Ck(k,x,-1)|0;else v=19}else v=19;if((v|0)==19)e=Ck(g,x,-1)|0;_n(x);if((e|0)>=1){b[y>>0]=0;g=c+16|0;d=g;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,t,t+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}f[y>>2]=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2];if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+4|0)|0}Gl(y,1,e,h[t>>0]|0);f[p>>2]=r;f[p+4>>2]=0;t=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2]|0;s=q;f[s>>2]=r;f[s+4>>2]=0;f[q+4>>2]=t;f[w>>2]=f[p>>2];f[w+4>>2]=f[p+4>>2];f[x>>2]=f[q>>2];f[x+4>>2]=f[q+4>>2];if(vd(y,w,x)|0){d=f[y+16>>2]|0;t=g;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[y+20>>2]|0)-d|0;f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,d,d+t|0)|0}e=0}else e=1;c=y+28|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)mq(d);a=f[y+16>>2]|0;if(a|0){d=y+20|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;mq(a)}if(!e)v=62;else d=0}else d=0;break}case 6:{b[y>>0]=1;e=c+16|0;d=e;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+1|0)|0;a=e;d=f[a+4>>2]|0;a=f[a>>2]|0}if((d|0)>0|(d|0)==0&a>>>0>0)e=d;else{f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,t,t+1|0)|0;a=e;e=f[a+4>>2]|0;a=f[a>>2]|0}d=f[s>>2]|0;f[y>>2]=f[(f[d+4>>2]|0)+80>>2];if(!((e|0)>0|(e|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+4|0)|0;d=f[s>>2]|0}f[i>>2]=r;f[i+4>>2]=0;v=f[(f[d+4>>2]|0)+80>>2]|0;s=l;f[s>>2]=r;f[s+4>>2]=0;f[l+4>>2]=v;f[w>>2]=f[i>>2];f[w+4>>2]=f[i+4>>2];f[x>>2]=f[l>>2];f[x+4>>2]=f[l+4>>2];mg(o,w,x);switch(b[t>>0]|0){case 6:{bh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=We(m,w,x,n,c)|0;Ve(m);if(y)v=52;else v=57;break}case 5:{bh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(m,w,x,n,c)|0;Ve(m);if(y)v=52;else v=57;break}case 4:{bh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(m,w,x,n,c)|0;Ve(m);if(y)v=52;else v=57;break}case 3:{uh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(m,w,x,n,c)|0;hf(m);if(y)v=52;else v=57;break}case 2:{uh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(m,w,x,n,c)|0;hf(m);if(y)v=52;else v=57;break}case 1:{th(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=of(m,w,x,n,c)|0;gf(m);if(y)v=52;else v=57;break}case 0:{th(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=of(m,w,x,n,c)|0;gf(m);if(y)v=52;else v=57;break}default:v=57}if((v|0)==52){e=f[o>>2]|0;if(e|0){a=o+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);mq(e)}v=62;break a}else if((v|0)==57){e=f[o>>2]|0;if(e|0){a=o+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);mq(e)}d=0;break a}break}default:d=0}while(0);if((v|0)==62)d=1;y=d;u=z;return y|0}function gb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=u;u=u+64|0;S=V+56|0;T=V+52|0;N=V+48|0;i=V+60|0;U=V;E=V+44|0;F=V+40|0;B=V+36|0;C=V+32|0;D=V+28|0;M=V+24|0;O=V+20|0;P=V+16|0;R=V+12|0;if(!(b[a+352>>0]|0)){tg(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){lj(d);mq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){lj(d);mq(d)}}else f[S>>2]=0}else{ai(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){lj(d);mq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){lj(d);mq(d)}}else f[S>>2]=0}z=a+12|0;if(!(f[z>>2]|0)){U=0;u=V;return U|0}K=a+200|0;ge(K,a)|0;H=f[z>>2]|0;J=a+4|0;Mh(((f[H+28>>2]|0)-(f[H+24>>2]|0)>>2)-(f[H+44>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=f[z>>2]|0;Mh((((f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)/3|0)-(f[H+40>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=a+28|0;G=a+8|0;h=f[G>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[S>>0]=0;Kg(H,h,S);h=f[z>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[S>>2]=-1;yf(a+52|0,h,S);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);y=f[z>>2]|0;y=(f[y+4>>2]|0)-(f[y>>2]|0)>>2;Fj(h,y-((y>>>0)%3|0)|0);y=a+84|0;x=f[z>>2]|0;x=(f[x+28>>2]|0)-(f[x+24>>2]|0)>>2;b[S>>0]=0;Kg(y,x,S);x=a+96|0;d=f[x>>2]|0;w=a+100|0;e=f[w>>2]|0;if((e|0)!=(d|0))f[w>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;A=a+168|0;f[A>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{v=d;d=f[d>>2]|0;mq(v)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[z>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[S>>2]=-1;yf(a+152|0,v,S);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);t=f[z>>2]|0;Fj(v,((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(_d(a)|0)){U=0;u=V;return U|0}if(!(If(a)|0)){U=0;u=V;return U|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[J>>2]|0)+44>>2]|0;t=e+16|0;p=f[t+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[t>>2]|0)>>>0>0)){f[T>>2]=f[e+4>>2];f[S>>2]=f[T>>2];Ie(e,S,i,i+1|0)|0;d=b[i>>0]|0}f[a+284>>2]=d&255;o=f[z>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Fi(K);f[U>>2]=0;t=U+4|0;f[t>>2]=0;f[U+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=U+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[H>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[z>>2]|0,f[E>>2]=d,f[S>>2]=f[E>>2],!(Cj(l,S)|0)):0){f[T>>2]=0;f[F>>2]=d;f[S>>2]=f[F>>2];i=Le(a,S,T)|0;Ui(K,i);d=f[T>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[z>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[y>>2]|0;W=i+(e>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[S>>2]=1;e=f[w>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[w>>2]=e+4}else zi(x,S);h=(f[H>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[S>>2]=g;e=f[t>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[t>>2]=e+4}else zi(U,S);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;W=(e|0)<0;d=W?-1073741824:(e>>>0)/3|0;if(W)break;if(f[(f[H>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[B>>2]=e;f[S>>2]=f[B>>2];if(!($a(a,S)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[C>>2]=d;f[S>>2]=f[C>>2];He(a,S,1)|0;f[D>>2]=f[T>>2];f[S>>2]=f[D>>2];if(!($a(a,S)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){I=61;break a}}e=0}else I=61;while(0);if((I|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{W=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=W;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[U>>2];f[P>>2]=f[t>>2];f[N>>2]=f[M>>2];f[T>>2]=f[O>>2];f[S>>2]=f[P>>2];Td(v,N,T,S)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[G>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[S>>0]=0,Kg(H,c,S),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[S>>2]=f[R>>2];cg(a,S)|0;c=c+4|0}while((c|0)!=(Q|0));ji(K);Mh(f[a+324>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;Mh(f[A>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;if(zg(a)|0){c=f[(f[J>>2]|0)+44>>2]|0;d=f[a+232>>2]|0;W=c+16|0;R=f[W+4>>2]|0;if(!((R|0)>0|(R|0)==0&(f[W>>2]|0)>>>0>0)){W=(f[a+236>>2]|0)-d|0;f[T>>2]=f[c+4>>2];f[S>>2]=f[T>>2];Ie(c,S,d,d+W|0)|0}e=1}else e=0}c=f[U>>2]|0;if(c|0){d=f[t>>2]|0;if((d|0)!=(c|0))f[t>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}W=e;u=V;return W|0}function hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;I=Q+36|0;G=Q+32|0;P=Q;F=Q+28|0;H=Q+24|0;J=a+8|0;E=f[J>>2]|0;f[G>>2]=0;Jj(I,E,G);E=a+1164|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];D=f[J>>2]|0;f[G>>2]=0;Jj(I,D,G);D=a+1176|0;h=f[D>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;K=P+20|0;Ic(P);d=f[N>>2]|0;e=(f[K>>2]|0)+(f[M>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[K>>2]|0)+1|0;f[K>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[M>>2]|0;e=d+-1|0;t=s+e|0;v=f[N>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;j=r+(t*20|0)|0;n=f[j>>2]|0;j=f[j+4>>2]|0;h=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[K>>2]=e;e=f[O>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[O>>2]=(f[O>>2]|0)+-4}f[b>>2]=n;f[c>>2]=j;k=f[E>>2]|0;l=k+(t*12|0)|0;m=(f[D>>2]|0)+(t*12|0)|0;f[F>>2]=n;f[H>>2]=j;g=j;i=n;f[G>>2]=f[F>>2];f[I>>2]=f[H>>2];e=Sd(a,G,I,l,m,h)|0;j=j-n|0;s=(j|0)/12|0;d=(f[a>>2]|0)-(f[(f[m>>2]|0)+(e<<2)>>2]|0)|0;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}if(!j){L=69;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[m>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[J>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){L=69;break c}}}m=1<>2]|0;d=f[l>>2]|0;k=d;j=f[(f[E>>2]|0)+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+m|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[O>>2]|0;i=f[N>>2]|0;s=j-i>>2;d=f[M>>2]|0;h=f[K>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(P);d=f[M>>2]|0;h=f[K>>2]|0;j=f[O>>2]|0;i=f[N>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[K>>2]=(f[K>>2]|0)+1}if((g|0)!=(n|0)){i=f[O>>2]|0;h=f[N>>2]|0;t=i-h>>2;d=f[M>>2]|0;g=f[K>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(P);d=f[M>>2]|0;g=f[K>>2]|0;i=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[K>>2]|0)+1|0;f[K>>2]=d}else L=69}else L=69;while(0);if((L|0)==69){L=0;d=f[K>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[N>>2]|0;e=f[M>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[O>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[K>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[N>>2]|0)+4|0;f[N>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;L=83;break}case 2:{e=204;L=83;break}default:{}}if((L|0)==83)f[M>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[N>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}mq(d);u=Q;return}function ib(a){a=a|0;var c=0,d=0,e=0,g=Ka,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ka;T=u;u=u+64|0;S=T+28|0;Q=T+16|0;O=T+4|0;L=T;R=a;M=a+80|0;c=f[M>>2]|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[S+16>>2]=R;H=S+20|0;n[H>>2]=$(1.0);f[S+24>>2]=R;nh(S,c);c=f[M>>2]|0;f[Q>>2]=0;R=Q+4|0;f[R>>2]=0;f[Q+8>>2]=0;do if(c|0)if(c>>>0>1073741823){Wo(Q);T=Ha(4)|0;Pp(T);sa(T|0,1096,107)}else{G=c<<2;F=_m(G)|0;f[Q>>2]=F;P=F+(c<<2)|0;f[Q+8>>2]=P;Xi(F|0,0,G|0)|0;f[R>>2]=P;break}while(0);f[O>>2]=0;P=O+4|0;f[P>>2]=0;f[O+8>>2]=0;f[L>>2]=0;a:do if((c|0)>0){F=S+16|0;C=S+4|0;E=S+12|0;B=S+8|0;D=O+8|0;G=S+24|0;c=0;z=0;b:while(1){w=f[F>>2]|0;k=f[w+8>>2]|0;w=(f[w+12>>2]|0)-k|0;v=(w|0)>0;if(v){i=k;l=w>>>2;d=0;j=0;do{e=f[i+(j<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;j=j+1|0}while((j|0)<(l|0))}else d=0;x=f[C>>2]|0;y=(x|0)==0;c:do if(!y){q=x+-1|0;e=(q&x|0)==0;if(e)t=q&d;else t=(d>>>0)%(x>>>0)|0;d=f[(f[S>>2]|0)+(t<<2)>>2]|0;if((d|0)!=0?(K=f[d>>2]|0,(K|0)!=0):0){r=f[G>>2]|0;s=r+8|0;r=r+12|0;d:do if(e){d=K;while(1){if((f[d+4>>2]&q|0)!=(t|0)){A=45;break c}p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){A=39;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break;if((m|0)>=(o|0)){A=43;break d}}d=f[d>>2]|0;if(!d){A=45;break c}}}else{d=K;while(1){if((((f[d+4>>2]|0)>>>0)%(x>>>0)|0|0)!=(t|0)){A=45;break c}p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){A=39;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break;if((m|0)>=(o|0)){A=43;break d}}d=f[d>>2]|0;if(!d){A=45;break c}}}while(0);if((A|0)==43){A=0;if(!d){A=45;break}}f[(f[Q>>2]|0)+(c<<2)>>2]=f[d+12>>2];e=z}else A=45}else A=45;while(0);do if((A|0)==45){A=0;if(v){j=w>>>2;d=0;i=0;do{e=f[k+(i<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;i=i+1|0}while((i|0)<(j|0));t=d}else t=0;e:do if(!y){p=x+-1|0;e=(p&x|0)==0;if(e)s=p&t;else s=(t>>>0)%(x>>>0)|0;d=f[(f[S>>2]|0)+(s<<2)>>2]|0;if((d|0)!=0?(J=f[d>>2]|0,(J|0)!=0):0){q=f[G>>2]|0;r=q+8|0;q=q+12|0;if(e){m=J;while(1){if((f[m+4>>2]&p|0)!=(s|0)){d=s;A=80;break e}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break e;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){A=76;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break e}m=f[m>>2]|0;if(!m){d=s;A=80;break}}}else{m=J;while(1){if((((f[m+4>>2]|0)>>>0)%(x>>>0)|0|0)!=(s|0)){d=s;A=80;break e}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break e;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){A=76;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break e}m=f[m>>2]|0;if(!m){d=s;A=80;break}}}}else{d=s;A=80}}else{d=0;A=80}while(0);if((A|0)==80){A=0;i=_m(16)|0;f[i+8>>2]=c;f[i+12>>2]=z;f[i+4>>2]=t;f[i>>2]=0;h=$(((f[E>>2]|0)+1|0)>>>0);U=$(x>>>0);g=$(n[H>>2]);do if(y|h>$(U*g)){c=(x>>>0<3|(x+-1&x|0)!=0)&1|x<<1;d=~~$(W($(h/g)))>>>0;nh(S,c>>>0>>0?d:c);c=f[C>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&t;break}else{e=c;c=(t>>>0)%(c>>>0)|0;break}}else{e=x;c=d}while(0);d=(f[S>>2]|0)+(c<<2)|0;c=f[d>>2]|0;if(!c){f[i>>2]=f[B>>2];f[B>>2]=i;f[d>>2]=B;c=f[i>>2]|0;if(c|0){c=f[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(f[S>>2]|0)+(c<<2)|0;A=91}}else{f[i>>2]=f[c>>2];A=91}if((A|0)==91){A=0;f[c>>2]=i}f[E>>2]=(f[E>>2]|0)+1;c=f[L>>2]|0}e=z+1|0;f[(f[Q>>2]|0)+(c<<2)>>2]=z;c=f[P>>2]|0;if((c|0)==(f[D>>2]|0)){zi(O,L);break}else{f[c>>2]=f[L>>2];f[P>>2]=c+4;break}}while(0);c=(f[L>>2]|0)+1|0;f[L>>2]=c;d=f[M>>2]|0;if((c|0)>=(d|0)){I=d;N=e;break a}else z=e}if((A|0)==39)Fa(20527,20426,68,20517);else if((A|0)==76)Fa(20527,20426,68,20517)}else{I=0;N=0}while(0);if((N|0)!=(I|0)){Sa[f[(f[a>>2]|0)+24>>2]&15](a,Q,O);f[M>>2]=N}c=f[O>>2]|0;if(c|0){d=f[P>>2]|0;if((d|0)!=(c|0))f[P>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}c=f[Q>>2]|0;if(c|0){d=f[R>>2]|0;if((d|0)!=(c|0))f[R>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}c=f[S+8>>2]|0;if(c|0)do{R=c;c=f[c>>2]|0;mq(R)}while((c|0)!=0);c=f[S>>2]|0;f[S>>2]=0;if(!c){u=T;return}mq(c);u=T;return}function jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;M=u;u=u+32|0;L=M+8|0;i=M;F=a+8|0;E=f[F>>2]|0;f[i>>2]=0;Jj(L,E,i);E=a+1164|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[L>>2];f[g>>2]=f[L+4>>2];f[d>>2]=f[L+8>>2];D=f[F>>2]|0;f[i>>2]=0;Jj(L,D,i);D=a+1176|0;h=f[D>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[L>>2];f[g>>2]=f[L+4>>2];f[d>>2]=f[L+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;K=L+8|0;J=L+4|0;I=L+16|0;G=L+20|0;Ic(L);d=f[J>>2]|0;e=(f[G>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[G>>2]|0)+1|0;f[G>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[I>>2]|0;e=d+-1|0;t=s+e|0;v=f[J>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[G>>2]=e;e=f[K>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[E>>2]|0;j=m+(t*12|0)|0;e=((f[F>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[D>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[F>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[F>>2]|0}while(g>>>0>>0)}if(!k){H=69;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[F>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){H=69;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[K>>2]|0;i=f[J>>2]|0;s=j-i>>2;d=f[I>>2]|0;h=f[G>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(L);d=f[I>>2]|0;h=f[G>>2]|0;j=f[K>>2]|0;i=f[J>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[G>>2]=(f[G>>2]|0)+1}if((g|0)!=(n|0)){i=f[K>>2]|0;h=f[J>>2]|0;t=i-h>>2;d=f[I>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(L);d=f[I>>2]|0;g=f[G>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[G>>2]|0)+1|0;f[G>>2]=d}else H=69}else H=69;while(0);if((H|0)==69){H=0;d=f[G>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[J>>2]|0;e=f[I>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[K>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[G>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[J>>2]|0)+4|0;f[J>>2]=d;g=f[K>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;H=83;break}case 2:{e=204;H=83;break}default:{}}if((H|0)==83)f[I>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[J>>2]|0;e=f[K>>2]|0;if((e|0)!=(d|0))f[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[L>>2]|0;if(!d){u=M;return}mq(d);u=M;return}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N+8|0;i=N;G=a+8|0;F=f[G>>2]|0;f[i>>2]=0;Jj(M,F,i);F=a+128|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];E=f[G>>2]|0;f[i>>2]=0;Jj(M,E,i);E=a+140|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;L=M+8|0;K=M+4|0;J=M+16|0;H=M+20|0;Ic(M);d=f[K>>2]|0;e=(f[H>>2]|0)+(f[J>>2]|0)|0;if((f[L>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[H>>2]|0)+1|0;f[H>>2]=d;a:do if(d|0){x=a+116|0;D=a+32|0;C=a+12|0;w=a+88|0;B=a+84|0;y=a+76|0;z=a+80|0;A=a+72|0;b:while(1){s=f[J>>2]|0;e=d+-1|0;t=s+e|0;v=f[K>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[H>>2]=e;e=f[L>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[L>>2]=(f[L>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[F>>2]|0;j=m+(t*12|0)|0;e=((f[G>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[G>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[G>>2]|0}while(g>>>0>>0)}if(!k){I=65;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[G>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){I=65;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)oi(C,i,d-o|0);else oi(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[L>>2]|0;i=f[K>>2]|0;s=j-i>>2;d=f[J>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(M);d=f[J>>2]|0;h=f[H>>2]|0;j=f[L>>2]|0;i=f[K>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[H>>2]=(f[H>>2]|0)+1}if((g|0)!=(n|0)){i=f[L>>2]|0;h=f[K>>2]|0;t=i-h>>2;d=f[J>>2]|0;g=f[H>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(M);d=f[J>>2]|0;g=f[H>>2]|0;i=f[L>>2]|0;h=f[K>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[H>>2]|0)+1|0;f[H>>2]=d}else I=65}else I=65;while(0);if((I|0)==65){I=0;d=f[H>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[K>>2]|0;e=f[J>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[L>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[H>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[K>>2]|0)+4|0;f[K>>2]=d;g=f[L>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;I=79;break}case 2:{e=204;I=79;break}default:{}}if((I|0)==79)f[J>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[K>>2]|0;e=f[L>>2]|0;if((e|0)!=(d|0))f[L>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}mq(d);u=N;return}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N+8|0;i=N;G=a+8|0;F=f[G>>2]|0;f[i>>2]=0;Jj(M,F,i);F=a+140|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];E=f[G>>2]|0;f[i>>2]=0;Jj(M,E,i);E=a+152|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;L=M+8|0;K=M+4|0;J=M+16|0;H=M+20|0;Ic(M);d=f[K>>2]|0;e=(f[H>>2]|0)+(f[J>>2]|0)|0;if((f[L>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[H>>2]|0)+1|0;f[H>>2]=d;a:do if(d|0){x=a+128|0;D=a+44|0;C=a+12|0;w=a+100|0;B=a+96|0;y=a+88|0;z=a+92|0;A=a+84|0;b:while(1){s=f[J>>2]|0;e=d+-1|0;t=s+e|0;v=f[K>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[H>>2]=e;e=f[L>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[L>>2]=(f[L>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[F>>2]|0;j=m+(t*12|0)|0;e=((f[G>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[G>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[G>>2]|0}while(g>>>0>>0)}if(!k){I=65;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[G>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){I=65;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)Kf(C,i,d-o|0);else Kf(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[L>>2]|0;i=f[K>>2]|0;s=j-i>>2;d=f[J>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(M);d=f[J>>2]|0;h=f[H>>2]|0;j=f[L>>2]|0;i=f[K>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[H>>2]=(f[H>>2]|0)+1}if((g|0)!=(n|0)){i=f[L>>2]|0;h=f[K>>2]|0;t=i-h>>2;d=f[J>>2]|0;g=f[H>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(M);d=f[J>>2]|0;g=f[H>>2]|0;i=f[L>>2]|0;h=f[K>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[H>>2]|0)+1|0;f[H>>2]=d}else I=65}else I=65;while(0);if((I|0)==65){I=0;d=f[H>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[K>>2]|0;e=f[J>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[L>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[H>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[K>>2]|0)+4|0;f[K>>2]=d;g=f[L>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;I=79;break}case 2:{e=204;I=79;break}default:{}}if((I|0)==79)f[J>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[K>>2]|0;e=f[L>>2]|0;if((e|0)!=(d|0))f[L>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}mq(d);u=N;return}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}mb(a,n,c);a=n+4|0}if((s|0)==104){s=0;mb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}nb(a,n,c);a=n+4|0}if((s|0)==104){s=0;nb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}ob(a,n,c);a=n+4|0}if((s|0)==104){s=0;ob(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}pb(a,n,c);a=n+4|0}if((s|0)==104){s=0;pb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function qb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}qb(a,n,c);a=n+4|0}if((s|0)==104){s=0;qb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}rb(a,n,c);a=n+4|0}if((s|0)==104){s=0;rb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}sb(a,n,c);a=n+4|0}if((s|0)==104){s=0;sb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}tb(a,n,c);a=n+4|0}if((s|0)==104){s=0;tb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}ub(a,n,c);a=n+4|0}if((s|0)==104){s=0;ub(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}vb(a,n,c);a=n+4|0}if((s|0)==104){s=0;vb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}wb(a,n,c);a=n+4|0}if((s|0)==104){s=0;wb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}xb(a,n,c);a=n+4|0}if((s|0)==104){s=0;xb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}yb(a,n,c);a=n+4|0}if((s|0)==104){s=0;yb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}zb(a,n,c);a=n+4|0}if((s|0)==104){s=0;zb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Ab(a,n,c);a=n+4|0}if((s|0)==104){s=0;Ab(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Bb(a,n,c);a=n+4|0}if((s|0)==104){s=0;Bb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Cb(a,n,c);a=n+4|0}if((s|0)==104){s=0;Cb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Db(a,n,c);a=n+4|0}if((s|0)==104){s=0;Db(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Eb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;n=F+76|0;o=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0){l=c;m=-1073741824}else{l=c;m=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}}else{l=-1073741824;m=-1073741824}c=a+36|0;j=f[c>>2]|0;g=f[j+4>>2]|0;k=f[j>>2]|0;if(g-k>>2>>>0>l>>>0){c=k;h=g;i=j;g=k}else{Vo(j);i=f[c>>2]|0;c=f[i>>2]|0;h=f[i+4>>2]|0;g=f[j>>2]|0}w=f[g+(l<<2)>>2]|0;if(h-c>>2>>>0<=m>>>0){Vo(i);c=f[i>>2]|0}h=f[c+(m<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){z=w<<1;v=f[d+(z<<2)>>2]|0;y=((v|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(v|0)|(s|0)!=(z|0))){f[a+8>>2]=v;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;i=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,i,B)|0;n=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=Dn(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=Dn(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Zm(n|0,o|0,n|0,o|0)|0;x=I;B=Zm(p|0,q|0,p|0,q|0)|0;x=Zn(B|0,I|0,C|0,x|0)|0;C=I;B=Zm(l|0,m|0,l|0,m|0)|0;B=Zn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=Dn(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=Dn(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=Dn(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Zm(K|0,J|0,n|0,o|0)|0;D=I;g=Zm(H|0,G|0,p|0,q|0)|0;D=Zn(g|0,I|0,k|0,D|0)|0;k=I;g=Zm(h|0,i|0,l|0,m|0)|0;g=Zn(D|0,k|0,g|0,I|0)|0;k=I;D=Dn(r|0,((r|0)<0)<<31>>31|0,v|0,y|0)|0;c=I;w=Dn(s|0,((s|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;s=Zm(B|0,C|0,v|0,y|0)|0;r=I;v=Zm(B|0,C|0,z|0,A|0)|0;t=I;A=Zm(g|0,k|0,D|0,c|0)|0;z=I;j=Zm(g|0,k|0,w|0,x|0)|0;y=I;r=Zn(A|0,z|0,s|0,r|0)|0;s=I;t=Zn(j|0,y|0,v|0,t|0)|0;v=I;y=Zm(g|0,k|0,n|0,o|0)|0;j=I;z=Zm(g|0,k|0,p|0,q|0)|0;A=I;m=Zm(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=Dn(K|0,J|0,j|0,l|0)|0;j=I;z=Dn(H|0,G|0,A|0,z|0)|0;A=I;m=Dn(h|0,i|0,k|0,m|0)|0;k=I;j=Zm(l|0,j|0,l|0,j|0)|0;l=I;A=Zm(z|0,A|0,z|0,A|0)|0;l=Zn(A|0,I|0,j|0,l|0)|0;j=I;k=Zm(m|0,k|0,m|0,k|0)|0;k=Zn(l|0,j|0,k|0,I|0)|0;j=I;l=Dn(0,0,D|0,c|0)|0;m=I;j=Zm(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=25}break}case 1:{if(!c){g=1;c=0;E=26}else{g=1;c=0;h=j;i=k;E=25}break}default:{g=1;c=0;h=j;i=k;E=25}}if((E|0)==25)while(1){g=tn(g|0,c|0,1)|0;c=I;K=h;h=yn(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=26;break}else{i=I;E=25}}if((E|0)==26)while(1){K=Oo(j|0,k|0,g|0,c|0)|0;g=Zn(K|0,I|0,g|0,c|0)|0;g=yn(g|0,I|0,1)|0;c=I;K=Zm(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=26;else break}o=Zm(g|0,c|0,w|0,x|0)|0;K=I;n=Zm(g|0,c|0,l|0,m|0)|0;l=I;J=Zn(o|0,K|0,r|0,s|0)|0;g=I;k=Zn(n|0,l|0,t|0,v|0)|0;c=I;g=kk(J|0,g|0,B|0,C|0)|0;J=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;K=Dn(r|0,s|0,o|0,K|0)|0;o=I;l=Dn(t|0,v|0,n|0,l|0)|0;n=I;o=kk(K|0,o|0,B|0,C|0)|0;K=I;n=kk(l|0,n|0,B|0,C|0)|0;l=I;h=e<<1;j=f[d+(h<<2)>>2]|0;H=((j|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;m=((h|0)<0)<<31>>31;J=Dn(j|0,H|0,g|0,J|0)|0;G=I;k=Dn(h|0,m|0,c|0,k|0)|0;i=I;G=Zm(J|0,G|0,J|0,G|0)|0;J=I;i=Zm(k|0,i|0,k|0,i|0)|0;J=Zn(i|0,I|0,G|0,J|0)|0;G=I;K=Dn(j|0,H|0,o|0,K|0)|0;H=I;l=Dn(h|0,m|0,n|0,l|0)|0;m=I;H=Zm(K|0,H|0,K|0,H|0)|0;K=I;m=Zm(l|0,m|0,l|0,m|0)|0;K=Zn(m|0,I|0,H|0,K|0)|0;H=I;m=a+16|0;l=a+20|0;h=f[l>>2]|0;j=a+24|0;i=f[j>>2]|0;k=(h|0)==(i<<5|0);if(G>>>0>>0|(G|0)==(H|0)&J>>>0>>0){if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;K=(f[m>>2]|0)+(h>>>5<<2)|0;f[K>>2]=f[K>>2]|1<<(h&31)}else{if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;g=(f[m>>2]|0)+(h>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(h&31));g=o;c=n}f[a+8>>2]=g;f[a+12>>2]=c;u=F;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return} -function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;j=n+12|0;k=n+8|0;d=n+4|0;g=n;if(!b){c=_m(76)|0;b=_m(12)|0;e=f[(f[a+4>>2]|0)+80>>2]|0;f[b+4>>2]=0;f[b>>2]=3780;f[b+8>>2]=e;f[g>>2]=b;ml(c,g,0);f[d>>2]=c;b=a+12|0;e=f[b>>2]|0;if(e>>>0<(f[a+16>>2]|0)>>>0){f[d>>2]=0;f[e>>2]=c;f[b>>2]=e+4}else pg(a+8|0,d);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0;f[g>>2]=0;if(!c){u=n;return 1}Oa[f[(f[c>>2]|0)+4>>2]&127](c);u=n;return 1}e=f[f[a+8>>2]>>2]|0;f[j>>2]=b;m=e+4|0;l=e+8|0;c=f[l>>2]|0;if((c|0)==(f[e+12>>2]|0))zi(m,j);else{f[c>>2]=b;f[l>>2]=c+4}d=f[j>>2]|0;h=e+16|0;b=e+20|0;e=f[b>>2]|0;c=f[h>>2]|0;g=e-c>>2;if((d|0)>=(g|0)){a=d+1|0;f[k>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(i=c+(a<<2)|0,(e|0)!=(i|0)):0)f[b>>2]=e+(~((e+-4-i|0)>>>2)<<2)}else{Pg(h,a-g|0,k);d=f[j>>2]|0;c=f[h>>2]|0}}f[c+(d<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;u=n;return 1}function qf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ie(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ie(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;Wk(c);b=a+44|0;wm(b);m=a+64|0;wm(m);n=a+84|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];lb(a,i,k);Pc(c,e);gg(b,e);gg(m,e);gg(n,e);u=l;return 1}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;g=f[l>>2]|0;e=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Xi(g|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}c=f[a>>2]|0;h=((g-c|0)/12|0)+b|0;if(h>>>0>357913941){Wo(a);g=f[l>>2]|0;c=f[a>>2]|0;e=g;d=f[m>>2]|0}k=c;d=(d-c|0)/12|0;i=d<<1;i=d>>>0<178956970?(i>>>0>>0?h:i):357913941;d=(g-c|0)/12|0;do if(i)if(i>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{h=_m(i*12|0)|0;break}else h=0;while(0);g=h+(d*12|0)|0;d=g;j=h+(i*12|0)|0;Xi(g|0,0,b*12|0)|0;h=g+(b*12|0)|0;if((e|0)==(k|0))i=c;else{c=d;do{b=g+-12|0;i=e;e=e+-12|0;f[b>>2]=0;d=g+-8|0;f[d>>2]=0;f[g+-4>>2]=0;f[b>>2]=f[e>>2];b=i+-8|0;f[d>>2]=f[b>>2];i=i+-4|0;f[g+-4>>2]=f[i>>2];f[i>>2]=0;f[b>>2]=0;f[e>>2]=0;g=c+-12|0;c=g}while((e|0)!=(k|0));d=c;i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=j;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);mq(g)}}while((e|0)!=(h|0));if(!i)return;mq(i);return}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3460;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)Wo(h);c=((c+-1|0)>>>5)+1|0;o=_m(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Wo(h);o=((c+-1|0)>>>5)+1|0;a=_m(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m);u=n;return}function tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3508;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)Wo(h);c=((c+-1|0)>>>5)+1|0;o=_m(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Wo(h);o=((c+-1|0)>>>5)+1|0;a=_m(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m);u=n;return}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o+4|0;n=o;k=o+8|0;i=d+11|0;j=b[i>>0]|0;g=j<<24>>24<0;if(g){a=f[d+4>>2]|0;if(a>>>0>255){c=0;u=o;return c|0}}else a=j&255;if(!a){b[k>>0]=0;d=c+16|0;l=f[d+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[d>>2]|0)>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ie(c,m,k,k+1|0)|0}c=1;u=o;return c|0}l=d+4|0;e=f[l>>2]|0;b[k>>0]=g?e:j&255;a=c+16|0;g=a;h=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&h>>>0>0)i=g;else{f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ie(c,m,k,k+1|0)|0;h=a;j=b[i>>0]|0;i=f[h+4>>2]|0;h=f[h>>2]|0;e=f[l>>2]|0}g=j<<24>>24<0;a=g?f[d>>2]|0:d;if(!((i|0)>0|(i|0)==0&h>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ie(c,m,a,a+(g?e:j&255)|0)|0}c=1;u=o;return c|0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[i>>2]|0}else c=0;l=d-c|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){Wo(a);b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}e=_m(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Eg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Eg(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;e=f[k>>2]|0;if(d-e>>2>>>0>=b>>>0){Xi(e|0,0,b<<2|0)|0;f[k>>2]=e+(b<<2);u=n;return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[l>>2]|0;e=f[k>>2]|0}i=d-c|0;j=i>>1;g=i>>2>>>0<536870911?(j>>>0>>0?g:j):1073741823;c=e-c>>2;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(g)if(g>>>0>1073741823){n=Ha(4)|0;Pp(n);sa(n|0,1096,107)}else{d=_m(g<<2)|0;break}else d=0;while(0);f[m>>2]=d;c=d+(c<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=c;j=m+12|0;f[j>>2]=d+(g<<2);Xi(c|0,0,b<<2|0)|0;f[i>>2]=c+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];Uh(m);u=n;return}function xf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;j=d-e|0;d=j>>1;d=j>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(d>>>0>1073741823){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}h=_m(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function zf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;r=u;u=u+48|0;n=r+24|0;o=r+8|0;p=r+4|0;q=r;h=c+4|0;if((f[h>>2]|0)==-1)Fa(7347,7128,57,7476);m=e+4|0;ri(a,c,(f[m>>2]|0)-(f[e>>2]|0)>>2,2,g,d);l=f[a>>2]|0;l=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;a=f[h>>2]|0;if((a|0)<=1)Fa(11796,11807,60,11922);if((a|0)>=31)Fa(11942,11807,61,11922);f[o>>2]=a;a=1<>2]=a+-1;a=a+-2|0;f[o+8>>2]=a;f[o+12>>2]=(a|0)/2|0;a=f[e>>2]|0;if((f[m>>2]|0)==(a|0)){u=r;return}k=d+84|0;h=d+68|0;i=d+48|0;j=d+40|0;g=0;c=0;while(1){a=f[a+(c<<2)>>2]|0;if(!(b[k>>0]|0))a=f[(f[h>>2]|0)+(a<<2)>>2]|0;t=i;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j;s=f[w>>2]|0;a=Zm(s|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Zn(a|0,I|0,v|0,t|0)|0;Eg(n|0,(f[f[d>>2]>>2]|0)+a|0,s|0)|0;Gf(o,n,p,q);f[l+(g<<2)>>2]=f[p>>2];f[l+((g|1)<<2)>>2]=f[q>>2];c=c+1|0;a=f[e>>2]|0;if(c>>>0>=(f[m>>2]|0)-a>>2>>>0)break;else g=g+2|0}u=r;return}function Af(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=u;u=u+80|0;j=i;g=i+64|0;Al(j);k=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Ql(5)|0,d)|0;qj(j,k,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=_m(96)|0;ql(h,j);gj(h,c)|0;f[g>>2]=h;Hi(a,g);h=f[g>>2]|0;f[g>>2]=0;if(h|0){k=h+88|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d+8>>2]|0;if(c|0){g=d+12|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;mq(c)}mq(d)}c=f[h+68>>2]|0;if(c|0){g=h+72|0;d=f[g>>2]|0;if((d|0)!=(c|0))f[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}k=h+64|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){g=d+4|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;mq(c)}mq(d)}mq(h)}if(!e){u=i;return}a=f[a+32>>2]|0;b[a+84>>0]=0;c=a+68|0;a=a+72|0;h=f[a>>2]|0;d=f[c>>2]|0;g=h-d>>2;if(g>>>0>>0){Pg(c,e-g|0,1516);u=i;return}if(g>>>0<=e>>>0){u=i;return}d=d+(e<<2)|0;if((h|0)==(d|0)){u=i;return}f[a>>2]=h+(~((h+-4-d|0)>>>2)<<2);u=i;return}function Bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=4194303)Fa(19224,19631,356,19254);if(e>>>0>=1073741824)Fa(19264,19631,357,19254);d=e+-4194304|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-4177920|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+4194304|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1077936128|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=2097151)Fa(19224,19631,356,19254);if(e>>>0>=536870912)Fa(19264,19631,357,19254);d=e+-2097152|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-2080768|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+6291456|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1075838976|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=1048575)Fa(19224,19631,356,19254);if(e>>>0>=268435456)Fa(19264,19631,357,19254);d=e+-1048576|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-1032192|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+7340032|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074790400|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=262143)Fa(19224,19631,356,19254);if(e>>>0>=67108864)Fa(19264,19631,357,19254);d=e+-262144|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-245760|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8126464|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074003968|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=131071)Fa(19224,19631,356,19254);if(e>>>0>=33554432)Fa(19264,19631,357,19254);d=e+-131072|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-114688|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8257536|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1073872896|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=Ka,p=Ka,q=0.0,r=Ka;r=$(n[b>>2]);m=+$(K($(r)));p=$(n[b+4>>2]);m=m+ +$(K($(p)));o=$(n[b+8>>2]);m=m+ +$(K($(o)));h=m>1.0e-06;m=1.0/m;l=f[a+12>>2]|0;q=+(l|0);k=~~+J(+(q*(h?+r*m:1.0)+.5));g=~~+J(+(q*(h?+p*m:0.0)+.5));e=(k|0)>-1;k=e?k:0-k|0;i=l-k-((g|0)>-1?g:0-g|0)|0;b=(i|0)<0;g=(b?((g|0)>0?i:0-i|0):0)+g|0;i=b?0:i;i=(h?+o*m:0.0)<0.0?0-i|0:i;h=(g|0)>-1?g:0-g|0;b=(i|0)>-1?i:0-i|0;if((h+k+b|0)!=(l|0))Fa(14147,11807,99,14235);if(!e){if((g|0)>=0)b=(f[a+8>>2]|0)-b|0;if((i|0)<0)k=h;else k=(f[a+8>>2]|0)-h|0}else{b=l+g|0;k=l+i|0}i=(b|0)==0;j=(k|0)==0;e=f[a+8>>2]|0;if(!(k|b)){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}g=(e|0)==(k|0);h=(e|0)==(b|0);if(i&g|j&h){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}if(i&(l|0)<(k|0)){a=0;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(k|0)&h){a=b;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(b|0)&g){a=(l<<1)-b|0;l=k;f[c>>2]=a;f[d>>2]=l;return}else{a=(l|0)<(b|0)&j?(l<<1)-b|0:b;l=k;f[c>>2]=a;f[d>>2]=l;return}}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=32767)Fa(19224,19631,356,19254);if(e>>>0>=8388608)Fa(19264,19631,357,19254);d=e+-32768|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-16384|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8355840|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{i=e+-1073774592|0;b[a>>0]=i;b[a+1>>0]=i>>>8;b[a+2>>0]=i>>>16;i=4;e=a+3|0;a=h;d=192;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function If(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+352>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;ui(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Fj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;yf(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;Bc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)Fa(20527,20426,60,20517);else if((a|0)==11){u=o;return 1}return 0}function Jf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+288>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;ui(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Fj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;yf(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;Bc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)Fa(20527,20426,60,20517);else if((a|0)==11){u=o;return 1}return 0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)Fa(19425,19449,46,19550);if((b|0)<=0)Fa(19579,19449,47,19550);g=c>>>1&1431655765|c<<1&-1431655766;g=g>>>2&858993459|g<<2&-858993460;g=g>>>4&252645135|g<<4&-252645136;g=g>>>8&16711935|g<<8&-16711936;c=32-b|0;g=(g>>>16|g<<16)>>>c;d=g-(g>>>1&1431655765)|0;d=(d>>>2&858993459)+(d&858993459)|0;d=(X((d>>>4)+d&252645135,16843009)|0)>>>24;i=b-d|0;j=f[a>>2]|0;h=j;i=Zn(f[h>>2]|0,f[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;h=j;f[h>>2]=i;f[h+4>>2]=I;j=j+8|0;h=j;d=Zn(f[h>>2]|0,f[h+4>>2]|0,d|0,0)|0;f[j>>2]=d;f[j+4>>2]=I;j=a+28|0;d=f[j>>2]|0;h=32-d|0;i=a+24|0;do if((h|0)>=(b|0)){e=-1>>>c<>2]&~e|e&g<>2]=e;b=d+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0)){zi(a+12|0,i);d=0;c=0;break}else{f[c>>2]=e;f[d>>2]=c+4;d=0;c=0;break}}else{e=-1>>>d<>2]&~e|e&g<>2]=e;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0))zi(a+12|0,i);else{f[c>>2]=e;f[d>>2]=c+4}c=b-h|0;d=c;c=-1>>>(32-c|0)&g>>>h}while(0);f[i>>2]=c;f[j>>2]=d;return}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=f[b>>2]|0;l=f[k>>2]|0;e=f[a+4>>2]|0;b=f[k+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(i)g=h&b;else g=(b>>>0)%(e>>>0)|0;c=(f[a>>2]|0)+(g<<2)|0;j=f[c>>2]|0;while(1){b=f[j>>2]|0;if((b|0)==(k|0))break;else j=b}if((j|0)!=(a+8|0)){b=f[j+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;d=18}else d=11}else d=11;do if((d|0)==11){if(l|0){b=f[l+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;b=l;d=19;break}}f[c>>2]=0;c=f[k>>2]|0;d=18}while(0);if((d|0)==18){b=c;if(c)d=19}if((d|0)==19){c=f[c+4>>2]|0;if(i)c=c&h;else c=(c>>>0)%(e>>>0)|0;if((c|0)!=(g|0)){f[(f[a>>2]|0)+(c<<2)>>2]=j;b=f[k>>2]|0}}f[j>>2]=b;f[k>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!k)return l|0;b=f[k+20>>2]|0;if(b|0){c=k+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;mq(b)}_n(k+8|0);mq(k);return l|0}function Mf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;c=f[d>>2]|0;b=f[g>>2]|0;i=c-b>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=b+(h<<2)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2)}else Pg(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];ac(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];ac(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function Nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+8|0;Wd(a,a+4|0,e,c)|0;d=a+12|0;if((d|0)==(b|0))return;while(1){k=f[d>>2]|0;m=f[e>>2]|0;g=f[c>>2]|0;i=f[g+4>>2]|0;h=f[g>>2]|0;if(i-h>>3>>>0>k>>>0){l=g;j=h;g=h}else{Vo(g);i=f[c>>2]|0;l=i;j=f[g>>2]|0;g=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-g>>3>>>0<=m>>>0){Vo(l);g=f[l>>2]|0}if(h>>>0<(f[g+(m<<3)>>2]|0)>>>0){m=f[d>>2]|0;g=d;while(1){f[g>>2]=f[e>>2];if((e|0)==(a|0)){e=a;break}l=e+-4|0;k=f[l>>2]|0;j=f[c>>2]|0;h=f[j+4>>2]|0;g=f[j>>2]|0;if(h-g>>3>>>0>m>>>0)i=g;else{Vo(j);n=f[c>>2]|0;i=f[j>>2]|0;g=f[n>>2]|0;h=f[n+4>>2]|0;j=n}i=f[i+(m<<3)>>2]|0;if(h-g>>3>>>0<=k>>>0){Vo(j);g=f[j>>2]|0}if(i>>>0<(f[g+(k<<3)>>2]|0)>>>0){g=e;e=l}else break}f[e>>2]=m}e=d+4|0;if((e|0)==(b|0))break;else{n=d;d=e;e=n}}return}function Of(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+32|0;e=m;l=a+16|0;d=l;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){u=m;return}i=Zn(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;i=yn(i|0,I|0,3)|0;j=I;if(!(b[a+24>>0]|0)){h=a+4|0;e=h}else{n=f[a>>2]|0;g=a+4|0;n=n+((f[g>>2]|0)-n)|0;h=Zn(c|0,d|0,8,0)|0;h=n+(0-h)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;b[e+24>>0]=0;ch(i,j,e)|0;d=e+4|0;c=(f[d>>2]|0)-(f[e>>2]|0)|0;dm(h+c|0,h+8|0,i|0)|0;Eg(h|0,f[e>>2]|0,c|0)|0;h=l;c=Zn(f[h>>2]|0,f[h+4>>2]|0,8-c|0,0)|0;h=l;f[h>>2]=c;f[h+4>>2]=I;h=e+12|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)mq(c);c=f[e>>2]|0;if(c|0){if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}d=l;e=g;c=f[d>>2]|0;d=f[d+4>>2]|0;h=g}e=f[e>>2]|0;n=f[a>>2]|0;g=e-n|0;c=Dn(i|0,j|0,c|0,d|0)|0;c=Zn(c|0,I|0,g|0,0)|0;d=n;if(c>>>0<=g>>>0){if(c>>>0>>0?(k=d+c|0,(e|0)!=(k|0)):0)f[h>>2]=k}else ki(a,c-g|0);n=l;f[n>>2]=0;f[n+4>>2]=0;u=m;return}function Pf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;l=a+36|0;j=a+4|0;i=a+8|0;d=(f[i>>2]|0)-(f[j>>2]|0)>>2;g=a+40|0;b=f[g>>2]|0;c=f[l>>2]|0;e=b-c>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=c+(d<<2)|0,(b|0)!=(h|0)):0)do{e=b+-4|0;f[g>>2]=e;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[g>>2]|0}while((b|0)!=(h|0))}else bg(l,d-e|0);if((f[i>>2]|0)==(f[j>>2]|0)){a=1;u=m;return a|0}d=a+52|0;c=a+48|0;e=0;while(1){Sa[f[(f[a>>2]|0)+56>>2]&15](k,a,e);h=(f[l>>2]|0)+(e<<2)|0;g=f[k>>2]|0;f[k>>2]=0;b=f[h>>2]|0;f[h>>2]=g;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[k>>2]|0;f[k>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[(f[l>>2]|0)+(e<<2)>>2]|0;if(!b){b=0;c=19;break}if(e>>>0<(f[d>>2]|0)>>>0?f[(f[c>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0:0)ep(b);e=e+1|0;if(e>>>0>=(f[i>>2]|0)-(f[j>>2]|0)>>2>>>0){b=1;c=19;break}}if((c|0)==19){u=m;return b|0}return 0}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;j=l+4|0;i=l;Mh(f[c+12>>2]|0,b)|0;d=f[c+8>>2]|0;a:do if(d|0){k=b+16|0;h=b+4|0;while(1){e=d;if(!(uf(0,b,e+8|0)|0)){d=0;break}m=e+20|0;g=(f[e+24>>2]|0)-(f[m>>2]|0)|0;Mh(g,b)|0;e=f[m>>2]|0;m=k;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[h>>2];f[j>>2]=f[i>>2];Ie(b,j,e,e+g|0)|0}d=f[d>>2]|0;if(!d)break a}u=l;return d|0}while(0);Mh(f[c+32>>2]|0,b)|0;d=f[c+28>>2]|0;if(!d){n=1;u=l;return n|0}while(1){e=d;if(!(uf(0,b,e+8|0)|0)){d=0;e=10;break}Qf(a,b,f[e+20>>2]|0)|0;d=f[d>>2]|0;if(!d){d=1;e=10;break}}if((e|0)==10){u=l;return d|0}return 0}function Rf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Bk(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Bk(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Bk(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)dm(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Eg(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);mq(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[h>>2]|0}else c=0;m=d-c|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){Wo(a);b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}e=_m(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Eg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];fe(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=c>>>5;dm(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function Uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=f[d>>2]|0;m=f[d+4>>2]|0;a:do if((e|0)==(m|0)){n=a+8|0;o=a+12|0;q=0}else{k=f[c>>2]|0;l=a+8|0;j=a+12|0;d=0;b:while(1){h=f[e>>2]|0;i=f[k+(h<<2)>>2]|0;if((i|0)>=(d|0)){d=f[l>>2]|0;c=(f[j>>2]|0)-d|0;if((c|0)>0){g=c>>2;a=0;do{c=f[d+(a<<2)>>2]|0;if(b[c+84>>0]|0)break b;c=f[c+68>>2]|0;f[c+(i<<2)>>2]=f[c+(h<<2)>>2];a=a+1|0}while((a|0)<(g|0))}d=i+1|0}e=e+4|0;if((e|0)==(m|0)){n=l;o=j;q=d;break a}}Fa(19931,19950,89,20044)}while(0);c=f[o>>2]|0;d=f[n>>2]|0;if((c-d|0)>0)j=0;else return;do{g=f[d+(j<<2)>>2]|0;b[g+84>>0]=0;h=g+68|0;g=g+72|0;e=f[g>>2]|0;a=f[h>>2]|0;i=e-a>>2;if(q>>>0<=i>>>0){if(q>>>0>>0?(p=a+(q<<2)|0,(e|0)!=(p|0)):0)f[g>>2]=e+(~((e+-4-p|0)>>>2)<<2)}else{Pg(h,q-i|0,6092);d=f[n>>2]|0;c=f[o>>2]|0}j=j+1|0}while((j|0)<(c-d>>2|0));return}function Vf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=d[b>>1]|0;k=d[b+2>>1]|0;l=d[b+4>>1]|0;i=d[b+6>>1]|0;b=((((j^318)&65535)+239^k&65535)+239^l&65535)+239^i&65535;e=f[a+4>>2]|0;if(!e){l=0;return l|0}h=e+-1|0;c=(h&e|0)==0;if(c)g=b&h;else g=(b>>>0)%(e>>>0)|0;b=f[(f[a>>2]|0)+(g<<2)>>2]|0;if(!b){l=0;return l|0}b=f[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((f[b+4>>2]&h|0)!=(g|0)){b=0;a=20;break}if((((d[b+8>>1]|0)==j<<16>>16?(d[b+10>>1]|0)==k<<16>>16:0)?(d[b+12>>1]|0)==l<<16>>16:0)?(d[b+14>>1]|0)==i<<16>>16:0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((f[b+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(g|0)){b=0;a=20;break}if((((d[b+8>>1]|0)==j<<16>>16?(d[b+10>>1]|0)==k<<16>>16:0)?(d[b+12>>1]|0)==l<<16>>16:0)?(d[b+14>>1]|0)==i<<16>>16:0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function Wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q;if(!b){c=0;u=q;return c|0}n=b+96|0;m=b+100|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;b=f[m>>2]|0;a=f[n>>2]|0;e=(b-a|0)/12|0;if(e>>>0>=c>>>0){if(e>>>0>c>>>0?(g=a+(c*12|0)|0,(b|0)!=(g|0)):0)f[m>>2]=b+(~(((b+-12-g|0)>>>0)/12|0)*12|0)}else hg(n,c-e|0,o);if((c|0)<=0){c=1;u=q;return c|0}a=f[n>>2]|0;k=0;do{h=k*3|0;i=f[d+(h<<2)>>2]|0;j=f[d+(h+1<<2)>>2]|0;h=f[d+(h+2<<2)>>2]|0;e=f[m>>2]|0;g=(e-a|0)/12|0;b=a;l=k;k=k+1|0;if((l|0)>=(g|0)){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if(k>>>0<=g>>>0){if(k>>>0>>0?(p=b+(k*12|0)|0,(e|0)!=(p|0)):0)f[m>>2]=e+(~(((e+-12-p|0)>>>0)/12|0)*12|0)}else{hg(n,k-g|0,o);a=f[n>>2]|0;b=a}}f[b+(l*12|0)>>2]=i;f[b+(l*12|0)+4>>2]=j;f[b+(l*12|0)+8>>2]=h}while((k|0)!=(c|0));a=1;u=q;return a|0}function Xf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=b[c>>0]|0;k=b[c+1>>0]|0;l=b[c+2>>0]|0;i=b[c+3>>0]|0;c=(((j&255^318)+239^k&255)+239^l&255)+239^i&255;e=f[a+4>>2]|0;if(!e){l=0;return l|0}h=e+-1|0;d=(h&e|0)==0;if(d)g=c&h;else g=(c>>>0)%(e>>>0)|0;c=f[(f[a>>2]|0)+(g<<2)>>2]|0;if(!c){l=0;return l|0}c=f[c>>2]|0;if(!c){l=0;return l|0}if(d){while(1){if((f[c+4>>2]&h|0)!=(g|0)){c=0;a=20;break}if((((b[c+8>>0]|0)==j<<24>>24?(b[c+9>>0]|0)==k<<24>>24:0)?(b[c+10>>0]|0)==l<<24>>24:0)?(b[c+11>>0]|0)==i<<24>>24:0){a=20;break}c=f[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}else{while(1){if((((f[c+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(g|0)){c=0;a=20;break}if((((b[c+8>>0]|0)==j<<24>>24?(b[c+9>>0]|0)==k<<24>>24:0)?(b[c+10>>0]|0)==l<<24>>24:0)?(b[c+11>>0]|0)==i<<24>>24:0){a=20;break}c=f[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}return 0}function Yf(a){a=a|0;Wk(a);Wk(a+32|0);Wk(a+64|0);Wk(a+96|0);Wk(a+128|0);Wk(a+160|0);Wk(a+192|0);Wk(a+224|0);Wk(a+256|0);Wk(a+288|0);Wk(a+320|0);Wk(a+352|0);Wk(a+384|0);Wk(a+416|0);Wk(a+448|0);Wk(a+480|0);Wk(a+512|0);Wk(a+544|0);Wk(a+576|0);Wk(a+608|0);Wk(a+640|0);Wk(a+672|0);Wk(a+704|0);Wk(a+736|0);Wk(a+768|0);Wk(a+800|0);Wk(a+832|0);Wk(a+864|0);Wk(a+896|0);Wk(a+928|0);Wk(a+960|0);Wk(a+992|0);Wk(a+1024|0);return}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)Fa(20061,20073,110,20165);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))lh(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){zi(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;mq(e)}mq(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;mq(e)}mq(d)}mq(b);u=j;return}function _f(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;mq(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0){Wo(a);e=f[i>>2]|0;g=f[a>>2]|0}else g=0;k=e-g|0;g=k<<1;g=k>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Wo(a);e=_m(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)dm(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function $f(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;if(!(ah(a,c,d)|0)){l=0;u=m;return l|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){l=0;u=m;return l|0}h=f[c+48>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kj(k,17755,17);i=h+16|0;e=f[i>>2]|0;if(e){c=i;a:while(1){g=e;while(1){if((f[g+16>>2]|0)>=(d|0))break;e=f[g+4>>2]|0;if(!e)break a;else g=e}e=f[g>>2]|0;if(!e){c=g;break}else c=g}if(((c|0)!=(i|0)?(j=c+20|0,(f[c+16>>2]|0)<=(d|0)):0)?(Kh(j,k)|0)!=0:0)c=Ck(j,k,-1)|0;else l=12}else l=12;if((l|0)==12)c=Ck(h,k,-1)|0;_n(k);if((c|0)<1){l=0;u=m;return l|0}No(a+40|0,c);l=1;u=m;return l|0}function ag(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;s=u;u=u+16|0;r=s+4|0;q=s;n=a+8|0;g=f[n>>2]|0;a=f[g+40>>2]|0;p=jq((a|0)>-1?a:-1)|0;l=c+4|0;h=f[l>>2]|0;e=f[c>>2]|0;if((h|0)==(e|0)){kq(p);u=s;return 1}o=d+16|0;m=d+4|0;k=p+a|0;i=g;j=g;g=0;while(1){a=f[e+(g<<2)>>2]|0;if(!(b[i+84>>0]|0))a=f[(f[i+68>>2]|0)+(a<<2)>>2]|0;t=j+48|0;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j+40|0;i=f[w>>2]|0;a=Zm(i|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Zn(a|0,I|0,v|0,t|0)|0;Eg(p|0,(f[f[j>>2]>>2]|0)+a|0,i|0)|0;j=o;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)a=h;else{f[q>>2]=f[m>>2];f[r>>2]=f[q>>2];Ie(d,r,p,k)|0;e=f[c>>2]|0;a=f[l>>2]|0}g=g+1|0;if(g>>>0>=a-e>>2>>>0)break;j=f[n>>2]|0;i=j;h=a}kq(p);u=s;return 1}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;e=f[n>>2]|0;m=a+4|0;d=f[m>>2]|0;if(e-d>>2>>>0>=b>>>0){Xi(d|0,0,b<<2|0)|0;f[m>>2]=d+(b<<2);return}c=f[a>>2]|0;h=(d-c>>2)+b|0;if(h>>>0>1073741823){Wo(a);g=f[a>>2]|0;d=f[m>>2]|0;e=f[n>>2]|0}else g=c;c=d;l=g;k=e-g|0;j=k>>1;h=k>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;j=d-g>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;Xi(e|0,0,b<<2|0)|0;d=e;k=i+(h<<2)|0;h=i+(j+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));g=f[a>>2]|0;c=f[m>>2]|0}f[a>>2]=d;f[m>>2]=h;f[n>>2]=k;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;mq(g);return}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p;d=f[b>>2]|0;f[n>>2]=d;l=a+12|0;c=(d|0)<0;b=d+1|0;do if(!c){f[n+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[n+4>>2]=d;b=d}while(0);f[n+8>>2]=b;j=c?-1073741824:(d>>>0)/3|0;i=a+28|0;k=(f[i>>2]|0)+(j>>>5<<2)|0;f[k>>2]=1<<(j&31)|f[k>>2];k=a+172|0;j=a+176|0;h=a+280|0;c=d;b=0;while(1){if((((c|0)>=0?(o=f[(f[(f[l>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(o|0)>=0):0)?(g=(o>>>0)/3|0,(f[(f[i>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0)?(m=f[k>>2]|0,(f[j>>2]|0)!=(m|0)):0){g=c>>>5;e=1<<(c&31);c=m;a=0;do{d=(f[h>>2]|0)+(a<<5)|0;if(!(e&f[(f[c+(a*108|0)+4>>2]|0)+(g<<2)>>2]))Ui(d,0);else Ui(d,1);a=a+1|0;c=f[k>>2]|0}while(a>>>0<(((f[j>>2]|0)-c|0)/108|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[n+(b<<2)>>2]|0}u=p;return 1}function dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=f[b>>2]|0;j=f[b+4>>2]|0;k=f[b+8>>2]|0;h=f[b+12>>2]|0;b=(((i^318)+239^j)+239^k)+239^h;d=f[a+4>>2]|0;if(!d){k=0;return k|0}g=d+-1|0;c=(g&d|0)==0;if(c)e=b&g;else e=(b>>>0)%(d>>>0)|0;b=f[(f[a>>2]|0)+(e<<2)>>2]|0;if(!b){k=0;return k|0}b=f[b>>2]|0;if(!b){k=0;return k|0}if(c){while(1){if((f[b+4>>2]&g|0)!=(e|0)){b=0;a=20;break}if((((f[b+8>>2]|0)==(i|0)?(f[b+12>>2]|0)==(j|0):0)?(f[b+16>>2]|0)==(k|0):0)?(f[b+20>>2]|0)==(h|0):0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((f[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(e|0)){b=0;a=20;break}if((((f[b+8>>2]|0)==(i|0)?(f[b+12>>2]|0)==(j|0):0)?(f[b+16>>2]|0)==(k|0):0)?(f[b+20>>2]|0)==(h|0):0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;f[a+4>>2]=f[b+4>>2];g=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;h=b+12|0;c=f[h>>2]|0;if(!c)c=0;else{e=a+16|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[g>>2]|0;if(d){mq(d);f[g>>2]=0;f[e>>2]=0;f[a+12>>2]=0;c=f[h>>2]|0}if((c|0)<0)Wo(g);d=((c+-1|0)>>>5)+1|0;c=_m(d<<2)|0;f[g>>2]=c;f[a+12>>2]=0;f[e>>2]=d;d=f[h>>2]|0}else{d=c;c=f[g>>2]|0}dm(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[h>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){mq(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Wo(h);d=((c+-1|0)>>>5)+1|0;c=_m(d<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[e>>2]=d;d=f[g>>2]|0}else{d=c;c=f[h>>2]|0}dm(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+16|0;e=o;j=c+1|0;f[e>>2]=0;n=e+4|0;f[n>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823){Wo(e);o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}else{l=_m(j<<2)|0;f[e>>2]=l;m=l+(j<<2)|0;f[e+8>>2]=m;Xi(l|0,0,(c<<2)+4|0)|0;f[n>>2]=m;k=l;break}else{k=0;l=0;m=0}while(0);if((b|0)>0){e=0;do{p=l+(f[a+(e<<2)>>2]<<2)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+1|0}while((e|0)!=(b|0))}i=+(b|0);if((c|0)<0){e=0;g=0.0}else{b=0;e=0;g=0.0;do{p=f[l+(b<<2)>>2]|0;h=+(p|0);if((p|0)>0){e=e+1|0;g=g+h*+Mg(h/i)}b=b+1|0}while((b|0)!=(j|0))}if(d|0)f[d>>2]=e;i=-g;e=~~i>>>0;b=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;if(!l){I=b;u=o;return e|0}if((m|0)!=(l|0))f[n>>2]=m+(~((m+-4-l|0)>>>2)<<2);mq(k);I=b;u=o;return e|0}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;h=l+8|0;i=l+4|0;g=l;k=a+12|0;j=a+4|0;c=f[j>>2]|0;if((c|0)==(f[a+8>>2]|0)){zi(a,k);c=f[j>>2]|0}else{f[c>>2]=f[k>>2];c=c+4|0;f[j>>2]=c}d=f[a>>2]|0;f[g>>2]=c-d;e=b+16|0;c=e;m=f[c+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ie(b,h,g,g+4|0)|0;d=f[a>>2]|0;c=f[g>>2]|0;m=e;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ie(b,h,d,d+c|0)|0;d=f[a>>2]|0}}c=f[j>>2]|0;if((c|0)==(d|0)){f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}f[j>>2]=c+(~((c+-4-d|0)>>>2)<<2);f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((g-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;h=((d-e|0)/12|0)+b|0;if(h>>>0>357913941){Wo(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=(g-e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0>>0?h:g):357913941;d=(d-e|0)/12|0;do if(g)if(g>>>0>357913941){k=Ha(4)|0;Pp(k);sa(k|0,1096,107)}else{e=_m(g*12|0)|0;break}else e=0;while(0);i=e+(d*12|0)|0;h=e+(g*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Eg(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;mq(d);return}function ig(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;e=a+24|0;i=f[a+32>>2]|0;if(i>>>0<=16383)Fa(19224,19631,356,19254);if(i>>>0>=4194304)Fa(19264,19631,357,19254);d=i+-16384|0;do if(d>>>0>=64){g=a+28|0;a=(f[e>>2]|0)+(f[g>>2]|0)|0;if(d>>>0<16384){b[a>>0]=i;h=2;e=a+1|0;a=g;d=i>>>8;break}else{d=i+8372224|0;b[a>>0]=d;b[a+1>>0]=d>>>8;h=3;e=a+2|0;a=g;d=d>>>16;break}}else{a=a+28|0;h=1;e=(f[e>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+h|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function jg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;i=m+4|0;j=m;l=m+8|0;k=a+4|0;if((f[k>>2]|0)==-1){l=0;u=m;return l|0}g=f[a+8>>2]|0;h=c+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){e=(f[a+12>>2]|0)-g|0;f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,g,g+e|0)|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;g=a+20|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,g,g+4|0)|0;d=h;e=f[d+4>>2]|0;d=f[d>>2]|0}}b[l>>0]=f[k>>2];if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,l,l+1|0)|0}l=1;u=m;return l|0}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];eg(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{vf(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);vf(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);vf(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Sf(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;o=r+4|0;q=r;p=a+4|0;c=f[p>>2]|0;m=a+8|0;d=f[m>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[m>>2]=c}l=a+16|0;j=f[l>>2]|0;k=a+20|0;d=f[k>>2]|0;e=j;if((d|0)!=(j|0))f[k>>2]=d+(~((d+-4-e|0)>>>2)<<2);d=f[b>>2]|0;j=f[b+4>>2]|0;if((d|0)==(j|0)){u=r;return}i=a+12|0;h=d;do{d=f[h>>2]|0;f[o>>2]=d;if((c|0)==(f[i>>2]|0)){zi(p,o);e=f[l>>2]|0}else{f[c>>2]=d;f[m>>2]=c+4}d=f[o>>2]|0;b=f[k>>2]|0;g=b-e>>2;c=e;if((d|0)<(g|0))b=c;else{a=d+1|0;f[q>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(n=c+(a<<2)|0,(b|0)!=(n|0)):0)f[k>>2]=b+(~((b+-4-n|0)>>>2)<<2)}else{Pg(l,a-g|0,q);e=f[l>>2]|0;d=f[o>>2]|0;c=e}b=c}c=f[m>>2]|0;f[b+(d<<2)>>2]=(c-(f[p>>2]|0)>>2)+-1;h=h+4|0}while((h|0)!=(j|0));u=r;return}function mg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;o=q+16|0;n=q+12|0;p=q;f[a>>2]=0;m=a+4|0;f[m>>2]=0;f[a+8>>2]=0;k=c;e=f[k>>2]|0;k=f[k+4>>2]|0;l=f[d+4>>2]|0;c=l-k|0;if(!c){u=q;return}if(c>>>0>357913941){Wo(a);q=Ha(4)|0;Pp(q);sa(q|0,1096,107)}d=_m(c*12|0)|0;f[m>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(c*12|0);if((l|0)==(k|0)){u=q;return}j=e+84|0;g=e+68|0;h=p+4|0;i=p+8|0;a=k;do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[j>>0]|0))c=f[(f[g>>2]|0)+(a<<2)>>2]|0;else c=a;f[n>>2]=c;f[o>>2]=f[n>>2];Lb(e,o,3,p)|0;f[d>>2]=f[p>>2];f[d+4>>2]=f[h>>2];f[d+8>>2]=f[i>>2];a=a+1|0;d=(f[m>>2]|0)+12|0;f[m>>2]=d}while((a|0)!=(l|0));u=q;return}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{dm(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}h=_m(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{mq(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=6064;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}Vh(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Gi(c);mq(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}mq(b)}Gi(e);mq(e);return}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{e=_m(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;mq(g);return}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)Fa(19770,19795,63,19872);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))Fa(19877,19795,64,19872);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))zi(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){zi(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function rg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;o=p+4|0;n=p;f[a+52>>2]=e;f[a+44>>2]=g;l=jq(e>>>0>1073741823?-1:e<<2)|0;m=a+48|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)kq(d);k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;j=g-d|0;if((j|0)<=0){u=p;return 1}l=a+8|0;i=g;g=(j>>>2)+-1|0;while(1){if(i-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[n>>2]=f[d+(g<<2)>>2];f[o>>2]=f[n>>2];qc(a,o,b,g);j=X(g,e)|0;Xh(l,b+(j<<2)|0,f[m>>2]|0,c+(j<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0}u=p;return 1}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{dm(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}h=_m(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){mq(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function tg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;d=fl(c,0)|0;if(!d){f[a>>2]=0;u=n;return}l=c+96|0;e=c+100|0;vj(m,((f[e>>2]|0)-(f[l>>2]|0)|0)/12|0);c=f[l>>2]|0;e=(f[e>>2]|0)-c|0;if((e|0)>0){l=d+68|0;k=f[m>>2]|0;j=(b[d+84>>0]|0)==0;i=(e|0)/12|0;h=0;do{d=c+(h*12|0)|0;if(j){o=f[l>>2]|0;e=o+(f[c+(h*12|0)+8>>2]<<2)|0;g=o+(f[c+(h*12|0)+4>>2]<<2)|0;d=o+(f[d>>2]<<2)|0}else{e=c+(h*12|0)+8|0;g=c+(h*12|0)+4|0}g=f[g>>2]|0;o=f[e>>2]|0;f[k+(h*12|0)>>2]=f[d>>2];f[k+(h*12|0)+4>>2]=g;f[k+(h*12|0)+8>>2]=o;h=h+1|0}while((h|0)<(i|0))}jk(a,m);e=f[m>>2]|0;if(e|0){d=m+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0);mq(e)}u=n;return}function ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;qe(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=c>>>5;dm(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{e=_m(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){Gi(d);mq(d)}}while((c|0)!=(e|0));if(!g)return;mq(g);return}function wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;Zf(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}mq(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){Ug(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=a+4|0;e=f[a>>2]|0;if(!e){f[c>>2]=a;n=a;return n|0}l=b[d+11>>0]|0;k=l<<24>>24<0;l=k?f[d+4>>2]|0:l&255;k=k?f[d>>2]|0:d;while(1){g=e+16|0;d=b[g+11>>0]|0;i=d<<24>>24<0;d=i?f[e+20>>2]|0:d&255;h=d>>>0>>0;a=h?d:l;if((a|0)!=0?(n=il(k,i?f[g>>2]|0:g,a)|0,(n|0)!=0):0)if((n|0)<0)j=7;else j=9;else if(l>>>0>>0)j=7;else j=9;if((j|0)==7){a=f[e>>2]|0;if(!a){j=8;break}}else if((j|0)==9){j=0;a=l>>>0>>0?l:d;if((a|0)!=0?(m=il(i?f[g>>2]|0:g,k,a)|0,(m|0)!=0):0){if((m|0)>=0){j=16;break}}else j=11;if((j|0)==11?(0,!h):0){j=16;break}d=e+4|0;a=f[d>>2]|0;if(!a){j=15;break}}e=a}if((j|0)==8){f[c>>2]=e;n=e;return n|0}else if((j|0)==15){f[c>>2]=e;n=d;return n|0}else if((j|0)==16){f[c>>2]=e;n=c;return n|0}return 0}function yg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;o=p+4|0;n=p;f[a+52>>2]=e;f[a+44>>2]=g;l=jq(e>>>0>1073741823?-1:e<<2)|0;m=a+48|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)kq(d);k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;j=g-d|0;if((j|0)<=0){u=p;return 1}l=a+8|0;i=g;g=(j>>>2)+-1|0;while(1){if(i-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[n>>2]=f[d+(g<<2)>>2];f[o>>2]=f[n>>2];nc(a,o,b,g);j=X(g,e)|0;Xh(l,b+(j<<2)|0,f[m>>2]|0,c+(j<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0}u=p;return 1}function zg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;i=a+108|0;d=(f[a+112>>2]|0)-(f[i>>2]|0)|0;g=(d|0)/12|0;e=a+4|0;Mh(g,f[(f[e>>2]|0)+44>>2]|0)|0;if(!d)return 1;a=0;c=0;while(1){j=f[i>>2]|0;d=j+(a*12|0)+4|0;Mh((f[d>>2]|0)-c|0,f[(f[e>>2]|0)+44>>2]|0)|0;Mh((f[d>>2]|0)-(f[j+(a*12|0)>>2]|0)|0,f[(f[e>>2]|0)+44>>2]|0)|0;a=a+1|0;if(a>>>0>=g>>>0)break;else c=f[d>>2]|0}qi(f[(f[e>>2]|0)+44>>2]|0,g,0,0)|0;c=0;do{a=f[(f[e>>2]|0)+44>>2]|0;j=a+16|0;d=f[j+4>>2]|0;if((d|0)>0|(d|0)==0&(f[j>>2]|0)>>>0>0){l=f[a+12>>2]|0;j=l+4|0;a=f[j>>2]|0;k=b[(f[i>>2]|0)+(c*12|0)+8>>0]&1;d=a>>>3;a=a&7;m=(f[l>>2]|0)+d|0;b[m>>0]=(h[m>>0]|0)&(1<>2]|0)+d|0;b[d>>0]=h[d>>0]|0|k<>2]=(f[j>>2]|0)+1}c=c+1|0}while(c>>>0>>0);Of(f[(f[e>>2]|0)+44>>2]|0);return 1}function Ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+80|0;g=e+36|0;h=e;Kn(g,c);Ae(h,b,c);rh(g,h);mj(h+24|0,f[h+28>>2]|0);tj(h+12|0,f[h+16>>2]|0);mj(h,f[h+4>>2]|0);_i(a,g,d);mj(g+24|0,f[g+28>>2]|0);tj(g+12|0,f[g+16>>2]|0);mj(g,f[g+4>>2]|0);u=e;return}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+4|0;l=n;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(13062,13305,70,13469);h=c+8|0;if(!(f[h>>2]|0))Fa(13062,13305,70,13469);i=f[(f[(f[c+16>>2]|0)+28>>2]|0)+(f[d>>2]<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=i>>>0){Vo(d);c=f[d>>2]|0;d=f[g>>2]|0;if(!d)Fa(13062,13305,62,13490);else{k=d;j=c}}else{k=e;j=c}d=f[h>>2]|0;if(!d)Fa(13062,13305,62,13490);d=f[d+(f[j+(i<<2)>>2]<<2)>>2]|0;if(!(b[k+84>>0]|0))d=f[(f[k+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[l>>2]=d;j=b[k+24>>0]|0;f[m>>2]=f[l>>2];Fb(k,m,j,a)|0;u=n;return}function Cg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))Fa(20527,20426,60,20517);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=hi(c,d)|0;if((b|0)==-2)b=0;else{do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ze(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_m(44)|0;f[b>>2]=1528;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);f[b>>2]=1584}f[a>>2]=b;return}function Dg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=il(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=il(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Aa(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Fg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];tc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];tc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Gg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(13062,13305,70,13469);i=c+8|0;if(!(f[i>>2]|0))Fa(13062,13305,70,13469);d=f[d>>2]|0;if((d|0)<0)h=-1073741824;else h=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;c=f[c+20>>2]|0;d=f[c>>2]|0;if((f[c+4>>2]|0)-d>>2>>>0<=h>>>0){Vo(c);e=f[g>>2]|0;d=f[c>>2]|0}c=f[d+(h<<2)>>2]|0;if(!e)Fa(13062,13305,62,13490);d=f[i>>2]|0;if(!d)Fa(13062,13305,62,13490);d=f[d+(c<<2)>>2]|0;if(!(b[e+84>>0]|0))d=f[(f[e+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[j>>2]=d;i=b[e+24>>0]|0;f[k>>2]=f[j>>2];Fb(e,k,i,a)|0;u=l;return}function Hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=co(ya(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=co(ya(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+4;h=a+8|0;b[h>>0]=0;f[g+16>>2]=f[d>>2];i=g+20|0;f[g+24>>2]=0;f[g+28>>2]=0;a=g+24|0;f[i>>2]=a;c=f[d+4>>2]|0;g=d+8|0;if((c|0)==(g|0)){b[h>>0]=1;u=l;return}e=a;d=c;while(1){a=d+16|0;f[j>>2]=e;f[k>>2]=f[j>>2];Sg(i,k,a,a)|0;a=f[c+4>>2]|0;if(!a)while(1){a=f[c+8>>2]|0;if((f[a>>2]|0)==(c|0))break;else c=a}else while(1){c=f[a>>2]|0;if(!c)break;else a=c}if((a|0)==(g|0))break;else{d=a;c=a}}b[h>>0]=1;u=l;return}function Jg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];uc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];uc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Kg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l;i=a+4|0;f[i>>2]=0;if(!c){u=l;return}h=a+8|0;e=f[h>>2]|0;if(e<<5>>>0>>0){f[k>>2]=0;j=k+4|0;f[j>>2]=0;g=k+8|0;f[g>>2]=0;if((c|0)<0){Wo(a);e=f[h>>2]|0}m=e<<6;n=c+31&-32;bi(k,e<<5>>>0<1073741823?(m>>>0>>0?n:m):2147483647);e=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=e;k=f[i>>2]|0;f[i>>2]=c;f[j>>2]=k;k=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=k;if(e|0)mq(e)}else f[i>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){Xi(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=l;return}else{Xi(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=l;return}}function Lg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function Mg(a){a=+a;var b=0,c=0,d=0,e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;p[s>>3]=a;c=f[s>>2]|0;b=f[s+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;b=f[s+4>>2]|0;d=f[s>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;f[s>>2]=d;f[s+4>>2]=(e&1048575)+1072079006;k=+p[s>>3]+-1.0;i=k*k*.5;h=k/(k+2.0);j=h*h;a=j*j;p[s>>3]=k-i;d=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=d;g=+p[s>>3];a=k-g-i+h*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+j*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));j=g*1.4426950407214463;i=+(c+(e>>>20)|0);h=i+j;a=h+(j+(i-h)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function Ng(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(Ko(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Ko(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Na[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Ua[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else ym(0,c,d,e);while(0);return}function Og(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=a+32|0;m=f[a+64>>2]|0;m=(Ra[f[(f[m>>2]|0)+40>>2]&127](m)|0)+52|0;m=f[m>>2]|0;m=(((f[m+100>>2]|0)-(f[m+96>>2]|0)|0)/12|0)*3|0;qi(n,m,((m|0)<0)<<31>>31,1)|0;m=a+68|0;c=f[m>>2]|0;d=(f[a+72>>2]|0)-c|0;if((d|0)<=0){Of(n);return}l=a+48|0;j=a+44|0;a=(d>>>2)+-1|0;while(1){c=f[c+(a<<2)>>2]|0;d=f[3396+(c<<2)>>2]|0;i=l;g=f[i+4>>2]|0;if((g|0)>0|(g|0)==0&(f[i>>2]|0)>>>0>0?(k=f[j>>2]|0,171>>>c&1|0):0){i=k+4|0;e=f[i>>2]|0;g=0;do{o=e>>>3;p=e&7;q=(f[k>>2]|0)+o|0;b[q>>0]=(h[q>>0]|0)&(1<>2]|0)+o|0;b[o>>0]=h[o>>0]|0|(c>>>g&1)<>2]|0)+1|0;f[i>>2]=e;g=g+1|0}while((g|0)!=(d|0))}a=a+-1|0;if((a|0)<=-1)break;c=f[m>>2]|0}Of(n);return}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=f[k>>2]|0;l=a+4|0;h=f[l>>2]|0;g=h;if(e-h>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[l>>2]=g+(b<<2);return}d=f[a>>2]|0;g=(h-d>>2)+b|0;if(g>>>0>1073741823){Wo(a);d=f[a>>2]|0;e=f[k>>2]|0;j=f[l>>2]|0}else j=h;i=e-d|0;e=i>>1;g=i>>2>>>0<536870911?(e>>>0>>0?g:e):1073741823;e=j-d>>2;do if(g)if(g>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}else{h=_m(g<<2)|0;break}else h=0;while(0);i=h+(e<<2)|0;h=h+(g<<2)|0;e=i;g=b;while(1){f[e>>2]=f[c>>2];g=g+-1|0;if(!g)break;else e=e+4|0}g=j-d|0;e=i+(0-(g>>2)<<2)|0;if((g|0)>0)Eg(e|0,d|0,g|0)|0;f[a>>2]=e;f[l>>2]=i+(b<<2);f[k>>2]=h;if(!d)return;mq(d);return}function Qg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;m=p;o=a+40|0;f[a+44>>2]=g;k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;i=g-d|0;if((i|0)<=0){u=p;return 1}l=a+8|0;j=a+48|0;a=g;g=(i>>>2)+-1|0;while(1){if(a-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Gb(o,n,b,g);i=X(g,e)|0;Xh(l,b+(i<<2)|0,j,c+(i<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;e=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(e-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=f[a>>2]|0;g=(c-d>>3)+b|0;if(g>>>0>536870911){Wo(a);d=f[a>>2]|0;e=f[i>>2]|0;c=f[j>>2]|0}h=e-d|0;e=h>>2;e=h>>3>>>0<268435455?(e>>>0>>0?g:e):536870911;c=c-d>>3;do if(e)if(e>>>0>536870911){j=Ha(4)|0;Pp(j);sa(j|0,1096,107)}else{d=_m(e<<3)|0;break}else d=0;while(0);h=d+(c<<3)|0;g=d+(e<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Eg(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;mq(c);return}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+8|0;g=h+4|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=zd(a,e,g,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=_m(40)|0;dl(e+16|0,d);dl(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}Je(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function Tg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))Fa(20527,20426,60,20517);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=hi(c,d)|0;if((b|0)==-2)b=0;else{do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ue(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_m(24)|0;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b>>2]=2432}f[a>>2]=b;return}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;d=f[j>>2]|0;k=a+4|0;g=f[k>>2]|0;e=g;if(d-g>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[k>>2]=e+(b<<2);return}c=f[a>>2]|0;e=(g-c>>2)+b|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[j>>2]|0;i=f[k>>2]|0}else i=g;h=d-c|0;d=h>>1;e=h>>2>>>0<536870911?(d>>>0>>0?e:d):1073741823;d=i-c>>2;do if(e)if(e>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}else{g=_m(e<<2)|0;break}else g=0;while(0);h=g+(d<<2)|0;g=g+(e<<2)|0;d=h;e=b;while(1){f[d>>2]=1;e=e+-1|0;if(!e)break;else d=d+4|0}e=i-c|0;d=h+(0-(e>>2)<<2)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=h+(b<<2);f[j>>2]=g;if(!c)return;mq(c);return}function Vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;d=a+4|0;i=f[d>>2]|0;i=(f[i+12>>2]|0)-(f[i+8>>2]|0)|0;b=i>>2;a:do if((i|0)>0){c=0;while(1){if(!(Va[f[(f[a>>2]|0)+36>>2]&127](a,c)|0)){b=0;break}c=c+1|0;b=f[d>>2]|0;b=(f[b+12>>2]|0)-(f[b+8>>2]|0)>>2;if((c|0)>=(b|0))break a}return b|0}while(0);i=a+20|0;e=a+24|0;c=f[e>>2]|0;d=f[i>>2]|0;g=c-d>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=d+(b<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else gi(i,b-g|0);c=f[a+12>>2]|0;b=f[a+8>>2]|0;a=b;if((c|0)==(b|0)){i=1;return i|0}h=c-b>>2;g=0;do{c=f[a+(g<<2)>>2]|0;b=f[c+8>>2]|0;c=f[c+4>>2]|0;d=c;if((b|0)!=(c|0)){e=f[i>>2]|0;c=b-c>>2;b=0;do{f[e+(f[d+(b<<2)>>2]<<2)>>2]=g;b=b+1|0}while(b>>>0>>0)}g=g+1|0}while(g>>>0>>0);b=1;return b|0}function Wg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=a+4|0;f[h>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);c=f[c+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);c=(Kh(c,i)|0)==0;_n(i);d=f[(f[h>>2]|0)+48>>2]|0;if(c){i=(bj(d)|0)>5&1;b[a+352>>0]=i;u=j;return 1}else{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);h=(Pj(d,i,0)|0)&1;b[a+352>>0]=h;_n(i);u=j;return 1}return 0}function Xg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;m=p;o=a+40|0;f[a+44>>2]=g;k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;i=g-d|0;if((i|0)<=0){u=p;return 1}l=a+8|0;j=a+48|0;a=g;g=(i>>>2)+-1|0;while(1){if(a-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Eb(o,n,b,g);i=X(g,e)|0;Xh(l,b+(i<<2)|0,j,c+(i<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function Yg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=a+4|0;f[h>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);c=f[c+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);c=(Kh(c,i)|0)==0;_n(i);d=f[(f[h>>2]|0)+48>>2]|0;if(c){i=(bj(d)|0)>5&1;b[a+288>>0]=i;u=j;return 1}else{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);h=(Pj(d,i,0)|0)&1;b[a+288>>0]=h;_n(i);u=j;return 1}return 0}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;k=o+4|0;l=o;f[a>>2]=1216;n=a+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;f[n+24>>2]=0;f[n+28>>2]=0;f[k>>2]=b;n=a+4|0;m=a+8|0;zi(n,k);c=f[k>>2]|0;h=a+20|0;d=f[h>>2]|0;i=a+16|0;b=f[i>>2]|0;g=d-b>>2;if((c|0)<(g|0)){k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}e=c+1|0;f[l>>2]=-1;a=d;if(e>>>0<=g>>>0){if(e>>>0>>0?(j=b+(e<<2)|0,(a|0)!=(j|0)):0)f[h>>2]=a+(~((a+-4-j|0)>>>2)<<2)}else{Pg(i,e-g|0,l);c=f[k>>2]|0;b=f[i>>2]|0}k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}function _g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;c=f[m>>2]|0;d=f[a>>2]|0;g=((c-d|0)/12|0)+1|0;if(g>>>0>357913941){Wo(a);c=f[m>>2]|0;d=f[a>>2]|0}k=d;e=c;l=a+8|0;j=((f[l>>2]|0)-d|0)/12|0;i=j<<1;g=j>>>0<178956970?(i>>>0>>0?g:i):357913941;i=(c-d|0)/12|0;do if(g)if(g>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{h=_m(g*12|0)|0;break}else h=0;while(0);c=h+(i*12|0)|0;j=h+(g*12|0)|0;f[c>>2]=f[b>>2];f[h+(i*12|0)+4>>2]=f[b+4>>2];f[h+(i*12|0)+8>>2]=f[b+8>>2];g=c+12|0;if((e|0)!=(k|0))do{b=e;e=e+-12|0;f[c+-12>>2]=f[e>>2];f[c+-8>>2]=f[b+-8>>2];f[c+-4>>2]=f[b+-4>>2];c=c+-12|0}while((e|0)!=(k|0));f[a>>2]=c;f[m>>2]=g;f[l>>2]=j;if(!d)return;mq(d);return}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+88|0;Pc(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;a=a+88|0;Pc(a,b);u=j;return 1}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;d=e;if(!(Yk(a,b,c)|0)){a=0;u=e;return a|0}if((Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){a=0;u=e;return a|0}b=Th(c,f[b+48>>2]|0)|0;Sa[f[(f[a>>2]|0)+48>>2]&15](d,a,b);b=a+36|0;g=f[d>>2]|0;f[d>>2]=0;c=f[b>>2]|0;f[b>>2]=g;if(c){Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c)}else f[d>>2]=0;c=f[b>>2]|0;if(!c){g=1;u=e;return g|0}if(Va[f[(f[a>>2]|0)+36>>2]&127](a,c)|0){g=1;u=e;return g|0}c=f[b>>2]|0;f[b>>2]=0;if(!c){g=1;u=e;return g|0}Oa[f[(f[c>>2]|0)+4>>2]&127](c);g=1;u=e;return g|0}function bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;qh(a+12|0);an(a+1036|0);Tn(a+1068|0);Tn(a+1088|0);Tn(a+1108|0);f[i>>2]=0;Jj(a+1128|0,b,i);f[i>>2]=0;Jj(a+1140|0,b,i);f[i>>2]=0;Jj(a+1152|0,b,i);g=b<<5|1;f[h>>2]=0;Jj(i,b,h);Gj(a+1164|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}f[h>>2]=0;Jj(i,b,h);Gj(a+1176|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);u=j;return}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+4|0;g=j;i=j+8|0;e=a&255;b[i>>0]=e&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=e|-128;e=d+16|0;k=f[e+4>>2]|0;if((k|0)>0|(k|0)==0&(f[e>>2]|0)>>>0>0){a=0;break}else{f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ie(d,h,i,i+1|0)|0;a=yn(a|0,c|0,7)|0;a=ch(a,I,d)|0;break}}else{k=d+16|0;e=f[k+4>>2]|0;if((e|0)>0|(e|0)==0&(f[k>>2]|0)>>>0>0){a=0;break}f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ie(d,h,i,i+1|0)|0;k=1;u=j;return k|0}while(0);k=a;u=j;return k|0}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Sa[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);mq(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}mq(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function eh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;i=g+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=g+20|0;f[i>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;ki(i,8);g=e+16|0;j=g;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=f[i>>2]|0;i=e;b[i>>0]=j;b[i+1>>0]=j>>8;b[i+2>>0]=j>>16;b[i+3>>0]=j>>24;e=e+4|0;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+108|0;Pc(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;a=a+108|0;Pc(a,b);u=j;return 1}function gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((Kb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=sq(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=Kb(a,c,m,p,q)|0;if(d){Ma[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=Kb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)rq(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function hh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Ko(m,e,0)|0){f[o+48>>2]=1;Ua[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Na[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function ih(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=$(g);var h=0,i=0,j=0;h=u;u=u+16|0;j=h;i=h+4|0;f[j>>2]=b;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17755,17);hj(xd(a,j)|0,i,c);_n(i);f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17698,19);ci(xd(a,j)|0,i,e,d);_n(i);f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17718,18);aj(xd(a,j)|0,i,g);_n(i);u=h;return}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{gi(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(Xb(a,n)|0)){a=0;u=o;return a|0}Hb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;g=h;if((c|0)<0|((b|0)==0|(d|0)==0)){d=0;u=h;return d|0}a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0)){d=0;u=h;return d|0}e=b+4|0;if(!(f[e>>2]|0)){i=_m(52)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);j=i+20|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[i+36>>2]=$(1.0);f[i+40>>2]=0;f[i+44>>2]=0;f[i+48>>2]=0;f[b+4>>2]=i}if((c|0)<=-1)Fa(20410,20426,67,20517);a=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;j=_m(44)|0;Qb(j,d);f[j+40>>2]=a;a=f[e>>2]|0;f[g>>2]=j;Yj(a,g)|0;a=f[g>>2]|0;f[g>>2]=0;if(!a){j=1;u=h;return j|0}Gi(a);mq(a);j=1;u=h;return j|0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){wf(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;mq(d)}mq(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;mq(d)}mq(c)}mq(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function mh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{gi(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Nd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+20>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Nd(a,b);return}function oh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)So(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{eo(a,d,(e&255)+1|0)|0;mq(d);g=15}}else{c=_m(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{eo(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){eo(c,d,(f[a+4>>2]|0)+1|0)|0;mq(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function ph(a){a=a|0;oj(a+992|0);oj(a+960|0);oj(a+928|0);oj(a+896|0);oj(a+864|0);oj(a+832|0);oj(a+800|0);oj(a+768|0);oj(a+736|0);oj(a+704|0);oj(a+672|0);oj(a+640|0);oj(a+608|0);oj(a+576|0);oj(a+544|0);oj(a+512|0);oj(a+480|0);oj(a+448|0);oj(a+416|0);oj(a+384|0);oj(a+352|0);oj(a+320|0);oj(a+288|0);oj(a+256|0);oj(a+224|0);oj(a+192|0);oj(a+160|0);oj(a+128|0);oj(a+96|0);oj(a+64|0);oj(a+32|0);oj(a);return}function qh(a){a=a|0;an(a);an(a+32|0);an(a+64|0);an(a+96|0);an(a+128|0);an(a+160|0);an(a+192|0);an(a+224|0);an(a+256|0);an(a+288|0);an(a+320|0);an(a+352|0);an(a+384|0);an(a+416|0);an(a+448|0);an(a+480|0);an(a+512|0);an(a+544|0);an(a+576|0);an(a+608|0);an(a+640|0);an(a+672|0);an(a+704|0);an(a+736|0);an(a+768|0);an(a+800|0);an(a+832|0);an(a+864|0);an(a+896|0);an(a+928|0);an(a+960|0);an(a+992|0);return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i+12|0;d=i+8|0;c=i+4|0;e=i;h=(a|0)==(b|0);if(!h){f[c>>2]=f[b>>2];f[e>>2]=b+4;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a,d,g)}if(!h){f[c>>2]=f[b+12>>2];f[e>>2]=b+16;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Cc(a+12|0,d,g)}if(h){u=i;return}f[c>>2]=f[b+24>>2];f[e>>2]=b+28;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a+24|0,d,g);u=i;return}function sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=Lo(f[a+8>>2]|0,o)|0;e=Lo(f[a+12>>2]|0,o)|0;g=Lo(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=Lo(f[a+(g<<2)>>2]|0,o)|0;g=Lo(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Fl(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=Lo(f[a+(e<<2)>>2]|0,o)|0;e=Lo(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;Tn(a+12|0);Tn(a+32|0);Tn(a+52|0);Tn(a+72|0);f[i>>2]=0;Jj(a+92|0,b,i);f[i>>2]=0;Jj(a+104|0,b,i);f[i>>2]=0;Jj(a+116|0,b,i);g=b<<5|1;f[h>>2]=0;Jj(i,b,h);Gj(a+128|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}f[h>>2]=0;Jj(i,b,h);Gj(a+140|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);u=j;return}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;an(a+12|0);Tn(a+44|0);Tn(a+64|0);Tn(a+84|0);f[i>>2]=0;Jj(a+104|0,b,i);f[i>>2]=0;Jj(a+116|0,b,i);f[i>>2]=0;Jj(a+128|0,b,i);g=b<<5|1;f[h>>2]=0;Jj(i,b,h);Gj(a+140|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}f[h>>2]=0;Jj(i,b,h);Gj(a+152|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);u=j;return}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;be(g,a+40|0,f[a+8>>2]|0,b,c);Hi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}mq(d);u=e;return 1}function wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){md(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;md(a,b);return}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){sd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;sd(a,b);return}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Bd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Bd(a,b);return}function zh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Qd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Qd(a,b);return}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){nd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;nd(a,b);return}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){td(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;td(a,b);return}function Ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ed(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ed(a,b);return}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){od(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;od(a,b);return}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){ud(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ud(a,b);return}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Fd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Fd(a,b);return}function Gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Rd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Rd(a,b);return}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;zf(g,a+40|0,f[a+8>>2]|0,b,c);Hi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}mq(d);u=e;return 1}function Ih(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1392;e=a+72|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+60>>2]|0;if(b|0){d=a+64|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+48>>2]|0;if(b|0)mq(b);d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}mq(b)}f[a>>2]=1216;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function Jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=u;u=u+48|0;a=i+36|0;h=i+24|0;e=i+12|0;g=i;if(!b){b=0;u=i;return b|0}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;Kj(a,c,Tj(c)|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,d,Tj(d)|0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,c,Tj(c)|0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Kj(g,d,Tj(d)|0);Tm(b,e,g);_n(g);_n(e);_n(h);_n(a);b=1;u=i;return b|0}function Kh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=il(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=il(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))Fa(12729,11807,259,12753);d=f[c>>2]|0;if((d|0)>(e|0))Fa(12767,11807,260,12753);a=0-e|0;if((i|0)<(a|0))Fa(12791,11807,261,12753);if((d|0)<(a|0))Fa(12816,11807,262,12753);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function Mh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;b[g>>0]=a&127;do if(a>>>0>127){b[g>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){d=0;break}else{f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ie(c,e,g,g+1|0)|0;d=Mh(a>>>7,c)|0;break}}else{j=c+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){d=0;break}f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ie(c,e,g,g+1|0)|0;j=1;u=h;return j|0}while(0);j=d;u=h;return j|0}function Nh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;l=o+4|0;k=o;j=f[a+8>>2]|0;n=j+24|0;m=b[n>>0]|0;e=c+4|0;Af(a,(f[e>>2]|0)-(f[c>>2]|0)>>2,m,d);i=f[a+32>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;d=f[c>>2]|0;e=f[e>>2]|0;if((d|0)==(e|0)){n=1;u=o;return n|0}h=j+84|0;g=j+68|0;c=0;while(1){a=f[d>>2]|0;if(!(b[h>>0]|0))a=f[(f[g>>2]|0)+(a<<2)>>2]|0;f[k>>2]=a;a=b[n>>0]|0;f[l>>2]=f[k>>2];if(!(Mb(j,l,a,i+(c<<2)|0)|0)){d=0;a=7;break}d=d+4|0;if((d|0)==(e|0)){d=1;a=7;break}else c=c+m|0}if((a|0)==7){u=o;return d|0}return 0}function Oh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=_m(32)|0;f[a>>2]=h;f[a+4>>2]=c+8;k=a+8|0;b[k>>0]=0;j=h+8|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=h+20|0;l=e+12|0;f[j>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;h=l+11|0;g=b[h>>0]|0;i=e+16|0;e=f[i>>2]|0;c=g<<24>>24<0?e:g&255;if(!c)c=0;else{ki(j,c);g=b[h>>0]|0;e=f[i>>2]|0;c=f[j>>2]|0}j=g<<24>>24<0;Eg(c|0,(j?f[l>>2]|0:l)|0,(j?e:g&255)|0)|0;b[k>>0]=1;a=f[a>>2]|0;f[a+4>>2]=d;f[a>>2]=0;return}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;b=f[b>>2]|0;if((b|0)==-1073741824){h=-1;return h|0}g=f[(f[a+24>>2]|0)+(b<<2)>>2]|0;if((g|0)<0){h=0;return h|0}e=a+12|0;b=0;d=0;a=g;a:while(1){while(1){b=b+1|0;if(d){h=10;break}c=a+1|0;a=((c|0)%3|0|0)==0?a+-2|0:c;if((a|0)<0){a=g;break}c=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=c+1|0;if((c|0)<0){a=g;break}a=((a|0)%3|0|0)==0?c+-2|0:a;if((a|0)<0){a=g;break}if((a|0)==(g|0)){h=16;break a}}do if((h|0)==10){h=0;a=(((a>>>0)%3|0|0)==0?2:-1)+a|0;if((a|0)<0){h=16;break a}a=f[(f[e>>2]|0)+(a<<2)>>2]|0;if((a|0)<0){h=16;break a}if(!((a>>>0)%3|0)){a=a+2|0;break}else{a=a+-1|0;break}}while(0);if((a|0)<0){h=16;break}else d=1}if((h|0)==16)return b|0;return 0}function Qh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;dl(g+8|0,e);j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Eg(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}ki(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Eg(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function Rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){rd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;rd(a,b);return}function Sh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;k=n+4|0;j=n;l=n+8|0;if(!(Yd(a,c)|0)){m=0;u=n;return m|0}m=a+36|0;e=a+40|0;a=f[m>>2]|0;if((f[e>>2]|0)==(a|0)){m=1;u=n;return m|0}i=c+16|0;g=c+4|0;h=l+1|0;d=0;do{a=f[a+(d<<2)>>2]|0;a=Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[l>>0]=a;a=i;o=f[a+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[a>>2]|0)>>>0>0)){f[j>>2]=f[g>>2];f[k>>2]=f[j>>2];Ie(c,k,l,h)|0}d=d+1|0;a=f[m>>2]|0}while(d>>>0<(f[e>>2]|0)-a>>2>>>0);a=1;u=n;return a|0}function Th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;i=k;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17650,17);g=b+16|0;d=f[g>>2]|0;if(d){c=g;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(a|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if(((c|0)!=(g|0)?(h=c+20|0,(f[c+16>>2]|0)<=(a|0)):0)?(Kh(h,i)|0)!=0:0)b=h;else j=9}else j=9;j=Ck(b,i,-1)|0;_n(i);u=k;return ((j|0)==-1?-1:j>>>0>6?-2:j)|0}function Uh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}mq(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;mq(b);return}function Vh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}mq(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}mq(b);return}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+48|0;e=g;d=g+32|0;if(!b){e=0;u=g;return e|0}jn(e);if((($l(b,0)|0)!=-1?Ra[f[(f[b>>2]|0)+16>>2]&127](b)|0:0)?(Oa[f[(f[b>>2]|0)+20>>2]&127](b),Ag(d,a,b,e),a=(f[d>>2]|0)==0,_n(d+4|0),a):0){a=f[e>>2]|0;d=e+4|0;mf(c,a,a+((f[d>>2]|0)-a)|0);d=(f[d>>2]|0)-(f[e>>2]|0)|0}else d=0;a=e+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);b=f[e>>2]|0;if(b|0){c=e+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;mq(b)}e=d;u=g;return e|0}function Xh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+16|0;i=m+8|0;j=m;h=f[c>>2]|0;l=f[a+12>>2]<<1;if((h|0)>(l|0))Fa(12112,12157,81,12335);e=f[c+4>>2]|0;if((e|0)>(l|0))Fa(12353,12157,82,12335);g=f[b>>2]|0;if((g|0)>(l|0))Fa(12398,12157,83,12335);c=f[b+4>>2]|0;if((c|0)>(l|0))Fa(12443,12157,84,12335);if((h|0)<=-1)Fa(12488,12157,85,12335);if((e|0)<=-1)Fa(12510,12157,86,12335);if((g|0)<=-1)Fa(12532,12157,87,12335);if((c|0)>-1){f[i>>2]=g;f[i+4>>2]=c;f[j>>2]=h;f[j+4>>2]=e;Ge(k,a,i,j);f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];u=m;return}else Fa(12554,12157,88,12335)}function Yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function Zh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+12|0;g=f[e>>2]|0;f[e>>2]=0;if(!g){_n(a);return}b=f[g+28>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;Zh(e+8|0);mq(e)}while((b|0)!=0);e=g+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)mq(b);b=f[g+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}_n(e+8|0);mq(e)}while((b|0)!=0);b=f[g>>2]|0;f[g>>2]=0;if(b|0)mq(b);mq(g);_n(a);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;u=j;return 1}function $h(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=((d-c|0)/12|0)+1|0;if(e>>>0>357913941){Wo(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=((f[j>>2]|0)-c|0)/12|0;h=i<<1;h=i>>>0<178956970?(h>>>0>>0?e:h):357913941;e=(d-c|0)/12|0;do if(h)if(h>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h*12|0)|0;break}else i=0;while(0);g=i+(e*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];e=d-c|0;d=g+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+12;f[j>>2]=i+(h*12|0);if(!c)return;mq(c);return}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;g=h;e=b+96|0;c=b+100|0;vj(g,((f[c>>2]|0)-(f[e>>2]|0)|0)/12|0);b=f[e>>2]|0;c=(f[c>>2]|0)-b|0;if((c|0)>0){e=f[g>>2]|0;d=(c|0)/12|0;c=0;do{j=f[b+(c*12|0)+4>>2]|0;i=f[b+(c*12|0)+8>>2]|0;f[e+(c*12|0)>>2]=f[b+(c*12|0)>>2];f[e+(c*12|0)+4>>2]=j;f[e+(c*12|0)+8>>2]=i;c=c+1|0}while((c|0)<(d|0))}jk(a,g);d=f[g>>2]|0;if(!d){u=h;return}c=g+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);mq(d);u=h;return}function bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)Wo(i);l=((b+-1|0)>>>5)+1|0;k=_m(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;ug(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)mq(b);u=j;return}function ci(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;l=u;u=u+32|0;j=l+12|0;k=l;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((e|0)>0){g=k+11|0;h=k+4|0;i=0;do{if((i|0)>0)en(j,17737)|0;_k(k,$(n[d+(i<<2)>>2]));m=b[g>>0]|0;o=m<<24>>24<0;Ni(j,o?f[k>>2]|0:k,o?f[h>>2]|0:m&255)|0;_n(k);i=i+1|0}while((i|0)<(e|0))}Ul(ni(a,c)|0,j)|0;_n(j);u=l;return}function di(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3552;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);c=a+140|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[a+164>>2]=-1;c=a+168|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;an(a+200|0);jn(a+232|0);c=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[c>>2]=-1;f[a+320>>2]=-1073741824;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;u=j;return 1}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;i=l;if((Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){k=1;u=l;return k|0}j=a+4|0;g=a+20|0;h=a+24|0;e=a+16|0;d=0;while(1){c=f[(f[j>>2]|0)+4>>2]|0;c=$l(c,Va[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;f[i>>2]=c;if((c|0)==-1)break;a=f[g>>2]|0;if((a|0)==(f[h>>2]|0))zi(e,i);else{f[a>>2]=c;f[g>>2]=a+4}al(f[j>>2]|0,f[i>>2]|0)|0;d=d+1|0;if((d|0)>=(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;k=9;break}}if((k|0)==9){u=l;return a|0}k=0;u=l;return k|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;d=f[k>>2]|0;j=a+4|0;e=f[j>>2]|0;if(d-e>>2>>>0>=b>>>0){Xi(e|0,0,b<<2|0)|0;f[j>>2]=e+(b<<2);return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[k>>2]|0;e=f[j>>2]|0}d=d-c|0;h=d>>1;h=d>>2>>>0<536870911?(h>>>0>>0?g:h):1073741823;d=e-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h<<2)|0;break}else i=0;while(0);g=i+(d<<2)|0;Xi(g|0,0,b<<2|0)|0;e=e-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[j>>2]=g+(b<<2);f[k>>2]=i+(h<<2);if(!c)return;mq(c);return}function hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+48|0;if((bj(f[e>>2]|0)|0)>9){e=0;return e|0}if((Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){e=0;return e|0}d=b+4|0;b=f[d>>2]|0;if((a|0)<=-1)Fa(20410,20426,59,20517);c=f[b+8>>2]|0;if(((f[b+12>>2]|0)-c>>2|0)<=(a|0))Fa(20527,20426,60,20517);c=(f[c+(a<<2)>>2]|0)+56|0;b=f[c>>2]|0;do if((b|0)==3)if((bj(f[e>>2]|0)|0)<4){e=5;return e|0}else{b=f[c>>2]|0;break}while(0);c=bj(f[e>>2]|0)|0;if((b|0)==1){e=(c|0)<4?6:0;return e|0}if((c|0)>7){e=0;return e|0}if((bj(f[e>>2]|0)|0)>1){e=1;return e|0}else return ((f[(f[d>>2]|0)+80>>2]|0)<40?1:4)|0;return 0}function ii(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;i=g+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=g+20|0;f[i>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;ki(i,4);g=e+12|0;e=f[i>>2]|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function ji(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+32|0;Pc(a,h);c=a+80|0;b=f[c>>2]|0;if((b|0?(d=a+84|0,(f[d>>2]|0)>0):0)?(Pc(b,h),(f[d>>2]|0)>1):0){b=1;do{Pc((f[c>>2]|0)+(b<<5)|0,h);b=b+1|0}while((b|0)<(f[d>>2]|0))}g=a+136|0;e=a+140|0;b=f[g>>2]|0;if((f[e>>2]|0)==(b|0))return;a=0;do{Mh((f[b+(a*12|0)+4>>2]|0)-(f[b+(a*12|0)>>2]|0)>>2,h)|0;b=f[g>>2]|0;c=f[b+(a*12|0)>>2]|0;d=(f[b+(a*12|0)+4>>2]|0)-c>>2;if(d){Nc(c,d,1,h)|0;b=f[g>>2]|0}a=a+1|0}while(a>>>0<(((f[e>>2]|0)-b|0)/12|0)>>>0);return}function ki(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((g-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}e=f[a>>2]|0;h=d-e+c|0;if((h|0)<0){Wo(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=g-e|0;g=i<<1;g=i>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if(!g)h=0;else h=_m(g)|0;i=h+(d-e)|0;h=h+g|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Eg(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;mq(d);return}function li(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)So(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=_m(l)|0;if(g|0)eo(k,m,g)|0;if(i|0)eo(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)eo(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)mq(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;_o(k+m|0,n);u=o;return}function mi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(pl(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Ma[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Ma[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Eg(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=xg(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=_m(40)|0;dl(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}Je(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)Fa(19425,7898,49,19550);if((b|0)<=0)Fa(19579,7898,50,19550);j=a+16|0;g=f[j>>2]|0;h=32-g|0;e=32-b|0;c=c<>2]|0;if((h|0)<(b|0)){g=c>>>e;e=b-h|0;f[j>>2]=e;e=g>>>e|d;f[i>>2]=e;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))zi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=g<<32-(f[j>>2]|0);return}e=d|c>>>g;f[i>>2]=e;b=g+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))zi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=0;f[j>>2]=0;return}function pi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+136|0;b=f[g>>2]|0;if(b|0){h=a+140|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+92>>2]|0;if(!b){Zi(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);Zi(a);return}function qi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=a+16|0;j=g;i=f[j+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)){a=0;return a|0}b[a+24>>0]=e&1;l=Zn(c|0,d|0,7,0)|0;l=kk(l|0,I|0,8,0)|0;d=I;h=g;f[h>>2]=l;f[h+4>>2]=d;h=a+4|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c|0;j=Zn(i|0,0,8,0)|0;j=e?j:i;d=Zn(j|0,(e?I:0)|0,l|0,d|0)|0;if(d>>>0<=i>>>0){if(d>>>0>>0?(k=c+d|0,(g|0)!=(k|0)):0)f[h>>2]=k}else{ki(a,d-i|0);c=f[a>>2]|0}k=_m(8)|0;f[k>>2]=c+j;f[k+4>>2]=0;l=a+12|0;c=f[l>>2]|0;f[l>>2]=k;if(!c){l=1;return l|0}mq(c);l=1;return l|0}function ri(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+64|0;j=i;Al(j);h=f[h+56>>2]|0;c=X(Ql(5)|0,e)|0;qj(j,h,0,e&255,5,0,c,((c|0)<0)<<31>>31,0,0);c=_m(96)|0;ql(c,j);f[a>>2]=c;gj(c,d)|0;if(!g){u=i;return}b[c+84>>0]=0;d=c+68|0;a=c+72|0;e=f[a>>2]|0;c=f[d>>2]|0;h=e-c>>2;if(h>>>0>>0){Pg(d,g-h|0,1200);u=i;return}if(h>>>0<=g>>>0){u=i;return}c=c+(g<<2)|0;if((e|0)==(c|0)){u=i;return}f[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);u=i;return}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ud(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ud(a,b);return}function ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=u;u=u+16|0;e=h;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17739,15);g=Ck(b,e,-1)|0;_n(e);switch(g|0){case -1:{if((bj(b)|0)==10)g=4;else g=3;break}case 1:{g=3;break}default:g=4}if((g|0)==3){e=_m(60)|0;oo(e)}else if((g|0)==4){e=_m(56)|0;Zo(e)}Wn(e,c);pd(a,e,b,d);Oa[f[(f[e>>2]|0)+4>>2]&127](e);u=h;return}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/108|0;if(d>>>0>>0){ce(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*108|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-108;c=f[e+-20>>2]|0;if(c|0){d=e+-16|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}c=f[e+-32>>2]|0;if(c|0){d=e+-28|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}xj(e+-104|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function vi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Xm()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1756];wn(23427,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Ma[f[(f[258]|0)+16>>2]&31](1032,d,e)|0;b=f[1756]|0;if(d){i=f[e>>2]|0;i=Ra[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;wn(23341,g)}else{f[i>>2]=b;f[i+4>>2]=a;wn(23386,i)}}wn(23465,h)}function wi(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0.0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=c+11|0;g=b[i>>0]|0;if(g<<24>>24<0)e=f[c+4>>2]|0;else e=g&255;h=+d;while(1){if(g<<24>>24<0)g=f[c>>2]|0;else g=c;p[j>>3]=h;g=fn(g,e+1|0,23338,j)|0;if((g|0)>-1)if(g>>>0>e>>>0)e=g;else break;else e=e<<1|1;sj(c,e,0);g=b[i>>0]|0}sj(c,g,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=k;return}function xi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1336;d=a+32|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}mq(e)}d=f[a+16>>2]|0;if(!d)return;c=a+20|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function yi(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+4>>2]=3508;b=f[a+24>>2]|0;if(b|0)mq(b);b=f[a+12>>2]|0;if(!b)return;mq(b);return}function zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=(f[j>>2]|0)-c|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;e=d-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h<<2)|0;break}else i=0;while(0);g=i+(e<<2)|0;f[g>>2]=f[b>>2];e=d-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+4;f[j>>2]=i+(h<<2);if(!c)return;mq(c);return}function Ai(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=fn(e,g+1|0,23335,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;sj(c,g,0);e=b[h>>0]|0}sj(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function Bi(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(iq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=aq()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=aq()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Ci(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;Kg(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;Kg(a+12|0,j,d);yf(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,6052);Fj(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Fj(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function Di(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3352;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);g=a+140|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[a+164>>2]=-1;g=a+168|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;an(a+200|0);jn(a+232|0);g=a+264|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;b[g+24>>0]=0;return}function Ei(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=a+8|0;b=f[j>>2]|0;if((b|0)<0){j=0;return j|0}i=a+4|0;a=f[i>>2]|0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+(b<<2)|0,(d|0)!=(h|0)):0)f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2)}else{gi(a,b-g|0);b=f[j>>2]|0}if((b|0)>0)d=0;else{j=1;return j|0}do{a=f[i>>2]|0;c=f[a>>2]|0;if((f[a+4>>2]|0)-c>>2>>>0<=d>>>0){Vo(a);c=f[a>>2]|0;b=f[j>>2]|0}f[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(b|0));b=1;return b|0}function Fi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;Wk(a);g=a+84|0;b=f[g>>2]|0;if((b|0)<=0)return;d=b<<5;d=jq(b>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<5)|0;b=d;do{an(b);b=b+32|0}while((b|0)!=(c|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){c=a+-4|0;b=f[c>>2]|0;if(b|0){b=a+(b<<5)|0;do{b=b+-32|0;oj(b)}while((b|0)!=(a|0))}kq(c)}if((f[g>>2]|0)>0)b=0;else return;do{Wk((f[e>>2]|0)+(b<<5)|0);b=b+1|0}while((b|0)<(f[g>>2]|0));return}function Gi(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+28>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;e=c+20|0;d=f[e>>2]|0;f[e>>2]=0;if(d|0){Gi(d);mq(d)}_n(c+8|0);mq(c)}while((b|0)!=0);e=a+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)mq(b);b=f[a+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}_n(e+8|0);mq(e)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)return;mq(b);return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);mq(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}mq(d);return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;g=f[b+12>>2]|0;b=f[b+4>>2]|0;d=h;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));Cg(i,c,g,b,h);e=f[h+24>>2]|0;if(!e){i=f[i>>2]|0;f[a>>2]=i;u=j;return}d=h+28|0;b=f[d>>2]|0;if((b|0)!=(e|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);mq(e);i=f[i>>2]|0;f[a>>2]=i;u=j;return}function Ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}k=f[i>>2]|0;e=_m(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;mq(g);return}function Ki(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=6472;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=aq()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=gh(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function Li(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!b){e=0;return e|0}if(f[b+4>>2]|0){e=0;return e|0}a=_m(52)|0;Qb(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;d=b+4|0;e=f[d>>2]|0;f[d>>2]=a;if(!e){e=1;return e|0}a=e+40|0;b=f[a>>2]|0;if(b|0){d=e+44|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[d>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Gi(c);mq(c)}c=f[d>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}mq(b)}Gi(e);mq(e);g=1;return g|0}function Mi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;bo(e,c,d)|0;b[j>>0]=0;_o(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;li(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;j=a+11|0;e=b[j>>0]|0;i=e<<24>>24<0;if(i){h=f[a+4>>2]|0;e=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;e=10}g=h+d|0;if((e-h|0)>>>0>=d>>>0){if(d|0){if(i)e=f[a>>2]|0;else e=a;eo(e+h|0,c,d)|0;if((b[j>>0]|0)<0)f[a+4>>2]=g;else b[j>>0]=g;b[k>>0]=0;_o(e+g|0,k)}}else li(a,e,g-e|0,h,h,0,d,c);u=l;return a|0}function Oi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){cj(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;rn(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;_o(e+i|0,k)}u=l;return a|0}function Pi(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;d=a+104|0;j=f[d>>2]|0;if((j|0)!=0?(f[a+108>>2]|0)>=(j|0):0)k=4;else{c=Om(a)|0;if((c|0)>=0){e=f[d>>2]|0;d=a+8|0;if(e){i=f[d>>2]|0;j=f[a+4>>2]|0;d=a+108|0;e=e-(f[d>>2]|0)|0;g=i;if((i-j|0)<(e|0)){i=g;e=j}else{i=j+(e+-1)|0;e=j}}else{g=f[d>>2]|0;i=g;e=f[a+4>>2]|0;d=a+108|0}f[a+100>>2]=i;if(g|0)f[d>>2]=g+1-e+(f[d>>2]|0);d=e+-1|0;if((h[d>>0]|0|0)!=(c|0))b[d>>0]=c}else k=4}if((k|0)==4){f[a+100>>2]=0;c=-1}return c|0}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=$l(a,Va[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=$k(f[c>>2]|0,a)|0;d=d+1|0;if(!(Va[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function Ri(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}xj(c+-104|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}mq(b);return}function Si(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;Qo(a);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;Kj(c,17798,20);dj(a,c,1);_n(c);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;Kj(c,17819,22);dj(a,c,1);_n(c);u=b;return}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!(Jn(a,b,c)|0)){b=0;return b|0}if(!(Ra[f[(f[a>>2]|0)+52>>2]&127](a)|0)){b=0;return b|0}g=a+4|0;e=a+8|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){b=1;return b|0}d=a+36|0;a=0;while(1){h=f[(f[d>>2]|0)+(a<<2)>>2]|0;if(!(Ma[f[(f[h>>2]|0)+8>>2]&31](h,b,f[c+(a<<2)>>2]|0)|0)){c=0;a=7;break}a=a+1|0;c=f[g>>2]|0;if(a>>>0>=(f[e>>2]|0)-c>>2>>>0){c=1;a=7;break}}if((a|0)==7)return c|0;return 0}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;if(b){e=c+8|0;c=e;c=Zn(f[c>>2]|0,f[c+4>>2]|0,1,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0;d=a+24|0;f[d>>2]=f[d>>2]|1<>2]|0,f[d+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0}d=c+1|0;f[e>>2]=d;if((d|0)!=32)return;d=a+24|0;b=a+16|0;c=f[b>>2]|0;if((c|0)==(f[a+20>>2]|0))zi(a+12|0,d);else{f[c>>2]=f[d>>2];f[b>>2]=c+4}f[e>>2]=0;f[d>>2]=0;return}function Vi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3804;b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}mq(b);return}function Wi(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Ko(a,f[c+8>>2]|0,g)|0)){if(Ko(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else ym(0,c,d,e);while(0);return}function Xi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function Yi(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function Zi(a){a=a|0;var b=0,c=0,d=0;d=a+80|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<5)|0;do{b=b+-32|0;oj(b)}while((b|0)!=(c|0))}kq(d)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=a+44|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)mq(b);b=f[a+32>>2]|0;if(!b){oj(a);return}c=a+36|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;mq(b);oj(a);return}function _i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;d=g;e=f[b+36>>2]|0;if(!e){f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,18966,23);f[a>>2]=-1;dl(a+4|0,d);_n(d);u=g;return}d=f[b+40>>2]|0;if(!d){wd(a,b,e,c);u=g;return}else{ti(a,b,d,c);u=g;return}}function $i(a,b){a=a|0;b=b|0;if(!b)return;else{$i(a,f[b>>2]|0);$i(a,f[b+4>>2]|0);mj(b+20|0,f[b+24>>2]|0);mq(b);return}}function aj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0;g=u;u=u+16|0;e=g;_k(e,d);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}oh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;_n(e);u=g;return}function bj(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,17668,14);c=Ck(a,d,-1)|0;_n(d);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,17683,14);a=Ck(a,d,-1)|0;_n(d);a=(c|0)<(a|0)?a:c;u=b;return ((a|0)==-1?5:a)|0}function cj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)So(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=_m(k)|0;if(g|0)eo(j,l,g)|0;d=e-h-g|0;if(d|0)eo(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)mq(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function dj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;cl(e,d&1);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}oh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;_n(e);u=g;return}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Uf(a,b,c);d=f[a+96>>2]|0;a=(f[a+100>>2]|0)-d|0;if((a|0)<=0)return;b=f[b>>2]|0;c=(a>>>0)/12|0;a=0;do{e=d+(a*12|0)|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+4|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+8|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){ki(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else _f(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Zn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function gj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=_m(32)|0,hn(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;mq(e)}mq(d)}e=Ql(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Zm(e|0,d|0,c|0,0)|0;if(!(fj(i,0,g,I)|0)){i=0;return i|0}vk(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;cl(e,d);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}oh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;_n(e);u=g;return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(Ko(a,b,0)|0))if((b|0)!=0?(e=hh(b,1056,1040,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Wa[f[(f[e>>2]|0)+28>>2]&3](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17668,14);hj(a,e,b);_n(e);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17683,14);hj(a,e,c);_n(e);u=d;return}function kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+16|0;c=g;if(b|0){a=0;u=g;return a|0}b=_m(36)|0;lo(b,0);f[c>>2]=b;e=a+12|0;d=f[e>>2]|0;if(d>>>0<(f[a+16>>2]|0)>>>0){f[c>>2]=0;f[d>>2]=b;f[e>>2]=d+4}else pg(a+8|0,c);b=f[c>>2]|0;f[c>>2]=0;if(!b){a=1;u=g;return a|0}Oa[f[(f[b>>2]|0)+4>>2]&127](b);a=1;u=g;return a|0}function lj(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function mj(a,b){a=a|0;b=b|0;if(!b)return;else{mj(a,f[b>>2]|0);mj(a,f[b+4>>2]|0);_n(b+28|0);_n(b+16|0);mq(b);return}}function nj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!c){a=0;return a|0}d=c+40|0;g=c+44|0;Mh((f[g>>2]|0)-(f[d>>2]|0)>>2,b)|0;d=f[d>>2]|0;g=f[g>>2]|0;if((d|0)!=(g|0))do{e=f[d>>2]|0;if(e|0){Mh(f[e+40>>2]|0,b)|0;Qf(a,b,e)|0}d=d+4|0}while((d|0)!=(g|0));Qf(a,b,c)|0;a=1;return a|0}function oj(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e;d=c;f[d>>2]=0;f[d+4>>2]=0;Te(a,2,c);c=f[a+12>>2]|0;d=a+16|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}d=f[a>>2]|0;if(!d){u=e;return}c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-8-d|0)>>>3)<<3);mq(d);u=e;return}function pj(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;f=d-e|0;a=a+8|0;if((f|0)>0){d=0-e|0;do{g=b+(f<<2)|0;Xh(a,g,g+(d<<2)|0,c+(f<<2)|0);f=f-e|0}while((f|0)>0)}e=e>>>0>1073741823?-1:e<<2;g=jq(e)|0;Xi(g|0,0,e|0)|0;Xh(a,b,g,c);kq(g);return 1}function qj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function rj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}mq(a);return}function sj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;_o(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;_o(a+c|0,h);b[g>>0]=c;break}else Oi(a,c-e|0,d)|0;while(0);u=j;return}function tj(a,b){a=a|0;b=b|0;if(!b)return;else{tj(a,f[b>>2]|0);tj(a,f[b+4>>2]|0);mj(b+20|0,f[b+24>>2]|0);mq(b);return}}function uj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;a=f[a+4>>2]|0;if((a|0)==-1){g=0;u=h;return g|0}b[g>>0]=a;a=c+16|0;i=f[a+4>>2]|0;if(!((i|0)>0|(i|0)==0&(f[a>>2]|0)>>>0>0)){f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ie(c,e,g,g+1|0)|0}i=1;u=h;return i|0}function vj(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}d=_m(b*12|0)|0;f[c>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(b*12|0);a=d;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=(f[c>>2]|0)+12|0;f[c>>2]=a;b=b+-1|0}while((b|0)!=0);return}function wj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>536870911){Wo(a);e=Ha(4)|0;Pp(e);sa(e|0,1096,107)}g=_m(b<<3)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<3)|0;f[a+8>>2]=e;a=g;while(1){i=c;h=f[i+4>>2]|0;g=a;f[g>>2]=f[i>>2];f[g+4>>2]=h;b=b+-1|0;if(!b)break;else a=a+8|0}f[d>>2]=e;return}function xj(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+12>>2]|0;if(b|0)mq(b);b=f[a>>2]|0;if(!b)return;mq(b);return}function yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){Wo(a);h=Ha(4)|0;Pp(h);sa(h|0,1096,107)}g=_m(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Eg(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function zj(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}b=f[c+(b<<2)>>2]|0;if((b|0)<0){a=0;return a|0}c=a+48|0;if((f[a+52>>2]|0)>>>0<=b>>>0)De(c,b+1|0,0);c=(f[c>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(b&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=b>>>0){a=1;return a|0}ep(f[c+(b<<2)>>2]|0);a=1;return a|0}function Aj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(pl(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Ma[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Bj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;e=u;u=u+16|0;c=e+8|0;b=e+4|0;d=e;f[d>>2]=f[(f[a+4>>2]|0)+80>>2];a=f[a+44>>2]|0;g=a+16|0;h=f[g+4>>2]|0;if((h|0)>0|(h|0)==0&(f[g>>2]|0)>>>0>0){u=e;return 1}f[b>>2]=f[a+4>>2];f[c>>2]=f[b>>2];Ie(a,c,d,d+4|0)|0;u=e;return 1}function Cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;b=f[b>>2]|0;if((b|0)==-1073741824)return 1;c=(b|0)<0?-1073741824:b*3|0;if((c|0)<0)return 1;a=f[a>>2]|0;e=f[a+(c<<2)>>2]|0;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[a+(b<<2)>>2]|0;b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=f[a+(b<<2)>>2]|0;if((e|0)==(d|0))return 1;else return (e|0)==(b|0)|(d|0)==(b|0)|0;return 0}function Dj(a){a=a|0;if(!a)return;mj(a+24|0,f[a+28>>2]|0);$i(a+12|0,f[a+16>>2]|0);mj(a,f[a+4>>2]|0);mq(a);return}function Ej(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(sq(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Aj(c,a)|0;rq(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Aj(c,a)|0}while(0);return d|0}function Fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}j=(f[d>>2]|0)-c|0;h=j>>2;i=_m(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Eg(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;mq(c);return}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}e=_m(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{yj(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Hj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2116;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c){mq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);mq(a);return}function Ij(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1752;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c){mq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);mq(a);return}function Jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){Wo(a);e=Ha(4)|0;Pp(e);sa(e|0,1096,107)}g=_m(b<<2)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<2)|0;f[a+8>>2]=e;a=g;while(1){f[a>>2]=f[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}f[d>>2]=e;return}function Kj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h;if(d>>>0<=4294967279)if(d>>>0<11)b[a+11>>0]=d;else g=5;else{So(a);g=5}if((g|0)==5){i=d+16&-16;g=_m(i)|0;f[a>>2]=g;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;a=g}eo(a,c,d)|0;b[e>>0]=0;_o(a+d|0,e);u=h;return}function Lj(a){a=a|0;var b=0,c=0;f[a>>2]=2116;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Mj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Ep(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Nj(a){a=a|0;var b=0,c=0;f[a>>2]=1752;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+36|0;e=a+40|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){g=1;return g|0}d=a+60|0;a=c;c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Ma[f[(f[a>>2]|0)+20>>2]&31](a,d,b)|0)){a=0;c=5;break}a=f[g>>2]|0;if(c>>>0>=(f[e>>2]|0)-a>>2>>>0){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Pj(a,c,d){a=a|0;c=c|0;d=d|0;c=Dg(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Qj(a,b){a=+a;b=b|0;var c=0,d=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;c=(d|0)<-1022;b=b+2044|0;b=c?((b|0)>-1022?b:-1022):d;a=c?a*2.2250738585072014e-308:a}}else{a=a*8988465674311579538646525.0e283;c=b+-1023|0;d=(c|0)>1023;b=b+-2046|0;b=d?((b|0)<1023?b:1023):c;a=d?a*8988465674311579538646525.0e283:a}c=tn(b+1023|0,0,52)|0;d=I;f[s>>2]=c;f[s+4>>2]=d;return +(a*+p[s>>3])}function Rj(a){a=a|0;var b=0,c=0,d=0;if(!(f[a+80>>2]|0)){d=0;return d|0}d=a+8|0;c=a+12|0;a=f[d>>2]|0;if(((f[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(wl(a,a)|0)){a=0;b=5;break}a=f[d>>2]|0;if((b|0)>=((f[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function Sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+36|0;d=a+40|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Va[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){a=0;c=4;break}a=f[e>>2]|0;if(c>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;c=4;break}}if((c|0)==4)return a|0;return 0}function Tj(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Uj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a+176>>2]|0;a=f[a+172>>2]|0;g=a;if((d|0)==(a|0))return 0;e=(d-a|0)/108|0;d=0;while(1){if((f[g+(d*108|0)>>2]|0)==(c|0)){a=4;break}a=d+1|0;if(a>>>0>>0)d=a;else{a=6;break}}if((a|0)==4)return ((b[g+(d*108|0)+72>>0]|0)==0?0:g+(d*108|0)+4|0)|0;else if((a|0)==6)return 0;return 0}function Vj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3436;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3460;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Wj(a,b){a=a|0;b=b|0;var c=0;c=f[a+72>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+60;if(!(Ra[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}if(!(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Va[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Xj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;f[a+40>>2]=1180;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a>>2]=1460;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){xi(a);mq(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);mq(a);return}function Yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{vg(a+40|0,b);a=1;return a|0}return 0}function Zj(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+36|0;d=a+40|0;b=f[e>>2]|0;if((f[d>>2]|0)==(b|0)){e=1;return e|0}c=a+60|0;a=b;b=0;while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(Va[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){a=0;b=5;break}a=f[e>>2]|0;if(b>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;g=d;e=d+4|0;f[g>>2]=b;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17755,17);hj(xd(a,g)|0,e,c);_n(e);u=d;return}function $j(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=yn(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+$j(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function ak(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3484;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3508;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function bk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2172;b=f[a+76>>2]|0;if(b|0)mq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)kq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function ck(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0;e=u;u=u+16|0;a=e;if(!b){b=0;u=e;return b|0}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;Kj(a,c,Tj(c)|0);Rl(b,a,d);_n(a);b=1;u=e;return b|0}function dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=u;u=u+16|0;a=e;if(!b){b=0;u=e;return b|0}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;Kj(a,c,Tj(c)|0);Tl(b,a,d);_n(a);b=1;u=e;return b|0}function ek(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[21111+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=21199;e=5;break}}if((e|0)==2)if(!d)d=21199;else{a=21199;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return Ip(d,f[c+20>>2]|0)|0}function fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3436;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3460;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b)return;mq(b);return}function gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1808;b=f[a+76>>2]|0;if(b|0)mq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)kq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;f[a+40>>2]=1180;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a>>2]=1460;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){xi(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);return}function ik(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3484;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3508;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b)return;mq(b);return}function jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=_m(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=jh(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;lj(a);mq(a);return}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Dn(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return Dn((Ad(h,g,Dn(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function lk(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Bk(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function mk(a){a=a|0;var b=0,c=0;f[a>>2]=2172;b=f[a+76>>2]|0;if(b|0)mq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)kq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0;i=u;u=u+128|0;h=i;e=h;g=e+124|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=h+4|0;f[e>>2]=a;g=h+8|0;f[g>>2]=-1;f[h+44>>2]=a;f[h+76>>2]=-1;Lm(h,0);d=+Lc(h,c,1);c=(f[e>>2]|0)-(f[g>>2]|0)+(f[h+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=i;return +d}function ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Sm(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=Oo(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6024;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+84>>2]|0;if(!b){og(a);mq(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);og(a);mq(a);return}function qk(a){a=a|0;var c=0,d=0;d=a+74|0;c=b[d>>0]|0;b[d>>0]=c+255|c;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Ma[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;c=f[a>>2]|0;if(!(c&4)){d=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=d;f[a+4>>2]=d;c=c<<27>>31}else{f[a>>2]=c|32;c=-1}return c|0}function rk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Dc(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){dm(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function tk(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}d=a+8|0;a=a+44|0;while(1){e=f[(f[d>>2]|0)+(f[b>>2]<<2)>>2]|0;b=b+4|0;if(!(Va[f[(f[e>>2]|0)+20>>2]&127](e,f[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 uk(a){a=a|0;var b=0,c=0;f[a>>2]=1808;b=f[a+76>>2]|0;if(b|0)mq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)kq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function vk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function wk(a,c,d){a=a|0;c=c|0;d=$(d);c=Dg(a,c)|0;if((c|0)==(a+4|0))return $(d);c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;d=$(+gq(c));return $(d)}function xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){d=(c-d|0)/108|0;c=0;while(1){if((f[e+(c*108|0)>>2]|0)==(b|0))break;c=c+1|0;if(c>>>0>=d>>>0)break a}a=e+(c*108|0)+76|0;return a|0}while(0);a=a+40|0;return a|0}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){Wo(a);a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}d=b<<2;e=_m(d)|0;f[a>>2]=e;b=e+(b<<2)|0;f[a+8>>2]=b;Xi(e|0,0,d|0)|0;f[c>>2]=b;return}function zk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6024;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+84>>2]|0;if(!b){og(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);og(a);return}function Ak(a,c){a=a|0;c=c|0;c=Dg(a,c)|0;if((c|0)==(a+4|0)){a=0;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=((Mj(c)|0)+1|0)>>>0>1;return a|0}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else ki(a,b-g|0);a=a+24|0;h=a;h=Zn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Ck(a,c,d){a=a|0;c=c|0;d=d|0;c=Dg(a,c)|0;if((c|0)==(a+4|0)){a=d;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;return a|0}function Dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2228;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Ek(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1864;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Fk(a){a=a|0;var b=0;f[a>>2]=2964;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2284;oj(a+108|0);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1216;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+4>>2]|0;if(!b){mq(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Ik(a){a=a|0;var b=0;f[a>>2]=2600;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Jk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Ko(a,f[b+8>>2]|0,g)|0)Yi(0,b,c,d,e);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Kk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1920;oj(a+108|0);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Lk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function Mk(a){a=a|0;var b=0,c=0;f[a>>2]=2228;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Nk(a){a=a|0;var b=0;f[a>>2]=2964;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b)return;mq(b);return}function Ok(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;sj(a,c,0);return}function Pk(a){a=a|0;var b=0,c=0;f[a>>2]=1864;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Qk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1216;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function Rk(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Xi(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{zo(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}zo(a,f,e)}u=g;return}function Sk(a){a=a|0;var b=0;f[a>>2]=2600;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b)return;mq(b);return}function Tk(a){a=a|0;var b=0,c=0;f[a>>2]=2284;oj(a+108|0);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function Uk(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Vk(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,17739,15);hj(a,d,b);_n(d);u=c;return}function Wk(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e;d=b;f[d>>2]=0;f[d+4>>2]=0;Te(a,2,b);b=f[a+12>>2]|0;d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+24>>2]=0;f[a+28>>2]=0;u=e;return}function Xk(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}c=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;b=f[c+32>>2]|0;if(b|0){a=b;return a|0}a=f[c+8>>2]|0;return a|0}function Yk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else Fa(20527,20426,60,20517);return 0}function Zk(a){a=a|0;var b=0,c=0;f[a>>2]=1920;oj(a+108|0);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function _k(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;Ok(d);wi(a,d,b);_n(d);u=c;return}function $k(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Va[f[(f[c>>2]|0)+36>>2]&127](c,b)|0;return c|0}function al(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Va[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ko(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function cl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Ok(d);Ai(a,d,b);_n(d);u=c;return}function dl(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0)Kj(a,f[c>>2]|0,f[c+4>>2]|0);else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}return}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((co(Ca(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function fl(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function gl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function hl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){a=-1;return a|0}d=f[d+(b<<2)>>2]|0;if((d|0)<0){a=-1;return a|0}a=f[(f[(f[(f[a+36>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return a|0}function il(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function jl(a){a=a|0;var b=0,c=0,d=0;c=f[a>>2]|0;d=a+4|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+12>>2]=0;f[a+16>>2]=0;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function kl(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;a=(f[a+20>>2]|0)-(f[a+16>>2]|0)>>2;return a|0}function ll(a){a=a|0;if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}a=(f[a+36>>2]|0)!=0;return a|0}function ml(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;Zg(a,c);f[a>>2]=1392;d=a+72|0;c=a+36|0;a=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(a|0));a=f[b>>2]|0;f[b>>2]=0;f[d>>2]=a;return}function nl(a){a=a|0;var b=0,c=0;f[a>>2]=3020;b=f[a+56>>2]|0;if(b|0)mq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){mq(a);return}kq(b);mq(a);return}function ol(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function pl(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function ql(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function rl(a){a=a|0;var b=0,c=0;f[a>>2]=2656;b=f[a+56>>2]|0;if(b|0)mq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){mq(a);return}kq(b);mq(a);return}function sl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=e-c|0;if(b>>>0>d>>>0){ki(a,b-d|0);return}if(b>>>0>=d>>>0)return;c=c+b|0;if((e|0)==(c|0))return;f[g>>2]=c;return}function tl(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function ul(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;jf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function vl(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;va(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;va(12);return -1}return b|0}function wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];a=$b(a,b,d)|0;u=c;return a|0}function xl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function yl(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(sq(d)|0)==0;a=mi(a,e,d)|0;if(!g)rq(d)}else a=mi(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function Al(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Bl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Cl(a,b){a=a|0;b=b|0;if(!(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Va[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Dl(a){a=a|0;var b=0;f[a>>2]=3020;b=f[a+56>>2]|0;if(b|0)mq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;kq(b);return}function El(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+40>>2]=c;a=1;return a|0}function Fl(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a+8>>2]=b;f[a+12>>2]=0;jn(a+16|0);f[a+48>>2]=d;if(d>>>0<7){f[a>>2]=c;n[a+4>>2]=$(0.0);return}else Fa(20199,20227,38,20356)}function Hl(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Ko(a,f[b+8>>2]|0,g)|0)Yi(0,b,c,d,e);return}function Il(a){a=a|0;var b=0;f[a>>2]=2656;b=f[a+56>>2]|0;if(b|0)mq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;kq(b);return}function Jl(a){a=a|0;var b=0,c=0;f[a>>2]=1460;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){xi(a);mq(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);mq(a);return}function Kl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Ll(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Ml(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Kg(a+20|0,e,d);u=c;return}function Nl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+60>>2]=c;a=1;return a|0}function Ol(){var a=0,b=0;a=_m(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Pl(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Kg(a+20|0,e,d);u=c;return}function Ql(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 Rl(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;fc(a,b,e);u=d;return}function Sl(a){a=a|0;f[a>>2]=3528;yi(a+8|0);mq(a);return}function Tl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;gc(a,b,e);u=d;return}function Ul(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Mi(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Vl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Wl(a){a=a|0;var b=0,c=0;f[a>>2]=3280;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Vi(a);mq(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Vi(a);mq(a);return}function Xl(a,b){a=+a;b=+b;var c=0,d=0;p[s>>3]=a;d=f[s>>2]|0;c=f[s+4>>2]|0;p[s>>3]=b;c=f[s+4>>2]&-2147483648|c&2147483647;f[s>>2]=d;f[s+4>>2]=c;return +(+p[s>>3])}function Yl(a){a=a|0;var b=0,c=0;f[a>>2]=1460;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){xi(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);return}function Zl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(11954,8800,76,17755);return 0}function _l(a){a=a|0;f[a>>2]=3528;yi(a+8|0);return}function $l(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function am(a){a=a|0;var b=0,c=0;f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ko(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);return}function cm(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function dm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Eg(a,c,d)|0;return a|0}function em(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function fm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1180;b=f[a+8>>2]|0;if(!b){mq(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function gm(a){a=a|0;var b=0;f[a>>2]=3076;b=f[a+56>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function hm(a){a=a|0;var b=0,c=0;f[a>>2]=3280;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Vi(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Vi(a);return}function im(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[21093+(a&15)>>0]|0|e;a=yn(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function jm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Ma[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function km(){var a=0,b=0;b=Xm()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)io(f[a+12>>2]|0);io(rp()|0)}function lm(a){a=a|0;var b=0;f[a>>2]=2712;b=f[a+56>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function mm(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function nm(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function om(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}mq(a);return}function pm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function qm(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function rm(a){a=a|0;Yn(a);f[a>>2]=3216;f[a+40>>2]=1180;f[a+44>>2]=-1;a=a+48|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function sm(a){a=a|0;var b=0,c=0;f[a>>2]=1180;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function tm(a){a=a|0;var c=0;f[a>>2]=1336;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function um(a){a=a|0;f[a>>2]=3076;a=f[a+56>>2]|0;if(!a)return;mq(a);return}function vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);ih(a,b,c,d,e,f);return}function wm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function xm(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14276,14647,64,14287);return 0}function ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function zm(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14276,13875,63,14287);return 0}function Am(a){a=a|0;f[a>>2]=2712;a=f[a+56>>2]|0;if(!a)return;mq(a);return}function Bm(a){a=a|0;var b=0;f[a>>2]=3460;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Cm(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=yn(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Eg(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Em(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-8-c|0)>>>3)<<3);mq(c);return}function Fm(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function Gm(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14276,14985,68,14287);return 0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;return Ma[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Im(a){a=a|0;var c=0;Al(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Jm(a){a=a|0;f[a>>2]=3132;oj(a+88|0);mq(a);return}function Km(a){a=a|0;var b=0;f[a>>2]=3508;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function Mm(a,b){a=a|0;b=b|0;b=f[b>>2]|0;return (1<<(b&31)&f[(f[a+28>>2]|0)+(b>>>5<<2)>>2]|0)!=0|0}function Nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);vm(a,b,c,d,e,f);return}function Om(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;if((qk(a)|0)==0?(Ma[f[a+32>>2]&31](a,b,1)|0)==1:0)b=h[b>>0]|0;else b=-1;u=c;return b|0}function Pm(a){a=a|0;f[a>>2]=2768;oj(a+88|0);mq(a);return}function Qm(a){a=a|0;f[a>>2]=3132;oj(a+88|0);return}function Rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return af(a,b,c,d,e,f)|0}function Sm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Ad(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;bc(a,b,c);return}function Um(a){a=a|0;var b=0;f[a>>2]=3460;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b)return;mq(b);return}function Vm(a){a=a|0;f[a>>2]=2768;oj(a+88|0);return}function Wm(a){a=a|0;Gn(a);f[a>>2]=6024;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Xm(){var a=0,b=0;a=u;u=u+16|0;if(!(za(24472,3)|0)){b=qa(f[6119]|0)|0;u=a;return b|0}else wn(23616,a);return 0}function Ym(a){a=a|0;var b=0;f[a>>2]=3508;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b)return;mq(b);return}function Zm(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=Vl(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function _m(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0)break;a=pp()|0;if(!a){a=0;break}Ta[a&3]()}return a|0}function $m(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=pq(f[a+60>>2]|0)|0;f[c>>2]=a;a=co(ua(6,c|0)|0)|0;u=b;return a|0}function an(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function bn(a){a=a|0;var b=0;b=u;u=u+16|0;rc(a);if(!(ra(f[6119]|0,0)|0)){u=b;return}else wn(23715,b)}function cn(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function dn(a,b){a=a|0;b=b|0;return jg(a+40|0,b)|0}function en(a,b){a=a|0;b=b|0;return Ni(a,b,Lp(b)|0)|0}function fn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Ki(a,b,c,g)|0;u=e;return d|0}function gn(a,b){a=a|0;b=b|0;return uj(a+40|0,b)|0}function hn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function jn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function kn(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 Qa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kh(a,b,c,d)|0}function mn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Va[f[(f[a>>2]|0)+24>>2]&127](a,b)|0}function nn(){var a=0;a=u;u=u+16|0;if(!(ta(24476,109)|0)){u=a;return}else wn(23665,a)}function on(a,b,c){a=a|0;b=b|0;c=c|0;_j(a,b,c);return}function pn(a){a=a|0;Pe(a);mq(a);return}function qn(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;Ua[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function rn(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Xi(a|0,(Kp(c)|0)&255|0,b|0)|0;return a|0}function sn(a){a=a|0;return 4}function tn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Va[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function vn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Va[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function wn(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[1525]|0;gh(b,a,c)|0;Ej(10,b)|0;wa()}function xn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Va[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function yn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function zn(a){a=a|0;var b=0;f[a>>2]=3804;a=a+4|0;b=a+44|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function An(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jh(a,b,c,d)|0}function Bn(a){a=a|0;Qe(a);mq(a);return}function Cn(){}function Dn(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 (I=d,a-c>>>0|0)|0}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ck(a,b,c,d)|0}function Fn(a){a=a|0;return 5}function Gn(a){a=a|0;var b=0;f[a>>2]=6064;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Hn(a){a=a|0;return 6}function In(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dk(a,b,c,d)|0}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Kn(a,b){a=a|0;b=b|0;Si(a);f[a+36>>2]=b;f[a+40>>2]=b;return}function Ln(a,b){a=a|0;b=b|0;if(!b)b=0;else b=sh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Mn(a,b,c){a=a|0;b=b|0;c=c|0;on(a,b,c);return}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wf(a,b,c,d)|0}function On(a,b,c){a=a|0;b=b|0;c=c|0;return Wh(a,b,c)|0}function Pn(a,b,c){a=a|0;b=b|0;c=c|0;return Li(a,b,c)|0}function Qn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Na[a&3](b|0,c|0,d|0,e|0,f|0)}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;jj(a,b,c);return}function Sn(a){a=a|0;a=f[a+56>>2]|0;return Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Tn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Un(a){a=a|0;a=f[a+56>>2]|0;return Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0}function Vn(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Wn(a,b){a=a|0;b=b|0;f[a+52>>2]=b;No(a,b);return}function Xn(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Yn(a){a=a|0;tm(a);f[a>>2]=1460;f[a+36>>2]=0;return}function Zn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function _n(a){a=a|0;if((b[a+11>>0]|0)<0)mq(f[a>>2]|0);return}function $n(a){a=a|0;if(!a)return;Oa[f[(f[a>>2]|0)+4>>2]&127](a);return}function ao(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Wa[a&3](b|0,c|0,d|0,e|0)}function bo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)dm(a|0,b|0,c|0)|0;return a|0}function co(a){a=a|0;var b=0;if(a>>>0>4294963200){b=aq()|0;f[b>>2]=0-a;a=-1}return a|0}function eo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Eg(a|0,b|0,c|0)|0;return a|0}function fo(a,b){a=a|0;b=b|0;return -1}function go(a,b){a=a|0;b=b|0;jo(a,b);return}function ho(a){a=a|0;if(!a)a=0;else a=(hh(a,1056,1128,0)|0)!=0;return a&1|0}function io(a){a=a|0;var b=0;b=u;u=u+16|0;Ta[a&3]();wn(23768,b)}function jo(a,b){a=a|0;b=b|0;Vk(a,b);return}function ko(a){a=a|0;Ih(a);mq(a);return}function lo(a,b){a=a|0;b=b|0;Zg(a,b);f[a>>2]=1276;return}function mo(a,b,c){a=a|0;b=b|0;c=c|0;ro(a,b,c);return}function no(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function oo(a){a=a|0;uo(a);f[a>>2]=3280;f[a+56>>2]=0;return}function po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ma[a&31](b|0,c|0,d|0)|0}function qo(a){a=a|0;return f[a+12>>2]|0}function ro(a,b,c){a=a|0;b=b|0;c=c|0;Rn(a,b,c);return}function so(){var a=0;a=_m(64)|0;Al(a);return a|0}function to(a,b){a=a|0;b=b|0;return $(yo(a,b))}function uo(a){a=a|0;zn(a);f[a>>2]=3636;f[a+52>>2]=0;return}function vo(a){a=a|0;if(!a)return;Gi(a);mq(a);return}function wo(a){a=a|0;return Ra[f[(f[a>>2]|0)+60>>2]&127](a)|0}function xo(a){a=a|0;return f[a+4>>2]|0}function yo(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function zo(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))mi(b,c,a)|0;return}function Ao(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&15](b|0,c|0,d|0)}function Bo(){var a=0;a=_m(96)|0;Im(a);return a|0}function Co(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Do(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Eo(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Bi(a,b,0)|0;return a|0}function Fo(a){a=a|0;var b=0;b=(iq()|0)+188|0;return ek(a,f[b>>2]|0)|0}function Go(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(4);return 0}function Ho(a,b){a=a|0;b=b|0;return Po(a,b)|0}function Io(){var a=0;a=_m(12)|0;To(a);return a|0}function Jo(a){a=a|0;xi(a);mq(a);return}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Lo(a,b){a=a|0;b=b|0;var c=0;c=Yo(a|0)|0;return ((b|0)==0?a:c)|0}function Mo(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function No(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ad(a,b,c,d,0)|0}function Po(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Qo(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Ro(){var a=0;a=_m(84)|0;Gn(a);return a|0}function So(a){a=a|0;Fa(23184,23213,1183,23314)}function To(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Uo(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Vo(a){a=a|0;Fa(23140,23039,315,23163)}function Wo(a){a=a|0;Fa(23016,23039,304,23314)}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;return Va[a&127](b|0,c|0)|0}function Yo(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Zo(a){a=a|0;uo(a);f[a>>2]=3708;return}function _o(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function $o(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(8)}function ap(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function bp(a){a=a|0;if(!a)return;mq(a);return}function cp(){var a=0;a=_m(1)|0;rq(a);return a|0}function dp(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function ep(a){a=a|0;b[a+28>>0]=1;return}function fp(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function gp(a){a=a|0;Si(a);return}function hp(a,b){a=a|0;b=b|0;return 1}function ip(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function jp(a,b,c){a=a|0;b=b|0;c=c|0;Pa[a&7](b|0,c|0)}function kp(){var a=0;a=_m(36)|0;Rp(a);return a|0}function lp(){var a=0;a=_m(108)|0;Wm(a);return a|0}function mp(a){a=a|0;Vi(a);mq(a);return}function np(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function op(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(1)}function pp(){var a=0;a=f[6120]|0;f[6120]=a+0;return a|0}function qp(a){a=a|0;return f[a+56>>2]|0}function rp(){var a=0;a=f[1755]|0;f[1755]=a+0;return a|0}function sp(a){a=a|0;og(a);mq(a);return}function tp(a){a=a|0;return b[a+24>>0]|0}function up(a,b){a=a|0;b=b|0;return 0}function vp(a){a=a|0;return f[a+40>>2]|0}function wp(a){a=a|0;return f[a+48>>2]|0}function xp(a,b){a=a|0;b=b|0;return Ra[a&127](b|0)|0}function yp(a){a=a|0;return f[a+60>>2]|0}function zp(a){a=a|0;return f[a+28>>2]|0}function Ap(a){a=a|0;xa(a|0)|0;km()}function Bp(a){a=a|0;return 3}function Cp(a,b){a=a|0;b=b|0;u=a;v=b}function Dp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(10)}function Ep(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Fp(a){a=a|0;return f[a+80>>2]|0}function Gp(a,b){a=a|0;b=b|0;return $(+nk(a,b,0))}function Hp(a,b){a=a|0;b=b|0;Oa[a&127](b|0)}function Ip(a,b){a=a|0;b=b|0;return Ln(a,b)|0}function Jp(a){a=a|0;rq(a);mq(a);return}function Kp(a){a=a|0;return a&255|0}function Lp(a){a=a|0;return Tj(a)|0}function Mp(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function Np(a){a=a|0;return 2}function Op(a,b){a=a|0;b=b|0;return +(+nk(a,b,1))}function Pp(a){a=a|0;f[a>>2]=7116;return}function Qp(a){a=a|0;return 1}function Rp(a){a=a|0;gp(a);return}function Sp(a,b){a=+a;b=+b;return +(+Xl(a,b))}function Tp(a,b){a=+a;b=b|0;return +(+Qj(a,b))}function Up(a,b){a=+a;b=b|0;return +(+$j(a,b))}function Vp(){return 3}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function Xp(){return 0}function Yp(){return -1}function Zp(){return 4}function _p(){return 1}function $p(){return 2}function aq(){return (iq()|0)+64|0}function bq(a,b){a=+a;b=+b;return +(+Pd(a,b))}function cq(a,b){a=a|0;b=b|0;aa(9);return 0}function dq(a){a=a|0;return 23808}function eq(a){a=a|0;Ta[a&3]()}function fq(){Ga()}function gq(a){a=a|0;return +(+Op(a,0))}function hq(a,b){a=a|0;b=b|0;aa(3)}function iq(){return wq()|0}function jq(a){a=a|0;return _m(a)|0}function kq(a){a=a|0;mq(a);return}function lq(a){a=a|0;u=a}function mq(a){a=a|0;rc(a);return}function nq(a){a=a|0;I=a}function oq(){return 24408}function pq(a){a=a|0;return a|0}function qq(a){a=a|0;aa(5);return 0}function rq(a){a=a|0;return}function sq(a){a=a|0;return 0}function tq(){return I|0}function uq(){return u|0}function vq(a){a=a|0;aa(2)}function wq(){return 6228}function xq(){aa(7)} +function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>65536){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;wb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>16384){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;yb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>32768){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;xb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>8192){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*524288.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==524288){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;zb(n,o,p);a:do if((i|0)<524288){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=524288-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>524288;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-524288|0;g=i;while(1){e=524288.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==524288){g=524288;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=524288){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*1.9073486328125e-06)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>4096){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*262144.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==262144){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Ab(n,o,p);a:do if((i|0)<262144){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=262144-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>262144;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-262144|0;g=i;while(1){e=262144.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==262144){g=262144;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=262144){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*3.814697265625e-06)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>2048){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*65536.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==65536){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Bb(n,o,p);a:do if((i|0)<65536){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=65536-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>65536;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-65536|0;g=i;while(1){e=65536.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==65536){g=65536;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=65536){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.0000152587890625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>1024){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*32768.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==32768){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Cb(n,o,p);a:do if((i|0)<32768){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=32768-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>32768;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-32768|0;g=i;while(1){e=32768.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==32768){g=32768;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=32768){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000030517578125)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>512){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*8192.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==8192){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Db(n,o,p);a:do if((i|0)<8192){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=8192-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>8192;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-8192|0;g=i;while(1){e=8192.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==8192){g=8192;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=8192){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.0001220703125)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>256){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Eb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>128){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Fb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>64){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Gb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>32){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Hb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>16){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Lb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>8){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Ib(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>4){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Jb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>2){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Kb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function ed(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+32|0;r=x;s=x+20|0;q=x+24|0;v=x+8|0;n=f[a>>2]|0;d=n+8|0;t=f[n>>2]|0;n=f[n+4>>2]|0;d=Mn(t|0,n|0,f[d>>2]|0,f[d+4>>2]|0)|0;g=I;g=Mn((d|0)==0&(g|0)==0&1|0,0,d|0,g|0)|0;g=~~((+(t>>>0)+4294967296.0*+(n>>>0))/(+(g>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;g=g>>>0<255?g:255;g=((g|0)==0&1)+g&255;b[q>>0]=g;n=a+12|0;t=a+16|0;d=((f[t>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[v>>2]=0;w=v+4|0;f[w>>2]=0;f[v+8>>2]=0;if(!d)o=0;else{if((d|0)<0)Fp(v);e=an(d)|0;f[w>>2]=e;f[v>>2]=e;f[v+8>>2]=e+d;do{b[e>>0]=0;e=(f[w>>2]|0)+1|0;f[w>>2]=e;d=d+-1|0}while((d|0)!=0);o=f[v>>2]|0}p=a+28|0;d=(f[p>>2]|0)+-1|0;a:do if((d|0)>-1){k=a+24|0;e=4096;h=0;while(1){i=256-(g&255)|0;j=(f[k>>2]&1<>>0>=g<<12>>>0){b[o+h>>0]=e;e=e>>>8;h=h+1|0}$m(f[3980+(g<<3)>>2]|0,0,e|0,0)|0;e=e+(j?0:i&255)+(X((I+e|0)>>>(f[3980+(g<<3)+4>>2]|0),256-g|0)|0)|0;d=d+-1|0;if((d|0)<=-1)break a;g=b[q>>0]|0}}else{e=4096;h=0}while(0);d=f[t>>2]|0;if((d|0)==(f[n>>2]|0))g=e;else{g=h;while(1){d=d+-4|0;m=f[d>>2]|0;j=31;while(1){i=b[q>>0]|0;k=256-(i&255)|0;l=(1<>>0>>0)h=g;else{b[o+g>>0]=e;e=e>>>8;h=g+1|0}$m(f[3980+(i<<3)>>2]|0,0,e|0,0)|0;e=e+(l?0:k&255)+(X((I+e|0)>>>(f[3980+(i<<3)+4>>2]|0),256-i|0)|0)|0;if((j|0)<=0)break;else{g=h;j=j+-1|0}}if((d|0)==(f[n>>2]|0)){g=e;break}else g=h}}if(g>>>0<=4095)ra(19718,19748,132,19830);if(g>>>0>=1048576)ra(19844,19748,133,19830);d=g+-4096|0;do if(d>>>0>=64){e=o+h|0;if(d>>>0<16384){d=g+12288|0;b[e>>0]=d;g=2;e=e+1|0;d=d>>>8;break}else{d=g+8384512|0;b[e>>0]=d;b[e+1>>0]=d>>>8;g=3;e=e+2|0;d=d>>>16;break}}else{g=1;e=o+h|0}while(0);b[e>>0]=d;e=g+h|0;g=c+16|0;o=g;n=f[o+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ke(c,r,q,q+1|0)|0}Rh(e,c)|0;d=f[v>>2]|0;q=g;o=f[q+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[q>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ke(c,r,d,d+e|0)|0}d=r;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,r);d=f[a+12>>2]|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+24>>2]=0;f[p>>2]=0;d=f[v>>2]|0;if(!d){u=x;return}if((f[w>>2]|0)!=(d|0))f[w>>2]=d;pq(d);u=x;return}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+16|0;v=w+8|0;l=w+4|0;p=w;q=a+124|0;f[q>>2]=(f[q>>2]|0)+1;q=a+88|0;m=a+120|0;j=f[m>>2]|0;c=j+1|0;do if((j|0)>=0){c=((c|0)%3|0|0)==0?j+-2|0:c;if(!((j>>>0)%3|0)){h=j+2|0;break}else{h=j+-1|0;break}}else{c=j;h=j}while(0);r=a+104|0;o=a+92|0;e=f[o>>2]|0;i=e+(c<<2)|0;g=f[r>>2]|0;d=g+(f[i>>2]<<2)|0;t=f[d>>2]|0;switch(b|0){case 1:case 0:{f[d>>2]=t+-1;j=g+(f[e+(h<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+-1;if((b|0)==1){if((h|0)>=0?(k=f[(f[(f[q>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(k|0)>-1):0){g=a+64|0;e=k;d=1;do{k=f[g>>2]|0;j=f[(f[k>>2]|0)+36>>2]|0;f[l>>2]=(e>>>0)/3|0;f[v>>2]=f[l>>2];if(Na[j&127](k,v)|0)break;k=e+1|0;e=((k|0)%3|0|0)==0?e+-2|0:k;if((e|0)<0){s=12;break}e=f[(f[(f[q>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;d=d+1|0}while((e|0)>-1);if((s|0)==12)d=d+1|0;g=f[r>>2]|0;e=f[o>>2]|0}else d=1;f[g+(f[e+(f[m>>2]<<2)>>2]<<2)>>2]=d;h=a+108|0;d=f[h>>2]|0;g=d-g>>2;if((c|0)>=0?(n=f[(f[(f[q>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(n|0)>-1):0){e=a+64|0;d=n;c=1;do{n=f[e>>2]|0;m=f[(f[n>>2]|0)+36>>2]|0;f[p>>2]=(d>>>0)/3|0;f[v>>2]=f[p>>2];if(Na[m&127](n,v)|0)break;n=d+1|0;f[(f[o>>2]|0)+((((n|0)%3|0|0)==0?d+-2|0:n)<<2)>>2]=g;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0){s=20;break}d=f[(f[(f[q>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;c=c+1|0}while((d|0)>-1);if((s|0)==20)c=c+1|0;d=f[h>>2]|0}else c=1;f[v>>2]=c;if(d>>>0<(f[a+112>>2]|0)>>>0){f[d>>2]=c;f[h>>2]=d+4}else Gi(r,v)}break}case 5:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}case 3:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;break}case 7:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}default:{}}i=a+116|0;e=f[i>>2]|0;if((e|0)==-1){f[i>>2]=b;u=w;return}d=f[a+128>>2]|0;if((t|0)<(d|0))c=d;else{c=f[a+132>>2]|0;c=(t|0)>(c|0)?c:t}h=c-d|0;g=f[a+136>>2]|0;c=f[3612+(e<<2)>>2]|0;f[v>>2]=c;e=g+(h*12|0)+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+(h*12|0)+8>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else Gi(g+(h*12|0)|0,v);f[i>>2]=b;u=w;return}function gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=f[a+28>>2]|0;v=f[a+32>>2]|0;w=e>>>0>1073741823?-1:e<<2;x=mq(w)|0;cj(x|0,0,w|0)|0;y=mq(w)|0;cj(y|0,0,w|0)|0;w=a+36|0;h=f[w>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;r=(e|0)>0;t=a+8|0;q=u+12|0;p=e<<2;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;s=d;z=g}else{o=h;Fp(o)}while(1){o=f[k+(z<<2)>>2]|0;if(r)cj(x|0,0,p|0)|0;if((o|0)>-1){n=f[q>>2]|0;m=o;l=0;while(1){d=f[n+(m<<2)>>2]|0;if((d|0)>=0){h=f[u>>2]|0;i=f[v>>2]|0;k=f[i+(f[h+(d<<2)>>2]<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;j=f[i+(g<<2)>>2]|0;g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;g=f[i+(g<<2)>>2]|0;if((k|0)<(z|0)&(j|0)<(z|0)&(g|0)<(z|0)){i=X(k,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(r){g=0;do{f[y+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(r){g=0;do{k=x+(g<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[y+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else l=h}g=X(z,e)|0;if(!h)A=30;else{if(r){d=0;do{s=x+(d<<2)|0;f[s>>2]=(f[s>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}ai(t,b+(g<<2)|0,x,c+(g<<2)|0)}}else{g=X(z,e)|0;A=30}if((A|0)==30){A=0;ai(t,b+(g<<2)|0,b+((X(s+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((z|0)<=1)break a;g=f[w>>2]|0;k=f[g>>2]|0;d=z+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{s=z;z=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,x,c);nq(y);nq(x);return 1}cj(x|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,x,c);nq(y);nq(x);return 1}function hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;t=f[a+28>>2]|0;u=f[a+32>>2]|0;v=e>>>0>1073741823?-1:e<<2;w=mq(v)|0;cj(w|0,0,v|0)|0;x=mq(v)|0;cj(x|0,0,v|0)|0;v=a+36|0;h=f[v>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;p=(e|0)>0;s=a+8|0;q=t+64|0;o=t+28|0;n=e<<2;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;r=d;B=g}else{m=h;Fp(m)}while(1){m=f[k+(B<<2)>>2]|0;if(p)cj(w|0,0,n|0)|0;if((m|0)>-1){l=f[t>>2]|0;k=m;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(C=f[(f[(f[q>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(C|0)>=0):0)?(A=f[o>>2]|0,i=f[u>>2]|0,y=f[i+(f[A+(C<<2)>>2]<<2)>>2]|0,z=C+1|0,z=f[i+(f[A+((((z|0)%3|0|0)==0?C+-2|0:z)<<2)>>2]<<2)>>2]|0,A=f[i+(f[A+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(y|0)<(B|0)&(z|0)<(B|0)&(A|0)<(B|0)):0){d=X(y,e)|0;h=X(z,e)|0;i=X(A,e)|0;if(p){g=0;do{f[x+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(p){g=0;do{i=w+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[x+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}j=j+1|0}g=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[q>>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);k=(g|0)==(m|0)?-1073741824:g}while((k|0)>-1);g=X(B,e)|0;if(!j)D=28;else{if(p){d=0;do{r=w+(d<<2)|0;f[r>>2]=(f[r>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}ai(s,b+(g<<2)|0,w,c+(g<<2)|0)}}else{g=X(B,e)|0;D=28}if((D|0)==28){D=0;ai(s,b+(g<<2)|0,b+((X(r+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((B|0)<=1)break a;g=f[v>>2]|0;k=f[g>>2]|0;d=B+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{r=B;B=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,w,c);nq(x);nq(w);return 1}cj(w|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,w,c);nq(x);nq(w);return 1}function id(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=an(16)|0;f[m>>2]=g;f[m+8>>2]=-2147483632;f[m+4>>2]=15;i=g;h=17844;j=i+15|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+15>>0]=0;k=Bk(c,m,-1)|0;if((b[m+11>>0]|0)<0)pq(f[m>>2]|0);switch(k|0){case 0:{g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3932;break}case -1:{if((fi(c)|0)==10){g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3932}else n=7;break}default:n=7}a:do if((n|0)==7){g=cl(d,0)|0;b:do if(((g|0?((f[d+12>>2]|0)-(f[d+8>>2]|0)|0)==4:0)?(f[g+56>>2]|0)==0:0)?(b[g+24>>0]|0)==3:0){switch(f[g+28>>2]|0){case 9:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=an(32)|0;f[m>>2]=g;f[m+8>>2]=-2147483616;f[m+4>>2]=17;i=g;h=17860;j=i+17|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+17>>0]=0;j=c+16|0;h=f[j>>2]|0;if(h){g=j;i=h;c:while(1){h=i;while(1){if((f[h+16>>2]|0)>=0)break;h=f[h+4>>2]|0;if(!h)break c}i=f[h>>2]|0;if(!i){g=h;break}else g=h}if(((g|0)!=(j|0)?(f[g+16>>2]|0)<=0:0)?(l=g+20|0,(Oh(l,m)|0)!=0):0)g=Bk(l,m,-1)|0;else n=21}else n=21;if((n|0)==21)g=Bk(c,m,-1)|0;if((b[m+11>>0]|0)<0)pq(f[m>>2]|0);if((g|0)<1)break b;break}case 6:break;default:break b}g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3876;break a}while(0);if((k|0)!=1){g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3932;break}f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=an(32)|0;f[m>>2]=g;f[m+8>>2]=-2147483616;f[m+4>>2]=24;i=g;h=17878;j=i+24|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+24>>0]=0;f[a>>2]=-1;dj(a+4|0,m);if((b[m+11>>0]|0)<0)pq(f[m>>2]|0);u=o;return}while(0);f[g>>2]=h;Oo(g,d);yd(a,g,c,e);Ra[f[(f[g>>2]|0)+4>>2]&127](g);u=o;return}function jd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}r=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=r;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;q=b+-1|0;r=(q&b|0)==0;if(!r){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&q;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){p=e;b:while(1){c:do if(r){e=g;while(1){o=f[e+4>>2]&q;if((o|0)==(c|0))break c;h=(f[a>>2]|0)+(o<<2)|0;if(!(f[h>>2]|0)){c=o;break b}h=e+8|0;n=h+2|0;l=e+12|0;m=h+6|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=d[h>>1]|0;h=e;while(1){j=g+8|0;if(k<<16>>16!=(d[j>>1]|0)){g=h;break d}if((d[n>>1]|0)!=(d[j+2>>1]|0)){g=h;break d}if((d[l>>1]|0)!=(d[g+12>>1]|0)){g=h;break d}if((d[m>>1]|0)!=(d[j+6>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[p>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=43;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}j=e+8|0;o=j+2|0;m=e+12|0;n=j+6|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=d[j>>1]|0;j=e;while(1){k=h+8|0;if(l<<16>>16!=(d[k>>1]|0)){h=j;break e}if((d[o>>1]|0)!=(d[k+2>>1]|0)){h=j;break e}if((d[m>>1]|0)!=(d[h+12>>1]|0)){h=j;break e}if((d[n>>1]|0)!=(d[k+6>>1]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=43;break a}}}while(0);g=f[e>>2]|0;if(!g){c=43;break a}else{i=e;p=e}}f[h>>2]=p;g=f[e>>2]|0;if(!g){c=43;break}else i=e}if((c|0)==43)return}function kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}r=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=r;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;q=c+-1|0;r=(q&c|0)==0;if(!r){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&q;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){p=e;b:while(1){c:do if(r){e=g;while(1){o=f[e+4>>2]&q;if((o|0)==(d|0))break c;h=(f[a>>2]|0)+(o<<2)|0;if(!(f[h>>2]|0)){d=o;break b}h=e+8|0;n=h+1|0;l=h+2|0;m=h+3|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;h=e;while(1){j=g+8|0;if(k<<24>>24!=(b[j>>0]|0)){g=h;break d}if((b[n>>0]|0)!=(b[j+1>>0]|0)){g=h;break d}if((b[l>>0]|0)!=(b[j+2>>0]|0)){g=h;break d}if((b[m>>0]|0)!=(b[j+3>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[p>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=43;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}j=e+8|0;o=j+1|0;m=j+2|0;n=j+3|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[j>>0]|0;j=e;while(1){k=h+8|0;if(l<<24>>24!=(b[k>>0]|0)){h=j;break e}if((b[o>>0]|0)!=(b[k+1>>0]|0)){h=j;break e}if((b[m>>0]|0)!=(b[k+2>>0]|0)){h=j;break e}if((b[n>>0]|0)!=(b[k+3>>0]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=43;break a}}}while(0);g=f[e>>2]|0;if(!g){d=43;break a}else{i=e;p=e}}f[h>>2]=p;g=f[e>>2]|0;if(!g){d=43;break}else i=e}if((d|0)==43)return}function ld(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+8|0;i=m+4|0;k=m;l=m+12|0;f[k>>2]=0;if(!d)if((c|0)>0){g=0;h=0;while(1){d=f[a+(h<<2)>>2]|0;if(d>>>0>g>>>0)f[k>>2]=d;else d=g;h=h+1|0;if((h|0)==(c|0)){g=7;break}else g=d}}else d=1;else{d=f[d>>2]|0;f[k>>2]=d;g=7}if((g|0)==7){g=((_(d|0)|0)^31)+1|0;if(d)if(g>>>0>18){e=0;u=m;return e|0}else d=g;else d=1}b[l>>0]=d;h=e+16|0;g=f[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)){f[i>>2]=f[e+4>>2];f[j>>2]=f[i>>2];Ke(e,j,l,l+1|0)|0}do switch(d|0){case 1:case 0:{e=ne(a,c,k,e)|0;u=m;return e|0}case 2:{e=me(a,c,k,e)|0;u=m;return e|0}case 3:{e=le(a,c,k,e)|0;u=m;return e|0}case 4:{e=ke(a,c,k,e)|0;u=m;return e|0}case 5:{e=je(a,c,k,e)|0;u=m;return e|0}case 6:{e=ie(a,c,k,e)|0;u=m;return e|0}case 7:{e=he(a,c,k,e)|0;u=m;return e|0}case 8:{e=ge(a,c,k,e)|0;u=m;return e|0}case 9:{e=fe(a,c,k,e)|0;u=m;return e|0}case 10:{e=ee(a,c,k,e)|0;u=m;return e|0}case 11:{e=de(a,c,k,e)|0;u=m;return e|0}case 12:{e=ce(a,c,k,e)|0;u=m;return e|0}case 13:{e=be(a,c,k,e)|0;u=m;return e|0}case 14:{e=ae(a,c,k,e)|0;u=m;return e|0}case 15:{e=$d(a,c,k,e)|0;u=m;return e|0}case 16:{e=_d(a,c,k,e)|0;u=m;return e|0}case 17:{e=Zd(a,c,k,e)|0;u=m;return e|0}case 18:{e=Yd(a,c,k,e)|0;u=m;return e|0}default:{e=0;u=m;return e|0}}while(0);return 0}function md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}p=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(!p){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&o;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){n=d;b:while(1){c:do if(p){d=e;while(1){m=f[d+4>>2]&o;if((m|0)==(c|0))break c;g=(f[a>>2]|0)+(m<<2)|0;if(!(f[g>>2]|0)){c=m;break b}l=d+12|0;j=d+16|0;k=d+20|0;e=f[d>>2]|0;d:do if(!e)e=d;else{i=f[d+8>>2]|0;g=d;while(1){if((i|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[l>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}if((f[j>>2]|0)!=(f[e+16>>2]|0)){e=g;break d}if((f[k>>2]|0)!=(f[e+20>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{q=e;e=g;g=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=43;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}m=d+12|0;k=d+16|0;l=d+20|0;g=f[d>>2]|0;e:do if(!g)g=d;else{j=f[d+8>>2]|0;i=d;while(1){if((j|0)!=(f[g+8>>2]|0)){g=i;break e}if((f[m>>2]|0)!=(f[g+12>>2]|0)){g=i;break e}if((f[k>>2]|0)!=(f[g+16>>2]|0)){g=i;break e}if((f[l>>2]|0)!=(f[g+20>>2]|0)){g=i;break e}i=f[g>>2]|0;if(!i)break;else{q=g;g=i;i=q}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=43;break a}}}while(0);e=f[d>>2]|0;if(!e){c=43;break a}else{h=d;n=d}}f[g>>2]=n;e=f[d>>2]|0;if(!e){c=43;break}else h=d}if((c|0)==43)return}function nd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2868;e=b;f[a>>2]=e;return}case 2:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2924;e=b;f[a>>2]=e;return}case 4:{b=an(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2980;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3036;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3092;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3148;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=3204;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function od(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2504;e=b;f[a>>2]=e;return}case 2:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2560;e=b;f[a>>2]=e;return}case 4:{b=an(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2616;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2672;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2728;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2784;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=2840;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+1264|0;t=x+1252|0;q=x+1248|0;v=x+16|0;d=x+1244|0;i=x+1240|0;w=x+8|0;r=x+1236|0;e=x+1232|0;g=x+1228|0;h=x+1224|0;j=x+1220|0;k=x+1216|0;l=x+1212|0;m=x+1208|0;n=x+1204|0;o=x+12|0;p=x+4|0;s=x;c=f[a+48>>2]|0;if(c>>>0>=7)ra(20408,20436,45,20594);switch(c|0){case 0:{Oe(v,3);f[d>>2]=f[b>>2];f[i>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[d>>2];f[t>>2]=f[i>>2];qf(v,q,t,w,a+16|0)|0;jf(v);u=x;return 1}case 1:{Oe(v,3);f[r>>2]=f[b>>2];f[e>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[r>>2];f[t>>2]=f[e>>2];qf(v,q,t,w,a+16|0)|0;jf(v);u=x;return 1}case 2:{Ne(v,3);f[g>>2]=f[b>>2];f[h>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[g>>2];f[t>>2]=f[h>>2];rf(v,q,t,w,a+16|0)|0;kf(v);u=x;return 1}case 3:{Ne(v,3);f[j>>2]=f[b>>2];f[k>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[j>>2];f[t>>2]=f[k>>2];rf(v,q,t,w,a+16|0)|0;kf(v);u=x;return 1}case 4:{Me(v,3);f[l>>2]=f[b>>2];f[m>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[l>>2];f[t>>2]=f[m>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}case 5:{Me(v,3);f[n>>2]=f[b>>2];f[o>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[n>>2];f[t>>2]=f[o>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}default:{Me(v,3);f[p>>2]=f[b>>2];f[s>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[p>>2];f[t>>2]=f[s>>2];We(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}}return 0}function qd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}q=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(!q){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&p;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){o=e;b:while(1){c:do if(q){e=g;while(1){n=f[e+4>>2]&p;if((n|0)==(c|0))break c;h=(f[a>>2]|0)+(n<<2)|0;if(!(f[h>>2]|0)){c=n;break b}h=e+8|0;m=e+12|0;g=f[e>>2]|0;d:do if(!g)g=e;else{l=d[h>>1]|0;k=h+2|0;h=e;while(1){j=g+8|0;if(l<<16>>16!=(d[j>>1]|0)){g=h;break d}if((d[k>>1]|0)!=(d[j+2>>1]|0)){g=h;break d}if((d[m>>1]|0)!=(d[g+12>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[o>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=41;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}j=e+8|0;n=e+12|0;h=f[e>>2]|0;e:do if(!h)h=e;else{m=d[j>>1]|0;l=j+2|0;j=e;while(1){k=h+8|0;if(m<<16>>16!=(d[k>>1]|0)){h=j;break e}if((d[l>>1]|0)!=(d[k+2>>1]|0)){h=j;break e}if((d[n>>1]|0)!=(d[h+12>>1]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[o>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=41;break a}}}while(0);g=f[e>>2]|0;if(!g){c=41;break a}else{i=e;o=e}}f[h>>2]=o;g=f[e>>2]|0;if(!g){c=41;break}else i=e}if((c|0)==41)return}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(q|0)==(m|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(fl(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(c|0)==(m|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(fl(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}q=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=q;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;p=c+-1|0;q=(p&c|0)==0;if(!q){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&p;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){o=e;b:while(1){c:do if(q){e=g;while(1){n=f[e+4>>2]&p;if((n|0)==(d|0))break c;h=(f[a>>2]|0)+(n<<2)|0;if(!(f[h>>2]|0)){d=n;break b}h=e+8|0;m=h+1|0;l=h+2|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;h=e;while(1){j=g+8|0;if(k<<24>>24!=(b[j>>0]|0)){g=h;break d}if((b[m>>0]|0)!=(b[j+1>>0]|0)){g=h;break d}if((b[l>>0]|0)!=(b[j+2>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[o>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=41;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}j=e+8|0;n=j+1|0;m=j+2|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[j>>0]|0;j=e;while(1){k=h+8|0;if(l<<24>>24!=(b[k>>0]|0)){h=j;break e}if((b[n>>0]|0)!=(b[k+1>>0]|0)){h=j;break e}if((b[m>>0]|0)!=(b[k+2>>0]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[o>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=41;break a}}}while(0);g=f[e>>2]|0;if(!g){d=41;break a}else{i=e;o=e}}f[h>>2]=o;g=f[e>>2]|0;if(!g){d=41;break}else i=e}if((d|0)==41)return}function td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}s=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(!s){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&r;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;else{h=g;i=e;e=g}a:while(1){q=h;g=i;p=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!s){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&r;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{n=e+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[e+12>>2]|0:m;l=(o|0)==0;if(k){i=e;while(1){j=h+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[h+12>>2]|0:m&255)|0)){h=i;break c}if(!l?fl(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{m=h;h=i;i=m}}}if(l){i=e;while(1){o=b[h+8+11>>0]|0;if((o<<24>>24<0?f[h+12>>2]|0:o&255)|0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{o=h;h=i;i=o}}}l=e;while(1){i=h+8|0;k=b[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[h+12>>2]|0:k&255)|0)){h=l;break c}i=j?f[i>>2]|0:i;if((f[n>>2]&255)<<24>>24==(b[i>>0]|0)){j=m;k=n}else{h=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((b[k>>0]|0)!=(b[i>>0]|0)){h=l;break c}}i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[q>>2]|0;if(!e){d=43;break a}}g=f[e>>2]|0;if(!g){d=43;break a}else{q=e;p=e}}f[h>>2]=p;i=f[e>>2]|0;if(!i){d=43;break}else{h=e;d=g}}if((d|0)==43)return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}o=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(!o){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&n;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){m=d;b:while(1){c:do if(o){d=e;while(1){l=f[d+4>>2]&n;if((l|0)==(c|0))break c;g=(f[a>>2]|0)+(l<<2)|0;if(!(f[g>>2]|0)){c=l;break b}k=d+12|0;j=d+16|0;e=f[d>>2]|0;d:do if(!e)e=d;else{i=f[d+8>>2]|0;g=d;while(1){if((i|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[k>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}if((f[j>>2]|0)!=(f[e+16>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{p=e;e=g;g=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=41;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}l=d+12|0;k=d+16|0;g=f[d>>2]|0;e:do if(!g)g=d;else{j=f[d+8>>2]|0;i=d;while(1){if((j|0)!=(f[g+8>>2]|0)){g=i;break e}if((f[l>>2]|0)!=(f[g+12>>2]|0)){g=i;break e}if((f[k>>2]|0)!=(f[g+16>>2]|0)){g=i;break e}i=f[g>>2]|0;if(!i)break;else{p=g;g=i;i=p}}}while(0);f[m>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=41;break a}}}while(0);e=f[d>>2]|0;if(!e){c=41;break a}else{h=d;m=d}}f[g>>2]=m;e=f[d>>2]|0;if(!e){c=41;break}else h=d}if((c|0)==41)return}function vd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=a+4|0;t=f[c>>2]|0;c=t;do if((t|0)!=(o|0)){j=t+16|0;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[t+20>>2]|0:i&255;q=b[g+11>>0]|0;r=q<<24>>24<0;q=r?f[g+4>>2]|0:q&255;l=i>>>0>>0;h=l?i:q;if((h|0)!=0?(k=fl(r?f[g>>2]|0:g,m?f[j>>2]|0:j,h)|0,(k|0)!=0):0){if((k|0)<0)break}else u=4;if((u|0)==4?q>>>0>>0:0)break;h=q>>>0>>0?q:i;if((h|0)!=0?(n=fl(m?f[j>>2]|0:j,r?f[g>>2]|0:g,h)|0,(n|0)!=0):0){if((n|0)>=0)u=36}else u=20;if((u|0)==20?!l:0)u=36;if((u|0)==36){f[d>>2]=c;f[e>>2]=c;d=e;return d|0}m=t+4|0;h=f[m>>2]|0;if(!h){i=t+8|0;h=f[i>>2]|0;if((f[h>>2]|0)!=(t|0))do{p=f[i>>2]|0;i=p+8|0;h=f[i>>2]|0}while((f[h>>2]|0)!=(p|0))}else while(1){i=f[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(o|0)){j=h+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;k=l?f[h+20>>2]|0:k&255;i=k>>>0>>0?k:q;if((i|0)!=0?(s=fl(r?f[g>>2]|0:g,l?f[j>>2]|0:j,i)|0,(s|0)!=0):0){if((s|0)<0)break}else u=30;if((u|0)==30?q>>>0>>0:0)break;d=lg(a,d,g)|0;return d|0}while(0);if(!(f[t+4>>2]|0)){f[d>>2]=c;d=m;return d|0}else{f[d>>2]=h;d=h;return d|0}}while(0);e=f[t>>2]|0;do if((t|0)!=(f[a>>2]|0)){if(!e){h=t;while(1){c=f[h+8>>2]|0;if((f[c>>2]|0)==(h|0))h=c;else{h=c;break}}}else{h=e;while(1){c=f[h+4>>2]|0;if(!c)break;else h=c}}c=h;j=h+16|0;k=b[g+11>>0]|0;l=k<<24>>24<0;k=l?f[g+4>>2]|0:k&255;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[h+20>>2]|0:i&255;h=k>>>0>>0?k:i;if((h|0)!=0?(p=fl(m?f[j>>2]|0:j,l?f[g>>2]|0:g,h)|0,(p|0)!=0):0){if((p|0)<0)break}else u=12;if((u|0)==12?i>>>0>>0:0)break;d=lg(a,d,g)|0;return d|0}while(0);if(!e){f[d>>2]=t;d=t;return d|0}else{u=c;f[d>>2]=u;d=u+4|0;return d|0}return 0}function wd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;u=a+8|0;f[u>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}else d=0;g=d-e|0;if((g|0)>0){o=0-e|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;d=f[u>>2]|0;do{l=b+(g<<2)|0;m=c+(g<<2)|0;if((d|0)>0){k=0;j=l+(o<<2)|0;while(1){if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[r>>2]|0;if((d|0)>(h|0)){d=f[n>>2]|0;f[d+(i<<2)>>2]=h}else{w=f[t>>2]|0;h=f[n>>2]|0;f[h+(i<<2)>>2]=(d|0)<(w|0)?w:d;d=h}i=i+1|0}while((i|0)<(f[u>>2]|0));i=d}else i=f[n>>2]|0;d=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=m+(k<<2)|0;f[h>>2]=d;if((d|0)>=(f[s>>2]|0)){if((d|0)>(f[p>>2]|0)){d=d-(f[q>>2]|0)|0;v=41}}else{d=(f[q>>2]|0)+d|0;v=41}if((v|0)==41){v=0;f[h>>2]=d}k=k+1|0;d=f[u>>2]|0;if((k|0)>=(d|0))break;else j=i}}g=g-e|0}while((g|0)>0)}else d=f[u>>2]|0;w=e>>>0>1073741823?-1:e<<2;m=mq(w)|0;cj(m|0,0,w|0)|0;if((d|0)<=0){nq(m);return 1}o=a+16|0;l=a+32|0;q=a+12|0;p=a+28|0;n=a+20|0;k=a+24|0;j=0;h=m;do{if((d|0)>0){i=0;do{d=f[h+(i<<2)>>2]|0;g=f[o>>2]|0;if((d|0)>(g|0)){d=f[l>>2]|0;f[d+(i<<2)>>2]=g}else{a=f[q>>2]|0;w=f[l>>2]|0;f[w+(i<<2)>>2]=(d|0)<(a|0)?a:d;d=w}i=i+1|0}while((i|0)<(f[u>>2]|0));h=d}else h=f[l>>2]|0;d=(f[b+(j<<2)>>2]|0)-(f[h+(j<<2)>>2]|0)|0;g=c+(j<<2)|0;f[g>>2]=d;if((d|0)>=(f[p>>2]|0)){if((d|0)>(f[k>>2]|0)){d=d-(f[n>>2]|0)|0;v=26}}else{d=(f[n>>2]|0)+d|0;v=26}if((v|0)==26){v=0;f[g>>2]=d}j=j+1|0;d=f[u>>2]|0}while((j|0)<(d|0));nq(m);return 1}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;i=r+20|0;j=r+12|0;p=r;g=r+16|0;h=r+24|0;k=a+16|0;en(k);e=(f[d+4>>2]|0)-(f[c+4>>2]|0)|0;m=a+12|0;f[m>>2]=e;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;Mi(p,e);f[g>>2]=p;f[i>>2]=f[g>>2];Fc(c,d,a,i)|0;g=a+32|0;c=g;d=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,6112,6116)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}e=a+8|0;b[h>>0]=f[e>>2];if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,h,h+1|0)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}if(!((c|0)>0|(c|0)==0&d>>>0>0)?(f[j>>2]=f[a+20>>2],f[i>>2]=f[j>>2],Ke(k,i,a,a+4|0)|0,h=g,d=f[h+4>>2]|0,n=a+4|0,!((d|0)>0|(d|0)==0&(f[h>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,n,n+4|0)|0;n=g;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,m,m+4|0)|0}}else o=9;if((f[e>>2]|0)==1?(l=a+48|0,o=g,n=f[o+4>>2]|0,!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,l,l+4|0)|0}do if(f[m>>2]|0)if((f[e>>2]|0)==1){e=pd(a,p)|0;break}else{wl(8103,23,1,f[1529]|0)|0;e=0;break}else e=1;while(0);c=f[p>>2]|0;if(!c){u=r;return e|0}d=f[q>>2]|0;if((d|0)!=(c|0))f[q>>2]=d+(~(((d+-12-c|0)>>>0)/12|0)*12|0);pq(c);u=r;return e|0}function yd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;g=c+12|0;d=f[g>>2]|0;if((d|0)!=(e|0))do{h=d+-4|0;f[g>>2]=h;d=f[h>>2]|0;f[h>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[g>>2]|0}while((d|0)!=(e|0));d=f[c+20>>2]|0;g=c+24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+32>>2]|0;g=c+36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);if(!(f[c+4>>2]|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=23;e=d;g=19071;c=e+23|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+23>>0]=0;f[a>>2]=-1;dj(a+4|0,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}Md(a,c);if(f[a>>2]|0){u=j;return}h=a+4|0;d=h+11|0;if((b[d>>0]|0)<0)pq(f[h>>2]|0);Fi(a,c);if(f[a>>2]|0){u=j;return}if((b[d>>0]|0)<0)pq(f[h>>2]|0);if(!(Ma[f[(f[c>>2]|0)+16>>2]&127](c)|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=29;e=d;g=19095;c=e+29|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+29>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}if(!(Ma[f[(f[c>>2]|0)+20>>2]&127](c)|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=31;e=d;g=19125;c=e+31|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+31>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}if(!(Ma[f[(f[c>>2]|0)+24>>2]&127](c)|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=31;e=d;g=19157;c=e+31|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+31>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}if(Ma[f[(f[c>>2]|0)+28>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=j;return}d=an(48)|0;f[i>>2]=d;f[i+8>>2]=-2147483600;f[i+4>>2]=34;e=d;g=19189;c=e+34|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+34>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}function zd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}p=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(!p){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&o;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){m=i;n=e;b:while(1){c:do if(p){e=g;while(1){l=f[e+4>>2]&o;if((l|0)==(c|0))break c;h=(f[a>>2]|0)+(l<<2)|0;if(!(f[h>>2]|0)){c=l;break b}h=e+8|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=d[h>>1]|0;j=h+2|0;h=e;while(1){i=g+8|0;if(k<<16>>16!=(d[i>>1]|0)){g=h;break d}if((d[j>>1]|0)!=(d[i+2>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{i=g;g=h;h=i}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){c=39;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}i=e+8|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=d[i>>1]|0;k=i+2|0;i=e;while(1){j=h+8|0;if(l<<16>>16!=(d[j>>1]|0)){h=i;break e}if((d[k>>1]|0)!=(d[j+2>>1]|0)){h=i;break e}i=f[h>>2]|0;if(!i)break;else{j=h;h=i;i=j}}}while(0);f[n>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){c=39;break a}}}while(0);g=f[e>>2]|0;if(!g){c=39;break a}else{m=e;n=e}}f[h>>2]=n;g=f[e>>2]|0;if(!g){c=39;break}else i=e}if((c|0)==39)return}function Ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}p=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=p;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;o=c+-1|0;p=(o&c|0)==0;if(!p){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&o;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){m=i;n=e;b:while(1){c:do if(p){e=g;while(1){l=f[e+4>>2]&o;if((l|0)==(d|0))break c;h=(f[a>>2]|0)+(l<<2)|0;if(!(f[h>>2]|0)){d=l;break b}h=e+8|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;j=h+1|0;h=e;while(1){i=g+8|0;if(k<<24>>24!=(b[i>>0]|0)){g=h;break d}if((b[j>>0]|0)!=(b[i+1>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{i=g;g=h;h=i}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){d=39;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}i=e+8|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[i>>0]|0;k=i+1|0;i=e;while(1){j=h+8|0;if(l<<24>>24!=(b[j>>0]|0)){h=i;break e}if((b[k>>0]|0)!=(b[j+1>>0]|0)){h=i;break e}i=f[h>>2]|0;if(!i)break;else{j=h;h=i;i=j}}}while(0);f[n>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){d=39;break a}}}while(0);g=f[e>>2]|0;if(!g){d=39;break a}else{m=e;n=e}}f[h>>2]=n;g=f[e>>2]|0;if(!g){d=39;break}else i=e}if((d|0)==39)return}function Bd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=mq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)nq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;z=g}else{d=h;Fp(d)}while(1){f[x>>2]=f[t+(z<<2)>>2];f[y>>2]=f[x>>2];vc(a,y,b,z);d=X(z,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=f[w>>2]|0;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[n>>2]|0)){g=g-(f[o>>2]|0)|0;B=31}}else{g=(f[o>>2]|0)+g|0;B=31}if((B|0)==31){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}z=z+-1|0;if((z|0)<=-1){B=15;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=z>>>0){B=16;break}}if((B|0)==15){u=A;return 1}else if((B|0)==16)Fp(g);return 0}function Cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=mq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)nq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;z=g}else{d=h;Fp(d)}while(1){f[x>>2]=f[t+(z<<2)>>2];f[y>>2]=f[x>>2];tc(a,y,b,z);d=X(z,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=f[w>>2]|0;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[n>>2]|0)){g=g-(f[o>>2]|0)|0;B=31}}else{g=(f[o>>2]|0)+g|0;B=31}if((B|0)==31){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}z=z+-1|0;if((z|0)<=-1){B=15;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=z>>>0){B=16;break}}if((B|0)==15){u=A;return 1}else if((B|0)==16)Fp(g);return 0}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;i=q+32|0;h=q+28|0;o=q+16|0;p=q;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){p=c;p=p+20|0;u=q;return p|0}}Qo(o);f[p>>2]=f[b>>2];l=p+4|0;f[p+8>>2]=0;k=p+12|0;f[k>>2]=0;m=p+8|0;f[l>>2]=m;c=f[o>>2]|0;n=o+4|0;if((c|0)!=(n|0)){g=m;do{d=c+16|0;f[h>>2]=g;f[i>>2]=f[h>>2];Xg(l,i,d,d)|0;d=f[c+4>>2]|0;if(!d){d=c+8|0;e=f[d>>2]|0;if((f[e>>2]|0)==(c|0))c=e;else do{b=f[d>>2]|0;d=b+8|0;c=f[d>>2]|0}while((f[c>>2]|0)!=(b|0))}else{c=d;while(1){d=f[c>>2]|0;if(!d)break;else c=d}}}while((c|0)!=(n|0))}i=a+12|0;c=f[j>>2]|0;do if(c){g=f[p>>2]|0;e=a+16|0;while(1){d=f[c+16>>2]|0;if((g|0)<(d|0)){d=f[c>>2]|0;if(!d){d=23;break}else e=c}else{if((d|0)>=(g|0)){d=27;break}e=c+4|0;d=f[e>>2]|0;if(!d){d=26;break}}c=d}if((d|0)==23){h=c;e=c;break}else if((d|0)==26){h=c;break}else if((d|0)==27){h=c;break}}else{h=j;e=j}while(0);c=f[e>>2]|0;if(!c){c=an(32)|0;f[c+16>>2]=f[p>>2];b=c+20|0;f[b>>2]=f[l>>2];g=c+24|0;d=f[p+8>>2]|0;f[g>>2]=d;j=f[k>>2]|0;f[c+28>>2]=j;if(!j)f[b>>2]=g;else{f[d+8>>2]=g;f[l>>2]=m;f[m>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[e>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[e>>2]|0}He(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}lj(p+4|0,f[m>>2]|0);lj(o,f[n>>2]|0);p=c;p=p+20|0;u=q;return p|0}function Ed(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+4|0;m=q;p=q+16|0;l=a+48|0;c=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=20;i=d;j=17903;k=i+20|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+20>>0]=0;h=zk(c+24|0,n)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);c=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=22;i=d;j=17924;k=i+22|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+22>>0]=0;g=zk(c+24|0,n)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);o=a+56|0;c=f[o>>2]|0;f[o>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);e=f[a+52>>2]|0;e=((f[e+100>>2]|0)-(f[e+96>>2]|0)|0)<12e3;c=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=18;i=d;j=17947;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+18>>0]=0;c=Bk(c,n,-1)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);switch(c|0){case -1:{if(h?e|((fi(f[l>>2]|0)|0)>4|g^1):0)e=13;else e=17;break}case 0:{if(h)e=13;else e=21;break}case 2:{e=17;break}default:e=21}if((e|0)==13){c=f[a+44>>2]|0;b[p>>0]=0;l=c+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[m>>2]=f[c+4>>2];f[n>>2]=f[m>>2];Ke(c,n,p,p+1|0)|0}c=an(296)|0;Hi(c);d=f[o>>2]|0;f[o>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);e=21}}else if((e|0)==17){c=f[a+44>>2]|0;b[p>>0]=2;l=c+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[m>>2]=f[c+4>>2];f[n>>2]=f[m>>2];Ke(c,n,p,p+1|0)|0}c=an(360)|0;hi(c);d=f[o>>2]|0;f[o>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);e=21}}if((e|0)==21){c=f[o>>2]|0;if(!c){a=0;u=q;return a|0}}a=Na[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;u=q;return a|0}function Fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}n=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(!n){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&m;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){k=h;l=d;b:while(1){c:do if(n){d=e;while(1){j=f[d+4>>2]&m;if((j|0)==(c|0))break c;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+12|0;e=f[d>>2]|0;d:do if(!e)e=d;else{h=f[d+8>>2]|0;g=d;while(1){if((h|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[i>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{o=e;e=g;g=o}}}while(0);f[l>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=39;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}j=d+12|0;g=f[d>>2]|0;e:do if(!g)g=d;else{i=f[d+8>>2]|0;h=d;while(1){if((i|0)!=(f[g+8>>2]|0)){g=h;break e}if((f[j>>2]|0)!=(f[g+12>>2]|0)){g=h;break e}h=f[g>>2]|0;if(!h)break;else{o=g;g=h;h=o}}}while(0);f[l>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=39;break a}}}while(0);e=f[d>>2]|0;if(!e){c=39;break a}else{k=d;l=d}}f[g>>2]=l;e=f[d>>2]|0;if(!e){c=39;break}else h=d}if((c|0)==39)return}function Gd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=km(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((km(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Mn(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;_n(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=_n(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function Hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;z=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;n=a+68|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;a=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;y=g}else{d=h;Fp(d)}while(1){f[w>>2]=f[t+(y<<2)>>2];f[x>>2]=f[w>>2];nb(z,x,b,y);d=X(y,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=n;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[a>>2]|0)){g=g-(f[o>>2]|0)|0;B=28}}else{g=(f[o>>2]|0)+g|0;B=28}if((B|0)==28){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}y=y+-1|0;if((y|0)<=-1){B=13;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=y>>>0){B=14;break}}if((B|0)==13){u=A;return 1}else if((B|0)==14)Fp(g);return 0}function Id(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;z=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;n=a+68|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;a=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;y=g}else{d=h;Fp(d)}while(1){f[w>>2]=f[t+(y<<2)>>2];f[x>>2]=f[w>>2];mb(z,x,b,y);d=X(y,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=n;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[a>>2]|0)){g=g-(f[o>>2]|0)|0;B=28}}else{g=(f[o>>2]|0)+g|0;B=28}if((B|0)==28){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}y=y+-1|0;if((y|0)<=-1){B=13;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=y>>>0){B=14;break}}if((B|0)==13){u=A;return 1}else if((B|0)==14)Fp(g);return 0}function Jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{j=d;d=d+-108|0;f[g+-108>>2]=f[d>>2];l=j+-104|0;f[g+-104>>2]=f[l>>2];k=j+-100|0;f[g+-100>>2]=f[k>>2];m=j+-96|0;f[g+-96>>2]=f[m>>2];f[l>>2]=0;f[k>>2]=0;f[m>>2]=0;m=j+-92|0;f[g+-92>>2]=f[m>>2];k=j+-88|0;f[g+-88>>2]=f[k>>2];l=j+-84|0;f[g+-84>>2]=f[l>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;b[g+-80>>0]=b[j+-80>>0]|0;l=g+-76|0;k=j+-76|0;f[l>>2]=0;m=g+-72|0;f[m>>2]=0;f[g+-68>>2]=0;f[l>>2]=f[k>>2];l=j+-72|0;f[m>>2]=f[l>>2];m=j+-68|0;f[g+-68>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;k=g+-64|0;l=j+-64|0;f[k>>2]=0;m=g+-60|0;f[m>>2]=0;f[g+-56>>2]=0;f[k>>2]=f[l>>2];k=j+-60|0;f[m>>2]=f[k>>2];m=j+-56|0;f[g+-56>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-52|0;k=j+-52|0;f[l>>2]=0;m=g+-48|0;f[m>>2]=0;f[g+-44>>2]=0;f[l>>2]=f[k>>2];l=j+-48|0;f[m>>2]=f[l>>2];m=j+-44|0;f[g+-44>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-40>>2]=f[j+-40>>2];b[g+-36>>0]=b[j+-36>>0]|0;k=g+-32|0;l=j+-32|0;f[k>>2]=0;m=g+-28|0;f[m>>2]=0;f[g+-24>>2]=0;f[k>>2]=f[l>>2];k=j+-28|0;f[m>>2]=f[k>>2];m=j+-24|0;f[g+-24>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-20|0;k=j+-20|0;f[l>>2]=0;m=g+-16|0;f[m>>2]=0;f[g+-12>>2]=0;f[l>>2]=f[k>>2];l=j+-16|0;f[m>>2]=f[l>>2];m=j+-12|0;f[g+-12>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-8>>2]=f[j+-8>>2];f[g+-4>>2]=f[j+-4>>2];g=(f[h>>2]|0)+-108|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}v=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=v;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;u=c+-1|0;v=(u&c|0)==0;if(!v){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&u;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;t=a+24|0;h=g;i=e;e=g;a:while(1){s=h;g=i;r=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!v){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&u;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{p=f[e+8>>2]|0;n=f[t>>2]|0;o=f[n+8>>2]|0;n=(f[n+12>>2]|0)-o|0;q=n>>>2;if((n|0)>0)l=e;else while(1){i=f[h>>2]|0;if(!i)break c;else h=i}while(1){m=f[h+8>>2]|0;n=0;do{i=f[o+(n<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)k=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else k=p;if((q|0)<=(n|0)){d=37;break a}if(j)i=f[(f[i+68>>2]|0)+(m<<2)>>2]|0;else i=m;n=n+1|0;if((k|0)!=(i|0)){h=l;break c}}while((n|0)<(q|0));i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[r>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[s>>2]|0;if(!e){d=42;break a}}g=f[e>>2]|0;if(!g){d=42;break a}else{s=e;r=e}}f[h>>2]=r;i=f[e>>2]|0;if(!i){d=42;break}else{h=e;d=g}}if((d|0)==37)ra(20748,20641,68,20738);else if((d|0)==42)return}function Ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+176|0;i=x+136|0;w=x+104|0;v=x;l=x+72|0;q=an(88)|0;j=f[c+8>>2]|0;f[q+4>>2]=0;f[q>>2]=3500;m=q+12|0;f[m>>2]=3524;o=q+64|0;f[o>>2]=0;f[q+68>>2]=0;f[q+72>>2]=0;g=q+16|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[q+76>>2]=j;f[q+80>>2]=d;r=q+84|0;f[r>>2]=0;n=q;f[w>>2]=3524;e=w+4|0;k=e+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=f[c+12>>2]|0;s=v+4|0;f[s>>2]=3524;p=v+56|0;f[p>>2]=0;t=v+60|0;f[t>>2]=0;f[v+64>>2]=0;g=v+8|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=k;f[e>>2]=g;g=((f[g+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;Zg(w+8|0,g,i);Ra[f[(f[w>>2]|0)+8>>2]&127](w);mf(l,w);mf(i,l);f[v>>2]=f[i+4>>2];g=v+4|0;Xf(g,i)|0;f[i>>2]=3524;e=f[i+20>>2]|0;if(e|0)pq(e);e=f[i+8>>2]|0;if(e|0)pq(e);f[v+36>>2]=k;f[v+40>>2]=d;f[v+44>>2]=j;f[v+48>>2]=q;f[l>>2]=3524;e=f[l+20>>2]|0;if(e|0)pq(e);e=f[l+8>>2]|0;if(e|0)pq(e);f[r>>2]=c+72;f[q+8>>2]=f[v>>2];Xf(m,g)|0;e=q+44|0;c=v+36|0;f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];f[e+12>>2]=f[c+12>>2];b[e+16>>0]=b[c+16>>0]|0;_f(o,f[p>>2]|0,f[t>>2]|0);f[a>>2]=n;e=f[p>>2]|0;if(e|0){g=f[t>>2]|0;if((g|0)!=(e|0))f[t>>2]=g+(~((g+-4-e|0)>>>2)<<2);pq(e)}f[s>>2]=3524;e=f[v+24>>2]|0;if(e|0)pq(e);e=f[v+12>>2]|0;if(e|0)pq(e);f[w>>2]=3524;e=f[w+20>>2]|0;if(e|0)pq(e);e=f[w+8>>2]|0;if(!e){u=x;return}pq(e);u=x;return}function Md(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q+4|0;n=q;j=q+12|0;k=q+11|0;l=q+10|0;p=q+8|0;m=c+44|0;e=f[m>>2]|0;g=e+16|0;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>0|(g|0)==0&h>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,19251,19256)|0;e=f[m>>2]|0;h=e+16|0;g=f[h+4>>2]|0;h=f[h>>2]|0}b[j>>0]=2;b[k>>0]=2;if(!((g|0)>0|(g|0)==0&h>>>0>0)?(f[n>>2]=f[e+4>>2],f[o>>2]=f[n>>2],Ke(e,o,j,j+1|0)|0,i=f[m>>2]|0,j=i+16|0,h=f[j+4>>2]|0,!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)):0){f[n>>2]=f[i+4>>2];f[o>>2]=f[n>>2];Ke(i,o,k,k+1|0)|0}e=(Ma[f[(f[c>>2]|0)+8>>2]&127](c)|0)&255;b[l>>0]=e;e=f[m>>2]|0;k=e+16|0;j=f[k+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,l,l+1|0)|0;e=f[m>>2]|0}l=Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[p>>0]=l;l=e+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,p,p+1|0)|0}d[p>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;e=f[m>>2]|0;c=e+16|0;m=f[c+4>>2]|0;if((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,p,p+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}function Nd(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;i=y;g=a+4|0;if((f[g>>2]|0)!=-1){x=0;u=y;return x|0}f[g>>2]=d;v=b[c+24>>0]|0;w=v<<24>>24;x=a+20|0;n[x>>2]=$(0.0);f[i>>2]=0;d=i+4|0;f[d>>2]=0;f[i+8>>2]=0;do if(v<<24>>24)if(v<<24>>24<0)Fp(i);else{k=w<<2;j=an(k)|0;f[i>>2]=j;l=j+(w<<2)|0;f[i+8>>2]=l;cj(j|0,0,k|0)|0;k=j+(w<<2)|0;f[d>>2]=k;break}else{j=0;k=0;l=0}while(0);t=a+8|0;d=f[t>>2]|0;i=a+12|0;if(!d)d=a+16|0;else{g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d);d=a+16|0;f[d>>2]=0;f[i>>2]=0;f[t>>2]=0}f[t>>2]=j;f[i>>2]=k;f[d>>2]=l;s=w>>>0>1073741823?-1:w<<2;r=mq(s)|0;s=mq(s)|0;m=c+48|0;o=f[m>>2]|0;p=c+40|0;l=f[p>>2]|0;q=f[c>>2]|0;Rg(s|0,(f[q>>2]|0)+o|0,l|0)|0;Rg(f[t>>2]|0,(f[q>>2]|0)+o|0,l|0)|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=f[p>>2]|0;p=f[p+4>>2]|0;q=f[c>>2]|0;Rg(r|0,(f[q>>2]|0)+l|0,o|0)|0;k=f[c+80>>2]|0;a:do if((k|0)>1){if(v<<24>>24<=0){d=1;while(1){c=$m(o|0,p|0,d|0,((d|0)<0)<<31>>31|0)|0;c=Mn(c|0,I|0,l|0,m|0)|0;Rg(s|0,(f[q>>2]|0)+c|0,o|0)|0;d=d+1|0;if((d|0)>=(k|0))break a}}i=f[t>>2]|0;j=1;do{a=$m(o|0,p|0,j|0,((j|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,l|0,m|0)|0;Rg(s|0,(f[q>>2]|0)+a|0,o|0)|0;a=0;do{g=i+(a<<2)|0;h=$(n[g>>2]);d=s+(a<<2)|0;e=$(n[d>>2]);if(h>e){n[g>>2]=e;e=$(n[d>>2])}d=r+(a<<2)|0;if($(n[d>>2])>2]=e;a=a+1|0}while((a|0)!=(w|0));j=j+1|0}while((j|0)<(k|0))}while(0);if(v<<24>>24>0){d=f[t>>2]|0;e=$(n[x>>2]);g=0;do{h=$(n[r+(g<<2)>>2]);h=$(h-$(n[d+(g<<2)>>2]));if(h>e){n[x>>2]=h;e=h}g=g+1|0}while((g|0)!=(w|0))}nq(s);nq(r);x=1;u=y;return x|0}function Od(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;p[s>>3]=a;c=f[s>>2]|0;k=f[s+4>>2]|0;p[s>>3]=b;l=f[s>>2]|0;m=f[s+4>>2]|0;d=An(c|0,k|0,52)|0;d=d&2047;h=An(l|0,m|0,52)|0;h=h&2047;n=k&-2147483648;j=vn(l|0,m|0,1)|0;i=I;a:do if(!((j|0)==0&(i|0)==0)?(g=Zn(b)|0,e=I&2147483647,!((d|0)==2047|(e>>>0>2146435072|(e|0)==2146435072&g>>>0>0))):0){e=vn(c|0,k|0,1)|0;g=I;if(!(g>>>0>i>>>0|(g|0)==(i|0)&e>>>0>j>>>0))return +((e|0)==(j|0)&(g|0)==(i|0)?a*0.0:a);if(!d){d=vn(c|0,k|0,12)|0;e=I;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){g=d;d=0;do{d=d+-1|0;g=vn(g|0,e|0,1)|0;e=I}while((e|0)>-1|(e|0)==-1&g>>>0>4294967295)}else d=0;c=vn(c|0,k|0,1-d|0)|0;i=I}else i=k&1048575|1048576;if(!h){e=vn(l|0,m|0,12)|0;g=I;if((g|0)>-1|(g|0)==-1&e>>>0>4294967295){h=0;do{h=h+-1|0;e=vn(e|0,g|0,1)|0;g=I}while((g|0)>-1|(g|0)==-1&e>>>0>4294967295)}else h=0;l=vn(l|0,m|0,1-h|0)|0;k=I}else k=m&1048575|1048576;j=_n(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;b:do if((d|0)>(h|0)){while(1){if(g)if((j|0)==0&(e|0)==0)break;else c=j;else e=i;c=vn(c|0,e|0,1)|0;i=I;d=d+-1|0;j=_n(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;if((d|0)<=(h|0)){h=j;break b}}b=a*0.0;break a}else h=j;while(0);if(g)if((h|0)==0&(e|0)==0){b=a*0.0;break}else c=h;else e=i;if(e>>>0<1048576|(e|0)==1048576&c>>>0<0)do{c=vn(c|0,e|0,1)|0;e=I;d=d+-1|0}while(e>>>0<1048576|(e|0)==1048576&c>>>0<0);if((d|0)>0){m=Mn(c|0,e|0,0,-1048576)|0;c=I;d=vn(d|0,0,52)|0;c=c|I;d=m|d}else{d=An(c|0,e|0,1-d|0)|0;c=I}f[s>>2]=d;f[s+4>>2]=c|n;b=+p[s>>3]}else o=3;while(0);if((o|0)==3){b=a*b;b=b/b}return +b}function Pd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}n=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(!n){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&m;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{j=h;g=e;i=h}a:while(1){b:do if(n){l=j;while(1){e=g;while(1){k=f[e+4>>2]&m;if((k|0)==(c|0))break;h=(f[a>>2]|0)+(k<<2)|0;if(!(f[h>>2]|0)){c=k;break b}j=e+8|0;h=e;while(1){g=f[h>>2]|0;if(!g)break;if((d[j>>1]|0)==(d[g+8>>1]|0))h=g;else break}f[i>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){c=37;break a}}g=f[e>>2]|0;if(!g){c=37;break a}else{l=e;i=e}}}else{l=j;k=i;while(1){e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){i=k;c=g;break b}j=e+8|0;i=e;while(1){h=f[i>>2]|0;if(!h)break;if((d[j>>1]|0)==(d[h+8>>1]|0))i=h;else break}f[k>>2]=h;f[i>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){c=37;break a}}g=f[e>>2]|0;if(!g){c=37;break a}else{l=e;k=e}}}while(0);f[h>>2]=i;g=f[e>>2]|0;if(!g){c=37;break}else{j=e;i=e}}if((c|0)==37)return}function Qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}n=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=n;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;m=c+-1|0;n=(m&c|0)==0;if(!n){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&m;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{j=h;g=e;i=h}a:while(1){b:do if(n){l=j;while(1){e=g;while(1){k=f[e+4>>2]&m;if((k|0)==(d|0))break;h=(f[a>>2]|0)+(k<<2)|0;if(!(f[h>>2]|0)){d=k;break b}j=e+8|0;h=e;while(1){g=f[h>>2]|0;if(!g)break;if((b[j>>0]|0)==(b[g+8>>0]|0))h=g;else break}f[i>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){d=37;break a}}g=f[e>>2]|0;if(!g){d=37;break a}else{l=e;i=e}}}else{l=j;k=i;while(1){e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){i=k;d=g;break b}j=e+8|0;i=e;while(1){h=f[i>>2]|0;if(!h)break;if((b[j>>0]|0)==(b[h+8>>0]|0))i=h;else break}f[k>>2]=h;f[i>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){d=37;break a}}g=f[e>>2]|0;if(!g){d=37;break a}else{l=e;k=e}}}while(0);f[h>>2]=i;g=f[e>>2]|0;if(!g){d=37;break}else{j=e;i=e}}if((d|0)==37)return}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}m=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(!m){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&l;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{i=g;e=d;h=g}a:while(1){b:do if(m){k=i;while(1){d=e;while(1){j=f[d+4>>2]&l;if((j|0)==(c|0))break;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+8|0;g=d;while(1){e=f[g>>2]|0;if(!e)break;if((f[i>>2]|0)==(f[e+8>>2]|0))g=e;else break}f[h>>2]=e;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;h=d}}}else{k=i;j=h;while(1){d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){h=j;c=e;break b}i=d+8|0;h=d;while(1){g=f[h>>2]|0;if(!g)break;if((f[i>>2]|0)==(f[g+8>>2]|0))h=g;else break}f[j>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;j=d}}}while(0);f[g>>2]=h;e=f[d>>2]|0;if(!e){c=37;break}else{i=d;h=d}}if((c|0)==37)return}function Sd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;q=e>>>0>1073741823?-1:e<<2;s=mq(q)|0;cj(s|0,0,q|0)|0;q=f[a+28>>2]|0;r=a+36|0;h=f[r>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;m=f[a+32>>2]|0;p=a+8|0;n=q+12|0;o=(e|0)>0;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;l=d;t=g}else{j=h;Fp(j)}while(1){g=f[k+(t<<2)>>2]|0;k=X(t,e)|0;if((g|0)>=0?(u=f[(f[n>>2]|0)+(g<<2)>>2]|0,(u|0)>=0):0){d=f[q>>2]|0;h=f[m>>2]|0;i=f[h+(f[d+(u<<2)>>2]<<2)>>2]|0;g=u+1|0;g=((g|0)%3|0|0)==0?u+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;j=f[h+(g<<2)>>2]|0;g=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;g=f[h+(g<<2)>>2]|0;if((i|0)<(t|0)&(j|0)<(t|0)&(g|0)<(t|0)){i=X(i,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(o){g=0;do{f[s+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}ai(p,b+(k<<2)|0,s,c+(k<<2)|0)}else v=15}else v=15;if((v|0)==15){v=0;ai(p,b+(k<<2)|0,b+((X(l+-2|0,e)|0)<<2)|0,c+(k<<2)|0)}if((t|0)<=1)break a;g=f[r>>2]|0;k=f[g>>2]|0;d=t+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{l=t;t=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,s,c);nq(s);return 1}cj(s|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,s,c);nq(s);return 1}function Td(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=f[c>>2]|0;l=f[b>>2]|0;b=m-l|0;o=(b|0)/12|0;if(!b)ra(8066,7796,232,8095);n=a+8|0;h=f[n>>2]|0;if((b|0)<768){if(h>>>0<=1){a=0;return a|0}c=f[e>>2]|0;g=1;b=0;do{b=(f[c+(b<<2)>>2]|0)>>>0>(f[c+(g<<2)>>2]|0)>>>0?g:b;g=g+1|0}while(g>>>0>>0);return b|0}if(h){j=f[e>>2]|0;k=f[a+1140>>2]|0;h=f[d>>2]|0;i=f[a+1128>>2]|0;if((l|0)==(m|0)){c=0;do{f[k+(c<<2)>>2]=(f[a>>2]|0)-(f[j+(c<<2)>>2]|0);b=i+(c<<2)|0;l=f[b>>2]|0;m=o-l|0;f[b>>2]=m>>>0>>0?l:m;c=c+1|0;b=f[n>>2]|0}while(c>>>0>>0)}else{d=0;do{g=(f[a>>2]|0)-(f[j+(d<<2)>>2]|0)|0;f[k+(d<<2)>>2]=g;g=(1<>2]|0)|0;e=i+(d<<2)|0;b=l;c=f[e>>2]|0;do{c=c+((f[b+(d<<2)>>2]|0)>>>0>>0&1)|0;f[e>>2]=c;b=b+12|0}while((b|0)!=(m|0));b=o-c|0;f[e>>2]=b>>>0>>0?c:b;d=d+1|0;b=f[n>>2]|0}while(d>>>0>>0)}if(b){e=f[a+1140>>2]|0;h=a+1128|0;c=0;d=0;g=0;do{if(f[e+(d<<2)>>2]|0){o=f[(f[h>>2]|0)+(d<<2)>>2]|0;n=g>>>0>>0;c=n?d:c;g=n?o:g}d=d+1|0}while(d>>>0>>0);i=c}else i=0}else i=0;d=a+1088|0;j=a+1104|0;b=f[j>>2]|0;g=32-b|0;h=a+1100|0;c=f[h>>2]|0;if((g|0)<4){e=i&15;g=4-g|0;f[j>>2]=g;g=e>>>g|c;f[h>>2]=g;c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))Gi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=e<<32-(f[j>>2]|0);a=i;return a|0}g=c|i<<28>>>b;f[h>>2]=g;o=b+4|0;f[j>>2]=o;if((o|0)!=32){a=i;return a|0}c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))Gi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=0;f[j>>2]=0;a=i;return a|0}function Ud(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[a>>2]|0;h=p;n=(f[b>>2]|0)-h|0;b=p+(n>>2<<2)|0;j=f[c>>2]|0;e=f[d>>2]|0;r=e-j|0;k=r>>2;c=j;q=e;if((r|0)<=0){r=b;return r|0}m=a+8|0;g=f[m>>2]|0;r=a+4|0;o=f[r>>2]|0;l=o;if((k|0)<=(g-l>>2|0)){j=b;i=l-j|0;d=i>>2;if((k|0)>(d|0)){d=c+(d<<2)|0;e=d;if((d|0)==(q|0))d=o;else{h=q+-4-e|0;g=o;while(1){f[g>>2]=f[d>>2];d=d+4|0;if((d|0)==(q|0))break;else g=g+4|0}d=o+((h>>>2)+1<<2)|0;f[r>>2]=d}if((i|0)<=0){r=b;return r|0}}else d=o;k=d-(b+(k<<2))>>2;g=b+(k<<2)|0;if(g>>>0>>0){h=(o+(0-k<<2)+~j|0)>>>2;i=d;j=g;while(1){f[i>>2]=f[j>>2];j=j+4|0;if(j>>>0>=o>>>0)break;else i=i+4|0}f[r>>2]=d+(h+1<<2)}if(k|0)do{g=g+-4|0;d=d+-4|0;f[d>>2]=f[g>>2]}while((g|0)!=(b|0));if((c|0)==(e|0)){r=b;return r|0}else d=b;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(e|0))break;else d=d+4|0}return b|0}d=(l-h>>2)+k|0;if(d>>>0>1073741823)Fp(a);g=g-h|0;i=g>>1;d=g>>2>>>0<536870911?(i>>>0>>0?d:i):1073741823;i=b;g=n>>2;do if(d)if(d>>>0>1073741823){r=sa(8)|0;to(r,20196);f[r>>2]=7152;wa(r|0,1112,107)}else{e=an(d<<2)|0;break}else e=0;while(0);k=e+(g<<2)|0;h=e+(d<<2)|0;if((c|0)==(q|0))d=k;else{e=((q+-4-j|0)>>>2)+1|0;d=k;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(q|0))break;else d=d+4|0}d=k+(e<<2)|0}e=k+(0-g<<2)|0;if((n|0)>0)Rg(e|0,p|0,n|0)|0;c=l-i|0;if((c|0)>0){Rg(d|0,b|0,c|0)|0;b=d+(c>>>2<<2)|0}else b=d;f[a>>2]=e;f[r>>2]=b;f[m>>2]=h;if(!p){r=k;return r|0}pq(p);r=k;return r|0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;switch(b-a>>2|0){case 2:{i=b+-4|0;g=f[i>>2]|0;h=f[a>>2]|0;d=f[c>>2]|0;c=f[d>>2]|0;e=(f[d+4>>2]|0)-c>>3;if(e>>>0<=g>>>0)Fp(d);if(e>>>0<=h>>>0)Fp(d);if((f[c+(g<<3)>>2]|0)>>>0>=(f[c+(h<<3)>>2]|0)>>>0){a=1;return a|0}f[a>>2]=g;f[i>>2]=h;a=1;return a|0}case 3:{vg(a,a+4|0,b+-4|0,c)|0;a=1;return a|0}case 4:{Sg(a,a+4|0,a+8|0,b+-4|0,c)|0;a=1;return a|0}case 5:{Nf(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{d=a+8|0;vg(a,a+4|0,d,c)|0;e=a+12|0;a:do if((e|0)!=(b|0)){m=f[c>>2]|0;k=f[m>>2]|0;l=(f[m+4>>2]|0)-k>>3;c=0;b:while(1){j=f[e>>2]|0;g=f[d>>2]|0;if(l>>>0<=j>>>0){c=14;break}if(l>>>0<=g>>>0){c=16;break}i=k+(j<<3)|0;if((f[i>>2]|0)>>>0<(f[k+(g<<3)>>2]|0)>>>0){h=e;while(1){f[h>>2]=g;if((d|0)==(a|0)){d=a;break}h=d+-4|0;g=f[h>>2]|0;if(l>>>0<=g>>>0){c=20;break b}if((f[i>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0)break;else{p=d;d=h;h=p}}f[d>>2]=j;c=c+1|0;if((c|0)==8){n=0;o=(e+4|0)==(b|0);break a}}d=e+4|0;if((d|0)==(b|0)){n=1;o=0;break a}else{p=e;e=d;d=p}}if((c|0)==14)Fp(m);else if((c|0)==16)Fp(m);else if((c|0)==20)Fp(m)}else{n=1;o=0}while(0);p=o|n;return p|0}}return 0}function Wd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;k=a+12|0;b=f[k>>2]|0;p=(f[b+4>>2]|0)-(f[b>>2]|0)|0;o=p>>2;if((p|0)<=0){u=r;return 1}j=a+152|0;p=a+140|0;l=a+144|0;i=a+148|0;a=0;while(1){f[m>>2]=(a>>>0)/3|0;f[n>>2]=f[m>>2];if(!(Dj(b,n)|0)?(f[(f[(f[k>>2]|0)+12>>2]|0)+(a<<2)>>2]|0)==-1073741824:0){b=a+1|0;b=((b|0)%3|0|0)==0?a+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[(f[f[k>>2]>>2]|0)+(b<<2)>>2]|0;c=f[j>>2]|0;if((f[c+(d<<2)>>2]|0)==-1){h=f[l>>2]|0;b=f[i>>2]|0;if((h|0)==(b<<5|0)){if((h+1|0)<0){q=11;break}b=b<<6;c=h+32&-32;gi(p,h>>>0<1073741823?(b>>>0>>0?c:b):2147483647);b=f[l>>2]|0;c=f[j>>2]|0}else b=h;f[l>>2]=b+1;g=(f[p>>2]|0)+(b>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(b&31));b=c+(d<<2)|0;if((f[b>>2]|0)==-1){d=a;while(1){f[b>>2]=h;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;a:do if((b|0)>=0){g=f[k>>2]|0;e=f[g+12>>2]|0;while(1){d=f[e+(b<<2)>>2]|0;if((d|0)==-1073741824)break;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;if((b|0)<0){q=18;break a}}d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)<0){d=-1073741824;e=b}else{d=f[(f[g>>2]|0)+(d<<2)>>2]|0;e=b}}else q=18;while(0);if((q|0)==18){q=0;b=(b|0)==-1073741824;do{}while(!b);d=-1073741824;e=-1073741824}b=c+(d<<2)|0;if((f[b>>2]|0)!=-1)break;else d=e}}}}a=a+1|0;if((a|0)>=(o|0)){q=3;break}b=f[k>>2]|0}if((q|0)==3){u=r;return 1}else if((q|0)==11)Fp(p);return 0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;r=e>>>0>1073741823?-1:e<<2;t=mq(r)|0;cj(t|0,0,r|0)|0;r=f[a+28>>2]|0;s=a+36|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;m=f[a+32>>2]|0;q=a+8|0;p=r+64|0;n=r+28|0;o=(e|0)>0;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;l=d;x=g}else{j=h;Fp(j)}while(1){g=f[k+(x<<2)>>2]|0;j=X(x,e)|0;if((!((g|0)<0?1:(1<<(g&31)&f[(f[r>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(y=f[(f[(f[p>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(y|0)>=0):0)?(w=f[n>>2]|0,k=f[m>>2]|0,u=f[k+(f[w+(y<<2)>>2]<<2)>>2]|0,v=y+1|0,v=f[k+(f[w+((((v|0)%3|0|0)==0?y+-2|0:v)<<2)>>2]<<2)>>2]|0,w=f[k+(f[w+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(u|0)<(x|0)&(v|0)<(x|0)&(w|0)<(x|0)):0){d=X(u,e)|0;h=X(v,e)|0;i=X(w,e)|0;if(o){g=0;do{f[t+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}ai(q,b+(j<<2)|0,t,c+(j<<2)|0)}else ai(q,b+(j<<2)|0,b+((X(l+-2|0,e)|0)<<2)|0,c+(j<<2)|0);if((x|0)<=1)break a;g=f[s>>2]|0;k=f[g>>2]|0;d=x+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{l=x;x=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,t,c);nq(t);return 1}cj(t|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,t,c);nq(t);return 1}function Yd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Oc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function Zd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Pc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function _d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Qc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function $d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Sc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ae(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Rc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function be(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Tc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=2097152;if(g){d=2097152;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<19)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ff(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Uc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=1048576;if(g){d=1048576;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<18)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Gf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function de(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Vc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=262144;if(g){d=262144;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<16)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Hf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Wc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=131072;if(g){d=131072;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<15)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}If(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Xc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=32768;if(g){d=32768;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<13)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Mf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ge(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Yc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Zc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;_c(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;$c(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;ad(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;bd(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;cd(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;dd(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function oe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;p=t+4|0;q=t;s=t+8|0;r=a+4|0;o=a+8|0;Rh((f[o>>2]|0)-(f[r>>2]|0)>>2,c)|0;d=f[r>>2]|0;if((f[o>>2]|0)==(d|0)){u=t;return 1}n=a+32|0;m=c+16|0;h=c+4|0;i=s+1|0;j=s+1|0;l=s+1|0;k=s+1|0;a=d;g=0;while(1){a=f[a+(g<<2)>>2]|0;d=f[n>>2]|0;if((a|0)<=-1){a=5;break}e=f[d+8>>2]|0;if(((f[d+12>>2]|0)-e>>2|0)<=(a|0)){a=7;break}e=f[e+(a<<2)>>2]|0;b[s>>0]=f[e+56>>2];a=m;d=f[a>>2]|0;a=f[a+4>>2]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,k)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=f[e+28>>2];if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,l)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+24>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,j)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+32>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,i)|0}Rh(f[e+60>>2]|0,c)|0;g=g+1|0;a=f[r>>2]|0;if(g>>>0>=(f[o>>2]|0)-a>>2>>>0){a=3;break}}if((a|0)==3){u=t;return 1}else if((a|0)==5)ra(20625,20641,59,20738);else if((a|0)==7)ra(20748,20641,60,20738);return 0}function pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+60|0;Rh(f[g>>2]|0,b)|0;cn(k);Uk(k);c=f[a+56>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;qj(k);u=m;return 1}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+80|0;Rh(f[g>>2]|0,b)|0;cn(k);Uk(k);c=f[a+76>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;qj(k);u=m;return 1}function re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;n=p+8|0;o=p;m=c+4|0;i=f[(f[m>>2]|0)+48>>2]|0;l=c+12|0;h=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=17;c=d;e=17860;g=c+17|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[d+17>>0]=0;g=i+16|0;c=f[g>>2]|0;if(c){d=g;a:while(1){e=c;while(1){if((f[e+16>>2]|0)>=(h|0))break;c=f[e+4>>2]|0;if(!c)break a;else e=c}c=f[e>>2]|0;if(!c){d=e;break}else d=e}if(((d|0)!=(g|0)?(h|0)>=(f[d+16>>2]|0):0)?(j=d+20|0,(Oh(j,n)|0)!=0):0)d=Bk(j,n,-1)|0;else k=10}else k=10;if((k|0)==10)d=Bk(i,n,-1)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);d=(1<>2]=-1;f[n+4>>2]=-1;f[n+8>>2]=-1;f[n+12>>2]=-1;if(((d|0)%2|0|0)!=1)ra(11651,11684,68,11850);c=(_(d|0)|0)^31;d=c+1|0;if(!c)ra(11874,11885,60,12006);if(d>>>0>=31)ra(12026,11885,61,12006);f[n>>2]=d;k=2<>2]=k+-1;k=k+-2|0;f[n+8>>2]=k;f[n+12>>2]=(k|0)/2|0;switch(ki(f[l>>2]|0,f[m>>2]|0)|0){case 6:{ah(o,6,f[l>>2]|0,f[m>>2]|0,n);f[a>>2]=f[o>>2];u=p;return}case 0:{ah(o,0,f[l>>2]|0,f[m>>2]|0,n);f[a>>2]=f[o>>2];u=p;return}default:ra(12038,12044,69,12176)}}function se(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;i=l+4|0;j=l;e=l+9|0;k=l+8|0;c=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[e>>0]=c;g=a+4|0;d=f[(f[g>>2]|0)+44>>2]|0;m=d+16|0;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[j>>2]=f[d+4>>2];f[i>>2]=f[j>>2];Ke(d,i,e,e+1|0)|0;c=b[e>>0]|0}a:do if(c<<24>>24>-1){d=a+172|0;n=f[(f[d>>2]|0)+((c<<24>>24)*108|0)>>2]|0;m=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;e=b[e>>0]|0;c=f[d>>2]|0;d=f[c+(e*108|0)+104>>2]|0;switch(f[(f[(f[m>>2]|0)+84>>2]|0)+(n<<2)>>2]|0){case 0:{h=7;break a}case 1:{if(b[c+(e*108|0)+28>>0]|0){h=7;break a}break}default:{}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=1;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,k,k+1|0)|0}}else{d=f[a+68>>2]|0;h=7}while(0);if((h|0)==7){c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=0;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,k,k+1|0)|0}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=d;n=c+16|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0){u=l;return 1}f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,k,k+1|0)|0;u=l;return 1}function te(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=Ka,B=Ka;y=u;u=u+16|0;x=y;h=c+4|0;if((f[h>>2]|0)==-1)ra(7389,7406,113,7524);q=e+4|0;j=b[d+24>>0]|0;w=j<<24>>24;ui(a,c,(f[q>>2]|0)-(f[e>>2]|0)>>2,w,g,d);o=f[a>>2]|0;o=(f[f[o>>2]>>2]|0)+(f[o+48>>2]|0)|0;v=f[h>>2]|0;cp(x);po(x,$(n[c+20>>2]),(1<>>0>1073741823?-1:w<<2)|0;g=f[q>>2]|0;a=f[e>>2]|0;q=a;if((g|0)==(a|0)){nq(v);u=y;return}r=d+68|0;s=d+48|0;t=d+40|0;k=c+8|0;l=x+4|0;p=(b[d+84>>0]|0)==0;m=g-a>>2;if(j<<24>>24>0){e=0;c=0}else{g=0;do{a=f[q+(g<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;w=s;o=f[w>>2]|0;w=f[w+4>>2]|0;l=t;x=f[l>>2]|0;l=$m(x|0,f[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;w=Mn(l|0,I|0,o|0,w|0)|0;Rg(v|0,(f[f[d>>2]>>2]|0)+w|0,x|0)|0;g=g+1|0}while(g>>>0>>0);nq(v);u=y;return}while(1){a=f[q+(c<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;h=s;j=f[h>>2]|0;h=f[h+4>>2]|0;z=t;g=f[z>>2]|0;a=$m(g|0,f[z+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,j|0,h|0)|0;Rg(v|0,(f[f[d>>2]>>2]|0)+a|0,g|0)|0;a=f[k>>2]|0;i=$(n[x>>2]);g=0;h=e;while(1){A=$(n[v+(g<<2)>>2]);A=$(A-$(n[a+(g<<2)>>2]));j=A<$(0.0);B=$(-A);A=$((j?B:A)/i);z=~~$(J($($($(f[l>>2]|0)*A)+$(.5))));f[o+(h<<2)>>2]=j?0-z|0:z;g=g+1|0;if((g|0)==(w|0))break;else h=h+1|0}c=c+1|0;if(c>>>0>=m>>>0)break;else e=w+e|0}nq(v);u=y;return}function ue(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=Ka,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka;m=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(!c)if(m>>>0>>0)h=m;else h=(m>>>0)%(i>>>0)|0;else h=g&m;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(!b)b=h;else{if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}l=f[b+4>>2]|0;if(!((l|0)==(m|0)|(l&g|0)==(h|0))){b=h;break a}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}do{b=f[b>>2]|0;if(!b){b=h;break a}c=f[b+4>>2]|0;if((c|0)!=(m|0)){if(c>>>0>=i>>>0)c=(c>>>0)%(i>>>0)|0;if((c|0)!=(h|0)){b=h;break a}}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}}else b=0;while(0);l=an(16)|0;f[l+8>>2]=m;f[l+12>>2]=0;f[l+4>>2]=m;f[l>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;vi(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&m;break}if(m>>>0>>0){g=b;b=m}else{g=b;b=(m>>>0)%(b>>>0)|0}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[l>>2]=f[b>>2];f[b>>2]=l;f[c>>2]=b;b=f[l>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(c&g){if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0}else b=b&c;b=(f[a>>2]|0)+(b<<2)|0;o=30}}else{f[l>>2]=f[b>>2];o=30}if((o|0)==30)f[b>>2]=l;f[h>>2]=(f[h>>2]|0)+1;a=l;a=a+12|0;return a|0}function ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if((e|0)<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if((h|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;m=r+4|0;l=r;f[a+64>>2]=b;q=a+128|0;f[q>>2]=2;p=a+132|0;f[p>>2]=7;g=Ma[f[(f[b>>2]|0)+32>>2]&127](b)|0;n=a+88|0;f[n>>2]=g;k=a+104|0;g=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;j=a+108|0;b=f[j>>2]|0;c=f[k>>2]|0;h=b-c>>2;d=c;e=b;if(g>>>0<=h>>>0){if(g>>>0>>0?(i=d+(g<<2)|0,(e|0)!=(i|0)):0){b=e+(~((e+-4-i|0)>>>2)<<2)|0;f[j>>2]=b}}else{qi(k,g-h|0);c=f[k>>2]|0;b=f[j>>2]|0}if((b-c|0)>0){b=0;do{h=f[n>>2]|0;f[l>>2]=b;f[m>>2]=f[l>>2];h=Uh(h,m)|0;i=f[k>>2]|0;f[i+(b<<2)>>2]=h;b=b+1|0}while((b|0)<((f[j>>2]|0)-i>>2|0))}j=a+92|0;d=f[n>>2]|0;b=f[d>>2]|0;i=(f[d+4>>2]|0)-b>>2;g=a+96|0;e=f[g>>2]|0;c=f[j>>2]|0;h=e-c>>2;if(i>>>0<=h>>>0){if(i>>>0>>0?(o=c+(i<<2)|0,(e|0)!=(o|0)):0)f[g>>2]=e+(~((e+-4-o|0)>>>2)<<2)}else{qi(j,i-h|0);b=f[n>>2]|0;d=b;b=f[b>>2]|0}c=f[d+4>>2]|0;if((c-b|0)>0){b=0;do{o=f[d>>2]|0;f[(f[j>>2]|0)+(b<<2)>>2]=f[o+(b<<2)>>2];b=b+1|0}while((b|0)<(c-o>>2|0))}e=(f[p>>2]|0)-(f[q>>2]|0)+1|0;g=a+136|0;h=a+140|0;b=f[h>>2]|0;c=f[g>>2]|0;d=(b-c|0)/12|0;if(e>>>0>d>>>0){Lf(g,e-d|0);u=r;return 1}if(e>>>0>=d>>>0){u=r;return 1}e=c+(e*12|0)|0;if((b|0)==(e|0)){u=r;return 1}do{c=b+-12|0;f[h>>2]=c;d=f[c>>2]|0;if(!d)b=c;else{c=b+-8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);b=f[h>>2]|0}}while((b|0)!=(e|0));u=r;return 1}function xe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;j=k;g=f[a+8>>2]|0;e=a+4|0;d=f[e>>2]|0;if(((g-d|0)/108|0)>>>0>=c>>>0){do{f[d>>2]=-1;am(d+4|0);b[d+72>>0]=1;j=d+76|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;d=(f[e>>2]|0)+108|0;f[e>>2]=d;c=c+-1|0}while((c|0)!=0);u=k;return}e=f[a>>2]|0;h=(d-e|0)/108|0;d=h+c|0;if(d>>>0>39768215)Fp(a);g=(g-e|0)/108|0;i=g<<1;d=g>>>0<19884107?(i>>>0>>0?d:i):39768215;f[j+12>>2]=0;f[j+16>>2]=a+8;do if(d)if(d>>>0>39768215){k=sa(8)|0;to(k,20196);f[k>>2]=7152;wa(k|0,1112,107)}else{e=an(d*108|0)|0;break}else e=0;while(0);f[j>>2]=e;h=e+(h*108|0)|0;i=j+8|0;f[i>>2]=h;g=j+4|0;f[g>>2]=h;f[j+12>>2]=e+(d*108|0);d=h;do{f[d>>2]=-1;am(d+4|0);b[d+72>>0]=1;h=d+76|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;d=(f[i>>2]|0)+108|0;f[i>>2]=d;c=c+-1|0}while((c|0)!=0);Jd(a,j);h=f[g>>2]|0;c=f[i>>2]|0;if((c|0)!=(h|0))do{f[i>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}yj(c+-104|0);c=f[i>>2]|0}while((c|0)!=(h|0));c=f[j>>2]|0;if(c|0)pq(c);u=k;return}function ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;l=n;j=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;e=f[c+28>>2]|0;d=f[e+4>>2]|0;if((j|0)<=-1)ra(20625,20641,59,20738);c=f[d+8>>2]|0;if(((f[d+12>>2]|0)-c>>2|0)<=(j|0))ra(20748,20641,60,20738);i=f[c+(j<<2)>>2]|0;switch(f[i+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{m=an(40)|0;$n(m);f[a>>2]=m;u=n;return}case 9:{m=7;break}default:{}}if((m|0)==7){h=f[e+48>>2]|0;d=an(32)|0;f[l>>2]=d;f[l+8>>2]=-2147483616;f[l+4>>2]=17;e=d;c=17860;g=e+17|0;do{b[e>>0]=b[c>>0]|0;e=e+1|0;c=c+1|0}while((e|0)<(g|0));b[d+17>>0]=0;g=h+16|0;c=f[g>>2]|0;if(c){d=g;a:while(1){e=c;while(1){if((f[e+16>>2]|0)>=(j|0))break;c=f[e+4>>2]|0;if(!c)break a;else e=c}c=f[e>>2]|0;if(!c){d=e;break}else d=e}if(((d|0)!=(g|0)?(j|0)>=(f[d+16>>2]|0):0)?(k=d+20|0,(Oh(k,l)|0)!=0):0)d=Bk(k,l,-1)|0;else m=16}else m=16;if((m|0)==16)d=Bk(h,l,-1)|0;if((b[l+11>>0]|0)<0)pq(f[l>>2]|0);if((d|0)>0)if((f[i+56>>2]|0)==1){d=an(48)|0;e=d;g=e+48|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));$n(d);f[d>>2]=2384;f[d+40>>2]=1168;f[d+44>>2]=-1;m=d;f[a>>2]=m;u=n;return}else{m=an(64)|0;rm(m);f[a>>2]=m;u=n;return}}m=an(36)|0;tm(m);f[a>>2]=m;u=n;return}function ze(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((e|0)>31);h=h&31}if((h|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function Ae(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;h=l+36|0;k=l+24|0;i=l+12|0;j=l;if(!c){m=0;u=l;return m|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;m=7}}else{m=g+16&-16;a=an(m)|0;f[h>>2]=a;f[h+8>>2]=m|-2147483648;f[h+4>>2]=g;m=7}if((m|0)==7)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=Vj(e)|0;if(g>>>0>4294967279)Fp(k);if(g>>>0<11){b[k+11>>0]=g;if(!g)a=k;else{a=k;m=13}}else{m=g+16&-16;a=an(m)|0;f[k>>2]=a;f[k+8>>2]=m|-2147483648;f[k+4>>2]=g;m=13}if((m|0)==13)Rg(a|0,e|0,g|0)|0;b[a+g>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(i);if(g>>>0<11){b[i+11>>0]=g;if(!g)a=i;else{a=i;m=19}}else{m=g+16&-16;a=an(m)|0;f[i>>2]=a;f[i+8>>2]=m|-2147483648;f[i+4>>2]=g;m=19}if((m|0)==19)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=Vj(e)|0;if(g>>>0>4294967279)Fp(j);if(g>>>0<11){b[j+11>>0]=g;if(!g)a=j;else{a=j;m=25}}else{m=g+16&-16;a=an(m)|0;f[j>>2]=a;f[j+8>>2]=m|-2147483648;f[j+4>>2]=g;m=25}if((m|0)==25)Rg(a|0,e|0,g|0)|0;b[a+g>>0]=0;Vm(c,i,j);if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);m=1;u=l;return m|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;p=r+16|0;n=r+12|0;m=r+8|0;o=r+4|0;q=r;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Qo(e);if((a|0)!=(b|0)){f[m>>2]=f[b>>2];f[o>>2]=b+4;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(a,n,p)}d=b+24|0;if((e|0)!=(d|0)){f[m>>2]=f[d>>2];f[o>>2]=b+28;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(e,n,p)}f[q>>2]=0;l=c+8|0;k=c+12|0;d=f[k>>2]|0;e=f[l>>2]|0;if((d-e|0)<=0){u=r;return}j=b+16|0;c=0;while(1){if((c|0)<=-1){d=9;break}i=f[(f[e+(c<<2)>>2]|0)+56>>2]|0;b=f[j>>2]|0;if(b){h=j;g=b;a:while(1){b=g;while(1){if((f[b+16>>2]|0)>=(i|0))break;b=f[b+4>>2]|0;if(!b){b=h;break a}}g=f[b>>2]|0;if(!g)break;else h=b}if((b|0)!=(j|0)?(i|0)>=(f[b+16>>2]|0):0){e=b+20|0;d=Dd(a,q)|0;if((d|0)!=(e|0)){f[m>>2]=f[e>>2];f[o>>2]=b+24;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(d,n,p)}c=f[q>>2]|0;e=f[l>>2]|0;d=f[k>>2]|0}}c=c+1|0;f[q>>2]=c;if((c|0)>=(d-e>>2|0)){d=7;break}}if((d|0)==7){u=r;return}else if((d|0)==9)ra(20625,20641,59,20738)}function Ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+16|0;n=t+4|0;o=t;r=t+8|0;q=a+12|0;Rh(f[q>>2]|0,c)|0;if(!(f[q>>2]|0)){s=1;u=t;return s|0}p=c+16|0;j=c+4|0;k=r+1|0;l=r+1|0;m=r+1|0;d=0;while(1){i=f[a>>2]|0;h=f[i+(d<<3)>>2]|0;if(h>>>0>63)if(h>>>0>16383)if(h>>>0>4194303){d=0;s=20;break}else{g=2;s=13}else{g=1;s=13}else if(!h){g=d+1|0;e=0;do{if(f[i+(g+e<<3)>>2]|0)break;e=e+1|0}while(e>>>0<63);b[r>>0]=e<<2|3;i=p;h=f[i+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ke(c,n,r,m)|0}d=e+d|0}else{g=0;s=13}if((s|0)==13){s=0;b[r>>0]=g|h<<2;i=p;e=f[i+4>>2]|0;if(!((e|0)>0|(e|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ke(c,n,r,l)|0}if(g){e=0;do{e=e+1|0;b[r>>0]=h>>>((e<<3)+-2|0);i=p;v=f[i+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ke(c,n,r,k)|0}}while((e|0)<(g|0))}}d=d+1|0;if(d>>>0>=(f[q>>2]|0)>>>0){d=1;s=20;break}}if((s|0)==20){u=t;return d|0}return 0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;h=e<<5;d=b-g|0;if(h>>>0>>0|g>>>0>(h-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0)Fp(a);e=e<<6;b=b+31&-32;gi(o,h>>>0<1073741823?(e>>>0>>0?b:e):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;bm(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)pq(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;cj(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;cj(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;l=n;h=a+4|0;d=f[h>>2]|0;e=f[(f[a>>2]|0)+52>>2]|0;if(!d){if(!(Oa[e&31](a,c,0)|0)){m=0;u=n;return m|0}}else if(!(Oa[e&31](a,c,f[(f[d+4>>2]|0)+80>>2]|0)|0)){m=0;u=n;return m|0}if(!(b[a+28>>0]|0)){m=1;u=n;return m|0}j=f[a+8>>2]|0;i=f[a+32>>2]|0;d=f[j+80>>2]|0;f[l>>2]=0;k=l+4|0;f[k>>2]=0;f[l+8>>2]=0;do if(d)if(d>>>0>1073741823)Fp(l);else{a=d<<2;g=an(a)|0;f[l>>2]=g;m=g+(d<<2)|0;f[l+8>>2]=m;cj(g|0,0,a|0)|0;f[k>>2]=m;break}else{g=0;m=0}while(0);e=f[c+4>>2]|0;d=f[c>>2]|0;c=d;a:do if((e|0)!=(d|0)){a=e-d>>2;if(b[j+84>>0]|0){d=0;while(1){f[g+(f[c+(d<<2)>>2]<<2)>>2]=d;d=d+1|0;if(d>>>0>=a>>>0)break a}}d=f[j+68>>2]|0;e=0;do{f[g+(f[d+(f[c+(e<<2)>>2]<<2)>>2]<<2)>>2]=e;e=e+1|0}while(e>>>0>>0)}while(0);c=f[(f[(f[h>>2]|0)+4>>2]|0)+80>>2]|0;if((c|0)>0){e=j+68|0;a=(b[i+84>>0]|0)==0;g=f[l>>2]|0;d=i+68|0;if(!(b[j+84>>0]|0)){if(!a)ra(20060,20079,89,20179);a=f[e>>2]|0;d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while((e|0)<(c|0))}else{if(!a)ra(20060,20079,89,20179);d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(e<<2)>>2];e=e+1|0}while((e|0)<(c|0))}}d=f[l>>2]|0;if(d|0){if((m|0)!=(d|0))f[k>>2]=m+(~((m+-4-d|0)>>>2)<<2);pq(d)}m=1;u=n;return m|0}function Fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b+12|0;h=f[m>>2]|0;l=c+4|0;k=(f[l>>2]|0)-h|0;e=c;f[e>>2]=(f[c>>2]|0)-h;f[e+4>>2]=k;e=(f[d>>2]|0)-h|0;k=d+4|0;h=(f[k>>2]|0)-h|0;g=d;f[g>>2]=e;f[g+4>>2]=h;g=f[m>>2]|0;if((g|0)<(e|0))ra(12672,11885,250,12695);if((g|0)<(h|0))ra(12707,11885,251,12695);i=0-g|0;if((e|0)<(i|0))ra(12730,11885,252,12695);if((h|0)<(i|0))ra(12754,11885,253,12695);if((((h|0)>-1?h:0-h|0)+((e|0)>-1?e:0-e|0)|0)>(g|0)){Ph(b,c,l);Ph(b,d,k);e=f[d>>2]|0}if(!e){g=f[k>>2]|0;if(!g)g=0;else j=14}else{g=f[k>>2]|0;if(!((e|0)<0&(g|0)<1))j=14}if((j|0)==14){if(!e)h=(g|0)==0?0:(g|0)>0?3:1;else h=(e|0)>0?(g>>31)+2|0:(g|0)<1?0:3;e=f[c>>2]|0;g=f[l>>2]|0;switch(h|0){case 1:{j=c;f[j>>2]=g;f[j+4>>2]=0-e;e=f[k>>2]|0;g=0-(f[d>>2]|0)|0;break}case 2:{j=c;f[j>>2]=0-e;f[j+4>>2]=0-g;e=0-(f[d>>2]|0)|0;g=0-(f[k>>2]|0)|0;break}case 3:{j=c;f[j>>2]=0-g;f[j+4>>2]=e;e=0-(f[k>>2]|0)|0;g=f[d>>2]|0;break}default:{j=c;f[j>>2]=e;f[j+4>>2]=g;e=f[d>>2]|0;g=f[k>>2]|0}}f[d>>2]=e;f[d+4>>2]=g}e=(f[c>>2]|0)-e|0;f[a>>2]=e;i=(f[l>>2]|0)-g|0;h=a+4|0;f[h>>2]=i;g=f[m>>2]<<1;if((g|0)<(e|0))ra(12778,11885,313,12812);if((e|0)<0)e=(f[b+4>>2]|0)+e|0;f[a>>2]=e;if((g|0)<(i|0))ra(12778,11885,313,12812);if((i|0)>=0){b=i;f[h>>2]=b;return}b=(f[b+4>>2]|0)+i|0;f[h>>2]=b;return}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f[b>>2]|0;l=a+12|0;i=(h|0)<0;do if(!i)if(!((h>>>0)%3|0)){d=h+2|0;break}else{d=h+-1|0;break}else d=h;while(0);a:do if((d|0)<0)m=7;else{g=f[(f[l>>2]|0)+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824){e=0;break a}b=e+1|0;if((e|0)<0)d=e;else d=((b|0)%3|0|0)==0?e+-2|0:b;if((d|0)<0){m=7;break}}}while(0);if((m|0)==7){b=(d|0)==-1073741824;do{}while(!b);e=1;d=-1073741824}if(i)k=-1073741824;else k=f[(f[f[l>>2]>>2]|0)+(h<<2)>>2]|0;if(c){b=(f[a+84>>2]|0)+(k>>>5<<2)|0;f[b>>2]=f[b>>2]|1<<(k&31);b=1}else b=0;i=f[(f[a+152>>2]|0)+(k<<2)>>2]|0;c=(f[a+140>>2]|0)+(i>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(i&31);if(!e?(j=(((d>>>0)%3|0|0)==0?2:-1)+d|0,(j|0)>=0):0)e=f[(f[f[l>>2]>>2]|0)+(j<<2)>>2]|0;else e=-1073741824;if((e|0)==(k|0)){m=b;return m|0}i=a+84|0;do{a=(f[i>>2]|0)+(e>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(e&31);b=b+1|0;e=d+1|0;if((d|0)>=0)d=((e|0)%3|0|0)==0?d+-2|0:e;b:do if((d|0)>=0){h=f[l>>2]|0;g=f[h+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824)break;d=e+1|0;if((e|0)<0)d=e;else d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0){m=26;break b}}e=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((e|0)<0)e=-1073741824;else e=f[(f[h>>2]|0)+(e<<2)>>2]|0}else m=26;while(0);if((m|0)==26){m=0;d=(d|0)==-1073741824;do{}while(!d);e=-1073741824;d=-1073741824}}while((e|0)!=(k|0));return b|0}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){d=23;break}i=h+8|0;e=f[i>>2]|0;d=f[e>>2]|0;if((d|0)==(h|0)){d=f[e+4>>2]|0;if(!d){d=7;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=7;break}}else{if(!d){d=16;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=16;break}}b[g>>0]=1;i=(e|0)==(a|0);b[e+12>>0]=i&1;b[c>>0]=1;if(i){d=23;break}else c=e}if((d|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;d=f[a>>2]|0;c=f[d>>2]|0;f[a>>2]=c;if(!c)c=e;else{f[c+8>>2]=h;c=f[i>>2]|0}f[d+8>>2]=c;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=d;f[d>>2]=h;f[i>>2]=d;c=d;e=f[d+8>>2]|0}b[c+12>>0]=1;b[e+12>>0]=0;c=f[e>>2]|0;g=c+4|0;d=f[g>>2]|0;f[e>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[g>>2]=e;f[i>>2]=c;return}else if((d|0)==16){if((f[h>>2]|0)==(c|0)){g=f[h>>2]|0;d=g+4|0;c=f[d>>2]|0;f[h>>2]=c;if(c){f[c+8>>2]=h;e=f[i>>2]|0}f[g+8>>2]=e;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=g;f[d>>2]=h;f[i>>2]=g;c=g;e=f[g+8>>2]|0}else c=h;b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((d|0)==23)return}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;q=s+4|0;k=s;f[q>>2]=0;r=q+4|0;f[r>>2]=0;f[q+8>>2]=0;m=a+52|0;b=f[m>>2]|0;j=(f[b+100>>2]|0)-(f[b+96>>2]|0)|0;n=(j|0)/12|0;do if((j|0)>0){j=q+8|0;c=f[b+96>>2]|0;if(((f[b+100>>2]|0)-c|0)>0){d=c;l=0;i=0}else ra(20006,19918,64,20001);while(1){g=f[d+(l*12|0)>>2]|0;c=g-i|0;c=((c|0)>-1?c:0-c|0)<<1|c>>>31;f[k>>2]=c;b=f[r>>2]|0;e=f[j>>2]|0;if((b|0)==(e|0)){Gi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[b>>2]=c;c=b+4|0;f[r>>2]=c}h=f[d+(l*12|0)+4>>2]|0;b=h-g|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0)){Gi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[c>>2]=b;c=c+4|0;f[r>>2]=c}i=f[d+(l*12|0)+8>>2]|0;b=i-h|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0))Gi(q,k);else{f[c>>2]=b;f[r>>2]=c+4}l=l+1|0;if((l|0)>=(n|0)){b=3;break}h=f[m>>2]|0;d=f[h+96>>2]|0;if((l|0)>=(((f[h+100>>2]|0)-d|0)/12|0|0)){b=5;break}}if((b|0)==3){o=f[q>>2]|0;p=f[r>>2]|0;break}else if((b|0)==5)ra(20006,19918,64,20001)}else{o=0;p=0}while(0);Lc(o,p-o>>2,1,f[a+44>>2]|0)|0;c=f[q>>2]|0;if(!c){u=s;return 1}b=f[r>>2]|0;if((b|0)!=(c|0))f[r>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);u=s;return 1}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=f[b>>2]|0;b=e*3|0;h=a+12|0;e=(e|0)<0;if(e)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(e)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;g=f[a+152>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!e)b=((d|0)%3|0|0)==0?b+-2|0:d;a=(b|0)<0;if(a)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(a)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!a){b=((d|0)%3|0|0)==0?b+-2|0:d;if((b|0)<0){d=b;a=1}else{d=b;a=0;b=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0}}else{d=b;a=1}if((b|0)==-1073741824){i=0;h=d;f[c>>2]=h;return i|0}if(a)b=-1073741824;else b=f[(f[f[h>>2]>>2]|0)+(d<<2)>>2]|0;if((f[g+(b<<2)>>2]|0)==-1){b=d+1|0;if(a){i=1;h=d;f[c>>2]=h;return i|0}i=1;h=((b|0)%3|0|0)==0?d+-2|0:b;f[c>>2]=h;return i|0}else b=d}}if((b|0)<=-1){i=0;h=b;f[c>>2]=h;return i|0}while(1){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)<0)break;d=f[(f[(f[h>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=11;break}d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((d|0)>-1)b=d;else{i=11;break}}if((i|0)==11?(b|0)<0:0){i=0;h=b;f[c>>2]=h;return i|0}if(!((b>>>0)%3|0)){i=0;h=b+2|0;f[c>>2]=h;return i|0}else{i=0;h=b+-1|0;f[c>>2]=h;return i|0}return 0}function Ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=f[a>>2]|0;i=k;j=(f[c>>2]|0)-i|0;c=k+j|0;l=e-d|0;if((l|0)<=0){o=c;return o|0}n=a+8|0;h=f[n>>2]|0;o=a+4|0;m=f[o>>2]|0;g=m;if((l|0)<=(h-g|0)){i=g-c|0;if((l|0)>(i|0)){j=d+i|0;if((j|0)==(e|0))g=m;else{g=m;h=j;do{b[g>>0]=b[h>>0]|0;h=h+1|0;g=(f[o>>2]|0)+1|0;f[o>>2]=g}while((h|0)!=(e|0))}if((i|0)>0)e=j;else{o=c;return o|0}}else g=m;j=g-(c+l)|0;h=c+j|0;if(h>>>0>>0){i=g;do{b[i>>0]=b[h>>0]|0;h=h+1|0;i=(f[o>>2]|0)+1|0;f[o>>2]=i}while((h|0)!=(m|0))}if(j|0)bm(g+(0-j)|0,c|0,j|0)|0;if((e|0)==(d|0)){o=c;return o|0}else g=c;while(1){b[g>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else g=g+1|0}return c|0}g=g-i+l|0;if((g|0)<0)Fp(a);l=h-i|0;h=l<<1;h=l>>>0<1073741823?(h>>>0>>0?g:h):2147483647;l=c;if(!h)i=0;else i=an(h)|0;m=i+j|0;g=m;j=i+h|0;if((d|0)==(e|0)){d=k;h=g}else{h=m;do{b[h>>0]=b[d>>0]|0;h=g+1|0;g=h;d=d+1|0}while((d|0)!=(e|0));d=f[a>>2]|0;h=g}g=l-d|0;i=m+(0-g)|0;if((g|0)>0)Rg(i|0,d|0,g|0)|0;g=(f[o>>2]|0)-l|0;if((g|0)>0){l=h;Rg(l|0,c|0,g|0)|0;d=f[a>>2]|0;c=l+g|0}else c=h;f[a>>2]=i;f[o>>2]=c;f[n>>2]=j;if(!d){o=m;return o|0}pq(d);o=m;return o|0}function Le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;g=n;if((f[c+56>>2]|0)==-1){e=-1;u=n;return e|0}m=an(96)|0;nl(m,c);f[g>>2]=m;m=hh(a,g)|0;i=f[g>>2]|0;f[g>>2]=0;if(i|0){k=i+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c+8>>2]|0;if(g|0){h=c+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(c)}c=f[i+68>>2]|0;if(c|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(c|0))f[h>>2]=g+(~((g+-4-c|0)>>>2)<<2);pq(c)}k=i+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c>>2]|0;if(g|0){h=c+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(c)}pq(i)}if((m|0)<=-1)ra(20625,20641,67,20738);j=a+8|0;k=a+12|0;c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))ra(20748,20641,68,20738);i=c+(m<<2)|0;c=f[i>>2]|0;do if(!d){d=f[a+80>>2]|0;b[c+84>>0]=0;a=c+68|0;h=c+72|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c>>2;if(d>>>0>i>>>0){lh(a,d-i|0,6108);break}if(d>>>0>>0?(l=c+(d<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{b[c+84>>0]=1;h=f[c+68>>2]|0;g=c+72|0;c=f[g>>2]|0;if((c|0)!=(h|0))f[g>>2]=c+(~((c+-4-h|0)>>>2)<<2);f[(f[i>>2]|0)+80>>2]=f[a+80>>2]}while(0);if((e|0)<=0){e=m;u=n;return e|0}c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))ra(20748,20641,68,20738);kj(f[c+(m<<2)>>2]|0,e)|0;e=m;u=n;return e|0}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;wh(a+12|0);cn(a+1036|0);Vn(a+1068|0);Vn(a+1088|0);Vn(a+1108|0);d=a+1128|0;f[d>>2]=0;c=a+1132|0;f[c>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Fp(d);else{e=b<<2;k=an(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+1136>>2]=g;cj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+1140|0;f[d>>2]=0;c=a+1144|0;f[c>>2]=0;f[a+1148>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+1148>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}d=a+1152|0;f[d>>2]=0;c=a+1156|0;f[c>>2]=0;f[a+1160>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+1160>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=an(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;cj(c|0,0,d|0)|0;f[e>>2]=k}$j(a+1164|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=an(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;cj(d|0,0,h|0)|0;f[e>>2]=k}$j(a+1176|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c);u=j;return}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;cn(a+12|0);Vn(a+44|0);Vn(a+64|0);Vn(a+84|0);d=a+104|0;f[d>>2]=0;c=a+108|0;f[c>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Fp(d);else{e=b<<2;k=an(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+112>>2]=g;cj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+116|0;f[d>>2]=0;c=a+120|0;f[c>>2]=0;f[a+124>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+124>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}d=a+128|0;f[d>>2]=0;c=a+132|0;f[c>>2]=0;f[a+136>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+136>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=an(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;cj(c|0,0,d|0)|0;f[e>>2]=k}$j(a+140|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=an(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;cj(d|0,0,h|0)|0;f[e>>2]=k}$j(a+152|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c);u=j;return}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;Vn(a+12|0);Vn(a+32|0);Vn(a+52|0);Vn(a+72|0);d=a+92|0;f[d>>2]=0;c=a+96|0;f[c>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Fp(d);else{e=b<<2;k=an(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+100>>2]=g;cj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+104|0;f[d>>2]=0;c=a+108|0;f[c>>2]=0;f[a+112>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+112>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}d=a+116|0;f[d>>2]=0;c=a+120|0;f[c>>2]=0;f[a+124>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+124>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=an(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;cj(c|0,0,d|0)|0;f[e>>2]=k}$j(a+128|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=an(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;cj(d|0,0,h|0)|0;f[e>>2]=k}$j(a+140|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c);u=j;return}function Pe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+144|0;m=q+136|0;p=q+104|0;i=q;j=an(124)|0;e=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3544;f[j+12>>2]=3524;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;n=j+16|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[j+112>>2]=e;f[j+116>>2]=d;k=j+120|0;f[k>>2]=0;g=j;f[p>>2]=3524;l=p+4|0;h=l+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;h=f[c+12>>2]|0;f[i+4>>2]=3524;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;n=i+8|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));o=h;f[l>>2]=o;o=((f[o+4>>2]|0)-(f[h>>2]|0)>>2>>>0)/3|0;b[m>>0]=0;Zg(p+8|0,o,m);Ra[f[(f[p>>2]|0)+8>>2]&127](p);f[i>>2]=f[l>>2];Xf(i+4|0,p)|0;f[i+36>>2]=h;f[i+40>>2]=d;f[i+44>>2]=e;f[i+48>>2]=j;f[k>>2]=c+72;ug(j,i);f[a>>2]=g;Ci(i);f[p>>2]=3524;e=f[p+20>>2]|0;if(e|0)pq(e);e=f[p+8>>2]|0;if(!e){u=q;return}pq(e);u=q;return}function Qe(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3568;si(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}Zi(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+140>>2]|0;if(b|0)pq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;pq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)pq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+28>>2]|0;if(b|0)pq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;oj(b);pq(b);return}function Re(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3368;fj(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}Zi(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+140>>2]|0;if(b|0)pq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;pq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)pq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+28>>2]|0;if(b|0)pq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;oj(b);pq(b);return}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Te(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+16|0;h=n+4|0;g=n;i=n+8|0;if(!(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)){a=0;u=n;return a|0}m=a+44|0;d=f[m>>2]|0;k=a+8|0;j=a+12|0;e=f[j>>2]|0;c=f[k>>2]|0;b[i>>0]=(e-c|0)>>>2;o=d+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ke(d,h,i,i+1|0)|0;c=f[k>>2]|0;e=f[j>>2]|0}a:do if((c|0)!=(e|0)){d=a+4|0;while(1){p=f[c>>2]|0;c=c+4|0;if(!(Oa[f[(f[p>>2]|0)+8>>2]&31](p,a,f[d>>2]|0)|0)){c=0;break}if((c|0)==(e|0))break a}u=n;return c|0}while(0);if(!(yc(a)|0)){p=0;u=n;return p|0}e=a+32|0;c=f[e>>2]|0;g=a+36|0;d=f[g>>2]|0;b:do if((c|0)!=(d|0)){do{if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,f[c>>2]|0)|0)){c=0;l=18;break}c=c+4|0}while((c|0)!=(d|0));if((l|0)==18){u=n;return c|0}c=f[e>>2]|0;d=f[g>>2]|0;if((c|0)!=(d|0)){while(1){p=f[(f[k>>2]|0)+(f[c>>2]<<2)>>2]|0;c=c+4|0;if(!(Na[f[(f[p>>2]|0)+12>>2]&127](p,f[m>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}u=n;return c|0}}while(0);p=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=n;return p|0}function Ue(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)ra(20625,20641,59,20738);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(20748,20641,60,20738);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ma[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Na[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Na[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;od(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;nd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+1176|0;b=f[g>>2]|0;if(b|0){h=a+1180|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}g=a+1164|0;b=f[g>>2]|0;if(b|0){h=a+1168|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+1152>>2]|0;if(b|0){d=a+1156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+1140>>2]|0;if(b|0){d=a+1144|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+1128>>2]|0;if(!b){h=a+1108|0;gl(h);h=a+1088|0;gl(h);h=a+1068|0;gl(h);h=a+1036|0;qj(h);a=a+12|0;vh(a);return}d=a+1132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);h=a+1108|0;gl(h);h=a+1088|0;gl(h);h=a+1068|0;gl(h);h=a+1036|0;qj(h);a=a+12|0;vh(a);return}function We(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ke(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ke(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}gg(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];cb(a,k,m);d=0;do{ed(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);ed(a+1036|0,e);ng(g,e);ng(c,e);ng(b,e);u=n;return 1}function Xe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ke(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ke(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}gg(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];gb(a,k,m);d=0;do{ed(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);ed(a+1036|0,e);ng(g,e);ng(c,e);ng(b,e);u=n;return 1}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+60>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,g,g+4|0)|0}cn(k);Uk(k);if((f[g>>2]|0)>0){c=a+56|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;$i(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}ed(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;qj(k);u=m;return 1}function Ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)ra(20625,20641,59,20738);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(20748,20641,60,20738);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ma[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Na[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Na[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;Ic(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;Hc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function _e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+80>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,g,g+4|0)|0}cn(k);Uk(k);if((f[g>>2]|0)>0){c=a+76|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;$i(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}ed(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;qj(k);u=m;return 1}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=a+4|0;c=f[j>>2]|0;i=a+100|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;switch(c|0){case 43:case 45:{d=(c|0)==45&1;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;if((b|0)!=0&(c+-48|0)>>>0>9?(f[i>>2]|0)!=0:0){f[j>>2]=(f[j>>2]|0)+-1;g=d}else g=d;break}default:g=0}if((c+-48|0)>>>0>9)if(!(f[i>>2]|0)){d=-2147483648;c=0}else{f[j>>2]=(f[j>>2]|0)+-1;d=-2147483648;c=0}else{d=0;do{d=c+-48+(d*10|0)|0;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0}while((c+-48|0)>>>0<10&(d|0)<214748364);b=((d|0)<0)<<31>>31;if((c+-48|0)>>>0<10){do{b=$m(d|0,b|0,10,0)|0;d=I;c=Mn(c|0,((c|0)<0)<<31>>31|0,-48,-1)|0;d=Mn(c|0,I|0,b|0,d|0)|0;b=I;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0}while((c+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&d>>>0<2061584302));e=d;d=c}else{e=d;d=c}c=f[i>>2]|0;if((d+-48|0)>>>0<10)do{d=f[j>>2]|0;if(d>>>0>>0){f[j>>2]=d+1;d=h[d>>0]|0}else{d=Xi(a)|0;c=f[i>>2]|0}}while((d+-48|0)>>>0<10);if(c|0)f[j>>2]=(f[j>>2]|0)+-1;j=(g|0)!=0;c=_n(0,0,e|0,b|0)|0;d=j?I:b;c=j?c:e}I=d;return c|0}function af(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=u;u=u+96|0;o=p;if(!c){o=-1;u=p;return o|0}Im(o);sj(o,d,0,g&255,i,0,g<<2,0,0,0);j=Le(c,o,1,e)|0;if((j|0)<=-1)ra(20625,20641,67,20738);a=f[c+8>>2]|0;if(((f[c+12>>2]|0)-a>>2|0)<=(j|0))ra(20748,20641,68,20738);a=f[a+(j<<2)>>2]|0;if((e|0)>0){m=a+84|0;k=a+68|0;l=a+40|0;i=a+64|0;d=0;do{if(!(b[m>>0]|0))a=f[(f[k>>2]|0)+(d<<2)>>2]|0;else a=d;r=h+((X(d,g)|0)<<2)|0;s=l;q=f[s>>2]|0;a=$m(a|0,((a|0)<0)<<31>>31|0,q|0,f[s+4>>2]|0)|0;Rg((f[f[i>>2]>>2]|0)+a|0,r|0,q|0)|0;d=d+1|0}while((d|0)!=(e|0))}i=c+80|0;a=f[i>>2]|0;if(a)if((a|0)==(e|0))n=14;else j=-1;else{f[i>>2]=e;n=14}s=o+88|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){i=f[a+8>>2]|0;if(i|0){d=a+12|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;pq(i)}pq(a)}a=f[o+68>>2]|0;if(a|0){d=o+72|0;i=f[d>>2]|0;if((i|0)!=(a|0))f[d>>2]=i+(~((i+-4-a|0)>>>2)<<2);pq(a)}s=o+64|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){i=f[a>>2]|0;if(i|0){d=a+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;pq(i)}pq(a)}s=j;u=p;return s|0}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)ra(20006,19918,64,20001);else if((e|0)==12)ra(20060,20079,89,20179);else if((e|0)==14)return d|0;return 0}function cf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d[b>>1]|0;n=d[b+2>>1]|0;o=d[b+4>>1]|0;i=d[b+6>>1]|0;l=((((m^318)&65535)+239^n&65535)+239^o&65535)+239^i&65535;j=f[a+4>>2]|0;if(!j){q=0;return q|0}e=j+-1|0;c=(e&j|0)==0;if(!c)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;b=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!b){q=0;return q|0}b=f[b>>2]|0;if(!b){q=0;return q|0}if(c){while(1){h=f[b+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){b=0;h=26;break}if((((a?(g=b+8|0,(d[g>>1]|0)==m<<16>>16):0)?(d[g+2>>1]|0)==n<<16>>16:0)?(d[b+12>>1]|0)==o<<16>>16:0)?(d[g+6>>1]|0)==i<<16>>16:0){h=26;break}b=f[b>>2]|0;if(!b){b=0;h=26;break}}if((h|0)==26)return b|0}else p=b;while(1){b=f[p+4>>2]|0;a=(b|0)==(l|0);if(!a){if(b>>>0>=j>>>0)b=(b>>>0)%(j>>>0)|0;if((b|0)!=(k|0)){b=0;h=26;break}if(a)h=22}else h=22;if(((((h|0)==22?(h=0,q=p+8|0,(d[q>>1]|0)==m<<16>>16):0)?(d[q+2>>1]|0)==n<<16>>16:0)?(d[p+12>>1]|0)==o<<16>>16:0)?(d[q+6>>1]|0)==i<<16>>16:0){b=p;h=26;break}p=f[p>>2]|0;if(!p){b=0;h=26;break}}if((h|0)==26)return b|0;return 0}function df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(20006,19918,64,20001);else if((e|0)==12)ra(20060,20079,89,20179);else if((e|0)==13)return d|0;return 0}function ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=b[c>>0]|0;n=b[c+1>>0]|0;o=b[c+2>>0]|0;i=b[c+3>>0]|0;l=(((m&255^318)+239^n&255)+239^o&255)+239^i&255;j=f[a+4>>2]|0;if(!j){q=0;return q|0}e=j+-1|0;d=(e&j|0)==0;if(!d)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;c=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!c){q=0;return q|0}c=f[c>>2]|0;if(!c){q=0;return q|0}if(d){while(1){h=f[c+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){c=0;h=26;break}if((((a?(g=c+8|0,(b[g>>0]|0)==m<<24>>24):0)?(b[g+1>>0]|0)==n<<24>>24:0)?(b[g+2>>0]|0)==o<<24>>24:0)?(b[g+3>>0]|0)==i<<24>>24:0){h=26;break}c=f[c>>2]|0;if(!c){c=0;h=26;break}}if((h|0)==26)return c|0}else p=c;while(1){c=f[p+4>>2]|0;a=(c|0)==(l|0);if(!a){if(c>>>0>=j>>>0)c=(c>>>0)%(j>>>0)|0;if((c|0)!=(k|0)){c=0;h=26;break}if(a)h=22}else h=22;if(((((h|0)==22?(h=0,q=p+8|0,(b[q>>0]|0)==m<<24>>24):0)?(b[q+1>>0]|0)==n<<24>>24:0)?(b[q+2>>0]|0)==o<<24>>24:0)?(b[q+3>>0]|0)==i<<24>>24:0){c=p;h=26;break}p=f[p>>2]|0;if(!p){c=0;h=26;break}}if((h|0)==26)return c|0;return 0}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(20006,19918,64,20001);else if((e|0)==12)ra(20060,20079,89,20179);else if((e|0)==13)return d|0;return 0}function gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3476;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Fp(h);else{c=((c+-1|0)>>>5)+1|0;o=an(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Fp(h);o=((c+-1|0)>>>5)+1|0;a=an(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);u=n;return}function hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=an(40)|0;e=l+16|0;dj(e,c);dj(l+28|0,c+12|0);c=a+4|0;d=f[c>>2]|0;do if(d){j=b[l+27>>0]|0;i=j<<24>>24<0;j=i?f[l+20>>2]|0:j&255;i=i?f[e>>2]|0:e;h=d;while(1){d=h+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[h+20>>2]|0:e&255;c=e>>>0>>0?e:j;if((c|0)!=0?(k=fl(i,g?f[d>>2]|0:d,c)|0,(k|0)!=0):0)if((k|0)<0)g=7;else g=9;else if(j>>>0>>0)g=7;else g=9;if((g|0)==7){c=f[h>>2]|0;if(!c){g=8;break}}else if((g|0)==9){d=h+4|0;c=f[d>>2]|0;if(!c){g=11;break}}h=c}if((g|0)==8){e=h;d=h;break}else if((g|0)==11){e=h;break}}else{e=c;d=c}while(0);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=e;f[d>>2]=l;c=f[f[a>>2]>>2]|0;if(!c){k=l;j=a+4|0;j=f[j>>2]|0;He(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}f[a>>2]=c;k=f[d>>2]|0;j=a+4|0;j=f[j>>2]|0;He(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;gl(h);h=a+52|0;gl(h);h=a+32|0;gl(h);a=a+12|0;gl(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);h=a+72|0;gl(h);h=a+52|0;gl(h);h=a+32|0;gl(h);a=a+12|0;gl(a);return}function kf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+152|0;b=f[g>>2]|0;if(b|0){h=a+156|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+128>>2]|0;if(b|0){d=a+132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+104>>2]|0;if(!b){h=a+84|0;gl(h);h=a+64|0;gl(h);h=a+44|0;gl(h);a=a+12|0;qj(a);return}d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);h=a+84|0;gl(h);h=a+64|0;gl(h);h=a+44|0;gl(h);a=a+12|0;qj(a);return}function lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+40+(h*12|0)+4|0;Rh(f[c>>2]|0,b)|0;if(f[c>>2]|0){cn(i);Uk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+40+(h*12|0)|0;do{d=0;while(1){m=d+c|0;$i(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}ed(i,b);qj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;u=l;return 1}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3524;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Fp(h);else{c=((c+-1|0)>>>5)+1|0;o=an(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Fp(h);o=((c+-1|0)>>>5)+1|0;a=an(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);u=n;return}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>3>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>3;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){m=c;l=f[m+4>>2]|0;k=e;f[k>>2]=f[m>>2];f[k+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(!g){d=j+(b<<3)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-8-d|0)>>>3)<<3)|0;break}}else{g=b-h|0;d=i;e=g;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=a;d=i+(g<<3)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>536870911)Fp(a);m=d>>2;d=d>>3>>>0<268435455?(m>>>0>>0?b:m):536870911;if(d>>>0>536870911)Fp(a);h=an(d<<3)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<3);d=h;e=b;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=g;d=h+(b<<3)|0}while(0);f[e>>2]=d;return}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+60+(h*12|0)+4|0;Rh(f[c>>2]|0,b)|0;if(f[c>>2]|0){cn(i);Uk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+60+(h*12|0)|0;do{d=0;while(1){m=d+c|0;$i(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}ed(i,b);qj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;u=l;return 1}function pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=f[c>>2]|0;m=f[l>>2]|0;g=f[a+4>>2]|0;c=f[l+4>>2]|0;i=g+-1|0;j=(i&g|0)==0;if(!j)if(c>>>0>>0)h=c;else h=(c>>>0)%(g>>>0)|0;else h=i&c;d=(f[a>>2]|0)+(h<<2)|0;k=f[d>>2]|0;while(1){c=f[k>>2]|0;if((c|0)==(l|0))break;else k=c}if((k|0)!=(a+8|0)){c=f[k+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;e=21}else e=13}else e=13;do if((e|0)==13){if(m|0){c=f[m+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;c=m;e=22;break}}f[d>>2]=0;d=f[l>>2]|0;e=21}while(0);if((e|0)==21){c=d;if(d)e=22}if((e|0)==22){d=f[d+4>>2]|0;if(!j){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0}else d=d&i;if((d|0)!=(h|0)){f[(f[a>>2]|0)+(d<<2)>>2]=k;c=f[l>>2]|0}}f[k>>2]=c;f[l>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!l)return m|0;d=l+8|0;c=f[l+20>>2]|0;if(c|0){e=l+24|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pq(c)}if((b[d+11>>0]|0)<0)pq(f[d>>2]|0);pq(l);return m|0}function qf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ke(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ke(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;wm(c);b=a+32|0;wm(b);m=a+52|0;wm(m);n=a+72|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];ib(a,i,k);ng(c,e);ng(b,e);ng(m,e);ng(n,e);u=l;return 1}function rf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ke(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ke(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;Uk(c);b=a+44|0;wm(b);m=a+64|0;wm(m);n=a+84|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];jb(a,i,k);ed(c,e);ng(b,e);ng(m,e);ng(n,e);u=l;return 1}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;j=n+12|0;k=n+8|0;d=n+4|0;g=n;if(!b){c=an(76)|0;b=an(12)|0;e=f[(f[a+4>>2]|0)+80>>2]|0;f[b+4>>2]=0;f[b>>2]=3796;f[b+8>>2]=e;f[g>>2]=b;jl(c,g,0);f[d>>2]=c;b=a+12|0;e=f[b>>2]|0;if(e>>>0<(f[a+16>>2]|0)>>>0){f[d>>2]=0;f[e>>2]=c;f[b>>2]=e+4}else Lg(a+8|0,d);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0;f[g>>2]=0;if(!c){u=n;return 1}Ra[f[(f[c>>2]|0)+4>>2]&127](c);u=n;return 1}e=f[f[a+8>>2]>>2]|0;f[j>>2]=b;m=e+4|0;l=e+8|0;c=f[l>>2]|0;if((c|0)==(f[e+12>>2]|0))Gi(m,j);else{f[c>>2]=b;f[l>>2]=c+4}d=f[j>>2]|0;h=e+16|0;b=e+20|0;e=f[b>>2]|0;c=f[h>>2]|0;g=e-c>>2;if((d|0)>=(g|0)){a=d+1|0;f[k>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(i=c+(a<<2)|0,(e|0)!=(i|0)):0)f[b>>2]=e+(~((e+-4-i|0)>>>2)<<2)}else{lh(h,a-g|0,k);d=f[j>>2]|0;c=f[h>>2]|0}}f[c+(d<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;u=n;return 1} +function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Ib(t,l,c);a=l+4|0}if((s|0)==82){s=0;Ib(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Jb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Jb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Kb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Kb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Lb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Lb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Mb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+16|0;B=F;x=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[x>>2]=$(1.0);E=a+20|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[a+36>>2]=$(1.0);d=f[c+8>>2]|0;a:do if(d|0){z=a+4|0;A=a+12|0;y=a+8|0;e=d;w=d;while(1){v=e+8|0;r=b[v+11>>0]|0;t=r<<24>>24<0;s=t?f[v>>2]|0:v;r=t?f[e+12>>2]|0:r&255;if(r>>>0>3){e=s;d=r;g=r;while(1){t=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;d=(X(t>>>24^t,1540483477)|0)^(X(d,1540483477)|0);g=g+-4|0;if(g>>>0<=3)break;else e=e+4|0}t=r+-4|0;e=t&-4;g=s+(e+4)|0;e=t-e|0}else{g=s;d=r;e=r}switch(e|0){case 3:{d=h[g+2>>0]<<16^d;D=8;break}case 2:{D=8;break}case 1:{D=9;break}default:{}}if((D|0)==8){d=h[g+1>>0]<<8^d;D=9}if((D|0)==9){D=0;d=X(h[g>>0]^d,1540483477)|0}t=X(d>>>13^d,1540483477)|0;t=t>>>15^t;i=f[z>>2]|0;q=(i|0)==0;b:do if(!q){p=i+-1|0;g=(p&i|0)==0;if(!g)if(t>>>0>>0)e=t;else e=(t>>>0)%(i>>>0)|0;else e=t&p;d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(C=f[d>>2]|0,(C|0)!=0):0){d=(r|0)==0;if(g){if(d){d=C;while(1){s=f[d+4>>2]|0;if(!((s|0)==(t|0)|(s&p|0)==(e|0))){D=50;break b}s=b[d+8+11>>0]|0;if(!((s<<24>>24<0?f[d+12>>2]|0:s&255)|0))break b;d=f[d>>2]|0;if(!d){D=50;break b}}}else l=C;while(1){k=f[l+4>>2]|0;if(!((k|0)==(t|0)|(k&p|0)==(e|0))){D=50;break b}d=l+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[l+12>>2]|0:j)|0)==(r|0)){g=f[d>>2]|0;if(k)if(!(fl(g,s,r)|0))break b;else break;if((g&255)<<24>>24==(b[s>>0]|0)){g=s;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){D=50;break b}}}if(d){g=C;while(1){d=f[g+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0;if((d|0)!=(e|0)){D=50;break b}}s=b[g+8+11>>0]|0;if(!((s<<24>>24<0?f[g+12>>2]|0:s&255)|0))break b;g=f[g>>2]|0;if(!g){D=50;break b}}}else l=C;while(1){d=f[l+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0;if((d|0)!=(e|0)){D=50;break b}}d=l+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[l+12>>2]|0:j)|0)==(r|0)){g=f[d>>2]|0;if(k)if(!(fl(g,s,r)|0))break b;else break;if((g&255)<<24>>24==(b[s>>0]|0)){g=s;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){D=50;break}}}else D=50}else{e=0;D=50}while(0);if((D|0)==50){D=0;Vh(B,a,t,v);o=$(((f[A>>2]|0)+1|0)>>>0);G=$(i>>>0);m=$(n[x>>2]);do if(q|o>$(G*m)){d=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(o/m)))>>>0;Wh(a,d>>>0>>0?e:d);d=f[z>>2]|0;e=d+-1|0;if(!(e&d)){i=d;e=e&t;break}if(t>>>0>>0){i=d;e=t}else{i=d;e=(t>>>0)%(d>>>0)|0}}while(0);d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if(!d){f[f[B>>2]>>2]=f[y>>2];f[y>>2]=f[B>>2];f[(f[a>>2]|0)+(e<<2)>>2]=y;g=f[B>>2]|0;d=f[g>>2]|0;if(d|0){d=f[d+4>>2]|0;e=i+-1|0;if(e&i){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&e;f[(f[a>>2]|0)+(d<<2)>>2]=g}}else{f[f[B>>2]>>2]=f[d>>2];f[d>>2]=f[B>>2]}f[A>>2]=(f[A>>2]|0)+1}d=f[w>>2]|0;if(!d)break a;else{e=d;w=d}}}while(0);d=f[c+28>>2]|0;if(!d){u=F;return}do{D=d;a=an(40)|0;Mb(a,f[D+20>>2]|0);D=xc(E,D+8|0)|0;l=f[D>>2]|0;f[D>>2]=a;if(l|0){e=f[l+28>>2]|0;if(e|0)do{D=e;e=f[e>>2]|0;ei(D+8|0);pq(D)}while((e|0)!=0);D=l+20|0;e=f[D>>2]|0;f[D>>2]=0;if(e|0)pq(e);e=f[l+8>>2]|0;if(e|0)do{j=e;e=f[e>>2]|0;k=j+8|0;g=f[j+20>>2]|0;if(g|0){i=j+24|0;if((f[i>>2]|0)!=(g|0))f[i>>2]=g;pq(g)}if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);pq(j)}while((e|0)!=0);e=f[l>>2]|0;f[l>>2]=0;if(e|0)pq(e);pq(l)}d=f[d>>2]|0}while((d|0)!=0);u=F;return}function Nb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;W=u;u=u+16|0;S=W+8|0;U=W;R=W+4|0;T=a+16|0;d=f[T>>2]|0;Q=a+20|0;c=f[Q>>2]|0;if((c|0)==(d|0))c=d;else{c=c+(~((c+-4-d|0)>>>2)<<2)|0;f[Q>>2]=c}N=a+24|0;if((c|0)==(f[N>>2]|0)){Gi(T,b);d=f[T>>2]|0;e=f[Q>>2]|0}else{f[c>>2]=f[b>>2];e=c+4|0;f[Q>>2]=e}c=f[a+8>>2]|0;c=(f[c+100>>2]|0)-(f[c+96>>2]|0)|0;M=(c|0)/12|0;if((d|0)==(e|0)){u=W;return 1}L=a+28|0;A=(c|0)>0;C=a+164|0;z=a+12|0;x=a+76|0;y=a+80|0;I=a+72|0;J=a+200|0;K=a+320|0;w=a+152|0;q=a+84|0;G=a+324|0;v=a+292|0;r=a+304|0;H=a+316|0;E=a+328|0;s=a+336|0;D=a+332|0;F=a+168|0;t=a+140|0;B=a+120|0;c=e;do{d=f[c+-4>>2]|0;f[b>>2]=d;a:do if((d|0)>=0?(p=(d>>>0)/3|0,O=f[L>>2]|0,(f[O+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){if(A){d=O;c=0;while(1){p=c+1|0;f[C>>2]=(f[C>>2]|0)+1;o=f[b>>2]|0;o=(o|0)<0?-1073741824:(o>>>0)/3|0;c=d+(o>>>5<<2)|0;f[c>>2]=1<<(o&31)|f[c>>2];c=f[x>>2]|0;if((c|0)==(f[y>>2]|0))Gi(I,b);else{f[c>>2]=f[b>>2];f[x>>2]=c+4}f[K>>2]=f[b>>2];d=f[b>>2]|0;if((d|0)<0)n=-1073741824;else n=f[(f[f[z>>2]>>2]|0)+(d<<2)>>2]|0;m=(f[(f[w>>2]|0)+(n<<2)>>2]|0)!=-1;e=(f[q>>2]|0)+(n>>>5<<2)|0;g=1<<(n&31);c=f[e>>2]|0;do if(!(c&g)){f[e>>2]=c|g;if(m){d=f[b>>2]|0;V=38;break}f[G>>2]=(f[G>>2]|0)+1;d=f[K>>2]|0;c=d+1|0;do if((d|0)>=0){c=((c|0)%3|0|0)==0?d+-2|0:c;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else c=d;while(0);e=f[v>>2]|0;o=f[r>>2]|0;n=o+(f[e+(c<<2)>>2]<<2)|0;c=f[n>>2]|0;f[n>>2]=c+-1;e=o+(f[e+(d<<2)>>2]<<2)|0;f[e>>2]=(f[e>>2]|0)+-1;e=f[H>>2]|0;if((e|0)!=-1){d=f[E>>2]|0;if((c|0)<(d|0))c=d;else{o=f[D>>2]|0;c=(c|0)>(o|0)?o:c}h=c-d|0;g=f[s>>2]|0;c=f[3612+(e<<2)>>2]|0;f[S>>2]=c;e=g+(h*12|0)+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+(h*12|0)+8>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else Gi(g+(h*12|0)|0,S)}f[H>>2]=0;c=f[b>>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=f[(f[(f[z>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}f[b>>2]=c}else V=38;while(0);if((V|0)==38){V=0;l=(d|0)<0;j=d+1|0;if(!l){c=((j|0)%3|0|0)==0?d+-2|0:j;if((c|0)<0)e=c;else e=f[(f[(f[z>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;f[U>>2]=e;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[(f[z>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;i=(e|0)<0;h=i?-1073741824:(e>>>0)/3|0;g=(c|0)<0;k=g?-1073741824:(c>>>0)/3|0;e=((j|0)%3|0|0)==0?d+-2|0:j;if((e|0)>=0)e=f[(f[(f[z>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}else{f[U>>2]=d;g=1;i=1;c=d;k=-1073741824;h=-1073741824;e=d}if((e|0)!=-1073741824?(j=(e|0)<0?-1073741824:(e>>>0)/3|0,P=f[L>>2]|0,(f[P+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!l){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)!=-1073741824?(l=(d|0)<0?-1073741824:(d>>>0)/3|0,(f[P+(l>>>5<<2)>>2]&1<<(l&31)|0)==0):0){V=67;break}if(!g)vf(a,f[C>>2]|0,o,0,k);fd(J,3);c=f[U>>2]|0}else{if(!i){vf(a,f[C>>2]|0,o,1,h);d=f[b>>2]|0}if((d|0)>=0){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)==-1073741824){V=55;break}n=(d|0)<0?-1073741824:(d>>>0)/3|0;if(f[(f[L>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0){V=55;break}fd(J,5)}f[b>>2]=c}if((p|0)>=(M|0))break a;d=f[L>>2]|0;c=p}do if((V|0)==55){V=0;if(!g)vf(a,f[C>>2]|0,o,0,k);fd(J,7);f[Q>>2]=(f[Q>>2]|0)+-4}else if((V|0)==67){V=0;fd(J,1);f[F>>2]=(f[F>>2]|0)+1;if(m?(p=f[(f[w>>2]|0)+(n<<2)>>2]|0,(1<<(p&31)&f[(f[t>>2]|0)+(p>>>5<<2)>>2]|0)==0):0){f[R>>2]=f[b>>2];f[S>>2]=f[R>>2];Ge(a,S,0)|0}p=f[C>>2]|0;f[S>>2]=o;d=ue(B,S)|0;f[d>>2]=p;d=f[Q>>2]|0;f[d+-4>>2]=c;if((d|0)==(f[N>>2]|0)){Gi(T,U);break}else{f[d>>2]=f[U>>2];f[Q>>2]=d+4;break}}while(0)}}else V=11;while(0);if((V|0)==11){V=0;f[Q>>2]=c+-4}c=f[Q>>2]|0}while((f[T>>2]|0)!=(c|0));u=W;return 1}function Ob(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;Q=u;u=u+48|0;P=Q+16|0;K=Q+12|0;N=Q;F=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[F>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;a:do if(!g){i=0;o=0}else{if(g>>>0>1073741823)Fp(N);D=g<<2;w=an(D)|0;f[N>>2]=w;C=w+(g<<2)|0;f[N+8>>2]=C;cj(w|0,0,D|0)|0;f[O>>2]=C;C=c+48|0;D=c+40|0;y=P+4|0;B=P+12|0;z=P+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;t=0;e=w;w=0;o=0;while(1){m=x+w|0;r=C;l=f[r>>2]|0;r=f[r+4>>2]|0;v=D;v=$m(m|0,((m|0)<0)<<31>>31|0,f[v>>2]|0,f[v+4>>2]|0)|0;r=Mn(v|0,I|0,l|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;f[K>>2]=r;l=r&65535;v=r>>>16;m=v&65535;v=(r&65535^318)+239^v;s=(t|0)==0;b:do if(!s){j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)k=v;else k=(v>>>0)%(t>>>0)|0;else k=v&j;g=f[(f[P>>2]|0)+(k<<2)>>2]|0;do if(g|0?(H=f[g>>2]|0,H|0):0){c:do if(i){g=H;while(1){R=f[g+4>>2]|0;i=(R|0)==(v|0);if(!(i|(R&j|0)==(k|0))){k=27;break c}if((i?(J=g+8|0,(d[J>>1]|0)==l<<16>>16):0)?(d[J+2>>1]|0)==m<<16>>16:0){k=26;break c}g=f[g>>2]|0;if(!g){k=27;break}}}else{g=H;while(1){i=f[g+4>>2]|0;if((i|0)==(v|0)){R=g+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=26;break c}}else{if(i>>>0>=t>>>0)i=(i>>>0)%(t>>>0)|0;if((i|0)!=(k|0)){k=27;break c}}g=f[g>>2]|0;if(!g){k=27;break}}}while(0);if((k|0)==26){k=0;f[e+(w<<2)>>2]=f[g+12>>2];break b}else if((k|0)==27)if(s){g=0;k=46;break b}else break}while(0);j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)g=v;else g=(v>>>0)%(t>>>0)|0;else g=j&v;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0){if(i){e=G;while(1){R=f[e+4>>2]|0;if(!((R|0)==(v|0)|(R&j|0)==(g|0))){k=46;break b}R=e+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=61;break b}e=f[e>>2]|0;if(!e){k=46;break b}}}else i=G;while(1){e=f[i+4>>2]|0;if((e|0)!=(v|0)){if(e>>>0>=t>>>0)e=(e>>>0)%(t>>>0)|0;if((e|0)!=(g|0)){k=46;break b}}R=i+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=61;break b}i=f[i>>2]|0;if(!i){k=46;break}}}else k=46}else{g=0;k=46}while(0);if((k|0)==46){k=0;j=an(16)|0;R=j+8|0;d[R>>1]=r;d[R+2>>1]=r>>>16;f[j+12>>2]=o;f[j+4>>2]=v;f[j>>2]=0;q=$(((f[B>>2]|0)+1|0)>>>0);S=$(t>>>0);p=$(n[F>>2]);do if(s|q>$(S*p)){g=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;e=~~$(W($(q/p)))>>>0;Ch(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&v;break}if(v>>>0>>0){i=g;g=v}else{i=g;g=(v>>>0)%(g>>>0)|0}}else i=t;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[z>>2];f[z>>2]=j;f[e>>2]=z;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;k=59}}else{f[j>>2]=f[g>>2];k=59}if((k|0)==59)f[g>>2]=j;f[B>>2]=(f[B>>2]|0)+1;k=61}if((k|0)==61){R=E;e=f[R>>2]|0;R=$m(e|0,f[R+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;Rg((f[f[A>>2]>>2]|0)+R|0,K|0,e|0)|0;e=f[N>>2]|0;f[e+(w<<2)>>2]=o;o=o+1|0}g=w+1|0;i=f[M>>2]|0;if((g|0)>=(i|0))break a;t=f[y>>2]|0;w=g}}while(0);if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[N>>2]|0;e=g>>2;g=0;do{R=i+(g<<2)|0;f[R>>2]=f[j+(f[R>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(L=g+(i<<2)|0,(e|0)!=(L|0)):0)f[j>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[M>>2]|0}if((i|0)>0){j=f[N>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[M>>2]=o}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[P+8>>2]|0;if(g|0)do{R=g;g=f[g>>2]|0;pq(R)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return o|0}pq(g);u=Q;return o|0}function Pb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;Q=u;u=u+48|0;P=Q+12|0;K=Q+32|0;N=Q;F=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[F>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;a:do if(!g){i=0;o=0}else{if(g>>>0>1073741823)Fp(N);D=g<<2;w=an(D)|0;f[N>>2]=w;C=w+(g<<2)|0;f[N+8>>2]=C;cj(w|0,0,D|0)|0;f[O>>2]=C;C=c+48|0;D=c+40|0;y=P+4|0;B=P+12|0;z=P+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;t=0;e=w;w=0;o=0;while(1){m=x+w|0;r=C;l=f[r>>2]|0;r=f[r+4>>2]|0;v=D;v=$m(m|0,((m|0)<0)<<31>>31|0,f[v>>2]|0,f[v+4>>2]|0)|0;r=Mn(v|0,I|0,l|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8;d[K>>1]=r;l=r&255;v=(r&65535)>>>8;m=v&255;v=((r&255^318)+239<<16>>16^v)&65535;s=(t|0)==0;b:do if(!s){j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)k=v;else k=(v>>>0)%(t>>>0)|0;else k=v&j;g=f[(f[P>>2]|0)+(k<<2)>>2]|0;do if(g|0?(H=f[g>>2]|0,H|0):0){c:do if(i){g=H;while(1){R=f[g+4>>2]|0;i=(R|0)==(v|0);if(!(i|(R&j|0)==(k|0))){k=27;break c}if((i?(J=g+8|0,(b[J>>0]|0)==l<<24>>24):0)?(b[J+1>>0]|0)==m<<24>>24:0){k=26;break c}g=f[g>>2]|0;if(!g){k=27;break}}}else{g=H;while(1){i=f[g+4>>2]|0;if((i|0)==(v|0)){R=g+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=26;break c}}else{if(i>>>0>=t>>>0)i=(i>>>0)%(t>>>0)|0;if((i|0)!=(k|0)){k=27;break c}}g=f[g>>2]|0;if(!g){k=27;break}}}while(0);if((k|0)==26){k=0;f[e+(w<<2)>>2]=f[g+12>>2];break b}else if((k|0)==27)if(s){g=0;k=46;break b}else break}while(0);j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)g=v;else g=(v>>>0)%(t>>>0)|0;else g=j&v;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0){if(i){e=G;while(1){R=f[e+4>>2]|0;if(!((R|0)==(v|0)|(R&j|0)==(g|0))){k=46;break b}R=e+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=61;break b}e=f[e>>2]|0;if(!e){k=46;break b}}}else i=G;while(1){e=f[i+4>>2]|0;if((e|0)!=(v|0)){if(e>>>0>=t>>>0)e=(e>>>0)%(t>>>0)|0;if((e|0)!=(g|0)){k=46;break b}}R=i+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=61;break b}i=f[i>>2]|0;if(!i){k=46;break}}}else k=46}else{g=0;k=46}while(0);if((k|0)==46){k=0;j=an(16)|0;R=j+8|0;b[R>>0]=r;b[R+1>>0]=r>>8;f[j+12>>2]=o;f[j+4>>2]=v;f[j>>2]=0;q=$(((f[B>>2]|0)+1|0)>>>0);S=$(t>>>0);p=$(n[F>>2]);do if(s|q>$(S*p)){g=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;e=~~$(W($(q/p)))>>>0;Jh(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&v;break}if(v>>>0>>0){i=g;g=v}else{i=g;g=(v>>>0)%(g>>>0)|0}}else i=t;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[z>>2];f[z>>2]=j;f[e>>2]=z;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;k=59}}else{f[j>>2]=f[g>>2];k=59}if((k|0)==59)f[g>>2]=j;f[B>>2]=(f[B>>2]|0)+1;k=61}if((k|0)==61){R=E;e=f[R>>2]|0;R=$m(e|0,f[R+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;Rg((f[f[A>>2]>>2]|0)+R|0,K|0,e|0)|0;e=f[N>>2]|0;f[e+(w<<2)>>2]=o;o=o+1|0}g=w+1|0;i=f[M>>2]|0;if((g|0)>=(i|0))break a;t=f[y>>2]|0;w=g}}while(0);if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[N>>2]|0;e=g>>2;g=0;do{R=i+(g<<2)|0;f[R>>2]=f[j+(f[R>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(L=g+(i<<2)|0,(e|0)!=(L|0)):0)f[j>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[M>>2]|0}if((i|0)>0){j=f[N>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[M>>2]=o}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[P+8>>2]|0;if(g|0)do{R=g;g=f[g>>2]|0;pq(R)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return o|0}pq(g);u=Q;return o|0}function Qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;N=u;u=u+48|0;M=N+20|0;G=N;K=N+8|0;D=M+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;n[D>>2]=$(1.0);J=a+80|0;e=f[J>>2]|0;f[K>>2]=0;L=K+4|0;f[L>>2]=0;f[K+8>>2]=0;a:do if(!e){g=0;m=0}else{if(e>>>0>1073741823)Fp(K);B=e<<2;t=an(B)|0;f[K>>2]=t;A=t+(e<<2)|0;f[K+8>>2]=A;cj(t|0,0,B|0)|0;f[L>>2]=A;A=c+48|0;B=c+40|0;w=M+4|0;z=M+12|0;x=M+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;r=0;d=t;t=0;m=0;while(1){q=v+t|0;l=A;k=f[l>>2]|0;l=f[l+4>>2]|0;s=B;s=$m(q|0,((q|0)<0)<<31>>31|0,f[s>>2]|0,f[s+4>>2]|0)|0;l=Mn(s|0,I|0,k|0,l|0)|0;l=(f[f[c>>2]>>2]|0)+l|0;k=l;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;l=l+4|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;s=G;f[s>>2]=k;f[s+4>>2]=l;s=(k^318)+239^l;q=(r|0)==0;b:do if(!q){i=r+-1|0;g=(i&r|0)==0;if(!g)if(s>>>0>>0)j=s;else j=(s>>>0)%(r>>>0)|0;else j=s&i;e=f[(f[M>>2]|0)+(j<<2)>>2]|0;do if(e|0?(F=f[e>>2]|0,F|0):0){c:do if(g){e=F;while(1){O=f[e+4>>2]|0;g=(O|0)==(s|0);if(!(g|(O&i|0)==(j|0))){j=27;break c}if((g?(f[e+8>>2]|0)==(k|0):0)?(f[e+12>>2]|0)==(l|0):0){j=26;break c}e=f[e>>2]|0;if(!e){j=27;break}}}else{e=F;while(1){g=f[e+4>>2]|0;if((g|0)==(s|0)){if((f[e+8>>2]|0)==(k|0)?(f[e+12>>2]|0)==(l|0):0){j=26;break c}}else{if(g>>>0>=r>>>0)g=(g>>>0)%(r>>>0)|0;if((g|0)!=(j|0)){j=27;break c}}e=f[e>>2]|0;if(!e){j=27;break}}}while(0);if((j|0)==26){j=0;f[d+(t<<2)>>2]=f[e+16>>2];break b}else if((j|0)==27)if(q){e=0;j=46;break b}else break}while(0);i=r+-1|0;g=(i&r|0)==0;if(!g)if(s>>>0>>0)e=s;else e=(s>>>0)%(r>>>0)|0;else e=i&s;d=f[(f[M>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(E=f[d>>2]|0,(E|0)!=0):0){if(g){d=E;while(1){O=f[d+4>>2]|0;if(!((O|0)==(s|0)|(O&i|0)==(e|0))){j=46;break b}if((f[d+8>>2]|0)==(k|0)?(f[d+12>>2]|0)==(l|0):0){j=61;break b}d=f[d>>2]|0;if(!d){j=46;break b}}}else g=E;while(1){d=f[g+4>>2]|0;if((d|0)!=(s|0)){if(d>>>0>=r>>>0)d=(d>>>0)%(r>>>0)|0;if((d|0)!=(e|0)){j=46;break b}}if((f[g+8>>2]|0)==(k|0)?(f[g+12>>2]|0)==(l|0):0){j=61;break b}g=f[g>>2]|0;if(!g){j=46;break}}}else j=46}else{e=0;j=46}while(0);if((j|0)==46){j=0;i=an(20)|0;O=i+8|0;f[O>>2]=k;f[O+4>>2]=l;f[i+16>>2]=m;f[i+4>>2]=s;f[i>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);P=$(r>>>0);o=$(n[D>>2]);do if(q|p>$(P*o)){e=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;d=~~$(W($(p/o)))>>>0;Gh(M,e>>>0>>0?d:e);e=f[w>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&s;break}if(s>>>0>>0){g=e;e=s}else{g=e;e=(s>>>0)%(e>>>0)|0}}else g=r;while(0);d=(f[M>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[x>>2];f[x>>2]=i;f[d>>2]=x;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[M>>2]|0)+(e<<2)|0;j=59}}else{f[i>>2]=f[e>>2];j=59}if((j|0)==59)f[e>>2]=i;f[z>>2]=(f[z>>2]|0)+1;j=61}if((j|0)==61){O=C;d=f[O>>2]|0;O=$m(d|0,f[O+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;Rg((f[f[y>>2]>>2]|0)+O|0,G|0,d|0)|0;d=f[K>>2]|0;f[d+(t<<2)>>2]=m;m=m+1|0}e=t+1|0;g=f[J>>2]|0;if((e|0)>=(g|0))break a;r=f[w>>2]|0;t=e}}while(0);if((m|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[K>>2]|0;d=e>>2;e=0;do{O=g+(e<<2)|0;f[O>>2]=f[i+(f[O>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(H=e+(g<<2)|0,(d|0)!=(H|0)):0)f[i>>2]=d+(~((d+-4-H|0)>>>2)<<2)}else{lh(j,g-k|0,1220);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[J>>2]=m}e=f[K>>2]|0;if(e|0){d=f[L>>2]|0;if((d|0)!=(e|0))f[L>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[M+8>>2]|0;if(e|0)do{O=e;e=f[e>>2]|0;pq(O)}while((e|0)!=0);e=f[M>>2]|0;f[M>>2]=0;if(!e){u=N;return m|0}pq(e);u=N;return m|0}function Rb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+352|0;if(b[k>>0]|0?(z=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))Gi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{lh(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))ra(20748,20641,60,20738);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=an(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3452;n=h+12|0;f[n>>2]=3476;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3476;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3476;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Zg(x+8|0,g,y);Ra[f[(f[x>>2]|0)+8>>2]&127](x);gf(v,x);gf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;Xf(g,y)|0;f[y>>2]=3476;d=f[y+20>>2]|0;if(d|0)pq(d);d=f[y+8>>2]|0;if(d|0)pq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3476;d=f[v+20>>2]|0;if(d|0)pq(d);d=f[v+8>>2]|0;if(d|0)pq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];Xf(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;_f(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}f[r>>2]=3476;d=f[w+24>>2]|0;if(d|0)pq(d);d=f[w+12>>2]|0;if(d|0)pq(d);f[x>>2]=3476;d=f[x+20>>2]|0;if(d|0)pq(d);d=f[x+8>>2]|0;if(d|0)pq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((fi(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Pe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Ld(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=an(76)|0;f[A>>2]=h;jl(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))Gi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else Lg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+288|0;if(b[k>>0]|0?(z=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))Gi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{lh(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))ra(20748,20641,60,20738);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=an(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3452;n=h+12|0;f[n>>2]=3476;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3476;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3476;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Zg(x+8|0,g,y);Ra[f[(f[x>>2]|0)+8>>2]&127](x);gf(v,x);gf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;Xf(g,y)|0;f[y>>2]=3476;d=f[y+20>>2]|0;if(d|0)pq(d);d=f[y+8>>2]|0;if(d|0)pq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3476;d=f[v+20>>2]|0;if(d|0)pq(d);d=f[v+8>>2]|0;if(d|0)pq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];Xf(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;_f(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}f[r>>2]=3476;d=f[w+24>>2]|0;if(d|0)pq(d);d=f[w+12>>2]|0;if(d|0)pq(d);f[x>>2]=3476;d=f[x+20>>2]|0;if(d|0)pq(d);d=f[x+8>>2]|0;if(d|0)pq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((fi(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Pe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Ld(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=an(76)|0;f[A>>2]=h;jl(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))Gi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else Lg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Tb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=a+8|0;f[K>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{H=f[b+(i<<2)>>2]|0;G=(H|0)<(g|0);g=G?H:g;h=G?h:(H|0)>(h|0)?H:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;H=1-g+h|0;f[a+20>>2]=H;g=(H|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(H&1))f[h>>2]=g+-1}y=f[a+48>>2]|0;z=f[a+52>>2]|0;A=e>>>0>1073741823?-1:e<<2;G=mq(A)|0;cj(G|0,0,A|0)|0;H=mq(A)|0;cj(H|0,0,A|0)|0;A=f[a+56>>2]|0;B=A+4|0;i=f[B>>2]|0;j=f[A>>2]|0;g=i-j|0;a:do if((g|0)>4){h=g>>2;s=(e|0)>0;v=a+16|0;r=a+32|0;x=a+12|0;w=a+28|0;u=a+20|0;t=a+24|0;q=y+12|0;p=e<<2;g=h+-1|0;if(i-j>>2>>>0>g>>>0){m=j;C=h;J=g}else Fp(A);while(1){o=f[m+(J<<2)>>2]|0;if(s)cj(G|0,0,p|0)|0;if((o|0)>-1){n=f[q>>2]|0;m=o;d=0;while(1){h=f[n+(m<<2)>>2]|0;if((h|0)>=0){i=f[y>>2]|0;j=f[z>>2]|0;l=f[j+(f[i+(h<<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=f[i+(g<<2)>>2]|0;k=f[j+(g<<2)>>2]|0;g=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;g=f[j+(g<<2)>>2]|0;if((l|0)<(J|0)&(k|0)<(J|0)&(g|0)<(J|0)){j=X(l,e)|0;i=X(k,e)|0;h=X(g,e)|0;if(s){g=0;do{f[H+(g<<2)>>2]=(f[b+(g+h<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(s){g=0;do{l=G+(g<<2)|0;f[l>>2]=(f[l>>2]|0)+(f[H+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}i=d+1|0}else i=d}else i=d;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else d=i}h=X(J,e)|0;if(i){if(s){g=0;do{o=G+(g<<2)|0;f[o>>2]=(f[o>>2]|0)/(i|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[K>>2]|0;if((g|0)>0){k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[v>>2]|0;if((g|0)>(h|0)){g=f[r>>2]|0;f[g+(j<<2)>>2]=h}else{n=f[x>>2]|0;o=f[r>>2]|0;f[o+(j<<2)>>2]=(g|0)<(n|0)?n:g;g=o}j=j+1|0}while((j|0)<(f[K>>2]|0));i=g}else i=f[r>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[w>>2]|0)){if((g|0)>(f[t>>2]|0)){g=g-(f[u>>2]|0)|0;L=67}}else{g=(f[u>>2]|0)+g|0;L=67}if((L|0)==67){L=0;f[h>>2]=g}k=k+1|0;g=f[K>>2]|0}while((k|0)<(g|0))}}else{I=h;L=40}}else{I=X(J,e)|0;L=40}if((L|0)==40?(L=0,E=b+(I<<2)|0,F=c+(I<<2)|0,D=f[K>>2]|0,(D|0)>0):0){h=D;k=0;j=b+((X(C+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[v>>2]|0;if((g|0)>(h|0)){g=f[r>>2]|0;f[g+(i<<2)>>2]=h}else{o=f[x>>2]|0;C=f[r>>2]|0;f[C+(i<<2)>>2]=(g|0)<(o|0)?o:g;g=C}i=i+1|0}while((i|0)<(f[K>>2]|0))}else g=f[r>>2]|0;h=(f[E+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=F+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[w>>2]|0)){if((h|0)>(f[t>>2]|0)){h=h-(f[u>>2]|0)|0;L=52}}else{h=(f[u>>2]|0)+h|0;L=52}if((L|0)==52){L=0;f[i>>2]=h}k=k+1|0;h=f[K>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((J|0)<=1)break a;m=f[A>>2]|0;g=J+-1|0;if((f[B>>2]|0)-m>>2>>>0<=g>>>0)break;else{C=J;J=g}}Fp(A)}while(0);if((e|0)>0)cj(G|0,0,e<<2|0)|0;g=f[K>>2]|0;if((g|0)<=0){nq(H);nq(G);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{J=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(J|0)?J:g;g=a}j=j+1|0}while((j|0)<(f[K>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;L=82}}else{g=(f[m>>2]|0)+g|0;L=82}if((L|0)==82){L=0;f[h>>2]=g}k=k+1|0;g=f[K>>2]|0}while((k|0)<(g|0));nq(H);nq(G);return 1}function Ub(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=a+8|0;f[N>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{J=f[b+(i<<2)>>2]|0;I=(J|0)<(g|0);g=I?J:g;h=I?h:(J|0)>(h|0)?J:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;J=1-g+h|0;f[a+20>>2]=J;g=(J|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(J&1))f[h>>2]=g+-1}x=f[a+48>>2]|0;y=f[a+52>>2]|0;z=e>>>0>1073741823?-1:e<<2;I=mq(z)|0;cj(I|0,0,z|0)|0;J=mq(z)|0;cj(J|0,0,z|0)|0;z=f[a+56>>2]|0;A=z+4|0;i=f[A>>2]|0;j=f[z>>2]|0;g=i-j|0;a:do if((g|0)>4){h=g>>2;q=(e|0)>0;u=a+16|0;p=a+32|0;w=a+12|0;v=a+28|0;t=a+20|0;s=a+24|0;r=x+64|0;o=x+28|0;n=e<<2;g=h+-1|0;if(i-j>>2>>>0>g>>>0){m=j;B=h;L=g}else Fp(z);while(1){m=f[m+(L<<2)>>2]|0;if(q)cj(I|0,0,n|0)|0;if((m|0)>-1){d=f[x>>2]|0;l=m;k=0;do{if(((f[d+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(M=f[(f[(f[r>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(M|0)>=0):0)?(E=f[o>>2]|0,j=f[y>>2]|0,C=f[j+(f[E+(M<<2)>>2]<<2)>>2]|0,D=M+1|0,D=f[j+(f[E+((((D|0)%3|0|0)==0?M+-2|0:D)<<2)>>2]<<2)>>2]|0,E=f[j+(f[E+((((M>>>0)%3|0|0)==0?2:-1)+M<<2)>>2]<<2)>>2]|0,(C|0)<(L|0)&(D|0)<(L|0)&(E|0)<(L|0)):0){h=X(C,e)|0;i=X(D,e)|0;j=X(E,e)|0;if(q){g=0;do{f[J+(g<<2)>>2]=(f[b+(g+j<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+h<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(q){g=0;do{j=I+(g<<2)|0;f[j>>2]=(f[j>>2]|0)+(f[J+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}k=k+1|0}g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if(!(f[d+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[r>>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);l=(g|0)==(m|0)?-1073741824:g}while((l|0)>-1);h=X(L,e)|0;if(k){if(q){g=0;do{m=I+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(k|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[N>>2]|0;if((g|0)>0){k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[u>>2]|0;if((g|0)>(h|0)){g=f[p>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[w>>2]|0;m=f[p>>2]|0;f[m+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=m}j=j+1|0}while((j|0)<(f[N>>2]|0));i=g}else i=f[p>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[v>>2]|0)){if((g|0)>(f[s>>2]|0)){g=g-(f[t>>2]|0)|0;O=65}}else{g=(f[t>>2]|0)+g|0;O=65}if((O|0)==65){O=0;f[h>>2]=g}k=k+1|0;g=f[N>>2]|0}while((k|0)<(g|0))}}else{K=h;O=38}}else{K=X(L,e)|0;O=38}if((O|0)==38?(O=0,G=b+(K<<2)|0,H=c+(K<<2)|0,F=f[N>>2]|0,(F|0)>0):0){h=F;k=0;j=b+((X(B+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[u>>2]|0;if((g|0)>(h|0)){g=f[p>>2]|0;f[g+(i<<2)>>2]=h}else{m=f[w>>2]|0;B=f[p>>2]|0;f[B+(i<<2)>>2]=(g|0)<(m|0)?m:g;g=B}i=i+1|0}while((i|0)<(f[N>>2]|0))}else g=f[p>>2]|0;h=(f[G+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=H+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[v>>2]|0)){if((h|0)>(f[s>>2]|0)){h=h-(f[t>>2]|0)|0;O=50}}else{h=(f[t>>2]|0)+h|0;O=50}if((O|0)==50){O=0;f[i>>2]=h}k=k+1|0;h=f[N>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((L|0)<=1)break a;m=f[z>>2]|0;g=L+-1|0;if((f[A>>2]|0)-m>>2>>>0<=g>>>0)break;else{B=L;L=g}}Fp(z)}while(0);if((e|0)>0)cj(I|0,0,e<<2|0)|0;g=f[N>>2]|0;if((g|0)<=0){nq(J);nq(I);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{M=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(M|0)?M:g;g=a}j=j+1|0}while((j|0)<(f[N>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;O=80}}else{g=(f[m>>2]|0)+g|0;O=80}if((O|0)==80){O=0;f[h>>2]=g}k=k+1|0;g=f[N>>2]|0}while((k|0)<(g|0));nq(J);nq(I);return 1}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;S=u;u=u+96|0;F=S+92|0;G=S+88|0;H=S+72|0;M=S+48|0;N=S+24|0;O=S;L=a+4|0;m=f[L>>2]|0;if(!m)ra(13158,13180,46,13350);K=a+8|0;l=f[K>>2]|0;if(!l)ra(13158,13180,46,13350);J=a+16|0;k=f[J>>2]|0;n=f[c>>2]|0;f[H>>2]=k;f[H+4>>2]=n;D=H+8|0;f[D>>2]=n;b[H+12>>0]=1;k=f[(f[k+28>>2]|0)+(n<<2)>>2]|0;E=a+20|0;i=f[E>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0)Fp(i);c=f[l+(f[c+(k<<2)>>2]<<2)>>2]|0;if(!(b[m+84>>0]|0))c=f[(f[m+68>>2]|0)+(c<<2)>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;f[G>>2]=c;i=b[m+24>>0]|0;f[F>>2]=f[G>>2];lb(m,F,i,M)|0;i=f[D>>2]|0;w=a+28|0;c=(f[w>>2]|0)==0;a:do if((i|0)>=0){A=N+8|0;x=M+8|0;C=N+16|0;y=M+16|0;z=O+8|0;B=O+16|0;k=(n|0)<0;t=n+1|0;v=n+(k?0:((n>>>0)%3|0|0)==0?2:-1)|0;t=k?n:((t|0)%3|0|0)==0?n+-2|0:t;k=0;r=0;l=0;s=0;m=0;o=0;while(1){do if(!c){c=i+1|0;c=((c|0)%3|0|0)==0?i+-2|0:c;if(!((i>>>0)%3|0)){q=i+2|0;break}else{q=i+-1|0;break}}else{c=t;q=v}while(0);p=f[L>>2]|0;if(!p){c=16;break}a=f[K>>2]|0;if(!a){c=16;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(c<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=18;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;f[G>>2]=c;n=b[p+24>>0]|0;f[F>>2]=f[G>>2];lb(p,F,n,N)|0;p=f[L>>2]|0;if(!p){c=23;break}a=f[K>>2]|0;if(!a){c=23;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(q<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=25;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;f[O+16>>2]=0;f[O+20>>2]=0;f[G>>2]=c;i=b[p+24>>0]|0;f[F>>2]=f[G>>2];lb(p,F,i,O)|0;i=N;_=M;Z=f[_>>2]|0;_=f[_+4>>2]|0;i=_n(f[i>>2]|0,f[i+4>>2]|0,Z|0,_|0)|0;c=I;q=A;aa=x;$=f[aa>>2]|0;aa=f[aa+4>>2]|0;q=_n(f[q>>2]|0,f[q+4>>2]|0,$|0,aa|0)|0;p=I;U=C;n=y;T=f[n>>2]|0;n=f[n+4>>2]|0;U=_n(f[U>>2]|0,f[U+4>>2]|0,T|0,n|0)|0;V=I;W=O;_=_n(f[W>>2]|0,f[W+4>>2]|0,Z|0,_|0)|0;Z=I;W=z;aa=_n(f[W>>2]|0,f[W+4>>2]|0,$|0,aa|0)|0;$=I;W=B;n=_n(f[W>>2]|0,f[W+4>>2]|0,T|0,n|0)|0;T=I;W=$m(n|0,T|0,q|0,p|0)|0;a=I;Y=$m(aa|0,$|0,U|0,V|0)|0;X=I;V=$m(_|0,Z|0,U|0,V|0)|0;U=I;T=$m(n|0,T|0,i|0,c|0)|0;n=I;c=$m(aa|0,$|0,i|0,c|0)|0;i=I;p=$m(_|0,Z|0,q|0,p|0)|0;q=I;k=_n(k|0,r|0,Y|0,X|0)|0;k=Mn(k|0,I|0,W|0,a|0)|0;a=I;l=Mn(V|0,U|0,l|0,s|0)|0;l=_n(l|0,I|0,T|0,n|0)|0;n=I;m=_n(m|0,o|0,p|0,q|0)|0;m=Mn(m|0,I|0,c|0,i|0)|0;o=I;yf(H);i=f[D>>2]|0;c=(f[w>>2]|0)==0;if((i|0)<0){j=a;Q=k;R=n;h=l;g=o;e=m;P=c;break a}else{r=a;s=n}}if((c|0)==16)ra(13158,13407,70,13577);else if((c|0)==18)Fp(n);else if((c|0)==23)ra(13158,13407,70,13577);else if((c|0)==25)Fp(n)}else{j=0;Q=0;R=0;h=0;g=0;e=0;P=c}while(0);aa=(j|0)>-1|(j|0)==-1&Q>>>0>4294967295;i=_n(0,0,Q|0,j|0)|0;c=aa?j:I;X=(R|0)>-1|(R|0)==-1&h>>>0>4294967295;Y=_n(0,0,h|0,R|0)|0;Z=X?R:I;$=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;_=_n(0,0,e|0,g|0)|0;$=Mn((X?h:Y)|0,Z|0,($?e:_)|0,($?g:I)|0)|0;c=Mn($|0,I|0,(aa?Q:i)|0,c|0)|0;i=I;if(P)if((c|0)>536870912){aa=An(c|0,i|0,29)|0;aa=aa&7;i=kk(Q|0,j|0,aa|0,0)|0;j=I;h=kk(h|0,R|0,aa|0,0)|0;c=I;e=kk(e|0,g|0,aa|0,0)|0;g=I}else{i=Q;c=R}else if((i|0)>0|(i|0)==0&c>>>0>536870912){$=An(c|0,i|0,29)|0;aa=I;i=kk(Q|0,j|0,$|0,aa|0)|0;j=I;h=kk(h|0,R|0,$|0,aa|0)|0;c=I;e=kk(e|0,g|0,$|0,aa|0)|0;g=I}else{i=Q;c=R}_=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;$=_n(0,0,i|0,j|0)|0;aa=_?j:I;V=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;W=_n(0,0,h|0,c|0)|0;X=V?c:I;Z=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Y=_n(0,0,e|0,g|0)|0;Z=Mn((V?h:W)|0,X|0,(Z?e:Y)|0,(Z?g:I)|0)|0;aa=Mn(Z|0,I|0,(_?i:$)|0,aa|0)|0;$=I;if(($|0)<0|($|0)==0&aa>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=S;return}else ra(13372,13180,95,13350)}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=Ka,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=rd(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];pf(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;xi(B,8);y=d;d=y;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;i=f[B>>2]|0;g=i;b[g>>0]=d;b[g+1>>0]=d>>8;b[g+2>>0]=d>>16;b[g+3>>0]=d>>24;i=i+4|0;b[i>>0]=y;b[i+1>>0]=y>>8;b[i+2>>0]=y>>16;b[i+3>>0]=y>>24;dj(A,c);i=A+12|0;f[i>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;c=f[z>>2]|0;g=f[B>>2]|0;d=c-g|0;if(!d){d=g;g=0}else{xi(i,d);d=f[B>>2]|0;c=f[z>>2]|0;g=f[i>>2]|0}Rg(g|0,d|0,c-d|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){c=t;g=s;d=s;while(1){v=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}v=s+-4|0;c=v&-4;d=t+(c+4)|0;c=v-c|0}else{d=t;g=s;c=s}switch(c|0){case 3:{g=h[d+2>>0]<<16^g;w=10;break}case 2:{w=10;break}case 1:{w=11;break}default:{}}if((w|0)==10){g=h[d+1>>0]<<8^g;w=11}if((w|0)==11)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;i=f[q>>2]|0;r=(i|0)==0;a:do if(!r){p=i+-1|0;d=(p&i|0)==0;if(!d)if(v>>>0>>0)c=v;else c=(v>>>0)%(i>>>0)|0;else c=v&p;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(c|0))){w=52;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=52;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(c|0))){w=52;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=52;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break}}}else w=52}else{c=0;w=52}while(0);if((w|0)==52){kh(e,a,v,A);l=a+12|0;k=$(((f[l>>2]|0)+1|0)>>>0);D=$(i>>>0);j=$(n[a+16>>2]);do if(r|k>$(D*j)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(k/j)))>>>0;Wh(a,g>>>0>>0?c:g);g=f[q>>2]|0;c=g+-1|0;if(!(c&g)){i=g;c=c&v;break}if(v>>>0>>0){i=g;c=v}else{i=g;c=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;c=i+-1|0;if(c&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&c;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;pq(e)}if((b[x>>0]|0)<0)pq(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;pq(e);u=C;return}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=Ka,m=0,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Ka;D=u;u=u+64|0;e=D+40|0;B=D+16|0;C=D;g=rd(a,c)|0;if(g|0){f[B>>2]=g;f[e>>2]=f[B>>2];pf(a,e)|0}f[C>>2]=0;A=C+4|0;f[A>>2]=0;f[C+8>>2]=0;j=d+11|0;i=b[j>>0]|0;m=d+4|0;g=f[m>>2]|0;k=i<<24>>24<0?g:i&255;if(!k){j=i;i=0}else{xi(C,k);j=b[j>>0]|0;g=f[m>>2]|0;i=f[C>>2]|0}k=j<<24>>24<0;Rg(i|0,(k?f[d>>2]|0:d)|0,(k?g:j&255)|0)|0;dj(B,c);k=B+12|0;f[k>>2]=0;z=B+16|0;f[z>>2]=0;f[B+20>>2]=0;i=f[A>>2]|0;g=f[C>>2]|0;j=i-g|0;if(!j){j=g;g=0}else{xi(k,j);j=f[C>>2]|0;i=f[A>>2]|0;g=f[k>>2]|0}Rg(g|0,j|0,i-j|0)|0;x=B+11|0;t=b[x>>0]|0;w=t<<24>>24<0;v=w?f[B>>2]|0:B;t=w?f[B+4>>2]|0:t&255;if(t>>>0>3){i=v;g=t;j=t;while(1){w=X(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,1540483477)|0;g=(X(w>>>24^w,1540483477)|0)^(X(g,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else i=i+4|0}w=t+-4|0;i=w&-4;j=v+(i+4)|0;i=w-i|0}else{j=v;g=t;i=t}switch(i|0){case 3:{g=h[j+2>>0]<<16^g;y=12;break}case 2:{y=12;break}case 1:{y=13;break}default:{}}if((y|0)==12){g=h[j+1>>0]<<8^g;y=13}if((y|0)==13)g=X(h[j>>0]^g,1540483477)|0;w=X(g>>>13^g,1540483477)|0;w=w>>>15^w;q=a+4|0;k=f[q>>2]|0;r=(k|0)==0;a:do if(!r){p=k+-1|0;j=(p&k|0)==0;if(!j)if(w>>>0>>0)i=w;else i=(w>>>0)%(k>>>0)|0;else i=w&p;g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if((g|0)!=0?(s=f[g>>2]|0,(s|0)!=0):0){g=(t|0)==0;if(j){if(g){g=s;while(1){v=f[g+4>>2]|0;if(!((v|0)==(w|0)|(v&p|0)==(i|0))){y=54;break a}v=b[g+8+11>>0]|0;if(!((v<<24>>24<0?f[g+12>>2]|0:v&255)|0))break a;g=f[g>>2]|0;if(!g){y=54;break a}}}else d=s;while(1){s=f[d+4>>2]|0;if(!((s|0)==(w|0)|(s&p|0)==(i|0))){y=54;break a}g=d+8|0;m=b[g+11>>0]|0;c=m<<24>>24<0;m=m&255;do if(((c?f[d+12>>2]|0:m)|0)==(t|0)){j=f[g>>2]|0;if(c)if(!(fl(j,v,t)|0))break a;else break;if((j&255)<<24>>24==(b[v>>0]|0)){j=v;do{m=m+-1|0;g=g+1|0;if(!m)break a;j=j+1|0}while((b[g>>0]|0)==(b[j>>0]|0))}}while(0);d=f[d>>2]|0;if(!d){y=54;break a}}}if(g){j=s;while(1){g=f[j+4>>2]|0;if((g|0)!=(w|0)){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0;if((g|0)!=(i|0)){y=54;break a}}v=b[j+8+11>>0]|0;if(!((v<<24>>24<0?f[j+12>>2]|0:v&255)|0))break a;j=f[j>>2]|0;if(!j){y=54;break a}}}else d=s;while(1){g=f[d+4>>2]|0;if((g|0)!=(w|0)){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0;if((g|0)!=(i|0)){y=54;break a}}g=d+8|0;m=b[g+11>>0]|0;c=m<<24>>24<0;m=m&255;do if(((c?f[d+12>>2]|0:m)|0)==(t|0)){j=f[g>>2]|0;if(c)if(!(fl(j,v,t)|0))break a;else break;if((j&255)<<24>>24==(b[v>>0]|0)){j=v;do{m=m+-1|0;g=g+1|0;if(!m)break a;j=j+1|0}while((b[g>>0]|0)==(b[j>>0]|0))}}while(0);d=f[d>>2]|0;if(!d){y=54;break}}}else y=54}else{i=0;y=54}while(0);if((y|0)==54){kh(e,a,w,B);m=a+12|0;o=$(((f[m>>2]|0)+1|0)>>>0);E=$(k>>>0);l=$(n[a+16>>2]);do if(r|o>$(E*l)){g=(k>>>0<3|(k+-1&k|0)!=0)&1|k<<1;i=~~$(W($(o/l)))>>>0;Wh(a,g>>>0>>0?i:g);g=f[q>>2]|0;i=g+-1|0;if(!(i&g)){k=g;i=i&w;break}if(w>>>0>>0){k=g;i=w}else{k=g;i=(w>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=k+-1|0;if(i&k){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0}else g=g&i;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[m>>2]=(f[m>>2]|0)+1;f[e>>2]=0}e=f[B+12>>2]|0;if(e|0){if((f[z>>2]|0)!=(e|0))f[z>>2]=e;pq(e)}if((b[x>>0]|0)<0)pq(f[B>>2]|0);e=f[C>>2]|0;if(!e){u=D;return}if((f[A>>2]|0)!=(e|0))f[A>>2]=e;pq(e);u=D;return}function Yb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=Ka;U=u;u=u+48|0;T=U+28|0;N=U+8|0;O=U;R=U+16|0;L=T+16|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;n[L>>2]=$(1.0);Q=a+80|0;g=f[Q>>2]|0;f[R>>2]=0;S=R+4|0;f[S>>2]=0;f[R+8>>2]=0;if(!g){i=0;o=0}else{if(g>>>0>1073741823)Fp(R);G=g<<2;H=an(G)|0;f[R>>2]=H;B=H+(g<<2)|0;f[R+8>>2]=B;cj(H|0,0,G|0)|0;f[S>>2]=B;B=f[e>>2]|0;G=c+48|0;H=c+40|0;E=T+4|0;F=T+12|0;D=T+8|0;J=a+40|0;C=a+64|0;K=0;z=0;while(1){w=B+K|0;y=G;x=f[y>>2]|0;y=f[y+4>>2]|0;g=H;g=$m(w|0,((w|0)<0)<<31>>31|0,f[g>>2]|0,f[g+4>>2]|0)|0;y=Mn(g|0,I|0,x|0,y|0)|0;y=(f[f[c>>2]>>2]|0)+y|0;x=y;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;g=N;f[g>>2]=x;f[g+4>>2]=y;g=O;f[g>>2]=x;f[g+4>>2]=y;g=cf(T,O)|0;if(!g){t=O;s=f[t>>2]|0;t=f[t+4>>2]|0;l=s&65535;y=An(s|0,t|0,16)|0;m=y&65535;o=t&65535;v=An(s|0,t|0,48)|0;w=I;r=v&65535;y=((((l^318)&65535)+239^y&65535)+239^t&65535)+239^v;i=f[E>>2]|0;x=(i|0)==0;a:do if(!x){k=i+-1|0;j=(k&i|0)==0;if(!j)if(y>>>0>>0)g=y;else g=(y>>>0)%(i>>>0)|0;else g=y&k;e=f[(f[T>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(M=f[e>>2]|0,(M|0)!=0):0){if(j){e=M;while(1){j=f[e+4>>2]|0;if(!((j|0)==(y|0)|(j&k|0)==(g|0))){A=31;break a}j=e+8|0;if((((d[j>>1]|0)==l<<16>>16?(d[j+2>>1]|0)==m<<16>>16:0)?(d[e+12>>1]|0)==o<<16>>16:0)?(d[j+6>>1]|0)==r<<16>>16:0)break a;e=f[e>>2]|0;if(!e){A=31;break a}}}else j=M;while(1){e=f[j+4>>2]|0;if((e|0)!=(y|0)){if(e>>>0>=i>>>0)e=(e>>>0)%(i>>>0)|0;if((e|0)!=(g|0)){A=31;break a}}k=j+8|0;if((((d[k>>1]|0)==l<<16>>16?(d[k+2>>1]|0)==m<<16>>16:0)?(d[j+12>>1]|0)==o<<16>>16:0)?(d[k+6>>1]|0)==r<<16>>16:0)break a;j=f[j>>2]|0;if(!j){A=31;break}}}else A=31}else{g=0;A=31}while(0);if((A|0)==31){A=0;j=an(20)|0;v=vn(v|0,w|0,48)|0;s=s|v;v=t&65535|I;w=j+8|0;t=w;d[t>>1]=s;d[t+2>>1]=s>>>16;w=w+4|0;d[w>>1]=v;d[w+2>>1]=v>>>16;f[j+16>>2]=z;f[j+4>>2]=y;f[j>>2]=0;q=$(((f[F>>2]|0)+1|0)>>>0);V=$(i>>>0);p=$(n[L>>2]);do if(x|q>$(V*p)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(q/p)))>>>0;Ah(T,g>>>0>>0?e:g);g=f[E>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&y;break}if(y>>>0>>0){i=g;g=y}else{i=g;g=(y>>>0)%(g>>>0)|0}}while(0);e=(f[T>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[D>>2];f[D>>2]=j;f[e>>2]=D;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[T>>2]|0)+(g<<2)|0;A=44}}else{f[j>>2]=f[g>>2];A=44}if((A|0)==44){A=0;f[g>>2]=j}f[F>>2]=(f[F>>2]|0)+1}y=J;g=f[y>>2]|0;y=$m(g|0,f[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Rg((f[f[C>>2]>>2]|0)+y|0,N|0,g|0)|0;f[(f[R>>2]|0)+(K<<2)>>2]=z;g=z+1|0}else{f[(f[R>>2]|0)+(K<<2)>>2]=f[g+16>>2];g=z}K=K+1|0;i=f[Q>>2]|0;if((K|0)>=(i|0)){o=g;break}else z=g}}if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[R>>2]|0;e=g>>2;g=0;do{a=i+(g<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(P=g+(i<<2)|0,(e|0)!=(P|0)):0)f[j>>2]=e+(~((e+-4-P|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[Q>>2]|0}if((i|0)>0){j=f[R>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[Q>>2]=o}g=f[R>>2]|0;if(g|0){e=f[S>>2]|0;if((e|0)!=(g|0))f[S>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[T+8>>2]|0;if(g|0)do{S=g;g=f[g>>2]|0;pq(S)}while((g|0)!=0);g=f[T>>2]|0;f[T>>2]=0;if(!g){u=U;return o|0}pq(g);u=U;return o|0}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+16|0;M=Q+8|0;O=Q;L=Q+4|0;N=a+16|0;d=f[N>>2]|0;K=a+20|0;c=f[K>>2]|0;if((c|0)==(d|0))c=d;else{c=c+(~((c+-4-d|0)>>>2)<<2)|0;f[K>>2]=c}H=a+24|0;if((c|0)==(f[H>>2]|0)){Gi(N,b);d=f[N>>2]|0;e=f[K>>2]|0}else{f[c>>2]=f[b>>2];e=c+4|0;f[K>>2]=e}c=f[a+8>>2]|0;c=(f[c+100>>2]|0)-(f[c+96>>2]|0)|0;G=(c|0)/12|0;if((d|0)==(e|0)){u=Q;return 1}F=a+28|0;z=(c|0)>0;B=a+164|0;y=a+12|0;v=a+76|0;x=a+80|0;D=a+72|0;s=a+152|0;q=a+84|0;t=a+272|0;w=a+276|0;E=a+268|0;C=a+168|0;r=a+140|0;A=a+120|0;c=e;do{d=f[c+-4>>2]|0;f[b>>2]=d;a:do if((d|0)>=0?(p=(d>>>0)/3|0,I=f[F>>2]|0,(f[I+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){if(z){d=I;c=0;while(1){p=c+1|0;f[B>>2]=(f[B>>2]|0)+1;o=f[b>>2]|0;o=(o|0)<0?-1073741824:(o>>>0)/3|0;c=d+(o>>>5<<2)|0;f[c>>2]=1<<(o&31)|f[c>>2];c=f[v>>2]|0;if((c|0)==(f[x>>2]|0))Gi(D,b);else{f[c>>2]=f[b>>2];f[v>>2]=c+4}d=f[b>>2]|0;if((d|0)<0)n=-1073741824;else n=f[(f[f[y>>2]>>2]|0)+(d<<2)>>2]|0;m=(f[(f[s>>2]|0)+(n<<2)>>2]|0)!=-1;e=(f[q>>2]|0)+(n>>>5<<2)|0;g=1<<(n&31);c=f[e>>2]|0;do if(!(c&g)){f[e>>2]=c|g;if(m){d=f[b>>2]|0;P=30;break}f[M>>2]=0;c=f[t>>2]|0;if((c|0)==(f[w>>2]|0))Gi(E,M);else{f[c>>2]=0;f[t>>2]=c+4}c=f[b>>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=f[(f[(f[y>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}f[b>>2]=c}else P=30;while(0);if((P|0)==30){P=0;l=(d|0)<0;j=d+1|0;if(!l){c=((j|0)%3|0|0)==0?d+-2|0:j;if((c|0)<0)e=c;else e=f[(f[(f[y>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;f[O>>2]=e;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[(f[y>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;i=(e|0)<0;h=i?-1073741824:(e>>>0)/3|0;g=(c|0)<0;k=g?-1073741824:(c>>>0)/3|0;e=((j|0)%3|0|0)==0?d+-2|0:j;if((e|0)>=0)e=f[(f[(f[y>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}else{f[O>>2]=d;g=1;i=1;c=d;k=-1073741824;h=-1073741824;e=d}if((e|0)!=-1073741824?(j=(e|0)<0?-1073741824:(e>>>0)/3|0,J=f[F>>2]|0,(f[J+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!l){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)!=-1073741824?(l=(d|0)<0?-1073741824:(d>>>0)/3|0,(f[J+(l>>>5<<2)>>2]&1<<(l&31)|0)==0):0){P=68;break}if(!g)vf(a,f[B>>2]|0,o,0,k);f[M>>2]=3;c=f[t>>2]|0;if((c|0)==(f[w>>2]|0))Gi(E,M);else{f[c>>2]=3;f[t>>2]=c+4}c=f[O>>2]|0}else{if(!i){vf(a,f[B>>2]|0,o,1,h);d=f[b>>2]|0}if((d|0)>=0){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)==-1073741824){P=47;break}n=(d|0)<0?-1073741824:(d>>>0)/3|0;if(f[(f[F>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0){P=47;break}f[M>>2]=5;d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))Gi(E,M);else{f[d>>2]=5;f[t>>2]=d+4}}f[b>>2]=c}if((p|0)>=(G|0))break a;d=f[F>>2]|0;c=p}do if((P|0)==47){P=0;if(!g)vf(a,f[B>>2]|0,o,0,k);f[M>>2]=7;c=f[t>>2]|0;if((c|0)==(f[w>>2]|0))Gi(E,M);else{f[c>>2]=7;f[t>>2]=c+4}f[K>>2]=(f[K>>2]|0)+-4}else if((P|0)==68){P=0;f[M>>2]=1;d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))Gi(E,M);else{f[d>>2]=1;f[t>>2]=d+4}f[C>>2]=(f[C>>2]|0)+1;if(m?(p=f[(f[s>>2]|0)+(n<<2)>>2]|0,(1<<(p&31)&f[(f[r>>2]|0)+(p>>>5<<2)>>2]|0)==0):0){f[L>>2]=f[b>>2];f[M>>2]=f[L>>2];Ge(a,M,0)|0}p=f[B>>2]|0;f[M>>2]=o;d=ue(A,M)|0;f[d>>2]=p;d=f[K>>2]|0;f[d+-4>>2]=c;if((d|0)==(f[H>>2]|0)){Gi(N,O);break}else{f[d>>2]=f[O>>2];f[K>>2]=d+4;break}}while(0)}}else P=11;while(0);if((P|0)==11){P=0;f[K>>2]=c+-4}c=f[K>>2]|0}while((f[N>>2]|0)!=(c|0));u=Q;return 1}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=Ka,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=rd(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];pf(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;xi(B,4);i=f[B>>2]|0;y=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[i>>0]=y;b[i+1>>0]=y>>8;b[i+2>>0]=y>>16;b[i+3>>0]=y>>24;dj(A,c);i=A+12|0;f[i>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;c=f[z>>2]|0;g=f[B>>2]|0;d=c-g|0;if(!d){d=g;g=0}else{xi(i,d);d=f[B>>2]|0;c=f[z>>2]|0;g=f[i>>2]|0}Rg(g|0,d|0,c-d|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){c=t;g=s;d=s;while(1){v=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}v=s+-4|0;c=v&-4;d=t+(c+4)|0;c=v-c|0}else{d=t;g=s;c=s}switch(c|0){case 3:{g=h[d+2>>0]<<16^g;w=10;break}case 2:{w=10;break}case 1:{w=11;break}default:{}}if((w|0)==10){g=h[d+1>>0]<<8^g;w=11}if((w|0)==11)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;i=f[q>>2]|0;r=(i|0)==0;a:do if(!r){p=i+-1|0;d=(p&i|0)==0;if(!d)if(v>>>0>>0)c=v;else c=(v>>>0)%(i>>>0)|0;else c=v&p;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(c|0))){w=52;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=52;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(c|0))){w=52;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=52;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break}}}else w=52}else{c=0;w=52}while(0);if((w|0)==52){kh(e,a,v,A);l=a+12|0;k=$(((f[l>>2]|0)+1|0)>>>0);D=$(i>>>0);j=$(n[a+16>>2]);do if(r|k>$(D*j)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(k/j)))>>>0;Wh(a,g>>>0>>0?c:g);g=f[q>>2]|0;c=g+-1|0;if(!(c&g)){i=g;c=c&v;break}if(v>>>0>>0){i=g;c=v}else{i=g;c=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;c=i+-1|0;if(c&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&c;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;pq(e)}if((b[x>>0]|0)<0)pq(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;pq(e);u=C;return}function $b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;O=u;u=u+48|0;N=O+12|0;H=O+32|0;L=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);K=a+80|0;g=f[K>>2]|0;f[L>>2]=0;M=L+4|0;f[M>>2]=0;f[L+8>>2]=0;a:do if(!g){i=0;q=0}else{if(g>>>0>1073741823)Fp(L);D=g<<2;w=an(D)|0;f[L>>2]=w;C=w+(g<<2)|0;f[L+8>>2]=C;cj(w|0,0,D|0)|0;f[M>>2]=C;C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;r=0;e=w;w=0;j=0;while(1){m=x+w|0;s=C;t=f[s>>2]|0;s=f[s+4>>2]|0;q=D;q=$m(m|0,((m|0)<0)<<31>>31|0,f[q>>2]|0,f[q+4>>2]|0)|0;s=Mn(q|0,I|0,t|0,s|0)|0;s=(f[f[c>>2]>>2]|0)+s|0;s=h[s>>0]|h[s+1>>0]<<8;d[H>>1]=s;t=(s^318)&65535;b:do if(r){q=r+-1|0;m=(q&r|0)==0;if(!m)if(t>>>0>>0)k=t;else k=(t>>>0)%(r>>>0)|0;else k=q&t;l=f[N>>2]|0;g=f[l+(k<<2)>>2]|0;c:do if(g|0?(G=f[g>>2]|0,G|0):0){d:do if(m){g=G;while(1){P=f[g+4>>2]|0;i=(P|0)==(t|0);if(!(i|(P&q|0)==(k|0)))break c;if(i?(d[g+8>>1]|0)==s<<16>>16:0)break d;g=f[g>>2]|0;if(!g)break c}}else{g=G;while(1){i=f[g+4>>2]|0;if((i|0)==(t|0)){if((d[g+8>>1]|0)==s<<16>>16)break d}else{if(i>>>0>=r>>>0)i=(i>>>0)%(r>>>0)|0;if((i|0)!=(k|0))break c}g=f[g>>2]|0;if(!g)break c}}while(0);f[e+(w<<2)>>2]=f[g+12>>2];break b}while(0);if(!m)if(t>>>0>>0)g=t;else g=(t>>>0)%(r>>>0)|0;else g=q&t;e=f[l+(g<<2)>>2]|0;if(!e){i=r;e=0;v=40}else{if(m)while(1){e=f[e>>2]|0;if(!e){i=r;e=0;v=40;break b}P=f[e+4>>2]|0;if(!((P|0)==(t|0)|(P&q|0)==(g|0))){i=r;e=0;v=40;break b}if((d[e+8>>1]|0)==s<<16>>16){v=55;break b}}while(1){e=f[e>>2]|0;if(!e){i=r;e=0;v=40;break b}i=f[e+4>>2]|0;if((i|0)!=(t|0)){if(i>>>0>=r>>>0)i=(i>>>0)%(r>>>0)|0;if((i|0)!=(g|0)){i=r;e=0;v=40;break b}}if((d[e+8>>1]|0)==s<<16>>16){v=55;break}}}}else{i=0;g=0;e=1;v=40}while(0);if((v|0)==40){v=0;k=an(16)|0;d[k+8>>1]=s;f[k+12>>2]=j;f[k+4>>2]=t;f[k>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);Q=$(i>>>0);o=$(n[F>>2]);do if(e|p>$(Q*o)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(p/o)))>>>0;Dh(N,g>>>0>>0?e:g);g=f[z>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&t;break}if(t>>>0>>0){i=g;g=t}else{i=g;g=(t>>>0)%(g>>>0)|0}}while(0);e=(f[N>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[k>>2]=f[y>>2];f[y>>2]=k;f[e>>2]=y;g=f[k>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[N>>2]|0)+(g<<2)|0;v=53}}else{f[k>>2]=f[g>>2];v=53}if((v|0)==53)f[g>>2]=k;f[B>>2]=(f[B>>2]|0)+1;v=55}if((v|0)==55){v=0;P=E;e=f[P>>2]|0;P=$m(e|0,f[P+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;Rg((f[f[A>>2]>>2]|0)+P|0,H|0,e|0)|0;e=f[L>>2]|0;f[e+(w<<2)>>2]=j;j=j+1|0}g=w+1|0;i=f[K>>2]|0;if((g|0)>=(i|0)){q=j;break a}r=f[z>>2]|0;w=g}}while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[L>>2]|0;e=g>>2;g=0;do{P=i+(g<<2)|0;f[P>>2]=f[j+(f[P>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(J=g+(i<<2)|0,(e|0)!=(J|0)):0)f[j>>2]=e+(~((e+-4-J|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[K>>2]|0}if((i|0)>0){j=f[L>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[K>>2]=q}g=f[L>>2]|0;if(g|0){e=f[M>>2]|0;if((e|0)!=(g|0))f[M>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[N+8>>2]|0;if(g|0)do{P=g;g=f[g>>2]|0;pq(P)}while((g|0)!=0);g=f[N>>2]|0;f[N>>2]=0;if(!g){u=O;return q|0}pq(g);u=O;return q|0}function ac(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;v=B+4|0;w=B;p=B+16|0;z=a+52|0;q=f[z>>2]|0;q=(f[q+100>>2]|0)-(f[q+96>>2]|0)|0;A=(q|0)/12|0;x=a+44|0;Rh(A,f[x>>2]|0)|0;Rh(f[(f[z>>2]|0)+80>>2]|0,f[x>>2]|0)|0;c=f[a+48>>2]|0;e=an(32)|0;f[v>>2]=e;f[v+8>>2]=-2147483616;f[v+4>>2]=21;g=e;h=18963;i=g+21|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+21>>0]=0;e=Qj(c,v,0)|0;if((b[v+11>>0]|0)<0)pq(f[v>>2]|0);c=f[x>>2]|0;if(e){b[p>>0]=0;A=c+16|0;z=f[A+4>>2]|0;if(!((z|0)>0|(z|0)==0&(f[A>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ke(c,v,p,p+1|0)|0}Ie(a)|0;u=B;return 1}b[p>>0]=1;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ke(c,v,p,p+1|0)|0}n=f[z>>2]|0;m=f[n+80>>2]|0;if((m|0)<256){if((q|0)<=0){u=B;return 1}i=p+1|0;a=p+1|0;h=p+1|0;c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){j=c;k=0}else ra(20006,19918,64,20001);while(1){e=f[x>>2]|0;b[p>>0]=f[j+(k*12|0)>>2];c=e+16|0;g=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,h)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[p>>0]=f[j+(k*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,a)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[p>>0]=f[j+(k*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,i)|0}k=k+1|0;if((k|0)>=(A|0)){c=46;break}g=f[z>>2]|0;j=f[g+96>>2]|0;if((k|0)>=(((f[g+100>>2]|0)-j|0)/12|0|0)){c=12;break}}if((c|0)==12)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}}if((m|0)<65536){if((q|0)<=0){u=B;return 1}j=p+2|0;i=p+2|0;a=p+2|0;c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){l=c;o=0}else ra(20006,19918,64,20001);while(1){h=l;e=f[x>>2]|0;d[p>>1]=f[h+(o*12|0)>>2];c=e+16|0;g=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,a)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}d[p>>1]=f[h+(o*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,i)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}d[p>>1]=f[h+(o*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,j)|0}o=o+1|0;if((o|0)>=(A|0)){c=46;break}k=f[z>>2]|0;l=f[k+96>>2]|0;if((o|0)>=(((f[k+100>>2]|0)-l|0)/12|0|0)){c=24;break}}if((c|0)==24)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}}e=(q|0)>0;if((m|0)<2097152){if(!e){u=B;return 1}c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){r=c;s=0}else ra(20006,19918,64,20001);while(1){Rh(f[r+(s*12|0)>>2]|0,f[x>>2]|0)|0;Rh(f[r+(s*12|0)+4>>2]|0,f[x>>2]|0)|0;Rh(f[r+(s*12|0)+8>>2]|0,f[x>>2]|0)|0;s=s+1|0;if((s|0)>=(A|0)){c=46;break}q=f[z>>2]|0;r=f[q+96>>2]|0;if((s|0)>=(((f[q+100>>2]|0)-r|0)/12|0|0)){c=38;break}}if((c|0)==38)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}}if(!e){u=B;return 1}c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){t=c;y=0}else ra(20006,19918,64,20001);while(1){e=t+(y*12|0)|0;c=f[x>>2]|0;t=c+16|0;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ke(c,v,e,e+12|0)|0}y=y+1|0;if((y|0)>=(A|0)){c=46;break}s=f[z>>2]|0;t=f[s+96>>2]|0;if((y|0)>=(((f[s+100>>2]|0)-t|0)/12|0|0)){c=41;break}}if((c|0)==41)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}return 0}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=Ka,m=Ka,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=Ka;M=u;u=u+48|0;L=M+12|0;F=M+32|0;J=M;D=L+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;n[D>>2]=$(1.0);H=a+80|0;e=f[H>>2]|0;f[J>>2]=0;K=J+4|0;f[K>>2]=0;f[J+8>>2]=0;a:do if(!e){g=0;o=0}else{if(e>>>0>1073741823)Fp(J);B=e<<2;t=an(B)|0;f[J>>2]=t;A=t+(e<<2)|0;f[J+8>>2]=A;cj(t|0,0,B|0)|0;f[K>>2]=A;A=c+48|0;B=c+40|0;x=L+4|0;z=L+12|0;w=L+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;p=0;d=t;t=0;h=0;while(1){k=v+t|0;q=A;r=f[q>>2]|0;q=f[q+4>>2]|0;o=B;o=$m(k|0,((k|0)<0)<<31>>31|0,f[o>>2]|0,f[o+4>>2]|0)|0;q=Mn(o|0,I|0,r|0,q|0)|0;q=b[(f[f[c>>2]>>2]|0)+q>>0]|0;b[F>>0]=q;r=q&255^318;b:do if(p){o=p+-1|0;k=(o&p|0)==0;if(!k)if(r>>>0

>>0)i=r;else i=(r>>>0)%(p>>>0)|0;else i=o&r;j=f[L>>2]|0;e=f[j+(i<<2)>>2]|0;c:do if(e|0?(E=f[e>>2]|0,E|0):0){d:do if(k){e=E;while(1){N=f[e+4>>2]|0;g=(N|0)==(r|0);if(!(g|(N&o|0)==(i|0)))break c;if(g?(b[e+8>>0]|0)==q<<24>>24:0)break d;e=f[e>>2]|0;if(!e)break c}}else{e=E;while(1){g=f[e+4>>2]|0;if((g|0)==(r|0)){if((b[e+8>>0]|0)==q<<24>>24)break d}else{if(g>>>0>=p>>>0)g=(g>>>0)%(p>>>0)|0;if((g|0)!=(i|0))break c}e=f[e>>2]|0;if(!e)break c}}while(0);f[d+(t<<2)>>2]=f[e+12>>2];break b}while(0);if(!k)if(r>>>0

>>0)e=r;else e=(r>>>0)%(p>>>0)|0;else e=o&r;d=f[j+(e<<2)>>2]|0;if(!d){g=p;d=0;s=40}else{if(k)while(1){d=f[d>>2]|0;if(!d){g=p;d=0;s=40;break b}N=f[d+4>>2]|0;if(!((N|0)==(r|0)|(N&o|0)==(e|0))){g=p;d=0;s=40;break b}if((b[d+8>>0]|0)==q<<24>>24){s=55;break b}}while(1){d=f[d>>2]|0;if(!d){g=p;d=0;s=40;break b}g=f[d+4>>2]|0;if((g|0)!=(r|0)){if(g>>>0>=p>>>0)g=(g>>>0)%(p>>>0)|0;if((g|0)!=(e|0)){g=p;d=0;s=40;break b}}if((b[d+8>>0]|0)==q<<24>>24){s=55;break}}}}else{g=0;e=0;d=1;s=40}while(0);if((s|0)==40){s=0;i=an(16)|0;b[i+8>>0]=q;f[i+12>>2]=h;f[i+4>>2]=r;f[i>>2]=0;m=$(((f[z>>2]|0)+1|0)>>>0);O=$(g>>>0);l=$(n[D>>2]);do if(d|m>$(O*l)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(m/l)))>>>0;Kh(L,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&r;break}if(r>>>0>>0){g=e;e=r}else{g=e;e=(r>>>0)%(e>>>0)|0}}while(0);d=(f[L>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[w>>2];f[w>>2]=i;f[d>>2]=w;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[L>>2]|0)+(e<<2)|0;s=53}}else{f[i>>2]=f[e>>2];s=53}if((s|0)==53)f[e>>2]=i;f[z>>2]=(f[z>>2]|0)+1;s=55}if((s|0)==55){s=0;N=C;d=f[N>>2]|0;N=$m(d|0,f[N+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;Rg((f[f[y>>2]>>2]|0)+N|0,F|0,d|0)|0;d=f[J>>2]|0;f[d+(t<<2)>>2]=h;h=h+1|0}e=t+1|0;g=f[H>>2]|0;if((e|0)>=(g|0)){o=h;break a}p=f[x>>2]|0;t=e}}while(0);if((o|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[J>>2]|0;d=e>>2;e=0;do{N=g+(e<<2)|0;f[N>>2]=f[h+(f[N>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(G=e+(g<<2)|0,(d|0)!=(G|0)):0)f[h>>2]=d+(~((d+-4-G|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[H>>2]|0}if((g|0)>0){h=f[J>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[H>>2]=o}e=f[J>>2]|0;if(e|0){d=f[K>>2]|0;if((d|0)!=(e|0))f[K>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[L+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;pq(N)}while((e|0)!=0);e=f[L>>2]|0;f[L>>2]=0;if(!e){u=M;return o|0}pq(e);u=M;return o|0}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;N=u;u=u+48|0;M=N+16|0;G=N+12|0;K=N;E=M+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;n[E>>2]=$(1.0);J=a+80|0;e=f[J>>2]|0;f[K>>2]=0;L=K+4|0;f[L>>2]=0;f[K+8>>2]=0;a:do if(!e){g=0;p=0}else{if(e>>>0>1073741823)Fp(K);C=e<<2;v=an(C)|0;f[K>>2]=v;B=v+(e<<2)|0;f[K+8>>2]=B;cj(v|0,0,C|0)|0;f[L>>2]=B;B=c+48|0;C=c+40|0;y=M+4|0;A=M+12|0;x=M+8|0;D=a+40|0;z=a+64|0;w=f[d>>2]|0;q=0;d=v;v=0;i=0;while(1){l=w+v|0;r=B;s=f[r>>2]|0;r=f[r+4>>2]|0;p=C;p=$m(l|0,((l|0)<0)<<31>>31|0,f[p>>2]|0,f[p+4>>2]|0)|0;r=Mn(p|0,I|0,s|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;f[G>>2]=r;s=r^318;b:do if(q){p=q+-1|0;l=(p&q|0)==0;if(!l)if(s>>>0>>0)j=s;else j=(s>>>0)%(q>>>0)|0;else j=p&s;k=f[M>>2]|0;e=f[k+(j<<2)>>2]|0;c:do if(e|0?(F=f[e>>2]|0,F|0):0){d:do if(l){e=F;while(1){O=f[e+4>>2]|0;g=(O|0)==(s|0);if(!(g|(O&p|0)==(j|0)))break c;if(g?(f[e+8>>2]|0)==(r|0):0)break d;e=f[e>>2]|0;if(!e)break c}}else{e=F;while(1){g=f[e+4>>2]|0;if((g|0)==(s|0)){if((f[e+8>>2]|0)==(r|0))break d}else{if(g>>>0>=q>>>0)g=(g>>>0)%(q>>>0)|0;if((g|0)!=(j|0))break c}e=f[e>>2]|0;if(!e)break c}}while(0);f[d+(v<<2)>>2]=f[e+12>>2];break b}while(0);if(!l)if(s>>>0>>0)e=s;else e=(s>>>0)%(q>>>0)|0;else e=p&s;d=f[k+(e<<2)>>2]|0;if(!d){g=q;d=0;t=40}else{if(l)while(1){d=f[d>>2]|0;if(!d){g=q;d=0;t=40;break b}O=f[d+4>>2]|0;if(!((O|0)==(s|0)|(O&p|0)==(e|0))){g=q;d=0;t=40;break b}if((f[d+8>>2]|0)==(r|0)){t=55;break b}}while(1){d=f[d>>2]|0;if(!d){g=q;d=0;t=40;break b}g=f[d+4>>2]|0;if((g|0)!=(s|0)){if(g>>>0>=q>>>0)g=(g>>>0)%(q>>>0)|0;if((g|0)!=(e|0)){g=q;d=0;t=40;break b}}if((f[d+8>>2]|0)==(r|0)){t=55;break}}}}else{g=0;e=0;d=1;t=40}while(0);if((t|0)==40){t=0;j=an(16)|0;f[j+8>>2]=r;f[j+12>>2]=i;f[j+4>>2]=s;f[j>>2]=0;o=$(((f[A>>2]|0)+1|0)>>>0);P=$(g>>>0);m=$(n[E>>2]);do if(d|o>$(P*m)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(o/m)))>>>0;vi(M,e>>>0>>0?d:e);e=f[y>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&s;break}if(s>>>0>>0){g=e;e=s}else{g=e;e=(s>>>0)%(e>>>0)|0}}while(0);d=(f[M>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[j>>2]=f[x>>2];f[x>>2]=j;f[d>>2]=x;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[M>>2]|0)+(e<<2)|0;t=53}}else{f[j>>2]=f[e>>2];t=53}if((t|0)==53)f[e>>2]=j;f[A>>2]=(f[A>>2]|0)+1;t=55}if((t|0)==55){t=0;O=D;d=f[O>>2]|0;O=$m(d|0,f[O+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;Rg((f[f[z>>2]>>2]|0)+O|0,G|0,d|0)|0;d=f[K>>2]|0;f[d+(v<<2)>>2]=i;i=i+1|0}e=v+1|0;g=f[J>>2]|0;if((e|0)>=(g|0)){p=i;break a}q=f[y>>2]|0;v=e}}while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[K>>2]|0;d=e>>2;e=0;do{O=g+(e<<2)|0;f[O>>2]=f[i+(f[O>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(H=e+(g<<2)|0,(d|0)!=(H|0)):0)f[i>>2]=d+(~((d+-4-H|0)>>>2)<<2)}else{lh(j,g-k|0,1220);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[J>>2]=p}e=f[K>>2]|0;if(e|0){d=f[L>>2]|0;if((d|0)!=(e|0))f[L>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[M+8>>2]|0;if(e|0)do{O=e;e=f[e>>2]|0;pq(O)}while((e|0)!=0);e=f[M>>2]|0;f[M>>2]=0;if(!e){u=N;return p|0}pq(e);u=N;return p|0}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ka;T=u;u=u+48|0;S=T+20|0;M=T+16|0;N=T+12|0;Q=T;K=S+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;n[K>>2]=$(1.0);P=a+80|0;e=f[P>>2]|0;f[Q>>2]=0;R=Q+4|0;f[R>>2]=0;f[Q+8>>2]=0;if(!e){g=0;m=0}else{if(e>>>0>1073741823)Fp(Q);F=e<<2;G=an(F)|0;f[Q>>2]=G;A=G+(e<<2)|0;f[Q+8>>2]=A;cj(G|0,0,F|0)|0;f[R>>2]=A;A=f[d>>2]|0;F=c+48|0;G=c+40|0;D=S+4|0;E=S+12|0;C=S+8|0;H=a+40|0;B=a+64|0;J=0;y=0;while(1){v=A+J|0;e=F;x=f[e>>2]|0;e=f[e+4>>2]|0;w=G;w=$m(v|0,((v|0)<0)<<31>>31|0,f[w>>2]|0,f[w+4>>2]|0)|0;e=Mn(w|0,I|0,x|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[M>>2]=e;f[N>>2]=e;e=ef(S,N)|0;if(!e){t=f[N>>2]|0;k=t&255;r=t>>>8;l=r&255;s=t>>>16;m=s&255;v=t>>>24;q=v&255;t=t&255;r=r&255;s=s&255;x=(((t^318)+239^r)+239^s)+239^v;g=f[D>>2]|0;w=(g|0)==0;a:do if(!w){j=g+-1|0;i=(j&g|0)==0;if(!i)if(x>>>0>>0)e=x;else e=(x>>>0)%(g>>>0)|0;else e=x&j;d=f[(f[S>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(L=f[d>>2]|0,(L|0)!=0):0){if(i){d=L;while(1){i=f[d+4>>2]|0;if(!((i|0)==(x|0)|(i&j|0)==(e|0))){z=31;break a}i=d+8|0;if((((b[i>>0]|0)==k<<24>>24?(b[i+1>>0]|0)==l<<24>>24:0)?(b[i+2>>0]|0)==m<<24>>24:0)?(b[i+3>>0]|0)==q<<24>>24:0)break a;d=f[d>>2]|0;if(!d){z=31;break a}}}else i=L;while(1){d=f[i+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0;if((d|0)!=(e|0)){z=31;break a}}j=i+8|0;if((((b[j>>0]|0)==k<<24>>24?(b[j+1>>0]|0)==l<<24>>24:0)?(b[j+2>>0]|0)==m<<24>>24:0)?(b[j+3>>0]|0)==q<<24>>24:0)break a;i=f[i>>2]|0;if(!i){z=31;break}}}else z=31}else{e=0;z=31}while(0);if((z|0)==31){z=0;i=an(16)|0;q=i+8|0;v=v<<24|t|s<<16|r<<8;b[q>>0]=v;b[q+1>>0]=v>>8;b[q+2>>0]=v>>16;b[q+3>>0]=v>>24;f[i+12>>2]=y;f[i+4>>2]=x;f[i>>2]=0;p=$(((f[E>>2]|0)+1|0)>>>0);U=$(g>>>0);o=$(n[K>>2]);do if(w|p>$(U*o)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(p/o)))>>>0;Hh(S,e>>>0>>0?d:e);e=f[D>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&x;break}if(x>>>0>>0){g=e;e=x}else{g=e;e=(x>>>0)%(e>>>0)|0}}while(0);d=(f[S>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[C>>2];f[C>>2]=i;f[d>>2]=C;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[S>>2]|0)+(e<<2)|0;z=44}}else{f[i>>2]=f[e>>2];z=44}if((z|0)==44){z=0;f[e>>2]=i}f[E>>2]=(f[E>>2]|0)+1}x=H;e=f[x>>2]|0;x=$m(e|0,f[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Rg((f[f[B>>2]>>2]|0)+x|0,M|0,e|0)|0;f[(f[Q>>2]|0)+(J<<2)>>2]=y;e=y+1|0}else{f[(f[Q>>2]|0)+(J<<2)>>2]=f[e+12>>2];e=y}J=J+1|0;g=f[P>>2]|0;if((J|0)>=(g|0)){m=e;break}else y=e}}if((m|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[Q>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(O=e+(g<<2)|0,(d|0)!=(O|0)):0)f[i>>2]=d+(~((d+-4-O|0)>>>2)<<2)}else{lh(j,g-k|0,1220);g=f[P>>2]|0}if((g|0)>0){i=f[Q>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[P>>2]=m}e=f[Q>>2]|0;if(e|0){d=f[R>>2]|0;if((d|0)!=(e|0))f[R>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[S+8>>2]|0;if(e|0)do{R=e;e=f[e>>2]|0;pq(R)}while((e|0)!=0);e=f[S>>2]|0;f[S>>2]=0;if(!e){u=T;return m|0}pq(e);u=T;return m|0}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;g=k+16|0;e=k+12|0;i=k+8|0;j=k+4|0;h=k;switch(f[c+28>>2]|0){case 9:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Qb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=kc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 1:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=bc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Pb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=ic(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=dc(a,c,g)|0;break}default:d=0}break}case 11:case 2:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=bc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Pb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=ic(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=dc(a,c,g)|0;break}default:d=0}break}case 4:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=$b(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Ob(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=gc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Yb(a,c,g)|0;break}default:d=0}break}case 3:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=$b(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Ob(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=gc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Yb(a,c,g)|0;break}default:d=0}break}case 6:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Qb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=kc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 5:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Qb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=kc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}default:{a=-1;u=k;return a|0}}a=(d|0)==0?-1:d;u=k;return a|0}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))Gi(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ag(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ag(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Ag(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))Gi(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))Gi(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function gc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Ka;Q=u;u=u+48|0;P=Q+12|0;J=Q+38|0;K=Q+32|0;N=Q;G=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[G>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;if(!g){h=0;m=0}else{if(g>>>0>1073741823)Fp(N);A=g<<2;B=an(A)|0;f[N>>2]=B;v=B+(g<<2)|0;f[N+8>>2]=v;cj(B|0,0,A|0)|0;f[O>>2]=v;v=f[e>>2]|0;A=c+48|0;B=c+40|0;E=K+2|0;F=K+4|0;y=P+4|0;z=P+12|0;x=P+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){q=v+D|0;g=A;r=f[g>>2]|0;g=f[g+4>>2]|0;m=B;q=$m(f[m>>2]|0,f[m+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;g=Mn(q|0,I|0,r|0,g|0)|0;g=(f[f[c>>2]>>2]|0)+g|0;b[J>>0]=b[g>>0]|0;b[J+1>>0]=b[g+1>>0]|0;b[J+2>>0]=b[g+2>>0]|0;b[J+3>>0]=b[g+3>>0]|0;b[J+4>>0]=b[g+4>>0]|0;b[J+5>>0]=b[g+5>>0]|0;bm(K|0,g|0,6)|0;g=zf(P,K)|0;if(!g){j=d[K>>1]|0;k=d[E>>1]|0;l=d[F>>1]|0;r=(((j^318)&65535)+239^k&65535)+239^l&65535;m=f[y>>2]|0;q=(m|0)==0;a:do if(!q){i=m+-1|0;h=(i&m|0)==0;if(!h)if(r>>>0>>0)g=r;else g=(r>>>0)%(m>>>0)|0;else g=r&i;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(H=f[e>>2]|0,(H|0)!=0):0){if(h){e=H;while(1){h=f[e+4>>2]|0;if(!((h|0)==(r|0)|(h&i|0)==(g|0))){t=29;break a}h=e+8|0;if(((d[h>>1]|0)==j<<16>>16?(d[h+2>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0)break a;e=f[e>>2]|0;if(!e){t=29;break a}}}else h=H;while(1){e=f[h+4>>2]|0;if((e|0)!=(r|0)){if(e>>>0>=m>>>0)e=(e>>>0)%(m>>>0)|0;if((e|0)!=(g|0)){t=29;break a}}i=h+8|0;if(((d[i>>1]|0)==j<<16>>16?(d[i+2>>1]|0)==k<<16>>16:0)?(d[h+12>>1]|0)==l<<16>>16:0)break a;h=f[h>>2]|0;if(!h){t=29;break}}}else t=29}else{g=0;t=29}while(0);if((t|0)==29){t=0;i=an(20)|0;d[i+8>>1]=j;d[i+10>>1]=k;d[i+12>>1]=l;f[i+16>>2]=s;f[i+4>>2]=r;f[i>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);R=$(m>>>0);o=$(n[G>>2]);do if(q|p>$(R*o)){g=(m>>>0<3|(m+-1&m|0)!=0)&1|m<<1;e=~~$(W($(p/o)))>>>0;Bh(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){h=g;g=e&r;break}if(r>>>0>>0){h=g;g=r}else{h=g;g=(r>>>0)%(g>>>0)|0}}else h=m;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[i>>2]=f[x>>2];f[x>>2]=i;f[e>>2]=x;g=f[i>>2]|0;if(g|0){g=f[g+4>>2]|0;e=h+-1|0;if(e&h){if(g>>>0>=h>>>0)g=(g>>>0)%(h>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;t=42}}else{f[i>>2]=f[g>>2];t=42}if((t|0)==42){t=0;f[g>>2]=i}f[z>>2]=(f[z>>2]|0)+1}r=C;g=f[r>>2]|0;r=$m(g|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Rg((f[f[w>>2]>>2]|0)+r|0,J|0,g|0)|0;f[(f[N>>2]|0)+(D<<2)>>2]=s;g=s+1|0}else{f[(f[N>>2]|0)+(D<<2)>>2]=f[g+16>>2];g=s}D=D+1|0;h=f[M>>2]|0;if((D|0)>=(h|0)){m=g;break}else s=g}}if((m|0)!=(h|0)){l=a+84|0;if(!(b[l>>0]|0)){h=f[a+68>>2]|0;g=(f[a+72>>2]|0)-h|0;if((g|0)>0){i=f[N>>2]|0;e=g>>2;g=0;do{a=h+(g<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;g=f[j>>2]|0;k=e-g>>2;if(h>>>0<=k>>>0){if(h>>>0>>0?(L=g+(h<<2)|0,(e|0)!=(L|0)):0)f[i>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{lh(j,h-k|0,1220);h=f[M>>2]|0}if((h|0)>0){i=f[N>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(h|0))}}f[M>>2]=m}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[P+8>>2]|0;if(g|0)do{O=g;g=f[g>>2]|0;pq(O)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return m|0}pq(g);u=Q;return m|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;R=u;u=u+80|0;Q=R+48|0;K=R+32|0;L=R+16|0;O=R;H=Q+16|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;n[H>>2]=$(1.0);N=a+80|0;e=f[N>>2]|0;f[O>>2]=0;P=O+4|0;f[P>>2]=0;f[O+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Fp(O);A=e<<2;B=an(A)|0;f[O>>2]=B;v=B+(e<<2)|0;f[O+8>>2]=v;cj(B|0,0,A|0)|0;f[P>>2]=v;v=f[d>>2]|0;A=c+48|0;B=c+40|0;E=L+4|0;F=L+8|0;G=L+12|0;y=Q+4|0;z=Q+12|0;x=Q+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){g=v+D|0;e=A;d=f[e>>2]|0;e=f[e+4>>2]|0;h=B;g=$m(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Mn(g|0,I|0,d|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;d=K;g=e;h=d+16|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));bm(L|0,e|0,16)|0;e=wf(Q,L)|0;if(!e){i=f[L>>2]|0;j=f[E>>2]|0;k=f[F>>2]|0;l=f[G>>2]|0;r=(((i^318)+239^j)+239^k)+239^l;p=f[y>>2]|0;q=(p|0)==0;a:do if(!q){h=p+-1|0;g=(h&p|0)==0;if(!g)if(r>>>0

>>0)e=r;else e=(r>>>0)%(p>>>0)|0;else e=r&h;d=f[(f[Q>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(J=f[d>>2]|0,(J|0)!=0):0){if(g){d=J;while(1){g=f[d+4>>2]|0;if(!((g|0)==(r|0)|(g&h|0)==(e|0))){t=31;break a}if((((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0)?(f[d+20>>2]|0)==(l|0):0)break a;d=f[d>>2]|0;if(!d){t=31;break a}}}else g=J;while(1){d=f[g+4>>2]|0;if((d|0)!=(r|0)){if(d>>>0>=p>>>0)d=(d>>>0)%(p>>>0)|0;if((d|0)!=(e|0)){t=31;break a}}if((((f[g+8>>2]|0)==(i|0)?(f[g+12>>2]|0)==(j|0):0)?(f[g+16>>2]|0)==(k|0):0)?(f[g+20>>2]|0)==(l|0):0)break a;g=f[g>>2]|0;if(!g){t=31;break}}}else t=31}else{e=0;t=31}while(0);if((t|0)==31){t=0;h=an(28)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=l;f[h+24>>2]=s;f[h+4>>2]=r;f[h>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);S=$(p>>>0);m=$(n[H>>2]);do if(q|o>$(S*m)){e=(p>>>0<3|(p+-1&p|0)!=0)&1|p<<1;d=~~$(W($(o/m)))>>>0;Eh(Q,e>>>0>>0?d:e);e=f[y>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&r;break}if(r>>>0>>0){g=e;e=r}else{g=e;e=(r>>>0)%(e>>>0)|0}}else g=p;while(0);d=(f[Q>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[x>>2];f[x>>2]=h;f[d>>2]=x;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[Q>>2]|0)+(e<<2)|0;t=44}}else{f[h>>2]=f[e>>2];t=44}if((t|0)==44){t=0;f[e>>2]=h}f[z>>2]=(f[z>>2]|0)+1}r=C;e=f[r>>2]|0;r=$m(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Rg((f[f[w>>2]>>2]|0)+r|0,K|0,e|0)|0;f[(f[O>>2]|0)+(D<<2)>>2]=s;e=s+1|0}else{f[(f[O>>2]|0)+(D<<2)>>2]=f[e+24>>2];e=s}D=D+1|0;g=f[N>>2]|0;if((D|0)>=(g|0)){l=e;break}else s=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[O>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(M=e+(g<<2)|0,(d|0)!=(M|0)):0)f[h>>2]=d+(~((d+-4-M|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[N>>2]|0}if((g|0)>0){h=f[O>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[N>>2]=l}e=f[O>>2]|0;if(e|0){d=f[P>>2]|0;if((d|0)!=(e|0))f[P>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[Q+8>>2]|0;if(e|0)do{P=e;e=f[e>>2]|0;pq(P)}while((e|0)!=0);e=f[Q>>2]|0;f[Q>>2]=0;if(!e){u=R;return l|0}pq(e);u=R;return l|0}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;P=u;u=u+48|0;O=P+12|0;H=P+35|0;J=P+32|0;M=P;F=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;e=f[L>>2]|0;f[M>>2]=0;N=M+4|0;f[N>>2]=0;f[M+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Fp(M);z=e<<2;A=an(z)|0;f[M>>2]=A;t=A+(e<<2)|0;f[M+8>>2]=t;cj(A|0,0,z|0)|0;f[N>>2]=t;t=f[d>>2]|0;z=c+48|0;A=c+40|0;D=J+1|0;E=J+2|0;x=O+4|0;y=O+12|0;w=O+8|0;B=a+40|0;v=a+64|0;C=0;r=0;while(1){p=t+C|0;e=z;q=f[e>>2]|0;e=f[e+4>>2]|0;l=A;p=$m(f[l>>2]|0,f[l+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;e=Mn(p|0,I|0,q|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;b[H>>0]=b[e>>0]|0;b[H+1>>0]=b[e+1>>0]|0;b[H+2>>0]=b[e+2>>0]|0;bm(J|0,e|0,3)|0;e=Cf(O,J)|0;if(!e){i=b[J>>0]|0;j=b[D>>0]|0;k=b[E>>0]|0;q=((i&255^318)+239^j&255)+239^k&255;l=f[x>>2]|0;p=(l|0)==0;a:do if(!p){h=l+-1|0;g=(h&l|0)==0;if(!g)if(q>>>0>>0)e=q;else e=(q>>>0)%(l>>>0)|0;else e=q&h;d=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(G=f[d>>2]|0,(G|0)!=0):0){if(g){d=G;while(1){g=f[d+4>>2]|0;if(!((g|0)==(q|0)|(g&h|0)==(e|0))){s=29;break a}g=d+8|0;if(((b[g>>0]|0)==i<<24>>24?(b[g+1>>0]|0)==j<<24>>24:0)?(b[g+2>>0]|0)==k<<24>>24:0)break a;d=f[d>>2]|0;if(!d){s=29;break a}}}else g=G;while(1){d=f[g+4>>2]|0;if((d|0)!=(q|0)){if(d>>>0>=l>>>0)d=(d>>>0)%(l>>>0)|0;if((d|0)!=(e|0)){s=29;break a}}h=g+8|0;if(((b[h>>0]|0)==i<<24>>24?(b[h+1>>0]|0)==j<<24>>24:0)?(b[h+2>>0]|0)==k<<24>>24:0)break a;g=f[g>>2]|0;if(!g){s=29;break}}}else s=29}else{e=0;s=29}while(0);if((s|0)==29){s=0;h=an(16)|0;b[h+8>>0]=i;b[h+9>>0]=j;b[h+10>>0]=k;f[h+12>>2]=r;f[h+4>>2]=q;f[h>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);Q=$(l>>>0);m=$(n[F>>2]);do if(p|o>$(Q*m)){e=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;d=~~$(W($(o/m)))>>>0;Ih(O,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&q;break}if(q>>>0>>0){g=e;e=q}else{g=e;e=(q>>>0)%(e>>>0)|0}}else g=l;while(0);d=(f[O>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[w>>2];f[w>>2]=h;f[d>>2]=w;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[O>>2]|0)+(e<<2)|0;s=42}}else{f[h>>2]=f[e>>2];s=42}if((s|0)==42){s=0;f[e>>2]=h}f[y>>2]=(f[y>>2]|0)+1}q=B;e=f[q>>2]|0;q=$m(e|0,f[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Rg((f[f[v>>2]>>2]|0)+q|0,H|0,e|0)|0;f[(f[M>>2]|0)+(C<<2)>>2]=r;e=r+1|0}else{f[(f[M>>2]|0)+(C<<2)>>2]=f[e+12>>2];e=r}C=C+1|0;g=f[L>>2]|0;if((C|0)>=(g|0)){l=e;break}else r=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[M>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=e+(g<<2)|0,(d|0)!=(K|0)):0)f[h>>2]=d+(~((d+-4-K|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[L>>2]=l}e=f[M>>2]|0;if(e|0){d=f[N>>2]|0;if((d|0)!=(e|0))f[N>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;pq(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return l|0}pq(e);u=P;return l|0}function jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;E=R+48|0;K=R+36|0;J=R+24|0;G=R+16|0;H=R+8|0;F=R;D=R+32|0;L=a+8|0;d=f[L>>2]|0;if((d|0)<=1)ra(11874,13962,79,12006);if((d|0)>=31)ra(12026,13962,80,12006);f[a+72>>2]=d;C=1<>2]=C+-1;C=C+-2|0;B=a+80|0;f[B>>2]=C;z=a+84|0;f[z>>2]=(C|0)/2|0;C=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(13158,13962,99,14125);if((e|0)!=2)ra(14149,13962,101,14125);y=a+88|0;Uk(y);w=a+36|0;d=f[w>>2]|0;v=(f[d+4>>2]|0)-(f[d>>2]|0)|0;x=v>>2;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;t=J;f[t>>2]=0;f[t+4>>2]=0;t=G;f[t>>2]=0;f[t+4>>2]=0;t=H;f[t>>2]=0;f[t+4>>2]=0;t=F;f[t>>2]=0;f[t+4>>2]=0;if((v|0)<=0){u=R;return 1}t=K+4|0;v=K+8|0;p=J+4|0;q=G+4|0;s=H+4|0;r=F+4|0;g=f[d>>2]|0;if((f[d+4>>2]|0)==(g|0)){o=d;Fp(o)}else{h=g;Q=0}while(1){f[D>>2]=f[h+(Q<<2)>>2];f[E>>2]=f[D>>2];Vb(C,E,K);d=f[K>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[t>>2]|0;e=(g|0)>-1?g:0-g|0;a=Mn(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[v>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Mn(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;o=f[z>>2]|0;if((e|0)==0&(a|0)==0){g=K;d=o}else{m=((o|0)<0)<<31>>31;n=$m(o|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;n=kk(n|0,I|0,e|0,a|0)|0;f[K>>2]=n;d=$m(o|0,m|0,g|0,((g|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,e|0,a|0)|0;f[t>>2]=d;d=o-((n|0)>-1?n:0-n|0)-((d|0)>-1?d:0-d|0)|0;g=v;d=h?d:0-d|0}f[g>>2]=d;k=f[K>>2]|0;g=(k|0)>-1;m=0-k|0;l=f[t>>2]|0;i=0-l|0;a=(l|0)>-1?l:i;n=f[v>>2]|0;j=0-n|0;d=(n|0)>-1?n:j;if((a+(g?k:m)+d|0)!=(o|0)){g=16;break}if(!g){if((l|0)>=0)d=(f[B>>2]|0)-d|0;if((n|0)<0){e=d;g=a}else{e=d;g=(f[B>>2]|0)-a|0}}else{e=o+l|0;g=o+n|0}a=(e|0)==0;h=(g|0)==0;d=f[B>>2]|0;do if((g|e|0)!=0?(N=(d|0)==(g|0),P=(d|0)==(e|0),!(a&N|h&P)):0){if(a&(o|0)<(g|0)){e=0;g=(o<<1)-g|0;break}if((o|0)>(g|0)&P){g=(o<<1)-g|0;break}if((o|0)>(e|0)&N){e=(o<<1)-e|0;break}else{e=(o|0)<(e|0)&h?(o<<1)-e|0:e;break}}else{e=d;g=d}while(0);f[J>>2]=e;f[p>>2]=g;f[K>>2]=m;f[t>>2]=i;f[v>>2]=j;a=(k|0)<1;e=(l|0)<1?i:l;g=(n|0)<1?j:n;if((e+(a?m:k)+g|0)!=(o|0)){g=33;break}if(a){h=o-l|0;a=o-n|0}else{h=(l|0)>0?g:d-g|0;a=(n|0)>0?e:d-e|0}g=(h|0)==0;e=(a|0)==0;do if((a|h|0)!=0?(M=(d|0)==(a|0),O=(d|0)==(h|0),!(g&M|e&O)):0){if(g&(o|0)<(a|0)){g=0;d=(o<<1)-a|0;break}if((o|0)>(a|0)&O){g=d;d=(o<<1)-a|0;break}if((o|0)>(h|0)&M){g=(o<<1)-h|0;break}else{g=(o|0)<(h|0)&e?(o<<1)-h|0:h;d=a;break}}else g=d;while(0);f[G>>2]=g;f[q>>2]=d;i=Q<<1;d=b+(i<<2)|0;ai(L,d,J,H);ai(L,d,G,F);d=f[H>>2]|0;h=f[z>>2]|0;if((h|0)>=(d|0)){if((d|0)<(0-h|0))d=(f[A>>2]|0)+d|0}else d=d-(f[A>>2]|0)|0;f[H>>2]=d;g=f[s>>2]|0;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[A>>2]|0)+g|0}else g=g-(f[A>>2]|0)|0;f[s>>2]=g;e=f[F>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[A>>2]|0)+e|0}else e=e-(f[A>>2]|0)|0;f[F>>2]=e;a=f[r>>2]|0;if((h|0)>=(a|0)){if((a|0)<(0-h|0))a=(f[A>>2]|0)+a|0}else a=a-(f[A>>2]|0)|0;f[r>>2]=a;if((((g|0)>-1?g:0-g|0)+((d|0)>-1?d:0-d|0)|0)<(((e|0)>-1?e:0-e|0)+((a|0)>-1?a:0-a|0)|0)){$i(y,0);e=H}else{$i(y,1);e=F}d=f[e>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=66;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;g=c+(i<<2)|0;f[g>>2]=d;d=f[e+4>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=70;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;f[g+4>>2]=d;Q=Q+1|0;if((Q|0)>=(x|0)){g=11;break}d=f[w>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=Q>>>0){g=12;break}}if((g|0)==11){u=R;return 1}else if((g|0)==12)Fp(d);else if((g|0)==16)ra(14173,13962,119,14125);else if((g|0)==33)ra(14240,11885,99,14328);else if((g|0)==66)ra(12778,11885,313,12812);else if((g|0)==70)ra(12778,11885,313,12812);return 0}function kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;P=u;u=u+64|0;O=P+36|0;H=P+24|0;J=P+12|0;M=P;F=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;e=f[L>>2]|0;f[M>>2]=0;N=M+4|0;f[N>>2]=0;f[M+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Fp(M);z=e<<2;A=an(z)|0;f[M>>2]=A;t=A+(e<<2)|0;f[M+8>>2]=t;cj(A|0,0,z|0)|0;f[N>>2]=t;t=f[d>>2]|0;z=c+48|0;A=c+40|0;D=J+4|0;E=J+8|0;x=O+4|0;y=O+12|0;w=O+8|0;B=a+40|0;v=a+64|0;C=0;r=0;while(1){g=t+C|0;e=z;d=f[e>>2]|0;e=f[e+4>>2]|0;h=A;g=$m(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Mn(g|0,I|0,d|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;d=H;g=e;h=d+12|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));bm(J|0,e|0,12)|0;e=Sf(O,J)|0;if(!e){i=f[J>>2]|0;j=f[D>>2]|0;k=f[E>>2]|0;q=((i^318)+239^j)+239^k;l=f[x>>2]|0;p=(l|0)==0;a:do if(!p){h=l+-1|0;g=(h&l|0)==0;if(!g)if(q>>>0>>0)e=q;else e=(q>>>0)%(l>>>0)|0;else e=q&h;d=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(G=f[d>>2]|0,(G|0)!=0):0){if(g){d=G;while(1){g=f[d+4>>2]|0;if(!((g|0)==(q|0)|(g&h|0)==(e|0))){s=29;break a}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0)break a;d=f[d>>2]|0;if(!d){s=29;break a}}}else g=G;while(1){d=f[g+4>>2]|0;if((d|0)!=(q|0)){if(d>>>0>=l>>>0)d=(d>>>0)%(l>>>0)|0;if((d|0)!=(e|0)){s=29;break a}}if(((f[g+8>>2]|0)==(i|0)?(f[g+12>>2]|0)==(j|0):0)?(f[g+16>>2]|0)==(k|0):0)break a;g=f[g>>2]|0;if(!g){s=29;break}}}else s=29}else{e=0;s=29}while(0);if((s|0)==29){s=0;h=an(24)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=r;f[h+4>>2]=q;f[h>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);Q=$(l>>>0);m=$(n[F>>2]);do if(p|o>$(Q*m)){e=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;d=~~$(W($(o/m)))>>>0;Fh(O,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&q;break}if(q>>>0>>0){g=e;e=q}else{g=e;e=(q>>>0)%(e>>>0)|0}}else g=l;while(0);d=(f[O>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[w>>2];f[w>>2]=h;f[d>>2]=w;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[O>>2]|0)+(e<<2)|0;s=42}}else{f[h>>2]=f[e>>2];s=42}if((s|0)==42){s=0;f[e>>2]=h}f[y>>2]=(f[y>>2]|0)+1}q=B;e=f[q>>2]|0;q=$m(e|0,f[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Rg((f[f[v>>2]>>2]|0)+q|0,H|0,e|0)|0;f[(f[M>>2]|0)+(C<<2)>>2]=r;e=r+1|0}else{f[(f[M>>2]|0)+(C<<2)>>2]=f[e+20>>2];e=r}C=C+1|0;g=f[L>>2]|0;if((C|0)>=(g|0)){l=e;break}else r=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[M>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=e+(g<<2)|0,(d|0)!=(K|0)):0)f[h>>2]=d+(~((d+-4-K|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[L>>2]=l}e=f[M>>2]|0;if(e|0){d=f[N>>2]|0;if((d|0)!=(e|0))f[N>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;pq(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return l|0}pq(e);u=P;return l|0}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;E=R+48|0;K=R+36|0;J=R+24|0;G=R+16|0;H=R+8|0;F=R;D=R+32|0;L=a+8|0;d=f[L>>2]|0;if((d|0)<=1)ra(11874,13962,79,12006);if((d|0)>=31)ra(12026,13962,80,12006);f[a+72>>2]=d;C=1<>2]=C+-1;C=C+-2|0;B=a+80|0;f[B>>2]=C;z=a+84|0;f[z>>2]=(C|0)/2|0;C=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(13158,13962,99,14125);if((e|0)!=2)ra(14149,13962,101,14125);y=a+88|0;Uk(y);w=a+36|0;d=f[w>>2]|0;v=(f[d+4>>2]|0)-(f[d>>2]|0)|0;x=v>>2;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;t=J;f[t>>2]=0;f[t+4>>2]=0;t=G;f[t>>2]=0;f[t+4>>2]=0;t=H;f[t>>2]=0;f[t+4>>2]=0;t=F;f[t>>2]=0;f[t+4>>2]=0;if((v|0)<=0){u=R;return 1}t=K+4|0;v=K+8|0;p=J+4|0;q=G+4|0;s=H+4|0;r=F+4|0;g=f[d>>2]|0;if((f[d+4>>2]|0)==(g|0)){o=d;Fp(o)}else{h=g;Q=0}while(1){f[D>>2]=f[h+(Q<<2)>>2];f[E>>2]=f[D>>2];Ac(C,E,K);d=f[K>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[t>>2]|0;e=(g|0)>-1?g:0-g|0;a=Mn(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[v>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Mn(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;o=f[z>>2]|0;if((e|0)==0&(a|0)==0){g=K;d=o}else{m=((o|0)<0)<<31>>31;n=$m(o|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;n=kk(n|0,I|0,e|0,a|0)|0;f[K>>2]=n;d=$m(o|0,m|0,g|0,((g|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,e|0,a|0)|0;f[t>>2]=d;d=o-((n|0)>-1?n:0-n|0)-((d|0)>-1?d:0-d|0)|0;g=v;d=h?d:0-d|0}f[g>>2]=d;k=f[K>>2]|0;g=(k|0)>-1;m=0-k|0;l=f[t>>2]|0;i=0-l|0;a=(l|0)>-1?l:i;n=f[v>>2]|0;j=0-n|0;d=(n|0)>-1?n:j;if((a+(g?k:m)+d|0)!=(o|0)){g=16;break}if(!g){if((l|0)>=0)d=(f[B>>2]|0)-d|0;if((n|0)<0){e=d;g=a}else{e=d;g=(f[B>>2]|0)-a|0}}else{e=o+l|0;g=o+n|0}a=(e|0)==0;h=(g|0)==0;d=f[B>>2]|0;do if((g|e|0)!=0?(N=(d|0)==(g|0),P=(d|0)==(e|0),!(a&N|h&P)):0){if(a&(o|0)<(g|0)){e=0;g=(o<<1)-g|0;break}if((o|0)>(g|0)&P){g=(o<<1)-g|0;break}if((o|0)>(e|0)&N){e=(o<<1)-e|0;break}else{e=(o|0)<(e|0)&h?(o<<1)-e|0:e;break}}else{e=d;g=d}while(0);f[J>>2]=e;f[p>>2]=g;f[K>>2]=m;f[t>>2]=i;f[v>>2]=j;a=(k|0)<1;e=(l|0)<1?i:l;g=(n|0)<1?j:n;if((e+(a?m:k)+g|0)!=(o|0)){g=33;break}if(a){h=o-l|0;a=o-n|0}else{h=(l|0)>0?g:d-g|0;a=(n|0)>0?e:d-e|0}g=(h|0)==0;e=(a|0)==0;do if((a|h|0)!=0?(M=(d|0)==(a|0),O=(d|0)==(h|0),!(g&M|e&O)):0){if(g&(o|0)<(a|0)){g=0;d=(o<<1)-a|0;break}if((o|0)>(a|0)&O){g=d;d=(o<<1)-a|0;break}if((o|0)>(h|0)&M){g=(o<<1)-h|0;break}else{g=(o|0)<(h|0)&e?(o<<1)-h|0:h;d=a;break}}else g=d;while(0);f[G>>2]=g;f[q>>2]=d;i=Q<<1;d=b+(i<<2)|0;ai(L,d,J,H);ai(L,d,G,F);d=f[H>>2]|0;h=f[z>>2]|0;if((h|0)>=(d|0)){if((d|0)<(0-h|0))d=(f[A>>2]|0)+d|0}else d=d-(f[A>>2]|0)|0;f[H>>2]=d;g=f[s>>2]|0;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[A>>2]|0)+g|0}else g=g-(f[A>>2]|0)|0;f[s>>2]=g;e=f[F>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[A>>2]|0)+e|0}else e=e-(f[A>>2]|0)|0;f[F>>2]=e;a=f[r>>2]|0;if((h|0)>=(a|0)){if((a|0)<(0-h|0))a=(f[A>>2]|0)+a|0}else a=a-(f[A>>2]|0)|0;f[r>>2]=a;if((((g|0)>-1?g:0-g|0)+((d|0)>-1?d:0-d|0)|0)<(((e|0)>-1?e:0-e|0)+((a|0)>-1?a:0-a|0)|0)){$i(y,0);e=H}else{$i(y,1);e=F}d=f[e>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=66;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;g=c+(i<<2)|0;f[g>>2]=d;d=f[e+4>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=70;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;f[g+4>>2]=d;Q=Q+1|0;if((Q|0)>=(x|0)){g=11;break}d=f[w>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=Q>>>0){g=12;break}}if((g|0)==11){u=R;return 1}else if((g|0)==12)Fp(d);else if((g|0)==16)ra(14173,13962,119,14125);else if((g|0)==33)ra(14240,11885,99,14328);else if((g|0)==66)ra(12778,11885,313,12812);else if((g|0)==70)ra(12778,11885,313,12812);return 0}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))Gi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ag(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ag(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;g=d+(i>>>5<<2)|0;f[g>>2]=1<<(i&31)|f[g>>2];g=f[(f[e+28>>2]|0)+(f[b>>2]<<2)>>2]|0;d=(f[n>>2]|0)+(g>>>5<<2)|0;i=1<<(g&31);c=f[d>>2]|0;do if(!(i&c)){h=f[(f[e+40>>2]|0)+(g<<2)>>2]|0;if((h|0)<0){f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(k,t,w);y=40;break}m=f[(f[f[e+64>>2]>>2]|0)+(h<<2)>>2]|0;m=(1<<(m&31)&f[(f[e+12>>2]|0)+(m>>>5<<2)>>2]|0)==0;f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(k,t,w);if(m){e=f[a>>2]|0;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}else y=40}else y=40;while(0);if((y|0)==40){y=0;e=f[a>>2]|0;d=f[b>>2]|0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){Gi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+32|0;q=v+16|0;r=v+12|0;g=v+29|0;t=v;m=v+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){t=1;u=v;return t|0}b[g>>0]=-2;p=a+36|0;e=f[p>>2]|0;if(e)if(Na[f[(f[a>>2]|0)+40>>2]&127](a,e)|0){j=f[p>>2]|0;j=(Ma[f[(f[j>>2]|0)+8>>2]&127](j)|0)&255;b[g>>0]=j;j=5}else e=0;else j=5;if((j|0)==5){o=d+16|0;s=o;n=f[s+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[s>>2]|0)>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,g,g+1|0)|0}e=f[p>>2]|0;if(e|0?(s=(Ma[f[(f[e>>2]|0)+36>>2]&127](e)|0)&255,b[t>>0]=s,s=o,n=f[s+4>>2]|0,!((n|0)>0|(n|0)==0&(f[s>>2]|0)>>>0>0)):0){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,t,t+1|0)|0}h=f[a+32>>2]|0;k=b[h+24>>0]|0;n=X(k,f[h+80>>2]|0)|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;f[t>>2]=0;s=t+4|0;f[s>>2]=0;f[t+8>>2]=0;l=(n|0)==0;do if(!l)if(n>>>0>1073741823)Fp(t);else{e=n<<2;i=an(e)|0;f[t>>2]=i;g=i+(n<<2)|0;f[t+8>>2]=g;cj(i|0,0,e|0)|0;f[s>>2]=g;break}else i=0;while(0);e=f[p>>2]|0;do if(e){Pa[f[(f[e>>2]|0)+44>>2]&31](e,h,i,n,k,f[c>>2]|0)|0;e=f[p>>2]|0;if(!e){g=f[t>>2]|0;e=h;j=20;break}if(!(Ma[f[(f[e>>2]|0)+32>>2]&127](e)|0)){e=f[t>>2]|0;g=e;e=f[p>>2]|0?e:h;j=20}}else{g=i;e=h;j=20}while(0);if((j|0)==20)lm(e,n,g);e=f[a+4>>2]|0;do if(e){e=f[e+48>>2]|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;g=an(48)|0;f[q>>2]=g;f[q+8>>2]=-2147483600;f[q+4>>2]=34;h=g;i=11572;a=h+34|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(a|0));b[g+34>>0]=0;e=Qj(e,q,1)|0;if((b[q+11>>0]|0)<0)pq(f[q>>2]|0);if(!e){if(!l){e=f[t>>2]|0;g=0;h=0;do{h=f[e+(g<<2)>>2]|h;g=g+1|0}while((g|0)!=(n|0));if(h)i=((_(h|0)|0)>>>3^3)+1|0;else i=1}else i=1;b[m>>0]=0;e=o;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,m,m+1|0)|0;g=o;e=f[g+4>>2]|0;g=f[g>>2]|0}b[m>>0]=i;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,m,m+1|0)|0}if((i|0)==(Nl(5)|0)){e=f[t>>2]|0;m=f[o+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[o>>2]|0)>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,e,e+(n<<2)|0)|0}j=46;break}if(l)j=46;else{e=d+4|0;h=0;do{g=(f[t>>2]|0)+(h<<2)|0;m=o;l=f[m+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[m>>2]|0)>>>0>0)){f[r>>2]=f[e>>2];f[q>>2]=f[r>>2];Ke(d,q,g,g+i|0)|0}h=h+1|0}while(h>>>0>>0);j=46}}else j=27}else j=27;while(0);if((j|0)==27){b[m>>0]=1;n=f[o+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,m,m+1|0)|0}if(Lc(f[t>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,k)|0,k,d)|0)j=46;else e=0}if((j|0)==46){e=f[p>>2]|0;if(!e)e=1;else{Na[f[(f[e>>2]|0)+40>>2]&127](e,d)|0;e=1}}g=f[t>>2]|0;if(g|0){h=f[s>>2]|0;if((h|0)!=(g|0))f[s>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}}t=e;u=v;return t|0}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=a+8|0;f[H>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{F=f[b+(i<<2)>>2]|0;B=(F|0)<(g|0);g=B?F:g;h=B?h:(F|0)>(h|0)?F:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;F=1-g+h|0;f[a+20>>2]=F;g=(F|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(F&1))f[h>>2]=g+-1}q=e>>>0>1073741823?-1:e<<2;F=mq(q)|0;cj(F|0,0,q|0)|0;q=f[a+48>>2]|0;r=f[a+56>>2]|0;g=f[r>>2]|0;A=(f[r+4>>2]|0)-g|0;B=A>>2;a:do if((A|0)>4){s=f[a+52>>2]|0;y=a+16|0;u=a+32|0;A=a+12|0;z=a+28|0;x=a+20|0;w=a+24|0;t=q+12|0;v=(e|0)>0;p=B;while(1){o=p;p=p+-1|0;if(B>>>0<=p>>>0)break;h=f[g+(p<<2)>>2]|0;n=X(p,e)|0;if((h|0)>=0?(G=f[(f[t>>2]|0)+(h<<2)>>2]|0,(G|0)>=0):0){i=f[q>>2]|0;j=f[s>>2]|0;k=f[j+(f[i+(G<<2)>>2]<<2)>>2]|0;h=G+1|0;h=((h|0)%3|0|0)==0?G+-2|0:h;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;l=f[j+(h<<2)>>2]|0;h=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;h=f[j+(h<<2)>>2]|0;if((k|0)<(p|0)&(l|0)<(p|0)&(h|0)<(p|0)){k=X(k,e)|0;j=X(l,e)|0;i=X(h,e)|0;if(v){h=0;do{f[F+(h<<2)>>2]=(f[b+(h+i<<2)>>2]|0)+(f[b+(h+j<<2)>>2]|0)-(f[b+(h+k<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}d=b+(n<<2)|0;m=c+(n<<2)|0;h=f[H>>2]|0;if((h|0)>0){l=0;j=F;do{if((h|0)>0){k=0;do{h=f[j+(k<<2)>>2]|0;i=f[y>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(k<<2)>>2]=i}else{J=f[A>>2]|0;i=f[u>>2]|0;f[i+(k<<2)>>2]=(h|0)<(J|0)?J:h;h=i}k=k+1|0}while((k|0)<(f[H>>2]|0));j=h}else j=f[u>>2]|0;h=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=h;if((h|0)>=(f[z>>2]|0)){if((h|0)>(f[w>>2]|0)){h=h-(f[x>>2]|0)|0;I=52}}else{h=(f[x>>2]|0)+h|0;I=52}if((I|0)==52){I=0;f[i>>2]=h}l=l+1|0;h=f[H>>2]|0}while((l|0)<(h|0))}}else I=26}else I=26;if((I|0)==26?(I=0,D=b+(n<<2)|0,E=c+(n<<2)|0,C=f[H>>2]|0,(C|0)>0):0){i=C;l=0;k=b+((X(o+-2|0,e)|0)<<2)|0;while(1){if((i|0)>0){j=0;do{h=f[k+(j<<2)>>2]|0;i=f[y>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(j<<2)>>2]=i}else{o=f[A>>2]|0;J=f[u>>2]|0;f[J+(j<<2)>>2]=(h|0)<(o|0)?o:h;h=J}j=j+1|0}while((j|0)<(f[H>>2]|0))}else h=f[u>>2]|0;i=(f[D+(l<<2)>>2]|0)-(f[h+(l<<2)>>2]|0)|0;j=E+(l<<2)|0;f[j>>2]=i;if((i|0)>=(f[z>>2]|0)){if((i|0)>(f[w>>2]|0)){i=i-(f[x>>2]|0)|0;I=39}}else{i=(f[x>>2]|0)+i|0;I=39}if((I|0)==39){I=0;f[j>>2]=i}l=l+1|0;i=f[H>>2]|0;if((l|0)>=(i|0))break;else k=h}}if((p|0)<=1)break a}Fp(r)}while(0);if((e|0)>0)cj(F|0,0,e<<2|0)|0;g=f[H>>2]|0;if((g|0)<=0){nq(F);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=F;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;J=f[d>>2]|0;f[J+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=J}j=j+1|0}while((j|0)<(f[H>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;I=66}}else{g=(f[m>>2]|0)+g|0;I=66}if((I|0)==66){I=0;f[h>>2]=g}k=k+1|0;g=f[H>>2]|0}while((k|0)<(g|0));nq(F);return 1}function pc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[5958]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[5959]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[5956]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[5954]=f[5954]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=24120+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5955]=f[5955]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[5959]|0;if((k|0)==(f[5960]|0)){k=(f[5957]|0)+b|0;f[5957]=k;f[5960]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[5959]=0;f[5956]=0;return}if((k|0)==(a|0)){k=(f[5956]|0)+b|0;f[5956]=k;f[5959]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[5954]=f[5954]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=24120+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5955]=f[5955]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[5959]|0)){f[5956]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=23856+(a<<1<<2)|0;b=f[5954]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=24120+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[5955]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[5955]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[5962]|0)+-1|0;f[5962]=k;if(!k)a=24272;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[5962]=-1;return}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=a+8|0;f[L>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{J=f[b+(i<<2)>>2]|0;C=(J|0)<(g|0);g=C?J:g;h=C?h:(J|0)>(h|0)?J:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;J=1-g+h|0;f[a+20>>2]=J;g=(J|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(J&1))f[h>>2]=g+-1}q=e>>>0>1073741823?-1:e<<2;J=mq(q)|0;cj(J|0,0,q|0)|0;q=f[a+48>>2]|0;r=f[a+56>>2]|0;g=f[r>>2]|0;B=(f[r+4>>2]|0)-g|0;C=B>>2;a:do if((B|0)>4){s=f[a+52>>2]|0;z=a+16|0;u=a+32|0;B=a+12|0;A=a+28|0;y=a+20|0;x=a+24|0;w=q+64|0;t=q+28|0;v=(e|0)>0;p=C;while(1){o=p;p=p+-1|0;if(C>>>0<=p>>>0)break;h=f[g+(p<<2)>>2]|0;n=X(p,e)|0;if((!((h|0)<0?1:(1<<(h&31)&f[(f[q>>2]|0)+(h>>>5<<2)>>2]|0)!=0)?(K=f[(f[(f[w>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(K|0)>=0):0)?(F=f[t>>2]|0,m=f[s>>2]|0,D=f[m+(f[F+(K<<2)>>2]<<2)>>2]|0,E=K+1|0,E=f[m+(f[F+((((E|0)%3|0|0)==0?K+-2|0:E)<<2)>>2]<<2)>>2]|0,F=f[m+(f[F+((((K>>>0)%3|0|0)==0?2:-1)+K<<2)>>2]<<2)>>2]|0,(D|0)<(p|0)&(E|0)<(p|0)&(F|0)<(p|0)):0){i=X(D,e)|0;j=X(E,e)|0;k=X(F,e)|0;if(v){h=0;do{f[J+(h<<2)>>2]=(f[b+(h+k<<2)>>2]|0)+(f[b+(h+j<<2)>>2]|0)-(f[b+(h+i<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}d=b+(n<<2)|0;m=c+(n<<2)|0;h=f[L>>2]|0;if((h|0)>0){l=0;j=J;do{if((h|0)>0){k=0;do{h=f[j+(k<<2)>>2]|0;i=f[z>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(k<<2)>>2]=i}else{N=f[B>>2]|0;i=f[u>>2]|0;f[i+(k<<2)>>2]=(h|0)<(N|0)?N:h;h=i}k=k+1|0}while((k|0)<(f[L>>2]|0));j=h}else j=f[u>>2]|0;h=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=h;if((h|0)>=(f[A>>2]|0)){if((h|0)>(f[x>>2]|0)){h=h-(f[y>>2]|0)|0;M=48}}else{h=(f[y>>2]|0)+h|0;M=48}if((M|0)==48){M=0;f[i>>2]=h}l=l+1|0;h=f[L>>2]|0}while((l|0)<(h|0))}}else M=22;if((M|0)==22?(M=0,H=b+(n<<2)|0,I=c+(n<<2)|0,G=f[L>>2]|0,(G|0)>0):0){i=G;l=0;k=b+((X(o+-2|0,e)|0)<<2)|0;while(1){if((i|0)>0){j=0;do{h=f[k+(j<<2)>>2]|0;i=f[z>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(j<<2)>>2]=i}else{o=f[B>>2]|0;N=f[u>>2]|0;f[N+(j<<2)>>2]=(h|0)<(o|0)?o:h;h=N}j=j+1|0}while((j|0)<(f[L>>2]|0))}else h=f[u>>2]|0;i=(f[H+(l<<2)>>2]|0)-(f[h+(l<<2)>>2]|0)|0;j=I+(l<<2)|0;f[j>>2]=i;if((i|0)>=(f[A>>2]|0)){if((i|0)>(f[x>>2]|0)){i=i-(f[y>>2]|0)|0;M=35}}else{i=(f[y>>2]|0)+i|0;M=35}if((M|0)==35){M=0;f[j>>2]=i}l=l+1|0;i=f[L>>2]|0;if((l|0)>=(i|0))break;else k=h}}if((p|0)<=1)break a}Fp(r)}while(0);if((e|0)>0)cj(J|0,0,e<<2|0)|0;g=f[L>>2]|0;if((g|0)<=0){nq(J);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=J;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;N=f[d>>2]|0;f[N+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=N}j=j+1|0}while((j|0)<(f[L>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;M=62}}else{g=(f[m>>2]|0)+g|0;M=62}if((M|0)==62){M=0;f[h>>2]=g}k=k+1|0;g=f[L>>2]|0}while((k|0)<(g|0));nq(J);return 1}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+48|0;I=J+24|0;G=J+12|0;m=J;if(!b){I=0;u=J;return I|0}F=a+12|0;n=a+4|0;c=f[n>>2]|0;d=f[a>>2]|0;j=c-d>>2;h=a+16|0;g=f[h>>2]|0;e=f[F>>2]|0;k=g-e>>2;if(j>>>0<=k>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(F,j-k|0,6028);d=f[a>>2]|0;c=f[n>>2]|0}f[I>>2]=0;B=I+4|0;f[B>>2]=0;f[I+8>>2]=0;Jj(I,c-d>>2);c=f[n>>2]|0;d=f[a>>2]|0;if((c-d|0)>0){j=0;do{k=f[d+(j<<2)>>2]|0;g=f[B>>2]|0;e=f[I>>2]|0;i=g-e>>2;if((k|0)>=(i|0)){h=k+1|0;f[G>>2]=0;if(h>>>0<=i>>>0){if(h>>>0>>0?(l=e+(h<<2)|0,(g|0)!=(l|0)):0)f[B>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{lh(I,h-i|0,G);c=f[n>>2]|0;d=f[a>>2]|0}}A=(f[I>>2]|0)+(k<<2)|0;f[A>>2]=(f[A>>2]|0)+1;j=j+1|0}while((j|0)<(c-d>>2|0))}c=c-d|0;h=c>>2;f[G>>2]=0;A=G+4|0;f[A>>2]=0;f[G+8>>2]=0;if(!h){e=0;d=0}else{if(h>>>0>536870911)Fp(G);g=an(c<<1)|0;f[A>>2]=g;f[G>>2]=g;f[G+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){z=e;f[z>>2]=-1;f[z+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[A>>2]=g+(h<<3);e=g;d=g}c=f[B>>2]|0;g=f[I>>2]|0;h=c-g|0;z=h>>2;f[m>>2]=0;y=m+4|0;f[y>>2]=0;f[m+8>>2]=0;x=g;do if(z)if(z>>>0>1073741823)Fp(m);else{E=an(h)|0;f[m>>2]=E;D=E+(z<<2)|0;f[m+8>>2]=D;cj(E|0,0,h|0)|0;f[y>>2]=D;C=E;break}else{C=0;D=0;E=0}while(0);if((c|0)!=(g|0)){c=0;g=0;do{f[C+(c<<2)>>2]=g;g=(f[x+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}w=f[a>>2]|0;c=(f[n>>2]|0)-w|0;if((c|0)>0){v=a+40|0;t=c>>2;l=C;r=0;j=e;p=e;q=e;o=e;s=e;while(1){i=(r|0)<0;c=r+1|0;if(!i){c=((c|0)%3|0|0)==0?r+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[w+(c<<2)>>2]|0;c=(r>>>0)%3|0;g=((c|0)==0?2:-1)+r|0;if((g|0)<0){a=-1073741824;n=h}else{a=f[w+(g<<2)>>2]|0;n=h}}else{c=(r>>>0)%3|0;a=-1073741824;n=-1073741824}if((r|0)==((i?-1073741824:r-c|0)|0)){if(i)c=-1073741824;else c=f[w+(r<<2)>>2]|0;if((n|0)==(a|0)|((c|0)==(n|0)|(c|0)==(a|0))){f[v>>2]=(f[v>>2]|0)+1;i=r+2|0;h=p;k=q;c=o;g=s}else H=55}else H=55;a:do if((H|0)==55){H=0;m=f[x+(a<<2)>>2]|0;b:do if((m|0)>0){c=0;i=f[l+(a<<2)>>2]|0;while(1){g=f[o+(i<<3)>>2]|0;if((g|0)<0){g=j;h=p;c=o;break b}if((g|0)==(n|0))break;c=c+1|0;if((c|0)<(m|0))i=i+1|0;else{g=j;h=p;c=o;break b}}k=f[o+(i<<3)+4>>2]|0;h=p;while(1){c=c+1|0;if((c|0)>=(m|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[j+(i<<3)>>2]|0)<0)break;else{i=g;h=j}}f[q+(i<<3)>>2]=-1;if((k|0)<0){g=q;h=q;c=q}else{i=f[F>>2]|0;f[i+(r<<2)>>2]=k;f[i+(k<<2)>>2]=r;i=r;j=q;h=q;k=q;c=q;g=s;break a}}else{g=j;h=p;c=o}while(0);i=f[x+(n<<2)>>2]|0;if((i|0)>0){h=0;c=f[C+(n<<2)>>2]|0;while(1){g=s+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){l=C;i=r;j=s;h=s;k=s;c=s;g=s;break a}else c=c+1|0}f[g>>2]=a;f[e+(c<<3)+4>>2]=r;l=C;i=r;j=e;h=e;k=e;c=e;g=e}else{i=r;j=g;k=q;g=s}}while(0);r=i+1|0;if((r|0)>=(t|0))break;else{p=h;q=k;o=c;s=g}}}f[b>>2]=z;if(C){if((D|0)!=(C|0))f[y>>2]=D+(~((D+-4-C|0)>>>2)<<2);pq(E);d=f[G>>2]|0;e=d}if(e|0){c=f[A>>2]|0;if((c|0)!=(e|0))f[A>>2]=c+(~((c+-8-e|0)>>>3)<<3);pq(d)}c=f[I>>2]|0;if(c|0){d=f[B>>2]|0;if((d|0)!=(c|0))f[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}I=1;u=J;return I|0}function sc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=Ka,q=Ka,r=Ka,s=0,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+28|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)k=-1073741824;else k=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;k=-1073741824}i=f[a+32>>2]|0;g=f[i>>2]|0;l=(f[i+4>>2]|0)-g>>2;if(l>>>0<=c>>>0)Fp(i);c=f[g+(c<<2)>>2]|0;if(l>>>0<=k>>>0)Fp(i);l=f[g+(k<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+52|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+52|0;s=f[y>>2]|0;k=X(s,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);s=X(s,l)|0;t=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+48>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;s=a+40|0;i=f[s>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;s=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,s,C)|0;r=$(n[C>>2]);p=$(n[B>>2]);r=$(r-p);q=$(n[C+4>>2]);j=$(n[B+4>>2]);q=$(q-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);p=$($(n[D>>2])-p);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(r*r)+$(0.0))+$(q*q))+$(o*o));if(m>$(0.0)){H=$($($($($(r*p)+$(0.0))+$(q*j))+$(o*h))/m);r=$(p-$(r*H));q=$(j-$(q*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(q*q)+$($(r*r)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+56|0;i=a+60|0;c=f[i>>2]|0;g=f[a+64>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function tc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=Ka,q=Ka,r=Ka,s=0,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+48|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)k=-1073741824;else k=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;k=-1073741824}i=f[a+52>>2]|0;g=f[i>>2]|0;l=(f[i+4>>2]|0)-g>>2;if(l>>>0<=c>>>0)Fp(i);c=f[g+(c<<2)>>2]|0;if(l>>>0<=k>>>0)Fp(i);l=f[g+(k<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+72|0;s=f[y>>2]|0;k=X(s,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);s=X(s,l)|0;t=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+68>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;s=a+60|0;i=f[s>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;s=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,s,C)|0;r=$(n[C>>2]);p=$(n[B>>2]);r=$(r-p);q=$(n[C+4>>2]);j=$(n[B+4>>2]);q=$(q-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);p=$($(n[D>>2])-p);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(r*r)+$(0.0))+$(q*q))+$(o*o));if(m>$(0.0)){H=$($($($($(r*p)+$(0.0))+$(q*j))+$(o*h))/m);r=$(p-$(r*H));q=$(j-$(q*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(q*q)+$($(r*r)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+76|0;i=a+80|0;c=f[i>>2]|0;g=f[a+84>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function uc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=0,q=Ka,r=Ka,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+28|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);l=f[(f[i>>2]|0)+28>>2]|0;k=f[l+(c<<2)>>2]|0;l=f[l+(g<<2)>>2]|0;i=f[a+32>>2]|0;c=f[i>>2]|0;p=(f[i+4>>2]|0)-c>>2;if(p>>>0<=k>>>0)Fp(i);g=c;c=f[g+(k<<2)>>2]|0;if(p>>>0<=l>>>0)Fp(i);l=f[g+(l<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+52|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+52|0;p=f[y>>2]|0;k=X(p,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);p=X(p,l)|0;t=$(f[d+(p<<2)>>2]|0);w=$(f[d+(p+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+48>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;p=a+40|0;i=f[p>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;p=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,p,C)|0;s=$(n[C>>2]);q=$(n[B>>2]);s=$(s-q);r=$(n[C+4>>2]);j=$(n[B+4>>2]);r=$(r-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);q=$($(n[D>>2])-q);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(s*s)+$(0.0))+$(r*r))+$(o*o));if(m>$(0.0)){H=$($($($($(s*q)+$(0.0))+$(r*j))+$(o*h))/m);s=$(q-$(s*H));r=$(j-$(r*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+56|0;i=a+60|0;c=f[i>>2]|0;g=f[a+64>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function vc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=0,q=Ka,r=Ka,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+48|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);l=f[(f[i>>2]|0)+28>>2]|0;k=f[l+(c<<2)>>2]|0;l=f[l+(g<<2)>>2]|0;i=f[a+52>>2]|0;c=f[i>>2]|0;p=(f[i+4>>2]|0)-c>>2;if(p>>>0<=k>>>0)Fp(i);g=c;c=f[g+(k<<2)>>2]|0;if(p>>>0<=l>>>0)Fp(i);l=f[g+(l<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+72|0;p=f[y>>2]|0;k=X(p,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);p=X(p,l)|0;t=$(f[d+(p<<2)>>2]|0);w=$(f[d+(p+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+68>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;p=a+60|0;i=f[p>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;p=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,p,C)|0;s=$(n[C>>2]);q=$(n[B>>2]);s=$(s-q);r=$(n[C+4>>2]);j=$(n[B+4>>2]);r=$(r-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);q=$($(n[D>>2])-q);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(s*s)+$(0.0))+$(r*r))+$(o*o));if(m>$(0.0)){H=$($($($($(s*q)+$(0.0))+$(r*j))+$(o*h))/m);s=$(q-$(s*H));r=$(j-$(r*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+76|0;i=a+80|0;c=f[i>>2]|0;g=f[a+84>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))Gi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ag(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ag(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){m=(c|0)/3|0;d=d+(m>>>5<<2)|0;f[d>>2]=1<<(m&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)i=-1073741824;else i=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;h=(f[n>>2]|0)+(i>>>5<<2)|0;j=1<<(i&31);g=f[h>>2]|0;do if(!(j&g)){e=f[a>>2]|0;c=f[(f[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=f[(f[e+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}}f[h>>2]=g|j;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(k,t,w);if((c|0)<0){d=f[b>>2]|0;y=42;break}d=f[a>>2]|0;c=f[b>>2]|0;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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}else y=42;while(0);if((y|0)==42){y=0;e=f[a>>2]|0;if((d|0)<0){y=45;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=50;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=55;break a}}else y=50;while(0);if((y|0)==50){y=0;if(g){y=52;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=52;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==45){f[w>>2]=-1073741824;y=52}else if((y|0)==55){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){Gi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==52){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=Ka,i=Ka,j=0,k=0,l=0,m=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=Ka;v=b[c+11>>0]|0;x=v<<24>>24<0;w=x?f[c>>2]|0:c;v=x?f[c+4>>2]|0:v&255;if(v>>>0>3){j=w;m=v;k=v;while(1){x=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(x>>>24^x,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}x=v+-4|0;k=x&-4;l=w+(k+4)|0;j=m;k=x-k|0}else{l=w;j=v;k=v}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;z=6;break}case 2:{o=j;z=6;break}case 1:{p=j;z=7;break}default:q=j}if((z|0)==6){p=h[l+1>>0]<<8^o;z=7}if((z|0)==7)q=X(h[l>>0]^p,1540483477)|0;x=X(q>>>13^q,1540483477)|0;x=x>>>15^x;t=a+4|0;s=f[t>>2]|0;u=(s|0)==0;a:do if(!u){q=s+-1|0;k=(q&s|0)==0;if(!k)if(x>>>0>>0)r=x;else r=(x>>>0)%(s>>>0)|0;else r=x&q;j=f[(f[a>>2]|0)+(r<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){p=(v|0)==0;if(k){if(p){d=e;while(1){w=f[d+4>>2]|0;if(!((w|0)==(x|0)|(w&q|0)==(r|0))){d=r;break a}w=b[d+8+11>>0]|0;if(!((w<<24>>24<0?f[d+12>>2]|0:w&255)|0)){j=d;break}d=f[d>>2]|0;if(!d){d=r;break a}}a=j+20|0;return a|0}else j=e;b:while(1){o=f[j+4>>2]|0;if(!((o|0)==(x|0)|(o&q|0)==(r|0))){d=r;break a}k=j+8|0;m=b[k+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[j+12>>2]|0:m)|0)==(v|0)){l=f[k>>2]|0;if(o)if(!(fl(l,w,v)|0)){z=63;break b}else break;if((l&255)<<24>>24==(b[w>>0]|0)){l=w;do{m=m+-1|0;k=k+1|0;if(!m){z=63;break b}l=l+1|0}while((b[k>>0]|0)==(b[l>>0]|0))}}while(0);j=f[j>>2]|0;if(!j){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}if(p){while(1){d=f[e+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=s>>>0)d=(d>>>0)%(s>>>0)|0;if((d|0)!=(r|0)){d=r;break a}}w=b[e+8+11>>0]|0;if(!((w<<24>>24<0?f[e+12>>2]|0:w&255)|0)){j=e;break}e=f[e>>2]|0;if(!e){d=r;break a}}a=j+20|0;return a|0}c:while(1){j=f[e+4>>2]|0;if((j|0)!=(x|0)){if(j>>>0>=s>>>0)j=(j>>>0)%(s>>>0)|0;if((j|0)!=(r|0)){d=r;break a}}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(v|0)){k=f[j>>2]|0;if(m)if(!(fl(k,w,v)|0)){j=e;z=63;break c}else break;if((k&255)<<24>>24==(b[w>>0]|0)){k=w;do{l=l+-1|0;j=j+1|0;if(!l){j=e;z=63;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}else d=r}else d=0;while(0);l=an(24)|0;dj(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=x;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);A=$(s>>>0);g=$(n[a+16>>2]);do if(u|i>$(A*g)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~$(W($(i/g)))>>>0;Wh(a,d>>>0>>0?e:d);d=f[t>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&x;break}if(x>>>0>>0){j=d;d=x}else{j=d;d=(x>>>0)%(d>>>0)|0}}else j=s;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(e&j){if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0}else d=d&e;y=(f[a>>2]|0)+(d<<2)|0;z=61}}else{f[l>>2]=f[d>>2];y=d;z=61}if((z|0)==61)f[y>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x+24|0;v=x+12|0;t=x;r=a+32|0;s=a+8|0;p=a+12|0;b=f[p>>2]|0;d=f[s>>2]|0;j=b-d>>2;h=a+36|0;g=f[h>>2]|0;e=f[r>>2]|0;k=g-e>>2;c=d;if(j>>>0<=k>>>0)if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0){f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2);i=d}else i=d;else{qi(r,j-k|0);c=f[s>>2]|0;i=c;b=f[p>>2]|0}h=b-i|0;g=h>>2;f[w>>2]=0;e=w+4|0;f[e>>2]=0;d=w+8|0;f[d>>2]=0;if(g|0){if((h|0)<0)Fp(w);m=((g+-1|0)>>>5)+1|0;n=an(m<<2)|0;f[w>>2]=n;f[d>>2]=m;f[e>>2]=g;d=g>>>5;cj(n|0,0,d<<2|0)|0;e=g-(d<<5)|0;d=n+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0))}n=a+20|0;d=0;while(1){if(d>>>0>2>>>0){e=i;g=0;m=0}else{o=25;break}while(1){k=m>>>5;l=1<<(m&31);do if(!(f[(f[w>>2]|0)+(k<<2)>>2]&l)){b=f[c+(m<<2)>>2]|0;if((f[b+8>>2]|0)!=(f[b+4>>2]|0)){e=1;j=0;do{i=f[(f[b+4>>2]|0)+(j<<2)>>2]|0;h=0;while(1){c=f[c+(m<<2)>>2]|0;if((h|0)>=(Na[f[(f[c>>2]|0)+24>>2]&127](c,i)|0))break;b=f[(f[s>>2]|0)+(m<<2)>>2]|0;b=Oa[f[(f[b>>2]|0)+28>>2]&31](b,i,h)|0;if((b|0)!=(m|0)?(c=f[(f[n>>2]|0)+(b<<2)>>2]|0,(1<<(c&31)&f[(f[w>>2]|0)+(c>>>5<<2)>>2]|0)==0):0){e=0;break}c=f[s>>2]|0;h=h+1|0}j=j+1|0;c=f[s>>2]|0;b=f[c+(m<<2)>>2]|0}while(j>>>0<(f[b+8>>2]|0)-(f[b+4>>2]|0)>>2>>>0);if(!e){e=c;h=d;break}}else c=e;f[(f[r>>2]|0)+(d<<2)>>2]=m;e=(f[w>>2]|0)+(k<<2)|0;f[e>>2]=f[e>>2]|l;e=c;g=1;h=d+1|0}else h=d;while(0);m=m+1|0;b=f[p>>2]|0;d=b-e>>2;c=e;if(m>>>0>=d>>>0)break;else d=h}if(h>>>0>>0&(g^1)){c=0;break}else{i=e;d=h}}if((o|0)==25){f[v>>2]=0;o=v+4|0;f[o>>2]=0;f[v+8>>2]=0;h=f[a+4>>2]|0;h=(f[h+12>>2]|0)-(f[h+8>>2]|0)|0;g=h>>2;f[t>>2]=0;e=t+4|0;f[e>>2]=0;d=t+8|0;f[d>>2]=0;if(g|0){if((h|0)<0)Fp(t);n=((g+-1|0)>>>5)+1|0;a=an(n<<2)|0;f[t>>2]=a;f[d>>2]=n;f[e>>2]=g;d=g>>>5;cj(a|0,0,d<<2|0)|0;e=g-(d<<5)|0;d=a+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0))}a:do if((b|0)==(i|0))c=1;else{d=i;n=0;while(1){m=f[(f[r>>2]|0)+(n<<2)>>2]|0;a=f[c+(m<<2)>>2]|0;a=(f[a+8>>2]|0)-(f[a+4>>2]|0)|0;l=a>>2;if((a|0)<8)c=d;else{c=f[o>>2]|0;b=f[v>>2]|0;d=c-b>>2;if(l>>>0<=d>>>0)if(l>>>0>>0?(q=b+(l<<2)|0,(c|0)!=(q|0)):0){f[o>>2]=c+(~((c+-4-q|0)>>>2)<<2);b=0}else b=0;else{qi(v,l-d|0);b=0}while(1){if((b|0)<(l|0)){c=0;k=0}else break;do{d=f[(f[s>>2]|0)+(m<<2)>>2]|0;h=f[(f[d+4>>2]|0)+(k<<2)>>2]|0;i=k>>>5;j=1<<(k&31);if(!(f[(f[t>>2]|0)+(i<<2)>>2]&j)){e=d;d=1;g=0;while(1){if((g|0)>=(Na[f[(f[e>>2]|0)+24>>2]&127](e,h)|0))break;a=f[(f[s>>2]|0)+(m<<2)>>2]|0;a=Oa[f[(f[a>>2]|0)+28>>2]&31](a,h,g)|0;a=(f[(f[t>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)!=0;d=d&a;if(!a)break;e=f[(f[s>>2]|0)+(m<<2)>>2]|0;g=g+1|0}if(d){f[(f[v>>2]|0)+(b<<2)>>2]=k;c=(f[t>>2]|0)+(i<<2)|0;f[c>>2]=f[c>>2]|j;c=1;b=b+1|0}}k=k+1|0}while((k|0)<(l|0));if(!(c|(b|0)>=(l|0))){c=0;break a}}wg(f[(f[s>>2]|0)+(m<<2)>>2]|0,v);c=f[s>>2]|0;b=f[p>>2]|0}n=n+1|0;if(n>>>0>=b-c>>2>>>0){c=1;break}else d=c}}while(0);b=f[t>>2]|0;if(b|0)pq(b);b=f[v>>2]|0;if(b|0){d=f[o>>2]|0;if((d|0)!=(b|0))f[o>>2]=d+(~((d+-4-b|0)>>>2)<<2);pq(b)}}b=f[w>>2]|0;if(!b){u=x;return c|0}pq(b);u=x;return c|0}function zc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+16|0;y=z+4|0;x=z;if(!(Ri(a,d)|0)){a=0;u=z;return a|0}s=a+64|0;d=f[s>>2]|0;a:do if(((f[d+4>>2]|0)-(f[d>>2]|0)|0)>0){q=a+12|0;v=e+84|0;p=e+68|0;t=c+96|0;r=c+100|0;w=a+24|0;o=0;b:while(1){f[x>>2]=(o>>>0)/3|0;f[y>>2]=f[x>>2];n=Dj(d,y)|0;d=f[s>>2]|0;do if(!n){n=f[(f[d+12>>2]|0)+(o<<2)>>2]|0;if((n|0)<0){g=(f[a>>2]|0)+(o>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(o&31);g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;n=(f[q>>2]|0)+(g>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(g&31);g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;n=(f[q>>2]|0)+(g>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(g&31);break}if((n|0)>=(o|0)){m=o+1|0;k=((m|0)%3|0|0)==0?o+-2|0:m;j=n+(((n>>>0)%3|0|0)==0?2:-1)|0;if((k|0)==-1073741824)g=-1073741824;else{h=(k|0)/3|0;if((k|0)<=-3){d=18;break b}g=f[t>>2]|0;if((h|0)>=(((f[r>>2]|0)-g|0)/12|0|0)){d=20;break b}g=f[g+(h*12|0)+(((k|0)%3|0)<<2)>>2]|0}i=(j|0)/3|0;if((j|0)<=-3){d=23;break b}h=f[t>>2]|0;if((i|0)>=(((f[r>>2]|0)-h|0)/12|0|0)){d=25;break b}h=f[h+(i*12|0)+(((j|0)%3|0)<<2)>>2]|0;l=(b[v>>0]|0)==0;if(l){i=f[p>>2]|0;h=f[i+(h<<2)>>2]|0;g=f[i+(g<<2)>>2]|0}if((g|0)==(h|0)){g=k+1|0;if((k|0)<0)i=k;else i=((g|0)%3|0|0)==0?k+-2|0:g;do if((j|0)>=0)if(!((j>>>0)%3|0)){j=j+2|0;break}else{j=j+-1|0;break}while(0);if((i|0)==-1073741824)g=-1073741824;else{h=(i|0)/3|0;if((i|0)<=-3){d=18;break b}g=f[t>>2]|0;if((h|0)>=(((f[r>>2]|0)-g|0)/12|0|0)){d=20;break b}g=f[g+(h*12|0)+(((i|0)%3|0)<<2)>>2]|0}if((j|0)==-1073741824)h=-1073741824;else{i=(j|0)/3|0;if((j|0)<=-3){d=23;break b}h=f[t>>2]|0;if((i|0)>=(((f[r>>2]|0)-h|0)/12|0|0)){d=25;break b}h=f[h+(i*12|0)+(((j|0)%3|0)<<2)>>2]|0}if(l){l=f[p>>2]|0;h=f[l+(h<<2)>>2]|0;g=f[l+(g<<2)>>2]|0}if((g|0)==(h|0))break}b[w>>0]=0;g=f[a>>2]|0;l=g+(o>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(o&31);g=g+(n>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(n&31);g=((m|0)%3|0|0)==0?o+-2|0:m;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;m=(f[q>>2]|0)+(g>>>5<<2)|0;f[m>>2]=f[m>>2]|1<<(g&31);g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;m=(f[q>>2]|0)+(g>>>5<<2)|0;f[m>>2]=f[m>>2]|1<<(g&31);g=n+1|0;g=((g|0)%3|0|0)==0?n+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;m=(f[q>>2]|0)+(g>>>5<<2)|0;f[m>>2]=f[m>>2]|1<<(g&31);g=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;n=(f[q>>2]|0)+(g>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(g&31)}}while(0);o=o+1|0;if((o|0)>=((f[d+4>>2]|0)-(f[d>>2]|0)>>2|0))break a}if((d|0)==18)ra(19893,19918,63,20001);else if((d|0)==20)ra(20006,19918,64,20001);else if((d|0)==23)ra(19893,19918,63,20001);else if((d|0)==25)ra(20006,19918,64,20001)}while(0);if((c|0)!=0&(e|0)!=0){Bc(a,c,e);a=1;u=z;return a|0}else{Nc(a,0,0);a=1;u=z;return a|0}return 0}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))ra(13158,13180,46,13350);if(!(f[a+8>>2]|0))ra(13158,13180,46,13350);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Lh(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Lh(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Lh(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=_n(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=_n(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=_n(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=_n(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=_n(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=_n(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=$m(H|0,J|0,i|0,h|0)|0;M=I;P=$m(T|0,S|0,K|0,L|0)|0;O=I;L=$m(R|0,Q|0,K|0,L|0)|0;K=I;J=$m(H|0,J|0,n|0,j|0)|0;H=I;j=$m(T|0,S|0,n|0,j|0)|0;n=I;h=$m(R|0,Q|0,i|0,h|0)|0;i=I;l=_n(l|0,k|0,P|0,O|0)|0;l=Mn(l|0,I|0,N|0,M|0)|0;k=I;g=Mn(L|0,K|0,g|0,m|0)|0;g=_n(g|0,I|0,J|0,H|0)|0;m=I;c=_n(c|0,e|0,h|0,i|0)|0;c=Mn(c|0,I|0,j|0,n|0)|0;e=I;Vg(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=_n(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=_n(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=_n(0,0,c|0,e|0)|0;S=Mn((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Mn(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=An(h|0,i|0,29)|0;T=T&7;i=kk(l|0,k|0,T|0,0)|0;j=I;g=kk(g|0,m|0,T|0,0)|0;h=I;c=kk(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=An(h|0,i|0,29)|0;T=I;i=kk(l|0,k|0,S|0,T|0)|0;j=I;g=kk(g|0,m|0,S|0,T|0)|0;h=I;c=kk(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=_n(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=_n(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=_n(0,0,c|0,e|0)|0;Q=Mn((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Mn(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else ra(13372,13180,95,13350)}function Bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Gi(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))Gi(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Gi(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){Gi(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)ra(20006,19918,64,20001);else if((C|0)==33)ra(20006,19918,64,20001)}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+32|0;t=v+12|0;q=v+8|0;p=v+4|0;r=v;s=a+8|0;a:do if(f[s>>2]|0?(o=f[a>>2]|0,n=a+4|0,f[a>>2]=n,f[(f[n>>2]|0)+8>>2]=0,f[n>>2]=0,f[s>>2]=0,d=f[o+4>>2]|0,d=(d|0)==0?o:d,d|0):0){o=a+4|0;m=f[b>>2]|0;l=d;while(1){if((m|0)==(f[c>>2]|0))break;g=l+16|0;f[g>>2]=f[m+16>>2];if((l|0)!=(m|0)){f[p>>2]=f[m+20>>2];f[r>>2]=m+24;f[q>>2]=f[p>>2];f[t>>2]=f[r>>2];Kc(l+20|0,q,t)}j=l+8|0;e=f[j>>2]|0;do if(e){d=f[e>>2]|0;if((d|0)==(l|0)){f[e>>2]=0;d=f[e+4>>2]|0;if(!d){k=e;break}while(1){e=f[d>>2]|0;if(e|0){d=e;continue}e=f[d+4>>2]|0;if(!e)break;else d=e}k=d;break}else{f[e+4>>2]=0;if(!d){k=e;break}while(1){e=f[d>>2]|0;if(e|0){d=e;continue}e=f[d+4>>2]|0;if(!e)break;else d=e}k=d;break}}else k=0;while(0);d=f[n>>2]|0;do if(d){g=f[g>>2]|0;h=d;while(1){if((g|0)<(f[h+16>>2]|0)){d=f[h>>2]|0;if(!d){i=24;break}}else{e=h+4|0;d=f[e>>2]|0;if(!d){i=27;break}}h=d}if((i|0)==24){d=h;e=h;break}else if((i|0)==27){d=h;break}}else{d=n;e=n}while(0);f[l>>2]=0;f[l+4>>2]=0;f[j>>2]=d;f[e>>2]=l;d=f[f[a>>2]>>2]|0;if(!d)d=l;else{f[a>>2]=d;d=f[e>>2]|0}He(f[o>>2]|0,d);f[s>>2]=(f[s>>2]|0)+1;d=f[m+4>>2]|0;if(!d){e=m+8|0;d=f[e>>2]|0;if((f[d>>2]|0)!=(m|0))do{m=f[e>>2]|0;e=m+8|0;d=f[e>>2]|0}while((f[d>>2]|0)!=(m|0))}else while(1){e=f[d>>2]|0;if(!e)break;else d=e}f[b>>2]=d;if(!k)break a;else{m=d;l=k}}d=f[l+8>>2]|0;if(!d)d=l;else while(1){e=f[d+8>>2]|0;if(!e)break;else d=e}vj(a,d)}while(0);d=f[b>>2]|0;k=f[c>>2]|0;if((d|0)==(k|0)){u=v;return}l=a+4|0;m=a+4|0;do{Gg(t,a,d+16|0);g=f[l>>2]|0;do if(g){e=f[t>>2]|0;i=f[e+16>>2]|0;j=g;while(1){if((i|0)<(f[j+16>>2]|0)){g=f[j>>2]|0;if(!g){i=45;break}}else{h=j+4|0;g=f[h>>2]|0;if(!g){i=48;break}}j=g}if((i|0)==45){g=j;h=j;break}else if((i|0)==48){g=j;break}}else{e=f[t>>2]|0;g=l;h=l}while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=g;f[h>>2]=e;g=f[f[a>>2]>>2]|0;if(g){f[a>>2]=g;e=f[h>>2]|0}He(f[m>>2]|0,e);f[s>>2]=(f[s>>2]|0)+1;e=f[d+4>>2]|0;if(!e){e=d+8|0;g=f[e>>2]|0;if((f[g>>2]|0)==(d|0))d=g;else do{c=f[e>>2]|0;e=c+8|0;d=f[e>>2]|0}while((f[d>>2]|0)!=(c|0))}else{d=e;while(1){e=f[d>>2]|0;if(!e)break;else d=e}}f[b>>2]=d}while((d|0)!=(k|0));u=v;return}function Dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))ra(20748,20641,68,20738);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);pq(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(e)}pq(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}pq(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){Ji(d);pq(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){Ji(c);pq(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){bm(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function Ec(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+4|0;i=f[w>>2]|0;v=a+100|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=0}else{i=Xi(a)|0;k=0}a:while(1){switch(i|0){case 46:{o=8;break a}case 48:break;default:{u=0;n=0;q=0;j=0;r=k;t=0;s=0;m=1.0;k=0;g=0.0;break a}}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=1;continue}else{i=Xi(a)|0;k=1;continue}}if((o|0)==8){i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Xi(a)|0;if((i|0)==48){k=0;j=0;do{i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Xi(a)|0;k=Mn(k|0,j|0,-1,-1)|0;j=I}while((i|0)==48);u=0;n=0;q=k;r=1;t=1;s=0;m=1.0;k=0;g=0.0}else{u=0;n=0;q=0;j=0;r=k;t=1;s=0;m=1.0;k=0;g=0.0}}while(1){p=i+-48|0;o=(i|0)==46;if(p>>>0>=10?!(o|((i|32)+-97|0)>>>0<6):0)break;if(o)if(!t){q=n;j=u;p=u;t=1;o=s;l=m}else{i=46;break}else{i=(i|0)>57?(i|32)+-87|0:p;do if(!((u|0)<0|(u|0)==0&n>>>0<8))if((u|0)<0|(u|0)==0&n>>>0<14){m=m*.0625;o=s;l=m;g=g+m*+(i|0);break}else{r=(s|0)!=0|(i|0)==0;o=r?s:1;l=m;g=r?g:g+m*.5;break}else{o=s;l=m;k=i+(k<<4)|0}while(0);n=Mn(n|0,u|0,1,0)|0;p=I;r=1}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;u=p;i=h[i>>0]|0;s=o;m=l;continue}else{u=p;i=Xi(a)|0;s=o;m=l;continue}}do if(!r){i=f[v>>2]|0;j=(i|0)!=0;if(j)f[w>>2]=(f[w>>2]|0)+-1;if(e){if(j)f[w>>2]=(f[w>>2]|0)+-1;if(!((t|0)==0|(i|0)==0))f[w>>2]=(f[w>>2]|0)+-1}else Lm(a,0);g=+(d|0)*0.0}else{o=(t|0)==0;p=o?n:q;o=o?u:j;if((u|0)<0|(u|0)==0&n>>>0<8){j=u;do{k=k<<4;n=Mn(n|0,j|0,1,0)|0;j=I}while((j|0)<0|(j|0)==0&n>>>0<8)}if((i|32|0)==112){j=$e(a,e)|0;i=I;if((j|0)==0&(i|0)==-2147483648){if(!e){Lm(a,0);g=0.0;break}if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}}}else if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}w=vn(p|0,o|0,2)|0;w=Mn(w|0,I|0,-32,-1)|0;i=Mn(w|0,I|0,j|0,i|0)|0;j=I;if(!k){g=+(d|0)*0.0;break}w=0-c|0;e=((w|0)<0)<<31>>31;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>w>>>0){b=eq()|0;f[b>>2]=34;g=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}w=c+-106|0;e=((w|0)<0)<<31>>31;if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0){b=eq()|0;f[b>>2]=34;g=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((k|0)>-1){do{w=!(g>=.5);k=k<<1|(w^1)&1;g=g+(w?g:g+-1.0);i=Mn(i|0,j|0,-1,-1)|0;j=I}while((k|0)>-1);n=i;m=g}else{n=i;m=g}w=((b|0)<0)<<31>>31;i=_n(32,0,c|0,((c|0)<0)<<31>>31|0)|0;i=Mn(i|0,I|0,n|0,j|0)|0;c=I;if((w|0)>(c|0)|(w|0)==(c|0)&b>>>0>i>>>0)if((i|0)>0)o=59;else{j=0;i=84;o=61}else{i=b;o=59}if((o|0)==59)if((i|0)<53){j=i;i=84-i|0;o=61}else{l=0.0;g=+(d|0)}if((o|0)==61){g=+(d|0);l=+Wp(+Rj(1.0,i),g);i=j}d=(k&1|0)==0&(m!=0.0&(i|0)<32);g=g*(d?0.0:m)+(l+g*+(((d&1)+k|0)>>>0))-l;if(!(g!=0.0)){d=eq()|0;f[d>>2]=34}g=+Xp(g,n)}while(0);return +g}function Fc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=Ka,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=Ka;E=u;u=u+112|0;x=E+104|0;y=E+64|0;o=E+24|0;A=E+16|0;p=E+92|0;r=E+80|0;q=E+68|0;z=E;B=E+52|0;C=E+40|0;D=E+28|0;f[o>>2]=0;m=f[a>>2]|0;v=a+4|0;h=f[v>>2]|0;w=c+4|0;if((h|0)==(f[w>>2]|0))g=$(0.0);else{l=m+84|0;i=m+68|0;j=r+4|0;k=q+8|0;g=$(0.0);do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,p)|0;F=$(K($(n[p>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,r)|0;F=$(K($(n[j>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,q)|0;F=$(K($(n[k>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;h=h+1|0;g=(f[s>>2]=t,$(n[s>>2]))}while((h|0)!=(f[w>>2]|0))}t=(1<>2])+-1|0;cp(A);po(A,g,t);n[d+4>>2]=g;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;d=f[a>>2]|0;h=f[v>>2]|0;if((h|0)==(f[w>>2]|0)){D=f[e>>2]|0;u=E;return D|0}r=d+84|0;l=d+68|0;a=A+4|0;q=C+4|0;p=z+4|0;o=D+8|0;m=z+8|0;c=f[e>>2]|0;j=c+4|0;k=c+8|0;i=h;do{f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,B)|0;F=$(n[B>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[z>>2]=(v?0-e|0:e)+t;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,C)|0;F=$(n[q>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[p>>2]=(v?0-e|0:e)+t;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,D)|0;F=$(n[o>>2]);e=F<$(0.0);g=$(-F);F=$((e?g:F)/$(n[A>>2]));h=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[m>>2]=(e?0-h|0:h)+t;h=f[j>>2]|0;if((h|0)==(f[k>>2]|0))qh(c,z);else{f[h>>2]=f[z>>2];f[h+4>>2]=f[p>>2];f[h+8>>2]=f[m>>2];f[j>>2]=h+12}i=i+1|0}while((i|0)!=(f[w>>2]|0));u=E;return c|0}function Gc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>203){f[c>>2]=b+-204;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{bm(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=sa(8)|0;to(o,20196);f[o>>2]=7152;wa(o|0,1112,107)}g=an(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){pq(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=sa(8)|0;to(o,20196);f[o>>2]=7152;wa(o|0,1112,107)}d=an(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=an(4080)|0;f[j>>2]=e;tg(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;mg(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)pq(d);u=o;return}if((c|0)!=(b|0)){n=an(4080)|0;f[k>>2]=n;tg(a,k);u=o;return}j=an(4080)|0;f[k>>2]=j;mg(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{bm(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=sa(8)|0;to(o,20196);f[o>>2]=7152;wa(o|0,1112,107)}g=an(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){pq(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function Hc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2020;e=b;f[a>>2]=e;return}case 2:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2076;e=b;f[a>>2]=e;return}case 4:{b=an(112)|0;f[b>>2]=1544;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2132;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(88)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2188;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(104)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2244;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(140)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2300;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2356;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Ic(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1656;e=b;f[a>>2]=e;return}case 2:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1712;e=b;f[a>>2]=e;return}case 4:{b=an(112)|0;f[b>>2]=1544;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1768;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(88)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1824;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(104)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1880;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(140)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1936;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1992;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Jc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;F=u;u=u+352|0;C=F+340|0;B=F+336|0;l=F+80|0;E=F+48|0;D=F;cj(l|0,0,256)|0;i=f[e+4>>2]|0;j=f[e>>2]|0;k=j;if((i|0)!=(j|0)){j=i-j>>2;i=0;do{A=l+(f[k+(i<<2)>>2]<<3)|0;z=A;z=Mn(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;f[A>>2]=z;f[A+4>>2]=I;i=i+1|0}while(i>>>0>>0)}ln(E);w=c<<5;y=D+40|0;z=y;f[z>>2]=0;f[z+4>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;$c(D,l,32,g)|0;z=D+16|0;z=vn(f[z>>2]|0,f[z+4>>2]|0,1)|0;A=g+4|0;x=(f[A>>2]|0)-(f[g>>2]|0)|0;v=y;f[v>>2]=x;f[v+4>>2]=0;z=Mn(z|0,I|0,39,0)|0;z=An(z|0,I|0,3)|0;z=Mn(z|0,I|0,8,0)|0;x=Mn(z|0,I|0,x|0,0)|0;pl(g,x,I);x=D+24|0;f[x>>2]=(f[g>>2]|0)+(f[y>>2]|0);y=D+28|0;f[y>>2]=0;z=D+32|0;f[z>>2]=16384;ti(E,w,((w|0)<0)<<31>>31,0)|0;w=c-d|0;a:do if((w|0)>-1){t=(d|0)>0;s=E+16|0;r=E+12|0;v=w;b:while(1){j=f[e>>2]|0;l=f[j+(((v|0)/(d|0)|0)<<2)>>2]|0;c=f[D>>2]|0;m=f[c+(l<<3)>>2]|0;i=f[z>>2]|0;k=m<<10;if(i>>>0>=k>>>0){do{p=f[x>>2]|0;q=f[y>>2]|0;f[y>>2]=q+1;b[p+q>>0]=i;i=(f[z>>2]|0)>>>8;f[z>>2]=i}while(i>>>0>=k>>>0);j=f[e>>2]|0}f[z>>2]=(((i>>>0)/(m>>>0)|0)<<12)+((i>>>0)%(m>>>0)|0)+(f[c+(l<<3)+4>>2]|0);q=w-v|0;j=f[j+(((q|0)/(d|0)|0)<<2)>>2]|0;c:do if(t){o=(j|0)<33;p=(j|0)>0;if((j|0)>-1)n=0;else{i=s;j=f[i+4>>2]|0;i=(j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0;j=0;while(1){if(i){i=21;break b}j=j+1|0;if((j|0)>=(d|0))break c}}do{k=f[a+(n+q<<2)>>2]|0;m=s;c=f[m+4>>2]|0;if((c|0)>0|(c|0)==0&(f[m>>2]|0)>>>0>0){l=f[r>>2]|0;if(!o){i=22;break b}if(p){m=l+4|0;i=f[m>>2]|0;c=0;do{G=i>>>3;H=i&7;J=(f[l>>2]|0)+G|0;b[J>>0]=(h[J>>0]|0)&(1<>2]|0)+G|0;b[G>>0]=h[G>>0]|0|(k>>>c&1)<>2]|0)+1|0;f[m>>2]=i;c=c+1|0}while((c|0)!=(j|0))}}n=n+1|0}while((n|0)<(d|0))}while(0);v=v-d|0;if((v|0)<=-1)break a}if((i|0)==21)ra(19404,19419,88,19512);else if((i|0)==22)ra(19520,19419,89,19512)}while(0);qg(D,g);Tf(E);i=f[E>>2]|0;l=E+4|0;J=g+16|0;H=f[J+4>>2]|0;if(!((H|0)>0|(H|0)==0&(f[J>>2]|0)>>>0>0)){J=(f[l>>2]|0)-i|0;f[B>>2]=f[A>>2];f[C>>2]=f[B>>2];Ke(g,C,i,i+J|0)|0}k=f[D>>2]|0;if(k|0){j=D+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-8-k|0)>>>3)<<3);pq(k)}J=E+12|0;i=f[J>>2]|0;f[J>>2]=0;if(i|0)pq(i);i=f[E>>2]|0;if(!i){u=F;return 1}if((f[l>>2]|0)!=(i|0))f[l>>2]=i;pq(i);u=F;return 1}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+8|0;a:do if(f[q>>2]|0?(s=f[a>>2]|0,r=a+4|0,f[a>>2]=r,f[(f[r>>2]|0)+8>>2]=0,f[r>>2]=0,f[q>>2]=0,e=f[s+4>>2]|0,e=(e|0)==0?s:e,e|0):0){s=a+4|0;p=f[c>>2]|0;o=e;while(1){if((p|0)==(f[d>>2]|0))break;h=o+16|0;Rl(h,p+16|0)|0;Rl(o+28|0,p+28|0)|0;m=o+8|0;g=f[m>>2]|0;do if(g){e=f[g>>2]|0;if((e|0)==(o|0)){f[g>>2]=0;e=f[g+4>>2]|0;if(!e){n=g;break}while(1){g=f[e>>2]|0;if(g|0){e=g;continue}g=f[e+4>>2]|0;if(!g)break;else e=g}n=e;break}else{f[g+4>>2]=0;if(!e){n=g;break}while(1){g=f[e>>2]|0;if(g|0){e=g;continue}g=f[e+4>>2]|0;if(!g)break;else e=g}n=e;break}}else n=0;while(0);e=f[r>>2]|0;do if(e){l=b[h+11>>0]|0;k=l<<24>>24<0;l=k?f[o+20>>2]|0:l&255;k=k?f[h>>2]|0:h;j=e;while(1){g=j+16|0;h=b[g+11>>0]|0;i=h<<24>>24<0;h=i?f[j+20>>2]|0:h&255;e=h>>>0>>0?h:l;if((e|0)!=0?(t=fl(k,i?f[g>>2]|0:g,e)|0,(t|0)!=0):0)if((t|0)<0)h=24;else h=26;else if(l>>>0>>0)h=24;else h=26;if((h|0)==24){e=f[j>>2]|0;if(!e){h=25;break}}else if((h|0)==26){g=j+4|0;e=f[g>>2]|0;if(!e){h=28;break}}j=e}if((h|0)==25){e=j;g=j;break}else if((h|0)==28){e=j;break}}else{e=r;g=r}while(0);f[o>>2]=0;f[o+4>>2]=0;f[m>>2]=e;f[g>>2]=o;e=f[f[a>>2]>>2]|0;if(!e)e=o;else{f[a>>2]=e;e=f[g>>2]|0}He(f[s>>2]|0,e);f[q>>2]=(f[q>>2]|0)+1;e=f[p+4>>2]|0;if(!e){g=p+8|0;e=f[g>>2]|0;if((f[e>>2]|0)!=(p|0))do{p=f[g>>2]|0;g=p+8|0;e=f[g>>2]|0}while((f[e>>2]|0)!=(p|0))}else while(1){g=f[e>>2]|0;if(!g)break;else e=g}f[c>>2]=e;if(!n)break a;else{p=e;o=n}}e=f[o+8>>2]|0;if(!e)e=o;else while(1){g=f[e+8>>2]|0;if(!g)break;else e=g}lj(a,e)}while(0);e=f[c>>2]|0;i=f[d>>2]|0;if((e|0)==(i|0))return;do{hf(a,e+16|0)|0;g=f[e+4>>2]|0;if(!g){g=e+8|0;h=f[g>>2]|0;if((f[h>>2]|0)==(e|0))e=h;else do{d=f[g>>2]|0;g=d+8|0;e=f[g>>2]|0}while((f[e>>2]|0)!=(d|0))}else{e=g;while(1){g=f[e>>2]|0;if(!g)break;else e=g}}f[c>>2]=e}while((e|0)!=(i|0));return}function Lc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+48|0;p=v+32|0;o=v+28|0;s=v+4|0;q=v;m=v+16|0;r=v+36|0;if((c|0)<0){t=0;u=v;return t|0}if(!c){t=1;u=v;return t|0}k=(d|0)>1;n=k?d:1;f[s>>2]=0;t=s+4|0;f[t>>2]=0;f[s+8>>2]=0;Jj(s,c);f[q>>2]=0;j=s+8|0;a:do if(k){h=0;do{d=1;g=f[a+(h<<2)>>2]|0;do{k=f[a+(d+h<<2)>>2]|0;g=g>>>0>>0?k:g;d=d+1|0}while((d|0)!=(n|0));d=(_(g|0)|0)^31;if(g>>>0>(f[q>>2]|0)>>>0)f[q>>2]=g;g=(g|0)==0?1:d+1|0;f[p>>2]=g;d=f[t>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=g;f[t>>2]=d+4}else Gi(s,p);h=h+n|0}while((h|0)<(c|0))}else{i=0;d=0;while(1){g=f[a+(d<<2)>>2]|0;h=(_(g|0)|0)^31;if(g>>>0>i>>>0)f[q>>2]=g;h=(g|0)==0?1:h+1|0;f[p>>2]=h;g=f[t>>2]|0;if(g>>>0<(f[j>>2]|0)>>>0){f[g>>2]=h;f[t>>2]=g+4}else Gi(s,p);d=d+n|0;if((d|0)>=(c|0))break a;i=f[q>>2]|0}}while(0);f[m>>2]=0;k=m+4|0;f[k>>2]=0;f[m+8>>2]=0;g=f[s>>2]|0;h=(f[t>>2]|0)-g|0;d=h>>2;if(d){if(d>>>0>1073741823)Fp(m);j=an(h)|0;f[k>>2]=j;f[m>>2]=j;f[m+8>>2]=j+(d<<2);d=j;if((h|0)>0){i=j+(h>>>2<<2)|0;Rg(j|0,g|0,h|0)|0;f[k>>2]=i;d=i-d>>2;if((i|0)==(j|0)){i=d;d=j;h=0;g=0}else{h=0;g=0;i=0;do{h=Mn(f[j+(i<<2)>>2]|0,0,h|0,g|0)|0;g=I;i=i+1|0}while(i>>>0>>0);i=d;d=j}}else l=23}else{d=0;l=23}if((l|0)==23){i=0;h=0;g=0}j=Mg(d,i,32,p)|0;l=I;d=f[p>>2]<<3;d=vn(d|0,((d|0)<0)<<31>>31|0,1)|0;i=I;h=$m(h|0,g|0,n|0,0)|0;h=Mn(j|0,l|0,h|0,I|0)|0;h=Mn(h|0,I|0,d|0,i|0)|0;i=I;d=f[m>>2]|0;if(d|0){g=f[k>>2]|0;if((g|0)!=(d|0))f[k>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}m=f[q>>2]|0;k=Mg(a,c,m,p)|0;j=f[p>>2]|0;l=((m-j|0)/64|0)+j<<3;j=j<<3;k=Mn(j|0,((j|0)<0)<<31>>31|0,k|0,I|0)|0;l=Mn(k|0,I|0,l|0,((l|0)<0)<<31>>31|0)|0;k=I;if((i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0|((_((m>>>0>1?m:1)|0)|0)^30)>>>0>17){b[r>>0]=0;q=e+16|0;m=f[q+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[q>>2]|0)>>>0>0)){f[o>>2]=f[e+4>>2];f[p>>2]=f[o>>2];Ke(e,p,r,r+1|0)|0}h=Jc(a,c,n,s,e)|0}else{b[r>>0]=1;n=e+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[o>>2]=f[e+4>>2];f[p>>2]=f[o>>2];Ke(e,p,r,r+1|0)|0}h=ld(a,c,q,e)|0}d=f[s>>2]|0;if(d|0){g=f[t>>2]|0;if((g|0)!=(d|0))f[t>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}t=h;u=v;return t|0}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(c|0){case 0:{l=24;m=-149;i=4;break}case 1:{l=53;m=-1074;i=4;break}case 2:{l=53;m=-1074;i=4;break}default:e=0.0}a:do if((i|0)==4){o=a+4|0;n=a+100|0;do{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0}while((Ip(c)|0)!=0);b:do switch(c|0){case 43:case 45:{g=1-(((c|0)==45&1)<<1)|0;c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0;k=g;break b}else{c=Xi(a)|0;k=g;break b}}default:k=1}while(0);g=c;c=0;do{if((g|32|0)!=(b[23224+c>>0]|0))break;do if(c>>>0<7){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Xi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<8);c:do switch(c|0){case 8:break;case 3:{i=23;break}default:{j=(d|0)!=0;if(j&c>>>0>3)if((c|0)==8)break c;else{i=23;break c}d:do if(!c){c=0;do{if((g|32|0)!=(b[23233+c>>0]|0))break d;do if(c>>>0<2){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Xi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<3)}while(0);switch(c|0){case 3:{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;if((c|0)==40)c=1;else{if(!(f[n>>2]|0)){e=B;break a}f[o>>2]=(f[o>>2]|0)+-1;e=B;break a}while(1){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0}else g=Xi(a)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;c=c+1|0}if((g|0)==41){e=B;break a}g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!j){o=eq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}if(!c){e=B;break a}while(1){c=c+-1|0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!c){e=B;break a}}}case 0:{if((g|0)==48){c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;if((c|32|0)==120){e=+Ec(a,l,m,k,d);break a}if(!(f[n>>2]|0))c=48;else{f[o>>2]=(f[o>>2]|0)+-1;c=48}}else c=g;e=+pb(a,c,l,m,k,d);break a}default:{if(f[n>>2]|0)f[o>>2]=(f[o>>2]|0)+-1;o=eq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}}}}while(0);if((i|0)==23){g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if((d|0)!=0&c>>>0>3)do{if(!g)f[o>>2]=(f[o>>2]|0)+-1;c=c+-1|0}while(c>>>0>3)}e=+$($(k|0)*$(C))}while(0);return +e}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Gi(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))Gi(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Gi(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){Gi(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Oc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>262144){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;ub(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Pc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>131072){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;vb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0} +function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[5954]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=23856+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[5954]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[5956]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=23856+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[5959]|0;b=l>>>3;c=23856+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5956]=g;f[5959]=e;w=h;u=x;return w|0}i=f[5955]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[24120+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=24120+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[5955]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[5959]|0;b=l>>>3;c=23856+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5956]=j;f[5959]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[5955]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[24120+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[24120+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[5956]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=24120+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=23856+(b<<1<<2)|0;a=f[5954]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=24120+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[5956]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[5959]|0;if(a>>>0>15){w=b+m|0;f[5959]=w;f[5956]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[5956]=0;f[5959]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[5957]|0;if(h>>>0>m>>>0){t=h-m|0;f[5957]=t;w=f[5960]|0;v=w+m|0;f[5960]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[6072]|0)){f[6074]=4096;f[6073]=4096;f[6075]=-1;f[6076]=-1;f[6077]=0;f[6065]=0;a=n&-16^1431655768;f[n>>2]=a;f[6072]=a;a=4096}else a=f[6074]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[6064]|0;if(a|0?(l=f[6062]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[6065]&4)){c=f[5960]|0;c:do if(c){e=24264;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=sl(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=sl(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[6073]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[6062]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[6064]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=sl(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[6074]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((sl(a|0)|0)==(-1|0)){sl(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[6065]=f[6065]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=sl(k|0)|0,q=sl(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[6062]|0)+g|0;f[6062]=b;if(b>>>0>(f[6063]|0)>>>0)f[6063]=b;j=f[5960]|0;do if(j){e=24264;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[5957]|0)+(g-w)|0;f[5960]=v;f[5957]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5961]=f[6076];break}if(h>>>0<(f[5958]|0)>>>0)f[5958]=h;c=h+g|0;a=24264;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[5959]|0)){w=(f[5956]|0)+i|0;f[5956]=w;f[5959]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[5954]=f[5954]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=24120+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[5955]=f[5955]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=23856+(b<<1<<2)|0;a=f[5954]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=24120+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[5955]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[5957]|0)+i|0;f[5957]=w;f[5960]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=24264;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[5960]=v;f[5957]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[5961]=f[6076];c=a+4|0;f[c>>2]=27;f[b>>2]=f[6066];f[b+4>>2]=f[6067];f[b+8>>2]=f[6068];f[b+12>>2]=f[6069];f[6066]=h;f[6067]=g;f[6069]=0;f[6068]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=23856+(b<<1<<2)|0;a=f[5954]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=24120+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[5955]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[5958]|0;if((w|0)==0|h>>>0>>0)f[5958]=h;f[6066]=h;f[6067]=g;f[6069]=0;f[5963]=f[6072];f[5962]=-1;b=0;do{w=23856+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[5960]=v;f[5957]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5961]=f[6076]}while(0);b=f[5957]|0;if(b>>>0>m>>>0){t=b-m|0;f[5957]=t;w=f[5960]|0;v=w+m|0;f[5960]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=eq()|0;f[w>>2]=12;w=0;u=x;return w|0}function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(ul(6844,7036,c,b)|0)-6844>>2;a=e;e=0;a:while(1){b=(f[6844+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[6652+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=ul(6652,6844,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function Za(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=u;u=u+112|0;Y=ja+100|0;V=ja+96|0;ia=ja+48|0;fa=ja+32|0;_=ja+104|0;Z=ja+8|0;U=ja+4|0;W=ja;ga=a+8|0;f[ga>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else qi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{T=f[c+(k<<2)>>2]|0;S=(T|0)<(i|0);i=S?T:i;j=S?j:(T|0)>(j|0)?T:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;T=1-i+j|0;f[a+20>>2]=T;i=(T|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(T&1))f[j>>2]=i+-1}R=f[a+48>>2]|0;S=f[a+52>>2]|0;i=ia;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{qi(ia,g);i=f[ia+12>>2]|0;j=f[ia+16>>2]|0}k=ia+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else qi(ia+12|0,g-l|0);l=ia+24|0;k=ia+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else qi(l,g-m|0);l=ia+36|0;k=ia+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else qi(l,g-m|0);f[fa>>2]=0;T=fa+4|0;f[T>>2]=0;f[fa+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(fa);else{P=g<<2;O=an(P)|0;f[fa>>2]=O;Q=O+(g<<2)|0;f[fa+8>>2]=Q;cj(O|0,0,P|0)|0;f[T>>2]=Q;break}while(0);Q=a+56|0;k=f[Q>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;i=l-m|0;a:do if((i|0)>4){j=i>>2;H=R+64|0;B=R+28|0;F=(g|0)>0;G=Z+4|0;O=Z+8|0;P=Z+12|0;L=a+16|0;D=a+32|0;N=a+12|0;M=a+28|0;K=a+20|0;J=a+24|0;C=Z+12|0;E=Z+16|0;I=_+1|0;A=g<<2;i=j+-1|0;if(l-m>>2>>>0>i>>>0){r=m;v=j;da=i}else{z=k;Fp(z)}b:while(1){p=f[r+(da<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;j=0;c:while(1){do{if((i|0)<=-1){y=j;break c}k=f[ia+(j*12|0)>>2]|0;if(((f[(f[R>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(ea=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(ea|0)>=0):0)?(ca=f[B>>2]|0,z=f[S>>2]|0,aa=f[z+(f[ca+(ea<<2)>>2]<<2)>>2]|0,ba=ea+1|0,ba=f[z+(f[ca+((((ba|0)%3|0|0)==0?ea+-2|0:ba)<<2)>>2]<<2)>>2]|0,ca=f[z+(f[ca+((((ea>>>0)%3|0|0)==0?2:-1)+ea<<2)>>2]<<2)>>2]|0,(aa|0)<(da|0)&(ba|0)<(da|0)&(ca|0)<(da|0)):0){m=X(aa,g)|0;n=X(ba,g)|0;e=X(ca,g)|0;if(F){l=0;do{f[k+(l<<2)>>2]=(f[c+(l+e<<2)>>2]|0)+(f[c+(l+n<<2)>>2]|0)-(f[c+(l+m<<2)>>2]|0);l=l+1|0}while((l|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break c}}do if(o){k=i+1|0;i=((k|0)%3|0|0)==0?i+-2|0:k;k=f[R>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;l=i+1|0;if((i|0)>=0)i=((l|0)%3|0|0)==0?i+-2|0:l}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;k=f[R>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){y=j;break c}}while(!(o&(i|0)<0));i=(t&f[k+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[H>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}z=X(da,g)|0;f[Z>>2]=2147483647;b[G>>0]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;k=X(v+-2|0,g)|0;if(F){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[Z>>2]=i;b[G>>0]=0;f[O>>2]=0;x=c+(k<<2)|0;Qf(P,x,x+(g<<2)|0);if((y|0)>=1){p=_+y|0;v=p+-1|0;r=(v|0)==(_|0);t=p+-2|0;q=I>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>_>>>0;w=0;x=1;while(1){w=w+1|0;cj(_|0,1,o|0)|0;cj(_|0,0,w|0)|0;d:while(1){if(F){cj(f[fa>>2]|0,0,A|0)|0;l=f[fa>>2]|0;i=0;m=0;do{if(!(b[_+m>>0]|0)){j=f[ia+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[Z>>2]|0)){f[Z>>2]=j;b[G>>0]=i;f[O>>2]=x;f[U>>2]=f[fa>>2];f[W>>2]=f[T>>2];f[V>>2]=f[U>>2];f[Y>>2]=f[W>>2];Df(P,V,Y)}if(r)break;$=b[v>>0]|0;m=$;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==(_|0)){ha=78;break d}else n=i}i=p+n|0;if((m&255)<($&255)){k=$;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue d}}if(((ha|0)==78?(ha=0,s):0)?(e=b[_>>0]|0,b[_>>0]=$,b[v>>0]=e,q):0){i=t;j=I;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[G>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){ha=105;break b}x=j<<6;w=i+32&-32;gi(n,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[ga>>2]|0;if((j|0)>0){i=f[P>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[L>>2]|0;if((j|0)>(k|0)){j=f[D>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[N>>2]|0;z=f[D>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[ga>>2]|0));l=j}else l=f[D>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[M>>2]|0)){if((j|0)>(f[J>>2]|0)){j=j-(f[K>>2]|0)|0;ha=95}}else{j=(f[K>>2]|0)+j|0;ha=95}if((ha|0)==95){ha=0;f[k>>2]=j}n=n+1|0;j=f[ga>>2]|0}while((n|0)<(j|0))}else i=f[C>>2]|0;if(i|0){j=f[E>>2]|0;if((j|0)!=(i|0))f[E>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}if((da|0)<=1)break a;i=f[Q>>2]|0;r=f[i>>2]|0;j=da+-1|0;if((f[i+4>>2]|0)-r>>2>>>0<=j>>>0){ha=20;break}else{v=da;da=j}}if((ha|0)==20)Fp(i);else if((ha|0)==100)Fp(n);else if((ha|0)==105)Fp(n)}while(0);k=f[ia>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[ga>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[ga>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ha=127}}else{i=(f[o>>2]|0)+i|0;ha=127}if((ha|0)==127){ha=0;f[j>>2]=i}m=m+1|0;i=f[ga>>2]|0}while((m|0)<(i|0))}i=f[fa>>2]|0;if(i|0){j=f[T>>2]|0;if((j|0)!=(i|0))f[T>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[ia+36>>2]|0;if(i|0){k=ia+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[ia+24>>2]|0;if(i|0){k=ia+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[ia+12>>2]|0;if(i|0){k=ia+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}k=f[ia>>2]|0;if(!k){u=ja;return 1}j=ia+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);pq(k);u=ja;return 1}function _a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=u;u=u+112|0;W=ea+100|0;U=ea+96|0;da=ea+48|0;aa=ea+32|0;Z=ea+104|0;Y=ea+8|0;T=ea+4|0;V=ea;ba=a+8|0;f[ba>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else qi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{S=f[c+(k<<2)>>2]|0;R=(S|0)<(i|0);i=R?S:i;j=R?j:(S|0)>(j|0)?S:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;S=1-i+j|0;f[a+20>>2]=S;i=(S|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(S&1))f[j>>2]=i+-1}Q=f[a+48>>2]|0;R=f[a+52>>2]|0;i=da;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{qi(da,g);i=f[da+12>>2]|0;j=f[da+16>>2]|0}k=da+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else qi(da+12|0,g-l|0);l=da+24|0;k=da+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else qi(l,g-m|0);l=da+36|0;k=da+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else qi(l,g-m|0);f[aa>>2]=0;S=aa+4|0;f[S>>2]=0;f[aa+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(aa);else{O=g<<2;N=an(O)|0;f[aa>>2]=N;P=N+(g<<2)|0;f[aa+8>>2]=P;cj(N|0,0,O|0)|0;f[S>>2]=P;break}while(0);P=a+56|0;k=f[P>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;i=l-m|0;a:do if((i|0)>4){j=i>>2;B=Q+12|0;F=(g|0)>0;G=Y+4|0;N=Y+8|0;O=Y+12|0;K=a+16|0;D=a+32|0;M=a+12|0;L=a+28|0;J=a+20|0;I=a+24|0;C=Y+12|0;E=Y+16|0;H=Z+1|0;A=g<<2;i=j+-1|0;if(l-m>>2>>>0>i>>>0){r=m;x=j;$=i}else{z=k;Fp(z)}b:while(1){t=f[r+($<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;j=0;c:while(1){do{if((i|0)<=-1){y=j;break c}p=f[da+(j*12|0)>>2]|0;q=f[B>>2]|0;l=f[q+(i<<2)>>2]|0;if((l|0)>=0){m=f[Q>>2]|0;n=f[R>>2]|0;o=f[n+(f[m+(l<<2)>>2]<<2)>>2]|0;k=l+1|0;k=((k|0)%3|0|0)==0?l+-2|0:k;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;e=f[n+(k<<2)>>2]|0;k=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;k=f[n+(k<<2)>>2]|0;if((o|0)<($|0)&(e|0)<($|0)&(k|0)<($|0)){n=X(o,g)|0;m=X(e,g)|0;l=X(k,g)|0;if(F){k=0;do{f[p+(k<<2)>>2]=(f[c+(k+l<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+n<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break c}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){y=j;break c}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}z=X($,g)|0;f[Y>>2]=2147483647;b[G>>0]=0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;k=X(x+-2|0,g)|0;if(F){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[Y>>2]=i;b[G>>0]=0;f[N>>2]=0;x=c+(k<<2)|0;Qf(O,x,x+(g<<2)|0);if((y|0)>=1){p=Z+y|0;v=p+-1|0;r=(v|0)==(Z|0);t=p+-2|0;q=H>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>Z>>>0;w=0;x=1;while(1){w=w+1|0;cj(Z|0,1,o|0)|0;cj(Z|0,0,w|0)|0;d:while(1){if(F){cj(f[aa>>2]|0,0,A|0)|0;l=f[aa>>2]|0;i=0;m=0;do{if(!(b[Z+m>>0]|0)){j=f[da+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[Y>>2]|0)){f[Y>>2]=j;b[G>>0]=i;f[N>>2]=x;f[T>>2]=f[aa>>2];f[V>>2]=f[S>>2];f[U>>2]=f[T>>2];f[W>>2]=f[V>>2];Df(O,U,W)}if(r)break;_=b[v>>0]|0;m=_;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==(Z|0)){ca=79;break d}else n=i}i=p+n|0;if((m&255)<(_&255)){k=_;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue d}}if(((ca|0)==79?(ca=0,s):0)?(e=b[Z>>0]|0,b[Z>>0]=_,b[v>>0]=e,q):0){i=t;j=H;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[G>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){ca=106;break b}x=j<<6;w=i+32&-32;gi(n,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[ba>>2]|0;if((j|0)>0){i=f[O>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[K>>2]|0;if((j|0)>(k|0)){j=f[D>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[M>>2]|0;z=f[D>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[ba>>2]|0));l=j}else l=f[D>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[L>>2]|0)){if((j|0)>(f[I>>2]|0)){j=j-(f[J>>2]|0)|0;ca=96}}else{j=(f[J>>2]|0)+j|0;ca=96}if((ca|0)==96){ca=0;f[k>>2]=j}n=n+1|0;j=f[ba>>2]|0}while((n|0)<(j|0))}else i=f[C>>2]|0;if(i|0){j=f[E>>2]|0;if((j|0)!=(i|0))f[E>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}if(($|0)<=1)break a;i=f[P>>2]|0;r=f[i>>2]|0;j=$+-1|0;if((f[i+4>>2]|0)-r>>2>>>0<=j>>>0){ca=20;break}else{x=$;$=j}}if((ca|0)==20)Fp(i);else if((ca|0)==101)Fp(n);else if((ca|0)==106)Fp(n)}while(0);k=f[da>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[ba>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[ba>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ca=128}}else{i=(f[o>>2]|0)+i|0;ca=128}if((ca|0)==128){ca=0;f[j>>2]=i}m=m+1|0;i=f[ba>>2]|0}while((m|0)<(i|0))}i=f[aa>>2]|0;if(i|0){j=f[S>>2]|0;if((j|0)!=(i|0))f[S>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[da+36>>2]|0;if(i|0){k=da+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[da+24>>2]|0;if(i|0){k=da+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[da+12>>2]|0;if(i|0){k=da+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}k=f[da>>2]|0;if(!k){u=ea;return 1}j=da+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);pq(k);u=ea;return 1}function $a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=u;u=u+112|0;S=da+100|0;Q=da+96|0;ca=da+48|0;V=da+32|0;U=da+104|0;T=da+8|0;P=da+4|0;R=da;N=f[a+28>>2]|0;O=f[a+32>>2]|0;i=ca;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{qi(ca,g);i=f[ca+12>>2]|0;e=f[ca+16>>2]|0}j=ca+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else qi(ca+12|0,g-k|0);k=ca+24|0;j=ca+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else qi(k,g-l|0);k=ca+36|0;j=ca+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else qi(k,g-l|0);f[V>>2]=0;M=V+4|0;f[M>>2]=0;f[V+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(V);else{K=g<<2;J=an(K)|0;f[V>>2]=J;L=J+(g<<2)|0;f[V+8>>2]=L;cj(J|0,0,K|0)|0;f[M>>2]=L;break}while(0);L=a+36|0;j=f[L>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;i=k-l|0;a:do if((i|0)>4){e=i>>2;G=N+64|0;B=N+28|0;E=(g|0)>0;F=T+4|0;I=T+8|0;J=T+12|0;K=a+8|0;C=T+12|0;D=T+16|0;H=U+1|0;A=g<<2;i=e+-1|0;if(k-l>>2>>>0>i>>>0){o=l;v=e;$=i}else{z=j;Fp(z)}b:while(1){p=f[o+($<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;e=0;c:while(1){do{if((i|0)<=-1){z=e;break c}j=f[ca+(e*12|0)>>2]|0;if(((f[(f[N>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(aa=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(aa|0)>=0):0)?(_=f[B>>2]|0,z=f[O>>2]|0,Y=f[z+(f[_+(aa<<2)>>2]<<2)>>2]|0,Z=aa+1|0,Z=f[z+(f[_+((((Z|0)%3|0|0)==0?aa+-2|0:Z)<<2)>>2]<<2)>>2]|0,_=f[z+(f[_+((((aa>>>0)%3|0|0)==0?2:-1)+aa<<2)>>2]<<2)>>2]|0,(Y|0)<($|0)&(Z|0)<($|0)&(_|0)<($|0)):0){l=X(Y,g)|0;m=X(Z,g)|0;n=X(_,g)|0;if(E){k=0;do{f[j+(k<<2)>>2]=(f[c+(k+n<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+l<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break c}}do if(o){j=i+1|0;i=((j|0)%3|0|0)==0?i+-2|0:j;j=f[N>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;j=f[N>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){z=e;break c}}while(!(o&(i|0)<0));i=(t&f[j+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[G>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}y=X($,g)|0;f[T>>2]=2147483647;b[F>>0]=0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;j=X(v+-2|0,g)|0;if(E){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[T>>2]=i;b[F>>0]=0;f[I>>2]=0;x=c+(j<<2)|0;Qf(J,x,x+(g<<2)|0);if((z|0)>=1){p=U+z|0;v=p+-1|0;r=(v|0)==(U|0);t=p+-2|0;q=H>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>U>>>0;w=0;x=1;while(1){w=w+1|0;cj(U|0,1,o|0)|0;cj(U|0,0,w|0)|0;d:while(1){if(E){cj(f[V>>2]|0,0,A|0)|0;k=f[V>>2]|0;i=0;l=0;do{if(!(b[U+l>>0]|0)){e=f[ca+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[T>>2]|0)){f[T>>2]=e;b[F>>0]=i;f[I>>2]=x;f[P>>2]=f[V>>2];f[R>>2]=f[M>>2];f[Q>>2]=f[P>>2];f[S>>2]=f[R>>2];Df(J,Q,S)}if(r)break;W=b[v>>0]|0;l=W;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(U|0)){ba=69;break d}else m=i}i=p+m|0;if((l&255)<(W&255)){j=W;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue d}}if(((ba|0)==69?(ba=0,s):0)?(n=b[U>>0]|0,b[U>>0]=W,b[v>>0]=n,q):0){i=t;e=H;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[F>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){ba=82;break b}x=e<<6;w=i+32&-32;gi(m,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}ai(K,c+(y<<2)|0,f[J>>2]|0,d+(y<<2)|0);i=f[C>>2]|0;if(i|0){e=f[D>>2]|0;if((e|0)!=(i|0))f[D>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}if(($|0)<=1)break a;i=f[L>>2]|0;o=f[i>>2]|0;e=$+-1|0;if((f[i+4>>2]|0)-o>>2>>>0<=e>>>0){ba=11;break}else{v=$;$=e}}if((ba|0)==11)Fp(i);else if((ba|0)==77)Fp(m);else if((ba|0)==82)Fp(m)}while(0);if((g|0)>0)cj(f[ca>>2]|0,0,g<<2|0)|0;ai(a+8|0,c,f[ca>>2]|0,d);i=f[V>>2]|0;if(i|0){e=f[M>>2]|0;if((e|0)!=(i|0))f[M>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[ca+36>>2]|0;if(i|0){j=ca+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[ca+24>>2]|0;if(i|0){j=ca+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[ca+12>>2]|0;if(i|0){j=ca+16|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}j=f[ca>>2]|0;if(!j){u=da;return 1}e=ca+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);pq(j);u=da;return 1}function ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=Ka;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=$m(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=Mn(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=$m(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=Mn(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function bb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;_=u;u=u+112|0;R=_+100|0;P=_+96|0;Z=_+48|0;U=_+32|0;T=_+104|0;S=_+8|0;O=_+4|0;Q=_;M=f[a+28>>2]|0;N=f[a+32>>2]|0;i=Z;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{qi(Z,g);i=f[Z+12>>2]|0;e=f[Z+16>>2]|0}j=Z+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else qi(Z+12|0,g-k|0);k=Z+24|0;j=Z+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else qi(k,g-l|0);k=Z+36|0;j=Z+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else qi(k,g-l|0);f[U>>2]=0;L=U+4|0;f[L>>2]=0;f[U+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(U);else{J=g<<2;I=an(J)|0;f[U>>2]=I;K=I+(g<<2)|0;f[U+8>>2]=K;cj(I|0,0,J|0)|0;f[L>>2]=K;break}while(0);K=a+36|0;j=f[K>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;i=k-l|0;a:do if((i|0)>4){e=i>>2;B=M+12|0;E=(g|0)>0;F=S+4|0;H=S+8|0;I=S+12|0;J=a+8|0;C=S+12|0;D=S+16|0;G=T+1|0;A=g<<2;i=e+-1|0;if(k-l>>2>>>0>i>>>0){o=l;x=e;W=i}else{z=j;Fp(z)}b:while(1){t=f[o+(W<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;e=0;c:while(1){do{if((i|0)<=-1){z=e;break c}p=f[Z+(e*12|0)>>2]|0;q=f[B>>2]|0;k=f[q+(i<<2)>>2]|0;if((k|0)>=0){l=f[M>>2]|0;m=f[N>>2]|0;o=f[m+(f[l+(k<<2)>>2]<<2)>>2]|0;j=k+1|0;j=((j|0)%3|0|0)==0?k+-2|0:j;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;n=f[m+(j<<2)>>2]|0;j=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;j=f[m+(j<<2)>>2]|0;if((o|0)<(W|0)&(n|0)<(W|0)&(j|0)<(W|0)){m=X(o,g)|0;l=X(n,g)|0;k=X(j,g)|0;if(E){j=0;do{f[p+(j<<2)>>2]=(f[c+(j+k<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+m<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break c}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;j=i+1|0;if((i|0)>=0)i=((j|0)%3|0|0)==0?i+-2|0:j}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){z=e;break c}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}y=X(W,g)|0;f[S>>2]=2147483647;b[F>>0]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;j=X(x+-2|0,g)|0;if(E){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[S>>2]=i;b[F>>0]=0;f[H>>2]=0;x=c+(j<<2)|0;Qf(I,x,x+(g<<2)|0);if((z|0)>=1){p=T+z|0;v=p+-1|0;r=(v|0)==(T|0);t=p+-2|0;q=G>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>T>>>0;w=0;x=1;while(1){w=w+1|0;cj(T|0,1,o|0)|0;cj(T|0,0,w|0)|0;d:while(1){if(E){cj(f[U>>2]|0,0,A|0)|0;k=f[U>>2]|0;i=0;l=0;do{if(!(b[T+l>>0]|0)){e=f[Z+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[S>>2]|0)){f[S>>2]=e;b[F>>0]=i;f[H>>2]=x;f[O>>2]=f[U>>2];f[Q>>2]=f[L>>2];f[P>>2]=f[O>>2];f[R>>2]=f[Q>>2];Df(I,P,R)}if(r)break;V=b[v>>0]|0;l=V;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(T|0)){Y=70;break d}else m=i}i=p+m|0;if((l&255)<(V&255)){j=V;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue d}}if(((Y|0)==70?(Y=0,s):0)?(n=b[T>>0]|0,b[T>>0]=V,b[v>>0]=n,q):0){i=t;e=G;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[F>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){Y=83;break b}x=e<<6;w=i+32&-32;gi(m,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}ai(J,c+(y<<2)|0,f[I>>2]|0,d+(y<<2)|0);i=f[C>>2]|0;if(i|0){e=f[D>>2]|0;if((e|0)!=(i|0))f[D>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}if((W|0)<=1)break a;i=f[K>>2]|0;o=f[i>>2]|0;e=W+-1|0;if((f[i+4>>2]|0)-o>>2>>>0<=e>>>0){Y=11;break}else{x=W;W=e}}if((Y|0)==11)Fp(i);else if((Y|0)==78)Fp(m);else if((Y|0)==83)Fp(m)}while(0);if((g|0)>0)cj(f[Z>>2]|0,0,g<<2|0)|0;ai(a+8|0,c,f[Z>>2]|0,d);i=f[U>>2]|0;if(i|0){e=f[L>>2]|0;if((e|0)!=(i|0))f[L>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[Z+36>>2]|0;if(i|0){j=Z+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[Z+24>>2]|0;if(i|0){j=Z+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[Z+12>>2]|0;if(i|0){j=Z+16|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}j=f[Z>>2]|0;if(!j){u=_;return 1}e=Z+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);pq(j);u=_;return 1}function cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;L=Q+36|0;J=Q+32|0;P=Q;I=Q+28|0;K=Q+24|0;M=a+8|0;i=f[M>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{N=i<<2;e=an(N)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;cj(e|0,0,N|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);H=a+1164|0;m=f[H>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[M>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{N=i<<2;g=an(N)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;cj(g|0,0,N|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);D=a+1176|0;j=f[D>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;G=P+4|0;F=P+16|0;E=P+20|0;Gc(P);d=f[G>>2]|0;e=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[E>>2]|0)+1|0;f[E>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[F>>2]|0;e=d+-1|0;t=s+e|0;v=f[G>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;j=r+(t*20|0)|0;n=f[j>>2]|0;j=f[j+4>>2]|0;h=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[E>>2]=e;e=f[N>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}f[b>>2]=n;f[c>>2]=j;k=f[H>>2]|0;l=k+(t*12|0)|0;m=(f[D>>2]|0)+(t*12|0)|0;f[I>>2]=n;f[K>>2]=j;g=j;i=n;f[J>>2]=f[I>>2];f[L>>2]=f[K>>2];e=Td(a,J,L,l,m,h)|0;j=j-n|0;s=(j|0)/12|0;d=(f[a>>2]|0)-(f[(f[m>>2]|0)+(e<<2)>>2]|0)|0;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[M>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[M>>2]|0}while(g>>>0>>0)}if(!j){O=77;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[m>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[M>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){O=77;break c}}}m=1<>2]|0;d=f[l>>2]|0;k=d;j=f[(f[H>>2]|0)+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+m|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[N>>2]|0;i=f[G>>2]|0;s=j-i>>2;d=f[F>>2]|0;h=f[E>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(P);d=f[F>>2]|0;h=f[E>>2]|0;j=f[N>>2]|0;i=f[G>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[E>>2]=(f[E>>2]|0)+1}if((g|0)!=(n|0)){i=f[N>>2]|0;h=f[G>>2]|0;t=i-h>>2;d=f[F>>2]|0;g=f[E>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(P);d=f[F>>2]|0;g=f[E>>2]|0;i=f[N>>2]|0;h=f[G>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[E>>2]|0)+1|0;f[E>>2]=d}else O=77}else O=77;while(0);if((O|0)==77){O=0;d=f[E>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[G>>2]|0;e=f[F>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[N>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[E>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[G>>2]|0)+4|0;f[G>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;O=91;break}case 2:{e=204;O=91;break}default:{}}if((O|0)==91)f[F>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[G>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}pq(d);u=Q;return}function db(a){a=a|0;var c=0,d=0,e=0,g=Ka,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=Ka;U=u;u=u+64|0;T=U+28|0;R=U+16|0;P=U+4|0;M=U;S=a;N=a+80|0;c=f[N>>2]|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;f[T+16>>2]=S;I=T+20|0;n[I>>2]=$(1.0);f[T+24>>2]=S;th(T,c);c=f[N>>2]|0;f[R>>2]=0;S=R+4|0;f[S>>2]=0;f[R+8>>2]=0;do if(c|0)if(c>>>0>1073741823)Fp(R);else{H=c<<2;G=an(H)|0;f[R>>2]=G;Q=G+(c<<2)|0;f[R+8>>2]=Q;cj(G|0,0,H|0)|0;f[S>>2]=Q;break}while(0);f[P>>2]=0;Q=P+4|0;f[Q>>2]=0;f[P+8>>2]=0;f[M>>2]=0;a:do if((c|0)>0){G=T+16|0;E=T+4|0;F=T+12|0;D=T+8|0;C=P+8|0;H=T+24|0;c=0;A=0;b:while(1){x=f[G>>2]|0;k=f[x+8>>2]|0;x=(f[x+12>>2]|0)-k|0;w=(x|0)>0;if(w){i=k;l=x>>>2;d=0;j=0;do{e=f[i+(j<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;j=j+1|0}while((j|0)<(l|0));v=d}else v=0;y=f[E>>2]|0;z=(y|0)==0;c:do if(!z){q=y+-1|0;e=(q&y|0)==0;if(!e)if(v>>>0>>0)t=v;else t=(v>>>0)%(y>>>0)|0;else t=q&v;d=f[(f[T>>2]|0)+(t<<2)>>2]|0;if((d|0)!=0?(L=f[d>>2]|0,(L|0)!=0):0){r=f[H>>2]|0;s=r+8|0;r=r+12|0;d:do if(e){d=L;while(1){p=f[d+4>>2]|0;e=(p|0)==(v|0);if(!(e|(p&q|0)==(t|0))){B=50;break c}e:do if(e){p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){B=44;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break e;if((m|0)>=(o|0)){B=48;break d}}}while(0);d=f[d>>2]|0;if(!d){B=50;break c}}}else{d=L;while(1){e=f[d+4>>2]|0;f:do if((e|0)!=(v|0)){if(e>>>0>=y>>>0)e=(e>>>0)%(y>>>0)|0;if((e|0)!=(t|0)){B=50;break c}}else{p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){B=44;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break f;if((m|0)>=(o|0)){B=48;break d}}}while(0);d=f[d>>2]|0;if(!d){B=50;break c}}}while(0);if((B|0)==48){B=0;if(!d){B=50;break}}f[(f[R>>2]|0)+(c<<2)>>2]=f[d+12>>2];e=A}else B=50}else B=50;while(0);do if((B|0)==50){B=0;if(w){j=x>>>2;d=0;i=0;do{e=f[k+(i<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;i=i+1|0}while((i|0)<(j|0));t=d}else t=0;g:do if(!z){p=y+-1|0;e=(p&y|0)==0;if(!e)if(t>>>0>>0)s=t;else s=(t>>>0)%(y>>>0)|0;else s=p&t;d=f[(f[T>>2]|0)+(s<<2)>>2]|0;if((d|0)!=0?(K=f[d>>2]|0,(K|0)!=0):0){q=f[H>>2]|0;r=q+8|0;q=q+12|0;if(e){m=K;while(1){x=f[m+4>>2]|0;if(!((x|0)==(t|0)|(x&p|0)==(s|0))){d=s;B=89;break g}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break g;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){B=85;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break g}m=f[m>>2]|0;if(!m){d=s;B=89;break g}}}else o=K;while(1){d=f[o+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=y>>>0)d=(d>>>0)%(y>>>0)|0;if((d|0)!=(s|0)){d=s;B=89;break g}}m=f[o+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break g;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(m<<2)>>2]|0;else j=m;if((l|0)<=(k|0)){B=85;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break g}o=f[o>>2]|0;if(!o){d=s;B=89;break}}}else{d=s;B=89}}else{d=0;B=89}while(0);if((B|0)==89){B=0;i=an(16)|0;f[i+8>>2]=c;f[i+12>>2]=A;f[i+4>>2]=t;f[i>>2]=0;h=$(((f[F>>2]|0)+1|0)>>>0);V=$(y>>>0);g=$(n[I>>2]);do if(z|h>$(V*g)){c=(y>>>0<3|(y+-1&y|0)!=0)&1|y<<1;d=~~$(W($(h/g)))>>>0;th(T,c>>>0>>0?d:c);c=f[E>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&t;break}if(t>>>0>>0){e=c;c=t}else{e=c;c=(t>>>0)%(c>>>0)|0}}else{e=y;c=d}while(0);d=(f[T>>2]|0)+(c<<2)|0;c=f[d>>2]|0;if(!c){f[i>>2]=f[D>>2];f[D>>2]=i;f[d>>2]=D;c=f[i>>2]|0;if(c|0){c=f[c+4>>2]|0;d=e+-1|0;if(d&e){if(c>>>0>=e>>>0)c=(c>>>0)%(e>>>0)|0}else c=c&d;c=(f[T>>2]|0)+(c<<2)|0;B=102}}else{f[i>>2]=f[c>>2];B=102}if((B|0)==102){B=0;f[c>>2]=i}f[F>>2]=(f[F>>2]|0)+1;c=f[M>>2]|0}e=A+1|0;f[(f[R>>2]|0)+(c<<2)>>2]=A;c=f[Q>>2]|0;if((c|0)==(f[C>>2]|0)){Gi(P,M);break}else{f[c>>2]=f[M>>2];f[Q>>2]=c+4;break}}while(0);c=(f[M>>2]|0)+1|0;f[M>>2]=c;d=f[N>>2]|0;if((c|0)>=(d|0)){J=d;O=e;break a}else A=e}if((B|0)==44)ra(20748,20641,68,20738);else if((B|0)==85)ra(20748,20641,68,20738)}else{J=0;O=0}while(0);if((O|0)!=(J|0)){Ta[f[(f[a>>2]|0)+24>>2]&15](a,R,P);f[N>>2]=O}c=f[P>>2]|0;if(c|0){d=f[Q>>2]|0;if((d|0)!=(c|0))f[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}c=f[R>>2]|0;if(c|0){d=f[S>>2]|0;if((d|0)!=(c|0))f[S>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}c=f[T+8>>2]|0;if(c|0)do{S=c;c=f[c>>2]|0;pq(S)}while((c|0)!=0);c=f[T>>2]|0;f[T>>2]=0;if(!c){u=U;return}pq(c);u=U;return}function eb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=u;u=u+64|0;T=W+56|0;U=W+52|0;N=W+48|0;i=W+60|0;V=W;F=W+44|0;G=W+40|0;C=W+36|0;D=W+32|0;E=W+28|0;M=W+24|0;O=W+20|0;P=W+16|0;R=W+12|0;if(!(b[a+288>>0]|0)){tf(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){oj(d);pq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){oj(d);pq(d)}}else f[T>>2]=0}else{Qh(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){oj(d);pq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){oj(d);pq(d)}}else f[T>>2]=0}A=a+12|0;d=f[A>>2]|0;if(!d){V=0;u=W;return V|0}K=a+200|0;f[a+264>>2]=a;S=a+4|0;Rh(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2)-(f[d+44>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=f[A>>2]|0;Rh((((f[I+4>>2]|0)-(f[I>>2]|0)>>2>>>0)/3|0)-(f[I+40>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=a+28|0;H=a+8|0;h=f[H>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[T>>0]=0;Zg(I,h,T);h=f[A>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[T>>2]=-1;bg(a+52|0,h,T);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);z=f[A>>2]|0;z=(f[z+4>>2]|0)-(f[z>>2]|0)>>2;Jj(h,z-((z>>>0)%3|0)|0);z=a+84|0;y=f[A>>2]|0;y=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2;b[T>>0]=0;Zg(z,y,T);y=a+96|0;d=f[y>>2]|0;x=a+100|0;e=f[x>>2]|0;if((e|0)!=(d|0))f[x>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;B=a+168|0;f[B>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{w=d;d=f[d>>2]|0;pq(w)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[A>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[T>>2]=-1;bg(a+152|0,v,T);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);w=f[A>>2]|0;Jj(v,((f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Wd(a)|0)){V=0;u=W;return V|0}if(!(Uf(a)|0)){V=0;u=W;return V|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[S>>2]|0)+44>>2]|0;w=e+16|0;t=f[w+4>>2]|0;if(!((t|0)>0|(t|0)==0&(f[w>>2]|0)>>>0>0)){f[U>>2]=f[e+4>>2];f[T>>2]=f[U>>2];Ke(e,T,i,i+1|0)|0;d=b[i>>0]|0}t=a+284|0;f[t>>2]=d&255;o=f[A>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Ki(K);f[V>>2]=0;w=V+4|0;f[w>>2]=0;f[V+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=V+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[I>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[A>>2]|0,f[F>>2]=d,f[T>>2]=f[F>>2],!(Dj(l,T)|0)):0){f[U>>2]=0;f[G>>2]=d;f[T>>2]=f[G>>2];i=Je(a,T,U)|0;$i(K,i);d=f[U>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[A>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[z>>2]|0;X=i+(e>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[T>>2]=1;e=f[x>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[x>>2]=e+4}else Gi(y,T);h=(f[I>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[T>>2]=g;e=f[w>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[w>>2]=e+4}else Gi(V,T);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[A>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;X=(e|0)<0;d=X?-1073741824:(e>>>0)/3|0;if(X)break;if(f[(f[I>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[C>>2]=e;f[T>>2]=f[C>>2];if(!(Zb(a,T)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[D>>2]=d;f[T>>2]=f[D>>2];Ge(a,T,1)|0;f[E>>2]=f[U>>2];f[T>>2]=f[E>>2];if(!(Zb(a,T)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){J=61;break a}}e=0}else J=61;while(0);if((J|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{X=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=X;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[V>>2];f[P>>2]=f[w>>2];f[N>>2]=f[M>>2];f[U>>2]=f[O>>2];f[T>>2]=f[P>>2];Ud(v,N,U,T)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[H>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[T>>0]=0,Zg(I,c,T),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[T>>2]=f[R>>2];kg(a,T)|0;c=c+4|0}while((c|0)!=(Q|0));$g(K);e=a+232|0;ed(K,e);d=a+280|0;c=f[d>>2]|0;if((c|0?(f[t>>2]|0)>0:0)?(ed(c,e),(f[t>>2]|0)>1):0){c=1;do{ed((f[d>>2]|0)+(c<<5)|0,e);c=c+1|0}while((c|0)<(f[t>>2]|0))}Rh((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[S>>2]|0)+44>>2]|0)|0;Rh(f[B>>2]|0,f[(f[S>>2]|0)+44>>2]|0)|0;if(Ig(a)|0){d=f[(f[S>>2]|0)+44>>2]|0;c=f[e>>2]|0;X=d+16|0;S=f[X+4>>2]|0;if(!((S|0)>0|(S|0)==0&(f[X>>2]|0)>>>0>0)){X=(f[a+236>>2]|0)-c|0;f[U>>2]=f[d+4>>2];f[T>>2]=f[U>>2];Ke(d,T,c,c+X|0)|0}e=1}else e=0}c=f[V>>2]|0;if(c|0){d=f[w>>2]|0;if((d|0)!=(c|0))f[w>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}X=e;u=W;return X|0}function fb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+1328|0;x=z+1304|0;w=z+1296|0;y=z;g=z+1284|0;l=z+1280|0;t=z+1316|0;p=z+1288|0;q=z+72|0;n=z+1268|0;i=z+64|0;j=z+56|0;k=z+80|0;d=f[a+4>>2]|0;if(((f[a+8>>2]|0)-d|0)!=4){y=0;u=z;return y|0}m=f[d>>2]|0;s=a+28|0;e=f[s>>2]|0;d=f[e+4>>2]|0;if((m|0)<=-1)ra(20625,20641,59,20738);a=f[d+8>>2]|0;if(((f[d+12>>2]|0)-a>>2|0)<=(m|0))ra(20748,20641,60,20738);r=f[a+(m<<2)>>2]|0;if((b[r+24>>0]|0)!=3){y=0;u=z;return y|0}e=10-(fi(f[e+48>>2]|0)|0)|0;e=(e|0)<6?e:6;b[t>>0]=e;if((e&255)>>>0>=7)ra(7578,7605,92,7729);a:do switch(f[r+28>>2]|0){case 9:{i=f[(f[s>>2]|0)+48>>2]|0;d=an(32)|0;f[x>>2]=d;f[x+8>>2]=-2147483616;f[x+4>>2]=17;a=d;e=17860;g=a+17|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));b[d+17>>0]=0;g=i+16|0;a=f[g>>2]|0;if(a){d=g;b:while(1){e=a;while(1){if((f[e+16>>2]|0)>=(m|0))break;a=f[e+4>>2]|0;if(!a)break b;else e=a}a=f[e>>2]|0;if(!a){d=e;break}else d=e}if(((d|0)!=(g|0)?(m|0)>=(f[d+16>>2]|0):0)?(o=d+20|0,(Oh(o,x)|0)!=0):0)e=Bk(o,x,-1)|0;else v=19}else v=19;if((v|0)==19)e=Bk(i,x,-1)|0;if((b[x+11>>0]|0)<0)pq(f[x>>2]|0);if((e|0)>=1){b[y>>0]=0;g=c+16|0;d=g;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,t,t+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}f[y>>2]=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2];if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+4|0)|0}Dl(y,1,e,h[t>>0]|0);f[p>>2]=r;f[p+4>>2]=0;t=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2]|0;s=q;f[s>>2]=r;f[s+4>>2]=0;f[q+4>>2]=t;f[w>>2]=f[p>>2];f[w+4>>2]=f[p+4>>2];f[x>>2]=f[q>>2];f[x+4>>2]=f[q+4>>2];if(xd(y,w,x)|0){d=f[y+16>>2]|0;t=g;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[y+20>>2]|0)-d|0;f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,d,d+t|0)|0}e=0}else e=1;c=y+28|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)pq(d);a=f[y+16>>2]|0;if(a|0){d=y+20|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;pq(a)}if(!e)v=64;else d=0}else d=0;break}case 6:{b[y>>0]=1;e=c+16|0;d=e;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+1|0)|0;a=e;d=f[a+4>>2]|0;a=f[a>>2]|0}if((d|0)>0|(d|0)==0&a>>>0>0)e=d;else{f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,t,t+1|0)|0;a=e;e=f[a+4>>2]|0;a=f[a>>2]|0}d=f[s>>2]|0;f[y>>2]=f[(f[d+4>>2]|0)+80>>2];if(!((e|0)>0|(e|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+4|0)|0;d=f[s>>2]|0}f[i>>2]=r;f[i+4>>2]=0;v=f[(f[d+4>>2]|0)+80>>2]|0;s=j;f[s>>2]=r;f[s+4>>2]=0;f[j+4>>2]=v;f[w>>2]=f[i>>2];f[w+4>>2]=f[i+4>>2];f[x>>2]=f[j>>2];f[x+4>>2]=f[j+4>>2];Og(n,w,x);switch(b[t>>0]|0){case 6:{Me(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=We(k,w,x,l,c)|0;Ve(k);if(y)v=54;else v=59;break}case 5:{Me(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(k,w,x,l,c)|0;Ve(k);if(y)v=54;else v=59;break}case 4:{Me(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(k,w,x,l,c)|0;Ve(k);if(y)v=54;else v=59;break}case 3:{Ne(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=rf(k,w,x,l,c)|0;kf(k);if(y)v=54;else v=59;break}case 2:{Ne(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=rf(k,w,x,l,c)|0;kf(k);if(y)v=54;else v=59;break}case 1:{Oe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(k,w,x,l,c)|0;jf(k);if(y)v=54;else v=59;break}case 0:{Oe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(k,w,x,l,c)|0;jf(k);if(y)v=54;else v=59;break}default:v=59}if((v|0)==54){e=f[n>>2]|0;if(e|0){a=n+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);pq(e)}v=64;break a}else if((v|0)==59){e=f[n>>2]|0;if(e|0){a=n+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);pq(e)}d=0;break a}break}default:d=0}while(0);if((v|0)==64)d=1;y=d;u=z;return y|0}function gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;M=u;u=u+32|0;L=M;I=a+8|0;i=f[I>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{J=i<<2;e=an(J)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;cj(e|0,0,J|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);H=a+1164|0;m=f[H>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[I>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{J=i<<2;g=an(J)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;cj(g|0,0,J|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);D=a+1176|0;j=f[D>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;J=L+8|0;G=L+4|0;F=L+16|0;E=L+20|0;Gc(L);d=f[G>>2]|0;e=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[J>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[E>>2]|0)+1|0;f[E>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[F>>2]|0;e=d+-1|0;t=s+e|0;v=f[G>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[E>>2]=e;e=f[J>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[J>>2]=(f[J>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[H>>2]|0;j=m+(t*12|0)|0;e=((f[I>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[D>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[I>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[I>>2]|0}while(g>>>0>>0)}if(!k){K=77;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[I>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){K=77;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[J>>2]|0;i=f[G>>2]|0;s=j-i>>2;d=f[F>>2]|0;h=f[E>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(L);d=f[F>>2]|0;h=f[E>>2]|0;j=f[J>>2]|0;i=f[G>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[E>>2]=(f[E>>2]|0)+1}if((g|0)!=(n|0)){i=f[J>>2]|0;h=f[G>>2]|0;t=i-h>>2;d=f[F>>2]|0;g=f[E>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(L);d=f[F>>2]|0;g=f[E>>2]|0;i=f[J>>2]|0;h=f[G>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[E>>2]|0)+1|0;f[E>>2]=d}else K=77}else K=77;while(0);if((K|0)==77){K=0;d=f[E>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[G>>2]|0;e=f[F>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[J>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[E>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[G>>2]|0)+4|0;f[G>>2]=d;g=f[J>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;K=91;break}case 2:{e=204;K=91;break}default:{}}if((K|0)==91)f[F>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[G>>2]|0;e=f[J>>2]|0;if((e|0)!=(d|0))f[J>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[L>>2]|0;if(!d){u=M;return}pq(d);u=M;return}function hb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=u;u=u+64|0;S=V+56|0;T=V+52|0;N=V+48|0;i=V+60|0;U=V;E=V+44|0;F=V+40|0;B=V+36|0;C=V+32|0;D=V+28|0;M=V+24|0;O=V+20|0;P=V+16|0;R=V+12|0;if(!(b[a+352>>0]|0)){tf(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){oj(d);pq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){oj(d);pq(d)}}else f[S>>2]=0}else{Qh(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){oj(d);pq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){oj(d);pq(d)}}else f[S>>2]=0}z=a+12|0;if(!(f[z>>2]|0)){U=0;u=V;return U|0}K=a+200|0;we(K,a)|0;H=f[z>>2]|0;J=a+4|0;Rh(((f[H+28>>2]|0)-(f[H+24>>2]|0)>>2)-(f[H+44>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=f[z>>2]|0;Rh((((f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)/3|0)-(f[H+40>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=a+28|0;G=a+8|0;h=f[G>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[S>>0]=0;Zg(H,h,S);h=f[z>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[S>>2]=-1;bg(a+52|0,h,S);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);y=f[z>>2]|0;y=(f[y+4>>2]|0)-(f[y>>2]|0)>>2;Jj(h,y-((y>>>0)%3|0)|0);y=a+84|0;x=f[z>>2]|0;x=(f[x+28>>2]|0)-(f[x+24>>2]|0)>>2;b[S>>0]=0;Zg(y,x,S);x=a+96|0;d=f[x>>2]|0;w=a+100|0;e=f[w>>2]|0;if((e|0)!=(d|0))f[w>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;A=a+168|0;f[A>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{v=d;d=f[d>>2]|0;pq(v)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[z>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[S>>2]=-1;bg(a+152|0,v,S);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);t=f[z>>2]|0;Jj(v,((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Wd(a)|0)){U=0;u=V;return U|0}if(!(Rf(a)|0)){U=0;u=V;return U|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[J>>2]|0)+44>>2]|0;t=e+16|0;p=f[t+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[t>>2]|0)>>>0>0)){f[T>>2]=f[e+4>>2];f[S>>2]=f[T>>2];Ke(e,S,i,i+1|0)|0;d=b[i>>0]|0}f[a+284>>2]=d&255;o=f[z>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Ki(K);f[U>>2]=0;t=U+4|0;f[t>>2]=0;f[U+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=U+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[H>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[z>>2]|0,f[E>>2]=d,f[S>>2]=f[E>>2],!(Dj(l,S)|0)):0){f[T>>2]=0;f[F>>2]=d;f[S>>2]=f[F>>2];i=Je(a,S,T)|0;$i(K,i);d=f[T>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[z>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[y>>2]|0;W=i+(e>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[S>>2]=1;e=f[w>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[w>>2]=e+4}else Gi(x,S);h=(f[H>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[S>>2]=g;e=f[t>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[t>>2]=e+4}else Gi(U,S);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;W=(e|0)<0;d=W?-1073741824:(e>>>0)/3|0;if(W)break;if(f[(f[H>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[B>>2]=e;f[S>>2]=f[B>>2];if(!(Nb(a,S)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[C>>2]=d;f[S>>2]=f[C>>2];Ge(a,S,1)|0;f[D>>2]=f[T>>2];f[S>>2]=f[D>>2];if(!(Nb(a,S)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){I=61;break a}}e=0}else I=61;while(0);if((I|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{W=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=W;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[U>>2];f[P>>2]=f[t>>2];f[N>>2]=f[M>>2];f[T>>2]=f[O>>2];f[S>>2]=f[P>>2];Ud(v,N,T,S)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[G>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[S>>0]=0,Zg(H,c,S),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[S>>2]=f[R>>2];kg(a,S)|0;c=c+4|0}while((c|0)!=(Q|0));mi(K);Rh(f[a+324>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;Rh(f[A>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;if(Ig(a)|0){c=f[(f[J>>2]|0)+44>>2]|0;d=f[a+232>>2]|0;W=c+16|0;R=f[W+4>>2]|0;if(!((R|0)>0|(R|0)==0&(f[W>>2]|0)>>>0>0)){W=(f[a+236>>2]|0)-d|0;f[T>>2]=f[c+4>>2];f[S>>2]=f[T>>2];Ke(c,S,d,d+W|0)|0}e=1}else e=0}c=f[U>>2]|0;if(c|0){d=f[t>>2]|0;if((d|0)!=(c|0))f[t>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}W=e;u=V;return W|0}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N;J=a+8|0;i=f[J>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;e=an(K)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;cj(e|0,0,K|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);I=a+128|0;m=f[I>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[J>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;g=an(K)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;cj(g|0,0,K|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);E=a+140|0;j=f[E>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;H=M+4|0;G=M+16|0;F=M+20|0;Gc(M);d=f[H>>2]|0;e=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[K>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[F>>2]|0)+1|0;f[F>>2]=d;a:do if(d|0){x=a+116|0;D=a+32|0;C=a+12|0;w=a+88|0;B=a+84|0;y=a+76|0;z=a+80|0;A=a+72|0;b:while(1){s=f[G>>2]|0;e=d+-1|0;t=s+e|0;v=f[H>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[F>>2]=e;e=f[K>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[I>>2]|0;j=m+(t*12|0)|0;e=((f[J>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}if(!k){L=73;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[J>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){L=73;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)ri(C,i,d-o|0);else ri(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;d=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(M);d=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[F>>2]=(f[F>>2]|0)+1}if((g|0)!=(n|0)){i=f[K>>2]|0;h=f[H>>2]|0;t=i-h>>2;d=f[G>>2]|0;g=f[F>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(M);d=f[G>>2]|0;g=f[F>>2]|0;i=f[K>>2]|0;h=f[H>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[F>>2]|0)+1|0;f[F>>2]=d}else L=73}else L=73;while(0);if((L|0)==73){L=0;d=f[F>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[H>>2]|0;e=f[G>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[K>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[F>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[H>>2]|0)+4|0;f[H>>2]=d;g=f[K>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;L=87;break}case 2:{e=204;L=87;break}default:{}}if((L|0)==87)f[G>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[H>>2]|0;e=f[K>>2]|0;if((e|0)!=(d|0))f[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}pq(d);u=N;return}function jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N;J=a+8|0;i=f[J>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;e=an(K)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;cj(e|0,0,K|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);I=a+140|0;m=f[I>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[J>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;g=an(K)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;cj(g|0,0,K|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);E=a+152|0;j=f[E>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;H=M+4|0;G=M+16|0;F=M+20|0;Gc(M);d=f[H>>2]|0;e=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[K>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[F>>2]|0)+1|0;f[F>>2]=d;a:do if(d|0){x=a+128|0;D=a+44|0;C=a+12|0;w=a+100|0;B=a+96|0;y=a+88|0;z=a+92|0;A=a+84|0;b:while(1){s=f[G>>2]|0;e=d+-1|0;t=s+e|0;v=f[H>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[F>>2]=e;e=f[K>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[I>>2]|0;j=m+(t*12|0)|0;e=((f[J>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}if(!k){L=73;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[J>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){L=73;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)Of(C,i,d-o|0);else Of(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;d=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(M);d=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[F>>2]=(f[F>>2]|0)+1}if((g|0)!=(n|0)){i=f[K>>2]|0;h=f[H>>2]|0;t=i-h>>2;d=f[G>>2]|0;g=f[F>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(M);d=f[G>>2]|0;g=f[F>>2]|0;i=f[K>>2]|0;h=f[H>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[F>>2]|0)+1|0;f[F>>2]=d}else L=73}else L=73;while(0);if((L|0)==73){L=0;d=f[F>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[H>>2]|0;e=f[G>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[K>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[F>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[H>>2]|0)+4|0;f[H>>2]=d;g=f[K>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;L=87;break}case 2:{e=204;L=87;break}default:{}}if((L|0)==87)f[G>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[H>>2]|0;e=f[K>>2]|0;if((e|0)!=(d|0))f[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}pq(d);u=N;return}function kb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+32|0;E=F+16|0;D=F+4|0;A=F;f[a+36>>2]=b;B=a+24|0;z=a+28|0;e=f[z>>2]|0;d=f[B>>2]|0;h=e-d>>2;if(h>>>0>=b>>>0){if(h>>>0>b>>>0?(g=d+(b<<2)|0,(e|0)!=(g|0)):0)f[z>>2]=e+(~((e+-4-g|0)>>>2)<<2)}else lh(B,b-h|0,6028);f[E>>2]=0;y=E+4|0;f[y>>2]=0;x=E+8|0;f[x>>2]=0;if(b){if((b|0)<0)Fp(E);d=((b+-1|0)>>>5)+1|0;h=an(d<<2)|0;f[E>>2]=h;f[x>>2]=d;f[y>>2]=b;d=b>>>5;cj(h|0,0,d<<2|0)|0;e=b-(d<<5)|0;d=h+(d<<2)|0;g=h;if(!e)k=b;else{f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));k=b}}else{k=0;g=0;h=0}w=a+4|0;l=f[a>>2]|0;d=(f[w>>2]|0)-l|0;j=d>>2;f[D>>2]=0;i=D+4|0;f[i>>2]=0;e=D+8|0;f[e>>2]=0;do if(j){if((d|0)<0)Fp(D);d=((j+-1|0)>>>5)+1|0;m=an(d<<2)|0;f[D>>2]=m;f[e>>2]=d;f[i>>2]=j;d=j>>>5;cj(m|0,0,d<<2|0)|0;e=j-(d<<5)|0;d=m+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));if(j>>>0>2){q=a+12|0;t=a+32|0;r=a+52|0;s=a+56|0;v=a+48|0;j=l;e=m;p=0;d=b;a:while(1){o=p*3|0;if((p|0)>=0){l=f[j+(o<<2)>>2]|0;i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;if((i|0)<0)k=-1073741824;else k=f[j+(i<<2)>>2]|0;i=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((i|0)<0)i=-1073741824;else i=f[j+(i<<2)>>2]|0;if((l|0)!=(k|0)?!((l|0)==(i|0)|(k|0)==(i|0)):0){i=d;n=0;while(1){j=n+o|0;if(!(f[e+(j>>>5<<2)>>2]&1<<(j&31))){d=f[(f[a>>2]|0)+(j<<2)>>2]|0;f[A>>2]=d;if(!(f[h+(d>>>5<<2)>>2]&1<<(d&31))){k=0;b=i}else{d=f[z>>2]|0;if((d|0)==(f[t>>2]|0))Gi(B,6028);else{f[d>>2]=-1073741824;f[z>>2]=d+4}d=f[r>>2]|0;if((d|0)==(f[s>>2]|0))Gi(v,A);else{f[d>>2]=f[A>>2];f[r>>2]=d+4}d=f[y>>2]|0;e=f[x>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){i=52;break a}b=e<<6;m=d+32&-32;gi(E,d>>>0<1073741823?(b>>>0>>0?m:b):2147483647);d=f[y>>2]|0}f[y>>2]=d+1;k=(f[E>>2]|0)+(d>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(d&31));f[A>>2]=i;d=i;k=1;b=i+1|0}h=f[E>>2]|0;g=h+(d>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(d&31);g=h;b:do if(k){d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);i=f[A>>2]|0;f[(f[B>>2]|0)+(i<<2)>>2]=d;f[(f[a>>2]|0)+(d<<2)>>2]=i;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}else{d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);f[(f[B>>2]|0)+(f[A>>2]<<2)>>2]=d;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}while(0);do if((i|0)==68){i=0;if((j|0)==-1073741824){d=-1073741824;i=75}}else if((i|0)==69){if((j|0)<0){d=j;i=75;break}d=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((d|0)<0){i=75;break}d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=75;break}if(!((d>>>0)%3|0)){d=d+2|0;i=75;break}else{d=d+-1|0;i=75;break}}while(0);c:do if((i|0)==75){e=f[D>>2]|0;i=e+(d>>>5<<2)|0;l=1<<(d&31);j=(d|0)<0;if((d|0)==-1073741824)break;if(!k){k=d;e=j;d=l;while(1){if(e){i=87;break a}f[i>>2]=f[i>>2]|d;d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);e=f[D>>2]|0;if((d|0)==-1073741824)break c;else{k=d;i=e+(d>>>5<<2)|0;e=(d|0)<0;d=1<<(d&31)}}}m=f[a>>2]|0;k=i;e=l;while(1){i=m+(d<<2)|0;do{f[k>>2]=f[k>>2]|e;f[i>>2]=f[A>>2]}while(j);d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=d;break}if(!((d>>>0)%3|0)){i=d+2|0;break}else{i=d+-1|0;break}}else i=d;while(0);e=f[D>>2]|0;if((i|0)==-1073741824)break;else{d=i;k=e+(i>>>5<<2)|0;j=(i|0)<0;e=1<<(i&31)}}}while(0);d=b}else d=i;n=n+1|0;if((n|0)>=3)break;else i=d}}}p=p+1|0;j=f[a>>2]|0;if((p|0)>=(((f[w>>2]|0)-j>>2>>>0)/3|0|0)){i=18;break}}if((i|0)==18){c=g;C=f[y>>2]|0;break}else if((i|0)==52)Fp(E);else if((i|0)==87)while(1)i=87}else{c=g;C=k}}else{c=g;C=k}while(0);j=a+44|0;f[j>>2]=0;B=C>>>5;i=c+(B<<2)|0;h=C&31;d=(B|0)!=0;d:do if(B|h|0){if(!h){e=c;c=0;while(1){e:do if(d){d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break;else d=d+1|0}}else{d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break e;d=d+1|0;if(!d)break d}}while(0);e=e+4|0;if((e|0)==(i|0))break d;else d=1}}if(d){e=c;c=0;d=0;do{g=0;while(1){if(!(f[e>>2]&1<>2]=d;c=d}if((g|0)==31)break;else g=g+1|0}e=e+4|0}while((e|0)!=(i|0))}else{e=c;c=0}d=0;do{if(!(f[e>>2]&1<>2]=c}d=d+1|0}while((d|0)!=(h|0))}while(0);c=f[D>>2]|0;if(c|0)pq(c);c=f[E>>2]|0;if(!c){u=F;return 1}pq(c);u=F;return 1}function lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=Ka,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function mb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;H=u;u=u+80|0;k=H+76|0;l=H+72|0;D=H+48|0;m=H+24|0;x=H;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)i=-1073741824;else i=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;i=-1073741824}h=f[a+36>>2]|0;g=f[h>>2]|0;j=(f[h+4>>2]|0)-g>>2;if(j>>>0<=c>>>0)Fp(h);w=f[g+(c<<2)>>2]|0;if(j>>>0<=i>>>0)Fp(h);h=f[g+(i<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){z=w<<1;v=f[d+(z<<2)>>2]|0;y=((v|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(v|0)|(s|0)!=(z|0))){f[a+8>>2]=v;f[a+12>>2]=z;u=H;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;n=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,n,x)|0;n=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;n=_n(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=_n(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=_n(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=$m(n|0,o|0,n|0,o|0)|0;x=I;B=$m(p|0,q|0,p|0,q|0)|0;x=Mn(B|0,I|0,C|0,x|0)|0;C=I;B=$m(l|0,m|0,l|0,m|0)|0;B=Mn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;M=D;M=_n(f[M>>2]|0,f[M+4>>2]|0,h|0,i|0)|0;L=I;K=D+8|0;K=_n(f[K>>2]|0,f[K+4>>2]|0,j|0,k|0)|0;J=I;h=D+16|0;h=_n(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=$m(M|0,L|0,n|0,o|0)|0;D=I;g=$m(K|0,J|0,p|0,q|0)|0;D=Mn(g|0,I|0,k|0,D|0)|0;k=I;g=$m(h|0,i|0,l|0,m|0)|0;g=Mn(D|0,k|0,g|0,I|0)|0;k=I;D=_n(r|0,((r|0)<0)<<31>>31|0,v|0,y|0)|0;c=I;w=_n(s|0,((s|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;s=$m(B|0,C|0,v|0,y|0)|0;r=I;v=$m(B|0,C|0,z|0,A|0)|0;t=I;A=$m(g|0,k|0,D|0,c|0)|0;z=I;j=$m(g|0,k|0,w|0,x|0)|0;y=I;r=Mn(A|0,z|0,s|0,r|0)|0;s=I;t=Mn(j|0,y|0,v|0,t|0)|0;v=I;y=$m(g|0,k|0,n|0,o|0)|0;j=I;z=$m(g|0,k|0,p|0,q|0)|0;A=I;m=$m(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=_n(M|0,L|0,j|0,l|0)|0;j=I;z=_n(K|0,J|0,A|0,z|0)|0;A=I;m=_n(h|0,i|0,k|0,m|0)|0;k=I;j=$m(l|0,j|0,l|0,j|0)|0;l=I;A=$m(z|0,A|0,z|0,A|0)|0;l=Mn(A|0,I|0,j|0,l|0)|0;j=I;k=$m(m|0,k|0,m|0,k|0)|0;k=Mn(l|0,j|0,k|0,I|0)|0;j=I;l=_n(0,0,D|0,c|0)|0;m=I;j=$m(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=23}break}case 1:{if(!c){g=1;c=0;E=24}else{g=1;c=0;h=j;i=k;E=23}break}default:{g=1;c=0;h=j;i=k;E=23}}if((E|0)==23)while(1){g=vn(g|0,c|0,1)|0;c=I;M=h;h=An(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&M>>>0>7)){E=24;break}else{i=I;E=23}}if((E|0)==24)while(1){M=Po(j|0,k|0,g|0,c|0)|0;g=Mn(M|0,I|0,g|0,c|0)|0;g=An(g|0,I|0,1)|0;c=I;M=$m(g|0,c|0,g|0,c|0)|0;L=I;if(L>>>0>k>>>0|(L|0)==(k|0)&M>>>0>j>>>0)E=24;else break}n=$m(g|0,c|0,w|0,x|0)|0;M=I;m=$m(g|0,c|0,l|0,m|0)|0;j=I;L=Mn(n|0,M|0,r|0,s|0)|0;g=I;k=Mn(m|0,j|0,t|0,v|0)|0;c=I;g=kk(L|0,g|0,B|0,C|0)|0;L=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;M=_n(r|0,s|0,n|0,M|0)|0;n=I;j=_n(t|0,v|0,m|0,j|0)|0;m=I;n=kk(M|0,n|0,B|0,C|0)|0;M=I;m=kk(j|0,m|0,B|0,C|0)|0;j=I;h=e<<1;i=f[d+(h<<2)>>2]|0;K=((i|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;l=((h|0)<0)<<31>>31;L=_n(i|0,K|0,g|0,L|0)|0;J=I;d=_n(h|0,l|0,c|0,k|0)|0;k=I;J=$m(L|0,J|0,L|0,J|0)|0;L=I;k=$m(d|0,k|0,d|0,k|0)|0;L=Mn(k|0,I|0,J|0,L|0)|0;J=I;M=_n(i|0,K|0,n|0,M|0)|0;K=I;j=_n(h|0,l|0,m|0,j|0)|0;l=I;K=$m(M|0,K|0,M|0,K|0)|0;M=I;l=$m(j|0,l|0,j|0,l|0)|0;M=Mn(l|0,I|0,K|0,M|0)|0;K=I;l=a+16|0;j=a+20|0;h=f[j>>2]|0;i=f[a+24>>2]|0;k=(h|0)==(i<<5|0);if(J>>>0>>0|(J|0)==(K|0)&L>>>0>>0){do if(k)if((h+1|0)<0)Fp(l);else{F=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(F>>>0>>0?M:F):2147483647);F=f[j>>2]|0;break}else F=h;while(0);f[j>>2]=F+1;M=(f[l>>2]|0)+(F>>>5<<2)|0;f[M>>2]=f[M>>2]|1<<(F&31)}else{do if(k)if((h+1|0)<0)Fp(l);else{G=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(G>>>0>>0?M:G):2147483647);G=f[j>>2]|0;break}else G=h;while(0);f[j>>2]=G+1;g=(f[l>>2]|0)+(G>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(G&31));g=n;c=m}f[a+8>>2]=g;f[a+12>>2]=c;u=H;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}M=a+8|0;f[M>>2]=0;f[M+4>>2]=0;u=H;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=H;return}function nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;H=u;u=u+80|0;k=H+76|0;l=H+72|0;D=H+48|0;m=H+24|0;x=H;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);i=f[(f[h>>2]|0)+28>>2]|0;h=f[i+(c<<2)>>2]|0;i=f[i+(g<<2)>>2]|0;g=f[a+36>>2]|0;c=f[g>>2]|0;j=(f[g+4>>2]|0)-c>>2;if(j>>>0<=h>>>0)Fp(g);w=f[c+(h<<2)>>2]|0;if(j>>>0<=i>>>0)Fp(g);h=f[c+(i<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){y=w<<1;A=f[d+(y<<2)>>2]|0;v=((A|0)<0)<<31>>31;y=f[d+((y|1)<<2)>>2]|0;z=((y|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(A|0)|(s|0)!=(y|0))){f[a+8>>2]=A;f[a+12>>2]=y;u=H;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;n=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,n,x)|0;n=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;n=_n(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=_n(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=_n(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=$m(n|0,o|0,n|0,o|0)|0;x=I;B=$m(p|0,q|0,p|0,q|0)|0;x=Mn(B|0,I|0,C|0,x|0)|0;C=I;B=$m(l|0,m|0,l|0,m|0)|0;B=Mn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;M=D;M=_n(f[M>>2]|0,f[M+4>>2]|0,h|0,i|0)|0;L=I;K=D+8|0;K=_n(f[K>>2]|0,f[K+4>>2]|0,j|0,k|0)|0;J=I;h=D+16|0;h=_n(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=$m(M|0,L|0,n|0,o|0)|0;D=I;g=$m(K|0,J|0,p|0,q|0)|0;D=Mn(g|0,I|0,k|0,D|0)|0;k=I;g=$m(h|0,i|0,l|0,m|0)|0;g=Mn(D|0,k|0,g|0,I|0)|0;k=I;D=_n(r|0,((r|0)<0)<<31>>31|0,A|0,v|0)|0;c=I;w=_n(s|0,((s|0)<0)<<31>>31|0,y|0,z|0)|0;x=I;s=$m(B|0,C|0,A|0,v|0)|0;r=I;v=$m(B|0,C|0,y|0,z|0)|0;t=I;A=$m(g|0,k|0,D|0,c|0)|0;z=I;j=$m(g|0,k|0,w|0,x|0)|0;y=I;r=Mn(A|0,z|0,s|0,r|0)|0;s=I;t=Mn(j|0,y|0,v|0,t|0)|0;v=I;y=$m(g|0,k|0,n|0,o|0)|0;j=I;z=$m(g|0,k|0,p|0,q|0)|0;A=I;m=$m(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=_n(M|0,L|0,j|0,l|0)|0;j=I;z=_n(K|0,J|0,A|0,z|0)|0;A=I;m=_n(h|0,i|0,k|0,m|0)|0;k=I;j=$m(l|0,j|0,l|0,j|0)|0;l=I;A=$m(z|0,A|0,z|0,A|0)|0;l=Mn(A|0,I|0,j|0,l|0)|0;j=I;k=$m(m|0,k|0,m|0,k|0)|0;k=Mn(l|0,j|0,k|0,I|0)|0;j=I;l=_n(0,0,D|0,c|0)|0;m=I;j=$m(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=22}break}case 1:{if(!c){g=1;c=0;E=23}else{g=1;c=0;h=j;i=k;E=22}break}default:{g=1;c=0;h=j;i=k;E=22}}if((E|0)==22)while(1){g=vn(g|0,c|0,1)|0;c=I;M=h;h=An(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&M>>>0>7)){E=23;break}else{i=I;E=22}}if((E|0)==23)while(1){M=Po(j|0,k|0,g|0,c|0)|0;g=Mn(M|0,I|0,g|0,c|0)|0;g=An(g|0,I|0,1)|0;c=I;M=$m(g|0,c|0,g|0,c|0)|0;L=I;if(L>>>0>k>>>0|(L|0)==(k|0)&M>>>0>j>>>0)E=23;else break}n=$m(g|0,c|0,w|0,x|0)|0;M=I;m=$m(g|0,c|0,l|0,m|0)|0;j=I;L=Mn(n|0,M|0,r|0,s|0)|0;g=I;k=Mn(m|0,j|0,t|0,v|0)|0;c=I;g=kk(L|0,g|0,B|0,C|0)|0;L=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;M=_n(r|0,s|0,n|0,M|0)|0;n=I;j=_n(t|0,v|0,m|0,j|0)|0;m=I;n=kk(M|0,n|0,B|0,C|0)|0;M=I;m=kk(j|0,m|0,B|0,C|0)|0;j=I;h=e<<1;i=f[d+(h<<2)>>2]|0;K=((i|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;l=((h|0)<0)<<31>>31;L=_n(i|0,K|0,g|0,L|0)|0;J=I;d=_n(h|0,l|0,c|0,k|0)|0;k=I;J=$m(L|0,J|0,L|0,J|0)|0;L=I;k=$m(d|0,k|0,d|0,k|0)|0;L=Mn(k|0,I|0,J|0,L|0)|0;J=I;M=_n(i|0,K|0,n|0,M|0)|0;K=I;j=_n(h|0,l|0,m|0,j|0)|0;l=I;K=$m(M|0,K|0,M|0,K|0)|0;M=I;l=$m(j|0,l|0,j|0,l|0)|0;M=Mn(l|0,I|0,K|0,M|0)|0;K=I;l=a+16|0;j=a+20|0;h=f[j>>2]|0;i=f[a+24>>2]|0;k=(h|0)==(i<<5|0);if(J>>>0>>0|(J|0)==(K|0)&L>>>0>>0){do if(k)if((h+1|0)<0)Fp(l);else{F=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(F>>>0>>0?M:F):2147483647);F=f[j>>2]|0;break}else F=h;while(0);f[j>>2]=F+1;M=(f[l>>2]|0)+(F>>>5<<2)|0;f[M>>2]=f[M>>2]|1<<(F&31)}else{do if(k)if((h+1|0)<0)Fp(l);else{G=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(G>>>0>>0?M:G):2147483647);G=f[j>>2]|0;break}else G=h;while(0);f[j>>2]=G+1;g=(f[l>>2]|0)+(G>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(G&31));g=n;c=m}f[a+8>>2]=g;f[a+12>>2]=c;u=H;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}M=a+8|0;f[M>>2]=0;f[M+4>>2]=0;u=H;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=H;return}function ob(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;Zn(c)|0;if((I|0)<0){C=1;A=21283;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?21284:21289):21286}Zn(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+Yp(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=ok(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[21314+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Qk(a,32,d,j,g);Bo(a,p,o);Qk(a,48,d,j,g^65536);Bo(a,F,C);Qk(a,48,D-C|0,0,0);Bo(a,n,E);Qk(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=vn(f[j>>2]|0,0,o|0)|0;x=Mn(x|0,I|0,l|0,0)|0;y=I;v=Um(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=Po(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=ok(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Qk(a,32,d,j,g);Bo(a,A,C);Qk(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=ok(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){cj(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Bo(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Bo(a,21330,1);if(m>>>0>>0&(k|0)>0)while(1){l=ok(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){cj(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Bo(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Qk(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=ok(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Bo(a,l,1);if(e&(k|0)<1){l=m;break}Bo(a,21330,1);l=m}else{if(l>>>0<=F>>>0)break;cj(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Bo(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Qk(a,48,k+18|0,18,0);Bo(a,v,D-v|0)}Qk(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Qk(a,32,d,j,g&-65537);Bo(a,A,C);Bo(a,c!=c|0.0!=0.0?(F?23233:21310):F?21302:21306,3);Qk(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function pb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0.0;H=u;u=u+512|0;E=H;F=d+c|0;G=0-F|0;B=a+4|0;C=a+100|0;j=b;m=0;a:while(1){switch(j|0){case 46:{A=6;break a}case 48:break;default:{l=0;b=0;p=0;break a}}b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0;m=1;continue}else{j=Xi(a)|0;m=1;continue}}if((A|0)==6){b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0}else j=Xi(a)|0;if((j|0)==48){j=0;b=0;while(1){l=Mn(j|0,b|0,-1,-1)|0;b=I;j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Xi(a)|0;if((j|0)==48)j=l;else{m=1;p=1;break}}}else{l=0;b=0;p=1}}f[E>>2]=0;v=j+-48|0;n=(j|0)==46;b:do if(n|v>>>0<10){A=E+496|0;y=l;z=0;t=0;w=n;o=0;l=0;n=0;c:while(1){do if(w)if(!p){y=z;b=t;p=1}else break c;else{w=Mn(z|0,t|0,1,0)|0;t=I;x=(j|0)!=48;if((l|0)>=125){if(!x){z=w;break}f[A>>2]=f[A>>2]|1;z=w;break}m=E+(l<<2)|0;if(!o)j=v;else j=j+-48+((f[m>>2]|0)*10|0)|0;f[m>>2]=j;o=o+1|0;v=(o|0)==9;z=w;m=1;o=v?0:o;l=(v&1)+l|0;n=x?w:n}while(0);j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Xi(a)|0;v=j+-48|0;w=(j|0)==46;if(!(w|v>>>0<10)){w=y;v=z;A=29;break b}}v=z;p=y;j=(m|0)!=0;A=37}else{w=l;v=0;t=0;o=0;l=0;n=0;A=29}while(0);do if((A|0)==29){z=(p|0)==0;p=z?v:w;b=z?t:b;w=(m|0)!=0;if(!(w&(j|32|0)==101))if((j|0)>-1){j=w;A=37;break}else{m=t;j=w;A=39;break}m=$e(a,g)|0;j=I;if((m|0)==0&(j|0)==-2147483648){if(!g){Lm(a,0);i=0.0;break}if(!(f[C>>2]|0)){m=0;j=0}else{f[B>>2]=(f[B>>2]|0)+-1;m=0;j=0}}y=Mn(m|0,j|0,p|0,b|0)|0;p=v;b=I;m=t;A=41}while(0);if((A|0)==37)if(f[C>>2]|0){f[B>>2]=(f[B>>2]|0)+-1;if(j){y=p;p=v;m=t;A=41}else A=40}else{m=t;A=39}if((A|0)==39)if(j){y=p;p=v;A=41}else A=40;do if((A|0)==40){G=eq()|0;f[G>>2]=22;Lm(a,0);i=0.0}else if((A|0)==41){j=f[E>>2]|0;if(!j){i=+(e|0)*0.0;break}if(((m|0)<0|(m|0)==0&p>>>0<10)&((y|0)==(p|0)&(b|0)==(m|0))?(c|0)>30|(j>>>c|0)==0:0){i=+(e|0)*+(j>>>0);break}a=(d|0)/-2|0;C=((a|0)<0)<<31>>31;if((b|0)>(C|0)|(b|0)==(C|0)&y>>>0>a>>>0){G=eq()|0;f[G>>2]=34;i=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=d+-106|0;C=((a|0)<0)<<31>>31;if((b|0)<(C|0)|(b|0)==(C|0)&y>>>0>>0){G=eq()|0;f[G>>2]=34;i=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(o){if((o|0)<9){m=E+(l<<2)|0;b=o;j=f[m>>2]|0;do{j=j*10|0;b=b+1|0}while((b|0)!=9);f[m>>2]=j}l=l+1|0}if((n|0)<9?(n|0)<=(y|0)&(y|0)<18:0){b=f[E>>2]|0;if((y|0)==9){i=+(e|0)*+(b>>>0);break}if((y|0)<9){i=+(e|0)*+(b>>>0)/+(f[6612+(8-y<<2)>>2]|0);break}a=c+27+(X(y,-3)|0)|0;if((a|0)>30|(b>>>a|0)==0){i=+(e|0)*+(b>>>0)*+(f[6612+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){m=0;b=0}else{t=(y|0)>-1?b:b+9|0;m=f[6612+(8-t<<2)>>2]|0;if(l){o=1e9/(m|0)|0;b=0;n=0;p=0;j=y;do{B=E+(p<<2)|0;C=f[B>>2]|0;a=((C>>>0)/(m>>>0)|0)+n|0;f[B>>2]=a;n=X(o,(C>>>0)%(m>>>0)|0)|0;a=(p|0)==(b|0)&(a|0)==0;j=a?j+-9|0:j;b=a?b+1&127:b;p=p+1|0}while((p|0)!=(l|0));if(n){f[E+(l<<2)>>2]=n;l=l+1|0}}else{b=0;j=y;l=0}m=b;b=0;y=9-t+j|0}d:while(1){v=(y|0)<18;w=(y|0)==18;t=E+(m<<2)|0;while(1){if(!v){if(!w){j=y;break d}if((f[t>>2]|0)>>>0>=9007199){j=18;break d}}n=0;j=l+127|0;x=l;while(1){p=j&127;o=E+(p<<2)|0;j=vn(f[o>>2]|0,0,29)|0;j=Mn(j|0,I|0,n|0,0)|0;l=I;if(l>>>0>0|(l|0)==0&j>>>0>1e9){n=Po(j|0,l|0,1e9,0)|0;j=Um(j|0,l|0,1e9,0)|0}else n=0;f[o>>2]=j;a=(p|0)==(m|0);x=(j|0)==0&(((p|0)!=(x+127&127|0)|a)^1)?p:x;if(a)break;else j=p+-1|0}b=b+-29|0;if(n|0)break;else l=x}m=m+127&127;l=x+127&127;j=E+((x+126&127)<<2)|0;if((m|0)==(x|0))f[j>>2]=f[j>>2]|f[E+(l<<2)>>2];else l=x;f[E+(m<<2)>>2]=n;y=y+9|0}e:while(1){x=l+1&127;y=E+((l+127&127)<<2)|0;v=j;while(1){o=(v|0)==18;w=(v|0)>27?9:1;z=m;while(1){j=0;while(1){m=j+z&127;if((m|0)==(l|0)){D=2;A=88;break}m=f[E+(m<<2)>>2]|0;n=f[6644+(j<<2)>>2]|0;if(m>>>0>>0){D=2;A=88;break}if(m>>>0>n>>>0)break;j=j+1|0;if((j|0)>=2){D=j;A=88;break}}if((A|0)==88?(A=0,o&(D|0)==2):0){n=0;i=0.0;break e}b=w+b|0;if((z|0)==(l|0))z=l;else break}t=(1<>>w;m=z;o=0;n=z;j=v;do{B=E+(n<<2)|0;C=f[B>>2]|0;a=(C>>>w)+o|0;f[B>>2]=a;o=X(C&t,p)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(!o){v=j;continue}if((x|0)!=(m|0))break;f[y>>2]=f[y>>2]|1;v=j}f[E+(l<<2)>>2]=o;l=x}while(1){m=n+z&127;j=l+1&127;if((m|0)==(l|0))f[E+(j+-1<<2)>>2]=0;else j=l;i=i*1.0e9+ +((f[E+(m<<2)>>2]|0)>>>0);n=n+1|0;if((n|0)==2)break;else l=j}s=+(e|0);k=s*i;m=b+53|0;p=m-d|0;o=(p|0)<(c|0);n=o?((p|0)>0?p:0):c;if((n|0)<53){J=+Wp(+Rj(1.0,105-n|0),k);q=+fq(k,+Rj(1.0,53-n|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=z+2&127;if((l|0)!=(j|0)){l=f[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=s*.75+i;break}if((z+3&127|0)==(j|0)){i=s*.5+i;break}else{i=s*.75+i;break}}else{if((l|0)==0?(z+3&127|0)==(j|0):0)break;i=s*.25+i}while(0);if((53-n|0)>1?!(+fq(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((m&2147483647|0)>(-2-F|0)){F=!(+K(+i)>=9007199254740992.0);b=((F^1)&1)+b|0;i=F?i:i*.5;if((b+50|0)<=(G|0)?!(k!=0.0&(o&((n|0)!=(p|0)|F))):0)break;G=eq()|0;f[G>>2]=34}while(0);i=+Xp(i,b)}while(0);u=H;return +i}function qb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=eq()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Bo(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=cm(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=cm(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(20802+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Se(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Cm(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=21266;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=_n(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=21266;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?21266:21268):21267;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=21266;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=21266;i=x;break}case 109:{i=eq()|0;i=Ho(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:21276;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Qk(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=ob(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=21266;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=gm(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?21266:21266+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=ok(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=bi(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=21266;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Go(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Qk(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Go(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Bo(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Qk(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Qk(a,32,i,l,n);Bo(a,j,k);Qk(a,48,i,l,n^65536);Qk(a,48,q,r,0);Bo(a,o,r);Qk(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Se(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function rb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2])>>>0;f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3]>>>0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function sb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+48|0;z=B+36|0;v=B+24|0;y=B+12|0;w=B;if(!(eh(a,c,d)|0)){A=0;u=B;return A|0}e=f[c+4>>2]|0;if((d|0)<=-1)ra(20625,20641,59,20738);g=f[e+8>>2]|0;if(((f[e+12>>2]|0)-g>>2|0)<=(d|0))ra(20748,20641,60,20738);m=f[g+(d<<2)>>2]|0;if((f[m+28>>2]|0)!=9){A=0;u=B;return A|0}r=c+48|0;j=f[r>>2]|0;e=an(32)|0;f[z>>2]=e;f[z+8>>2]=-2147483616;f[z+4>>2]=17;c=e;i=17860;l=c+17|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+17>>0]=0;i=j+16|0;g=f[i>>2]|0;if(g){e=i;c=g;a:while(1){g=c;while(1){if((f[g+16>>2]|0)>=(d|0))break;g=f[g+4>>2]|0;if(!g)break a}c=f[g>>2]|0;if(!c){e=g;break}else e=g}if(((e|0)!=(i|0)?(f[e+16>>2]|0)<=(d|0):0)?(k=e+20|0,(Oh(k,z)|0)!=0):0)s=Bk(k,z,-1)|0;else A=16}else A=16;if((A|0)==16)s=Bk(j,z,-1)|0;if((b[z+11>>0]|0)<0)pq(f[z>>2]|0);if((s|0)<1){A=0;u=B;return A|0}e=f[r>>2]|0;g=an(32)|0;f[z>>2]=g;f[z+8>>2]=-2147483616;f[z+4>>2]=19;c=g;i=17803;l=c+19|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[g+19>>0]=0;j=e+16|0;c=f[j>>2]|0;if(c){g=j;b:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break b;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=28}else A=28;if(!(Oh(e,z)|0))e=0;else{e=f[r>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=an(32)|0;f[v>>2]=g;f[v+8>>2]=-2147483616;f[v+4>>2]=18;c=g;i=17823;l=c+18|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[g+18>>0]=0;j=e+16|0;c=f[j>>2]|0;if(c){g=j;c:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break c;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=38}else A=38;e=(Oh(e,v)|0)!=0;if((b[v+11>>0]|0)<0)pq(f[v>>2]|0)}if((b[z+11>>0]|0)<0)pq(f[z>>2]|0);if(!e){Nd(a+40|0,m,s)|0;A=1;u=B;return A|0}m=m+24|0;e=b[m>>0]|0;g=e<<24>>24;f[y>>2]=0;o=y+4|0;f[o>>2]=0;f[y+8>>2]=0;do if(e<<24>>24)if(e<<24>>24<0)Fp(y);else{k=g<<2;t=an(k)|0;f[y>>2]=t;l=t+(g<<2)|0;f[y+8>>2]=l;cj(t|0,0,k|0)|0;f[o>>2]=l;break}else t=0;while(0);k=f[r>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=an(32)|0;f[w>>2]=e;f[w+8>>2]=-2147483616;f[w+4>>2]=19;c=e;i=17803;l=c+19|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+19>>0]=0;j=b[m>>0]|0;l=j<<24>>24;i=k+16|0;e=f[i>>2]|0;if(e){g=i;d:while(1){c=e;while(1){if((f[c+16>>2]|0)>=(d|0))break;e=f[c+4>>2]|0;if(!e)break d;else c=e}e=f[c>>2]|0;if(!e){g=c;break}else g=c}if(((g|0)!=(i|0)?(f[g+16>>2]|0)<=(d|0):0)?(p=g+20|0,(Oh(p,w)|0)!=0):0){e=Qg(p,w)|0;if((e|0)!=(g+24|0)){dj(z,e+28|0);c=z+11|0;e=b[c>>0]|0;g=e<<24>>24<0;if((g?f[z+4>>2]|0:e&255)|0)if(j<<24>>24>0){e=g?f[z>>2]|0:z;g=0;do{h=$(Mp(e,v));p=e;e=f[v>>2]|0;if((p|0)==(e|0))break;n[t+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(l|0));e=b[c>>0]|0}if(e<<24>>24<0)pq(f[z>>2]|0)}}else A=68}else A=68;if((A|0)==68?(q=Qg(k,w)|0,(q|0)!=(k+4|0)):0){dj(z,q+28|0);c=z+11|0;e=b[c>>0]|0;g=e<<24>>24<0;if((g?f[z+4>>2]|0:e&255)|0)if(j<<24>>24>0){e=g?f[z>>2]|0:z;g=0;do{h=$(Mp(e,v));q=e;e=f[v>>2]|0;if((q|0)==(e|0))break;n[t+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(l|0));e=b[c>>0]|0}if(e<<24>>24<0)pq(f[z>>2]|0)}if((b[w+11>>0]|0)<0)pq(f[w>>2]|0);j=f[r>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;e=an(32)|0;f[z>>2]=e;f[z+8>>2]=-2147483616;f[z+4>>2]=18;c=e;i=17823;l=c+18|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+18>>0]=0;i=j+16|0;g=f[i>>2]|0;if(g){e=i;e:while(1){c=g;while(1){if((f[c+16>>2]|0)>=(d|0))break;g=f[c+4>>2]|0;if(!g)break e;else c=g}g=f[c>>2]|0;if(!g){e=c;break}else e=c}if(((e|0)!=(i|0)?(f[e+16>>2]|0)<=(d|0):0)?(x=e+20|0,(Oh(x,z)|0)!=0):0)h=$(wk(x,z,$(1.0)));else A=90}else A=90;if((A|0)==90)h=$(wk(j,z,$(1.0)));if((b[z+11>>0]|0)<0)pq(f[z>>2]|0);rl(a+40|0,s,f[y>>2]|0,b[m>>0]|0,h);e=f[y>>2]|0;if(e|0){g=f[o>>2]|0;if((g|0)!=(e|0))f[o>>2]=g+(~((g+-4-e|0)>>>2)<<2);pq(e)}A=1;u=B;return A|0}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}ub(t,l,c);a=l+4|0}if((s|0)==82){s=0;ub(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}vb(t,l,c);a=l+4|0}if((s|0)==82){s=0;vb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}wb(t,l,c);a=l+4|0}if((s|0)==82){s=0;wb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}xb(t,l,c);a=l+4|0}if((s|0)==82){s=0;xb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}yb(t,l,c);a=l+4|0}if((s|0)==82){s=0;yb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}zb(t,l,c);a=l+4|0}if((s|0)==82){s=0;zb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Ab(t,l,c);a=l+4|0}if((s|0)==82){s=0;Ab(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Bb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Bb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Cb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Cb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Db(t,l,c);a=l+4|0}if((s|0)==82){s=0;Db(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Eb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Eb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Fb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Fb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Gb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Gb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Hb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Hb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}} +function tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+12|0;o=q;e=cl(c,0)|0;if(!e){f[a>>2]=0;u=q;return}d=f[c+96>>2]|0;c=(f[c+100>>2]|0)-d|0;m=(c|0)/12|0;f[n>>2]=0;p=n+4|0;f[p>>2]=0;f[n+8>>2]=0;if(c){if(m>>>0>357913941)Fp(n);l=an(c)|0;f[n>>2]=l;f[n+8>>2]=l+(m*12|0);cj(l|0,0,c|0)|0;f[p>>2]=l+c;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if((c|0)>0){i=e+68|0;j=o+4|0;k=o+8|0;h=(b[e+84>>0]|0)==0;g=0;do{c=f[d+(g*12|0)>>2]|0;if(h){e=f[i>>2]|0;c=f[e+(c<<2)>>2]|0;f[o>>2]=c;f[j>>2]=f[e+(f[d+(g*12|0)+4>>2]<<2)>>2];e=e+(f[d+(g*12|0)+8>>2]<<2)|0}else{f[o>>2]=c;f[j>>2]=f[d+(g*12|0)+4>>2];e=d+(g*12|0)+8|0}e=f[e>>2]|0;f[k>>2]=e;f[l+(g*12|0)>>2]=c;f[l+(g*12|0)+4>>2]=f[j>>2];f[l+(g*12|0)+8>>2]=e;g=g+1|0}while((g|0)<(m|0))}}else{f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0}jk(a,n);d=f[n>>2]|0;if(d|0){c=f[p>>2]|0;if((c|0)!=(d|0))f[p>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);pq(d)}u=q;return}function uf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=f[l>>2]|0;Jj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;b=f[d>>2]|0;c=f[g>>2]|0;i=b-c>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=c+(h<<2)|0,(b|0)!=(e|0)):0)f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2)}else lh(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];fc(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];fc(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function vf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n;j=f[a+124>>2]|0;if(!j){u=n;return}i=j+-1|0;h=(i&j|0)==0;if(!h)if(j>>>0>g>>>0)k=g;else k=(g>>>0)%(j>>>0)|0;else k=i&g;d=f[(f[a+120>>2]|0)+(k<<2)>>2]|0;if(!d){u=n;return}d=f[d>>2]|0;if(!d){u=n;return}a:do if(h){while(1){j=f[d+4>>2]|0;h=(j|0)==(g|0);if(!(h|(j&i|0)==(k|0))){d=24;break}if(h?(f[d+8>>2]|0)==(g|0):0){l=d;break a}d=f[d>>2]|0;if(!d){d=24;break}}if((d|0)==24){u=n;return}}else{h=d;while(1){d=f[h+4>>2]|0;if((d|0)==(g|0)){if((f[h+8>>2]|0)==(g|0)){l=h;break a}}else{if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0;if((d|0)!=(k|0)){d=24;break}}h=f[h>>2]|0;if(!h){d=24;break}}if((d|0)==24){u=n;return}}while(0);d=f[l+12>>2]|0;if((d|0)==-1){u=n;return}f[m>>2]=d;f[m+4>>2]=c;b[m+8>>0]=e&1;h=a+112|0;d=f[h>>2]|0;if((d|0)==(f[a+116>>2]|0))ni(a+108|0,m);else{f[d>>2]=f[m>>2];f[d+4>>2]=f[m+4>>2];f[d+8>>2]=f[m+8>>2];f[h>>2]=(f[h>>2]|0)+12}u=n;return}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=f[b>>2]|0;l=f[b+4>>2]|0;m=f[b+8>>2]|0;g=f[b+12>>2]|0;j=(((k^318)+239^l)+239^m)+239^g;h=f[a+4>>2]|0;if(!h){n=0;return n|0}d=h+-1|0;c=(d&h|0)==0;if(!c)if(j>>>0>>0)i=j;else i=(j>>>0)%(h>>>0)|0;else i=j&d;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){n=0;return n|0}b=f[b>>2]|0;if(!b){n=0;return n|0}if(c){while(1){e=f[b+4>>2]|0;a=(e|0)==(j|0);if(!(a|(e&d|0)==(i|0))){b=0;e=26;break}if((((a?(f[b+8>>2]|0)==(k|0):0)?(f[b+12>>2]|0)==(l|0):0)?(f[b+16>>2]|0)==(m|0):0)?(f[b+20>>2]|0)==(g|0):0){e=26;break}b=f[b>>2]|0;if(!b){b=0;e=26;break}}if((e|0)==26)return b|0}else n=b;while(1){b=f[n+4>>2]|0;a=(b|0)==(j|0);if(!a){if(b>>>0>=h>>>0)b=(b>>>0)%(h>>>0)|0;if((b|0)!=(i|0)){b=0;e=26;break}if(a)e=22}else e=22;if(((((e|0)==22?(e=0,(f[n+8>>2]|0)==(k|0)):0)?(f[n+12>>2]|0)==(l|0):0)?(f[n+16>>2]|0)==(m|0):0)?(f[n+20>>2]|0)==(g|0):0){b=n;e=26;break}n=f[n>>2]|0;if(!n){b=0;e=26;break}}if((e|0)==26)return b|0;return 0}function xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o+4|0;n=o;k=o+8|0;i=d+11|0;j=b[i>>0]|0;g=j<<24>>24<0;if(g){a=f[d+4>>2]|0;if(a>>>0>255){c=0;u=o;return c|0}}else a=j&255;if(!a){b[k>>0]=0;d=c+16|0;l=f[d+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[d>>2]|0)>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ke(c,m,k,k+1|0)|0}c=1;u=o;return c|0}l=d+4|0;e=f[l>>2]|0;b[k>>0]=g?e:j&255;a=c+16|0;g=a;h=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&h>>>0>0)i=g;else{f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ke(c,m,k,k+1|0)|0;h=a;j=b[i>>0]|0;i=f[h+4>>2]|0;h=f[h>>2]|0;e=f[l>>2]|0}g=j<<24>>24<0;a=g?f[d>>2]|0:d;if(!((i|0)>0|(i|0)==0&h>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ke(c,m,a,a+(g?e:j&255)|0)|0}c=1;u=o;return c|0}function yf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function zf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d[b>>1]|0;n=d[b+2>>1]|0;i=d[b+4>>1]|0;l=(((m^318)&65535)+239^n&65535)+239^i&65535;j=f[a+4>>2]|0;if(!j){p=0;return p|0}e=j+-1|0;c=(e&j|0)==0;if(!c)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;b=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!b){p=0;return p|0}b=f[b>>2]|0;if(!b){p=0;return p|0}if(c){while(1){h=f[b+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){b=0;h=24;break}if(((a?(g=b+8|0,(d[g>>1]|0)==m<<16>>16):0)?(d[g+2>>1]|0)==n<<16>>16:0)?(d[b+12>>1]|0)==i<<16>>16:0){h=24;break}b=f[b>>2]|0;if(!b){b=0;h=24;break}}if((h|0)==24)return b|0}else o=b;while(1){b=f[o+4>>2]|0;a=(b|0)==(l|0);if(!a){if(b>>>0>=j>>>0)b=(b>>>0)%(j>>>0)|0;if((b|0)!=(k|0)){b=0;h=24;break}if(a)h=21}else h=21;if((((h|0)==21?(h=0,p=o+8|0,(d[p>>1]|0)==m<<16>>16):0)?(d[p+2>>1]|0)==n<<16>>16:0)?(d[o+12>>1]|0)==i<<16>>16:0){b=o;h=24;break}o=f[o>>2]|0;if(!o){b=0;h=24;break}}if((h|0)==24)return b|0;return 0}function Af(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;r=u;u=u+48|0;n=r+24|0;o=r+8|0;p=r+4|0;q=r;h=c+4|0;if((f[h>>2]|0)==-1)ra(7389,7164,57,7524);m=e+4|0;ui(a,c,(f[m>>2]|0)-(f[e>>2]|0)>>2,2,g,d);l=f[a>>2]|0;l=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;a=f[h>>2]|0;if((a|0)<=1)ra(11874,11885,60,12006);if((a|0)>=31)ra(12026,11885,61,12006);f[o>>2]=a;a=1<>2]=a+-1;a=a+-2|0;f[o+8>>2]=a;f[o+12>>2]=(a|0)/2|0;a=f[e>>2]|0;if((f[m>>2]|0)==(a|0)){u=r;return}k=d+84|0;h=d+68|0;i=d+48|0;j=d+40|0;g=0;c=0;while(1){a=f[a+(c<<2)>>2]|0;if(!(b[k>>0]|0))a=f[(f[h>>2]|0)+(a<<2)>>2]|0;t=i;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j;s=f[w>>2]|0;a=$m(s|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,v|0,t|0)|0;Rg(n|0,(f[f[d>>2]>>2]|0)+a|0,s|0)|0;Jf(o,n,p,q);f[l+(g<<2)>>2]=f[p>>2];f[l+((g|1)<<2)>>2]=f[q>>2];c=c+1|0;a=f[e>>2]|0;if(c>>>0>=(f[m>>2]|0)-a>>2>>>0)break;else g=g+2|0}u=r;return}function Bf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=u;u=u+80|0;j=i;g=i+64|0;xl(j);k=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Nl(5)|0,d)|0;sj(j,k,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=an(96)|0;nl(h,j);kj(h,c)|0;f[g>>2]=h;Pi(a,g);h=f[g>>2]|0;f[g>>2]=0;if(h|0){k=h+88|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d+8>>2]|0;if(c|0){g=d+12|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;pq(c)}pq(d)}c=f[h+68>>2]|0;if(c|0){g=h+72|0;d=f[g>>2]|0;if((d|0)!=(c|0))f[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}k=h+64|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){g=d+4|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;pq(c)}pq(d)}pq(h)}if(!e){u=i;return}a=f[a+32>>2]|0;b[a+84>>0]=0;c=a+68|0;a=a+72|0;h=f[a>>2]|0;d=f[c>>2]|0;g=h-d>>2;if(g>>>0>>0){lh(c,e-g|0,1532);u=i;return}if(g>>>0<=e>>>0){u=i;return}d=d+(e<<2)|0;if((h|0)==(d|0)){u=i;return}f[a>>2]=h+(~((h+-4-d|0)>>>2)<<2);u=i;return}function Cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=b[c>>0]|0;n=b[c+1>>0]|0;i=b[c+2>>0]|0;l=((m&255^318)+239^n&255)+239^i&255;j=f[a+4>>2]|0;if(!j){p=0;return p|0}e=j+-1|0;d=(e&j|0)==0;if(!d)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;c=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!c){p=0;return p|0}c=f[c>>2]|0;if(!c){p=0;return p|0}if(d){while(1){h=f[c+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){c=0;h=24;break}if(((a?(g=c+8|0,(b[g>>0]|0)==m<<24>>24):0)?(b[g+1>>0]|0)==n<<24>>24:0)?(b[g+2>>0]|0)==i<<24>>24:0){h=24;break}c=f[c>>2]|0;if(!c){c=0;h=24;break}}if((h|0)==24)return c|0}else o=c;while(1){c=f[o+4>>2]|0;a=(c|0)==(l|0);if(!a){if(c>>>0>=j>>>0)c=(c>>>0)%(j>>>0)|0;if((c|0)!=(k|0)){c=0;h=24;break}if(a)h=21}else h=21;if((((h|0)==21?(h=0,p=o+8|0,(b[p>>0]|0)==m<<24>>24):0)?(b[p+1>>0]|0)==n<<24>>24:0)?(b[p+2>>0]|0)==i<<24>>24:0){c=o;h=24;break}o=f[o>>2]|0;if(!o){c=0;h=24;break}}if((h|0)==24)return c|0;return 0}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=f[b>>2]|0;d=f[c>>2]|0;g=d-l>>2;h=a+8|0;b=f[h>>2]|0;i=f[a>>2]|0;j=i;k=d;if(g>>>0<=b-i>>2>>>0){a=a+4|0;h=(f[a>>2]|0)-i>>2;e=g>>>0>h>>>0;h=e?l+(h<<2)|0:d;d=h-l|0;b=d>>2;if(b|0)bm(i|0,l|0,d|0)|0;d=j+(b<<2)|0;if(!e){b=f[a>>2]|0;if((b|0)==(d|0))return;f[a>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}g=f[c>>2]|0;b=h;if((b|0)==(g|0))return;c=f[a>>2]|0;e=g+-4-h|0;d=c;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(g|0))break;else d=d+4|0}f[a>>2]=c+((e>>>2)+1<<2);return}e=i;if(i){d=a+4|0;b=f[d>>2]|0;if((b|0)!=(j|0))f[d>>2]=b+(~((b+-4-i|0)>>>2)<<2);pq(e);f[h>>2]=0;f[d>>2]=0;f[a>>2]=0;b=0}if(g>>>0>1073741823)Fp(a);j=b>>1;b=b>>2>>>0<536870911?(j>>>0>>0?g:j):1073741823;if(b>>>0>1073741823)Fp(a);c=an(b<<2)|0;g=a+4|0;f[g>>2]=c;f[a>>2]=c;f[h>>2]=c+(b<<2);b=l;if((b|0)==(k|0))return;e=k+-4-l|0;d=c;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(k|0))break;else d=d+4|0}f[g>>2]=c+((e>>>2)+1<<2);return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=4194303)ra(19329,19748,356,19359);if(e>>>0>=1073741824)ra(19369,19748,357,19359);d=e+-4194304|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-4177920|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+4194304|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1077936128|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=2097151)ra(19329,19748,356,19359);if(e>>>0>=536870912)ra(19369,19748,357,19359);d=e+-2097152|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-2080768|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+6291456|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1075838976|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=1048575)ra(19329,19748,356,19359);if(e>>>0>=268435456)ra(19369,19748,357,19359);d=e+-1048576|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-1032192|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+7340032|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074790400|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=262143)ra(19329,19748,356,19359);if(e>>>0>=67108864)ra(19369,19748,357,19359);d=e+-262144|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-245760|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8126464|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074003968|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function If(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=131071)ra(19329,19748,356,19359);if(e>>>0>=33554432)ra(19369,19748,357,19359);d=e+-131072|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-114688|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8257536|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1073872896|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=Ka,p=Ka,q=0.0,r=Ka;r=$(n[b>>2]);m=+$(K($(r)));p=$(n[b+4>>2]);m=m+ +$(K($(p)));o=$(n[b+8>>2]);m=m+ +$(K($(o)));h=m>1.0e-06;m=1.0/m;l=f[a+12>>2]|0;q=+(l|0);k=~~+J(+(q*(h?+r*m:1.0)+.5));g=~~+J(+(q*(h?+p*m:0.0)+.5));e=(k|0)>-1;k=e?k:0-k|0;i=l-k-((g|0)>-1?g:0-g|0)|0;b=(i|0)<0;g=(b?((g|0)>0?i:0-i|0):0)+g|0;i=b?0:i;i=(h?+o*m:0.0)<0.0?0-i|0:i;h=(g|0)>-1?g:0-g|0;b=(i|0)>-1?i:0-i|0;if((h+k+b|0)!=(l|0))ra(14240,11885,99,14328);if(!e){if((g|0)>=0)b=(f[a+8>>2]|0)-b|0;if((i|0)<0)k=h;else k=(f[a+8>>2]|0)-h|0}else{b=l+g|0;k=l+i|0}i=(b|0)==0;j=(k|0)==0;e=f[a+8>>2]|0;if(!(k|b)){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}g=(e|0)==(k|0);h=(e|0)==(b|0);if(i&g|j&h){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}if(i&(l|0)<(k|0)){a=0;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(k|0)&h){a=b;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(b|0)&g){a=(l<<1)-b|0;l=k;f[c>>2]=a;f[d>>2]=l;return}else{a=(l|0)<(b|0)&j?(l<<1)-b|0:b;l=k;f[c>>2]=a;f[d>>2]=l;return}}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){cj(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);u=n;return}e=f[a>>2]|0;g=c-e>>2;c=g+b|0;if(c>>>0>1073741823)Fp(a);i=d-e|0;j=i>>1;c=i>>2>>>0<536870911?(j>>>0>>0?c:j):1073741823;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(c)if(c>>>0>1073741823){n=sa(8)|0;to(n,20196);f[n>>2]=7152;wa(n|0,1112,107)}else{d=an(c<<2)|0;break}else d=0;while(0);f[m>>2]=d;g=d+(g<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=g;j=m+12|0;f[j>>2]=d+(c<<2);cj(g|0,0,b<<2|0)|0;f[i>>2]=g+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];_h(m);u=n;return}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(((d-c|0)/12|0)>>>0>=b>>>0){cj(c|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}j=f[a>>2]|0;i=(c-j|0)/12|0;c=i+b|0;k=j;if(c>>>0>357913941)Fp(a);h=(d-j|0)/12|0;g=h<<1;g=h>>>0<178956970?(g>>>0>>0?c:g):357913941;do if(g)if(g>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{h=an(g*12|0)|0;break}else h=0;while(0);d=h+(i*12|0)|0;c=d;h=h+(g*12|0)|0;cj(d|0,0,b*12|0)|0;g=d+(b*12|0)|0;if((e|0)==(k|0))i=j;else{do{j=d+-12|0;b=e;e=e+-12|0;f[j>>2]=0;i=d+-8|0;f[i>>2]=0;f[d+-4>>2]=0;f[j>>2]=f[e>>2];j=b+-8|0;f[i>>2]=f[j>>2];b=b+-4|0;f[d+-4>>2]=f[b>>2];f[b>>2]=0;f[j>>2]=0;f[e>>2]=0;d=c+-12|0;c=d}while((e|0)!=(k|0));i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=c;f[l>>2]=g;f[m>>2]=h;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);pq(g)}}while((e|0)!=(h|0));if(!i)return;pq(i);return}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=32767)ra(19329,19748,356,19359);if(e>>>0>=8388608)ra(19369,19748,357,19359);d=e+-32768|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-16384|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8355840|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{i=e+-1073774592|0;b[a>>0]=i;b[a+1>>0]=i>>>8;b[a+2>>0]=i>>>16;i=4;e=a+3|0;a=h;d=192;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Nf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=Sg(a,b,c,d,g)|0;h=f[e>>2]|0;i=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=h>>>0)Fp(k);j=g;if(l>>>0<=i>>>0)Fp(k);if((f[j+(h<<3)>>2]|0)>>>0>=(f[j+(i<<3)>>2]|0)>>>0)return m|0;f[d>>2]=h;f[e>>2]=i;g=f[d>>2]|0;h=f[c>>2]|0;if(l>>>0<=g>>>0)Fp(k);if(l>>>0<=h>>>0)Fp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+1|0;return m|0}f[c>>2]=g;f[d>>2]=h;g=f[c>>2]|0;h=f[b>>2]|0;if(l>>>0<=g>>>0)Fp(k);if(l>>>0<=h>>>0)Fp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+2|0;return m|0}f[b>>2]=g;f[c>>2]=h;g=f[b>>2]|0;h=f[a>>2]|0;if(l>>>0<=g>>>0)Fp(k);if(l>>>0<=h>>>0)Fp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+3|0;return m|0}f[a>>2]=g;f[b>>2]=h;m=m+4|0;return m|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)ra(19536,19560,46,19667);if((b|0)<=0)ra(19696,19560,47,19667);g=c>>>1&1431655765|c<<1&-1431655766;g=g>>>2&858993459|g<<2&-858993460;g=g>>>4&252645135|g<<4&-252645136;g=g>>>8&16711935|g<<8&-16711936;c=32-b|0;g=(g>>>16|g<<16)>>>c;d=g-(g>>>1&1431655765)|0;d=(d>>>2&858993459)+(d&858993459)|0;d=(X((d>>>4)+d&252645135,16843009)|0)>>>24;i=b-d|0;j=f[a>>2]|0;h=j;i=Mn(f[h>>2]|0,f[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;h=j;f[h>>2]=i;f[h+4>>2]=I;j=j+8|0;h=j;d=Mn(f[h>>2]|0,f[h+4>>2]|0,d|0,0)|0;f[j>>2]=d;f[j+4>>2]=I;j=a+28|0;d=f[j>>2]|0;h=32-d|0;i=a+24|0;do if((h|0)>=(b|0)){e=-1>>>c<>2]&~e|e&g<>2]=e;b=d+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0)){Gi(a+12|0,i);d=0;c=0;break}else{f[c>>2]=e;f[d>>2]=c+4;d=0;c=0;break}}else{e=-1>>>d<>2]&~e|e&g<>2]=e;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0))Gi(a+12|0,i);else{f[c>>2]=e;f[d>>2]=c+4}c=b-h|0;d=c;c=-1>>>(32-c|0)&g>>>h}while(0);f[i>>2]=c;f[j>>2]=d;return}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)bm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Fp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Fp(a);h=an(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)bm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Fp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Fp(a);h=an(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function Rf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+352>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;wi(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Jj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;bg(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;zc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)ra(20748,20641,60,20738);else if((a|0)==11){u=o;return 1}return 0}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=f[b>>2]|0;l=f[b+4>>2]|0;g=f[b+8>>2]|0;j=((k^318)+239^l)+239^g;h=f[a+4>>2]|0;if(!h){m=0;return m|0}d=h+-1|0;c=(d&h|0)==0;if(!c)if(j>>>0>>0)i=j;else i=(j>>>0)%(h>>>0)|0;else i=j&d;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){m=0;return m|0}b=f[b>>2]|0;if(!b){m=0;return m|0}if(c){while(1){e=f[b+4>>2]|0;a=(e|0)==(j|0);if(!(a|(e&d|0)==(i|0))){b=0;e=24;break}if(((a?(f[b+8>>2]|0)==(k|0):0)?(f[b+12>>2]|0)==(l|0):0)?(f[b+16>>2]|0)==(g|0):0){e=24;break}b=f[b>>2]|0;if(!b){b=0;e=24;break}}if((e|0)==24)return b|0}else m=b;while(1){b=f[m+4>>2]|0;a=(b|0)==(j|0);if(!a){if(b>>>0>=h>>>0)b=(b>>>0)%(h>>>0)|0;if((b|0)!=(i|0)){b=0;e=24;break}if(a)e=21}else e=21;if((((e|0)==21?(e=0,(f[m+8>>2]|0)==(k|0)):0)?(f[m+12>>2]|0)==(l|0):0)?(f[m+16>>2]|0)==(g|0):0){b=m;e=24;break}m=f[m>>2]|0;if(!m){b=0;e=24;break}}if((e|0)==24)return b|0;return 0}function Tf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+32|0;e=m;l=a+16|0;d=l;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){u=m;return}i=Mn(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;i=An(i|0,I|0,3)|0;j=I;if(!(b[a+24>>0]|0)){h=a+4|0;e=h}else{n=f[a>>2]|0;g=a+4|0;n=n+((f[g>>2]|0)-n)|0;h=Mn(c|0,d|0,8,0)|0;h=n+(0-h)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;b[e+24>>0]=0;gh(i,j,e)|0;d=e+4|0;c=(f[d>>2]|0)-(f[e>>2]|0)|0;bm(h+c|0,h+8|0,i|0)|0;Rg(h|0,f[e>>2]|0,c|0)|0;h=l;c=Mn(f[h>>2]|0,f[h+4>>2]|0,8-c|0,0)|0;h=l;f[h>>2]=c;f[h+4>>2]=I;h=e+12|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)pq(c);c=f[e>>2]|0;if(c|0){if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}d=l;e=g;c=f[d>>2]|0;d=f[d+4>>2]|0;h=g}e=f[e>>2]|0;n=f[a>>2]|0;g=e-n|0;c=_n(i|0,j|0,c|0,d|0)|0;c=Mn(c|0,I|0,g|0,0)|0;d=n;if(c>>>0<=g>>>0){if(c>>>0>>0?(k=d+c|0,(e|0)!=(k|0)):0)f[h>>2]=k}else xi(a,c-g|0);n=l;f[n>>2]=0;f[n+4>>2]=0;u=m;return}function Uf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+288>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;wi(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Jj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;bg(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;zc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)ra(20748,20641,60,20738);else if((a|0)==11){u=o;return 1}return 0}function Vf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;l=a+36|0;j=a+4|0;i=a+8|0;d=(f[i>>2]|0)-(f[j>>2]|0)>>2;g=a+40|0;b=f[g>>2]|0;c=f[l>>2]|0;e=b-c>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=c+(d<<2)|0,(b|0)!=(h|0)):0)do{e=b+-4|0;f[g>>2]=e;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[g>>2]|0}while((b|0)!=(h|0))}else xg(l,d-e|0);if((f[i>>2]|0)==(f[j>>2]|0)){a=1;u=m;return a|0}d=a+52|0;c=a+48|0;e=0;while(1){Ta[f[(f[a>>2]|0)+56>>2]&15](k,a,e);h=(f[l>>2]|0)+(e<<2)|0;g=f[k>>2]|0;f[k>>2]=0;b=f[h>>2]|0;f[h>>2]=g;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[k>>2]|0;f[k>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[(f[l>>2]|0)+(e<<2)>>2]|0;if(!b){b=0;c=19;break}if(e>>>0<(f[d>>2]|0)>>>0?f[(f[c>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0:0)dp(b);e=e+1|0;if(e>>>0>=(f[i>>2]|0)-(f[j>>2]|0)>>2>>>0){b=1;c=19;break}}if((c|0)==19){u=m;return b|0}return 0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;j=l+4|0;i=l;Rh(f[c+12>>2]|0,b)|0;d=f[c+8>>2]|0;a:do if(d|0){k=b+16|0;h=b+4|0;while(1){e=d;if(!(xf(0,b,e+8|0)|0)){d=0;break}m=e+20|0;g=(f[e+24>>2]|0)-(f[m>>2]|0)|0;Rh(g,b)|0;e=f[m>>2]|0;m=k;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[h>>2];f[j>>2]=f[i>>2];Ke(b,j,e,e+g|0)|0}d=f[d>>2]|0;if(!d)break a}u=l;return d|0}while(0);Rh(f[c+32>>2]|0,b)|0;d=f[c+28>>2]|0;if(!d){n=1;u=l;return n|0}while(1){e=d;if(!(xf(0,b,e+8|0)|0)){d=0;e=10;break}Wf(a,b,f[e+20>>2]|0)|0;d=f[d>>2]|0;if(!d){d=1;e=10;break}}if((e|0)==10){u=l;return d|0}return 0}function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f[a+4>>2]=f[b+4>>2];j=a+8|0;k=b+8|0;if((a|0)==(b|0))return a|0;i=b+12|0;c=f[i>>2]|0;if(!c)c=0;else{h=a+16|0;do if(c>>>0>f[h>>2]<<5>>>0){d=f[j>>2]|0;if(d){pq(d);f[j>>2]=0;f[h>>2]=0;f[a+12>>2]=0;c=f[i>>2]|0}if((c|0)<0)Fp(j);else{e=((c+-1|0)>>>5)+1|0;g=an(e<<2)|0;f[j>>2]=g;f[a+12>>2]=0;f[h>>2]=e;e=f[i>>2]|0;break}}else{e=c;g=f[j>>2]|0}while(0);bm(g|0,f[k>>2]|0,((e+-1|0)>>>5<<2)+4|0)|0;c=f[i>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;do if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){pq(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Fp(h);else{l=((c+-1|0)>>>5)+1|0;m=an(l<<2)|0;f[h>>2]=m;f[a+24>>2]=0;f[e>>2]=l;l=f[g>>2]|0;break}}else{l=c;m=f[h>>2]|0}while(0);bm(m|0,f[i>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function Yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;if(!(eh(a,c,d)|0)){l=0;u=m;return l|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){l=0;u=m;return l|0}i=f[c+48>>2]|0;c=an(32)|0;f[k>>2]=c;f[k+8>>2]=-2147483616;f[k+4>>2]=17;e=c;g=17860;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+17>>0]=0;h=i+16|0;e=f[h>>2]|0;if(e){c=h;a:while(1){g=e;while(1){if((f[g+16>>2]|0)>=(d|0))break;e=f[g+4>>2]|0;if(!e)break a;else g=e}e=f[g>>2]|0;if(!e){c=g;break}else c=g}if(((c|0)!=(h|0)?(f[c+16>>2]|0)<=(d|0):0)?(j=c+20|0,(Oh(j,k)|0)!=0):0)c=Bk(j,k,-1)|0;else l=12}else l=12;if((l|0)==12)c=Bk(i,k,-1)|0;if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);if((c|0)<1){l=0;u=m;return l|0}Oo(a+40|0,c);l=1;u=m;return l|0}function Zf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Ak(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Ak(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Ak(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);pq(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Fp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Fp(a);e=an(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Rg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Rg(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function $f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];ve(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=(c|0)/32|0;bm(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function ag(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;m=q;f[a+52>>2]=e;f[a+44>>2]=g;k=mq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;d=f[l>>2]|0;f[l>>2]=k;if(d|0)nq(d);k=a+36|0;g=f[k>>2]|0;h=f[g+4>>2]|0;i=f[g>>2]|0;d=h-i|0;if((d|0)<=0){u=q;return 1}d=(d>>>2)+-1|0;j=a+8|0;if(h-i>>2>>>0>d>>>0){o=i;p=d}else{i=g;Fp(i)}while(1){f[m>>2]=f[o+(p<<2)>>2];f[n>>2]=f[m>>2];uc(a,n,b,p);o=X(p,e)|0;ai(j,b+(o<<2)|0,f[l>>2]|0,c+(o<<2)|0);p=p+-1|0;if((p|0)<=-1){g=5;break}d=f[k>>2]|0;o=f[d>>2]|0;if((f[d+4>>2]|0)-o>>2>>>0<=p>>>0){g=6;break}}if((g|0)==5){u=q;return 1}else if((g|0)==6)Fp(d);return 0}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823)Fp(a);j=d>>1;d=d>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(d>>>0>1073741823)Fp(a);h=an(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=f[d>>2]|0;m=f[d+4>>2]|0;a:do if((e|0)==(m|0)){n=a+8|0;o=a+12|0;q=0}else{k=f[c>>2]|0;l=a+8|0;j=a+12|0;d=0;b:while(1){h=f[e>>2]|0;i=f[k+(h<<2)>>2]|0;if((i|0)>=(d|0)){d=f[l>>2]|0;c=(f[j>>2]|0)-d|0;if((c|0)>0){g=c>>2;a=0;do{c=f[d+(a<<2)>>2]|0;if(b[c+84>>0]|0)break b;c=f[c+68>>2]|0;f[c+(i<<2)>>2]=f[c+(h<<2)>>2];a=a+1|0}while((a|0)<(g|0))}d=i+1|0}e=e+4|0;if((e|0)==(m|0)){n=l;o=j;q=d;break a}}ra(20060,20079,89,20179)}while(0);c=f[o>>2]|0;d=f[n>>2]|0;if((c-d|0)>0)j=0;else return;do{g=f[d+(j<<2)>>2]|0;b[g+84>>0]=0;h=g+68|0;g=g+72|0;e=f[g>>2]|0;a=f[h>>2]|0;i=e-a>>2;if(q>>>0<=i>>>0){if(q>>>0>>0?(p=a+(q<<2)|0,(e|0)!=(p|0)):0)f[g>>2]=e+(~((e+-4-p|0)>>>2)<<2)}else{lh(h,q-i|0,6108);d=f[n>>2]|0;c=f[o>>2]|0}j=j+1|0}while((j|0)<(c-d>>2|0));return}function dg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;m=q;f[a+52>>2]=e;f[a+44>>2]=g;k=mq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;d=f[l>>2]|0;f[l>>2]=k;if(d|0)nq(d);k=a+36|0;g=f[k>>2]|0;h=f[g+4>>2]|0;i=f[g>>2]|0;d=h-i|0;if((d|0)<=0){u=q;return 1}d=(d>>>2)+-1|0;j=a+8|0;if(h-i>>2>>>0>d>>>0){o=i;p=d}else{i=g;Fp(i)}while(1){f[m>>2]=f[o+(p<<2)>>2];f[n>>2]=f[m>>2];sc(a,n,b,p);o=X(p,e)|0;ai(j,b+(o<<2)|0,f[l>>2]|0,c+(o<<2)|0);p=p+-1|0;if((p|0)<=-1){g=5;break}d=f[k>>2]|0;o=f[d>>2]|0;if((f[d+4>>2]|0)-o>>2>>>0<=p>>>0){g=6;break}}if((g|0)==5){u=q;return 1}else if((g|0)==6)Fp(d);return 0}function eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q;if(!b){c=0;u=q;return c|0}n=b+96|0;m=b+100|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;b=f[m>>2]|0;a=f[n>>2]|0;e=(b-a|0)/12|0;if(e>>>0>=c>>>0){if(e>>>0>c>>>0?(g=a+(c*12|0)|0,(b|0)!=(g|0)):0)f[m>>2]=b+(~(((b+-12-g|0)>>>0)/12|0)*12|0)}else Dg(n,c-e|0,o);if((c|0)<=0){c=1;u=q;return c|0}a=f[n>>2]|0;k=0;do{h=k*3|0;i=f[d+(h<<2)>>2]|0;j=f[d+(h+1<<2)>>2]|0;h=f[d+(h+2<<2)>>2]|0;e=f[m>>2]|0;g=(e-a|0)/12|0;b=a;l=k;k=k+1|0;if((l|0)>=(g|0)){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if(k>>>0<=g>>>0){if(k>>>0>>0?(p=b+(k*12|0)|0,(e|0)!=(p|0)):0)f[m>>2]=e+(~(((e+-12-p|0)>>>0)/12|0)*12|0)}else{Dg(n,k-g|0,o);a=f[n>>2]|0;b=a}}f[b+(l*12|0)>>2]=i;f[b+(l*12|0)+4>>2]=j;f[b+(l*12|0)+8>>2]=h}while((k|0)!=(c|0));a=1;u=q;return a|0}function fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;pq(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Fp(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Fp(a);e=an(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;if((g|0)==(c|0))c=k;else{e=k;while(1){b[e>>0]=b[c>>0]|0;c=c+1|0;if((c|0)==(g|0))break;else e=e+1|0}c=k+(g-j)|0}if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}function gg(a){a=a|0;Uk(a);Uk(a+32|0);Uk(a+64|0);Uk(a+96|0);Uk(a+128|0);Uk(a+160|0);Uk(a+192|0);Uk(a+224|0);Uk(a+256|0);Uk(a+288|0);Uk(a+320|0);Uk(a+352|0);Uk(a+384|0);Uk(a+416|0);Uk(a+448|0);Uk(a+480|0);Uk(a+512|0);Uk(a+544|0);Uk(a+576|0);Uk(a+608|0);Uk(a+640|0);Uk(a+672|0);Uk(a+704|0);Uk(a+736|0);Uk(a+768|0);Uk(a+800|0);Uk(a+832|0);Uk(a+864|0);Uk(a+896|0);Uk(a+928|0);Uk(a+960|0);Uk(a+992|0);Uk(a+1024|0);return}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)ra(20264,20276,110,20374);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))ph(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){Gi(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;pq(e)}pq(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;pq(e)}pq(d)}pq(b);u=j;return}function ig(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n;l=n+4|0;f[m>>2]=c;c=an(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=17;i=c;j=17860;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+17>>0]=0;Hj(Dd(a,m)|0,l,d);if((b[l+11>>0]|0)<0)pq(f[l>>2]|0);c=an(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=19;i=c;j=17803;k=i+19|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+19>>0]=0;ci(Dd(a,m)|0,l,g,e);if((b[l+11>>0]|0)<0)pq(f[l>>2]|0);c=an(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=18;i=c;j=17823;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+18>>0]=0;Cj(Dd(a,m)|0,l,h);if((b[l+11>>0]|0)>=0){u=n;return}pq(f[l>>2]|0);u=n;return}function jg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;s=u;u=u+16|0;r=s+4|0;q=s;n=a+8|0;g=f[n>>2]|0;a=f[g+40>>2]|0;p=mq((a|0)>-1?a:-1)|0;l=c+4|0;h=f[l>>2]|0;e=f[c>>2]|0;if((h|0)==(e|0)){nq(p);u=s;return 1}o=d+16|0;m=d+4|0;k=p+a|0;i=g;j=g;g=0;while(1){a=f[e+(g<<2)>>2]|0;if(!(b[i+84>>0]|0))a=f[(f[i+68>>2]|0)+(a<<2)>>2]|0;t=j+48|0;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j+40|0;i=f[w>>2]|0;a=$m(i|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,v|0,t|0)|0;Rg(p|0,(f[f[j>>2]>>2]|0)+a|0,i|0)|0;j=o;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)a=h;else{f[q>>2]=f[m>>2];f[r>>2]=f[q>>2];Ke(d,r,p,k)|0;e=f[c>>2]|0;a=f[l>>2]|0}g=g+1|0;if(g>>>0>=a-e>>2>>>0)break;j=f[n>>2]|0;i=j;h=a}nq(p);u=s;return 1}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p;d=f[b>>2]|0;f[n>>2]=d;l=a+12|0;c=(d|0)<0;b=d+1|0;do if(!c){f[n+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[n+4>>2]=d;b=d}while(0);f[n+8>>2]=b;j=c?-1073741824:(d>>>0)/3|0;i=a+28|0;k=(f[i>>2]|0)+(j>>>5<<2)|0;f[k>>2]=1<<(j&31)|f[k>>2];k=a+172|0;j=a+176|0;h=a+280|0;c=d;b=0;while(1){if((((c|0)>=0?(o=f[(f[(f[l>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(o|0)>=0):0)?(g=(o>>>0)/3|0,(f[(f[i>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0)?(m=f[k>>2]|0,(f[j>>2]|0)!=(m|0)):0){g=c>>>5;e=1<<(c&31);c=m;a=0;do{d=(f[h>>2]|0)+(a<<5)|0;if(!(e&f[(f[c+(a*108|0)+4>>2]|0)+(g<<2)>>2]))$i(d,0);else $i(d,1);a=a+1|0;c=f[k>>2]|0}while(a>>>0<(((f[j>>2]|0)-c|0)/108|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[n+(b<<2)>>2]|0}u=p;return 1}function lg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;o=e;return o|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;j=a<<24>>24<0;a=j?f[g+20>>2]|0:a&255;i=a>>>0>>0;e=i?a:m;if((e|0)!=0?(o=fl(l,j?f[h>>2]|0:h,e)|0,(o|0)!=0):0)if((o|0)<0)k=8;else k=10;else if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if((e|0)!=0?(n=fl(j?f[h>>2]|0:h,l,e)|0,(n|0)!=0):0){if((n|0)>=0){k=16;break}}else k=12;if((k|0)==12?(0,!i):0){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;o=g;return o|0}else if((k|0)==15){f[c>>2]=g;o=d;return o|0}else if((k|0)==16){f[c>>2]=g;o=d;return o|0}return 0}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{bm(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}h=an(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{pq(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;h=l+8|0;i=l+4|0;g=l;k=a+12|0;j=a+4|0;c=f[j>>2]|0;if((c|0)==(f[a+8>>2]|0)){Gi(a,k);c=f[j>>2]|0}else{f[c>>2]=f[k>>2];c=c+4|0;f[j>>2]=c}d=f[a>>2]|0;f[g>>2]=c-d;e=b+16|0;c=e;m=f[c+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ke(b,h,g,g+4|0)|0;d=f[a>>2]|0;c=f[g>>2]|0;m=e;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ke(b,h,d,d+c|0)|0;d=f[a>>2]|0}}c=f[j>>2]|0;if((c|0)==(d|0)){f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}f[j>>2]=c+(~((c+-4-d|0)>>>2)<<2);f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}function og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Jj(f[a+4>>2]|0,(f[c+56>>2]|0)-(f[c+52>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];mc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];mc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)bm(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Rg(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);pq(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823)Fp(a);m=d>>1;d=d>>2>>>0<536870911?(m>>>0>>0?g:m):1073741823;if(d>>>0>1073741823)Fp(a);e=an(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Rg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function qg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;e=a+24|0;i=f[a+32>>2]|0;if(i>>>0<=16383)ra(19329,19748,356,19359);if(i>>>0>=4194304)ra(19369,19748,357,19359);d=i+-16384|0;do if(d>>>0>=64){g=a+28|0;a=(f[e>>2]|0)+(f[g>>2]|0)|0;if(d>>>0<16384){b[a>>0]=i;h=2;e=a+1|0;a=g;d=i>>>8;break}else{d=i+8372224|0;b[a>>0]=d;b[a+1>>0]=d>>>8;h=3;e=a+2|0;a=g;d=d>>>16;break}}else{a=a+28|0;h=1;e=(f[e>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+h|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;i=m+4|0;j=m;l=m+8|0;k=a+4|0;if((f[k>>2]|0)==-1){l=0;u=m;return l|0}g=f[a+8>>2]|0;h=c+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){e=(f[a+12>>2]|0)-g|0;f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,g,g+e|0)|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;g=a+20|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,g,g+4|0)|0;d=h;e=f[d+4>>2]|0;d=f[d>>2]|0}}b[l>>0]=f[k>>2];if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,l,l+1|0)|0}l=1;u=m;return l|0}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;pq(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Fp(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Fp(a);e=an(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)bm(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{bm(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}h=an(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){pq(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Xf(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{_f(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);_f(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);_f(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];pg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function vg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=f[b>>2]|0;j=f[a>>2]|0;l=f[d>>2]|0;d=f[l>>2]|0;m=(f[l+4>>2]|0)-d>>3;if(m>>>0<=i>>>0)Fp(l);k=d;if(m>>>0<=j>>>0)Fp(l);d=f[k+(i<<3)>>2]|0;e=f[c>>2]|0;if(m>>>0<=e>>>0)Fp(l);h=k+(j<<3)|0;g=(f[k+(e<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[h>>2]|0)>>>0){if(g){f[a>>2]=e;f[c>>2]=j;b=1;return b|0}f[a>>2]=i;f[b>>2]=j;d=f[c>>2]|0;if(m>>>0<=d>>>0)Fp(l);if((f[k+(d<<3)>>2]|0)>>>0>=(f[h>>2]|0)>>>0){b=1;return b|0}f[b>>2]=d;f[c>>2]=j;b=2;return b|0}if(!g){b=0;return b|0}f[b>>2]=e;f[c>>2]=i;d=f[b>>2]|0;e=f[a>>2]|0;if(m>>>0<=d>>>0)Fp(l);if(m>>>0<=e>>>0)Fp(l);if((f[k+(d<<3)>>2]|0)>>>0>=(f[k+(e<<3)>>2]|0)>>>0){b=1;return b|0}f[a>>2]=d;f[b>>2]=e;b=2;return b|0}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;o=r+4|0;q=r;p=a+4|0;c=f[p>>2]|0;m=a+8|0;d=f[m>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[m>>2]=c}l=a+16|0;j=f[l>>2]|0;k=a+20|0;d=f[k>>2]|0;e=j;if((d|0)!=(j|0))f[k>>2]=d+(~((d+-4-e|0)>>>2)<<2);d=f[b>>2]|0;j=f[b+4>>2]|0;if((d|0)==(j|0)){u=r;return}i=a+12|0;h=d;do{d=f[h>>2]|0;f[o>>2]=d;if((c|0)==(f[i>>2]|0)){Gi(p,o);e=f[l>>2]|0}else{f[c>>2]=d;f[m>>2]=c+4}d=f[o>>2]|0;b=f[k>>2]|0;g=b-e>>2;c=e;if((d|0)<(g|0))b=c;else{a=d+1|0;f[q>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(n=c+(a<<2)|0,(b|0)!=(n|0)):0)f[k>>2]=b+(~((b+-4-n|0)>>>2)<<2)}else{lh(l,a-g|0,q);e=f[l>>2]|0;d=f[o>>2]|0;c=e}b=c}c=f[m>>2]|0;f[b+(d<<2)>>2]=(c-(f[p>>2]|0)>>2)+-1;h=h+4|0}while((h|0)!=(j|0));u=r;return}function xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;e=f[m>>2]|0;l=a+4|0;d=f[l>>2]|0;c=d;if(e-d>>2>>>0>=b>>>0){cj(d|0,0,b<<2|0)|0;f[l>>2]=d+(b<<2);return}g=f[a>>2]|0;d=d-g>>2;j=d+b|0;k=g;if(j>>>0>1073741823)Fp(a);i=e-g|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?j:h):1073741823;do if(h)if(h>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{i=an(h<<2)|0;break}else i=0;while(0);e=i+(d<<2)|0;cj(e|0,0,b<<2|0)|0;d=e;b=i+(h<<2)|0;h=i+(j<<2)|0;if((c|0)!=(k|0)){do{c=c+-4|0;j=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=j;e=d+-4|0;d=e}while((c|0)!=(k|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=b;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;pq(g);return}function yg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;o=a+40|0;f[a+44>>2]=g;l=a+36|0;h=f[l>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;d=i-j|0;if((d|0)<=0){u=r;return 1}d=(d>>>2)+-1|0;k=a+8|0;g=a+48|0;if(i-j>>2>>>0>d>>>0){p=j;q=d}else{a=h;Fp(a)}while(1){f[m>>2]=f[p+(q<<2)>>2];f[n>>2]=f[m>>2];nb(o,n,b,q);p=X(q,e)|0;ai(k,b+(p<<2)|0,g,c+(p<<2)|0);q=q+-1|0;if((q|0)<=-1){g=3;break}d=f[l>>2]|0;p=f[d>>2]|0;if((f[d+4>>2]|0)-p>>2>>>0<=q>>>0){g=4;break}}if((g|0)==3){u=r;return 1}else if((g|0)==4)Fp(d);return 0}function zg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=6080;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}$h(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Ji(c);pq(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}pq(b)}Ji(e);pq(e);return}function Ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)ra(19893,19918,63,20001);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))ra(20006,19918,64,20001);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))Gi(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){Gi(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;ze(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=(c|0)/32|0;bm(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Cg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Jj(f[a+4>>2]|0,(f[c+28>>2]|0)-(f[c+24>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];wc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];wc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=f[a>>2]|0;h=(d-g|0)/12|0;d=h+b|0;if(d>>>0>357913941)Fp(a);g=(e-g|0)/12|0;i=g<<1;d=g>>>0<178956970?(i>>>0>>0?d:i):357913941;do if(d)if(d>>>0>357913941){k=sa(8)|0;to(k,20196);f[k>>2]=7152;wa(k|0,1112,107)}else{e=an(d*12|0)|0;break}else e=0;while(0);i=e+(h*12|0)|0;h=e+(d*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Rg(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;pq(d);return}function Eg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;o=a+40|0;f[a+44>>2]=g;l=a+36|0;h=f[l>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;d=i-j|0;if((d|0)<=0){u=r;return 1}d=(d>>>2)+-1|0;k=a+8|0;g=a+48|0;if(i-j>>2>>>0>d>>>0){p=j;q=d}else{a=h;Fp(a)}while(1){f[m>>2]=f[p+(q<<2)>>2];f[n>>2]=f[m>>2];mb(o,n,b,q);p=X(q,e)|0;ai(k,b+(p<<2)|0,g,c+(p<<2)|0);q=q+-1|0;if((q|0)<=-1){g=3;break}d=f[l>>2]|0;p=f[d>>2]|0;if((f[d+4>>2]|0)-p>>2>>>0<=q>>>0){g=4;break}}if((g|0)==3){u=r;return 1}else if((g|0)==4)Fp(d);return 0}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;hg(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}pq(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){rh(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Gg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=an(32)|0;f[a>>2]=g;f[a+4>>2]=c+4;h=a+8|0;b[h>>0]=0;f[g+16>>2]=f[d>>2];i=g+20|0;f[g+24>>2]=0;f[g+28>>2]=0;c=g+24|0;f[i>>2]=c;a=f[d+4>>2]|0;g=d+8|0;if((a|0)==(g|0)){b[h>>0]=1;u=l;return}e=c;do{c=a+16|0;f[j>>2]=e;f[k>>2]=f[j>>2];Xg(i,k,c,c)|0;c=f[a+4>>2]|0;if(!c){c=a+8|0;d=f[c>>2]|0;if((f[d>>2]|0)==(a|0))a=d;else do{d=f[c>>2]|0;c=d+8|0;a=f[c>>2]|0}while((f[a>>2]|0)!=(d|0))}else{a=c;while(1){c=f[a>>2]|0;if(!c)break;else a=c}}}while((a|0)!=(g|0));b[h>>0]=1;u=l;return}function Hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=a+4|0;f[i>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+48>>2]|0;e=an(32)|0;f[j>>2]=e;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=e;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[e+19>>0]=0;d=(Oh(d,j)|0)==0;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);e=f[(f[i>>2]|0)+48>>2]|0;if(d){j=(fi(e)|0)>5&1;b[a+352>>0]=j;u=k;return 1}d=an(32)|0;f[j>>2]=d;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=d;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[d+19>>0]=0;i=(Qj(e,j,0)|0)&1;b[a+352>>0]=i;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);u=k;return 1}function Ig(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;i=a+108|0;d=(f[a+112>>2]|0)-(f[i>>2]|0)|0;g=(d|0)/12|0;e=a+4|0;Rh(g,f[(f[e>>2]|0)+44>>2]|0)|0;if(!d)return 1;a=0;c=0;while(1){j=f[i>>2]|0;d=j+(a*12|0)+4|0;Rh((f[d>>2]|0)-c|0,f[(f[e>>2]|0)+44>>2]|0)|0;Rh((f[d>>2]|0)-(f[j+(a*12|0)>>2]|0)|0,f[(f[e>>2]|0)+44>>2]|0)|0;a=a+1|0;if(a>>>0>=g>>>0)break;else c=f[d>>2]|0}ti(f[(f[e>>2]|0)+44>>2]|0,g,0,0)|0;c=0;do{a=f[(f[e>>2]|0)+44>>2]|0;j=a+16|0;d=f[j+4>>2]|0;if((d|0)>0|(d|0)==0&(f[j>>2]|0)>>>0>0){l=f[a+12>>2]|0;j=l+4|0;a=f[j>>2]|0;k=b[(f[i>>2]|0)+(c*12|0)+8>>0]&1;d=a>>>3;a=a&7;m=(f[l>>2]|0)+d|0;b[m>>0]=(h[m>>0]|0)&(1<>2]|0)+d|0;b[d>>0]=h[d>>0]|0|k<>2]=(f[j>>2]|0)+1}c=c+1|0}while(c>>>0>>0);Tf(f[(f[e>>2]|0)+44>>2]|0);return 1}function Jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+80|0;g=e+36|0;h=e;Kn(g,c);Be(h,b,c);xh(g,h);lj(h+24|0,f[h+28>>2]|0);vj(h+12|0,f[h+16>>2]|0);lj(h,f[h+4>>2]|0);Li(a,g,d);lj(g+24|0,f[g+28>>2]|0);vj(g+12|0,f[g+16>>2]|0);lj(g,f[g+4>>2]|0);u=e;return}function Kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=a+4|0;f[i>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+48>>2]|0;e=an(32)|0;f[j>>2]=e;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=e;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[e+19>>0]=0;d=(Oh(d,j)|0)==0;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);e=f[(f[i>>2]|0)+48>>2]|0;if(d){j=(fi(e)|0)>5&1;b[a+288>>0]=j;u=k;return 1}d=an(32)|0;f[j>>2]=d;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=d;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[d+19>>0]=0;i=(Qj(e,j,0)|0)&1;b[a+288>>0]=i;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);u=k;return 1}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Fp(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{e=an(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;pq(g);return}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+16|0;e=o;j=c+1|0;f[e>>2]=0;n=e+4|0;f[n>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)Fp(e);else{l=an(j<<2)|0;f[e>>2]=l;m=l+(j<<2)|0;f[e+8>>2]=m;cj(l|0,0,(c<<2)+4|0)|0;f[n>>2]=m;k=l;break}else{k=0;l=0;m=0}while(0);if((b|0)>0){e=0;do{p=l+(f[a+(e<<2)>>2]<<2)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+1|0}while((e|0)!=(b|0))}i=+(b|0);if((c|0)<0){e=0;g=0.0}else{b=0;e=0;g=0.0;do{p=f[l+(b<<2)>>2]|0;h=+(p|0);if((p|0)>0){e=e+1|0;g=g+h*+Yg(h/i)}b=b+1|0}while((b|0)!=(j|0))}if(d|0)f[d>>2]=e;i=-g;e=~~i>>>0;b=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;if(!l){I=b;u=o;return e|0}if((m|0)!=(l|0))f[n>>2]=m+(~((m+-4-l|0)>>>2)<<2);pq(k);I=b;u=o;return e|0}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Fp(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{e=an(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){Ji(d);pq(d)}}while((c|0)!=(e|0));if(!g)return;pq(g);return}function Og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;o=q+16|0;n=q+12|0;p=q;f[a>>2]=0;m=a+4|0;f[m>>2]=0;f[a+8>>2]=0;k=c;e=f[k>>2]|0;k=f[k+4>>2]|0;l=f[d+4>>2]|0;c=l-k|0;if(!c){u=q;return}if(c>>>0>357913941)Fp(a);d=an(c*12|0)|0;f[m>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(c*12|0);if((l|0)==(k|0)){u=q;return}j=e+84|0;g=e+68|0;h=p+4|0;i=p+8|0;a=k;do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[j>>0]|0))c=f[(f[g>>2]|0)+(a<<2)>>2]|0;else c=a;f[n>>2]=c;f[o>>2]=f[n>>2];rb(e,o,3,p)|0;f[d>>2]=f[p>>2];f[d+4>>2]=f[h>>2];f[d+8>>2]=f[i>>2];a=a+1|0;d=(f[m>>2]|0)+12|0;f[m>>2]=d}while((a|0)!=(l|0));u=q;return}function Pg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))ra(20748,20641,60,20738);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=ki(c,d)|0;if((b|0)==-2)b=0;else{do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ze(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=an(44)|0;f[b>>2]=1544;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);f[b>>2]=1600}f[a>>2]=b;return}function Qg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=fl(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=fl(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Rg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ea(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Sg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=vg(a,b,c,e)|0;g=f[d>>2]|0;h=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=g>>>0)Fp(j);i=e;if(k>>>0<=h>>>0)Fp(j);if((f[i+(g<<3)>>2]|0)>>>0>=(f[i+(h<<3)>>2]|0)>>>0)return l|0;f[c>>2]=g;f[d>>2]=h;e=f[c>>2]|0;g=f[b>>2]|0;if(k>>>0<=e>>>0)Fp(j);if(k>>>0<=g>>>0)Fp(j);if((f[i+(e<<3)>>2]|0)>>>0>=(f[i+(g<<3)>>2]|0)>>>0){l=l+1|0;return l|0}f[b>>2]=e;f[c>>2]=g;e=f[b>>2]|0;g=f[a>>2]|0;if(k>>>0<=e>>>0)Fp(j);if(k>>>0<=g>>>0)Fp(j);if((f[i+(e<<3)>>2]|0)>>>0>=(f[i+(g<<3)>>2]|0)>>>0){l=l+2|0;return l|0}f[a>>2]=e;f[b>>2]=g;l=l+3|0;return l|0}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=fo(Ba(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=fo(Ba(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Ug(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;d=an(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=17;e=d;g=17755;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+17>>0]=0;h=c+16|0;e=f[h>>2]|0;if(e){d=h;a:while(1){g=e;while(1){if((f[g+16>>2]|0)>=(a|0))break;e=f[g+4>>2]|0;if(!e)break a;else g=e}e=f[g>>2]|0;if(!e){d=g;break}else d=g}if(((d|0)!=(h|0)?(f[d+16>>2]|0)<=(a|0):0)?(i=d+20|0,(Oh(i,k)|0)!=0):0)c=i;else j=10}else j=10;c=Bk(c,k,-1)|0;if((b[k+11>>0]|0)>=0){j=(c|0)==-1;k=c>>>0>6;k=k?-2:c;k=j?-1:k;u=l;return k|0}pq(f[k>>2]|0);j=(c|0)==-1;k=c>>>0>6;k=k?-2:c;k=j?-1:k;u=l;return k|0}function Vg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;vg(a,a+4|0,e,c)|0;d=a+12|0;if((d|0)==(b|0))return;l=f[c>>2]|0;j=f[l>>2]|0;k=(f[l+4>>2]|0)-j>>3;c=e;a:while(1){i=f[d>>2]|0;e=f[c>>2]|0;if(k>>>0<=i>>>0){c=5;break}if(k>>>0<=e>>>0){c=7;break}h=j+(i<<3)|0;if((f[h>>2]|0)>>>0<(f[j+(e<<3)>>2]|0)>>>0){g=d;while(1){f[g>>2]=e;if((c|0)==(a|0)){c=a;break}g=c+-4|0;e=f[g>>2]|0;if(k>>>0<=e>>>0){c=11;break a}if((f[h>>2]|0)>>>0>=(f[j+(e<<3)>>2]|0)>>>0)break;else{m=c;c=g;g=m}}f[c>>2]=i}c=d+4|0;if((c|0)==(b|0)){c=3;break}else{m=d;d=c;c=m}}if((c|0)==3)return;else if((c|0)==5)Fp(l);else if((c|0)==7)Fp(l);else if((c|0)==11)Fp(l)}function Xg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;g=h+8|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=vd(a,e,g,h+4|0,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=an(40)|0;dj(e+16|0,d);dj(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}He(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function Yg(a){a=+a;var b=0,c=0,d=0,e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;p[s>>3]=a;c=f[s>>2]|0;b=f[s+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;b=f[s+4>>2]|0;d=f[s>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;f[s>>2]=d;f[s+4>>2]=(e&1048575)+1072079006;k=+p[s>>3]+-1.0;i=k*k*.5;h=k/(k+2.0);j=h*h;a=j*j;p[s>>3]=k-i;d=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=d;g=+p[s>>3];a=k-g-i+h*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+j*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));j=g*1.4426950407214463;i=+(c+(e>>>20)|0);h=i+j;a=h+(j+(i-h)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function Zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+16|0;l=m;j=a+4|0;f[j>>2]=0;if(!c){u=m;return}i=a+8|0;e=f[i>>2]|0;g=e<<5;if(g>>>0>>0){f[l>>2]=0;k=l+4|0;f[k>>2]=0;h=l+8|0;f[h>>2]=0;if((c|0)<0)Fp(a);e=e<<6;n=c+31&-32;gi(l,g>>>0<1073741823?(e>>>0>>0?n:e):2147483647);e=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=e;l=f[j>>2]|0;f[j>>2]=c;f[k>>2]=l;l=f[i>>2]|0;f[i>>2]=f[h>>2];f[h>>2]=l;if(e|0)pq(e)}else f[j>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){cj(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=m;return}else{cj(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=m;return}}function _g(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(Lo(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Lo(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Va[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Wa[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else ym(0,c,d,e);while(0);return}function $g(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=a+32|0;m=f[a+64>>2]|0;m=(Ma[f[(f[m>>2]|0)+40>>2]&127](m)|0)+52|0;m=f[m>>2]|0;m=(((f[m+100>>2]|0)-(f[m+96>>2]|0)|0)/12|0)*3|0;ti(n,m,((m|0)<0)<<31>>31,1)|0;m=a+68|0;c=f[m>>2]|0;d=(f[a+72>>2]|0)-c|0;if((d|0)<=0){Tf(n);return}l=a+48|0;j=a+44|0;a=(d>>>2)+-1|0;while(1){c=f[c+(a<<2)>>2]|0;d=f[3412+(c<<2)>>2]|0;i=l;g=f[i+4>>2]|0;if((g|0)>0|(g|0)==0&(f[i>>2]|0)>>>0>0?(k=f[j>>2]|0,171>>>c&1|0):0){i=k+4|0;e=f[i>>2]|0;g=0;do{o=e>>>3;p=e&7;q=(f[k>>2]|0)+o|0;b[q>>0]=(h[q>>0]|0)&(1<>2]|0)+o|0;b[o>>0]=h[o>>0]|0|(c>>>g&1)<>2]|0)+1|0;f[i>>2]=e;g=g+1|0}while((g|0)!=(d|0))}a=a+-1|0;if((a|0)<=-1)break;c=f[m>>2]|0}Tf(n);return}function ah(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))ra(20748,20641,60,20738);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=ki(c,d)|0;if((b|0)==-2)b=0;else{do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ue(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=an(24)|0;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b>>2]=2448}f[a>>2]=b;return}function bh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;d=a+4|0;i=f[d>>2]|0;i=(f[i+12>>2]|0)-(f[i+8>>2]|0)|0;b=i>>2;a:do if((i|0)>0){c=0;while(1){if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,c)|0)){b=0;break}c=c+1|0;b=f[d>>2]|0;b=(f[b+12>>2]|0)-(f[b+8>>2]|0)>>2;if((c|0)>=(b|0))break a}return b|0}while(0);i=a+20|0;e=a+24|0;c=f[e>>2]|0;d=f[i>>2]|0;g=c-d>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=d+(b<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else qi(i,b-g|0);c=f[a+12>>2]|0;b=f[a+8>>2]|0;a=b;if((c|0)==(b|0)){i=1;return i|0}h=c-b>>2;g=0;do{c=f[a+(g<<2)>>2]|0;b=f[c+8>>2]|0;c=f[c+4>>2]|0;d=c;if((b|0)!=(c|0)){e=f[i>>2]|0;c=b-c>>2;b=0;do{f[e+(f[d+(b<<2)>>2]<<2)>>2]=g;b=b+1|0}while(b>>>0>>0)}g=g+1|0}while(g>>>0>>0);b=1;return b|0}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;k=o+4|0;l=o;f[a>>2]=1232;n=a+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;f[n+24>>2]=0;f[n+28>>2]=0;f[k>>2]=b;n=a+4|0;m=a+8|0;Gi(n,k);c=f[k>>2]|0;h=a+20|0;d=f[h>>2]|0;i=a+16|0;b=f[i>>2]|0;g=d-b>>2;if((c|0)<(g|0)){k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}e=c+1|0;f[l>>2]=-1;a=d;if(e>>>0<=g>>>0){if(e>>>0>>0?(j=b+(e<<2)|0,(a|0)!=(j|0)):0)f[h>>2]=a+(~((a+-4-j|0)>>>2)<<2)}else{lh(i,e-g|0,l);c=f[k>>2]|0;b=f[i>>2]|0}k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+88|0;ed(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;a=a+88|0;ed(a,b);u=j;return 1}function eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;d=e;if(!(Wk(a,b,c)|0)){a=0;u=e;return a|0}if((Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){a=0;u=e;return a|0}b=Ug(c,f[b+48>>2]|0)|0;Ta[f[(f[a>>2]|0)+48>>2]&15](d,a,b);b=a+36|0;g=f[d>>2]|0;f[d>>2]=0;c=f[b>>2]|0;f[b>>2]=g;if(c){Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c)}else f[d>>2]=0;c=f[b>>2]|0;if(!c){g=1;u=e;return g|0}if(Na[f[(f[a>>2]|0)+36>>2]&127](a,c)|0){g=1;u=e;return g|0}c=f[b>>2]|0;f[b>>2]=0;if(!c){g=1;u=e;return g|0}Ra[f[(f[c>>2]|0)+4>>2]&127](c);g=1;u=e;return g|0}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;g=c-e>>3;c=g+b|0;if(c>>>0>536870911)Fp(a);e=d-e|0;h=e>>2;c=e>>3>>>0<268435455?(h>>>0>>0?c:h):536870911;do if(c)if(c>>>0>536870911){j=sa(8)|0;to(j,20196);f[j>>2]=7152;wa(j|0,1112,107)}else{d=an(c<<3)|0;break}else d=0;while(0);h=d+(g<<3)|0;g=d+(c<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Rg(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;pq(c);return}function gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+4|0;g=j;i=j+8|0;e=a&255;b[i>>0]=e&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=e|-128;e=d+16|0;k=f[e+4>>2]|0;if((k|0)>0|(k|0)==0&(f[e>>2]|0)>>>0>0){a=0;break}else{f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ke(d,h,i,i+1|0)|0;a=An(a|0,c|0,7)|0;a=gh(a,I,d)|0;break}}else{k=d+16|0;e=f[k+4>>2]|0;if((e|0)>0|(e|0)==0&(f[k>>2]|0)>>>0>0){a=0;break}f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ke(d,h,i,i+1|0)|0;k=1;u=j;return k|0}while(0);k=a;u=j;return k|0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Ta[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pq(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}pq(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+108|0;ed(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;a=a+108|0;ed(a,b);u=j;return 1}function jh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((qb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=vq(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=qb(a,c,m,p,q)|0;if(d){Oa[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=qb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)uq(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function kh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=an(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;j=g+8|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Rg(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}xi(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Rg(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+8|0;e=f[l>>2]|0;m=a+4|0;d=f[m>>2]|0;g=d;if(e-d>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[m>>2]=g+(b<<2);return}k=f[a>>2]|0;j=d-k|0;i=j>>2;d=i+b|0;if(d>>>0>1073741823)Fp(a);g=e-k|0;h=g>>1;d=g>>2>>>0<536870911?(h>>>0>>0?d:h):1073741823;do if(d)if(d>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}else{e=an(d<<2)|0;break}else e=0;while(0);h=e+(i<<2)|0;g=e+(d<<2)|0;d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}d=h+(0-i<<2)|0;if((j|0)>0)Rg(d|0,k|0,j|0)|0;f[a>>2]=d;f[m>>2]=h+(b<<2);f[l>>2]=g;if(!k)return;pq(k);return}function mh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Lo(m,e,0)|0){f[o+48>>2]=1;Wa[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Va[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{qi(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(rc(a,n)|0)){a=0;u=o;return a|0}kb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;g=h;if((c|0)<0|((b|0)==0|(d|0)==0)){d=0;u=h;return d|0}a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0)){d=0;u=h;return d|0}e=b+4|0;if(!(f[e>>2]|0)){i=an(52)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);j=i+20|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[i+36>>2]=$(1.0);f[i+40>>2]=0;f[i+44>>2]=0;f[i+48>>2]=0;f[b+4>>2]=i}if((c|0)<=-1)ra(20625,20641,67,20738);a=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;j=an(44)|0;Mb(j,d);f[j+40>>2]=a;a=f[e>>2]|0;f[g>>2]=j;_j(a,g)|0;a=f[g>>2]|0;f[g>>2]=0;if(!a){j=1;u=h;return j|0}Ji(a);pq(a);j=1;u=h;return j|0}function ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){Kf(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;pq(d)}pq(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;pq(d)}pq(c)}pq(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;d=f[l>>2]|0;k=f[a>>2]|0;h=(d-k|0)/12|0;c=h+1|0;j=k;if(c>>>0>357913941)Fp(a);m=a+8|0;i=((f[m>>2]|0)-k|0)/12|0;e=i<<1;e=i>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(e*12|0)|0;break}else g=0;while(0);c=g+(h*12|0)|0;i=g+(e*12|0)|0;f[c>>2]=f[b>>2];f[g+(h*12|0)+4>>2]=f[b+4>>2];f[g+(h*12|0)+8>>2]=f[b+8>>2];e=c+12|0;if((d|0)!=(j|0))do{h=d;d=d+-12|0;f[c+-12>>2]=f[d>>2];f[c+-8>>2]=f[h+-8>>2];f[c+-4>>2]=f[h+-4>>2];c=c+-12|0}while((d|0)!=(j|0));f[a>>2]=c;f[l>>2]=e;f[m>>2]=i;if(!k)return;pq(k);return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;d=f[k>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(d-c>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[l>>2]=e+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Fp(a);e=d-j|0;g=e>>1;c=e>>2>>>0<536870911?(g>>>0>>0?c:g):1073741823;do if(c)if(c>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}else{d=an(c<<2)|0;break}else d=0;while(0);g=d+(h<<2)|0;e=d+(c<<2)|0;c=g;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}c=g+(0-h<<2)|0;if((i|0)>0)Rg(c|0,j|0,i|0)|0;f[a>>2]=c;f[l>>2]=g+(b<<2);f[k>>2]=e;if(!j)return;pq(j);return}function sh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{qi(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Kd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+20>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Kd(a,b);return}function uh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)Fp(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{go(a,d,(e&255)+1|0)|0;pq(d);g=15}}else{c=an(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{go(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){go(c,d,(f[a+4>>2]|0)+1|0)|0;pq(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function vh(a){a=a|0;qj(a+992|0);qj(a+960|0);qj(a+928|0);qj(a+896|0);qj(a+864|0);qj(a+832|0);qj(a+800|0);qj(a+768|0);qj(a+736|0);qj(a+704|0);qj(a+672|0);qj(a+640|0);qj(a+608|0);qj(a+576|0);qj(a+544|0);qj(a+512|0);qj(a+480|0);qj(a+448|0);qj(a+416|0);qj(a+384|0);qj(a+352|0);qj(a+320|0);qj(a+288|0);qj(a+256|0);qj(a+224|0);qj(a+192|0);qj(a+160|0);qj(a+128|0);qj(a+96|0);qj(a+64|0);qj(a+32|0);qj(a);return}function wh(a){a=a|0;cn(a);cn(a+32|0);cn(a+64|0);cn(a+96|0);cn(a+128|0);cn(a+160|0);cn(a+192|0);cn(a+224|0);cn(a+256|0);cn(a+288|0);cn(a+320|0);cn(a+352|0);cn(a+384|0);cn(a+416|0);cn(a+448|0);cn(a+480|0);cn(a+512|0);cn(a+544|0);cn(a+576|0);cn(a+608|0);cn(a+640|0);cn(a+672|0);cn(a+704|0);cn(a+736|0);cn(a+768|0);cn(a+800|0);cn(a+832|0);cn(a+864|0);cn(a+896|0);cn(a+928|0);cn(a+960|0);cn(a+992|0);return}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i+12|0;d=i+8|0;c=i+4|0;e=i;h=(a|0)==(b|0);if(!h){f[c>>2]=f[b>>2];f[e>>2]=b+4;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a,d,g)}if(!h){f[c>>2]=f[b+12>>2];f[e>>2]=b+16;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Cc(a+12|0,d,g)}if(h){u=i;return}f[c>>2]=f[b+24>>2];f[e>>2]=b+28;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a+24|0,d,g);u=i;return}function yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=Mo(f[a+8>>2]|0,o)|0;e=Mo(f[a+12>>2]|0,o)|0;g=Mo(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=Mo(f[a+(g<<2)>>2]|0,o)|0;g=Mo(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Cl(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=Mo(f[a+(e<<2)>>2]|0,o)|0;e=Mo(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;te(g,a+40|0,f[a+8>>2]|0,b,c);Pi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}pq(d);u=e;return 1}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){jd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;jd(a,b);return}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){qd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;qd(a,b);return}function Ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){zd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;zd(a,b);return}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Pd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Pd(a,b);return}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){md(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;md(a,b);return}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){ud(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ud(a,b);return}function Gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Fd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Fd(a,b);return}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){kd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;kd(a,b);return}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){sd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;sd(a,b);return}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ad(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ad(a,b);return}function Kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Qd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Qd(a,b);return}function Lh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k+4|0;i=k;h=f[c+4>>2]|0;if(!h)ra(13158,13407,70,13577);g=f[c+8>>2]|0;if(!g)ra(13158,13407,70,13577);d=f[d>>2]|0;if((d|0)<0)e=-1073741824;else e=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=e>>>0)Fp(d);d=f[g+(f[c+(e<<2)>>2]<<2)>>2]|0;if(!(b[h+84>>0]|0))d=f[(f[h+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[i>>2]=d;g=b[h+24>>0]|0;f[j>>2]=f[i>>2];lb(h,j,g,a)|0;u=k;return}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;Af(g,a+40|0,f[a+8>>2]|0,b,c);Pi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}pq(d);u=e;return 1}function Nh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1408;e=a+72|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+60>>2]|0;if(b|0){d=a+64|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+48>>2]|0;if(b|0)pq(b);d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}pq(b)}f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function Oh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=fl(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=fl(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))ra(12825,11885,259,12849);d=f[c>>2]|0;if((d|0)>(e|0))ra(12863,11885,260,12849);a=0-e|0;if((i|0)<(a|0))ra(12887,11885,261,12849);if((d|0)<(a|0))ra(12912,11885,262,12849);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function Qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i;c=f[b+96>>2]|0;b=(f[b+100>>2]|0)-c|0;e=(b|0)/12|0;f[g>>2]=0;h=g+4|0;f[h>>2]=0;f[g+8>>2]=0;if(b|0){if(e>>>0>357913941)Fp(g);d=an(b)|0;f[g>>2]=d;f[g+8>>2]=d+(e*12|0);cj(d|0,0,b|0)|0;f[h>>2]=d+b;if((b|0)>0){b=c;c=0;do{k=f[b+(c*12|0)+4>>2]|0;j=f[b+(c*12|0)+8>>2]|0;f[d+(c*12|0)>>2]=f[b+(c*12|0)>>2];f[d+(c*12|0)+4>>2]=k;f[d+(c*12|0)+8>>2]=j;c=c+1|0}while((c|0)<(e|0))}}jk(a,g);b=f[g>>2]|0;if(!b){u=i;return}c=f[h>>2]|0;if((c|0)!=(b|0))f[h>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b);u=i;return}function Rh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;b[g>>0]=a&127;do if(a>>>0>127){b[g>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){d=0;break}else{f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ke(c,e,g,g+1|0)|0;d=Rh(a>>>7,c)|0;break}}else{j=c+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){d=0;break}f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ke(c,e,g,g+1|0)|0;j=1;u=h;return j|0}while(0);j=d;u=h;return j|0}function Sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;l=o+4|0;k=o;j=f[a+8>>2]|0;n=j+24|0;m=b[n>>0]|0;e=c+4|0;Bf(a,(f[e>>2]|0)-(f[c>>2]|0)>>2,m,d);i=f[a+32>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;d=f[c>>2]|0;e=f[e>>2]|0;if((d|0)==(e|0)){n=1;u=o;return n|0}h=j+84|0;g=j+68|0;c=0;while(1){a=f[d>>2]|0;if(!(b[h>>0]|0))a=f[(f[g>>2]|0)+(a<<2)>>2]|0;f[k>>2]=a;a=b[n>>0]|0;f[l>>2]=f[k>>2];if(!(sb(j,l,a,i+(c<<2)|0)|0)){d=0;a=7;break}d=d+4|0;if((d|0)==(e|0)){d=1;a=7;break}else c=c+m|0}if((a|0)==7){u=o;return d|0}return 0}function Th(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=u;u=u+48|0;g=h;e=h+32|0;if(!c){g=0;u=h;return g|0}ln(g);if((Zl(c,0)|0)!=-1?Ma[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Ra[f[(f[c>>2]|0)+20>>2]&127](c);Jg(e,a,c,g);a=(f[e>>2]|0)==0;c=e+4|0;if((b[c+11>>0]|0)<0)pq(f[c>>2]|0);if(a){a=f[g>>2]|0;e=g+4|0;fg(d,a,a+((f[e>>2]|0)-a)|0);e=(f[e>>2]|0)-(f[g>>2]|0)|0}else e=0}else e=0;d=g+12|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)pq(c);a=f[g>>2]|0;if(a|0){c=g+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}g=e;u=h;return g|0}function Uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;b=f[b>>2]|0;if((b|0)==-1073741824){h=-1;return h|0}g=f[(f[a+24>>2]|0)+(b<<2)>>2]|0;if((g|0)<0){h=0;return h|0}e=a+12|0;b=0;d=0;a=g;a:while(1){while(1){b=b+1|0;if(d){h=10;break}c=a+1|0;a=((c|0)%3|0|0)==0?a+-2|0:c;if((a|0)<0){a=g;break}c=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=c+1|0;if((c|0)<0){a=g;break}a=((a|0)%3|0|0)==0?c+-2|0:a;if((a|0)<0){a=g;break}if((a|0)==(g|0)){h=16;break a}}do if((h|0)==10){h=0;a=(((a>>>0)%3|0|0)==0?2:-1)+a|0;if((a|0)<0){h=16;break a}a=f[(f[e>>2]|0)+(a<<2)>>2]|0;if((a|0)<0){h=16;break a}if(!((a>>>0)%3|0)){a=a+2|0;break}else{a=a+-1|0;break}}while(0);if((a|0)<0){h=16;break}else d=1}if((h|0)==16)return b|0;return 0}function Vh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=an(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;dj(g+8|0,e);j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Rg(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}xi(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Rg(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){td(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;td(a,b);return}function Xh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=an(16)|0;f[k>>2]=g;f[k+8>>2]=-2147483632;f[k+4>>2]=15;h=g;i=17844;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;g=Bk(c,k,-1)|0;if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);switch(g|0){case -1:{if((fi(c)|0)==10)h=6;else h=5;break}case 1:{h=5;break}default:h=6}if((h|0)==5){g=an(60)|0;qo(g)}else if((h|0)==6){g=an(56)|0;Xo(g)}Yn(g,d);yd(a,g,c,e);Ra[f[(f[g>>2]|0)+4>>2]&127](g);u=l;return}function Yh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;c=a+24|0;Qo(c);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;a=an(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=20;d=a;e=17903;g=d+20|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+20>>0]=0;Ej(c,h,1);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;a=an(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=22;d=a;e=17924;g=d+22|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+22>>0]=0;Ej(c,h,1);if((b[h+11>>0]|0)>=0){u=i;return}pq(f[h>>2]|0);u=i;return}function Zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;k=n+4|0;j=n;l=n+8|0;if(!(oe(a,c)|0)){m=0;u=n;return m|0}m=a+36|0;e=a+40|0;a=f[m>>2]|0;if((f[e>>2]|0)==(a|0)){m=1;u=n;return m|0}i=c+16|0;g=c+4|0;h=l+1|0;d=0;do{a=f[a+(d<<2)>>2]|0;a=Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[l>>0]=a;a=i;o=f[a+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[a>>2]|0)>>>0>0)){f[j>>2]=f[g>>2];f[k>>2]=f[j>>2];Ke(c,k,l,h)|0}d=d+1|0;a=f[m>>2]|0}while(d>>>0<(f[e>>2]|0)-a>>2>>>0);a=1;u=n;return a|0}function _h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}pq(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;pq(b);return}function $h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}pq(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}pq(b);return}function ai(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+16|0;i=m+8|0;j=m;h=f[c>>2]|0;l=f[a+12>>2]<<1;if((h|0)>(l|0))ra(12202,12247,81,12431);e=f[c+4>>2]|0;if((e|0)>(l|0))ra(12449,12247,82,12431);g=f[b>>2]|0;if((g|0)>(l|0))ra(12494,12247,83,12431);c=f[b+4>>2]|0;if((c|0)>(l|0))ra(12539,12247,84,12431);if((h|0)<=-1)ra(12584,12247,85,12431);if((e|0)<=-1)ra(12606,12247,86,12431);if((g|0)<=-1)ra(12628,12247,87,12431);if((c|0)>-1){f[i>>2]=g;f[i+4>>2]=c;f[j>>2]=h;f[j+4>>2]=e;Fe(k,a,i,j);f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];u=m;return}else ra(12650,12247,88,12431)}function bi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function ci(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;l=u;u=u+32|0;j=l+12|0;k=l;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((e|0)>0){g=k+11|0;h=k+4|0;i=0;do{if((i|0)>0)gn(j,17842)|0;Yk(k,$(n[d+(i<<2)>>2]));m=b[g>>0]|0;o=m<<24>>24<0;Vi(j,o?f[k>>2]|0:k,o?f[h>>2]|0:m&255)|0;if((b[g>>0]|0)<0)pq(f[k>>2]|0);i=i+1|0}while((i|0)<(e|0))}Rl(li(a,c)|0,j)|0;if((b[j+11>>0]|0)>=0){u=l;return}pq(f[j>>2]|0);u=l;return}function di(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;u=j;return 1}function ei(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=a+12|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){c=f[i+28>>2]|0;if(c|0)do{h=c;c=f[c>>2]|0;ei(h+8|0);pq(h)}while((c|0)!=0);h=i+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)pq(c);c=f[i+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);pq(g)}while((c|0)!=0);c=f[i>>2]|0;f[i>>2]=0;if(c|0)pq(c);pq(i)}if((b[a+11>>0]|0)>=0)return;pq(f[a>>2]|0);return}function fi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;c=an(16)|0;f[i>>2]=c;f[i+8>>2]=-2147483632;f[i+4>>2]=14;e=c;g=17773;h=e+14|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+14>>0]=0;d=Bk(a,i,-1)|0;if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);c=an(16)|0;f[i>>2]=c;f[i+8>>2]=-2147483632;f[i+4>>2]=14;e=c;g=17788;h=e+14|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+14>>0]=0;c=Bk(a,i,-1)|0;if((b[i+11>>0]|0)>=0){i=(d|0)<(c|0);i=i?c:d;h=(i|0)==-1;i=h?5:i;u=j;return i|0}pq(f[i>>2]|0);i=(d|0)<(c|0);i=i?c:d;h=(i|0)==-1;i=h?5:i;u=j;return i|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)Fp(i);l=((b+-1|0)>>>5)+1|0;k=an(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Bg(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)pq(b);u=j;return}function hi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3568;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);c=a+140|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[a+164>>2]=-1;c=a+168|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;cn(a+200|0);ln(a+232|0);c=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[c>>2]=-1;f[a+320>>2]=-1073741824;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;u=j;return 1}function ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;i=l;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){k=1;u=l;return k|0}j=a+4|0;g=a+20|0;h=a+24|0;e=a+16|0;d=0;while(1){c=f[(f[j>>2]|0)+4>>2]|0;c=Zl(c,Na[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;f[i>>2]=c;if((c|0)==-1)break;a=f[g>>2]|0;if((a|0)==(f[h>>2]|0))Gi(e,i);else{f[a>>2]=c;f[g>>2]=a+4}_k(f[j>>2]|0,f[i>>2]|0)|0;d=d+1|0;if((d|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;k=9;break}}if((k|0)==9){u=l;return a|0}k=0;u=l;return k|0}function ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+48|0;if((fi(f[e>>2]|0)|0)>9){e=0;return e|0}if((Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){e=0;return e|0}d=b+4|0;b=f[d>>2]|0;if((a|0)<=-1)ra(20625,20641,59,20738);c=f[b+8>>2]|0;if(((f[b+12>>2]|0)-c>>2|0)<=(a|0))ra(20748,20641,60,20738);c=(f[c+(a<<2)>>2]|0)+56|0;b=f[c>>2]|0;do if((b|0)==3)if((fi(f[e>>2]|0)|0)<4){e=5;return e|0}else{b=f[c>>2]|0;break}while(0);c=fi(f[e>>2]|0)|0;if((b|0)==1){e=(c|0)<4?6:0;return e|0}if((c|0)>7){e=0;return e|0}if((fi(f[e>>2]|0)|0)>1){e=1;return e|0}else return ((f[(f[d>>2]|0)+80>>2]|0)<40?1:4)|0;return 0}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=lg(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=an(40)|0;dj(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}He(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+32|0;ed(a,h);c=a+80|0;b=f[c>>2]|0;if((b|0?(d=a+84|0,(f[d>>2]|0)>0):0)?(ed(b,h),(f[d>>2]|0)>1):0){b=1;do{ed((f[c>>2]|0)+(b<<5)|0,h);b=b+1|0}while((b|0)<(f[d>>2]|0))}g=a+136|0;e=a+140|0;b=f[g>>2]|0;if((f[e>>2]|0)==(b|0))return;a=0;do{Rh((f[b+(a*12|0)+4>>2]|0)-(f[b+(a*12|0)>>2]|0)>>2,h)|0;b=f[g>>2]|0;c=f[b+(a*12|0)>>2]|0;d=(f[b+(a*12|0)+4>>2]|0)-c>>2;if(d){Lc(c,d,1,h)|0;b=f[g>>2]|0}a=a+1|0}while(a>>>0<(((f[e>>2]|0)-b|0)/12|0)>>>0);return}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;h=f[a>>2]|0;k=(f[i>>2]|0)-h|0;d=(k|0)/12|0;c=d+1|0;if(c>>>0>357913941)Fp(a);j=a+8|0;g=((f[j>>2]|0)-h|0)/12|0;e=g<<1;e=g>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(e*12|0)|0;break}else g=0;while(0);d=g+(d*12|0)|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];c=d+(((k|0)/-12|0)*12|0)|0;if((k|0)>0)Rg(c|0,h|0,k|0)|0;f[a>>2]=c;f[i>>2]=d+12;f[j>>2]=g+(e*12|0);if(!h)return;pq(h);return}function oi(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)Fp(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=an(l)|0;if(g|0)go(k,m,g)|0;if(i|0)go(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)go(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)pq(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;Yo(k+m|0,n);u=o;return}function pi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(ml(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Oa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Oa[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Rg(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){cj(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Fp(a);g=d-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;cj(e|0,0,b<<2|0)|0;c=e+(0-h<<2)|0;if((i|0)>0)Rg(c|0,j|0,i|0)|0;f[a>>2]=c;f[k>>2]=e+(b<<2);f[l>>2]=g+(d<<2);if(!j)return;pq(j);return}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)ra(19536,7958,49,19667);if((b|0)<=0)ra(19696,7958,50,19667);j=a+16|0;g=f[j>>2]|0;h=32-g|0;e=32-b|0;c=c<>2]|0;if((h|0)<(b|0)){g=c>>>e;e=b-h|0;f[j>>2]=e;e=g>>>e|d;f[i>>2]=e;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))Gi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=g<<32-(f[j>>2]|0);return}e=d|c>>>g;f[i>>2]=e;b=g+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))Gi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=0;f[j>>2]=0;return}function si(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+136|0;b=f[g>>2]|0;if(b|0){h=a+140|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+92>>2]|0;if(!b){fj(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);fj(a);return}function ti(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=a+16|0;j=g;i=f[j+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)){a=0;return a|0}b[a+24>>0]=e&1;l=Mn(c|0,d|0,7,0)|0;l=kk(l|0,I|0,8,0)|0;d=I;h=g;f[h>>2]=l;f[h+4>>2]=d;h=a+4|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c|0;j=Mn(i|0,0,8,0)|0;j=e?j:i;d=Mn(j|0,(e?I:0)|0,l|0,d|0)|0;if(d>>>0<=i>>>0){if(d>>>0>>0?(k=c+d|0,(g|0)!=(k|0)):0)f[h>>2]=k}else{xi(a,d-i|0);c=f[a>>2]|0}k=an(8)|0;f[k>>2]=c+j;f[k+4>>2]=0;l=a+12|0;c=f[l>>2]|0;f[l>>2]=k;if(!c){l=1;return l|0}pq(c);l=1;return l|0}function ui(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+64|0;j=i;xl(j);h=f[h+56>>2]|0;c=X(Nl(5)|0,e)|0;sj(j,h,0,e&255,5,0,c,((c|0)<0)<<31>>31,0,0);c=an(96)|0;nl(c,j);f[a>>2]=c;kj(c,d)|0;if(!g){u=i;return}b[c+84>>0]=0;d=c+68|0;a=c+72|0;e=f[a>>2]|0;c=f[d>>2]|0;h=e-c>>2;if(h>>>0>>0){lh(d,g-h|0,1216);u=i;return}if(h>>>0<=g>>>0){u=i;return}c=c+(g<<2)|0;if((e|0)==(c|0)){u=i;return}f[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);u=i;return}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Rd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Rd(a,b);return}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/108|0;if(d>>>0>>0){xe(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*108|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-108;c=f[e+-20>>2]|0;if(c|0){d=e+-16|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}c=f[e+-32>>2]|0;if(c|0){d=e+-28|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}yj(e+-104|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function xi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((e-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}g=f[a>>2]|0;h=d-g|0;d=h+c|0;if((d|0)<0)Fp(a);g=e-g|0;i=g<<1;d=g>>>0<1073741823?(i>>>0>>0?d:i):2147483647;if(!d)e=0;else e=an(d)|0;i=e+h|0;h=e+d|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Rg(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;pq(d);return}function yi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Zm()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1760];yn(23329,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Oa[f[(f[258]|0)+16>>2]&31](1032,d,e)|0;b=f[1760]|0;if(d){i=f[e>>2]|0;i=Ma[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;yn(23243,g)}else{f[i>>2]=b;f[i+4>>2]=a;yn(23288,i)}}yn(23367,h)}function zi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i;e=an(16)|0;f[g>>2]=e;f[g+8>>2]=-2147483632;f[g+4>>2]=14;h=e;j=17773;k=h+14|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));b[e+14>>0]=0;Hj(a,g,c);if((b[g+11>>0]|0)<0)pq(f[g>>2]|0);e=an(16)|0;f[g>>2]=e;f[g+8>>2]=-2147483632;f[g+4>>2]=14;h=e;j=17788;k=h+14|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));b[e+14>>0]=0;Hj(a,g,d);if((b[g+11>>0]|0)>=0){u=i;return}pq(f[g>>2]|0);u=i;return}function Ai(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0.0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=c+11|0;g=b[i>>0]|0;if(g<<24>>24<0)e=f[c+4>>2]|0;else e=g&255;h=+d;while(1){if(g<<24>>24<0)g=f[c>>2]|0;else g=c;p[j>>3]=h;g=hn(g,e+1|0,23240,j)|0;if((g|0)>-1)if(g>>>0>e>>>0)e=g;else break;else e=e<<1|1;uj(c,e,0);g=b[i>>0]|0}uj(c,g,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=k;return}function Bi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1352;d=a+32|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}pq(e)}d=f[a+16>>2]|0;if(!d)return;c=a+20|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function Ci(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+4>>2]=3524;b=f[a+24>>2]|0;if(b|0)pq(b);b=f[a+12>>2]|0;if(!b)return;pq(b);return}function Di(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=hn(e,g+1|0,23237,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;uj(c,g,0);e=b[h>>0]|0}uj(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function Ei(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(lq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=eq()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=eq()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Fi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;d=f[(f[c+4>>2]|0)+4>>2]|0;if(!d){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}if(!(pj(i+12|0,f[c+44>>2]|0,d)|0)){d=an(32)|0;f[h>>2]=d;f[h+8>>2]=-2147483616;f[h+4>>2]=26;c=d;e=19224;g=c+26|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[d+26>>0]=0;f[a>>2]=-1;dj(a+4|0,h);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=i;return}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+4|0;i=f[a>>2]|0;l=(f[j>>2]|0)-i|0;h=l>>2;c=h+1|0;if(c>>>0>1073741823)Fp(a);k=a+8|0;g=(f[k>>2]|0)-i|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;f[e>>2]=f[b>>2];c=e+(0-h<<2)|0;if((l|0)>0)Rg(c|0,i|0,l|0)|0;f[a>>2]=c;f[j>>2]=e+4;f[k>>2]=g+(d<<2);if(!i)return;pq(i);return}function Hi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3368;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);g=a+140|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[a+164>>2]=-1;g=a+168|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;cn(a+200|0);ln(a+232|0);g=a+264|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;b[g+24>>0]=0;return}function Ii(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;if((d|0)<0){j=0;return j|0}j=a+4|0;a=f[j>>2]|0;e=a+4|0;c=f[e>>2]|0;b=f[a>>2]|0;g=c-b>>2;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+(d<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{qi(a,d-g|0);d=f[i>>2]|0}if((d|0)<=0){j=1;return j|0}e=f[j>>2]|0;a=f[e>>2]|0;c=(f[e+4>>2]|0)-a>>2;b=0;while(1){if(c>>>0<=b>>>0){b=10;break}f[a+(b<<2)>>2]=b;b=b+1|0;if((b|0)>=(d|0)){a=1;b=12;break}}if((b|0)==10)Fp(e);else if((b|0)==12)return a|0;return 0}function Ji(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0)do{d=c;c=f[c>>2]|0;g=d+8|0;h=d+20|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){Ji(e);pq(e)}if((b[g+11>>0]|0)<0)pq(f[g>>2]|0);pq(d)}while((c|0)!=0);h=a+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)pq(c);c=f[a+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);pq(g)}while((c|0)!=0);c=f[a>>2]|0;f[a>>2]=0;if(!c)return;pq(c);return}function Ki(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;Uk(a);g=a+84|0;b=f[g>>2]|0;if((b|0)<=0)return;d=b<<5;d=mq(b>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<5)|0;b=d;do{cn(b);b=b+32|0}while((b|0)!=(c|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){c=a+-4|0;b=f[c>>2]|0;if(b|0){b=a+(b<<5)|0;do{b=b+-32|0;qj(b)}while((b|0)!=(a|0))}nq(c)}if((f[g>>2]|0)>0)b=0;else return;do{Uk((f[e>>2]|0)+(b<<5)|0);b=b+1|0}while((b|0)<(f[g>>2]|0));return}function Li(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;g=f[c+36>>2]|0;if(!g){e=an(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;g=e;d=19071;c=g+23|0;do{b[g>>0]=b[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(c|0));b[e+23>>0]=0;f[a>>2]=-1;dj(a+4|0,h);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);u=i;return}e=f[c+40>>2]|0;if(!e){id(a,c,g,d);u=i;return}else{Xh(a,c,e,d);u=i;return}}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}k=f[i>>2]|0;e=an(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;pq(g);return}function Ni(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0;i=u;u=u+16|0;h=i;if(!c){j=0;u=i;return j|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;j=7}}else{j=g+16&-16;a=an(j)|0;f[h>>2]=a;f[h+8>>2]=j|-2147483648;f[h+4>>2]=g;j=7}if((j|0)==7)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;Ol(c,h,e);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);j=1;u=i;return j|0}function Oi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;i=u;u=u+16|0;h=i;if(!c){j=0;u=i;return j|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;j=7}}else{j=g+16&-16;a=an(j)|0;f[h>>2]=a;f[h+8>>2]=j|-2147483648;f[h+4>>2]=g;j=7}if((j|0)==7)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;Ql(c,h,e);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);j=1;u=i;return j|0}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pq(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}pq(d);return}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;g=f[b+12>>2]|0;b=f[b+4>>2]|0;d=h;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));Pg(i,c,g,b,h);e=f[h+24>>2]|0;if(!e){i=f[i>>2]|0;f[a>>2]=i;u=j;return}d=h+28|0;b=f[d>>2]|0;if((b|0)!=(e|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);pq(e);i=f[i>>2]|0;f[a>>2]=i;u=j;return}function Ri(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;Zg(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;Zg(a+12|0,j,d);bg(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,6068);Jj(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Jj(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function Si(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=6488;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=eq()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=jh(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!b){e=0;return e|0}if(f[b+4>>2]|0){e=0;return e|0}a=an(52)|0;Mb(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;d=b+4|0;e=f[d>>2]|0;f[d>>2]=a;if(!e){e=1;return e|0}a=e+40|0;b=f[a>>2]|0;if(b|0){d=e+44|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[d>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Ji(c);pq(c)}c=f[d>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}pq(b)}Ji(e);pq(e);g=1;return g|0}function Ui(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;eo(e,c,d)|0;b[j>>0]=0;Yo(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;oi(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Vi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;j=a+11|0;e=b[j>>0]|0;i=e<<24>>24<0;if(i){h=f[a+4>>2]|0;e=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;e=10}g=h+d|0;if((e-h|0)>>>0>=d>>>0){if(d|0){if(i)e=f[a>>2]|0;else e=a;go(e+h|0,c,d)|0;if((b[j>>0]|0)<0)f[a+4>>2]=g;else b[j>>0]=g;b[k>>0]=0;Yo(e+g|0,k)}}else oi(a,e,g-e|0,h,h,0,d,c);u=l;return a|0}function Wi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){hj(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;tn(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;Yo(e+i|0,k)}u=l;return a|0}function Xi(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;d=a+104|0;j=f[d>>2]|0;if((j|0)!=0?(f[a+108>>2]|0)>=(j|0):0)k=4;else{c=Om(a)|0;if((c|0)>=0){e=f[d>>2]|0;d=a+8|0;if(e){i=f[d>>2]|0;j=f[a+4>>2]|0;d=a+108|0;e=e-(f[d>>2]|0)|0;g=i;if((i-j|0)<(e|0)){i=g;e=j}else{i=j+(e+-1)|0;e=j}}else{g=f[d>>2]|0;i=g;e=f[a+4>>2]|0;d=a+108|0}f[a+100>>2]=i;if(g|0)f[d>>2]=g+1-e+(f[d>>2]|0);d=e+-1|0;if((h[d>>0]|0|0)!=(c|0))b[d>>0]=c}else k=4}if((k|0)==4){f[a+100>>2]=0;c=-1}return c|0}function Yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=Zl(a,Na[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=Zk(f[c>>2]|0,a)|0;d=d+1|0;if(!(Na[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function Zi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}yj(c+-104|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}pq(b);return}function _i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!(Jn(a,b,c)|0)){b=0;return b|0}if(!(Ma[f[(f[a>>2]|0)+52>>2]&127](a)|0)){b=0;return b|0}g=a+4|0;e=a+8|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){b=1;return b|0}d=a+36|0;a=0;while(1){h=f[(f[d>>2]|0)+(a<<2)>>2]|0;if(!(Oa[f[(f[h>>2]|0)+8>>2]&31](h,b,f[c+(a<<2)>>2]|0)|0)){c=0;a=7;break}a=a+1|0;c=f[g>>2]|0;if(a>>>0>=(f[e>>2]|0)-c>>2>>>0){c=1;a=7;break}}if((a|0)==7)return c|0;return 0}function $i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;if(b){e=c+8|0;c=e;c=Mn(f[c>>2]|0,f[c+4>>2]|0,1,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0;d=a+24|0;f[d>>2]=f[d>>2]|1<>2]|0,f[d+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0}d=c+1|0;f[e>>2]=d;if((d|0)!=32)return;d=a+24|0;b=a+16|0;c=f[b>>2]|0;if((c|0)==(f[a+20>>2]|0))Gi(a+12|0,d);else{f[c>>2]=f[d>>2];f[b>>2]=c+4}f[e>>2]=0;f[d>>2]=0;return}function aj(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3820;b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}pq(b);return}function bj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Lo(a,f[c+8>>2]|0,g)|0)){if(Lo(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else ym(0,c,d,e);while(0);return}function cj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function dj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+16|0;e=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;c=f[c+4>>2]|0;if(c>>>0>4294967279)Fp(a);if(c>>>0<11)b[a+11>>0]=c;else{i=c+16&-16;h=an(i)|0;f[a>>2]=h;f[a+8>>2]=i|-2147483648;f[a+4>>2]=c;a=h}go(a,d,c)|0;b[e>>0]=0;Yo(a+c|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=g;return}function ej(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function fj(a){a=a|0;var b=0,c=0,d=0;d=a+80|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<5)|0;do{b=b+-32|0;qj(b)}while((b|0)!=(c|0))}nq(d)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=a+44|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)pq(b);b=f[a+32>>2]|0;if(!b){qj(a);return}c=a+36|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;pq(b);qj(a);return}function gj(a,b){a=a|0;b=b|0;if(!b)return;else{gj(a,f[b>>2]|0);gj(a,f[b+4>>2]|0);lj(b+20|0,f[b+24>>2]|0);pq(b);return}}function hj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)Fp(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=an(k)|0;if(g|0)go(j,l,g)|0;d=e-h-g|0;if(d|0)go(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)pq(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;cg(a,b,c);d=f[a+96>>2]|0;a=(f[a+100>>2]|0)-d|0;if((a|0)<=0)return;b=f[b>>2]|0;c=(a>>>0)/12|0;a=0;do{e=d+(a*12|0)|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+4|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+8|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){xi(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else sg(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Mn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function kj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=an(32)|0,kn(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;pq(e)}pq(d)}e=Nl(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=$m(e|0,d|0,c|0,0)|0;if(!(jj(i,0,g,I)|0)){i=0;return i|0}vk(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function lj(a,c){a=a|0;c=c|0;var d=0;if(!c)return;lj(a,f[c>>2]|0);lj(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)pq(f[d>>2]|0);if((b[a+11>>0]|0)<0)pq(f[a>>2]|0);pq(c);return}function mj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(Lo(a,b,0)|0))if((b|0)!=0?(e=mh(b,1056,1040,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Ua[f[(f[e>>2]|0)+28>>2]&3](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function nj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+16|0;c=g;if(b|0){a=0;u=g;return a|0}b=an(36)|0;no(b,0);f[c>>2]=b;e=a+12|0;d=f[e>>2]|0;if(d>>>0<(f[a+16>>2]|0)>>>0){f[c>>2]=0;f[d>>2]=b;f[e>>2]=d+4}else Lg(a+8|0,c);b=f[c>>2]|0;f[c>>2]=0;if(!b){a=1;u=g;return a|0}Ra[f[(f[b>>2]|0)+4>>2]&127](b);a=1;u=g;return a|0}function oj(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!c){a=0;return a|0}d=c+40|0;g=c+44|0;Rh((f[g>>2]|0)-(f[d>>2]|0)>>2,b)|0;d=f[d>>2]|0;g=f[g>>2]|0;if((d|0)!=(g|0))do{e=f[d>>2]|0;if(e|0){Rh(f[e+40>>2]|0,b)|0;Wf(a,b,e)|0}d=d+4|0}while((d|0)!=(g|0));Wf(a,b,c)|0;a=1;return a|0}function qj(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e;d=c;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}d=f[a>>2]|0;if(!d){u=e;return}c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-8-d|0)>>>3)<<3);pq(d);u=e;return}function rj(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;f=d-e|0;a=a+8|0;if((f|0)>0){d=0-e|0;do{g=b+(f<<2)|0;ai(a,g,g+(d<<2)|0,c+(f<<2)|0);f=f-e|0}while((f|0)>0)}e=e>>>0>1073741823?-1:e<<2;g=mq(e)|0;cj(g|0,0,e|0)|0;ai(a,b,g,c);nq(g);return 1}function sj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function tj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}pq(a);return}function uj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;Yo(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;Yo(a+c|0,h);b[g>>0]=c;break}else Wi(a,c-e|0,d)|0;while(0);u=j;return}function vj(a,b){a=a|0;b=b|0;if(!b)return;else{vj(a,f[b>>2]|0);vj(a,f[b+4>>2]|0);lj(b+20|0,f[b+24>>2]|0);pq(b);return}}function wj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;a=f[a+4>>2]|0;if((a|0)==-1){g=0;u=h;return g|0}b[g>>0]=a;a=c+16|0;i=f[a+4>>2]|0;if(!((i|0)>0|(i|0)==0&(f[a>>2]|0)>>>0>0)){f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ke(c,e,g,g+1|0)|0}i=1;u=h;return i|0}function xj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=k+4|0;f[j>>2]=c;c=an(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=17;e=c;g=17860;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+17>>0]=0;Hj(Dd(a,j)|0,i,d);if((b[i+11>>0]|0)>=0){u=k;return}pq(f[i>>2]|0);u=k;return}function yj(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+12>>2]|0;if(b|0)pq(b);b=f[a>>2]|0;if(!b)return;pq(b);return}function zj(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}b=f[c+(b<<2)>>2]|0;if((b|0)<0){a=0;return a|0}c=a+48|0;if((f[a+52>>2]|0)>>>0<=b>>>0)De(c,b+1|0,0);c=(f[c>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(b&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=b>>>0){a=1;return a|0}dp(f[c+(b<<2)>>2]|0);a=1;return a|0}function Aj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(ml(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Oa[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Bj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;e=u;u=u+16|0;c=e+8|0;b=e+4|0;d=e;f[d>>2]=f[(f[a+4>>2]|0)+80>>2];a=f[a+44>>2]|0;g=a+16|0;h=f[g+4>>2]|0;if((h|0)>0|(h|0)==0&(f[g>>2]|0)>>>0>0){u=e;return 1}f[b>>2]=f[a+4>>2];f[c>>2]=f[b>>2];Ke(a,c,d,d+4|0)|0;u=e;return 1}function Cj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0;g=u;u=u+16|0;e=g;Yk(e,d);a=li(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}uh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;b=f[b>>2]|0;if((b|0)==-1073741824)return 1;c=(b|0)<0?-1073741824:b*3|0;if((c|0)<0)return 1;a=f[a>>2]|0;e=f[a+(c<<2)>>2]|0;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[a+(b<<2)>>2]|0;b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=f[a+(b<<2)>>2]|0;if((e|0)==(d|0))return 1;else return (e|0)==(b|0)|(d|0)==(b|0)|0;return 0}function Ej(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;al(e,d&1);a=li(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}uh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Fj(a){a=a|0;if(!a)return;lj(a+24|0,f[a+28>>2]|0);gj(a+12|0,f[a+16>>2]|0);lj(a,f[a+4>>2]|0);pq(a);return}function Gj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(vq(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Aj(c,a)|0;uq(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Aj(c,a)|0}while(0);return d|0}function Hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;al(e,d);a=li(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}uh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Ij(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2132;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){pq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);pq(a);return}function Jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}j=(f[d>>2]|0)-c|0;h=j>>2;i=an(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Rg(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;pq(c);return}function Kj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1768;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){pq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);pq(a);return}function Lj(a){a=a|0;var b=0,c=0;f[a>>2]=2132;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Mj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Ip(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Nj(a){a=a|0;var b=0,c=0;f[a>>2]=1768;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)Fp(a);g=an(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Rg(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+36|0;e=a+40|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){g=1;return g|0}d=a+60|0;a=c;c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Oa[f[(f[a>>2]|0)+20>>2]&31](a,d,b)|0)){a=0;c=5;break}a=f[g>>2]|0;if(c>>>0>=(f[e>>2]|0)-a>>2>>>0){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Qj(a,c,d){a=a|0;c=c|0;d=d|0;c=Qg(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Rj(a,b){a=+a;b=b|0;var c=0,d=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;c=(d|0)<-1022;b=b+2044|0;b=c?((b|0)>-1022?b:-1022):d;a=c?a*2.2250738585072014e-308:a}}else{a=a*8988465674311579538646525.0e283;c=b+-1023|0;d=(c|0)>1023;b=b+-2046|0;b=d?((b|0)<1023?b:1023):c;a=d?a*8988465674311579538646525.0e283:a}c=vn(b+1023|0,0,52)|0;d=I;f[s>>2]=c;f[s+4>>2]=d;return +(a*+p[s>>3])}function Sj(a){a=a|0;var b=0,c=0,d=0;if(!(f[a+80>>2]|0)){d=0;return d|0}d=a+8|0;c=a+12|0;a=f[d>>2]|0;if(((f[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(tl(a,a)|0)){a=0;b=5;break}a=f[d>>2]|0;if((b|0)>=((f[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function Tj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h;d=an(16)|0;f[e>>2]=d;f[e+8>>2]=-2147483632;f[e+4>>2]=15;g=d;i=17844;j=g+15|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[d+15>>0]=0;Hj(a,e,c);if((b[e+11>>0]|0)>=0){u=h;return}pq(f[e>>2]|0);u=h;return}function Uj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+36|0;d=a+40|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Na[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){a=0;c=4;break}a=f[e>>2]|0;if(c>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;c=4;break}}if((c|0)==4)return a|0;return 0}function Vj(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Wj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a+176>>2]|0;a=f[a+172>>2]|0;g=a;if((d|0)==(a|0))return 0;e=(d-a|0)/108|0;d=0;while(1){if((f[g+(d*108|0)>>2]|0)==(c|0)){a=4;break}a=d+1|0;if(a>>>0>>0)d=a;else{a=6;break}}if((a|0)==4)return ((b[g+(d*108|0)+72>>0]|0)==0?0:g+(d*108|0)+4|0)|0;else if((a|0)==6)return 0;return 0}function Xj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3452;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3476;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Yj(a,b){a=a|0;b=b|0;var c=0;c=f[a+72>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+60;if(!(Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Zj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3232;f[a+40>>2]=1196;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a>>2]=1476;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){Bi(a);pq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);pq(a);return}function _j(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Ng(a+40|0,b);a=1;return a|0}return 0}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Fp(a);e=an(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{Oj(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function ak(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+36|0;d=a+40|0;b=f[e>>2]|0;if((f[d>>2]|0)==(b|0)){e=1;return e|0}c=a+60|0;a=b;b=0;while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){a=0;b=5;break}a=f[e>>2]|0;if(b>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function bk(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=An(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+bk(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3500;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3524;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)pq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)nq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function ek(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[21332+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=21420;e=5;break}}if((e|0)==2)if(!d)d=21420;else{a=21420;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return Op(d,f[c+20>>2]|0)|0}function fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3452;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3476;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b)return;pq(b);return}function gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)pq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)nq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3232;f[a+40>>2]=1196;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a>>2]=1476;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){Bi(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);return}function ik(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3500;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3524;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b)return;pq(b);return}function jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=an(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=nh(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;oj(a);pq(a);return}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=_n(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return _n((Gd(h,g,_n(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function lk(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Ak(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function mk(a){a=a|0;var b=0,c=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)pq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)nq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0;i=u;u=u+128|0;h=i;e=h;g=e+124|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=h+4|0;f[e>>2]=a;g=h+8|0;f[g>>2]=-1;f[h+44>>2]=a;f[h+76>>2]=-1;Lm(h,0);d=+Mc(h,c,1);c=(f[e>>2]|0)-(f[g>>2]|0)+(f[h+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=i;return +d}function ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Um(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=Po(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6040;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+84>>2]|0;if(!b){zg(a);pq(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);zg(a);pq(a);return}function qk(a){a=a|0;var c=0,d=0;d=a+74|0;c=b[d>>0]|0;b[d>>0]=c+255|c;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Oa[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;c=f[a>>2]|0;if(!(c&4)){d=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=d;f[a+4>>2]=d;c=c<<27>>31}else{f[a>>2]=c|32;c=-1}return c|0}function rk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Dc(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){bm(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function tk(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}d=a+8|0;a=a+44|0;while(1){e=f[(f[d>>2]|0)+(f[b>>2]<<2)>>2]|0;b=b+4|0;if(!(Na[f[(f[e>>2]|0)+20>>2]&127](e,f[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 uk(a){a=a|0;var b=0,c=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)pq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)nq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function vk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function wk(a,c,d){a=a|0;c=c|0;d=$(d);c=Qg(a,c)|0;if((c|0)==(a+4|0))return $(d);c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;d=$(+jq(c));return $(d)}function xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){d=(c-d|0)/108|0;c=0;while(1){if((f[e+(c*108|0)>>2]|0)==(b|0))break;c=c+1|0;if(c>>>0>=d>>>0)break a}a=e+(c*108|0)+76|0;return a|0}while(0);a=a+40|0;return a|0}function yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6040;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+84>>2]|0;if(!b){zg(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);zg(a);return}function zk(a,c){a=a|0;c=c|0;c=Qg(a,c)|0;if((c|0)==(a+4|0)){a=0;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=((Mj(c)|0)+1|0)>>>0>1;return a|0}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else xi(a,b-g|0);a=a+24|0;h=a;h=Mn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Bk(a,c,d){a=a|0;c=c|0;d=d|0;c=Qg(a,c)|0;if((c|0)==(a+4|0)){a=d;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;return a|0}function Ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1880;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Ek(a){a=a|0;var b=0;f[a>>2]=2980;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2300;qj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+4>>2]|0;if(!b){pq(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Hk(a){a=a|0;var b=0;f[a>>2]=2616;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Ik(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Lo(a,f[b+8>>2]|0,g)|0)ej(0,b,c,d,e);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Jk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1936;qj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Kk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function Lk(a){a=a|0;var b=0,c=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Mk(a){a=a|0;var b=0;f[a>>2]=2980;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b)return;pq(b);return}function Nk(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;uj(a,c,0);return}function Ok(a){a=a|0;var b=0,c=0;f[a>>2]=1880;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function Qk(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;cj(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Bo(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Bo(a,f,e)}u=g;return}function Rk(a){a=a|0;var b=0;f[a>>2]=2616;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b)return;pq(b);return}function Sk(a){a=a|0;var b=0,c=0;f[a>>2]=2300;qj(a+108|0);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function Tk(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Uk(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e;d=b;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,b);b=f[a+12>>2]|0;d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+24>>2]=0;f[a+28>>2]=0;u=e;return}function Vk(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}c=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;b=f[c+32>>2]|0;if(b|0){a=b;return a|0}a=f[c+8>>2]|0;return a|0}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else ra(20748,20641,60,20738);return 0}function Xk(a){a=a|0;var b=0,c=0;f[a>>2]=1936;qj(a+108|0);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function Yk(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;Nk(d);Ai(a,d,b);ao(d);u=c;return}function Zk(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[c>>2]|0)+36>>2]&127](c,b)|0;return c|0}function _k(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function $k(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Lo(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function al(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Nk(d);Di(a,d,b);ao(d);u=c;return}function bl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((fo(Aa(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function cl(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function dl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){a=-1;return a|0}d=f[d+(b<<2)>>2]|0;if((d|0)<0){a=-1;return a|0}a=f[(f[(f[(f[a+36>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return a|0}function fl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function gl(a){a=a|0;var b=0,c=0,d=0;c=f[a>>2]|0;d=a+4|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+12>>2]=0;f[a+16>>2]=0;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function hl(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;a=(f[a+20>>2]|0)-(f[a+16>>2]|0)>>2;return a|0}function il(a){a=a|0;if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}a=(f[a+36>>2]|0)!=0;return a|0}function jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;ch(a,c);f[a>>2]=1408;d=a+72|0;c=a+36|0;a=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(a|0));a=f[b>>2]|0;f[b>>2]=0;f[d>>2]=a;return}function kl(a){a=a|0;var b=0,c=0;f[a>>2]=3036;b=f[a+56>>2]|0;if(b|0)pq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){pq(a);return}nq(b);pq(a);return}function ll(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function ml(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function nl(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function ol(a){a=a|0;var b=0,c=0;f[a>>2]=2672;b=f[a+56>>2]|0;if(b|0)pq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){pq(a);return}nq(b);pq(a);return}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=e-c|0;if(b>>>0>d>>>0){xi(a,b-d|0);return}if(b>>>0>=d>>>0)return;c=c+b|0;if((e|0)==(c|0))return;f[g>>2]=c;return}function ql(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function rl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Pf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function sl(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;za(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;za(12);return -1}return b|0}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];a=ec(a,b,d)|0;u=c;return a|0}function ul(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function vl(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(vq(d)|0)==0;a=pi(a,e,d)|0;if(!g)uq(d)}else a=pi(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function xl(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function yl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function zl(a,b){a=a|0;b=b|0;if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Al(a){a=a|0;var b=0;f[a>>2]=3036;b=f[a+56>>2]|0;if(b|0)pq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nq(b);return}function Bl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+40>>2]=c;a=1;return a|0}function Cl(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a+8>>2]=b;f[a+12>>2]=0;ln(a+16|0);f[a+48>>2]=d;if(d>>>0<7){f[a>>2]=c;n[a+4>>2]=$(0.0);return}else ra(20408,20436,38,20571)}function El(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Lo(a,f[b+8>>2]|0,g)|0)ej(0,b,c,d,e);return}function Fl(a){a=a|0;var b=0;f[a>>2]=2672;b=f[a+56>>2]|0;if(b|0)pq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nq(b);return}function Gl(a){a=a|0;var b=0,c=0;f[a>>2]=1476;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Bi(a);pq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);pq(a);return}function Hl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Il(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Jl(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Zg(a+20|0,e,d);u=c;return}function Kl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+60>>2]=c;a=1;return a|0}function Ll(){var a=0,b=0;a=an(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Ml(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Zg(a+20|0,e,d);u=c;return}function Nl(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 Ol(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;Wb(a,b,e);u=d;return}function Pl(a){a=a|0;f[a>>2]=3544;Ci(a+8|0);pq(a);return}function Ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;_b(a,b,e);u=d;return}function Rl(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Ui(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Tl(a){a=a|0;var b=0,c=0;f[a>>2]=3296;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){aj(a);pq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);aj(a);pq(a);return}function Ul(a,b){a=+a;b=+b;var c=0,d=0;p[s>>3]=a;d=f[s>>2]|0;c=f[s+4>>2]|0;p[s>>3]=b;c=f[s+4>>2]&-2147483648|c&2147483647;f[s>>2]=d;f[s+4>>2]=c;return +(+p[s>>3])}function Vl(a){a=a|0;var b=0,c=0;f[a>>2]=1476;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Bi(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);return}function Wl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ra(12038,8866,76,17860);return 0}function Xl(a,b){a=a|0;b=b|0;var c=0,d=0;d=Vj(b)|0;c=an(d+13|0)|0;f[c>>2]=d;f[c+4>>2]=d;f[c+8>>2]=0;c=hp(c)|0;Rg(c|0,b|0,d+1|0)|0;f[a>>2]=c;return}function Yl(a){a=a|0;f[a>>2]=3544;Ci(a+8|0);return}function Zl(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function _l(a){a=a|0;var b=0,c=0;f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function $l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Lo(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);return}function am(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function bm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Rg(a,c,d)|0;return a|0}function cm(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function dm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1196;b=f[a+8>>2]|0;if(!b){pq(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function em(a){a=a|0;var b=0;f[a>>2]=3092;b=f[a+56>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function fm(a){a=a|0;var b=0,c=0;f[a>>2]=3296;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){aj(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);aj(a);return}function gm(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[21314+(a&15)>>0]|0|e;a=An(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Oa[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function im(){var a=0,b=0;b=Zm()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)ko(f[a+12>>2]|0);ko(tp()|0)}function jm(a){a=a|0;var b=0;f[a>>2]=2728;b=f[a+56>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function km(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function lm(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function mm(a){a=a|0;var b=0,c=0;if(Up(a)|0?(b=pp(f[a>>2]|0)|0,c=b+8|0,a=f[c>>2]|0,f[c>>2]=a+-1,(a+-1|0)<0):0)pq(b);return}function nm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function om(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return af(a,b,c,d,e,f,5)|0}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return af(a,b,c,d,e,f,9)|0}function rm(a){a=a|0;$n(a);f[a>>2]=3232;f[a+40>>2]=1196;f[a+44>>2]=-1;a=a+48|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function sm(a){a=a|0;var b=0,c=0;f[a>>2]=1196;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function tm(a){a=a|0;var c=0;f[a>>2]=1352;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function um(a){a=a|0;f[a>>2]=3092;a=f[a+56>>2]|0;if(!a)return;pq(a);return}function vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);ig(a,b,c,d,e,f);return}function wm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function xm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14369,14740,64,14380);return 0}function ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function zm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14369,13962,63,14380);return 0}function Am(a){a=a|0;f[a>>2]=2728;a=f[a+56>>2]|0;if(!a)return;pq(a);return}function Bm(a){a=a|0;var b=0;f[a>>2]=3476;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Cm(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=An(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Rg(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Em(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-8-c|0)>>>3)<<3);pq(c);return}function Fm(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function Gm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14369,15084,68,14380);return 0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;return Oa[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Im(a){a=a|0;var c=0;xl(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Jm(a){a=a|0;f[a>>2]=3148;qj(a+88|0);pq(a);return}function Km(a){a=a|0;var b=0;f[a>>2]=3524;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function Mm(a,b){a=a|0;b=b|0;b=f[b>>2]|0;return (1<<(b&31)&f[(f[a+28>>2]|0)+(b>>>5<<2)>>2]|0)!=0|0}function Nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);vm(a,b,c,d,e,f);return}function Om(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;if((qk(a)|0)==0?(Oa[f[a+32>>2]&31](a,b,1)|0)==1:0)b=h[b>>0]|0;else b=-1;u=c;return b|0}function Pm(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;pq(b)}pq(a);return}function Qm(a){a=a|0;f[a>>2]=2784;qj(a+88|0);pq(a);return}function Rm(a){a=a|0;f[a>>2]=3148;qj(a+88|0);return}function Sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return pm(a,b,c,d,e,f)|0}function Tm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qm(a,b,c,d,e,f)|0}function Um(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Gd(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Vm(a,b,c){a=a|0;b=b|0;c=c|0;Xb(a,b,c);return}function Wm(a){a=a|0;var b=0;f[a>>2]=3476;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b)return;pq(b);return}function Xm(a){a=a|0;f[a>>2]=2784;qj(a+88|0);return}function Ym(a){a=a|0;Gn(a);f[a>>2]=6040;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Zm(){var a=0,b=0;a=u;u=u+16|0;if(!(Ha(24376,3)|0)){b=Fa(f[6095]|0)|0;u=a;return b|0}else yn(23518,a);return 0}function _m(a){a=a|0;var b=0;f[a>>2]=3524;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b)return;pq(b);return}function $m(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=Sl(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function an(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0)break;a=rp()|0;if(!a){a=0;break}Qa[a&3]()}return a|0}function bn(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=sq(f[a+60>>2]|0)|0;f[c>>2]=a;a=fo(Ca(6,c|0)|0)|0;u=b;return a|0}function cn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function dn(a){a=a|0;var b=0;b=u;u=u+16|0;pc(a);if(!(Ia(f[6095]|0,0)|0)){u=b;return}else yn(23617,b)}function en(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function fn(a,b){a=a|0;b=b|0;return rg(a+40|0,b)|0}function gn(a,b){a=a|0;b=b|0;return Vi(a,b,Qp(b)|0)|0}function hn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Si(a,b,c,g)|0;u=e;return d|0}function jn(a,b){a=a|0;b=b|0;return wj(a+40|0,b)|0}function kn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function ln(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function mn(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 Pa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return oh(a,b,c,d)|0}function on(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+24>>2]&127](a,b)|0}function pn(){var a=0;a=u;u=u+16|0;if(!(Ga(24380,110)|0)){u=a;return}else yn(23567,a)}function qn(a,b,c){a=a|0;b=b|0;c=c|0;xj(a,b,c);return}function rn(a){a=a|0;Qe(a);pq(a);return}function sn(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 tn(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)cj(a|0,(Pp(c)|0)&255|0,b|0)|0;return a|0}function un(a){a=a|0;return 4}function vn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Na[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function xn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function yn(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[1529]|0;jh(b,a,c)|0;Gj(10,b)|0;Da()}function zn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Bn(a){a=a|0;var b=0;f[a>>2]=3820;a=a+4|0;b=a+44|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Cn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ae(a,b,c,d)|0}function Dn(a){a=a|0;Re(a);pq(a);return}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Ni(a,b,c,d)|0}function Fn(a){a=a|0;return 5}function Gn(a){a=a|0;var b=0;f[a>>2]=6080;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Hn(a){a=a|0;return 6}function In(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oi(a,b,c,d)|0}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Kn(a,b){a=a|0;b=b|0;Yh(a);f[a+36>>2]=b;f[a+40>>2]=b;return}function Ln(){}function Mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Nn(a,b){a=a|0;b=b|0;if(!b)b=0;else b=yh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function On(a,b,c){a=a|0;b=b|0;c=c|0;qn(a,b,c);return}function Pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return eg(a,b,c,d)|0}function Qn(a,b,c){a=a|0;b=b|0;c=c|0;return Th(a,b,c)|0}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;return Ti(a,b,c)|0}function Sn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va[a&3](b|0,c|0,d|0,e|0,f|0)}function Tn(a,b,c){a=a|0;b=b|0;c=c|0;zi(a,b,c);return}function Un(a){a=a|0;a=f[a+56>>2]|0;return Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Vn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Wn(a){a=a|0;a=f[a+56>>2]|0;return Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0}function Xn(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Yn(a,b){a=a|0;b=b|0;f[a+52>>2]=b;Oo(a,b);return}function Zn(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function _n(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 (I=d,a-c>>>0|0)|0}function $n(a){a=a|0;tm(a);f[a>>2]=1476;f[a+36>>2]=0;return}function ao(a){a=a|0;if((b[a+11>>0]|0)<0)pq(f[a>>2]|0);return}function bo(a){a=a|0;if(!a)return;Ra[f[(f[a>>2]|0)+4>>2]&127](a);return}function co(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ua[a&3](b|0,c|0,d|0,e|0)}function eo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)bm(a|0,b|0,c|0)|0;return a|0}function fo(a){a=a|0;var b=0;if(a>>>0>4294963200){b=eq()|0;f[b>>2]=0-a;a=-1}return a|0}function go(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Rg(a|0,b|0,c|0)|0;return a|0}function ho(a,b){a=a|0;b=b|0;return -1}function io(a,b){a=a|0;b=b|0;lo(a,b);return}function jo(a){a=a|0;if(!a)a=0;else a=(mh(a,1056,1144,0)|0)!=0;return a&1|0}function ko(a){a=a|0;var b=0;b=u;u=u+16|0;Qa[a&3]();yn(23670,b)}function lo(a,b){a=a|0;b=b|0;Tj(a,b);return}function mo(a){a=a|0;Nh(a);pq(a);return}function no(a,b){a=a|0;b=b|0;ch(a,b);f[a>>2]=1292;return}function oo(a,b,c){a=a|0;b=b|0;c=c|0;vo(a,b,c);return}function po(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function qo(a){a=a|0;xo(a);f[a>>2]=3296;f[a+56>>2]=0;return}function ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa[a&31](b|0,c|0,d|0)|0}function so(a,b){a=a|0;b=b|0;return (_o(a,b)|0)<<24>>24|0}function to(a,b){a=a|0;b=b|0;f[a>>2]=7132;Xl(a+4|0,b);return}function uo(a){a=a|0;return f[a+12>>2]|0}function vo(a,b,c){a=a|0;b=b|0;c=c|0;Tn(a,b,c);return}function wo(){var a=0;a=an(64)|0;xl(a);return a|0}function xo(a){a=a|0;Bn(a);f[a>>2]=3652;f[a+52>>2]=0;return}function yo(a){a=a|0;if(!a)return;Ji(a);pq(a);return}function zo(a){a=a|0;return Ma[f[(f[a>>2]|0)+60>>2]&127](a)|0}function Ao(a){a=a|0;return f[a+4>>2]|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))pi(b,c,a)|0;return}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&15](b|0,c|0,d|0)}function Do(){var a=0;a=an(96)|0;Im(a);return a|0}function Eo(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Fo(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Go(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Ei(a,b,0)|0;return a|0}function Ho(a){a=a|0;var b=0;b=(lq()|0)+188|0;return ek(a,f[b>>2]|0)|0}function Io(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Jo(){var a=0;a=an(12)|0;So(a);return a|0}function Ko(a){a=a|0;Bi(a);pq(a);return}function Lo(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Mo(a,b){a=a|0;b=b|0;var c=0;c=Wo(a|0)|0;return ((b|0)==0?a:c)|0}function No(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Oo(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gd(a,b,c,d,0)|0}function Qo(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Ro(){var a=0;a=an(84)|0;Gn(a);return a|0}function So(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function To(a){a=a|0;f[a>>2]=7132;mm(a+4|0);return}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a&127](b|0,c|0)|0}function Vo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Wo(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Xo(a){a=a|0;xo(a);f[a>>2]=3724;return}function Yo(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Zo(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function _o(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function $o(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function ap(a){a=a|0;if(!a)return;pq(a);return}function bp(){var a=0;a=an(1)|0;uq(a);return a|0}function cp(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function dp(a){a=a|0;b[a+28>>0]=1;return}function ep(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function fp(a){a=a|0;Yh(a);return}function gp(a,b){a=a|0;b=b|0;return 1}function hp(a){a=a|0;return a+12|0}function ip(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function jp(a,b,c){a=a|0;b=b|0;c=c|0;Sa[a&7](b|0,c|0)}function kp(){var a=0;a=an(36)|0;Vp(a);return a|0}function lp(a){a=a|0;return Kp(a+4|0)|0}function mp(){var a=0;a=an(108)|0;Ym(a);return a|0}function np(a){a=a|0;aj(a);pq(a);return}function op(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function pp(a){a=a|0;return a+-12|0}function qp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function rp(){var a=0;a=f[6096]|0;f[6096]=a+0;return a|0}function sp(a){a=a|0;return f[a+56>>2]|0}function tp(){var a=0;a=f[1759]|0;f[1759]=a+0;return a|0}function up(a){a=a|0;zg(a);pq(a);return}function vp(a){a=a|0;uq(a);pq(a);return}function wp(a){a=a|0;return b[a+24>>0]|0}function xp(a,b){a=a|0;b=b|0;return 0}function yp(a){a=a|0;return f[a+40>>2]|0}function zp(a){a=a|0;return f[a+48>>2]|0}function Ap(a,b){a=a|0;b=b|0;return Ma[a&127](b|0)|0}function Bp(a){a=a|0;return f[a+60>>2]|0}function Cp(a){a=a|0;return f[a+28>>2]|0}function Dp(a){a=a|0;ta(a|0)|0;im()}function Ep(a){a=a|0;To(a);pq(a);return}function Fp(a){a=a|0;Da()}function Gp(a){a=a|0;return 3}function Hp(a,b){a=a|0;b=b|0;u=a;v=b}function Ip(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Jp(a){a=a|0;return f[a+80>>2]|0}function Kp(a){a=a|0;return f[a>>2]|0}function Lp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Mp(a,b){a=a|0;b=b|0;return $(+nk(a,b,0))}function Np(a,b){a=a|0;b=b|0;Ra[a&127](b|0)}function Op(a,b){a=a|0;b=b|0;return Nn(a,b)|0}function Pp(a){a=a|0;return a&255|0}function Qp(a){a=a|0;return Vj(a)|0}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Sp(a){a=a|0;return 2}function Tp(a,b){a=a|0;b=b|0;return +(+nk(a,b,1))}function Up(a){a=a|0;return 1}function Vp(a){a=a|0;fp(a);return}function Wp(a,b){a=+a;b=+b;return +(+Ul(a,b))}function Xp(a,b){a=+a;b=b|0;return +(+Rj(a,b))}function Yp(a,b){a=+a;b=b|0;return +(+bk(a,b))}function Zp(){return 3}function _p(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function $p(){return 0}function aq(){return -1}function bq(){return 4}function cq(){return 1}function dq(){return 2}function eq(){return (lq()|0)+64|0}function fq(a,b){a=+a;b=+b;return +(+Od(a,b))}function gq(a,b){a=a|0;b=b|0;aa(1);return 0}function hq(a){a=a|0;Qa[a&3]()}function iq(){va()}function jq(a){a=a|0;return +(+Tp(a,0))}function kq(a,b){a=a|0;b=b|0;aa(6)}function lq(){return zq()|0}function mq(a){a=a|0;return an(a)|0}function nq(a){a=a|0;pq(a);return}function oq(a){a=a|0;u=a}function pq(a){a=a|0;pc(a);return}function qq(a){a=a|0;I=a}function rq(){return 24312}function sq(a){a=a|0;return a|0}function tq(a){a=a|0;aa(0);return 0}function uq(a){a=a|0;return}function vq(a){a=a|0;return 0}function wq(){return I|0}function xq(){return u|0}function yq(a){a=a|0;aa(5)}function zq(){return 6244}function Aq(){aa(4)} // EMSCRIPTEN_END_FUNCS -var Ma=[Mp,Jn,ap,Yk,Hm,ag,Ti,hl,ah,wc,Nh,$f,Hh,Nb,vh,Hg,el,Dm,ij,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp];var Na=[op,Wi,Ng,op];var Oa=[vq,rq,kq,sm,fm,Qk,Hk,Hk,xi,Jo,Ih,ko,Yl,Jl,am,Kl,Kl,Kl,Kl,Nj,Ij,uk,gk,Pk,Ek,Zk,Kk,rq,kq,Kl,Kl,Lj,Hj,mk,bk,Mk,Dk,Tk,Gk,rq,kq,Yl,Jl,rq,kq,kq,kq,Sk,Ik,Il,rl,Am,lm,Vm,Pm,rq,kq,kq,kq,Nk,Fk,Dl,nl,um,gm,Qm,Jm,rq,kq,hk,Xj,hm,Wl,Qe,Bn,fk,Vj,Um,Bm,Ml,ik,ak,Ym,Km,Pl,_l,Sl,Pe,pn,Vi,mp,mp,rq,kq,mp,mp,mp,zk,pk,ib,og,sp,rq,Jp,rq,rq,Jp,rq,Jp,bn,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq];var Pa=[hq,lk,Rf,sk,Dc,hq,hq,hq];var Qa=[Go,qd,ic,Rb,_a,Gd,Jd,Zl,lc,Sb,Za,Cd,Id,Zl,pj,Xd,gd,db,yg,Xg,ec,ee,hd,bb,rg,Qg,dc,Go,Go,Go,Go,Go];var Ra=[qq,Np,Qp,Qp,Np,sq,sq,sq,Zj,Pf,Qp,xo,sq,sq,Qp,sq,Qp,Qp,tl,Np,tl,sn,tl,Bp,ol,Qp,Fn,ol,Qp,Hn,Uk,Qp,zp,Qp,tl,Np,tl,sn,tl,Bp,ol,Qp,Fn,ol,Qp,Hn,Uk,Qp,zp,Qp,Bp,sq,xo,Qp,sq,Qp,Bp,Qp,ll,Np,ll,sn,ll,Bp,gl,Qp,Fn,gl,Qp,Hn,Lk,Qp,zp,Qp,ll,Np,ll,sn,ll,Bp,gl,Qp,Fn,gl,Qp,Hn,Lk,Qp,zp,Qp,Np,Qp,Qp,Ld,Qp,wo,Se,Vg,tk,Un,Sn,eb,qo,xo,Fg,Jg,Mf,gb,qo,xo,Qp,sq,sq,Wb,Ei,sq,Qp,Qp,Bj,sq,Bj,Rj,$m,dq,qq,qq,qq,qq];var Sa=[Wp,Ee,Ii,yc,xc,de,yc,xc,wg,ej,Zf,Uf,Wp,Wp,Wp,Wp];var Ta=[xq,fq,vi,nn];var Ua=[$o,Hl,Jk,$o];var Va=[cq,yl,mh,Yd,Cl,up,up,up,hp,hp,fb,Vn,hp,hp,fi,Qi,Sh,Wj,kl,zj,Xk,Oj,Sj,Be,fo,up,ei,nf,Gm,Nl,$d,xm,Nl,_e,zm,Ll,fh,qm,nf,Gm,Nl,$d,xm,Nl,_e,zm,Ll,fh,qm,gn,fo,up,_h,kf,Gm,El,Zd,xm,El,Ye,zm,Bl,$g,qm,kf,Gm,El,Zd,xm,El,Ye,zm,Bl,$g,qm,dn,vn,mn,xn,un,Yg,Uj,xk,Pb,ae,Mm,bf,df,ef,Wg,Uj,xk,Ob,ae,Mm,hp,up,up,pf,pm,kj,pf,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq];var Wa=[Dp,bm,bl,Dp];return{_emscripten_bind_PointAttribute_normalized_0:np,_bitshift64Lshr:yn,_emscripten_bind_PointAttribute_size_0:Fp,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Xp,_sbrk:vl,_memcpy:Eg,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Yp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:Nm,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Xp,___udivmoddi4:Ad,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:_p,_emscripten_bind_Mesh_num_faces_0:Do,_emscripten_get_global_libc:oq,stackSave:uq,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Pn,___cxa_can_catch:jm,_free:rc,runPostSets:Cn,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Yp,_emscripten_bind_DracoInt8Array___destroy___0:om,_emscripten_bind_PointAttribute_byte_stride_0:vp,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:Rm,_emscripten_bind_MeshBuilder_MeshBuilder_0:cp,_emscripten_bind_Metadata_Metadata_0:Ol,_emscripten_bind_PointCloud_num_attributes_0:Mo,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:cp,_emscripten_bind_Mesh_Mesh_0:lp,_emscripten_bind_MetadataBuilder_AddIntEntry_3:In,_emscripten_bind_DracoInt8Array_GetValue_1:Ho,setThrew:fp,_emscripten_bind_PointAttribute_num_components_0:tp,_emscripten_bind_MeshBuilder___destroy___0:bp,___cxa_is_pointer_type:ho,_llvm_cttz_i32:mm,_i64Add:Zn,stackAlloc:Co,_emscripten_bind_Mesh_num_points_0:Fp,___divdi3:kk,_emscripten_bind_Encoder_SetAttributeQuantization_2:Mn,getTempRet0:tq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:Xp,_emscripten_bind_Mesh_num_attributes_0:Mo,_llvm_bswap_i32:Yo,_emscripten_bind_PointAttribute_unique_id_0:yp,establishStackSpace:Cp,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:Nn,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Vp,_emscripten_bind_DracoInt8Array_size_0:Uo,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:En,_emscripten_bind_MetadataBuilder_AddStringEntry_3:An,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:$p,_emscripten_bind_VoidPtr___destroy___0:bp,_memset:Xi,_emscripten_bind_PointAttribute_attribute_type_0:qp,_emscripten_bind_PointCloud___destroy___0:$n,_i64Subtract:Dn,setTempRet0:nq,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Io,_emscripten_bind_DracoFloat32Array___destroy___0:om,_emscripten_bind_Mesh_set_num_points_1:ip,_emscripten_bind_PointCloud_num_points_0:Fp,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:_p,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:so,___muldsi3:Vl,_emscripten_bind_PointAttribute_data_type_0:zp,_emscripten_bind_DracoFloat32Array_size_0:Uo,_emscripten_bind_GeometryAttribute___destroy___0:bp,_emscripten_bind_MetadataBuilder___destroy___0:bp,_malloc:Xa,_emscripten_replace_memory:La,_memmove:dm,_emscripten_bind_PointCloud_PointCloud_0:Ro,_emscripten_bind_Mesh___destroy___0:$n,_emscripten_bind_Metadata___destroy___0:vo,___udivdi3:Oo,_emscripten_bind_PointAttribute_byte_offset_0:wp,_bitshift64Shl:tn,_emscripten_bind_Encoder_Encoder_0:kp,_emscripten_bind_Encoder_SetSpeedOptions_2:mo,___muldi3:Zm,___uremdi3:Sm,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Io,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Zp,_emscripten_bind_Encoder___destroy___0:Dj,_emscripten_bind_DracoFloat32Array_GetValue_1:to,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:On,_emscripten_bind_Encoder_SetEncodingMethod_1:go,_emscripten_bind_PointAttribute_PointAttribute_0:Bo,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:_p,stackRestore:lq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:ln,_emscripten_bind_PointAttribute___destroy___0:rj,stackAlloc:Co,stackSave:uq,stackRestore:lq,establishStackSpace:Cp,setThrew:fp,setTempRet0:nq,getTempRet0:tq,dynCall_iiii:po,dynCall_viiiii:Qn,dynCall_vi:Hp,dynCall_vii:jp,dynCall_iiiiiii:kn,dynCall_ii:xp,dynCall_viii:Ao,dynCall_v:eq,dynCall_viiiiii:qn,dynCall_iii:Xo,dynCall_viiii:ao}}) +var Ma=[tq,Sp,Up,Up,Sp,vq,vq,vq,ak,Vf,Up,Ao,vq,vq,Up,vq,Up,Up,ql,Sp,ql,un,ql,Gp,ll,Up,Fn,ll,Up,Hn,Tk,Up,Cp,Up,ql,Sp,ql,un,ql,Gp,ll,Up,Fn,ll,Up,Hn,Tk,Up,Cp,Up,Gp,vq,Ao,Up,vq,Up,Gp,Up,il,Sp,il,un,il,Gp,dl,Up,Fn,dl,Up,Hn,Kk,Up,Cp,Up,il,Sp,il,un,il,Gp,dl,Up,Fn,dl,Up,Hn,Kk,Up,Cp,Up,Sp,Up,Up,Ed,Up,zo,Te,bh,tk,Wn,Un,eb,uo,Ao,og,Cg,uf,hb,uo,Ao,Up,vq,vq,ac,Ii,vq,Up,Up,Bj,vq,Bj,Sj,bn,lp,tq,tq,tq,tq];var Na=[gq,vl,sh,oe,zl,xp,xp,xp,gp,gp,fb,Xn,gp,gp,ji,Yi,Zh,Yj,hl,zj,Vk,Pj,Uj,Ee,ho,xp,ii,of,Gm,Kl,qe,xm,Kl,_e,zm,Il,ih,om,of,Gm,Kl,qe,xm,Kl,_e,zm,Il,ih,om,jn,ho,xp,di,lf,Gm,Bl,pe,xm,Bl,Ye,zm,yl,dh,om,lf,Gm,Bl,pe,xm,Bl,Ye,zm,yl,dh,om,fn,xn,on,zn,wn,Kg,Wj,xk,Sb,se,Mm,bf,df,ff,Hg,Wj,xk,Rb,se,Mm,gp,xp,xp,sf,nm,nj,sf,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq];var Oa=[Rp,Jn,Zo,Wk,Hm,jg,_i,el,eh,nc,Sh,Yf,Mh,tb,zh,Tg,bl,Dm,mj,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp];var Pa=[Io,wd,oc,Tb,_a,Cd,Id,Wl,qc,Ub,Za,Bd,Hd,Wl,rj,Sd,gd,bb,dg,Eg,lc,Xd,hd,$a,ag,yg,jc,Io,Io,Io,Io,Io];var Qa=[Aq,iq,yi,pn];var Ra=[yq,uq,nq,sm,dm,Pk,Gk,Gk,Bi,Ko,Nh,mo,Vl,Gl,_l,Hl,Hl,Hl,Hl,Nj,Kj,uk,gk,Ok,Dk,Xk,Jk,uq,nq,Hl,Hl,Lj,Ij,mk,dk,Lk,Ck,Sk,Fk,uq,nq,Vl,Gl,uq,nq,nq,nq,Rk,Hk,Fl,ol,Am,jm,Xm,Qm,uq,nq,nq,nq,Mk,Ek,Al,kl,um,em,Rm,Jm,uq,nq,hk,Zj,fm,Tl,Re,Dn,fk,Xj,Wm,Bm,Jl,ik,ck,_m,Km,Ml,Yl,Pl,Qe,rn,aj,np,np,uq,nq,np,np,np,yk,pk,db,zg,up,uq,vp,uq,uq,vp,To,Ep,Ep,dn,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq];var Sa=[kq,lk,Zf,sk,Dc,kq,kq,kq];var Ta=[_p,ye,Qi,Ac,Vb,re,Ac,Vb,Fg,ij,hg,cg,_p,_p,_p,_p];var Ua=[Lp,$l,$k,Lp];var Va=[qp,bj,_g,qp];var Wa=[Vo,El,Ik,Vo];return{___cxa_can_catch:hm,___cxa_is_pointer_type:jo,___divdi3:kk,___muldi3:$m,___udivdi3:Po,___uremdi3:Um,_bitshift64Lshr:An,_bitshift64Shl:vn,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Jo,_emscripten_bind_DracoInt8Array_GetValue_1:so,_emscripten_bind_DracoInt8Array___destroy___0:Pm,_emscripten_bind_DracoInt8Array_size_0:$o,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:Qn,_emscripten_bind_Encoder_Encoder_0:kp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:Nm,_emscripten_bind_Encoder_SetAttributeQuantization_2:On,_emscripten_bind_Encoder_SetEncodingMethod_1:io,_emscripten_bind_Encoder_SetSpeedOptions_2:oo,_emscripten_bind_Encoder___destroy___0:Fj,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:wo,_emscripten_bind_GeometryAttribute___destroy___0:ap,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:Pn,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:Tm,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:Sm,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Rn,_emscripten_bind_MeshBuilder_MeshBuilder_0:bp,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:nn,_emscripten_bind_MeshBuilder___destroy___0:ap,_emscripten_bind_Mesh_Mesh_0:mp,_emscripten_bind_Mesh___destroy___0:bo,_emscripten_bind_Mesh_num_attributes_0:No,_emscripten_bind_Mesh_num_faces_0:Fo,_emscripten_bind_Mesh_num_points_0:Jp,_emscripten_bind_Mesh_set_num_points_1:ip,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:En,_emscripten_bind_MetadataBuilder_AddIntEntry_3:In,_emscripten_bind_MetadataBuilder_AddStringEntry_3:Cn,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:bp,_emscripten_bind_MetadataBuilder___destroy___0:ap,_emscripten_bind_Metadata_Metadata_0:Ll,_emscripten_bind_Metadata___destroy___0:yo,_emscripten_bind_PointAttribute_PointAttribute_0:Do,_emscripten_bind_PointAttribute___destroy___0:tj,_emscripten_bind_PointAttribute_attribute_type_0:sp,_emscripten_bind_PointAttribute_byte_offset_0:zp,_emscripten_bind_PointAttribute_byte_stride_0:yp,_emscripten_bind_PointAttribute_data_type_0:Cp,_emscripten_bind_PointAttribute_normalized_0:op,_emscripten_bind_PointAttribute_num_components_0:wp,_emscripten_bind_PointAttribute_size_0:Jp,_emscripten_bind_PointAttribute_unique_id_0:Bp,_emscripten_bind_PointCloud_PointCloud_0:Ro,_emscripten_bind_PointCloud___destroy___0:bo,_emscripten_bind_PointCloud_num_attributes_0:No,_emscripten_bind_PointCloud_num_points_0:Jp,_emscripten_bind_VoidPtr___destroy___0:ap,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:aq,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:$p,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:cq,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:dq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:bq,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:aq,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:cq,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:$p,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Zp,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:cq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:$p,_emscripten_get_global_libc:rq,_emscripten_replace_memory:La,_free:pc,_i64Add:Mn,_i64Subtract:_n,_llvm_bswap_i32:Wo,_malloc:Xa,_memcpy:Rg,_memmove:bm,_memset:cj,_sbrk:sl,dynCall_ii:Ap,dynCall_iii:Uo,dynCall_iiii:ro,dynCall_iiiiiii:mn,dynCall_v:hq,dynCall_vi:Np,dynCall_vii:jp,dynCall_viii:Co,dynCall_viiii:co,dynCall_viiiii:Sn,dynCall_viiiiii:sn,establishStackSpace:Hp,getTempRet0:wq,runPostSets:Ln,setTempRet0:qq,setThrew:ep,stackAlloc:Eo,stackRestore:oq,stackSave:xq}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);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 _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"]=asm["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var stackSave=Module["stackSave"]=asm["stackSave"];var _emscripten_bind_MeshBuilder_AddMetadataToMesh_2=Module["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];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_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"];var _emscripten_bind_MeshBuilder_MeshBuilder_0=Module["_emscripten_bind_MeshBuilder_MeshBuilder_0"]=asm["_emscripten_bind_MeshBuilder_MeshBuilder_0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_MetadataBuilder_MetadataBuilder_0=Module["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"]=asm["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_MetadataBuilder_AddIntEntry_3=Module["_emscripten_bind_MetadataBuilder_AddIntEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddIntEntry_3"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var setThrew=Module["setThrew"]=asm["setThrew"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_MeshBuilder___destroy___0=Module["_emscripten_bind_MeshBuilder___destroy___0"]=asm["_emscripten_bind_MeshBuilder___destroy___0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _emscripten_bind_Encoder_SetAttributeQuantization_2=Module["_emscripten_bind_Encoder_SetAttributeQuantization_2"]=asm["_emscripten_bind_Encoder_SetAttributeQuantization_2"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _emscripten_bind_MeshBuilder_AddFacesToMesh_3=Module["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"]=asm["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"];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_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_MetadataBuilder_AddDoubleEntry_3=Module["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"];var _emscripten_bind_MetadataBuilder_AddStringEntry_3=Module["_emscripten_bind_MetadataBuilder_AddStringEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddStringEntry_3"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_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 setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_Mesh_set_num_points_1=Module["_emscripten_bind_Mesh_set_num_points_1"]=asm["_emscripten_bind_Mesh_set_num_points_1"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_MetadataBuilder___destroy___0=Module["_emscripten_bind_MetadataBuilder___destroy___0"]=asm["_emscripten_bind_MetadataBuilder___destroy___0"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Encoder_Encoder_0=Module["_emscripten_bind_Encoder_Encoder_0"]=asm["_emscripten_bind_Encoder_Encoder_0"];var _emscripten_bind_Encoder_SetSpeedOptions_2=Module["_emscripten_bind_Encoder_SetSpeedOptions_2"]=asm["_emscripten_bind_Encoder_SetSpeedOptions_2"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_bind_Encoder___destroy___0=Module["_emscripten_bind_Encoder___destroy___0"]=asm["_emscripten_bind_Encoder___destroy___0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=Module["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"]=asm["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"];var _emscripten_bind_Encoder_SetEncodingMethod_1=Module["_emscripten_bind_Encoder_SetEncodingMethod_1"]=asm["_emscripten_bind_Encoder_SetEncodingMethod_1"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_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=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});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)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;i>>16&65535)*k+h*(f>>>16&65535)<<16>>>0)|0}},"es6","es3"); -$jscomp.polyfill("Math.clz32",function(e){return e?e:function(e){e=Number(e)>>>0;if(0===e)return 32;var f=0;0===(e&4294901760)&&(e<<=16,f+=16);0===(e&4278190080)&&(e<<=8,f+=8);0===(e&4026531840)&&(e<<=4,f+=4);0===(e&3221225472)&&(e<<=2,f+=2);0===(e&2147483648)&&f++;return f}},"es6","es3");$jscomp.polyfill("Math.trunc",function(e){return e?e:function(e){e=Number(e);if(isNaN(e)||Infinity===e||-Infinity===e||0===e)return e;var f=Math.floor(Math.abs(e));return 0>e?-f:f}},"es6","es3"); -$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(e){return $jscomp.SYMBOL_PREFIX+(e||"")+$jscomp.symbolCounter_++}; -$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var e=$jscomp.global.Symbol.iterator;e||(e=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[e]&&$jscomp.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(e){var h=0;return $jscomp.iteratorPrototype(function(){return h>0];case "i8":return N[a>>0];case "i16":return ra[a>>1];case "i32":return u[a>>2];case "i64":return u[a>>2];case "float":return xa[a>> -2];case "double":return ya[a>>3];default:M("invalid type for setValue: "+b)}return null}function R(a,b,c,g){if("number"===typeof a){var d=!0;var e=a}else d=!1,e=a.length;var S="string"===typeof b?b:null;c=4==c?g:["function"===typeof ka?ka:n.staticAlloc,n.stackAlloc,n.staticAlloc,n.dynamicAlloc][void 0===c?2:c](Math.max(e,S?1:b.length));if(d){g=c;f(0==(c&3));for(a=c+(e&-4);g>2]=0;for(a=c+e;g>0]=0;return c}if("i8"===S)return a.subarray||a.slice?G.set(a,c):G.set(new Uint8Array(a), -c),c;g=0;for(var k,m;g>0]=h;break;case "i8":N[l>>0]=h;break;case "i16":ra[l>>1]=h;break;case "i32":u[l>>2]=h;break;case "i64":tempI64=[h>>>0,(tempDouble=h,1<=+pb(tempDouble)?0>>0:~~+sb((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)];u[l>>2]= -tempI64[0];u[l+4>>2]=tempI64[1];break;case "float":xa[l>>2]=h;break;case "double":ya[l>>3]=h;break;default:M("invalid type for setValue: "+p)}m!==d&&(k=n.getNativeTypeSize(d),m=d);g+=k}}return c}function t(d,b){if(0===b||!d)return"";for(var c=0,g,e=0;;){g=G[d+e>>0];c|=g;if(0==g&&!b)break;e++;if(b&&e==b)break}b||(b=e);g="";if(128>c){for(;0=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++e)&1023);if(127>=f){if(c>=g)break;b[c++]=f}else{if(2047>=f){if(c+1>=g)break;b[c++]=192|f>>6}else{if(65535>=f){if(c+2>=g)break;b[c++]=224|f>>12}else{if(2097151>=f){if(c+3>=g)break;b[c++]=240|f>>18}else{if(67108863>=f){if(c+4>=g)break;b[c++]=248|f>>24}else{if(c+5>=g)break;b[c++]=252|f>>30;b[c++]=128|f>>24&63}b[c++]=128|f>>18&63}b[c++]=128|f>>12&63}b[c++]=128|f>>6& -63}b[c++]=128|f&63}}b[c]=0;return c-d}function ha(a){for(var b=0,d=0;d=g&&(g=65536+((g&1023)<<10)|a.charCodeAt(++d)&1023);127>=g?++b:b=2047>=g?b+2:65535>=g?b+3:2097151>=g?b+4:67108863>=g?b+5:b+6}return b}function pa(d){return d.replace(/__Z[\w\d_]+/g,function(b){a:{var d=a.___cxa_demangle||a.__cxa_demangle;if(d)try{var g=b.substr(1),e=ha(g)+1;var f=ka(e);Da(g,G,f,e);var h=ka(4);var l=d(f,0,0,h);if(0===k(h,"i32")&&l){var m=t(l);break a}}catch(xd){}finally{f&& -Ha(f),h&&Ha(h),l&&Ha(l)}else n.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");m=b}return b===m?b:b+" ["+m+"]"})}function ia(){a:{var d=Error();if(!d.stack){try{throw Error(0);}catch(b){d=b}if(!d.stack){d="(no stack trace available)";break a}}d=d.stack.toString()}a.extraStackTrace&&(d+="\n"+a.extraStackTrace());return pa(d)}function Ea(a,b){0>2]>b)return!1;var c=x;for(x=Math.max(x,tb);x>2];)x=536870912>=x?Ea(2*x,d):Math.min(Ea((3*x+2147483648)/4,d),b);d=a.reallocBuffer(x);if(!d||d.byteLength!=x)return x=c,!1;a.buffer=H=d;ba();return!0}function ja(d){for(;0>2]=d;d=ta.buffer;for(var e=0;e>2],b.adjusted=d,(n.setTempRet0(g[e]),d)|0;d=u[d>>2];return(n.setTempRet0(c),d)|0}function ua(d,b){ua.seen||(ua.seen={});d in ua.seen||(a.dynCall_v(b),ua.seen[d]=1)}function ca(d,b){r.varargs=b;try{var c=r.get(),g=r.get(),e=r.get(); -d=0;ca.buffer||(ca.buffers=[null,[],[]],ca.printChar=function(b,d){var c=ca.buffers[b];f(c);if(0===d||10===d){b=1===b?a.print:a.printErr;a:{for(var g=d=0;c[g];)++g;if(16e?g+=String.fromCharCode(e):(e-=65536,g+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else g+=String.fromCharCode(e)}}b(d);c.length=0}else c.push(d)});for(b=0;b>2],k=u[g+(8*b+4)>>2],l=0;la.length||3=a[1]?!0:0!=a[0]||10>2];a=(b+a+15|0)&-16;u[Y>>2]=a;return a>=x&&!Ua()?(u[Y>>2]=b,0):b},alignMemory:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},makeBigInt:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0},na=0;(function(){function a(a){a=a.toString().match(e).slice(1);return{arguments:a[0], -body:a[1],returnValue:a[2]}}function b(){if(!f){f={};for(var b in c)c.hasOwnProperty(b)&&(f[b]=a(c[b]))}}var c={stackSave:function(){n.stackSave()},stackRestore:function(){n.stackRestore()},arrayToC:function(a){var b=n.stackAlloc(a.length);N.set(a,b);return b},stringToC:function(a){var b=0;if(null!==a&&void 0!==a&&0!==a){var d=(a.length<<2)+1;b=n.stackAlloc(d);Da(a,G,b,d)}return b}},e=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,f=null;cwrap=function(d, -c,e){e=e||[];var g=z(d);d=e.every(function(a){return"number"===a});var h="string"!==c;if(h&&d)return g;var k=e.map(function(a,b){return"$"+b});c="(function("+k.join(",")+") {";var l=e.length;if(!d){b();c+="var stack = "+f.stackSave.body+";";for(var m=0;m>>16)*e+d*(b>>>16)<<16)|0});Math.imul=Math.imul;if(!Math.fround){var kb= -new Float32Array(1);Math.fround=function(a){kb[0]=a;return kb[0]}}Math.fround=Math.fround;Math.clz32||(Math.clz32=function(a){a>>>=0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.clz32=Math.clz32;Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});Math.trunc=Math.trunc;var pb=Math.abs,sb=Math.ceil,rb=Math.floor,qb=Math.min,ea=0,Ja=null,sa=null;a.preloadedImages={};a.preloadedAudios={};var U=null;(function(d){function b(a,b){var d=t;if(0>a.indexOf("."))d=(d||{})[a]; -else{var c=a.split(".");d=(d||{})[c[0]];d=(d||{})[c[1]]}b&&(d=(d||{})[b]);void 0===d&&M("bad lookupImport to ("+a+")."+b);return d}function c(b){var c=d.buffer;b.byteLength>>0)/(b>>>0)>>>0},"i32s-rem":function(a,b){return(a|0)%(b|0)|0},"i32u-rem":function(a,b){return(a>>>0)%(b>>>0)>>>0},"debugger":function(){debugger}}, -parent:d},u=null;d.asmPreload=d.asm;var q=d.reallocBuffer,r=function(a){a=Ea(a,d.usingWasm?Ia:Xa);var b=d.buffer,c=b.byteLength;if(d.usingWasm)try{return-1!==d.wasmMemory.grow((a-c)/65536)?d.buffer=d.wasmMemory.buffer:null}catch(yd){return null}else return u.__growWasmMemory((a-c)/65536),d.buffer!==b?d.buffer:null};d.reallocBuffer=function(a){return"asmjs"===z?q(a):r(a)};var z="";d.asm=function(a,g,h){if(!g.table){var A=d.wasmTableSize;void 0===A&&(A=1024);var p=d.wasmMaxTableSize;g.table="object"=== -typeof WebAssembly&&"function"===typeof WebAssembly.Table?void 0!==p?new WebAssembly.Table({initial:A,maximum:p,element:"anyfunc"}):new WebAssembly.Table({initial:A,element:"anyfunc"}):Array(A);d.wasmTable=g.table}g.memoryBase||(g.memoryBase=d.STATIC_BASE);g.tableBase||(g.tableBase=0);var q;A=m.split(",");for(p=0;p>2]},getStr:function(){return t(r.get())},get64:function(){var a=r.get(),b=r.get();0<=a?f(0===b):f(-1===b);return a},getZero:function(){f(0===r.get())}},Ca={};a._sbrk=Ob;a._memmove=Pb;var Ta=1;a._llvm_bswap_i32=Qb;gb.push(function(){var d=a._fflush;d&&d(0); -if(d=ca.printChar){var b=ca.buffers;b[1].length&&d(1,10);b[2].length&&d(2,10)}});Y=R(1,"i32",2);Oa=T=n.alignMemory(X);Ba=Oa+Sa;Pa=n.alignMemory(Ba);u[Y>>2]=Pa;a.wasmTableSize=492;a.wasmMaxTableSize=492;a.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Ra};a.asmLibraryArg={abort:M,assert:f,enlargeMemory:Ua, -getTotalMemory:function(){return x},abortOnCannotGrowMemory:function(){M("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+x+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iiii:function(d,b,c,e){try{return a.dynCall_iiii(d,b,c,e)}catch(A){if("number"!==typeof A&&"longjmp"!==A)throw A; -a.setThrew(1,0)}},invoke_viiiii:function(d,b,c,e,f,h){try{a.dynCall_viiiii(d,b,c,e,f,h)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;a.setThrew(1,0)}},invoke_vi:function(d,b){try{a.dynCall_vi(d,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_vii:function(d,b,c){try{a.dynCall_vii(d,b,c)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;a.setThrew(1,0)}},invoke_iiiiiii:function(d,b,c,e,f,h,k){try{return a.dynCall_iiiiiii(d,b,c,e,f,h,k)}catch(y){if("number"!== -typeof y&&"longjmp"!==y)throw y;a.setThrew(1,0)}},invoke_ii:function(d,b){try{return a.dynCall_ii(d,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_viii:function(d,b,c,e){try{a.dynCall_viii(d,b,c,e)}catch(A){if("number"!==typeof A&&"longjmp"!==A)throw A;a.setThrew(1,0)}},invoke_v:function(d){try{a.dynCall_v(d)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_viiiiii:function(d,b,c,e,f,h,k){try{a.dynCall_viiiiii(d,b,c,e,f,h,k)}catch(y){if("number"!== -typeof y&&"longjmp"!==y)throw y;a.setThrew(1,0)}},invoke_iii:function(d,b,c){try{return a.dynCall_iii(d,b,c)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;a.setThrew(1,0)}},invoke_viiii:function(d,b,c,e,f){try{a.dynCall_viiii(d,b,c,e,f)}catch(Fa){if("number"!==typeof Fa&&"longjmp"!==Fa)throw Fa;a.setThrew(1,0)}},_pthread_getspecific:function(a){return Ca[a]||0},___syscall54:function(a,b){r.varargs=b;return 0},_pthread_setspecific:function(a,b){if(!(a in Ca))return 22;Ca[a]=b;return 0},___cxa_throw:function(a, -b,c){C.infos[a]={ptr:a,adjusted:a,type:b,destructor:c,refcount:0,caught:!1,rethrown:!1};C.last=a;"uncaught_exception"in la?la.uncaught_exception++:la.uncaught_exception=1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},_abort:function(){a.abort()},___setErrNo:function(d){a.___errno_location&&(u[a.___errno_location()>>2]=d);return d},___syscall6:function(a, -b){r.varargs=b;try{var c=r.getStreamFromFD();FS.close(c);return 0}catch(g){return"undefined"!==typeof FS&&g instanceof FS.ErrnoError||M(g),-g.errno}},___cxa_begin_catch:function(a){var b=C.infos[a];b&&!b.caught&&(b.caught=!0,la.uncaught_exception--);b&&(b.rethrown=!1);C.caught.push(a);C.addRef(C.deAdjust(a));return a},___syscall146:ca,_pthread_once:ua,_emscripten_memcpy_big:function(a,b,c){G.set(G.subarray(b,b+c),a);return a},_pthread_key_create:function(a,b){if(0==a)return 22;u[a>>2]=Ta;Ca[Ta]=0; -Ta++;return 0},___syscall140:function(a,b){r.varargs=b;try{var c=r.getStreamFromFD();r.get();var d=r.get(),e=r.get(),f=r.get();FS.llseek(c,d,f);u[e>>2]=c.position;c.getdents&&0===d&&0===f&&(c.getdents=null);return 0}catch(S){return"undefined"!==typeof FS&&S instanceof FS.ErrnoError||M(S),-S.errno}},___resumeException:function(a){C.last||(C.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."; -},___cxa_find_matching_catch:ta,___assert_fail:function(a,b,c,e){na=!0;throw"Assertion failed: "+t(a)+", at: "+[b?t(b):"unknown filename",c,e?t(e):"unknown function"]+" at "+ia();},___cxa_pure_virtual:function(){na=!0;throw"Pure virtual function called!";},___cxa_allocate_exception:function(a){return ka(a)},__ZSt18uncaught_exceptionv:la,DYNAMICTOP_PTR:Y,tempDoublePtr:Lb,ABORT:na,STACKTOP:T,STACK_MAX:Ba};var lb=a.asm(a.asmGlobalArg,a.asmLibraryArg,H);a.asm=lb;var Rb=a._emscripten_bind_Decoder_GetAttributeFloat_3= -function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Sb=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Ub=a._emscripten_bind_DecoderBuffer_Init_2=function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null, -arguments)},Vb=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null,arguments)},Wb=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},Ob=a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)},Nb=a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)}; -var Xb=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},Yb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},Zb=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},$b=a._emscripten_bind_Status_ok_0= -function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},ac=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)};a._emscripten_get_global_libc=function(){return a.asm._emscripten_get_global_libc.apply(null,arguments)};var bc=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null,arguments)},cc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM= -function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)};a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};var dc=a._emscripten_bind_Decoder_GetEncodedGeometryType_1=function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null,arguments)};a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)};var Ha=a._free=function(){return a.asm._free.apply(null,arguments)},ec=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE= -function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null,arguments)},fc=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},gc=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},Hb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null, -arguments)},hc=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null,arguments)},Eb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},ic=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},jc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2= -function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},kc=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},lc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)}; -a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};var mc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},nc=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},oc=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null, -arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var yb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null,arguments)},pc=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null, -arguments)};var qc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},rc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},sc=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},Fb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null, -arguments)},Ab=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null,arguments)},tc=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},uc=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},vc=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2= -function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},wc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},xc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null,arguments)},yc=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null, -arguments)},zc=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},Qb=a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null,arguments)},Ac=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},Bc=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null, -arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};var Cc=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},Dc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},Ec=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null, -arguments)},Fc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},Db=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Gc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},Hc=a._emscripten_bind_Decoder_SkipAttributeTransform_1= -function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null,arguments)},Ic=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null,arguments)},Jc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},Kc=a._emscripten_enum_draco_StatusCode_ERROR= -function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null,arguments)},Lc=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},Mc=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null,arguments)},Nc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null, -arguments)},Oc=a._emscripten_bind_VoidPtr___destroy___0=function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},Mb=a._memset=function(){return a.asm._memset.apply(null,arguments)},Pc=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},Qc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)}, -Rc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null,arguments)},Sc=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Tc=a._emscripten_bind_Decoder_GetAttribute_2=function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},Uc=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null, -arguments)};a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)};var Gb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null,arguments)},Vc=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},Wc=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null, -arguments)},Xc=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null,arguments)},Yc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null,arguments)},Cb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null,arguments)},Zc=a._emscripten_bind_Decoder_GetFaceFromMesh_3= -function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},$c=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null,arguments)},ad=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},bd=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null, -arguments)},ka=a._malloc=function(){return a.asm._malloc.apply(null,arguments)},cd=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},dd=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},Ib=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)}, -Pb=a._memmove=function(){return a.asm._memmove.apply(null,arguments)},vb=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},ed=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)},fd=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},gd=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null, -arguments)},hd=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},id=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},zb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null, -arguments)},jd=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null,arguments)},kd=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null,arguments)},ld=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},md=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null, -arguments)},nd=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},wb=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},Bb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,arguments)},od=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC= -function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},pd=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null,arguments)},qd=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},xb=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null, -arguments)},rd=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},sd=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};var td=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null, -arguments)},ud=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},vd=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null, -arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null, -arguments)};a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};n.stackAlloc=a.stackAlloc;n.stackSave=a.stackSave;n.stackRestore=a.stackRestore;n.establishStackSpace=a.establishStackSpace;n.setTempRet0=a.setTempRet0;n.getTempRet0=a.getTempRet0;a.asm=lb;if(U)if("function"===typeof a.locateFile?U=a.locateFile(U):a.memoryInitializerPrefixURL&&(U=a.memoryInitializerPrefixURL+U),oa||Aa){var wd=a.readBinary(U);G.set(wd,n.GLOBAL_BASE)}else{var nb=function(){a.readAsync(U,mb,function(){throw"could not load memory initializer "+ -U;})};Ya("memory initializer");var mb=function(d){d.byteLength&&(d=new Uint8Array(d));G.set(d,n.GLOBAL_BASE);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;Za("memory initializer")};if(a.memoryInitializerRequest){var ob=function(){var d=a.memoryInitializerRequest;200!==d.status&&0!==d.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+d.status+", retrying "+U),nb()):mb(d.response)};a.memoryInitializerRequest.response?setTimeout(ob, -0):a.memoryInitializerRequest.addEventListener("load",ob)}else nb()}a.then=function(d){if(a.calledRun)d(a);else{var b=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){b&&b();d(a)}}return a};ma.prototype=Error();ma.prototype.constructor=ma;var ub,db=null;sa=function b(){a.calledRun||Ka();a.calledRun||(sa=b)};a.callMain=a.callMain=function(b){function c(){for(var a=0;3>a;a++)f.push(0)}b=b||[];za||(za=!0,ja(La));var e=b.length+1,f=[R(qa(a.thisProgram),"i8",0)];c();for(var h=0;h=l.size?(f(0>=1;break;case 4:e>>=2;break;case 8:e>>=3}for(var b=0;b>>16&65535)*g+n*(c>>>16&65535)<<16>>>0)|0}},"es6","es3"); +$jscomp.polyfill("Math.clz32",function(c){return c?c:function(f){f=Number(f)>>>0;if(0===f)return 32;var c=0;0===(f&4294901760)&&(f<<=16,c+=16);0===(f&4278190080)&&(f<<=8,c+=8);0===(f&4026531840)&&(f<<=4,c+=4);0===(f&3221225472)&&(f<<=2,c+=2);0===(f&2147483648)&&c++;return c}},"es6","es3");$jscomp.polyfill("Math.trunc",function(c){return c?c:function(c){c=Number(c);if(isNaN(c)||Infinity===c||-Infinity===c||0===c)return c;var f=Math.floor(Math.abs(c));return 0>c?-f:f}},"es6","es3"); +$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(c){return $jscomp.SYMBOL_PREFIX+(c||"")+$jscomp.symbolCounter_++}; +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var c=$jscomp.global.Symbol.iterator;c||(c=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[c]&&$jscomp.defineProperty(Array.prototype,c,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(c){var f=0;return $jscomp.iteratorPrototype(function(){return f>0];d|=l;if(0==l&&!b)break;c++;if(b&&c==b)break}b||(b=c);l="";if(128>d){for(;0>2]>b)return!1;var d=x;for(x=Math.max(x,db);x>2];)x=536870912>=x?ha(2*x,e):Math.min(ha((3*x+2147483648)/4,e),b);e=a.reallocBuffer(x);if(!e||e.byteLength!=x)return x=d,!1;a.buffer=E=e;R();return!0}function u(e){for(;0>2]=e;e=ma.buffer;for(var c=0;c> +2],b.adjusted=e,(m.setTempRet0(l[c]),e)|0;e=w[e>>2];return(m.setTempRet0(d),e)|0}function L(e,b){t.varargs=b;try{var d=t.get(),l=t.get(),c=t.get();e=0;L.buffer||(L.buffers=[null,[],[]],L.printChar=function(b,e){var d=L.buffers[b];f(d);if(0===e||10===e){b=1===b?a.print:a.printErr;a:{for(var l=e=0;d[l];)++l;if(16c?l+=String.fromCharCode(c):(c-=65536,l+=String.fromCharCode(55296|c>>10,56320|c&1023))}}else l+=String.fromCharCode(c)}}b(e);d.length=0}else d.push(e)});for(b=0;b>2],h=w[l+(8*b+4)>>2],k=0;k=c&&(c=65536+((c&1023)<<10)|a.charCodeAt(++e)&1023);127>=c?++b:b=2047>=c?b+2:65535>=c?b+3:2097151>=c?b+4:67108863>=c?b+5:b+6}b=Array(b+1);e=0;c=b.length;if(0=g&&(g=65536+((g&1023)<<10)|a.charCodeAt(++f)&1023);if(127>=g){if(e>=c)break;b[e++]=g}else{if(2047>=g){if(e+1>=c)break;b[e++]=192|g>>6}else{if(65535>=g){if(e+2>=c)break;b[e++]=224|g>>12}else{if(2097151>=g){if(e+3>=c)break;b[e++]=240|g>>18}else{if(67108863>=g){if(e+4>=c)break;b[e++]=248|g>>24}else{if(e+5>=c)break;b[e++]=252|g>>30;b[e++]=128|g>>24&63}b[e++]=128|g>>18&63}b[e++]=128|g>>12&63}b[e++]=128|g>>6&63}b[e++]=128|g&63}}b[e]=0}a=k.alloc(b,ba);k.copy(b,ba,a)}return a} +function A(){throw"cannot construct a Status, no constructor in IDL";}function G(){this.ptr=gb();B(G)[this.ptr]=this}function H(){this.ptr=hb();B(H)[this.ptr]=this}function p(){this.ptr=ib();B(p)[this.ptr]=this}function K(){this.ptr=jb();B(K)[this.ptr]=this}function y(){this.ptr=kb();B(y)[this.ptr]=this}function r(){this.ptr=lb();B(r)[this.ptr]=this}function I(){this.ptr=mb();B(I)[this.ptr]=this}function U(){this.ptr=nb();B(U)[this.ptr]=this}function M(){this.ptr=ob();B(M)[this.ptr]=this}function h(){this.ptr= +pb();B(h)[this.ptr]=this}function C(){this.ptr=qb();B(C)[this.ptr]=this}function Y(){throw"cannot construct a VoidPtr, no constructor in IDL";}function J(){this.ptr=rb();B(J)[this.ptr]=this}function N(){this.ptr=sb();B(N)[this.ptr]=this}var a=c=c||{},Xa=!1,Ya=!1;a.onRuntimeInitialized=function(){Xa=!0;if(Ya&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){Ya=!0;if(Xa&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported=function(a){if("string"!== +typeof a)return!1;a=a.split(".");return 2>a.length||3=a[1]?!0:0!=a[0]||10>2];a=(b+a+15|0)&-16;w[W>>2]=a;return a>=x&&!Ha()?(w[W>>2]=b,0):b},alignMemory:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},makeBigInt:function(a,b,d){return d?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0},ja=0,Pa="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;"undefined"!== +typeof TextDecoder&&new TextDecoder("utf-16le");var va=65536,Na=16777216,db=16777216,ba,O,ua,Ja,w,Ka,La,Ma,V,Ba,P,sa,Ca,W;var Da=V=Ba=P=sa=Ca=W=0;a.reallocBuffer||(a.reallocBuffer=function(a){try{if(ArrayBuffer.transfer)var b=ArrayBuffer.transfer(E,a);else{var d=ba;b=new ArrayBuffer(a);(new Int8Array(b)).set(d)}}catch(l){return!1}return tb(b)?b:!1});try{var Ea=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);Ea(new ArrayBuffer(4))}catch(e){Ea=function(a){return a.byteLength}}var Fa= +a.TOTAL_STACK||5242880,x=a.TOTAL_MEMORY||16777216;x>2]},getStr:function(){return n(t.get())},get64:function(){var a=t.get(),b=t.get();0<=a? +f(0===b):f(-1===b);return a},getZero:function(){f(0===t.get())}},ta={},Ga=1;Za.push(function(){var e=a._fflush;e&&e(0);if(e=L.printChar){var b=L.buffers;b[1].length&&e(1,10);b[2].length&&e(2,10)}});W=m.staticAlloc(4);Ba=P=m.alignMemory(V);sa=Ba+Fa;Ca=m.alignMemory(sa);w[W>>2]=Ca;a.wasmTableSize=492;a.wasmMaxTableSize=492;a.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array, +Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Ea};a.asmLibraryArg={abort:S,assert:f,enlargeMemory:Ha,getTotalMemory:function(){return x},abortOnCannotGrowMemory:function(){S("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+x+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}, +invoke_ii:function(e,b){try{return a.dynCall_ii(e,b)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;a.setThrew(1,0)}},invoke_iii:function(e,b,d){try{return a.dynCall_iii(e,b,d)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_iiii:function(e,b,d,c){try{return a.dynCall_iiii(e,b,d,c)}catch(F){if("number"!==typeof F&&"longjmp"!==F)throw F;a.setThrew(1,0)}},invoke_iiiiiii:function(e,b,d,c,f,g,h){try{return a.dynCall_iiiiiii(e,b,d,c,f,g,h)}catch(ea){if("number"!== +typeof ea&&"longjmp"!==ea)throw ea;a.setThrew(1,0)}},invoke_v:function(e){try{a.dynCall_v(e)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_vi:function(e,b){try{a.dynCall_vi(e,b)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;a.setThrew(1,0)}},invoke_vii:function(e,b,d){try{a.dynCall_vii(e,b,d)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_viii:function(e,b,d,c){try{a.dynCall_viii(e,b,d,c)}catch(F){if("number"!==typeof F&& +"longjmp"!==F)throw F;a.setThrew(1,0)}},invoke_viiii:function(e,b,d,c,f){try{a.dynCall_viiii(e,b,d,c,f)}catch(pa){if("number"!==typeof pa&&"longjmp"!==pa)throw pa;a.setThrew(1,0)}},invoke_viiiii:function(e,b,d,c,f,g){try{a.dynCall_viiiii(e,b,d,c,f,g)}catch(da){if("number"!==typeof da&&"longjmp"!==da)throw da;a.setThrew(1,0)}},invoke_viiiiii:function(e,b,d,c,f,g,h){try{a.dynCall_viiiiii(e,b,d,c,f,g,h)}catch(ea){if("number"!==typeof ea&&"longjmp"!==ea)throw ea;a.setThrew(1,0)}},__ZSt18uncaught_exceptionv:ia, +___assert_fail:function(a,b,d,c){ja=!0;throw"Assertion failed: "+n(a)+", at: "+[b?n(b):"unknown filename",d,c?n(c):"unknown function"]+" at "+g();},___cxa_allocate_exception:function(a){return Oa(a)},___cxa_begin_catch:function(a){var b=z.infos[a];b&&!b.caught&&(b.caught=!0,ia.uncaught_exception--);b&&(b.rethrown=!1);z.caught.push(a);z.addRef(z.deAdjust(a));return a},___cxa_find_matching_catch:ma,___cxa_pure_virtual:function(){ja=!0;throw"Pure virtual function called!";},___cxa_throw:function(a,b, +d){z.infos[a]={ptr:a,adjusted:a,type:b,destructor:d,refcount:0,caught:!1,rethrown:!1};z.last=a;"uncaught_exception"in ia?ia.uncaught_exception++:ia.uncaught_exception=1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},___resumeException:function(a){z.last||(z.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."; +},___setErrNo:function(c){a.___errno_location&&(w[a.___errno_location()>>2]=c);return c},___syscall140:function(a,b){t.varargs=b;try{var d=t.getStreamFromFD();t.get();var c=t.get(),e=t.get(),f=t.get();FS.llseek(d,c,f);w[e>>2]=d.position;d.getdents&&0===c&&0===f&&(d.getdents=null);return 0}catch(da){return"undefined"!==typeof FS&&da instanceof FS.ErrnoError||S(da),-da.errno}},___syscall146:L,___syscall54:function(a,b){t.varargs=b;return 0},___syscall6:function(a,b){t.varargs=b;try{var d=t.getStreamFromFD(); +FS.close(d);return 0}catch(l){return"undefined"!==typeof FS&&l instanceof FS.ErrnoError||S(l),-l.errno}},_abort:function(){a.abort()},_emscripten_memcpy_big:function(a,b,d){O.set(O.subarray(b,b+d),a);return a},_pthread_getspecific:function(a){return ta[a]||0},_pthread_key_create:function(a,b){if(0==a)return 22;w[a>>2]=Ga;ta[Ga]=0;Ga++;return 0},_pthread_once:na,_pthread_setspecific:function(a,b){if(!(a in ta))return 22;ta[a]=b;return 0},DYNAMICTOP_PTR:W,tempDoublePtr:ub,ABORT:ja,STACKTOP:P,STACK_MAX:sa}; +var $a=a.asm(a.asmGlobalArg,a.asmLibraryArg,E);a.asm=$a;a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var hb=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},vb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1= +function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)},wb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},xb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null,arguments)},kb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0= +function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null,arguments)},yb=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},zb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null,arguments)},Ab=a._emscripten_bind_AttributeQuantizationTransform_min_value_1= +function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null,arguments)},Bb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},Cb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null,arguments)},jb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0= +function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null,arguments)},Db=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Eb=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null,arguments)},ob=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null, +arguments)},Fb=a._emscripten_bind_DecoderBuffer_Init_2=function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Gb=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Hb=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null,arguments)},Ib=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null, +arguments)},pb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},Jb=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},Kb=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Lb=a._emscripten_bind_Decoder_GetAttributeFloat_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Mb=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},Nb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},Ob=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null, +arguments)},Pb=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},Qb=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},Rb=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},Sb=a._emscripten_bind_Decoder_GetAttribute_2= +function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetEncodedGeometryType_1=function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},Vb=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)}, +Wb=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null,arguments)},Xb=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null,arguments)},Yb=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},mb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null, +arguments)},Zb=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},$b=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},ac=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},rb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null, +arguments)},bc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null,arguments)},cc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},dc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},nb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, +arguments)},ec=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},qb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},fc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},gc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null, +arguments)},hc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},ic=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},jc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},kc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null, +arguments)},lc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},mc=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},nc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},oc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2= +function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},lb=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null,arguments)},pc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},sb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null, +arguments)},qc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null,arguments)},rc=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},ib=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},sc=a._emscripten_bind_PointAttribute___destroy___0= +function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},tc=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},uc=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},vc=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null, +arguments)},wc=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null,arguments)},xc=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},yc=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},zc=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null, +arguments)},Ac=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null,arguments)},gb=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},Bc=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},Cc=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null, +arguments)},Dc=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null,arguments)},Ec=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},Fc=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},Gc=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)}, +Hc=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},Ic=a._emscripten_bind_VoidPtr___destroy___0=function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},Jc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},Kc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM= +function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},Lc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)},Mc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null, +arguments)},Nc=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null,arguments)},Oc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},Pc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null, +arguments)},Qc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},Rc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},Sc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},Tc=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL= +function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},Uc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},Vc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},Wc=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null, +arguments)},Xc=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null,arguments)},Yc=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},Zc=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},$c=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null, +arguments)},ad=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null,arguments)};a._emscripten_get_global_libc=function(){return a.asm._emscripten_get_global_libc.apply(null,arguments)};var tb=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null, +arguments)};var Oa=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)};a._memmove=function(){return a.asm._memmove.apply(null,arguments)};a._memset=function(){return a.asm._memset.apply(null,arguments)};a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)}; +a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)};a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_iii= +function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)};a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)}; +a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};m.stackAlloc=a.stackAlloc;m.stackSave=a.stackSave;m.stackRestore=a.stackRestore;m.establishStackSpace=a.establishStackSpace;m.setTempRet0=a.setTempRet0;m.getTempRet0=a.getTempRet0;a.asm=$a;if(Q)if("function"===typeof a.locateFile?Q=a.locateFile(Q):a.memoryInitializerPrefixURL&& +(Q=a.memoryInitializerPrefixURL+Q),la||ra){var bd=a.readBinary(Q);O.set(bd,m.GLOBAL_BASE)}else{var bb=function(){a.readAsync(Q,ab,function(){throw"could not load memory initializer "+Q;})};v("memory initializer");var ab=function(c){c.byteLength&&(c=new Uint8Array(c));O.set(c,m.GLOBAL_BASE);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;Ia("memory initializer")};if(a.memoryInitializerRequest){var cb=function(){var c=a.memoryInitializerRequest,b=c.response;200!==c.status&&0!== +c.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+c.status+", retrying "+Q),bb()):ab(b)};a.memoryInitializerRequest.response?setTimeout(cb,0):a.memoryInitializerRequest.addEventListener("load",cb)}else bb()}a.then=function(c){if(a.calledRun)c(a);else{var b=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){b&&b();c(a)}}return a};aa.prototype=Error();aa.prototype.constructor=aa;var Ua=null;oa=function b(){a.calledRun||ya();a.calledRun||(oa= +b)};a.run=ya;a.exit=function(b,d){if(!d||!a.noExitRuntime){if(!a.noExitRuntime&&(ja=!0,P=void 0,u(Za),a.onExit))a.onExit(b);la&&process.exit(b);a.quit(b,new aa(b))}};var Wa=[];a.abort=S;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=k.size?(f(0>=1;break;case 4:c>>=2;break;case 8:c>>=3}for(var b=0;b>>16&65535)*k+h*(f>>>16&65535)<<16>>>0)|0}},"es6","es3"); -$jscomp.polyfill("Math.clz32",function(e){return e?e:function(e){e=Number(e)>>>0;if(0===e)return 32;var f=0;0===(e&4294901760)&&(e<<=16,f+=16);0===(e&4278190080)&&(e<<=8,f+=8);0===(e&4026531840)&&(e<<=4,f+=4);0===(e&3221225472)&&(e<<=2,f+=2);0===(e&2147483648)&&f++;return f}},"es6","es3");$jscomp.polyfill("Math.trunc",function(e){return e?e:function(e){e=Number(e);if(isNaN(e)||Infinity===e||-Infinity===e||0===e)return e;var f=Math.floor(Math.abs(e));return 0>e?-f:f}},"es6","es3"); -$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(e){return $jscomp.SYMBOL_PREFIX+(e||"")+$jscomp.symbolCounter_++}; -$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var e=$jscomp.global.Symbol.iterator;e||(e=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[e]&&$jscomp.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(e){var h=0;return $jscomp.iteratorPrototype(function(){return h>0];case "i8":return N[a>>0];case "i16":return ra[a>>1];case "i32":return u[a>>2];case "i64":return u[a>>2];case "float":return xa[a>> -2];case "double":return ya[a>>3];default:M("invalid type for setValue: "+b)}return null}function R(a,b,c,g){if("number"===typeof a){var d=!0;var e=a}else d=!1,e=a.length;var S="string"===typeof b?b:null;c=4==c?g:["function"===typeof ka?ka:n.staticAlloc,n.stackAlloc,n.staticAlloc,n.dynamicAlloc][void 0===c?2:c](Math.max(e,S?1:b.length));if(d){g=c;f(0==(c&3));for(a=c+(e&-4);g>2]=0;for(a=c+e;g>0]=0;return c}if("i8"===S)return a.subarray||a.slice?G.set(a,c):G.set(new Uint8Array(a), -c),c;g=0;for(var k,m;g>0]=h;break;case "i8":N[l>>0]=h;break;case "i16":ra[l>>1]=h;break;case "i32":u[l>>2]=h;break;case "i64":tempI64=[h>>>0,(tempDouble=h,1<=+pb(tempDouble)?0>>0:~~+sb((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)];u[l>>2]= -tempI64[0];u[l+4>>2]=tempI64[1];break;case "float":xa[l>>2]=h;break;case "double":ya[l>>3]=h;break;default:M("invalid type for setValue: "+p)}m!==d&&(k=n.getNativeTypeSize(d),m=d);g+=k}}return c}function t(d,b){if(0===b||!d)return"";for(var c=0,g,e=0;;){g=G[d+e>>0];c|=g;if(0==g&&!b)break;e++;if(b&&e==b)break}b||(b=e);g="";if(128>c){for(;0=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++e)&1023);if(127>=f){if(c>=g)break;b[c++]=f}else{if(2047>=f){if(c+1>=g)break;b[c++]=192|f>>6}else{if(65535>=f){if(c+2>=g)break;b[c++]=224|f>>12}else{if(2097151>=f){if(c+3>=g)break;b[c++]=240|f>>18}else{if(67108863>=f){if(c+4>=g)break;b[c++]=248|f>>24}else{if(c+5>=g)break;b[c++]=252|f>>30;b[c++]=128|f>>24&63}b[c++]=128|f>>18&63}b[c++]=128|f>>12&63}b[c++]=128|f>>6& -63}b[c++]=128|f&63}}b[c]=0;return c-d}function ha(a){for(var b=0,d=0;d=g&&(g=65536+((g&1023)<<10)|a.charCodeAt(++d)&1023);127>=g?++b:b=2047>=g?b+2:65535>=g?b+3:2097151>=g?b+4:67108863>=g?b+5:b+6}return b}function pa(d){return d.replace(/__Z[\w\d_]+/g,function(b){a:{var d=a.___cxa_demangle||a.__cxa_demangle;if(d)try{var g=b.substr(1),e=ha(g)+1;var f=ka(e);Da(g,G,f,e);var h=ka(4);var l=d(f,0,0,h);if(0===k(h,"i32")&&l){var m=t(l);break a}}catch(xd){}finally{f&& -Ha(f),h&&Ha(h),l&&Ha(l)}else n.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");m=b}return b===m?b:b+" ["+m+"]"})}function ia(){a:{var d=Error();if(!d.stack){try{throw Error(0);}catch(b){d=b}if(!d.stack){d="(no stack trace available)";break a}}d=d.stack.toString()}a.extraStackTrace&&(d+="\n"+a.extraStackTrace());return pa(d)}function Ea(a,b){0>2]>b)return!1;var c=x;for(x=Math.max(x,tb);x>2];)x=536870912>=x?Ea(2*x,d):Math.min(Ea((3*x+2147483648)/4,d),b);d=a.reallocBuffer(x);if(!d||d.byteLength!=x)return x=c,!1;a.buffer=H=d;ba();return!0}function ja(d){for(;0>2]=d;d=ta.buffer;for(var e=0;e>2],b.adjusted=d,(n.setTempRet0(g[e]),d)|0;d=u[d>>2];return(n.setTempRet0(c),d)|0}function ua(d,b){ua.seen||(ua.seen={});d in ua.seen||(a.dynCall_v(b),ua.seen[d]=1)}function ca(d,b){A.varargs=b;try{var c=A.get(),g=A.get(),e=A.get(); -d=0;ca.buffer||(ca.buffers=[null,[],[]],ca.printChar=function(b,d){var c=ca.buffers[b];f(c);if(0===d||10===d){b=1===b?a.print:a.printErr;a:{for(var g=d=0;c[g];)++g;if(16e?g+=String.fromCharCode(e):(e-=65536,g+=String.fromCharCode(55296|e>>10,56320|e&1023))}}else g+=String.fromCharCode(e)}}b(d);c.length=0}else c.push(d)});for(b=0;b>2],k=u[g+(8*b+4)>>2],l=0;la.length||3=a[1]?!0:0!=a[0]||10>2];a=(b+a+15|0)&-16;u[Y>>2]=a;return a>=x&&!Ua()?(u[Y>>2]=b,0):b},alignMemory:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)},makeBigInt:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0},na=0;(function(){function a(a){a=a.toString().match(e).slice(1);return{arguments:a[0], -body:a[1],returnValue:a[2]}}function b(){if(!f){f={};for(var b in c)c.hasOwnProperty(b)&&(f[b]=a(c[b]))}}var c={stackSave:function(){n.stackSave()},stackRestore:function(){n.stackRestore()},arrayToC:function(a){var b=n.stackAlloc(a.length);N.set(a,b);return b},stringToC:function(a){var b=0;if(null!==a&&void 0!==a&&0!==a){var d=(a.length<<2)+1;b=n.stackAlloc(d);Da(a,G,b,d)}return b}},e=/^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,f=null;cwrap=function(d, -c,e){e=e||[];var g=r(d);d=e.every(function(a){return"number"===a});var h="string"!==c;if(h&&d)return g;var k=e.map(function(a,b){return"$"+b});c="(function("+k.join(",")+") {";var l=e.length;if(!d){b();c+="var stack = "+f.stackSave.body+";";for(var m=0;m>>16)*e+d*(b>>>16)<<16)|0});Math.imul=Math.imul;if(!Math.fround){var kb= -new Float32Array(1);Math.fround=function(a){kb[0]=a;return kb[0]}}Math.fround=Math.fround;Math.clz32||(Math.clz32=function(a){a>>>=0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.clz32=Math.clz32;Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});Math.trunc=Math.trunc;var pb=Math.abs,sb=Math.ceil,rb=Math.floor,qb=Math.min,ea=0,Ja=null,sa=null;a.preloadedImages={};a.preloadedAudios={};var U=null;(function(d){function b(a,b){var d=t;if(0>a.indexOf("."))d=(d||{})[a]; -else{var c=a.split(".");d=(d||{})[c[0]];d=(d||{})[c[1]]}b&&(d=(d||{})[b]);void 0===d&&M("bad lookupImport to ("+a+")."+b);return d}function c(b){var c=d.buffer;b.byteLength>>0)/(b>>>0)>>>0},"i32s-rem":function(a,b){return(a|0)%(b|0)|0},"i32u-rem":function(a,b){return(a>>>0)%(b>>>0)>>>0},"debugger":function(){debugger}}, -parent:d},u=null;d.asmPreload=d.asm;var q=d.reallocBuffer,r=function(a){a=Ea(a,d.usingWasm?Ia:Xa);var b=d.buffer,c=b.byteLength;if(d.usingWasm)try{return-1!==d.wasmMemory.grow((a-c)/65536)?d.buffer=d.wasmMemory.buffer:null}catch(yd){return null}else return u.__growWasmMemory((a-c)/65536),d.buffer!==b?d.buffer:null};d.reallocBuffer=function(a){return"asmjs"===A?q(a):r(a)};var A="";d.asm=function(a,g,h){if(!g.table){var z=d.wasmTableSize;void 0===z&&(z=1024);var p=d.wasmMaxTableSize;g.table="object"=== -typeof WebAssembly&&"function"===typeof WebAssembly.Table?void 0!==p?new WebAssembly.Table({initial:z,maximum:p,element:"anyfunc"}):new WebAssembly.Table({initial:z,element:"anyfunc"}):Array(z);d.wasmTable=g.table}g.memoryBase||(g.memoryBase=d.STATIC_BASE);g.tableBase||(g.tableBase=0);var q;z=m.split(",");for(p=0;p>2]},getStr:function(){return t(A.get())},get64:function(){var a=A.get(),b=A.get();0<=a?f(0===b):f(-1===b);return a},getZero:function(){f(0===A.get())}},Ca={};a._sbrk=Ob;a._memmove=Pb;var Ta=1;a._llvm_bswap_i32=Qb;gb.push(function(){var d=a._fflush;d&&d(0); -if(d=ca.printChar){var b=ca.buffers;b[1].length&&d(1,10);b[2].length&&d(2,10)}});Y=R(1,"i32",2);Oa=T=n.alignMemory(X);Ba=Oa+Sa;Pa=n.alignMemory(Ba);u[Y>>2]=Pa;a.wasmTableSize=468;a.wasmMaxTableSize=468;a.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Ra};a.asmLibraryArg={abort:M,assert:f,enlargeMemory:Ua, -getTotalMemory:function(){return x},abortOnCannotGrowMemory:function(){M("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+x+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")},invoke_iiii:function(d,b,c,e){try{return a.dynCall_iiii(d,b,c,e)}catch(z){if("number"!==typeof z&&"longjmp"!==z)throw z; -a.setThrew(1,0)}},invoke_viiiii:function(d,b,c,e,f,h){try{a.dynCall_viiiii(d,b,c,e,f,h)}catch(S){if("number"!==typeof S&&"longjmp"!==S)throw S;a.setThrew(1,0)}},invoke_vi:function(d,b){try{a.dynCall_vi(d,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_vii:function(d,b,c){try{a.dynCall_vii(d,b,c)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;a.setThrew(1,0)}},invoke_iiiiiii:function(d,b,c,e,f,h,k){try{return a.dynCall_iiiiiii(d,b,c,e,f,h,k)}catch(y){if("number"!== -typeof y&&"longjmp"!==y)throw y;a.setThrew(1,0)}},invoke_ii:function(d,b){try{return a.dynCall_ii(d,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_viii:function(d,b,c,e){try{a.dynCall_viii(d,b,c,e)}catch(z){if("number"!==typeof z&&"longjmp"!==z)throw z;a.setThrew(1,0)}},invoke_v:function(d){try{a.dynCall_v(d)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;a.setThrew(1,0)}},invoke_viiiiii:function(d,b,c,e,f,h,k){try{a.dynCall_viiiiii(d,b,c,e,f,h,k)}catch(y){if("number"!== -typeof y&&"longjmp"!==y)throw y;a.setThrew(1,0)}},invoke_iii:function(d,b,c){try{return a.dynCall_iii(d,b,c)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;a.setThrew(1,0)}},invoke_viiii:function(d,b,c,e,f){try{a.dynCall_viiii(d,b,c,e,f)}catch(Fa){if("number"!==typeof Fa&&"longjmp"!==Fa)throw Fa;a.setThrew(1,0)}},_pthread_getspecific:function(a){return Ca[a]||0},_pthread_setspecific:function(a,b){if(!(a in Ca))return 22;Ca[a]=b;return 0},___cxa_throw:function(a,b,c){C.infos[a]={ptr:a,adjusted:a, -type:b,destructor:c,refcount:0,caught:!1,rethrown:!1};C.last=a;"uncaught_exception"in la?la.uncaught_exception++:la.uncaught_exception=1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},_pthread_key_create:function(a,b){if(0==a)return 22;u[a>>2]=Ta;Ca[Ta]=0;Ta++;return 0},_abort:function(){a.abort()},___setErrNo:function(d){a.___errno_location&&(u[a.___errno_location()>>2]=d);return d}, -___syscall6:function(a,b){A.varargs=b;try{var c=A.getStreamFromFD();FS.close(c);return 0}catch(g){return"undefined"!==typeof FS&&g instanceof FS.ErrnoError||M(g),-g.errno}},___cxa_begin_catch:function(a){var b=C.infos[a];b&&!b.caught&&(b.caught=!0,la.uncaught_exception--);b&&(b.rethrown=!1);C.caught.push(a);C.addRef(C.deAdjust(a));return a},___syscall146:ca,_pthread_once:ua,_emscripten_memcpy_big:function(a,b,c){G.set(G.subarray(b,b+c),a);return a},___gxx_personality_v0:function(){},___syscall140:function(a, -b){A.varargs=b;try{var c=A.getStreamFromFD();A.get();var d=A.get(),e=A.get(),f=A.get();FS.llseek(c,d,f);u[e>>2]=c.position;c.getdents&&0===d&&0===f&&(c.getdents=null);return 0}catch(S){return"undefined"!==typeof FS&&S instanceof FS.ErrnoError||M(S),-S.errno}},___resumeException:function(a){C.last||(C.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___cxa_find_matching_catch:ta, -___assert_fail:function(a,b,c,e){na=!0;throw"Assertion failed: "+t(a)+", at: "+[b?t(b):"unknown filename",c,e?t(e):"unknown function"]+" at "+ia();},___cxa_pure_virtual:function(){na=!0;throw"Pure virtual function called!";},___cxa_allocate_exception:function(a){return ka(a)},__ZSt18uncaught_exceptionv:la,DYNAMICTOP_PTR:Y,tempDoublePtr:Lb,ABORT:na,STACKTOP:T,STACK_MAX:Ba};var lb=a.asm(a.asmGlobalArg,a.asmLibraryArg,H);a.asm=lb;var Rb=a._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null, -arguments)},Sb=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Ub=a._emscripten_bind_DecoderBuffer_Init_2=function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Vb=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null, -arguments)},Wb=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},Ob=a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)},Nb=a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};var Xb=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null, -arguments)},Yb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},Zb=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},$b=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},ac=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null, -arguments)};a._emscripten_get_global_libc=function(){return a.asm._emscripten_get_global_libc.apply(null,arguments)};var bc=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null,arguments)},cc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)};a.runPostSets=function(){return a.asm.runPostSets.apply(null, -arguments)};var dc=a._emscripten_bind_Decoder_GetEncodedGeometryType_1=function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null,arguments)};a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)};var Ha=a._free=function(){return a.asm._free.apply(null,arguments)},ec=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null,arguments)}, -fc=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},gc=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null,arguments)},Hb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null,arguments)},hc=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null, -arguments)},Eb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},ic=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},jc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null,arguments)},kc=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null, -arguments)},lc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)};a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};var mc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null, -arguments)},nc=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},oc=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var yb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null, -arguments)},pc=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)};var qc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},rc=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null, -arguments)},sc=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null,arguments)},Fb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},Ab=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null,arguments)},tc=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null, -arguments)},uc=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},vc=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},wc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},xc=a._emscripten_bind_Mesh_num_attributes_0= -function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null,arguments)},yc=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null,arguments)},zc=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},Qb=a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null, -arguments)},Ac=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},Bc=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};var Cc=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null, -arguments)},Dc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},Ec=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null,arguments)},Fc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},Db=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0= -function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Gc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},Hc=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null,arguments)},Ic=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null, -arguments)},Jc=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},Kc=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null,arguments)},Lc=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},Mc=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER= -function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null,arguments)},Nc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},Oc=a._emscripten_bind_VoidPtr___destroy___0=function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},Mb=a._memset=function(){return a.asm._memset.apply(null,arguments)},Pc=a._emscripten_bind_PointAttribute_attribute_type_0= -function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},Qc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},Rc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null,arguments)},Sc=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null, -arguments)},Tc=a._emscripten_bind_Decoder_GetAttribute_2=function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},Uc=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)};a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)};var Gb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null,arguments)}, -Vc=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null,arguments)},Wc=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},Xc=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null,arguments)},Yc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null, -arguments)},Cb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null,arguments)},Zc=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},$c=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null,arguments)},ad=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null, -arguments)},bd=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null,arguments)},ka=a._malloc=function(){return a.asm._malloc.apply(null,arguments)},cd=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},dd=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null, -arguments)},Ib=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)},Pb=a._memmove=function(){return a.asm._memmove.apply(null,arguments)},vb=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},ed=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)},fd=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null, -arguments)},gd=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null,arguments)},hd=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},id=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},zb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0= -function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null,arguments)},jd=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null,arguments)},kd=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null,arguments)},ld=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null, -arguments)},md=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null,arguments)},nd=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},wb=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},Bb= -a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null,arguments)},od=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},pd=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null,arguments)},qd=a._emscripten_bind_DracoFloat32Array_GetValue_1= -function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},xb=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},rd=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)},sd=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null, -arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};var td=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},ud=a._emscripten_bind_PointAttribute___destroy___0=function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},vd=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null, -arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null, -arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};a.dynCall_iii=function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};n.stackAlloc=a.stackAlloc;n.stackSave=a.stackSave;n.stackRestore=a.stackRestore;n.establishStackSpace=a.establishStackSpace;n.setTempRet0=a.setTempRet0;n.getTempRet0=a.getTempRet0;a.asm=lb; -if(U)if("function"===typeof a.locateFile?U=a.locateFile(U):a.memoryInitializerPrefixURL&&(U=a.memoryInitializerPrefixURL+U),oa||Aa){var wd=a.readBinary(U);G.set(wd,n.GLOBAL_BASE)}else{var nb=function(){a.readAsync(U,mb,function(){throw"could not load memory initializer "+U;})};Ya("memory initializer");var mb=function(d){d.byteLength&&(d=new Uint8Array(d));G.set(d,n.GLOBAL_BASE);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;Za("memory initializer")};if(a.memoryInitializerRequest){var ob= -function(){var d=a.memoryInitializerRequest;200!==d.status&&0!==d.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+d.status+", retrying "+U),nb()):mb(d.response)};a.memoryInitializerRequest.response?setTimeout(ob,0):a.memoryInitializerRequest.addEventListener("load",ob)}else nb()}a.then=function(d){if(a.calledRun)d(a);else{var b=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){b&&b();d(a)}}return a};ma.prototype=Error();ma.prototype.constructor= -ma;var ub,db=null;sa=function b(){a.calledRun||Ka();a.calledRun||(sa=b)};a.callMain=a.callMain=function(b){function c(){for(var a=0;3>a;a++)f.push(0)}b=b||[];za||(za=!0,ja(La));var e=b.length+1,f=[R(qa(a.thisProgram),"i8",0)];c();for(var h=0;h=l.size?(f(0>=1;break;case 4:e>>=2;break;case 8:e>>=3}for(var b=0;b>>16&65535)*g+n*(b>>>16&65535)<<16>>>0)|0}},"es6","es3"); +$jscomp.polyfill("Math.clz32",function(b){return b?b:function(f){f=Number(f)>>>0;if(0===f)return 32;var b=0;0===(f&4294901760)&&(f<<=16,b+=16);0===(f&4278190080)&&(f<<=8,b+=8);0===(f&4026531840)&&(f<<=4,b+=4);0===(f&3221225472)&&(f<<=2,b+=2);0===(f&2147483648)&&b++;return b}},"es6","es3");$jscomp.polyfill("Math.trunc",function(b){return b?b:function(b){b=Number(b);if(isNaN(b)||Infinity===b||-Infinity===b||0===b)return b;var f=Math.floor(Math.abs(b));return 0>b?-f:f}},"es6","es3"); +$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(b){return $jscomp.SYMBOL_PREFIX+(b||"")+$jscomp.symbolCounter_++}; +$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var b=$jscomp.global.Symbol.iterator;b||(b=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[b]&&$jscomp.defineProperty(Array.prototype,b,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(b){var f=0;return $jscomp.iteratorPrototype(function(){return f>0];d|=l;if(0==l&&!c)break;b++;if(c&&b==c)break}c||(c=b);l="";if(128>d){for(;0>2]>c)return!1;var d=x;for(x=Math.max(x,db);x>2];)x=536870912>=x?ha(2*x,e):Math.min(ha((3*x+2147483648)/4,e),c);e=a.reallocBuffer(x);if(!e||e.byteLength!=x)return x=d,!1;a.buffer=E=e;R();return!0}function u(e){for(;0>2]=e;e=ma.buffer;for(var b=0;b> +2],c.adjusted=e,(m.setTempRet0(l[b]),e)|0;e=w[e>>2];return(m.setTempRet0(d),e)|0}function L(e,c){t.varargs=c;try{var d=t.get(),l=t.get(),b=t.get();e=0;L.buffer||(L.buffers=[null,[],[]],L.printChar=function(c,e){var d=L.buffers[c];f(d);if(0===e||10===e){c=1===c?a.print:a.printErr;a:{for(var l=e=0;d[l];)++l;if(16b?l+=String.fromCharCode(b):(b-=65536,l+=String.fromCharCode(55296|b>>10,56320|b&1023))}}else l+=String.fromCharCode(b)}}c(e);d.length=0}else d.push(e)});for(c=0;c>2],h=w[l+(8*c+4)>>2],k=0;k=b&&(b=65536+((b&1023)<<10)|a.charCodeAt(++e)&1023);127>=b?++c:c=2047>=b?c+2:65535>=b?c+3:2097151>=b?c+4:67108863>=b?c+5:c+6}c=Array(c+1);e=0;b=c.length;if(0=g&&(g=65536+((g&1023)<<10)|a.charCodeAt(++f)&1023);if(127>=g){if(e>=b)break;c[e++]=g}else{if(2047>=g){if(e+1>=b)break;c[e++]=192|g>>6}else{if(65535>=g){if(e+2>=b)break;c[e++]=224|g>>12}else{if(2097151>=g){if(e+3>=b)break;c[e++]=240|g>>18}else{if(67108863>=g){if(e+4>=b)break;c[e++]=248|g>>24}else{if(e+5>=b)break;c[e++]=252|g>>30;c[e++]=128|g>>24&63}c[e++]=128|g>>18&63}c[e++]=128|g>>12&63}c[e++]=128|g>>6&63}c[e++]=128|g&63}}c[e]=0}a=k.alloc(c,ba);k.copy(c,ba,a)}return a} +function A(){throw"cannot construct a Status, no constructor in IDL";}function G(){this.ptr=gb();B(G)[this.ptr]=this}function H(){this.ptr=hb();B(H)[this.ptr]=this}function p(){this.ptr=ib();B(p)[this.ptr]=this}function K(){this.ptr=jb();B(K)[this.ptr]=this}function y(){this.ptr=kb();B(y)[this.ptr]=this}function r(){this.ptr=lb();B(r)[this.ptr]=this}function I(){this.ptr=mb();B(I)[this.ptr]=this}function U(){this.ptr=nb();B(U)[this.ptr]=this}function M(){this.ptr=ob();B(M)[this.ptr]=this}function h(){this.ptr= +pb();B(h)[this.ptr]=this}function C(){this.ptr=qb();B(C)[this.ptr]=this}function Y(){throw"cannot construct a VoidPtr, no constructor in IDL";}function J(){this.ptr=rb();B(J)[this.ptr]=this}function N(){this.ptr=sb();B(N)[this.ptr]=this}var a=b=b||{},Xa=!1,Ya=!1;a.onRuntimeInitialized=function(){Xa=!0;if(Ya&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.onModuleParsed=function(){Ya=!0;if(Xa&&"function"===typeof a.onModuleLoaded)a.onModuleLoaded(a)};a.isVersionSupported=function(a){if("string"!== +typeof a)return!1;a=a.split(".");return 2>a.length||3=a[1]?!0:0!=a[0]||10>2];a=(c+a+15|0)&-16;w[W>>2]=a;return a>=x&&!Ha()?(w[W>>2]=c,0):c},alignMemory:function(a,c){return Math.ceil(a/(c?c:16))*(c?c:16)},makeBigInt:function(a,c,d){return d?+(a>>>0)+4294967296*+(c>>>0):+(a>>>0)+4294967296*+(c|0)},GLOBAL_BASE:1024,QUANTUM_SIZE:4,__dummy__:0},ja=0,Pa="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;"undefined"!== +typeof TextDecoder&&new TextDecoder("utf-16le");var va=65536,Na=16777216,db=16777216,ba,O,ua,Ja,w,Ka,La,Ma,V,Ba,P,sa,Ca,W;var Da=V=Ba=P=sa=Ca=W=0;a.reallocBuffer||(a.reallocBuffer=function(a){try{if(ArrayBuffer.transfer)var c=ArrayBuffer.transfer(E,a);else{var d=ba;c=new ArrayBuffer(a);(new Int8Array(c)).set(d)}}catch(l){return!1}return tb(c)?c:!1});try{var Ea=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);Ea(new ArrayBuffer(4))}catch(e){Ea=function(a){return a.byteLength}}var Fa= +a.TOTAL_STACK||5242880,x=a.TOTAL_MEMORY||16777216;x>2]},getStr:function(){return n(t.get())},get64:function(){var a=t.get(),c=t.get();0<=a? +f(0===c):f(-1===c);return a},getZero:function(){f(0===t.get())}},ta={},Ga=1;Za.push(function(){var e=a._fflush;e&&e(0);if(e=L.printChar){var c=L.buffers;c[1].length&&e(1,10);c[2].length&&e(2,10)}});W=m.staticAlloc(4);Ba=P=m.alignMemory(V);sa=Ba+Fa;Ca=m.alignMemory(sa);w[W>>2]=Ca;a.wasmTableSize=468;a.wasmMaxTableSize=468;a.asmGlobalArg={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array, +Float64Array:Float64Array,NaN:NaN,Infinity:Infinity,byteLength:Ea};a.asmLibraryArg={abort:S,assert:f,enlargeMemory:Ha,getTotalMemory:function(){return x},abortOnCannotGrowMemory:function(){S("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+x+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}, +invoke_ii:function(e,c){try{return a.dynCall_ii(e,c)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;a.setThrew(1,0)}},invoke_iii:function(e,c,d){try{return a.dynCall_iii(e,c,d)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_iiii:function(e,c,d,b){try{return a.dynCall_iiii(e,c,d,b)}catch(F){if("number"!==typeof F&&"longjmp"!==F)throw F;a.setThrew(1,0)}},invoke_iiiiiii:function(e,c,d,b,f,g,h){try{return a.dynCall_iiiiiii(e,c,d,b,f,g,h)}catch(ea){if("number"!== +typeof ea&&"longjmp"!==ea)throw ea;a.setThrew(1,0)}},invoke_v:function(e){try{a.dynCall_v(e)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;a.setThrew(1,0)}},invoke_vi:function(e,c){try{a.dynCall_vi(e,c)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;a.setThrew(1,0)}},invoke_vii:function(e,c,d){try{a.dynCall_vii(e,c,d)}catch(l){if("number"!==typeof l&&"longjmp"!==l)throw l;a.setThrew(1,0)}},invoke_viii:function(e,c,d,b){try{a.dynCall_viii(e,c,d,b)}catch(F){if("number"!==typeof F&& +"longjmp"!==F)throw F;a.setThrew(1,0)}},invoke_viiii:function(e,c,d,b,f){try{a.dynCall_viiii(e,c,d,b,f)}catch(pa){if("number"!==typeof pa&&"longjmp"!==pa)throw pa;a.setThrew(1,0)}},invoke_viiiii:function(e,c,d,b,f,g){try{a.dynCall_viiiii(e,c,d,b,f,g)}catch(da){if("number"!==typeof da&&"longjmp"!==da)throw da;a.setThrew(1,0)}},invoke_viiiiii:function(e,c,d,b,f,g,h){try{a.dynCall_viiiiii(e,c,d,b,f,g,h)}catch(ea){if("number"!==typeof ea&&"longjmp"!==ea)throw ea;a.setThrew(1,0)}},__ZSt18uncaught_exceptionv:ia, +___assert_fail:function(a,c,d,b){ja=!0;throw"Assertion failed: "+n(a)+", at: "+[c?n(c):"unknown filename",d,b?n(b):"unknown function"]+" at "+g();},___cxa_allocate_exception:function(a){return Oa(a)},___cxa_begin_catch:function(a){var c=z.infos[a];c&&!c.caught&&(c.caught=!0,ia.uncaught_exception--);c&&(c.rethrown=!1);z.caught.push(a);z.addRef(z.deAdjust(a));return a},___cxa_find_matching_catch:ma,___cxa_pure_virtual:function(){ja=!0;throw"Pure virtual function called!";},___cxa_throw:function(a,c, +d){z.infos[a]={ptr:a,adjusted:a,type:c,destructor:d,refcount:0,caught:!1,rethrown:!1};z.last=a;"uncaught_exception"in ia?ia.uncaught_exception++:ia.uncaught_exception=1;throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";},___gxx_personality_v0:function(){},___resumeException:function(a){z.last||(z.last=a);throw a+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."; +},___setErrNo:function(b){a.___errno_location&&(w[a.___errno_location()>>2]=b);return b},___syscall140:function(a,c){t.varargs=c;try{var d=t.getStreamFromFD();t.get();var b=t.get(),e=t.get(),f=t.get();FS.llseek(d,b,f);w[e>>2]=d.position;d.getdents&&0===b&&0===f&&(d.getdents=null);return 0}catch(da){return"undefined"!==typeof FS&&da instanceof FS.ErrnoError||S(da),-da.errno}},___syscall146:L,___syscall6:function(a,c){t.varargs=c;try{var d=t.getStreamFromFD();FS.close(d);return 0}catch(l){return"undefined"!== +typeof FS&&l instanceof FS.ErrnoError||S(l),-l.errno}},_abort:function(){a.abort()},_emscripten_memcpy_big:function(a,c,d){O.set(O.subarray(c,c+d),a);return a},_pthread_getspecific:function(a){return ta[a]||0},_pthread_key_create:function(a,c){if(0==a)return 22;w[a>>2]=Ga;ta[Ga]=0;Ga++;return 0},_pthread_once:na,_pthread_setspecific:function(a,c){if(!(a in ta))return 22;ta[a]=c;return 0},DYNAMICTOP_PTR:W,tempDoublePtr:ub,ABORT:ja,STACKTOP:P,STACK_MAX:sa};var $a=a.asm(a.asmGlobalArg,a.asmLibraryArg, +E);a.asm=$a;a.___cxa_can_catch=function(){return a.asm.___cxa_can_catch.apply(null,arguments)};a.___cxa_is_pointer_type=function(){return a.asm.___cxa_is_pointer_type.apply(null,arguments)};var hb=a._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0.apply(null,arguments)},vb=a._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1.apply(null, +arguments)},wb=a._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform___destroy___0.apply(null,arguments)},xb=a._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0.apply(null,arguments)},kb=a._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0.apply(null, +arguments)},yb=a._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1.apply(null,arguments)},zb=a._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform___destroy___0.apply(null,arguments)},Ab=a._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_min_value_1.apply(null, +arguments)},Bb=a._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0.apply(null,arguments)},Cb=a._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return a.asm._emscripten_bind_AttributeQuantizationTransform_range_0.apply(null,arguments)},jb=a._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return a.asm._emscripten_bind_AttributeTransformData_AttributeTransformData_0.apply(null, +arguments)},Db=a._emscripten_bind_AttributeTransformData___destroy___0=function(){return a.asm._emscripten_bind_AttributeTransformData___destroy___0.apply(null,arguments)},Eb=a._emscripten_bind_AttributeTransformData_transform_type_0=function(){return a.asm._emscripten_bind_AttributeTransformData_transform_type_0.apply(null,arguments)},ob=a._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return a.asm._emscripten_bind_DecoderBuffer_DecoderBuffer_0.apply(null,arguments)},Fb=a._emscripten_bind_DecoderBuffer_Init_2= +function(){return a.asm._emscripten_bind_DecoderBuffer_Init_2.apply(null,arguments)},Gb=a._emscripten_bind_DecoderBuffer___destroy___0=function(){return a.asm._emscripten_bind_DecoderBuffer___destroy___0.apply(null,arguments)},Hb=a._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToMesh_2.apply(null,arguments)},Ib=a._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return a.asm._emscripten_bind_Decoder_DecodeBufferToPointCloud_2.apply(null, +arguments)},pb=a._emscripten_bind_Decoder_Decoder_0=function(){return a.asm._emscripten_bind_Decoder_Decoder_0.apply(null,arguments)},Jb=a._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeByUniqueId_2.apply(null,arguments)},Kb=a._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3.apply(null,arguments)},Lb=a._emscripten_bind_Decoder_GetAttributeFloat_3= +function(){return a.asm._emscripten_bind_Decoder_GetAttributeFloat_3.apply(null,arguments)},Mb=a._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3.apply(null,arguments)},Nb=a._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIdByName_2.apply(null,arguments)},Ob=a._emscripten_bind_Decoder_GetAttributeId_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeId_2.apply(null, +arguments)},Pb=a._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3.apply(null,arguments)},Qb=a._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return a.asm._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3.apply(null,arguments)},Rb=a._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return a.asm._emscripten_bind_Decoder_GetAttributeMetadata_2.apply(null,arguments)},Sb=a._emscripten_bind_Decoder_GetAttribute_2= +function(){return a.asm._emscripten_bind_Decoder_GetAttribute_2.apply(null,arguments)},Tb=a._emscripten_bind_Decoder_GetEncodedGeometryType_1=function(){return a.asm._emscripten_bind_Decoder_GetEncodedGeometryType_1.apply(null,arguments)},Ub=a._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return a.asm._emscripten_bind_Decoder_GetFaceFromMesh_3.apply(null,arguments)},Vb=a._emscripten_bind_Decoder_GetMetadata_1=function(){return a.asm._emscripten_bind_Decoder_GetMetadata_1.apply(null,arguments)}, +Wb=a._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return a.asm._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2.apply(null,arguments)},Xb=a._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return a.asm._emscripten_bind_Decoder_SkipAttributeTransform_1.apply(null,arguments)},Yb=a._emscripten_bind_Decoder___destroy___0=function(){return a.asm._emscripten_bind_Decoder___destroy___0.apply(null,arguments)},mb=a._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0.apply(null, +arguments)},Zb=a._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoFloat32Array_GetValue_1.apply(null,arguments)},$b=a._emscripten_bind_DracoFloat32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoFloat32Array___destroy___0.apply(null,arguments)},ac=a._emscripten_bind_DracoFloat32Array_size_0=function(){return a.asm._emscripten_bind_DracoFloat32Array_size_0.apply(null,arguments)},rb=a._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return a.asm._emscripten_bind_DracoInt32Array_DracoInt32Array_0.apply(null, +arguments)},bc=a._emscripten_bind_DracoInt32Array_GetValue_1=function(){return a.asm._emscripten_bind_DracoInt32Array_GetValue_1.apply(null,arguments)},cc=a._emscripten_bind_DracoInt32Array___destroy___0=function(){return a.asm._emscripten_bind_DracoInt32Array___destroy___0.apply(null,arguments)},dc=a._emscripten_bind_DracoInt32Array_size_0=function(){return a.asm._emscripten_bind_DracoInt32Array_size_0.apply(null,arguments)},nb=a._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return a.asm._emscripten_bind_GeometryAttribute_GeometryAttribute_0.apply(null, +arguments)},ec=a._emscripten_bind_GeometryAttribute___destroy___0=function(){return a.asm._emscripten_bind_GeometryAttribute___destroy___0.apply(null,arguments)},qb=a._emscripten_bind_Mesh_Mesh_0=function(){return a.asm._emscripten_bind_Mesh_Mesh_0.apply(null,arguments)},fc=a._emscripten_bind_Mesh___destroy___0=function(){return a.asm._emscripten_bind_Mesh___destroy___0.apply(null,arguments)},gc=a._emscripten_bind_Mesh_num_attributes_0=function(){return a.asm._emscripten_bind_Mesh_num_attributes_0.apply(null, +arguments)},hc=a._emscripten_bind_Mesh_num_faces_0=function(){return a.asm._emscripten_bind_Mesh_num_faces_0.apply(null,arguments)},ic=a._emscripten_bind_Mesh_num_points_0=function(){return a.asm._emscripten_bind_Mesh_num_points_0.apply(null,arguments)},jc=a._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetDoubleEntry_2.apply(null,arguments)},kc=a._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetIntEntry_2.apply(null, +arguments)},lc=a._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_GetStringEntry_2.apply(null,arguments)},mc=a._emscripten_bind_MetadataQuerier_HasDoubleEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasDoubleEntry_2.apply(null,arguments)},nc=a._emscripten_bind_MetadataQuerier_HasIntEntry_2=function(){return a.asm._emscripten_bind_MetadataQuerier_HasIntEntry_2.apply(null,arguments)},oc=a._emscripten_bind_MetadataQuerier_HasStringEntry_2= +function(){return a.asm._emscripten_bind_MetadataQuerier_HasStringEntry_2.apply(null,arguments)},lb=a._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return a.asm._emscripten_bind_MetadataQuerier_MetadataQuerier_0.apply(null,arguments)},pc=a._emscripten_bind_MetadataQuerier___destroy___0=function(){return a.asm._emscripten_bind_MetadataQuerier___destroy___0.apply(null,arguments)},sb=a._emscripten_bind_Metadata_Metadata_0=function(){return a.asm._emscripten_bind_Metadata_Metadata_0.apply(null, +arguments)},qc=a._emscripten_bind_Metadata___destroy___0=function(){return a.asm._emscripten_bind_Metadata___destroy___0.apply(null,arguments)},rc=a._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return a.asm._emscripten_bind_PointAttribute_GetAttributeTransformData_0.apply(null,arguments)},ib=a._emscripten_bind_PointAttribute_PointAttribute_0=function(){return a.asm._emscripten_bind_PointAttribute_PointAttribute_0.apply(null,arguments)},sc=a._emscripten_bind_PointAttribute___destroy___0= +function(){return a.asm._emscripten_bind_PointAttribute___destroy___0.apply(null,arguments)},tc=a._emscripten_bind_PointAttribute_attribute_type_0=function(){return a.asm._emscripten_bind_PointAttribute_attribute_type_0.apply(null,arguments)},uc=a._emscripten_bind_PointAttribute_byte_offset_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_offset_0.apply(null,arguments)},vc=a._emscripten_bind_PointAttribute_byte_stride_0=function(){return a.asm._emscripten_bind_PointAttribute_byte_stride_0.apply(null, +arguments)},wc=a._emscripten_bind_PointAttribute_data_type_0=function(){return a.asm._emscripten_bind_PointAttribute_data_type_0.apply(null,arguments)},xc=a._emscripten_bind_PointAttribute_normalized_0=function(){return a.asm._emscripten_bind_PointAttribute_normalized_0.apply(null,arguments)},yc=a._emscripten_bind_PointAttribute_num_components_0=function(){return a.asm._emscripten_bind_PointAttribute_num_components_0.apply(null,arguments)},zc=a._emscripten_bind_PointAttribute_size_0=function(){return a.asm._emscripten_bind_PointAttribute_size_0.apply(null, +arguments)},Ac=a._emscripten_bind_PointAttribute_unique_id_0=function(){return a.asm._emscripten_bind_PointAttribute_unique_id_0.apply(null,arguments)},gb=a._emscripten_bind_PointCloud_PointCloud_0=function(){return a.asm._emscripten_bind_PointCloud_PointCloud_0.apply(null,arguments)},Bc=a._emscripten_bind_PointCloud___destroy___0=function(){return a.asm._emscripten_bind_PointCloud___destroy___0.apply(null,arguments)},Cc=a._emscripten_bind_PointCloud_num_attributes_0=function(){return a.asm._emscripten_bind_PointCloud_num_attributes_0.apply(null, +arguments)},Dc=a._emscripten_bind_PointCloud_num_points_0=function(){return a.asm._emscripten_bind_PointCloud_num_points_0.apply(null,arguments)},Ec=a._emscripten_bind_Status___destroy___0=function(){return a.asm._emscripten_bind_Status___destroy___0.apply(null,arguments)},Fc=a._emscripten_bind_Status_code_0=function(){return a.asm._emscripten_bind_Status_code_0.apply(null,arguments)},Gc=a._emscripten_bind_Status_error_msg_0=function(){return a.asm._emscripten_bind_Status_error_msg_0.apply(null,arguments)}, +Hc=a._emscripten_bind_Status_ok_0=function(){return a.asm._emscripten_bind_Status_ok_0.apply(null,arguments)},Ic=a._emscripten_bind_VoidPtr___destroy___0=function(){return a.asm._emscripten_bind_VoidPtr___destroy___0.apply(null,arguments)},Jc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM.apply(null,arguments)},Kc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM= +function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM.apply(null,arguments)},Lc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM.apply(null,arguments)},Mc=a._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return a.asm._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM.apply(null, +arguments)},Nc=a._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE.apply(null,arguments)},Oc=a._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD.apply(null,arguments)},Pc=a._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return a.asm._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH.apply(null, +arguments)},Qc=a._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_COLOR.apply(null,arguments)},Rc=a._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_GENERIC.apply(null,arguments)},Sc=a._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_INVALID.apply(null,arguments)},Tc=a._emscripten_enum_draco_GeometryAttribute_Type_NORMAL= +function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_NORMAL.apply(null,arguments)},Uc=a._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_POSITION.apply(null,arguments)},Vc=a._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return a.asm._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD.apply(null,arguments)},Wc=a._emscripten_enum_draco_StatusCode_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_ERROR.apply(null, +arguments)},Xc=a._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return a.asm._emscripten_enum_draco_StatusCode_INVALID_PARAMETER.apply(null,arguments)},Yc=a._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return a.asm._emscripten_enum_draco_StatusCode_IO_ERROR.apply(null,arguments)},Zc=a._emscripten_enum_draco_StatusCode_OK=function(){return a.asm._emscripten_enum_draco_StatusCode_OK.apply(null,arguments)},$c=a._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION.apply(null, +arguments)},ad=a._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return a.asm._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION.apply(null,arguments)};a._emscripten_get_global_libc=function(){return a.asm._emscripten_get_global_libc.apply(null,arguments)};var tb=a._emscripten_replace_memory=function(){return a.asm._emscripten_replace_memory.apply(null,arguments)};a._free=function(){return a.asm._free.apply(null,arguments)};a._llvm_bswap_i32=function(){return a.asm._llvm_bswap_i32.apply(null, +arguments)};var Oa=a._malloc=function(){return a.asm._malloc.apply(null,arguments)};a._memcpy=function(){return a.asm._memcpy.apply(null,arguments)};a._memmove=function(){return a.asm._memmove.apply(null,arguments)};a._memset=function(){return a.asm._memset.apply(null,arguments)};a._sbrk=function(){return a.asm._sbrk.apply(null,arguments)};a.establishStackSpace=function(){return a.asm.establishStackSpace.apply(null,arguments)};a.getTempRet0=function(){return a.asm.getTempRet0.apply(null,arguments)}; +a.runPostSets=function(){return a.asm.runPostSets.apply(null,arguments)};a.setTempRet0=function(){return a.asm.setTempRet0.apply(null,arguments)};a.setThrew=function(){return a.asm.setThrew.apply(null,arguments)};a.stackAlloc=function(){return a.asm.stackAlloc.apply(null,arguments)};a.stackRestore=function(){return a.asm.stackRestore.apply(null,arguments)};a.stackSave=function(){return a.asm.stackSave.apply(null,arguments)};a.dynCall_ii=function(){return a.asm.dynCall_ii.apply(null,arguments)};a.dynCall_iii= +function(){return a.asm.dynCall_iii.apply(null,arguments)};a.dynCall_iiii=function(){return a.asm.dynCall_iiii.apply(null,arguments)};a.dynCall_iiiiiii=function(){return a.asm.dynCall_iiiiiii.apply(null,arguments)};a.dynCall_v=function(){return a.asm.dynCall_v.apply(null,arguments)};a.dynCall_vi=function(){return a.asm.dynCall_vi.apply(null,arguments)};a.dynCall_vii=function(){return a.asm.dynCall_vii.apply(null,arguments)};a.dynCall_viii=function(){return a.asm.dynCall_viii.apply(null,arguments)}; +a.dynCall_viiii=function(){return a.asm.dynCall_viiii.apply(null,arguments)};a.dynCall_viiiii=function(){return a.asm.dynCall_viiiii.apply(null,arguments)};a.dynCall_viiiiii=function(){return a.asm.dynCall_viiiiii.apply(null,arguments)};m.stackAlloc=a.stackAlloc;m.stackSave=a.stackSave;m.stackRestore=a.stackRestore;m.establishStackSpace=a.establishStackSpace;m.setTempRet0=a.setTempRet0;m.getTempRet0=a.getTempRet0;a.asm=$a;if(Q)if("function"===typeof a.locateFile?Q=a.locateFile(Q):a.memoryInitializerPrefixURL&& +(Q=a.memoryInitializerPrefixURL+Q),la||ra){var bd=a.readBinary(Q);O.set(bd,m.GLOBAL_BASE)}else{var bb=function(){a.readAsync(Q,ab,function(){throw"could not load memory initializer "+Q;})};v("memory initializer");var ab=function(b){b.byteLength&&(b=new Uint8Array(b));O.set(b,m.GLOBAL_BASE);a.memoryInitializerRequest&&delete a.memoryInitializerRequest.response;Ia("memory initializer")};if(a.memoryInitializerRequest){var cb=function(){var b=a.memoryInitializerRequest,c=b.response;200!==b.status&&0!== +b.status?(console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+b.status+", retrying "+Q),bb()):ab(c)};a.memoryInitializerRequest.response?setTimeout(cb,0):a.memoryInitializerRequest.addEventListener("load",cb)}else bb()}a.then=function(b){if(a.calledRun)b(a);else{var c=a.onRuntimeInitialized;a.onRuntimeInitialized=function(){c&&c();b(a)}}return a};aa.prototype=Error();aa.prototype.constructor=aa;var Ua=null;oa=function c(){a.calledRun||ya();a.calledRun||(oa= +c)};a.run=ya;a.exit=function(c,d){if(!d||!a.noExitRuntime){if(!a.noExitRuntime&&(ja=!0,P=void 0,u(Za),a.onExit))a.onExit(c);la&&process.exit(c);a.quit(c,new aa(c))}};var Wa=[];a.abort=S;if(a.preInit)for("function"==typeof a.preInit&&(a.preInit=[a.preInit]);0=k.size?(f(0>=1;break;case 4:b>>=2;break;case 8:b>>=3}for(var c=0;c + + + + three.js webgl - loaders - Draco loader + + + + +

+
+
+    
+
+
+    
+ + + + + + diff --git a/javascript/npm/draco3d/draco_decoder_nodejs.js b/javascript/npm/draco3d/draco_decoder_nodejs.js index a137a817..5c55a507 100644 --- a/javascript/npm/draco3d/draco_decoder_nodejs.js +++ b/javascript/npm/draco3d/draco_decoder_nodejs.js @@ -1,22 +1,23 @@ module.exports = CreateDracoModule; function CreateDracoModule(DracoDecoderModule) { DracoDecoderModule = DracoDecoderModule || {}; - var Module = DracoDecoderModule; + var Module = DracoDecoderModule; // included code may refer to Module (e.g. from file packager), so alias it -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]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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 __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}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=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+22496;__ATINIT__.push();allocate([20,18,0,0,151,18,0,0,60,18,0,0,112,18,0,0,8,0,0,0,0,0,0,0,60,18,0,0,180,18,0,0,8,0,0,0,0,0,0,0,60,18,0,0,221,18,0,0,64,0,0,0,0,0,0,0,20,18,0,0,249,18,0,0,60,18,0,0,201,20,0,0,48,0,0,0,0,0,0,0,20,18,0,0,235,20,0,0,60,18,0,0,16,21,0,0,48,0,0,0,0,0,0,0,60,18,0,0,135,35,0,0,88,0,0,0,0,0,0,0,60,18,0,0,64,21,0,0,144,0,0,0,0,0,0,0,60,18,0,0,153,21,0,0,160,0,0,0,0,0,0,0,60,18,0,0,237,21,0,0,176,0,0,0,0,0,0,0,60,18,0,0,33,22,0,0,192,0,0,0,0,0,0,0,20,18,0,0,76,22,0,0,60,18,0,0,112,22,0,0,216,0,0,0,0,0,0,0,20,18,0,0,14,23,0,0,60,18,0,0,87,24,0,0,240,0,0,0,0,0,0,0,60,18,0,0,239,24,0,0,144,0,0,0,0,0,0,0,60,18,0,0,24,26,0,0,240,0,0,0,0,0,0,0,60,18,0,0,73,27,0,0,240,0,0,0,0,0,0,0,60,18,0,0,219,27,0,0,240,0,0,0,0,0,0,0,60,18,0,0,129,28,0,0,240,0,0,0,0,0,0,0,60,18,0,0,28,29,0,0,240,0,0,0,0,0,0,0,60,18,0,0,178,29,0,0,96,1,0,0,0,0,0,0,20,18,0,0,93,30,0,0,60,18,0,0,8,31,0,0,120,1,0,0,0,0,0,0,60,18,0,0,173,31,0,0,144,0,0,0,0,0,0,0,60,18,0,0,67,32,0,0,120,1,0,0,0,0,0,0,60,18,0,0,234,32,0,0,120,1,0,0,0,0,0,0,60,18,0,0,137,33,0,0,120,1,0,0,0,0,0,0,60,18,0,0,60,34,0,0,120,1,0,0,0,0,0,0,60,18,0,0,228,34,0,0,120,1,0,0,0,0,0,0,60,18,0,0,214,56,0,0,112,0,0,0,0,0,0,0,60,18,0,0,44,40,0,0,248,1,0,0,0,0,0,0,60,18,0,0,157,40,0,0,160,0,0,0,0,0,0,0,60,18,0,0,202,42,0,0,24,2,0,0,0,0,0,0,20,18,0,0,128,43,0,0,60,18,0,0,231,45,0,0,48,2,0,0,0,0,0,0,60,18,0,0,151,46,0,0,248,1,0,0,0,0,0,0,60,18,0,0,56,47,0,0,80,2,0,0,0,0,0,0,20,18,0,0,251,47,0,0,60,18,0,0,190,48,0,0,104,2,0,0,0,0,0,0,60,18,0,0,123,49,0,0,248,1,0,0,0,0,0,0,60,18,0,0,205,50,0,0,136,2,0,0,0,0,0,0,60,18,0,0,49,51,0,0,160,0,0,0,0,0,0,0,60,18,0,0,144,51,0,0,168,2,0,0,0,0,0,0,20,18,0,0,57,52,0,0,60,18,0,0,226,52,0,0,192,2,0,0,0,0,0,0,60,18,0,0,133,53,0,0,136,2,0,0,0,0,0,0,60,18,0,0,25,54,0,0,224,2,0,0,0,0,0,0,20,18,0,0,207,54,0,0,60,18,0,0,133,55,0,0,248,2,0,0,0,0,0,0,60,18,0,0,53,56,0,0,136,2,0,0,0,0,0,0,60,18,0,0,1,57,0,0,112,0,0,0,0,0,0,0,60,18,0,0,153,57,0,0,216,3,0,0,0,0,0,0,60,18,0,0,175,57,0,0,24,3,0,0,0,0,0,0,60,18,0,0,31,61,0,0,144,3,0,0,0,0,0,0,20,18,0,0,208,57,0,0,60,18,0,0,154,58,0,0,96,3,0,0,0,0,0,0,20,18,0,0,100,59,0,0,20,18,0,0,126,59,0,0,60,18,0,0,185,59,0,0,96,3,0,0,0,0,0,0,60,18,0,0,98,60,0,0,96,3,0,0,0,0,0,0,20,18,0,0,107,61,0,0,60,18,0,0,153,61,0,0,144,3,0,0,0,0,0,0,60,18,0,0,239,61,0,0,144,3,0,0,0,0,0,0,60,18,0,0,92,62,0,0,24,3,0,0,0,0,0,0,60,18,0,0,66,62,0,0,96,3,0,0,0,0,0,0,20,18,0,0,124,62,0,0,60,18,0,0,175,63,0,0,216,3,0,0,0,0,0,0,60,18,0,0,209,63,0,0,216,3,0,0,0,0,0,0,60,18,0,0,218,64,0,0,16,4,0,0,0,0,0,0,20,18,0,0,93,65,0,0,20,18,0,0,221,79,0,0,60,18,0,0,61,80,0,0,48,4,0,0,0,0,0,0,60,18,0,0,234,79,0,0,64,4,0,0,0,0,0,0,20,18,0,0,11,80,0,0,60,18,0,0,24,80,0,0,32,4,0,0,0,0,0,0,60,18,0,0,46,81,0,0,24,4,0,0,0,0,0,0,60,18,0,0,95,81,0,0,48,4,0,0,0,0,0,0,60,18,0,0,59,81,0,0,104,4,0,0,0,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,48,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,72,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,9,0,0,0,5,0,0,0,0,0,0,0,88,0,0,0,8,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,3,0,0,0,4,0,0,0,11,0,0,0,12,0,0,0,5,0,0,0,0,0,0,192,0,0,0,0,96,0,0,0,10,0,0,0,11,0,0,0,1,0,0,0,13,0,0,0,14,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,112,0,0,0,12,0,0,0,13,0,0,0,6,0,0,0,10,0,0,0,3,0,0,0,4,0,0,0,18,0,0,0,12,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,7,0,0,0,19,0,0,0,0,0,0,0,144,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,1,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,16,0,0,0,12,0,0,0,8,0,0,0,13,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,1,0,0,0,0,0,0,0,64,1,0,0,14,0,0,0,17,0,0,0,14,0,0,0,8,0,0,0,15,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,2,0,0,0,0,0,0,0,48,1,0,0,14,0,0,0,18,0,0,0,16,0,0,0,8,0,0,0,17,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,3,0,0,0,0,0,0,0,32,1,0,0,19,0,0,0,20,0,0,0,18,0,0,0,8,0,0,0,19,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,0,0,0,0,16,1,0,0,21,0,0,0,22,0,0,0,20,0,0,0,8,0,0,0,21,0,0,0,22,0,0,0,24,0,0,0,25,0,0,0,10,0,0,0,11,0,0,0,26,0,0,0,5,0,0,0,0,0,0,0,0,1,0,0,23,0,0,0,24,0,0,0,23,0,0,0,8,0,0,0,24,0,0,0,25,0,0,0,27,0,0,0,28,0,0,0,10,0,0,0,11,0,0,0,29,0,0,0,6,0,0,0,0,0,0,0,224,0,0,0,25,0,0,0,26,0,0,0,26,0,0,0,8,0,0,0,27,0,0,0,28,0,0,0,30,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,32,0,0,0,7,0,0,0,0,0,0,0,200,0,0,0,27,0,0,0,28,0,0,0,33,0,0,0,29,0,0,0,2,0,0,0,0,0,0,0,200,1,0,0,14,0,0,0,29,0,0,0,30,0,0,0,8,0,0,0,31,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,184,1,0,0,14,0,0,0,30,0,0,0,32,0,0,0,8,0,0,0,33,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,22,0,0,0,9,0,0,0,0,0,0,0,168,1,0,0,31,0,0,0,32,0,0,0,34,0,0,0,8,0,0,0,35,0,0,0,9,0,0,0,20,0,0,0,21,0,0,0,10,0,0,0,11,0,0,0,34,0,0,0,10,0,0,0,0,0,0,0,152,1,0,0,33,0,0,0,34,0,0,0,36,0,0,0,8,0,0,0,37,0,0,0,38,0,0,0,35,0,0,0,36,0,0,0,10,0,0,0,11,0,0,0,37,0,0,0,11,0,0,0,0,0,0,0,136,1,0,0,35,0,0,0,36,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,41,0,0,0,38,0,0,0,39,0,0,0,10,0,0,0,11,0,0,0,40,0,0,0,12,0,0,0,0,0,0,0,104,1,0,0,37,0,0,0,38,0,0,0,42,0,0,0,8,0,0,0,43,0,0,0,44,0,0,0,41,0,0,0,42,0,0,0,10,0,0,0,11,0,0,0,43,0,0,0,13,0,0,0,0,0,0,0,80,1,0,0,39,0,0,0,40,0,0,0,44,0,0,0,45,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,12,0,0,0,41,0,0,0,9,0,0,0,10,0,0,0,3,0,0,0,10,0,0,0,18,0,0,0,12,0,0,0,7,0,0,0,11,0,0,0,2,0,0,0,46,0,0,0,45,0,0,0,0,0,0,0,232,1,0,0,42,0,0,0,43,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,46,0,0,0,47,0,0,0,51,0,0,0,52,0,0,0,48,0,0,0,14,0,0,0,0,0,0,0,88,2,0,0,44,0,0,0,45,0,0,0,53,0,0,0,48,0,0,0,54,0,0,0,55,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,51,0,0,0,15,0,0,0,0,0,0,0,64,2,0,0,46,0,0,0,47,0,0,0,52,0,0,0,56,0,0,0,4,0,0,0,0,0,0,0,32,2,0,0,48,0,0,0,49,0,0,0,57,0,0,0,48,0,0,0,58,0,0,0,59,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,55,0,0,0,16,0,0,0,0,0,0,0,8,2,0,0,50,0,0,0,51,0,0,0,56,0,0,0,60,0,0,0,5,0,0,0,0,0,0,0,120,2,0,0,42,0,0,0,52,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,57,0,0,0,58,0,0,0,65,0,0,0,66,0,0,0,59,0,0,0,17,0,0,0,0,0,0,0,232,2,0,0,53,0,0,0,54,0,0,0,67,0,0,0,62,0,0,0,68,0,0,0,69,0,0,0,60,0,0,0,61,0,0,0,65,0,0,0,66,0,0,0,62,0,0,0,18,0,0,0,0,0,0,0,208,2,0,0,55,0,0,0,56,0,0,0,63,0,0,0,70,0,0,0,6,0,0,0,0,0,0,0,176,2,0,0,57,0,0,0,58,0,0,0,71,0,0,0,62,0,0,0,72,0,0,0,73,0,0,0,64,0,0,0,65,0,0,0,65,0,0,0,66,0,0,0,66,0,0,0,19,0,0,0,0,0,0,0,152,2,0,0,59,0,0,0,60,0,0,0,67,0,0,0,74,0,0,0,7,0,0,0,0,0,0,0,8,3,0,0,61,0,0,0,62,0,0,0,12,0,0,0,10,0,0,0,3,0,0,0,13,0,0,0,18,0,0,0,12,0,0,0,7,0,0,0,14,0,0,0,1,0,0,0,7,0,0,0,68,0,0,0,75,0,0,0,69,0,0,0,0,0,0,0,24,3,0,0,63,0,0,0,64,0,0,0,76,0,0,0,77,0,0,0,1,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,70,0,0,0,71,0,0,0,1,0,0,0,0,0,0,0,40,3,0,0,65,0,0,0,66,0,0,0,76,0,0,0,83,0,0,0,72,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,84,0,0,0,85,0,0,0,73,0,0,0,74,0,0,0,86,0,0,0,0,0,0,0,56,3,0,0,67,0,0,0,68,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,0,0,0,0,80,3,0,0,69,0,0,0,70,0,0,0,79,0,0,0,91,0,0,0,0,0,0,0,72,3,0,0,71,0,0,0,72,0,0,0,73,0,0,0,0,0,0,192,0,0,0,0,112,3,0,0,74,0,0,0,75,0,0,0,80,0,0,0,92,0,0,0,0,0,0,0,104,3,0,0,76,0,0,0,77,0,0,0,78,0,0,0,0,0,0,0,128,3,0,0,79,0,0,0,80,0,0,0,81,0,0,0,93,0,0,0,0,0,0,0,152,3,0,0,81,0,0,0,82,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,0,0,0,0,168,3,0,0,83,0,0,0,84,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,0,0,0,0,184,3,0,0,63,0,0,0,85,0,0,0,76,0,0,0,77,0,0,0,90,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,70,0,0,0,71,0,0,0,102,0,0,0,0,0,0,0,200,3,0,0,86,0,0,0,87,0,0,0,91,0,0,0,103,0,0,0,0,0,0,0,216,3,0,0,63,0,0,0,88,0,0,0,104,0,0,0,77,0,0,0,1,0,0,0,105,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,0,0,0,0,224,3,0,0,63,0,0,0,89,0,0,0,104,0,0,0,77,0,0,0,92,0,0,0,106,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,0,0,0,0,240,3,0,0,63,0,0,0,90,0,0,0,104,0,0,0,77,0,0,0,93,0,0,0,107,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,0,0,0,192,0,0,0,192,0,0,0,0,0,4,0,0,91,0,0,0,92,0,0,0,8,0,0,0,3,0,0,0,0,0,0,192,0,0,0,0,16,4,0,0,93,0,0,0,94,0,0,0,9,0,0,0,4,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,24,14,0,0,5,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,204,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,140,15,0,0,5,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,16,0,0,0,212,83,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,212,79,0,0,0,0,0,0,32,4,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,19,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,72,4,0,0,95,0,0,0,99,0,0,0,97,0,0,0,98,0,0,0,19,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,88,4,0,0,100,0,0,0,101,0,0,0,109,0,0,0,78,53,100,114,97,99,111,50,56,65,116,116,114,105,98,117,116,101,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,49,56,65,116,116,114,105,98,117,116,101,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,51,48,65,116,116,114,105,98,117,116,101,81,117,97,110,116,105,122,97,116,105,111,110,84,114,97,110,115,102,111,114,109,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,50,54,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,69,0,75,100,84,114,101,101,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,58,32,99,111,109,112,114,101,115,115,105,111,110,32,108,101,118,101,108,32,37,105,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,10,0,40,118,97,108,46,115,105,122,101,40,41,41,32,61,61,32,40,100,105,109,101,110,115,105,111,110,95,116,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,107,100,95,116,114,101,101,95,97,116,116,114,105,98,117,116,101,115,95,100,101,99,111,100,101,114,46,99,99,0,111,112,101,114,97,116,111,114,61,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,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,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,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,51,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,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,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,102,97,108,115,101,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,119,114,97,112,95,116,114,97,110,115,102,111,114,109,95,98,97,115,101,46,104,0,113,117,97,110,116,105,122,97,116,105,111,110,95,98,105,116,115,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,112,111,114,116,97,98,108,101,95,100,101,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,52,52,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,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,100,101,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,51,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,48,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,48,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,40,113,41,32,62,61,32,40,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,110,111,114,109,97,108,95,99,111,109,112,114,101,115,115,105,111,110,95,117,116,105,108,115,46,104,0,83,101,116,81,117,97,110,116,105,122,97,116,105,111,110,66,105,116,115,0,40,113,41,32,60,61,32,40,51,48,41,0,40,105,110,95,115,41,32,62,61,32,40,48,41,0,79,99,116,97,104,101,114,100,97,108,67,111,111,114,100,115,84,111,85,110,105,116,86,101,99,116,111,114,0,40,105,110,95,116,41,32,62,61,32,40,48,41,0,40,105,110,95,115,41,32,60,61,32,40,49,41,0,40,105,110,95,116,41,32,60,61,32,40,49,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,100,101,99,111,100,105,110,103,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,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,48,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,49,93,41,0,40,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,115,73,110,68,105,97,109,111,110,100,0,40,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,118,101,114,116,68,105,97,109,111,110,100,0,40,42,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,32,37,32,50,41,32,61,61,32,40,49,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([102,111,114,109,95,98,97,115,101,46,104,0,115,101,116,95,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,116,104,105,115,45,62,73,115,73,110,105,116,105,97,108,105,122,101,100,40,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,97,114,101,97,46,104,0,67,111,109,112,117,116,101,80,114,101,100,105,99,116,101,100,86,97,108,117,101,0,40,110,111,114,109,97,108,46,65,98,115,83,117,109,40,41,41,32,60,61,32,40,117,112,112,101,114,95,98,111,117,110,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,98,97,115,101,46,104,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,67,111,114,110,101,114,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,68,97,116,97,73,100,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,100,101,99,111,100,101,114,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,115,0,40,110,117,109,95,99,111,109,112,111,110,101,110,116,115,41,32,61,61,32,40,50,41,0,40,112,114,101,100,95,110,111,114,109,97,108,95,51,100,46,65,98,115,83,117,109,40,41,41,32,61,61,32,40,111,99,116,97,104,101,100,114,111,110,95,116,111,111,108,95,98,111,120,95,46,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,48,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,49,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,50,93,41,41,32,61,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,116,101,103,101,114,86,101,99,116,111,114,84,111,81,117,97,110,116,105,122,101,100,79,99,116,97,104,101,100,114,97,108,67,111,111,114,100,115,0,40,105,41,32,61,61,32,40,48,41,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,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,100,101,99,111,100,105,110,103,95,116,114,97,110,115,102,111,114,109,46,104,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,52,57,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,68,101,99,111,100,105,110,103,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,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,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,46,0,73,110,112,117,116,32,105,115,32,110,111,116,32,97,32,109,101,115,104,46,0,73,110,112,117,116,32,105,115,32,110,111,116,32,97,32,112,111,105,110,116,32,99,108,111,117,100,46,0,115,107,105,112,95,97,116,116,114,105,98,117,116,101,95,116,114,97,110,115,102,111,114,109,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,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,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,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,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,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,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,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,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,70,97,105,108,101,100,32,116,111,32,112,97,114,115,101,32,68,114,97,99,111,32,104,101,97,100,101,114,46,0,68,82,65,67,79,0,78,111,116,32,97,32,68,114,97,99,111,32,102,105,108,101,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,109,101,116,97,100,97,116,97,46,0,85,115,105,110,103,32,105,110,99,111,109,112,97,116,105,98,108,101,32,100,101,99,111,100,101,114,32,102,111,114,32,116,104,101,32,105,110,112,117,116,32,103,101,111,109,101,116,114,121,46,0,85,110,107,110,111,119,110,32,109,97,106,111,114,32,118,101,114,115,105,111,110,46,0,85,110,107,110,111,119,110,32,109,105,110,111,114,32,118,101,114,115,105,111,110,46,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,100,101,99,111,100,101,114,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,103,101,111,109,101,116,114,121,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,112,111,105,110,116,32,97,116,116,114,105,98,117,116,101,115,46,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,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,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,100,101,99,111,100,101,114,95,98,117,102,102,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,114,97,110,115,95,98,105,116,95,100,101,99,111,100,101,114,46,99,99,0,78,53,100,114,97,99,111,52,77,101,115,104,69,0,97,116,116,95,105,100,32,62,61,32,48,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,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,70,108,111,97,116,80,111,105,110,116,115,84,114,101,101,68,101,99,111,100,101,114,58,32,99,111,109,112,114,101,115,115,105,111,110,32,108,101,118,101,108,32,37,105,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,10,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,100,121,110,97,109,105,99,95,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,68,101,99,111,100,101,73,110,116,101,114,110,97,108,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,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,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,110,97,109,101,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,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,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,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,37,100,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],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([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+20480);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){Module["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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;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;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}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["___divdi3"]=___divdi3;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["___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;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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 ___cxa_allocate_exception(size){return _malloc(size)}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}__ATEXIT__.push((function(){var fflush=Module["_fflush"];if(fflush)fflush(0);var printChar=___syscall146.printChar;if(!printChar)return;var buffers=___syscall146.buffers;if(buffers[1].length)printChar(1,10);if(buffers[2].length)printChar(2,10)}));DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_getspecific":_pthread_getspecific,"___syscall54":___syscall54,"_pthread_setspecific":_pthread_setspecific,"___cxa_throw":___cxa_throw,"___gxx_personality_v0":___gxx_personality_v0,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___cxa_begin_catch":___cxa_begin_catch,"___syscall146":___syscall146,"_pthread_once":_pthread_once,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_pthread_key_create":_pthread_key_create,"___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,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM -var asm=(function(global,env,buffer) { -"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_iiii;var ga=env.invoke_viiiii;var ha=env.invoke_vi;var ia=env.invoke_vii;var ja=env.invoke_iiiiiii;var ka=env.invoke_ii;var la=env.invoke_viii;var ma=env.invoke_v;var na=env.invoke_viiiiii;var oa=env.invoke_iii;var pa=env.invoke_viiii;var qa=env._pthread_getspecific;var ra=env.___syscall54;var sa=env._pthread_setspecific;var ta=env.___cxa_throw;var ua=env.___gxx_personality_v0;var va=env.___syscall6;var wa=env.___setErrNo;var xa=env._abort;var ya=env.___cxa_begin_catch;var za=env.___syscall146;var Aa=env._pthread_once;var Ba=env._emscripten_memcpy_big;var Ca=env._pthread_key_create;var Da=env.___syscall140;var Ea=env.___resumeException;var Fa=env.___cxa_find_matching_catch;var Ga=env.___assert_fail;var Ha=env.___cxa_pure_virtual;var Ia=env.___cxa_allocate_exception;var Ja=env.__ZSt18uncaught_exceptionv;var Ka=$(0);const La=$(0);function Ma(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +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]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);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};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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}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"]};function ccall(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)}}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 stop;ptr=ret;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){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+22352;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,KBIAAL8SAABQEgAAmBIAAAgAAAAAAAAAUBIAANwSAAAIAAAAAAAAAFASAAAFEwAAQAAAAAAAAAAoEgAAIRMAAFASAAD9FAAAMAAAAAAAAAAoEgAAHxUAAFASAABEFQAAMAAAAAAAAABQEgAAzSMAAFgAAAAAAAAAUBIAAHQVAACQAAAAAAAAAFASAADNFQAAoAAAAAAAAABQEgAAIRYAALAAAAAAAAAAUBIAAFUWAADAAAAAAAAAACgSAACAFgAAUBIAAKQWAADYAAAAAAAAACgSAABCFwAAUBIAAJEYAADwAAAAAAAAAFASAAApGQAAkAAAAAAAAABQEgAAWBoAAPAAAAAAAAAAUBIAAI8bAADwAAAAAAAAAFASAAAhHAAA8AAAAAAAAABQEgAAxxwAAPAAAAAAAAAAUBIAAGIdAADwAAAAAAAAAFASAAD4HQAAYAEAAAAAAAAoEgAAox4AAFASAABOHwAAeAEAAAAAAABQEgAA8x8AAJAAAAAAAAAAUBIAAIkgAAB4AQAAAAAAAFASAAAwIQAAeAEAAAAAAABQEgAAzyEAAHgBAAAAAAAAUBIAAIIiAAB4AQAAAAAAAFASAAAqIwAAeAEAAAAAAABQEgAAMTkAAHAAAAAAAAAAUBIAAIQoAAD4AQAAAAAAAFASAAD1KAAAoAAAAAAAAABQEgAAGSsAABgCAAAAAAAAKBIAAM8rAABQEgAAPC4AADACAAAAAAAAUBIAAOwuAAD4AQAAAAAAAFASAACNLwAAUAIAAAAAAAAoEgAAUDAAAFASAAATMQAAaAIAAAAAAABQEgAA0DEAAPgBAAAAAAAAUBIAACgzAACIAgAAAAAAAFASAACMMwAAoAAAAAAAAABQEgAA6zMAAKgCAAAAAAAAKBIAAJQ0AABQEgAAPTUAAMACAAAAAAAAUBIAAOA1AACIAgAAAAAAAFASAAB0NgAA4AIAAAAAAAAoEgAAKjcAAFASAADgNwAA+AIAAAAAAABQEgAAkDgAAIgCAAAAAAAAUBIAAFw5AABwAAAAAAAAAFASAAD0OQAA2AMAAAAAAABQEgAACjoAABgDAAAAAAAAUBIAAIA9AACQAwAAAAAAACgSAAArOgAAUBIAAPs6AABgAwAAAAAAACgSAADFOwAAKBIAAN87AABQEgAAGjwAAGADAAAAAAAAUBIAAMM8AABgAwAAAAAAACgSAADMPQAAUBIAAPo9AACQAwAAAAAAAFASAABQPgAAkAMAAAAAAABQEgAAvT4AABgDAAAAAAAAUBIAAKM+AABgAwAAAAAAACgSAADdPgAAUBIAABBAAADYAwAAAAAAAFASAAAyQAAA2AMAAAAAAABQEgAAR0EAABAEAAAAAAAAKBIAANBBAAAoEgAAS08AAFASAACrTwAAMAQAAAAAAABQEgAAWE8AAEAEAAAAAAAAKBIAAHlPAABQEgAAhk8AACAEAAAAAAAAUBIAAI1QAAAYBAAAAAAAAFASAACdUAAAWAQAAAAAAABQEgAA0lAAADAEAAAAAAAAUBIAAK5QAAB4BAAAAAAAAAAAAAAQAAAAAQAAAAIAAAABAAAAAQAAAAEAAAAAAAAAIAAAAAMAAAAEAAAAAgAAAAIAAAACAAAAAAAAADAAAAAFAAAABgAAAAEAAAADAAAABAAAAAUAAAADAAAABAAAAAYAAAABAAAABwAAAAUAAAAAAAAASAAAAAUAAAAHAAAAAQAAAAMAAAAEAAAABQAAAAMAAAAEAAAABgAAAAgAAAAJAAAABQAAAAAAAABYAAAACAAAAAkAAAACAAAACgAAAAMAAAAEAAAACwAAAAwAAAAFAAAAAAAAwAAAAABgAAAACgAAAAsAAAABAAAADQAAAA4AAAAFAAAAAwAAAAQAAAAPAAAAEAAAABEAAAAGAAAAAQAAAAAAAABwAAAADAAAAA0AAAAGAAAACgAAAAMAAAAEAAAAEgAAAAwAAAAHAAAACAAAAAEAAAAHAAAAEwAAAAAAAACQAAAADgAAAA8AAAABAAAACAAAAAEAAAAJAAAAFAAAABUAAAAKAAAACwAAABYAAAABAAAAAAAAAIAAAAAOAAAAEAAAAAwAAAAIAAAADQAAAAkAAAAUAAAAFQAAAAoAAAALAAAAFgAAAAEAAAAAAAAAQAEAAA4AAAARAAAADgAAAAgAAAAPAAAACQAAABQAAAAVAAAACgAAAAsAAAAWAAAAAgAAAAAAAAAwAQAADgAAABIAAAAQAAAACAAAABEAAAAJAAAAFAAAABUAAAAKAAAACwAAABYAAAADAAAAAAAAACABAAATAAAAFAAAABIAAAAIAAAAEwAAAAkAAAAUAAAAFQAAAAoAAAALAAAAFwAAAAQAAAAAAAAAEAEAABUAAAAWAAAAFAAAAAgAAAAVAAAAFgAAABgAAAAZAAAACgAAAAsAAAAaAAAABQAAAAAAAAAAAQAAFwAAABgAAAAXAAAACAAAABgAAAAZAAAAGwAAABwAAAAKAAAACwAAAB0AAAAGAAAAAAAAAOAAAAAZAAAAGgAAABoAAAAIAAAAGwAAABwAAAAeAAAAHwAAAAoAAAALAAAAIAAAAAcAAAAAAAAAyAAAABsAAAAcAAAAIQAAAB0AAAACAAAAAAAAAMgBAAAOAAAAHQAAAB4AAAAIAAAAHwAAAAkAAAAUAAAAFQAAAAoAAAALAAAAFgAAAAgAAAAAAAAAuAEAAA4AAAAeAAAAIAAAAAgAAAAhAAAACQAAABQAAAAVAAAACgAAAAsAAAAWAAAACQAAAAAAAACoAQAAHwAAACAAAAAiAAAACAAAACMAAAAJAAAAFAAAABUAAAAKAAAACwAAACIAAAAKAAAAAAAAAJgBAAAhAAAAIgAAACQAAAAIAAAAJQAAACYAAAAjAAAAJAAAAAoAAAALAAAAJQAAAAsAAAAAAAAAiAEAACMAAAAkAAAAJwAAAAgAAAAoAAAAKQAAACYAAAAnAAAACgAAAAsAAAAoAAAADAAAAAAAAABoAQAAJQAAACYAAAAqAAAACAAAACsAAAAsAAAAKQAAACoAAAAKAAAACwAAACsAAAANAAAAAAAAAFABAAAnAAAAKAAAACwAAAAtAAAAAwAAAAAAAADYAQAADAAAACkAAAAJAAAACgAAAAMAAAAKAAAAEgAAAAwAAAAHAAAACwAAAAIAAAAuAAAALQAAAAAAAADoAQAAKgAAACsAAAAvAAAAMAAAADEAAAAyAAAALgAAAC8AAAAzAAAANAAAADAAAAAOAAAAAAAAAFgCAAAsAAAALQAAADUAAAAwAAAANgAAADcAAAAxAAAAMgAAADMAAAA0AAAAMwAAAA8AAAAAAAAAQAIAAC4AAAAvAAAANAAAADgAAAAEAAAAAAAAACACAAAwAAAAMQAAADkAAAAwAAAAOgAAADsAAAA1AAAANgAAADMAAAA0AAAANwAAABAAAAAAAAAACAIAADIAAAAzAAAAOAAAADwAAAAFAAAAAAAAAHgCAAAqAAAANAAAAD0AAAA+AAAAPwAAAEAAAAA5AAAAOgAAAEEAAABCAAAAOwAAABEAAAAAAAAA6AIAADUAAAA2AAAAQwAAAD4AAABEAAAARQAAADwAAAA9AAAAQQAAAEIAAAA+AAAAEgAAAAAAAADQAgAANwAAADgAAAA/AAAARgAAAAYAAAAAAAAAsAIAADkAAAA6AAAARwAAAD4AAABIAAAASQAAAEAAAABBAAAAQQAAAEIAAABCAAAAEwAAAAAAAACYAgAAOwAAADwAAABDAAAASgAAAAcAAAAAAAAACAMAAD0AAAA+AAAADAAAAAoAAAADAAAADQAAABIAAAAMAAAABwAAAA4AAAABAAAABwAAAEQAAABLAAAARQAAAAAAAAAYAwAAPwAAAEAAAABMAAAATQAAAAEAAABOAAAATwAAAFAAAABRAAAAUgAAAEYAAABHAAAAAQAAAAAAAAAoAwAAQQAAAEIAAABMAAAAUwAAAEgAAABOAAAATwAAAFAAAABUAAAAVQAAAEkAAABKAAAAVgAAAAAAAAA4AwAAQwAAAEQAAABLAAAATAAAAE0AAABOAAAAVwAAAFgAAABZAAAAWgAAAAAAAMAAAAAAUAMAAEUAAABGAAAATwAAAFsAAAAAAAAASAMAAEcAAABIAAAASQAAAAAAAMAAAAAAcAMAAEoAAABLAAAAUAAAAFwAAAAAAAAAaAMAAEwAAABNAAAATgAAAAAAAACAAwAATwAAAFAAAABRAAAAXQAAAAAAAACYAwAAUQAAAFIAAABSAAAAUwAAAFQAAABVAAAAXgAAAF8AAABgAAAAYQAAAAAAAACoAwAAUwAAAFQAAABWAAAAVwAAAFgAAABZAAAAYgAAAGMAAABkAAAAZQAAAAAAAAABAAAAAwAAAAUAAAAHAAAAAAAAALgDAAA/AAAAVQAAAEwAAABNAAAAWgAAAE4AAABPAAAAUAAAAFEAAABSAAAARgAAAEcAAABmAAAAAAAAAMgDAABWAAAAVwAAAFsAAABnAAAAAAAAANgDAAA/AAAAWAAAAGgAAABNAAAAAQAAAGkAAABPAAAAUAAAAFEAAAAAAAAA4AMAAD8AAABZAAAAaAAAAE0AAABcAAAAagAAAE8AAABQAAAAUQAAAAAAAADwAwAAPwAAAFoAAABoAAAATQAAAF0AAABrAAAATwAAAFAAAABRAAAAAAAAwAAAAMAAAAAAAAQAAFsAAABcAAAACAAAAAMAAAAAAADAAAAAABAEAABdAAAAXgAAAAkAAAAEAAAAAAAAwAAAAMAAAADAAAAAwCwOAAAFAAAAAAAAAAAAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAADxTAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKAPAAAFAAAAAAAAAAAAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAEAAAAERTAAAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAAUAAAAHAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB/AAAAgwAAAIkAAACLAAAAlQAAAJcAAACdAAAAowAAAKcAAACtAAAAswAAALUAAAC/AAAAwQAAAMUAAADHAAAA0wAAAAEAAAALAAAADQAAABEAAAATAAAAFwAAAB0AAAAfAAAAJQAAACkAAAArAAAALwAAADUAAAA7AAAAPQAAAEMAAABHAAAASQAAAE8AAABTAAAAWQAAAGEAAABlAAAAZwAAAGsAAABtAAAAcQAAAHkAAAB/AAAAgwAAAIkAAACLAAAAjwAAAJUAAACXAAAAnQAAAKMAAACnAAAAqQAAAK0AAACzAAAAtQAAALsAAAC/AAAAwQAAAMUAAADHAAAA0QAAAAIAAABCTwAAAAAAACAEAABfAAAAYAAAAGEAAABiAAAAEwAAAAEAAAABAAAAAwAAAAAAAABIBAAAXwAAAGMAAABhAAAAYgAAABMAAAACAAAAAgAAAAQAAAAAAAAAWAQAAGQAAABlAAAAbQAAAAAAAABoBAAAZAAAAGYAAABtAAAATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAE41ZHJhY28xN0F0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZBdHRyaWJ1dGVzRGVjb2RlckludGVyZmFjZUUAS2RUcmVlQXR0cmlidXRlc0RlY29kZXI6IGNvbXByZXNzaW9uIGxldmVsICVpIG5vdCBzdXBwb3J0ZWQuCgAodmFsLnNpemUoKSkgPT0gKGRpbWVuc2lvbl90KQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMva2RfdHJlZV9hdHRyaWJ1dGVzX2RlY29kZXIuY2MAb3BlcmF0b3I9AE1ldGhvZCBub3Qgc3VwcG9ydGVkLiAKAFZlcnNpb24gbm90IHN1cHBvcnRlZC4gCgAoaW5mby5yYW5nZSkgPj0gKDApAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vcG9pbnRfY2xvdWQvYWxnb3JpdGhtcy9xdWFudGl6ZV9wb2ludHNfMy5oAERlcXVhbnRpemVQb2ludHMzAE41ZHJhY28yM0tkVHJlZUF0dHJpYnV0ZXNEZWNvZGVyRQBONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZURlY29kZXJzQ29udHJvbGxlckUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWREZWNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZURlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBmYWxzZQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL3ByZWRpY3Rpb25fc2NoZW1lX3dyYXBfdHJhbnNmb3JtX2Jhc2UuaABxdWFudGl6YXRpb25fYml0cwBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9tZXNoX3ByZWRpY3Rpb25fc2NoZW1lX3RleF9jb29yZHNfcG9ydGFibGVfZGVjb2Rlci5oAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfdGV4X2Nvb3Jkc19kZWNvZGVyLmgATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ1TWVzaFByZWRpY3Rpb25TY2hlbWVNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zM1NlcXVlbnRpYWxJbnRlZ2VyQXR0cmlidXRlRGVjb2RlckUAKHEpID49ICgyKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvbm9ybWFsX2NvbXByZXNzaW9uX3V0aWxzLmgAU2V0UXVhbnRpemF0aW9uQml0cwAocSkgPD0gKDMwKQAoaW5fcykgPj0gKDApAE9jdGFoZXJkYWxDb29yZHNUb1VuaXRWZWN0b3IAKGluX3QpID49ICgwKQAoaW5fcykgPD0gKDEpAChpbl90KSA8PSAoMSkAKHByZWRfdmFsc1swXSkgPD0gKDIgKiB0aGlzLT5jZW50ZXJfdmFsdWUoKSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9wcmVkaWN0aW9uX3NjaGVtZV9ub3JtYWxfb2N0YWhlZHJvbl9jYW5vbmljYWxpemVkX2RlY29kaW5nX3RyYW5zZm9ybS5oAENvbXB1dGVPcmlnaW5hbFZhbHVlAChwcmVkX3ZhbHNbMV0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpAChjb3JyX3ZhbHNbMF0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpAChjb3JyX3ZhbHNbMV0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpACgwKSA8PSAocHJlZF92YWxzWzBdKQAoMCkgPD0gKHByZWRfdmFsc1sxXSkAKDApIDw9IChjb3JyX3ZhbHNbMF0pACgwKSA8PSAoY29ycl92YWxzWzFdKQAocykgPD0gKGNlbnRlcl92YWx1ZV8pAElzSW5EaWFtb25kACh0KSA8PSAoY2VudGVyX3ZhbHVlXykAKHMpID49ICgtY2VudGVyX3ZhbHVlXykAKHQpID49ICgtY2VudGVyX3ZhbHVlXykAKCpzKSA8PSAoY2VudGVyX3ZhbHVlXykASW52ZXJ0RGlhbW9uZAAoKnQpIDw9IChjZW50ZXJfdmFsdWVfKQAoKnMpID49ICgtY2VudGVyX3ZhbHVlXykAKCp0KSA+PSAoLWNlbnRlcl92YWx1ZV8pAChtYXhfcXVhbnRpemVkX3ZhbHVlICUgMikgPT0gKDEpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvcHJlZGljdGlvbl9zY2hlbWVfbm9ybWFsX29jdGFoZWRyb25fdHJhbnNmb3JtX2Jhc2UuaABzZXRfbWF4X3F1YW50aXplZF92YWx1ZQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAHRoaXMtPklzSW5pdGlhbGl6ZWQoKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfZ2VvbWV0cmljX25vcm1hbF9wcmVkaWN0b3JfYXJlYS5oAENvbXB1dGVQcmVkaWN0ZWRWYWx1ZQAobm9ybWFsLkFic1N1bSgpKSA8PSAodXBwZXJfYm91bmQpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX3ByZWRpY3Rvcl9iYXNlLmgAR2V0UG9zaXRpb25Gb3JDb3JuZXIATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX2RlY29kZXIuaABDb21wdXRlT3JpZ2luYWxWYWx1ZXMAKG51bV9jb21wb25lbnRzKSA9PSAoMikAKHByZWRfbm9ybWFsXzNkLkFic1N1bSgpKSA9PSAob2N0YWhlZHJvbl90b29sX2JveF8uY2VudGVyX3ZhbHVlKCkpAChzdGQ6OmFicyhpbnRfdmVjWzBdKSArIHN0ZDo6YWJzKGludF92ZWNbMV0pICsgc3RkOjphYnMoaW50X3ZlY1syXSkpID09IChjZW50ZXJfdmFsdWVfKQBJbnRlZ2VyVmVjdG9yVG9RdWFudGl6ZWRPY3RhaGVkcmFsQ29vcmRzAChpKSA9PSAoMCkAR2V0UGFyZW50QXR0cmlidXRlVHlwZQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9wcmVkaWN0aW9uX3NjaGVtZV9ub3JtYWxfb2N0YWhlZHJvbl9kZWNvZGluZ190cmFuc2Zvcm0uaABONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFRUUATjVkcmFjbzIzUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzQ5UHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25EZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfNDlQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkRlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU180OVByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzJTZXF1ZW50aWFsTm9ybWFsQXR0cmlidXRlRGVjb2RlckUATjVkcmFjbzM4U2VxdWVudGlhbFF1YW50aXphdGlvbkF0dHJpYnV0ZURlY29kZXJFAFVuc3VwcG9ydGVkIGVuY29kaW5nIG1ldGhvZC4ASW5wdXQgaXMgbm90IGEgbWVzaC4ASW5wdXQgaXMgbm90IGEgcG9pbnQgY2xvdWQuAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBONWRyYWNvMTFNZXNoRGVjb2RlckUATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRGVjb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUAIWlkZW50aXR5X21hcHBpbmdfAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vYXR0cmlidXRlcy9wb2ludF9hdHRyaWJ1dGUuaABTZXRQb2ludE1hcEVudHJ5AE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzMxTWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsRGVjb2RlckVFRQBONWRyYWNvMzVNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfNDFNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxQcmVkaWN0aXZlRGVjb2RlckVFRQBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbElOU18zOE1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbFZhbGVuY2VEZWNvZGVyRUVFAE41ZHJhY28xNUxpbmVhclNlcXVlbmNlckUATjVkcmFjbzIxTWVzaFNlcXVlbnRpYWxEZWNvZGVyRQBONWRyYWNvMTdQb2ludENsb3VkRGVjb2RlckUARmFpbGVkIHRvIHBhcnNlIERyYWNvIGhlYWRlci4ARFJBQ08ATm90IGEgRHJhY28gZmlsZS4ARmFpbGVkIHRvIGRlY29kZSBtZXRhZGF0YS4AVXNpbmcgaW5jb21wYXRpYmxlIGRlY29kZXIgZm9yIHRoZSBpbnB1dCBnZW9tZXRyeS4AVW5rbm93biBtYWpvciB2ZXJzaW9uLgBVbmtub3duIG1pbm9yIHZlcnNpb24uAEZhaWxlZCB0byBpbml0aWFsaXplIHRoZSBkZWNvZGVyLgBGYWlsZWQgdG8gZGVjb2RlIGdlb21ldHJ5IGRhdGEuAEZhaWxlZCB0byBkZWNvZGUgcG9pbnQgYXR0cmlidXRlcy4ATjVkcmFjbzIzUG9pbnRDbG91ZEtkVHJlZURlY29kZXJFAE41ZHJhY28yN1BvaW50Q2xvdWRTZXF1ZW50aWFsRGVjb2RlckUAKG5iaXRzKSA+PSAoMCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2RlY29kZXJfYnVmZmVyLmgAR2V0Qml0cwAobmJpdHMpIDw9ICgzMikAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2JpdF9jb2RlcnMvcmFuc19iaXRfZGVjb2Rlci5jYwBONWRyYWNvNE1lc2hFAGF0dF9pZCA+PSAwAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vcG9pbnRfY2xvdWQvcG9pbnRfY2xvdWQuY2MAU2V0QXR0cmlidXRlAE41ZHJhY28xMFBvaW50Q2xvdWRFAEZsb2F0UG9pbnRzVHJlZURlY29kZXI6IGNvbXByZXNzaW9uIGxldmVsICVpIG5vdCBzdXBwb3J0ZWQuCgAodHJ1ZSkgPT0gKG51bV9yZW1haW5pbmdfcG9pbnRzICE9IDApAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vcG9pbnRfY2xvdWQvYWxnb3JpdGhtcy9keW5hbWljX2ludGVnZXJfcG9pbnRzX2tkX3RyZWVfZGVjb2Rlci5oAERlY29kZUludGVybmFsACh0cnVlKSA9PSAobmJpdHMgPD0gMzIpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9iaXRfY29kZXJzL2RpcmVjdF9iaXRfZGVjb2Rlci5oAERlY29kZUxlYXN0U2lnbmlmaWNhbnRCaXRzMzIAKHRydWUpID09IChuYml0cyA+IDApAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAKDApIDw9IChhdHRfaWQpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vcG9pbnRfY2xvdWQvcG9pbnRfY2xvdWQuaABhdHRyaWJ1dGUAKGF0dF9pZCkgPCAoc3RhdGljX2Nhc3Q8aW50MzJfdD4oYXR0cmlidXRlc18uc2l6ZSgpKSkAKDApIDw9IChmYWNlX2lkLnZhbHVlKCkpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vbWVzaC9tZXNoLmgAZmFjZQAoZmFjZV9pZC52YWx1ZSgpKSA8IChzdGF0aWNfY2FzdDxpbnQ+KGZhY2VzXy5zaXplKCkpKQARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAwMTIzNDU2Nzg5QUJDREVGLgBUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AACVkAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAcHRocmVhZF9vbmNlIGZhaWx1cmUgaW4gX19jeGFfZ2V0X2dsb2JhbHNfZmFzdCgpAGNhbm5vdCBjcmVhdGUgcHRocmVhZCBrZXkgZm9yIF9fY3hhX2dldF9nbG9iYWxzKCkAY2Fubm90IHplcm8gb3V0IHRocmVhZCB2YWx1ZSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQB0ZXJtaW5hdGVfaGFuZGxlciB1bmV4cGVjdGVkbHkgcmV0dXJuZWQAU3QxMWxvZ2ljX2Vycm9yAFN0MTJsZW5ndGhfZXJyb3IATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19wYmFzZV90eXBlX2luZm9F";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 ___cxa_allocate_exception(size){return _malloc(size)}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){Module["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 ___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 ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}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 ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__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=Runtime.staticAlloc(4);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;var ASSERTIONS=false;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function yb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;A=B+16|0;z=B+4|0;x=B;f[a+36>>2]=b;y=a+24|0;w=a+28|0;d=f[w>>2]|0;c=f[y>>2]|0;g=d-c>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(e=c+(b<<2)|0,(d|0)!=(e|0)):0)f[w>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else jf(y,b-g|0,3528);f[A>>2]=0;v=A+4|0;f[v>>2]=0;t=A+8|0;f[t>>2]=0;if(b|0){if((b|0)<0)nn(A);c=((b+-1|0)>>>5)+1|0;s=Nk(c<<2)|0;f[A>>2]=s;f[t>>2]=c;f[v>>2]=b;c=b>>>5;Yg(s|0,0,c<<2|0)|0;d=b-(c<<5)|0;c=s+(c<<2)|0;if(d|0)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}s=a+4|0;c=(f[s>>2]|0)-(f[a>>2]|0)|0;g=c>>2;f[z>>2]=0;e=z+4|0;f[e>>2]=0;d=z+8|0;f[d>>2]=0;if(g){if((c|0)<0)nn(z);c=((g+-1|0)>>>5)+1|0;h=Nk(c<<2)|0;f[z>>2]=h;f[d>>2]=c;f[e>>2]=g;c=g>>>5;Yg(h|0,0,c<<2|0)|0;d=g-(c<<5)|0;c=h+(c<<2)|0;if(d)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}else h=0;c=f[a>>2]|0;a:do if((f[s>>2]|0)-c>>2>>>0>2){n=a+12|0;q=a+32|0;o=a+52|0;p=a+56|0;r=a+48|0;m=0;d=b;b:while(1){l=m*3|0;if((m|0)>=0){b=f[c+(l<<2)>>2]|0;e=l+1|0;e=((e|0)%3|0|0)==0?l+-2|0:e;if((e|0)<0)g=-1073741824;else g=f[c+(e<<2)>>2]|0;e=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((e|0)<0)c=-1073741824;else c=f[c+(e<<2)>>2]|0;if((b|0)!=(g|0)?!((b|0)==(c|0)|(g|0)==(c|0)):0){k=0;do{g=k+l|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){c=f[(f[a>>2]|0)+(g<<2)>>2]|0;f[x>>2]=c;e=f[A>>2]|0;if(!(f[e+(c>>>5<<2)>>2]&1<<(c&31)))b=0;else{c=f[w>>2]|0;if((c|0)==(f[q>>2]|0))zg(y,3528);else{f[c>>2]=-1073741824;f[w>>2]=c+4}c=f[o>>2]|0;if((c|0)==(f[p>>2]|0))zg(r,x);else{f[c>>2]=f[x>>2];f[o>>2]=c+4}c=f[v>>2]|0;e=f[t>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){nn(A);e=f[t>>2]|0}j=e<<6;c=c+32&-32;ig(A,e<<5>>>0<1073741823?(j>>>0>>0?c:j):2147483647);c=f[v>>2]|0}f[v>>2]=c+1;e=f[A>>2]|0;b=e+(c>>>5<<2)|0;f[b>>2]=f[b>>2]&~(1<<(c&31));f[x>>2]=d;c=d;b=1;d=d+1|0}j=e+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);c:do if(b){c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);e=f[x>>2]|0;f[(f[y>>2]|0)+(e<<2)>>2]=c;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}else{c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);f[(f[y>>2]|0)+(f[x>>2]<<2)>>2]=c;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}while(0);do if((e|0)==67){e=0;if((g|0)==-1073741824){c=-1073741824;e=74}}else if((e|0)==68)if((g|0)>=0){c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=74;break}if(!((c>>>0)%3|0)){c=c+2|0;e=74;break}else{c=c+-1|0;e=74;break}}else e=74}else{c=g;e=74}while(0);d:do if((e|0)==74){h=f[z>>2]|0;g=h+(c>>>5<<2)|0;i=1<<(c&31);e=(c|0)<0;if((c|0)!=-1073741824){if(!b){b=c;c=i;while(1){if(e)break b;f[g>>2]=f[g>>2]|c;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);h=f[z>>2]|0;if((c|0)==-1073741824)break d;else{b=c;g=h+(c>>>5<<2)|0;e=(c|0)<0;c=1<<(c&31)}}}j=f[a>>2]|0;b=g;h=e;e=i;while(1){g=j+(c<<2)|0;do{f[b>>2]=f[b>>2]|e;f[g>>2]=f[x>>2]}while(h);c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=c;break}if(!((c>>>0)%3|0)){e=c+2|0;break}else{e=c+-1|0;break}}else e=c;while(0);h=f[z>>2]|0;if((e|0)==-1073741824)break;else{c=e;b=h+(e>>>5<<2)|0;h=(e|0)<0;e=1<<(e&31)}}}}while(0)}k=k+1|0}while((k|0)<3)}}m=m+1|0;c=f[a>>2]|0;if((m|0)>=(((f[s>>2]|0)-c>>2>>>0)/3|0|0))break a}while(1){}}while(0);j=a+44|0;f[j>>2]=0;c=f[A>>2]|0;b=f[v>>2]|0;y=b>>>5;i=c+(y<<2)|0;b=b&31;e=(y|0)!=0;e:do if(y|b|0){if(!b){g=c;d=0;while(1){f:do if(e){e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break;else e=e+1|0}}else{e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break f;e=e+1|0;if(!e)break e}}while(0);g=g+4|0;if((g|0)==(i|0))break e;else e=1}}if(e){g=c;d=0;e=0;do{h=0;while(1){if(!(f[g>>2]&1<>2]=e;d=e}if((h|0)==31)break;else h=h+1|0}g=g+4|0}while((g|0)!=(i|0))}else{g=c;d=0}e=0;do{if(!(f[g>>2]&1<>2]=d}e=e+1|0}while((e|0)!=(b|0))}while(0);d=f[z>>2]|0;if(d){Co(d);c=f[A>>2]|0}if(!c){u=B;return 1}Co(c);u=B;return 1}function zb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;bm(c)|0;if((I|0)<0){C=1;A=18004;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?18005:18010):18007}bm(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+go(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=oi(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[18039+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Ui(a,32,d,j,g);Lm(a,p,o);Ui(a,48,d,j,g^65536);Lm(a,F,C);Ui(a,48,D-C|0,0,0);Lm(a,n,E);Ui(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=nl(f[j>>2]|0,0,o|0)|0;x=gm(x|0,I|0,l|0,0)|0;y=I;v=Ck(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=en(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=oi(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Ui(a,32,d,j,g);Lm(a,A,C);Ui(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=oi(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){Yg(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Lm(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Lm(a,18055,1);if(m>>>0>>0&(k|0)>0)while(1){l=oi(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){Yg(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Lm(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Ui(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=oi(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Lm(a,l,1);if(e&(k|0)<1){l=m;break}Lm(a,18055,1);l=m}else{if(l>>>0<=F>>>0)break;Yg(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Lm(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Ui(a,48,k+18|0,18,0);Lm(a,v,D-v|0)}Ui(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Ui(a,32,d,j,g&-65537);Lm(a,A,C);Lm(a,c!=c|0.0!=0.0?(F?18031:18035):F?18023:18027,3);Ui(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function Ab(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=oo()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Lm(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=Zj(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=Zj(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(17523+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Gd(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=rk(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=17987;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=wl(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=17987;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?17987:17989):17988;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=17987;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=17987;i=x;break}case 109:{i=oo()|0;i=Sm(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:17997;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Ui(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=zb(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=17987;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=bk(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?17987:17987+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=oi(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=cg(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=17987;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Rm(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Ui(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Rm(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Lm(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Ui(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Ui(a,32,i,l,n);Lm(a,j,k);Ui(a,48,i,l,n^65536);Ui(a,48,q,r,0);Lm(a,o,r);Ui(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Gd(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function Bb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function Cb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;r=F+76|0;s=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0){l=c;m=-1073741824}else{l=c;m=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}}else{l=-1073741824;m=-1073741824}c=a+36|0;j=f[c>>2]|0;g=f[j+4>>2]|0;k=f[j>>2]|0;if(g-k>>2>>>0>l>>>0){c=k;h=g;i=j;g=k}else{mn(j);i=f[c>>2]|0;c=f[i>>2]|0;h=f[i+4>>2]|0;g=f[j>>2]|0}w=f[g+(l<<2)>>2]|0;if(h-c>>2>>>0<=m>>>0){mn(i);c=f[i>>2]|0}h=f[c+(m<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;i=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,i,B)|0;r=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;r=wl(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=wl(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=wl(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Mk(r|0,s|0,r|0,s|0)|0;x=I;B=Mk(t|0,v|0,t|0,v|0)|0;x=gm(B|0,I|0,C|0,x|0)|0;C=I;B=Mk(l|0,m|0,l|0,m|0)|0;B=gm(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=wl(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=wl(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=wl(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Mk(K|0,J|0,r|0,s|0)|0;d=I;g=Mk(H|0,G|0,t|0,v|0)|0;d=gm(g|0,I|0,k|0,d|0)|0;k=I;g=Mk(h|0,i|0,l|0,m|0)|0;g=gm(d|0,k|0,g|0,I|0)|0;k=I;d=wl(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=wl(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Mk(B|0,C|0,q|0,y|0)|0;n=I;q=Mk(B|0,C|0,z|0,A|0)|0;p=I;D=Mk(g|0,k|0,d|0,c|0)|0;e=I;j=Mk(g|0,k|0,w|0,x|0)|0;A=I;n=gm(D|0,e|0,o|0,n|0)|0;o=I;p=gm(j|0,A|0,q|0,p|0)|0;q=I;A=Mk(g|0,k|0,r|0,s|0)|0;j=I;e=Mk(g|0,k|0,t|0,v|0)|0;D=I;m=Mk(g|0,k|0,l|0,m|0)|0;k=I;j=ki(A|0,j|0,B|0,C|0)|0;l=I;D=ki(e|0,D|0,B|0,C|0)|0;e=I;k=ki(m|0,k|0,B|0,C|0)|0;m=I;l=wl(K|0,J|0,j|0,l|0)|0;j=I;e=wl(H|0,G|0,D|0,e|0)|0;D=I;m=wl(h|0,i|0,k|0,m|0)|0;k=I;j=Mk(l|0,j|0,l|0,j|0)|0;l=I;D=Mk(e|0,D|0,e|0,D|0)|0;l=gm(D|0,I|0,j|0,l|0)|0;j=I;k=Mk(m|0,k|0,m|0,k|0)|0;k=gm(l|0,j|0,k|0,I|0)|0;j=I;l=wl(0,0,d|0,c|0)|0;m=I;j=Mk(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=25}break}case 1:{if(!c){g=1;c=0;E=26}else{g=1;c=0;h=j;i=k;E=25}break}default:{g=1;c=0;h=j;i=k;E=25}}if((E|0)==25)while(1){g=nl(g|0,c|0,1)|0;c=I;K=h;h=sl(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=26;break}else{i=I;E=25}}if((E|0)==26)while(1){K=en(j|0,k|0,g|0,c|0)|0;g=gm(K|0,I|0,g|0,c|0)|0;g=sl(g|0,I|0,1)|0;c=I;K=Mk(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=26;else break}E=Mk(g|0,c|0,w|0,x|0)|0;G=I;d=Mk(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=wl(0,0,E|0,G|0)|0;G=gm(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=wl(0,0,d|0,H|0)|0;H=gm(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=ki(G|0,J|0,B|0,C|0)|0;K=ki(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function Db(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;r=F+76|0;s=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);m=f[(f[h>>2]|0)+28>>2]|0;l=f[m+(c<<2)>>2]|0;m=f[m+(g<<2)>>2]|0;g=a+36|0;h=f[g>>2]|0;c=f[h+4>>2]|0;k=f[h>>2]|0;if(c-k>>2>>>0>l>>>0){i=c;j=h;g=k;c=k}else{mn(h);c=f[g>>2]|0;i=f[c+4>>2]|0;j=c;g=f[h>>2]|0;c=f[c>>2]|0}w=f[g+(l<<2)>>2]|0;if(i-c>>2>>>0<=m>>>0){mn(j);c=f[j>>2]|0}h=f[c+(m<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;i=b[g+24>>0]|0;f[r>>2]=f[s>>2];wb(g,r,i,B)|0;r=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;r=wl(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=wl(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=wl(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Mk(r|0,s|0,r|0,s|0)|0;x=I;B=Mk(t|0,v|0,t|0,v|0)|0;x=gm(B|0,I|0,C|0,x|0)|0;C=I;B=Mk(l|0,m|0,l|0,m|0)|0;B=gm(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=wl(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=wl(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=wl(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Mk(K|0,J|0,r|0,s|0)|0;d=I;g=Mk(H|0,G|0,t|0,v|0)|0;d=gm(g|0,I|0,k|0,d|0)|0;k=I;g=Mk(h|0,i|0,l|0,m|0)|0;g=gm(d|0,k|0,g|0,I|0)|0;k=I;d=wl(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=wl(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Mk(B|0,C|0,q|0,y|0)|0;n=I;q=Mk(B|0,C|0,z|0,A|0)|0;p=I;D=Mk(g|0,k|0,d|0,c|0)|0;e=I;j=Mk(g|0,k|0,w|0,x|0)|0;A=I;n=gm(D|0,e|0,o|0,n|0)|0;o=I;p=gm(j|0,A|0,q|0,p|0)|0;q=I;A=Mk(g|0,k|0,r|0,s|0)|0;j=I;e=Mk(g|0,k|0,t|0,v|0)|0;D=I;m=Mk(g|0,k|0,l|0,m|0)|0;k=I;j=ki(A|0,j|0,B|0,C|0)|0;l=I;D=ki(e|0,D|0,B|0,C|0)|0;e=I;k=ki(m|0,k|0,B|0,C|0)|0;m=I;l=wl(K|0,J|0,j|0,l|0)|0;j=I;e=wl(H|0,G|0,D|0,e|0)|0;D=I;m=wl(h|0,i|0,k|0,m|0)|0;k=I;j=Mk(l|0,j|0,l|0,j|0)|0;l=I;D=Mk(e|0,D|0,e|0,D|0)|0;l=gm(D|0,I|0,j|0,l|0)|0;j=I;k=Mk(m|0,k|0,m|0,k|0)|0;k=gm(l|0,j|0,k|0,I|0)|0;j=I;l=wl(0,0,d|0,c|0)|0;m=I;j=Mk(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=24}break}case 1:{if(!c){g=1;c=0;E=25}else{g=1;c=0;h=j;i=k;E=24}break}default:{g=1;c=0;h=j;i=k;E=24}}if((E|0)==24)while(1){g=nl(g|0,c|0,1)|0;c=I;K=h;h=sl(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=25;break}else{i=I;E=24}}if((E|0)==25)while(1){K=en(j|0,k|0,g|0,c|0)|0;g=gm(K|0,I|0,g|0,c|0)|0;g=sl(g|0,I|0,1)|0;c=I;K=Mk(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=25;else break}E=Mk(g|0,c|0,w|0,x|0)|0;G=I;d=Mk(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=wl(0,0,E|0,G|0)|0;G=gm(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=wl(0,0,d|0,H|0)|0;H=gm(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=ki(G|0,J|0,B|0,C|0)|0;K=ki(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function Eb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+20|0;B=C+8|0;A=C+4|0;y=C;x=a+4|0;do if((h[(f[x>>2]|0)+36>>0]<<8&65535)<512){t=c+8|0;v=f[t>>2]|0;t=f[t+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=gm(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((t|0)<(g|0)|(t|0)==(g|0)&v>>>0>>0){B=-1;u=C;return B|0}else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[w>>2]=d;v=i;f[v>>2]=e;f[v+4>>2]=g;break}}else if(sh(w,c)|0){d=f[w>>2]|0;break}else{B=-1;u=C;return B|0}while(0);a:do if(d|0){v=f[x>>2]|0;if(((h[v+36>>0]<<8|h[v+37>>0])&65535)<258){q=c+8|0;r=c+16|0;t=B+4|0;s=B+8|0;o=a+40|0;p=a+44|0;v=a+36|0;n=0;while(1){j=q;i=f[j>>2]|0;j=f[j+4>>2]|0;l=r;k=f[l>>2]|0;l=f[l+4>>2]|0;e=gm(k|0,l|0,4,0)|0;g=I;if((j|0)<(g|0)|(j|0)==(g|0)&i>>>0>>0)break;m=f[c>>2]|0;D=m+k|0;f[B>>2]=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=r;f[D>>2]=e;f[D+4>>2]=g;g=gm(k|0,l|0,8,0)|0;D=I;if((j|0)<(D|0)|(j|0)==(D|0)&i>>>0>>0)break;e=m+e|0;f[t>>2]=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;e=gm(k|0,l|0,8,0)|0;D=I;g=r;f[g>>2]=e;f[g+4>>2]=D;if(!((j|0)>(D|0)|(j|0)==(D|0)&i>>>0>e>>>0))break;e=b[m+e>>0]|0;m=gm(k|0,l|0,9,0)|0;D=r;f[D>>2]=m;f[D+4>>2]=I;b[s>>0]=b[s>>0]&-2|e&1;e=f[o>>2]|0;if((e|0)==(f[p>>2]|0)){gg(v,B);d=f[w>>2]|0}else{f[e>>2]=f[B>>2];f[e+4>>2]=f[B+4>>2];f[e+8>>2]=f[B+8>>2];f[o>>2]=(f[o>>2]|0)+12}n=n+1|0;if(n>>>0>=d>>>0)break a}D=-1;u=C;return D|0}k=B+4|0;e=a+40|0;g=a+44|0;l=a+36|0;i=0;j=0;do{sh(A,c)|0;f[k>>2]=(f[A>>2]|0)+j;sh(A,c)|0;d=f[A>>2]|0;j=f[k>>2]|0;if(j>>>0>>0){z=35;break}f[B>>2]=j-d;d=f[e>>2]|0;if((d|0)==(f[g>>2]|0))gg(l,B);else{f[d>>2]=f[B>>2];f[d+4>>2]=f[B+4>>2];f[d+8>>2]=f[B+8>>2];f[e>>2]=(f[e>>2]|0)+12}i=i+1|0}while(i>>>0<(f[w>>2]|0)>>>0);if((z|0)==35){D=-1;u=C;return D|0}Te(c,0,0)|0;j=f[w>>2]|0;if(j|0){n=c+36|0;o=c+32|0;l=c+24|0;m=c+28|0;k=a+36|0;d=0;p=0;do{D=f[x>>2]|0;e=(b[n>>0]|0)==0;if(((h[D+36>>0]<<8|h[D+37>>0])&65535)<514){if(!e){d=f[o>>2]|0;g=f[l>>2]|0;i=f[m>>2]|0;e=g+(d>>>3)|0;if(e>>>0>>0){D=(h[e>>0]|0)>>>(d&7)&1;e=d+1|0;f[o>>2]=e;d=D}else{e=d;d=0}if((g+(e>>>3)|0)>>>0>>0)f[o>>2]=e+1}}else if(!e){d=f[o>>2]|0;e=(f[l>>2]|0)+(d>>>3)|0;if(e>>>0<(f[m>>2]|0)>>>0){D=(h[e>>0]|0)>>>(d&7)&1;f[o>>2]=d+1;d=D}else d=0}D=(f[k>>2]|0)+(p*12|0)+8|0;b[D>>0]=b[D>>0]&-2|d&1;p=p+1|0}while(p>>>0>>0)}Oj(c)}while(0);f[B>>2]=0;d=f[x>>2]|0;d=(h[d+36>>0]<<8|h[d+37>>0])&65535;if((d&65535)<512){w=c+8|0;D=f[w>>2]|0;w=f[w+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=gm(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((w|0)<(g|0)|(w|0)==(g|0)&D>>>0>>0)d=-1;else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[B>>2]=d;z=i;f[z>>2]=e;f[z+4>>2]=g;z=42}}else if(d<<16>>16==512)if(sh(B,c)|0){d=f[B>>2]|0;z=42}else d=-1;else z=56;b:do if((z|0)==42)if(!d)z=56;else{D=f[x>>2]|0;if(((h[D+36>>0]<<8|h[D+37>>0])&65535)>=258){j=a+52|0;k=a+56|0;e=a+48|0;g=0;i=0;while(1){f[A>>2]=0;sh(y,c)|0;i=(f[y>>2]|0)+i|0;f[A>>2]=i;d=f[j>>2]|0;if((d|0)==(f[k>>2]|0))zg(e,A);else{f[d>>2]=i;f[j>>2]=d+4}g=g+1|0;if(g>>>0>=(f[B>>2]|0)>>>0){z=56;break b}}}n=c+8|0;o=c+16|0;l=a+52|0;m=a+56|0;j=a+48|0;k=0;while(1){f[A>>2]=0;a=n;D=f[a>>2]|0;a=f[a+4>>2]|0;e=o;d=f[e>>2]|0;e=gm(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((a|0)<(g|0)|(a|0)==(g|0)&D>>>0>>0)break;i=(f[c>>2]|0)+d|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[A>>2]=i;d=o;f[d>>2]=e;f[d+4>>2]=g;d=f[l>>2]|0;if((d|0)==(f[m>>2]|0))zg(j,A);else{f[d>>2]=i;f[l>>2]=d+4}k=k+1|0;if(k>>>0>=(f[B>>2]|0)>>>0){z=56;break b}}d=-1}while(0);if((z|0)==56)d=f[c+16>>2]|0;D=d;u=C;return D|0}function Fb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;M=u;u=u+48|0;L=M+24|0;J=M+12|0;z=M;if(!b){L=0;u=M;return L|0}I=a+12|0;A=a+4|0;k=f[A>>2]|0;c=f[a>>2]|0;i=k-c>>2;g=a+16|0;e=f[g>>2]|0;d=f[I>>2]|0;j=e-d>>2;l=c;if(i>>>0<=j>>>0)if(i>>>0>>0?(h=d+(i<<2)|0,(e|0)!=(h|0)):0){f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);g=c}else g=c;else{jf(I,i-j|0,3528);l=f[a>>2]|0;g=l;k=f[A>>2]|0}f[L>>2]=0;H=L+4|0;f[H>>2]=0;f[L+8>>2]=0;e=k-g|0;d=e>>2;c=L+8|0;do if(d)if(d>>>0>1073741823){M=Ia(4)|0;eo(M);ta(M|0,1112,100)}else{i=Nk(e)|0;h=i;f[L>>2]=h;f[H>>2]=h;f[c>>2]=i+(d<<2);break}else{i=0;h=0}while(0);if((e|0)>0){v=i;w=k;x=g;d=h;o=h;p=i;q=i;r=i;s=h;j=h;n=g;e=i;t=0;while(1){l=f[l+(t<<2)>>2]|0;c=f[H>>2]|0;if((l|0)<(c-d>>2|0)){g=v;h=w;i=x;m=e;c=n}else{e=l+1|0;f[J>>2]=0;g=c-d>>2;if(e>>>0<=g>>>0)if(e>>>0>>0?(y=d+(e<<2)|0,(c|0)!=(y|0)):0){f[H>>2]=c+(~((c+-4-y|0)>>>2)<<2);d=v;e=w;c=x}else{d=v;e=w;c=x}else{jf(L,e-g|0,J);d=f[L>>2]|0;e=f[A>>2]|0;c=f[a>>2]|0}j=d;g=d;h=e;i=c;o=j;p=d;q=d;r=d;s=j;m=d;k=e}G=m+(l<<2)|0;f[G>>2]=(f[G>>2]|0)+1;t=t+1|0;if((t|0)>=(k-c>>2|0)){l=s;i=q;break}else{v=g;w=h;x=i;l=c;d=m;n=c;e=m}}}else{c=g;j=h;l=h;r=i;o=h;p=i}c=k-c|0;h=c>>2;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;if(!h){d=0;e=0}else{if(h>>>0>536870911){nn(J);M=Ia(4)|0;eo(M);ta(M|0,1112,100)}g=Nk(c<<1)|0;f[G>>2]=g;f[J>>2]=g;f[J+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){F=e;f[F>>2]=-1;f[F+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[G>>2]=g+(h<<3);d=g;e=g}F=f[H>>2]|0;g=F-j|0;c=g>>2;f[z>>2]=0;E=z+4|0;f[E>>2]=0;f[z+8>>2]=0;do if(c)if(c>>>0>1073741823){nn(z);M=Ia(4)|0;eo(M);ta(M|0,1112,100)}else{D=Nk(g)|0;f[z>>2]=D;C=D+(c<<2)|0;f[z+8>>2]=C;Yg(D|0,0,g|0)|0;f[E>>2]=C;B=D;break}else{B=0;C=0;D=0}while(0);if((F|0)!=(l|0)){h=F-r>>2;c=0;g=0;do{f[B+(c<<2)>>2]=g;g=(f[r+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}z=f[a>>2]|0;c=(f[A>>2]|0)-z|0;A=z;if((c|0)>0){z=a+40|0;y=c>>2;k=i;m=B;j=0;v=e;t=e;w=e;s=e;x=e;while(1){i=(j|0)<0;c=j+1|0;if(!i){c=((c|0)%3|0|0)==0?j+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[A+(c<<2)>>2]|0;c=(j>>>0)%3|0;g=((c|0)==0?2:-1)+j|0;if((g|0)<0){r=-1073741824;q=h}else{r=f[A+(g<<2)>>2]|0;q=h}}else{c=(j>>>0)%3|0;r=-1073741824;q=-1073741824}if((j|0)==((i?-1073741824:j-c|0)|0)){if(i)c=-1073741824;else c=f[A+(j<<2)>>2]|0;if((q|0)==(r|0)|((c|0)==(q|0)|(c|0)==(r|0))){f[z>>2]=(f[z>>2]|0)+1;j=j+2|0;c=v;g=t;l=w;h=s;i=x}else K=60}else K=60;a:do if((K|0)==60){K=0;n=f[k+(r<<2)>>2]|0;b:do if((n|0)>0){c=0;i=f[m+(r<<2)>>2]|0;while(1){g=f[s+(i<<3)>>2]|0;if((g|0)<0){c=v;g=t;h=s;break b}if((g|0)==(q|0))break;c=c+1|0;if((c|0)<(n|0))i=i+1|0;else{c=v;g=t;h=s;break b}}l=f[s+(i<<3)+4>>2]|0;h=t;while(1){c=c+1|0;if((c|0)>=(n|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[v+(i<<3)>>2]|0)<0)break;else{i=g;h=v}}f[w+(i<<3)>>2]=-1;if((l|0)<0){c=w;g=w;h=w}else{c=f[I>>2]|0;f[c+(j<<2)>>2]=l;f[c+(l<<2)>>2]=j;c=w;g=w;l=w;h=w;i=x;break a}}else{c=v;g=t;h=s}while(0);i=f[p+(q<<2)>>2]|0;if((i|0)>0){h=0;c=f[B+(q<<2)>>2]|0;while(1){g=x+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){m=B;k=p;c=x;g=x;l=x;h=x;i=x;break a}else c=c+1|0}f[g>>2]=r;f[e+(c<<3)+4>>2]=j;m=B;k=p;c=e;g=e;l=e;h=e;i=e}else{k=p;l=w;i=x}}while(0);j=j+1|0;if((j|0)>=(y|0))break;else{v=c;t=g;w=l;s=h;x=i}}}f[b>>2]=F-o>>2;if(B){if((C|0)!=(B|0))f[E>>2]=C+(~((C+-4-B|0)>>>2)<<2);Co(D);d=f[J>>2]|0;e=d}if(e|0){c=f[G>>2]|0;if((c|0)!=(e|0))f[G>>2]=c+(~((c+-8-e|0)>>>3)<<3);Co(d)}c=f[L>>2]|0;if(c|0){d=f[H>>2]|0;if((d|0)!=(c|0))f[H>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}L=1;u=M;return L|0}function Gb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))zg(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Je(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Je(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Je(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Je(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))zg(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))zg(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function Hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=La,j=0,k=La,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=La;A=u;u=u+48|0;y=A+24|0;z=A;e=rc(a,c)|0;if(e|0){f[z>>2]=e;f[y>>2]=f[z>>2];oe(a,y)|0}cj(z,c);c=z+12|0;f[c>>2]=0;x=z+16|0;f[x>>2]=0;f[z+20>>2]=0;j=d+4|0;g=(f[j>>2]|0)-(f[d>>2]|0)|0;if(g){if((g|0)<0)nn(c);e=Nk(g)|0;f[x>>2]=e;f[c>>2]=e;f[z+20>>2]=e+g;g=f[d>>2]|0;c=(f[j>>2]|0)-g|0;if((c|0)>0){Xe(e|0,g|0,c|0)|0;f[x>>2]=e+c}}else e=0;s=b[z+11>>0]|0;v=s<<24>>24<0;t=v?f[z>>2]|0:z;s=v?f[z+4>>2]|0:s&255;if(s>>>0>3){g=t;c=s;j=s;while(1){v=X(h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,1540483477)|0;c=(X(v>>>24^v,1540483477)|0)^(X(c,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else g=g+4|0}v=s+-4|0;g=v&-4;j=t+(g+4)|0;g=v-g|0}else{j=t;c=s;g=s}switch(g|0){case 3:{c=h[j+2>>0]<<16^c;w=13;break}case 2:{w=13;break}case 1:{w=14;break}default:{}}if((w|0)==13){c=h[j+1>>0]<<8^c;w=14}if((w|0)==14)c=X(h[j>>0]^c,1540483477)|0;v=X(c>>>13^c,1540483477)|0;v=v>>>15^v;q=a+4|0;j=f[q>>2]|0;r=(j|0)==0;a:do if(!r){p=j+-1|0;d=(p&j|0)==0;if(d)c=v&p;else c=(v>>>0)%(j>>>0)|0;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){if((f[g+4>>2]&p|0)!=(c|0)){w=48;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=48;break a}}}while(1){if((f[o+4>>2]&p|0)!=(c|0)){w=48;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(hj(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=48;break}}}else{if(g){g=o;while(1){if((((f[g+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(c|0)){w=48;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=48;break a}}}while(1){if((((f[o+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(c|0)){w=48;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(hj(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=48;break}}}}else w=48}else{c=0;w=48}while(0);if((w|0)==48){Of(y,a,v,z);d=a+12|0;k=$(((f[d>>2]|0)+1|0)>>>0);B=$(j>>>0);i=$(n[a+16>>2]);do if(r|k>$(B*i)){e=(j>>>0<3|(j+-1&j|0)!=0)&1|j<<1;c=~~$(W($(k/i)))>>>0;Rf(a,e>>>0>>0?c:e);e=f[q>>2]|0;c=e+-1|0;if(!(c&e)){j=e;c=c&v;break}else{j=e;c=(v>>>0)%(e>>>0)|0;break}}while(0);e=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!e){g=a+8|0;f[f[y>>2]>>2]=f[g>>2];f[g>>2]=f[y>>2];f[(f[a>>2]|0)+(c<<2)>>2]=g;g=f[y>>2]|0;e=f[g>>2]|0;if(!e)e=y;else{e=f[e+4>>2]|0;c=j+-1|0;if(!(c&j))e=e&c;else e=(e>>>0)%(j>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=g;e=y}}else{f[f[y>>2]>>2]=f[e>>2];f[e>>2]=f[y>>2];e=y}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;e=f[z+12>>2]|0}if(!e){km(z);u=A;return}if((f[x>>2]|0)!=(e|0))f[x>>2]=e;Co(e);km(z);u=A;return}function Ib(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+176|0;s=A+136|0;w=A+32|0;v=A;t=A+104|0;x=A+100|0;y=a+4|0;q=f[y>>2]|0;d=f[q+32>>2]|0;o=d+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((o|0)>(l|0)|(o|0)==(l|0)&n>>>0>k>>>0)){c=0;u=A;return c|0}j=f[d>>2]|0;r=b[j+k>>0]|0;d=gm(k|0,l|0,1,0)|0;m=I;i=p;f[i>>2]=d;f[i+4>>2]=m;if(!((o|0)>(m|0)|(o|0)==(m|0)&n>>>0>d>>>0)){c=0;u=A;return c|0}m=b[j+d>>0]|0;d=gm(k|0,l|0,2,0)|0;e=I;i=p;f[i>>2]=d;f[i+4>>2]=e;do if(r<<24>>24>-1){i=r<<24>>24;g=f[a+224>>2]|0;if(i>>>0<(((f[a+228>>2]|0)-g|0)/116|0)>>>0){f[g+(i*116|0)>>2]=c;break}else{c=0;u=A;return c|0}}while(0);do if((((h[q+36>>0]|0)<<8|(h[q+37>>0]|0))&65535)>257)if((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0){e=b[j+d>>0]|0;o=gm(k|0,l|0,3,0)|0;f[p>>2]=o;f[p+4>>2]=I;e=e&255;break}else{c=0;u=A;return c|0}else e=0;while(0);n=f[q+44>>2]|0;if(!(m<<24>>24)){if(r<<24>>24<0)d=a+196|0;else{d=r<<24>>24;w=f[a+224>>2]|0;b[w+(d*116|0)+72>>0]=0;d=w+(d*116|0)+76|0}switch((e&255)<<24>>24){case 0:{tc(s,a,d);d=f[s>>2]|0;break}case 1:{Bd(s,a,d);d=f[s>>2]|0;break}default:{c=0;u=A;return c|0}}if(!d){c=0;u=A;return c|0}}else{if(e|0){c=0;u=A;return c|0}j=r<<24>>24;if(r<<24>>24<0){c=0;u=A;return c|0}d=Nk(88)|0;i=f[a+224>>2]|0;k=i+(j*116|0)+76|0;f[d+4>>2]=0;f[d>>2]=3088;l=d+12|0;f[l>>2]=3112;m=d+64|0;f[m>>2]=0;f[d+68>>2]=0;f[d+72>>2]=0;e=d+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d+76>>2]=n;f[d+80>>2]=k;f[d+84>>2]=0;p=w+4|0;f[p>>2]=3112;o=w+56|0;f[o>>2]=0;q=w+60|0;f[q>>2]=0;f[w+64>>2]=0;e=w+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));g=i+(j*116|0)+4|0;f[v>>2]=3112;e=v+4|0;a=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[e>>2]=g;i=f[i+(j*116|0)+68>>2]|0;i=((f[i+4>>2]|0)-(f[i>>2]|0)>>2>>>0)/3|0;b[s>>0]=0;ef(v+8|0,i,s);Pa[f[(f[v>>2]|0)+8>>2]&127](v);ae(t,v);ae(s,t);f[w>>2]=f[s+4>>2];i=w+4|0;Ce(i,s)|0;f[s>>2]=3112;e=f[s+20>>2]|0;if(e|0)Co(e);e=f[s+8>>2]|0;if(e|0)Co(e);f[w+36>>2]=g;f[w+40>>2]=k;f[w+44>>2]=n;f[w+48>>2]=d;f[t>>2]=3112;e=f[t+20>>2]|0;if(e|0)Co(e);e=f[t+8>>2]|0;if(e|0)Co(e);f[d+8>>2]=f[w>>2];Ce(l,i)|0;e=d+44|0;t=w+36|0;f[e>>2]=f[t>>2];f[e+4>>2]=f[t+4>>2];f[e+8>>2]=f[t+8>>2];f[e+12>>2]=f[t+12>>2];b[e+16>>0]=b[t+16>>0]|0;ee(m,f[o>>2]|0,f[q>>2]|0);f[v>>2]=3112;e=f[v+20>>2]|0;if(e|0)Co(e);e=f[v+8>>2]|0;if(e|0)Co(e);e=f[o>>2]|0;if(e|0){g=f[q>>2]|0;if((g|0)!=(e|0))f[q>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}f[p>>2]=3112;e=f[w+24>>2]|0;if(e|0)Co(e);e=f[w+12>>2]|0;if(e|0)Co(e)}e=Nk(64)|0;f[x>>2]=d;gj(e,x);l=e;d=f[x>>2]|0;f[x>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[y>>2]|0;if((c|0)<0){Pa[f[(f[e>>2]|0)+4>>2]&127](e);c=0;u=A;return c|0}k=d+8|0;j=d+12|0;d=f[j>>2]|0;e=f[k>>2]|0;i=d-e>>2;do if((i|0)<=(c|0)){g=c+1|0;if(g>>>0>i>>>0){Ae(k,g-i|0);break}if(g>>>0>>0?(z=e+(g<<2)|0,(d|0)!=(z|0)):0)do{y=d+-4|0;f[j>>2]=y;d=f[y>>2]|0;f[y>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[j>>2]|0}while((d|0)!=(z|0))}while(0);c=(f[k>>2]|0)+(c<<2)|0;d=f[c>>2]|0;f[c>>2]=l;if(!d){c=1;u=A;return c|0}Pa[f[(f[d>>2]|0)+4>>2]&127](d);c=1;u=A;return c|0}function Jb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=u;u=u+736|0;C=D+720|0;s=D+16|0;B=D+72|0;r=D+64|0;v=D+56|0;w=D+48|0;x=D+40|0;y=D+32|0;z=D+24|0;A=D+8|0;t=D;e=Wa[f[(f[a>>2]|0)+20>>2]&127](a,0)|0;a=(Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;a=f[a>>2]|0;if((e|0)<=-1)Ga(17186,17202,67,17293);d=f[a+8>>2]|0;if(((f[a+12>>2]|0)-d>>2|0)<=(e|0))Ga(17303,17202,68,17293);a=f[d+(e<<2)>>2]|0;b[a+84>>0]=1;d=f[a+68>>2]|0;g=a+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);m=c+8|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=c+16|0;k=o;j=f[k>>2]|0;k=f[k+4>>2]|0;if(!((m|0)>(k|0)|(m|0)==(k|0)&l>>>0>j>>>0)){C=0;u=D;return C|0}n=f[c>>2]|0;g=b[n+j>>0]|0;d=gm(j|0,k|0,1,0)|0;e=I;E=o;f[E>>2]=d;f[E+4>>2]=e;switch(g<<24>>24){case 0:{if(((m|0)>(e|0)|(m|0)==(e|0)&l>>>0>d>>>0?(i=gm(j|0,k|0,2,0)|0,p=o,f[p>>2]=i,f[p+4>>2]=I,p=gm(j|0,k|0,6,0)|0,q=I,!((m|0)<(q|0)|(m|0)==(q|0)&l>>>0

>>0)):0)?(E=n+i|0,E=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24,A=o,f[A>>2]=p,f[A+4>>2]=q,jh(a,E)|0,cm(B),f[r>>2]=a,f[r+4>>2]=0,f[C>>2]=f[r>>2],f[C+4>>2]=f[r+4>>2],kd(B,c,C)|0):0){E=1;u=D;return E|0}E=0;u=D;return E|0}case 1:{a:do if((m|0)>(e|0)|(m|0)==(e|0)&l>>>0>d>>>0){i=b[n+d>>0]|0;g=gm(j|0,k|0,2,0)|0;E=o;f[E>>2]=g;f[E+4>>2]=I;if((i&255)>6){f[s>>2]=i&255;il(4894,s)|0;break}d=gm(j|0,k|0,6,0)|0;e=I;if(!((m|0)<(e|0)|(m|0)==(e|0)&l>>>0>>0)){E=n+g|0;E=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;s=o;f[s>>2]=d;f[s+4>>2]=e;jh(a,E)|0;switch(i<<24>>24){case 0:{Tf(B,3);f[v>>2]=a;f[v+4>>2]=0;f[C>>2]=f[v>>2];f[C+4>>2]=f[v+4>>2];E=wd(B,c,C)|0;me(B);if(E)a=1;else break a;u=D;return a|0}case 1:{Tf(B,3);f[w>>2]=a;f[w+4>>2]=0;f[C>>2]=f[w>>2];f[C+4>>2]=f[w+4>>2];E=vd(B,c,C)|0;me(B);if(E)a=1;else break a;u=D;return a|0}case 2:{Uf(B,3);f[x>>2]=a;f[x+4>>2]=0;f[C>>2]=f[x>>2];f[C+4>>2]=f[x+4>>2];E=yd(B,c,C)|0;qe(B);if(E)a=1;else break a;u=D;return a|0}case 3:{Uf(B,3);f[y>>2]=a;f[y+4>>2]=0;f[C>>2]=f[y>>2];f[C+4>>2]=f[y+4>>2];E=xd(B,c,C)|0;qe(B);if(E)a=1;else break a;u=D;return a|0}case 4:{Lf(B,3);f[z>>2]=a;f[z+4>>2]=0;f[C>>2]=f[z>>2];f[C+4>>2]=f[z+4>>2];E=dd(B,c,C)|0;ce(B);if(E)a=1;else break a;u=D;return a|0}case 5:{Lf(B,3);f[A>>2]=a;f[A+4>>2]=0;f[C>>2]=f[A>>2];f[C+4>>2]=f[A+4>>2];E=cd(B,c,C)|0;ce(B);if(E)a=1;else break a;u=D;return a|0}case 6:{Lf(B,3);f[t>>2]=a;f[t+4>>2]=0;f[C>>2]=f[t>>2];f[C+4>>2]=f[t+4>>2];E=bd(B,c,C)|0;ce(B);if(E)a=1;else break a;u=D;return a|0}default:break a}}}while(0);E=0;u=D;return E|0}default:{E=0;u=D;return E|0}}return 0}function Kb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;C=a+8|0;f[C>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);z=e>>>0>1073741823?-1:e<<2;A=zo(z)|0;Yg(A|0,0,z|0)|0;B=zo(z)|0;Yg(B|0,0,z|0)|0;if((f[C>>2]|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[A+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{z=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(z|0)?z:d}i=i+1|0;d=f[C>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;H=18}}else{d=d-(f[i>>2]|0)|0;H=18}if((H|0)==18){H=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[C>>2]|0))}}s=f[a+48>>2]|0;w=a+56|0;h=f[w>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;y=g-d|0;z=y>>2;if((y|0)<=4){Ao(B);Ao(A);return 1}t=f[a+52>>2]|0;v=(e|0)>0;x=a+16|0;u=a+32|0;y=a+12|0;r=a+20|0;q=s+12|0;p=e<<2;i=g;o=1;while(1){if(i-d>>2>>>0<=o>>>0){mn(h);d=f[h>>2]|0}n=f[d+(o<<2)>>2]|0;if(v)Yg(A|0,0,p|0)|0;if((n|0)>-1){m=f[q>>2]|0;a=n;l=0;while(1){g=f[m+(a<<2)>>2]|0;if((g|0)>=0){h=f[s>>2]|0;i=f[t>>2]|0;k=f[i+(f[h+(g<<2)>>2]<<2)>>2]|0;d=g+1|0;d=((d|0)%3|0|0)==0?g+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;j=f[i+(d<<2)>>2]|0;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;d=f[i+(d<<2)>>2]|0;if((k|0)<(o|0)&(j|0)<(o|0)&(d|0)<(o|0)){i=X(k,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(v){d=0;do{f[B+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(v){d=0;do{k=A+(d<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[B+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;d=(((a>>>0)%3|0|0)==0?2:-1)+a|0;do if((d|0)>=0){d=f[m+(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);a=(d|0)==(n|0)?-1073741824:d;if((a|0)<=-1)break;else l=h}g=X(o,e)|0;if(h){if(v){d=0;do{n=A+(d<<2)|0;f[n>>2]=(f[n>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}k=b+(g<<2)|0;j=c+(g<<2)|0;if((f[C>>2]|0)>0){h=0;do{d=f[A+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){i=f[u>>2]|0;f[i+(h<<2)>>2]=g}else{n=f[y>>2]|0;i=f[u>>2]|0;f[i+(h<<2)>>2]=(d|0)<(n|0)?n:d}h=h+1|0;d=f[C>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=j+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[r>>2]|0)+d|0;H=72}}else{d=d-(f[r>>2]|0)|0;H=72}if((H|0)==72){H=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[C>>2]|0))}}}else{G=g;H=50}}else{G=X(o,e)|0;H=50}if((H|0)==50?(H=0,D=c+((X(o+-1|0,e)|0)<<2)|0,E=b+(G<<2)|0,F=c+(G<<2)|0,(f[C>>2]|0)>0):0){h=0;do{d=f[D+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){i=f[u>>2]|0;f[i+(h<<2)>>2]=g}else{n=f[y>>2]|0;i=f[u>>2]|0;f[i+(h<<2)>>2]=(d|0)<(n|0)?n:d}h=h+1|0;d=f[C>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[E+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=F+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[r>>2]|0)+d|0;H=60}}else{d=d-(f[r>>2]|0)|0;H=60}if((H|0)==60){H=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[C>>2]|0))}}g=o+1|0;if((g|0)>=(z|0))break;h=f[w>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;o=g}Ao(B);Ao(A);return 1}function Lb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;B=a+8|0;f[B>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);y=e>>>0>1073741823?-1:e<<2;z=zo(y)|0;Yg(z|0,0,y|0)|0;A=zo(y)|0;Yg(A|0,0,y|0)|0;if((f[B>>2]|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[z+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{y=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(y|0)?y:d}i=i+1|0;d=f[B>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;K=18}}else{d=d-(f[i>>2]|0)|0;K=18}if((K|0)==18){K=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[B>>2]|0))}}r=f[a+48>>2]|0;v=a+56|0;h=f[v>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;x=g-d|0;y=x>>2;if((x|0)<=4){Ao(A);Ao(z);return 1}s=f[a+52>>2]|0;u=(e|0)>0;w=a+16|0;t=a+32|0;x=a+12|0;q=a+20|0;p=r+64|0;o=r+28|0;n=e<<2;i=g;m=1;while(1){if(i-d>>2>>>0<=m>>>0){mn(h);d=f[h>>2]|0}a=f[d+(m<<2)>>2]|0;if(u)Yg(z|0,0,n|0)|0;if((a|0)>-1){l=f[r>>2]|0;k=a;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(J=f[(f[(f[p>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(J|0)>=0):0)?(E=f[o>>2]|0,i=f[s>>2]|0,C=f[i+(f[E+(J<<2)>>2]<<2)>>2]|0,D=J+1|0,D=f[i+(f[E+((((D|0)%3|0|0)==0?J+-2|0:D)<<2)>>2]<<2)>>2]|0,E=f[i+(f[E+((((J>>>0)%3|0|0)==0?2:-1)+J<<2)>>2]<<2)>>2]|0,(C|0)<(m|0)&(D|0)<(m|0)&(E|0)<(m|0)):0){g=X(C,e)|0;h=X(D,e)|0;i=X(E,e)|0;if(u){d=0;do{f[A+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(u){d=0;do{i=z+(d<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[A+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}j=j+1|0}d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(d>>>5<<2)>>2]&1<<(d&31))){if((d|0)>=0){d=f[(f[(f[p>>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);k=(d|0)==(a|0)?-1073741824:d}while((k|0)>-1);g=X(m,e)|0;if(j){if(u){d=0;do{a=z+(d<<2)|0;f[a>>2]=(f[a>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}k=b+(g<<2)|0;j=c+(g<<2)|0;if((f[B>>2]|0)>0){h=0;do{d=f[z+(h<<2)>>2]|0;g=f[w>>2]|0;if((d|0)>(g|0)){i=f[t>>2]|0;f[i+(h<<2)>>2]=g}else{a=f[x>>2]|0;i=f[t>>2]|0;f[i+(h<<2)>>2]=(d|0)<(a|0)?a:d}h=h+1|0;d=f[B>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=j+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[w>>2]|0)){if((d|0)<(f[x>>2]|0)){d=(f[q>>2]|0)+d|0;K=70}}else{d=d-(f[q>>2]|0)|0;K=70}if((K|0)==70){K=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[B>>2]|0))}}}else{I=g;K=48}}else{I=X(m,e)|0;K=48}if((K|0)==48?(K=0,F=c+((X(m+-1|0,e)|0)<<2)|0,G=b+(I<<2)|0,H=c+(I<<2)|0,(f[B>>2]|0)>0):0){h=0;do{d=f[F+(h<<2)>>2]|0;g=f[w>>2]|0;if((d|0)>(g|0)){i=f[t>>2]|0;f[i+(h<<2)>>2]=g}else{a=f[x>>2]|0;i=f[t>>2]|0;f[i+(h<<2)>>2]=(d|0)<(a|0)?a:d}h=h+1|0;d=f[B>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[G+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=H+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[w>>2]|0)){if((d|0)<(f[x>>2]|0)){d=(f[q>>2]|0)+d|0;K=58}}else{d=d-(f[q>>2]|0)|0;K=58}if((K|0)==58){K=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[B>>2]|0))}}g=m+1|0;if((g|0)>=(y|0))break;h=f[v>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;m=g}Ao(A);Ao(z);return 1}function Mb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=u;u=u+16|0;z=A;m=a+144|0;l=f[m>>2]|0;l=Sa[f[(f[l>>2]|0)+32>>2]&127](l)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){e=a+40|0;g=e;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));if(Te(e,1,z)|0){g=a;i=e;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));e=z;l=f[e>>2]|0;e=f[e+4>>2]|0;B=a+8|0;g=a+16|0;k=g;i=f[k>>2]|0;k=f[k+4>>2]|0;B=wl(f[B>>2]|0,f[B+4>>2]|0,i|0,k|0)|0;C=I;if(!(e>>>0>C>>>0|(e|0)==(C|0)&l>>>0>B>>>0)){B=gm(i|0,k|0,l|0,e|0)|0;C=g;f[C>>2]=B;f[C+4>>2]=I;break}}C=0;u=A;return C|0}while(0);do if((j[a+38>>1]|0)<514){e=a+96|0;g=e;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));if(Te(e,1,z)|0){g=a;i=e;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));g=z;e=f[g>>2]|0;g=f[g+4>>2]|0;C=a+8|0;i=a+16|0;l=i;k=f[l>>2]|0;l=f[l+4>>2]|0;C=wl(f[C>>2]|0,f[C+4>>2]|0,k|0,l|0)|0;B=I;if(!(g>>>0>B>>>0|(g|0)==(B|0)&e>>>0>C>>>0)){B=gm(k|0,l|0,e|0,g|0)|0;C=i;f[C>>2]=B;f[C+4>>2]=I;break}}C=0;u=A;return C|0}else nd(a+80|0,a)|0;while(0);if(!(vg(a)|0)){C=0;u=A;return C|0}g=c;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));C=f[m>>2]|0;C=Sa[f[(f[C>>2]|0)+32>>2]&127](C)|0;do if((((h[C+36>>0]|0)<<8|(h[C+37>>0]|0))&65535)<514){C=f[m>>2]|0;C=(Sa[f[(f[C>>2]|0)+32>>2]&127](C)|0)+36|0;if(((h[C>>0]|0)<<8&65535)<512){g=c+8|0;e=f[g>>2]|0;g=f[g+4>>2]|0;m=c+16|0;k=m;i=f[k>>2]|0;k=gm(i|0,f[k+4>>2]|0,4,0)|0;l=I;if(!((g|0)<(l|0)|(g|0)==(l|0)&e>>>0>>0)){n=(f[c>>2]|0)+i|0;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[z>>2]=n;o=m;f[o>>2]=k;f[o+4>>2]=l;o=g;p=l;q=e;r=k;s=m;t=19}}else if(sh(z,c)|0){q=c+8|0;s=c+16|0;r=s;n=f[z>>2]|0;o=f[q+4>>2]|0;p=f[r+4>>2]|0;q=f[q>>2]|0;r=f[r>>2]|0;t=19}if(((t|0)==19?(C=a+152|0,d=(f[C>>2]|0)+n|0,f[C>>2]=d,(o|0)>(p|0)|(o|0)==(p|0)&q>>>0>r>>>0):0)?(C=b[(f[c>>2]|0)+r>>0]|0,t=gm(r|0,p|0,1,0)|0,B=s,f[B>>2]=t,f[B+4>>2]=I,C<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;break}C=0;u=A;return C|0}else{f[a+176>>2]=2;f[a+180>>2]=7;d=f[a+152>>2]|0}while(0);if((d|0)<0){C=0;u=A;return C|0}l=a+156|0;f[z>>2]=0;i=a+160|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;if(d>>>0<=k>>>0)if(d>>>0>>0?(v=e+(d<<2)|0,(g|0)!=(v|0)):0){f[i>>2]=g+(~((g+-4-v|0)>>>2)<<2);d=2;e=7}else{d=2;e=7}else{jf(l,d-k|0,z);d=f[a+176>>2]|0;e=f[a+180>>2]|0}i=e-d+1|0;q=a+184|0;p=a+188|0;e=f[p>>2]|0;g=f[q>>2]|0;k=(e-g|0)/12|0;d=e;if(i>>>0<=k>>>0){if(i>>>0>>0?(w=g+(i*12|0)|0,(d|0)!=(w|0)):0){do{e=d+-12|0;f[p>>2]=e;g=f[e>>2]|0;if(!g)d=e;else{e=d+-8|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g);d=f[p>>2]|0}}while((d|0)!=(w|0));e=d}}else{$d(q,i-k|0);e=f[p>>2]|0}o=a+196|0;d=f[q>>2]|0;m=(e-d|0)/12|0;k=a+200|0;i=f[k>>2]|0;g=f[o>>2]|0;l=i-g>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(x=g+(m<<2)|0,(i|0)!=(x|0)):0)f[k>>2]=i+(~((i+-4-x|0)>>>2)<<2)}else{lg(o,m-l|0);e=f[p>>2]|0;d=f[q>>2]|0}if((e|0)==(d|0)){C=1;u=A;return C|0}n=0;do{sh(z,c)|0;d=f[z>>2]|0;if(d|0){e=f[q>>2]|0;l=e+(n*12|0)|0;k=e+(n*12|0)+4|0;i=f[k>>2]|0;g=f[l>>2]|0;m=i-g>>2;if(d>>>0<=m>>>0){if(d>>>0>>0?(y=g+(d<<2)|0,(i|0)!=(y|0)):0)f[k>>2]=i+(~((i+-4-y|0)>>>2)<<2)}else{lg(l,d-m|0);e=f[q>>2]|0;d=f[z>>2]|0}_g(d,1,c,f[e+(n*12|0)>>2]|0)|0;f[(f[o>>2]|0)+(n<<2)>>2]=f[z>>2]}n=n+1|0}while(n>>>0<(((f[p>>2]|0)-(f[q>>2]|0)|0)/12|0)>>>0);d=1;u=A;return d|0}function Nb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[5222]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[5223]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[5220]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[5218]=f[5218]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=21176+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5219]=f[5219]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[5223]|0;if((k|0)==(f[5224]|0)){k=(f[5221]|0)+b|0;f[5221]=k;f[5224]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[5223]=0;f[5220]=0;return}if((k|0)==(a|0)){k=(f[5220]|0)+b|0;f[5220]=k;f[5223]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[5218]=f[5218]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=21176+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5219]=f[5219]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[5223]|0)){f[5220]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=20912+(a<<1<<2)|0;b=f[5218]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=21176+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[5219]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[5219]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[5226]|0)+-1|0;f[5226]=k;if(!k)a=21328;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[5226]=-1;return}function Ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))zg(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Je(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Je(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;d=d+(i>>>5<<2)|0;f[d>>2]=1<<(i&31)|f[d>>2];d=f[b>>2]|0;i=f[(f[e+28>>2]|0)+(d<<2)>>2]|0;c=f[(f[e+40>>2]|0)+(i<<2)>>2]|0;if((c|0)<0)j=1;else{j=f[(f[f[e+64>>2]>>2]|0)+(c<<2)>>2]|0;j=(1<<(j&31)&f[(f[e+12>>2]|0)+(j>>>5<<2)>>2]|0)!=0}g=(f[n>>2]|0)+(i>>>5<<2)|0;h=1<<(i&31);c=f[g>>2]|0;if(!(c&h)){f[g>>2]=c|h;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Je(k,t,w);e=f[a>>2]|0;c=f[b>>2]|0;if(j){d=c;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)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}}else y=40;if((y|0)==40){y=0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){zg(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))zg(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Je(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Je(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){e=(c|0)/3|0;g=d+(e>>>5<<2)|0;f[g>>2]=1<<(e&31)|f[g>>2];g=f[b>>2]|0;e=f[a>>2]|0;if((g|0)<0)j=-1073741824;else j=f[(f[e>>2]|0)+(g<<2)>>2]|0;d=f[(f[e+24>>2]|0)+(j<<2)>>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){d=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;c=d+1|0;if((d|0)<0)i=d;else i=((c|0)%3|0|0)==0?d+-2|0:c}else i=c}else i=d;d=(f[n>>2]|0)+(j>>>5<<2)|0;h=1<<(j&31);c=f[d>>2]|0;if(!(c&h)){f[d>>2]=c|h;f[s>>2]=j;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Je(k,t,w);d=f[a>>2]|0;c=f[b>>2]|0;if((i|0)<0){g=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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((g|0)<0){y=44;break}c=g+1|0;c=((c|0)%3|0|0)==0?g+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=49;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(g){y=51;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=51;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==44){f[w>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){zg(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function Qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;w=u;u=u+688|0;t=w+680|0;l=w;v=w+8|0;m=w+676|0;n=w+672|0;o=w+668|0;p=w+664|0;q=w+660|0;r=w+656|0;s=w+4|0;i=c+8|0;y=i;g=f[y>>2]|0;y=f[y+4>>2]|0;k=c+16|0;j=k;e=f[j>>2]|0;j=gm(e|0,f[j+4>>2]|0,4,0)|0;x=I;if((y|0)<(x|0)|(y|0)==(x|0)&g>>>0>>0){y=0;u=w;return y|0}y=(f[c>>2]|0)+e|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;b[a>>0]=y;b[a+1>>0]=y>>8;b[a+2>>0]=y>>16;b[a+3>>0]=y>>24;y=k;j=f[y>>2]|0;y=f[y+4>>2]|0;e=gm(j|0,y|0,4,0)|0;g=k;f[g>>2]=e;f[g+4>>2]=I;g=i;x=f[g>>2]|0;g=f[g+4>>2]|0;y=gm(j|0,y|0,8,0)|0;j=I;if((g|0)<(j|0)|(g|0)==(j|0)&x>>>0>>0){y=0;u=w;return y|0}y=a+4|0;g=(f[c>>2]|0)+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[y>>0]=g;b[y+1>>0]=g>>8;b[y+2>>0]=g>>16;b[y+3>>0]=g>>24;y=k;g=f[y>>2]|0;y=f[y+4>>2]|0;e=gm(g|0,y|0,4,0)|0;j=k;f[j>>2]=e;f[j+4>>2]=I;j=a+12|0;z=i;x=f[z>>2]|0;z=f[z+4>>2]|0;y=gm(g|0,y|0,8,0)|0;g=I;if((z|0)<(g|0)|(z|0)==(g|0)&x>>>0>>0){z=0;u=w;return z|0}g=(f[c>>2]|0)+e|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[j>>0]=g;b[j+1>>0]=g>>8;b[j+2>>0]=g>>16;b[j+3>>0]=g>>24;z=k;x=f[z>>2]|0;z=f[z+4>>2]|0;e=gm(x|0,z|0,4,0)|0;y=k;f[y>>2]=e;f[y+4>>2]=I;a=a+16|0;y=f[i>>2]|0;i=f[i+4>>2]|0;z=gm(x|0,z|0,8,0)|0;x=I;if((i|0)<(x|0)|(i|0)==(x|0)&y>>>0>>0){z=0;u=w;return z|0}e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[a>>0]=e;b[a+1>>0]=e>>8;b[a+2>>0]=e>>16;b[a+3>>0]=e>>24;y=k;y=gm(f[y>>2]|0,f[y+4>>2]|0,4,0)|0;z=k;f[z>>2]=y;f[z+4>>2]=I;if(e>>>0>6){f[l>>2]=e;il(16754,l)|0;z=0;u=w;return z|0}e=d;a:do if(g|0){Qg(d,g);switch(f[a>>2]|0){case 0:{Tf(v,3);f[m>>2]=e;f[t>>2]=f[m>>2];sd(v,c,t)|0;me(v);break a}case 1:{Tf(v,3);f[n>>2]=e;f[t>>2]=f[n>>2];rd(v,c,t)|0;me(v);break a}case 2:{Uf(v,3);f[o>>2]=e;f[t>>2]=f[o>>2];ud(v,c,t)|0;qe(v);break a}case 3:{Uf(v,3);f[p>>2]=e;f[t>>2]=f[p>>2];td(v,c,t)|0;qe(v);break a}case 4:{Lf(v,3);f[q>>2]=e;f[t>>2]=f[q>>2];Rc(v,c,t)|0;ce(v);break a}case 5:{Lf(v,3);f[r>>2]=e;f[t>>2]=f[r>>2];Qc(v,c,t)|0;ce(v);break a}case 6:{Lf(v,3);f[s>>2]=e;f[t>>2]=f[s>>2];Pc(v,c,t)|0;ce(v);break a}default:{z=0;u=w;return z|0}}}while(0);z=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[j>>2]|0);u=w;return z|0}function Rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Ga(10505,10527,46,10691);if(!(f[a+8>>2]|0))Ga(10505,10527,46,10691);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Ue(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Ue(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Ue(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=wl(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=wl(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=wl(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=wl(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=wl(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Mk(H|0,J|0,i|0,h|0)|0;M=I;P=Mk(T|0,S|0,K|0,L|0)|0;O=I;L=Mk(R|0,Q|0,K|0,L|0)|0;K=I;J=Mk(H|0,J|0,n|0,j|0)|0;H=I;j=Mk(T|0,S|0,n|0,j|0)|0;n=I;h=Mk(R|0,Q|0,i|0,h|0)|0;i=I;l=wl(l|0,k|0,P|0,O|0)|0;l=gm(l|0,I|0,N|0,M|0)|0;k=I;g=gm(L|0,K|0,g|0,m|0)|0;g=wl(g|0,I|0,J|0,H|0)|0;m=I;c=wl(c|0,e|0,h|0,i|0)|0;c=gm(c|0,I|0,j|0,n|0)|0;e=I;he(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=wl(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=wl(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=wl(0,0,c|0,e|0)|0;S=gm((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=gm(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=sl(h|0,i|0,29)|0;T=T&7;i=ki(l|0,k|0,T|0,0)|0;j=I;g=ki(g|0,m|0,T|0,0)|0;h=I;c=ki(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=sl(h|0,i|0,29)|0;T=I;i=ki(l|0,k|0,S|0,T|0)|0;j=I;g=ki(g|0,m|0,S|0,T|0)|0;h=I;c=ki(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=wl(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=wl(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=wl(0,0,c|0,e|0)|0;Q=gm((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=gm(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Ga(10713,10527,95,10691)}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Ga(10505,10527,46,10691);if(!(f[a+8>>2]|0))Ga(10505,10527,46,10691);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];$e(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];$e(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];$e(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=wl(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=wl(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=wl(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=wl(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=wl(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=wl(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Mk(H|0,J|0,i|0,h|0)|0;M=I;P=Mk(T|0,S|0,K|0,L|0)|0;O=I;L=Mk(R|0,Q|0,K|0,L|0)|0;K=I;J=Mk(H|0,J|0,n|0,j|0)|0;H=I;j=Mk(T|0,S|0,n|0,j|0)|0;n=I;h=Mk(R|0,Q|0,i|0,h|0)|0;i=I;l=wl(l|0,k|0,P|0,O|0)|0;l=gm(l|0,I|0,N|0,M|0)|0;k=I;g=gm(L|0,K|0,g|0,m|0)|0;g=wl(g|0,I|0,J|0,H|0)|0;m=I;c=wl(c|0,e|0,h|0,i|0)|0;c=gm(c|0,I|0,j|0,n|0)|0;e=I;ff(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=wl(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=wl(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=wl(0,0,c|0,e|0)|0;S=gm((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=gm(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=sl(h|0,i|0,29)|0;T=T&7;i=ki(l|0,k|0,T|0,0)|0;j=I;g=ki(g|0,m|0,T|0,0)|0;h=I;c=ki(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=sl(h|0,i|0,29)|0;T=I;i=ki(l|0,k|0,S|0,T|0)|0;j=I;g=ki(g|0,m|0,S|0,T|0)|0;h=I;c=ki(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=wl(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=wl(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=wl(0,0,c|0,e|0)|0;Q=gm((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=gm(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Ga(10713,10527,95,10691)}function Tb(a,c){a=a|0;c=c|0;var d=0,e=0,g=La,i=La,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=La;t=b[c+11>>0]|0;v=t<<24>>24<0;u=v?f[c>>2]|0:c;t=v?f[c+4>>2]|0:t&255;if(t>>>0>3){j=u;m=t;k=t;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}v=t+-4|0;k=v&-4;l=u+(k+4)|0;j=m;k=v-k|0}else{l=u;j=t;k=t}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;x=6;break}case 2:{o=j;x=6;break}case 1:{p=j;x=7;break}default:q=j}if((x|0)==6){p=h[l+1>>0]<<8^o;x=7}if((x|0)==7)q=X(h[l>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;r=a+4|0;q=f[r>>2]|0;s=(q|0)==0;a:do if(!s){o=q+-1|0;k=(o&q|0)==0;if(k)p=v&o;else p=(v>>>0)%(q>>>0)|0;j=f[(f[a>>2]|0)+(p<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){j=(t|0)==0;if(k){if(j){while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}u=b[e+8+11>>0]|0;if(!((u<<24>>24<0?f[e+12>>2]|0:u&255)|0))break;e=f[e>>2]|0;if(!e){d=p;break a}}a=e+20|0;return a|0}b:while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(hj(k,u,t)|0)){x=54;break b}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break b}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}else{if(j){d=e;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}u=b[d+8+11>>0]|0;if(!((u<<24>>24<0?f[d+12>>2]|0:u&255)|0)){e=d;break}d=f[d>>2]|0;if(!d){d=p;break a}}a=e+20|0;return a|0}c:while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(hj(k,u,t)|0)){x=54;break c}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}}else d=p}else d=0;while(0);l=Nk(24)|0;cj(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=v;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);y=$(q>>>0);g=$(n[a+16>>2]);do if(s|i>$(y*g)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(i/g)))>>>0;Rf(a,d>>>0>>0?e:d);d=f[r>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&v;break}else{j=d;d=(v>>>0)%(d>>>0)|0;break}}else j=q;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;w=(f[a>>2]|0)+(d<<2)|0;x=52}}else{f[l>>2]=f[d>>2];w=d;x=52}if((x|0)==52)f[w>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function Ub(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=La,h=0,i=0,j=La,k=0,l=La,m=La,o=La,p=La,q=La,r=0,t=0,v=0,w=0,x=La,y=La,z=La,A=La,B=0,C=0,D=0,E=0,F=0,G=0,H=La;G=u;u=u+48|0;B=G+40|0;C=G+36|0;F=G+24|0;D=G+12|0;E=G;k=a+48|0;h=f[c>>2]|0;c=h+1|0;if((h|0)>=0){i=((c|0)%3|0|0)==0?h+-2|0:c;c=h+(((h>>>0)%3|0|0)==0?2:-1)|0;if((i|0)<0)h=-1073741824;else h=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;if((c|0)<0){w=-1073741824;v=h}else{w=f[(f[f[k>>2]>>2]|0)+(c<<2)>>2]|0;v=h}}else{w=-1073741824;v=-1073741824}c=a+52|0;r=f[c>>2]|0;i=f[r+4>>2]|0;t=f[r>>2]|0;if(i-t>>2>>>0>v>>>0){h=t;k=r;c=t}else{mn(r);k=f[c>>2]|0;h=f[k>>2]|0;i=f[k+4>>2]|0;c=f[r>>2]|0}c=f[c+(v<<2)>>2]|0;if(i-h>>2>>>0<=w>>>0){mn(k);h=f[k>>2]|0}t=f[h+(w<<2)>>2]|0;h=(c|0)<(e|0);if(!(h&(t|0)<(e|0))){do if(!h){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=f[d+(h+i<<2)>>2];h=h+1|0}while((h|0)<(f[k>>2]|0));u=G;return}w=f[a+72>>2]|0;v=X(w,c)|0;z=$(f[d+(v<<2)>>2]|0);A=$(f[d+(v+1<<2)>>2]|0);w=X(w,t)|0;y=$(f[d+(w<<2)>>2]|0);x=$(f[d+(w+1<<2)>>2]|0);if(!(y!=z|x!=A)){a=f[a+68>>2]|0;f[a>>2]=~~y;f[a+4>>2]=~~x;u=G;return}k=a+64|0;h=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;r=a+60|0;i=f[r>>2]|0;if(!(b[i+84>>0]|0))h=f[(f[i+68>>2]|0)+(h<<2)>>2]|0;f[C>>2]=h;h=b[i+24>>0]|0;f[B>>2]=f[C>>2];eb(i,B,h,F)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[C>>2]=c;c=b[h+24>>0]|0;f[B>>2]=f[C>>2];eb(h,B,c,D)|0;c=f[(f[k>>2]|0)+(t<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[C>>2]=c;d=b[h+24>>0]|0;f[B>>2]=f[C>>2];eb(h,B,d,E)|0;q=$(n[E>>2]);o=$(n[D>>2]);q=$(q-o);p=$(n[E+4>>2]);j=$(n[D+4>>2]);p=$(p-j);m=$(n[E+8>>2]);g=$(n[D+8>>2]);m=$(m-g);o=$($(n[F>>2])-o);j=$($(n[F+4>>2])-j);g=$($(n[F+8>>2])-g);l=$($($($(q*q)+$(0.0))+$(p*p))+$(m*m));if(l>$(0.0)?1:(f[a+88>>2]|0)<258){H=$($($($($(q*o)+$(0.0))+$(p*j))+$(m*g))/l);q=$(o-$(q*H));p=$(j-$(p*H));g=$(g-$(m*H));j=H;g=$(L($($($(g*g)+$($(p*p)+$($(q*q)+$(0.0))))/l)))}else{j=$(0.0);g=$(0.0)}y=$(y-z);H=$(x-A);z=$(z+$(y*j));y=$(y*g);A=$(A+$(H*j));H=$(H*g);E=a+80|0;D=(f[E>>2]|0)+-1|0;F=(1<<(D&31)&f[(f[a+76>>2]|0)+(D>>>5<<2)>>2]|0)==0;f[E>>2]=D;j=$(-y);j=$(A+(F?j:y));g=$(-H);g=$(z+(F?H:g));if(((n[s>>2]=g,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+g+.5));h=f[a+68>>2]|0;f[h>>2]=c;if(((n[s>>2]=j,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+j+.5));f[h+4>>2]=c;u=G;return}function Vb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=u;u=u+80|0;B=F+76|0;A=F;E=F+72|0;z=F+64|0;D=F+68|0;C=a+28|0;do if(((h[(f[C>>2]|0)+36>>0]|0)<<8&65535)<512){w=c+8|0;x=f[w>>2]|0;w=f[w+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=gm(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((w|0)<(g|0)|(w|0)==(g|0)&x>>>0>>0){E=0;u=F;return E|0}else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[B>>2]=d;x=i;f[x>>2]=e;f[x+4>>2]=g;break}}else if(sh(B,c)|0){d=f[B>>2]|0;break}else{E=0;u=F;return E|0}while(0);if(!d){E=0;u=F;return E|0}x=a+4|0;i=a+8|0;g=f[i>>2]|0;e=f[x>>2]|0;j=g-e>>2;if(d>>>0>j>>>0){lg(x,d-j|0);if(!(f[B>>2]|0)){E=1;u=F;return E|0}}else if(d>>>0>>0?(k=e+(d<<2)|0,(g|0)!=(k|0)):0)f[i>>2]=g+(~((g+-4-k|0)>>>2)<<2);p=f[a+32>>2]|0;s=c+8|0;v=c+16|0;w=A+60|0;r=p+8|0;q=p+12|0;t=a+16|0;n=a+20|0;o=0;while(1){g=s;e=f[g>>2]|0;g=f[g+4>>2]|0;a=v;k=f[a>>2]|0;a=f[a+4>>2]|0;if(!((g|0)>(a|0)|(g|0)==(a|0)&e>>>0>k>>>0)){d=0;e=53;break}i=f[c>>2]|0;m=b[i+k>>0]|0;d=gm(k|0,a|0,1,0)|0;l=I;j=v;f[j>>2]=d;f[j+4>>2]=l;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>d>>>0)){d=0;e=53;break}l=b[i+d>>0]|0;d=gm(k|0,a|0,2,0)|0;j=I;G=v;f[G>>2]=d;f[G+4>>2]=j;if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>d>>>0)){d=0;e=53;break}j=b[i+d>>0]|0;d=gm(k|0,a|0,3,0)|0;G=I;H=v;f[H>>2]=d;f[H+4>>2]=G;if(!((g|0)>(G|0)|(g|0)==(G|0)&e>>>0>d>>>0)){d=0;e=53;break}e=b[i+d>>0]|0;H=gm(k|0,a|0,4,0)|0;d=v;f[d>>2]=H;f[d+4>>2]=I;d=l&255;if((l+-1&255)>10){d=0;e=53;break}wj(A);H=X(Jj(d)|0,j&255)|0;rh(A,m&255,0,j,d,e<<24>>24!=0,H,((H|0)<0)<<31>>31,0,0);H=f[C>>2]|0;if((((h[H+36>>0]|0)<<8|(h[H+37>>0]|0))&65535)<259){G=s;H=f[G>>2]|0;G=f[G+4>>2]|0;e=v;d=f[e>>2]|0;e=gm(d|0,f[e+4>>2]|0,2,0)|0;g=I;if((G|0)<(g|0)|(G|0)==(g|0)&H>>>0>>0){e=51;break}d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8;H=v;f[H>>2]=e;f[H+4>>2]=g;d=d&65535;f[E>>2]=d}else{sh(E,c)|0;d=f[E>>2]|0}f[w>>2]=d;j=Nk(96)|0;nj(j,A);f[z>>2]=j;j=qf(p,z)|0;i=f[z>>2]|0;f[z>>2]=0;if(i|0){H=i+88|0;d=f[H>>2]|0;f[H>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[i+68>>2]|0;if(d|0){g=i+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}H=i+64|0;d=f[H>>2]|0;f[H>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(i)}if((j|0)<=-1){e=41;break}d=f[r>>2]|0;if(((f[q>>2]|0)-d>>2|0)<=(j|0)){e=43;break}f[(f[d+(j<<2)>>2]|0)+60>>2]=f[E>>2];f[(f[x>>2]|0)+(o<<2)>>2]=j;e=f[n>>2]|0;d=f[t>>2]|0;i=e-d>>2;if((j|0)>=(i|0)){g=j+1|0;f[D>>2]=-1;if(g>>>0<=i>>>0){if(g>>>0>>0?(y=d+(g<<2)|0,(e|0)!=(y|0)):0)f[n>>2]=e+(~((e+-4-y|0)>>>2)<<2)}else{jf(t,g-i|0,D);d=f[t>>2]|0}}f[d+(j<<2)>>2]=o;o=o+1|0;if(o>>>0>=(f[B>>2]|0)>>>0){d=1;e=53;break}}if((e|0)==41)Ga(17186,17202,67,17293);else if((e|0)==43)Ga(17303,17202,68,17293);else if((e|0)==51){H=0;u=F;return H|0}else if((e|0)==53){u=F;return d|0}return 0}function Wb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=La,h=0,i=0,j=La,k=0,l=La,m=La,o=La,p=La,q=La,r=0,t=0,v=0,w=0,x=La,y=La,z=La,A=La,B=0,C=0,D=0,E=0,F=0,G=0,H=La;G=u;u=u+48|0;B=G+40|0;C=G+36|0;F=G+24|0;D=G+12|0;E=G;i=a+48|0;h=f[c>>2]|0;c=h+1|0;do if((h|0)>=0){c=((c|0)%3|0|0)==0?h+-2|0:c;if(!((h>>>0)%3|0)){h=h+2|0;break}else{h=h+-1|0;break}}else c=h;while(0);w=f[(f[i>>2]|0)+28>>2]|0;v=f[w+(c<<2)>>2]|0;w=f[w+(h<<2)>>2]|0;h=a+52|0;i=f[h>>2]|0;c=f[i+4>>2]|0;t=f[i>>2]|0;if(c-t>>2>>>0>v>>>0){k=c;r=i;c=t;h=t}else{mn(i);h=f[h>>2]|0;k=f[h+4>>2]|0;r=h;c=f[i>>2]|0;h=f[h>>2]|0}c=f[c+(v<<2)>>2]|0;if(k-h>>2>>>0<=w>>>0){mn(r);h=f[r>>2]|0}t=f[h+(w<<2)>>2]|0;h=(c|0)<(e|0);if(!(h&(t|0)<(e|0))){do if(!h){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=f[d+(h+i<<2)>>2];h=h+1|0}while((h|0)<(f[k>>2]|0));u=G;return}w=f[a+72>>2]|0;v=X(w,c)|0;z=$(f[d+(v<<2)>>2]|0);A=$(f[d+(v+1<<2)>>2]|0);w=X(w,t)|0;y=$(f[d+(w<<2)>>2]|0);x=$(f[d+(w+1<<2)>>2]|0);if(!(y!=z|x!=A)){a=f[a+68>>2]|0;f[a>>2]=~~y;f[a+4>>2]=~~x;u=G;return}k=a+64|0;h=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;r=a+60|0;i=f[r>>2]|0;if(!(b[i+84>>0]|0))h=f[(f[i+68>>2]|0)+(h<<2)>>2]|0;f[C>>2]=h;h=b[i+24>>0]|0;f[B>>2]=f[C>>2];eb(i,B,h,F)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[C>>2]=c;c=b[h+24>>0]|0;f[B>>2]=f[C>>2];eb(h,B,c,D)|0;c=f[(f[k>>2]|0)+(t<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[C>>2]=c;d=b[h+24>>0]|0;f[B>>2]=f[C>>2];eb(h,B,d,E)|0;q=$(n[E>>2]);o=$(n[D>>2]);q=$(q-o);p=$(n[E+4>>2]);j=$(n[D+4>>2]);p=$(p-j);m=$(n[E+8>>2]);g=$(n[D+8>>2]);m=$(m-g);o=$($(n[F>>2])-o);j=$($(n[F+4>>2])-j);g=$($(n[F+8>>2])-g);l=$($($($(q*q)+$(0.0))+$(p*p))+$(m*m));if(l>$(0.0)?1:(f[a+88>>2]|0)<258){H=$($($($($(q*o)+$(0.0))+$(p*j))+$(m*g))/l);q=$(o-$(q*H));p=$(j-$(p*H));g=$(g-$(m*H));j=H;g=$(L($($($(g*g)+$($(p*p)+$($(q*q)+$(0.0))))/l)))}else{j=$(0.0);g=$(0.0)}y=$(y-z);H=$(x-A);z=$(z+$(y*j));y=$(y*g);A=$(A+$(H*j));H=$(H*g);E=a+80|0;D=(f[E>>2]|0)+-1|0;F=(1<<(D&31)&f[(f[a+76>>2]|0)+(D>>>5<<2)>>2]|0)==0;f[E>>2]=D;j=$(-y);j=$(A+(F?j:y));g=$(-H);g=$(z+(F?H:g));if(((n[s>>2]=g,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+g+.5));h=f[a+68>>2]|0;f[h>>2]=c;if(((n[s>>2]=j,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+j+.5));f[h+4>>2]=c;u=G;return}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else zg(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))zg(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else zg(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){zg(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)Ga(17469,17387,64,17464);else if((C|0)==33)Ga(17469,17387,64,17464)}function Yb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=a+8|0;f[x>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{lg(i,e-j|0);d=f[x>>2]|0}u=f[a+48>>2]|0;v=f[a+52>>2]|0;t=e>>>0>1073741823?-1:e<<2;w=zo(t)|0;Yg(w|0,0,t|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[w+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{t=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(t|0)?t:d}i=i+1|0;d=f[x>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;C=18}}else{d=d-(f[i>>2]|0)|0;C=18}if((C|0)==18){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}q=a+56|0;h=f[q>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;s=g-d|0;t=s>>2;if((s|0)<=4){Ao(w);return 1}r=a+16|0;p=a+32|0;s=a+12|0;o=a+20|0;m=u+12|0;n=(e|0)>0;i=g;a=1;while(1){if(i-d>>2>>>0<=a>>>0){mn(h);d=f[h>>2]|0}d=f[d+(a<<2)>>2]|0;l=X(a,e)|0;if((d|0)>=0?(B=f[(f[m>>2]|0)+(d<<2)>>2]|0,(B|0)>=0):0){g=f[u>>2]|0;h=f[v>>2]|0;i=f[h+(f[g+(B<<2)>>2]<<2)>>2]|0;d=B+1|0;d=((d|0)%3|0|0)==0?B+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;j=f[h+(d<<2)>>2]|0;d=(((B>>>0)%3|0|0)==0?2:-1)+B|0;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;d=f[h+(d<<2)>>2]|0;if((i|0)<(a|0)&(j|0)<(a|0)&(d|0)<(a|0)){i=X(i,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(n){d=0;do{f[w+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}j=b+(l<<2)|0;k=c+(l<<2)|0;if((f[x>>2]|0)>0){h=0;do{d=f[w+(h<<2)>>2]|0;g=f[r>>2]|0;if((d|0)>(g|0)){i=f[p>>2]|0;f[i+(h<<2)>>2]=g}else{g=f[s>>2]|0;i=f[p>>2]|0;f[i+(h<<2)>>2]=(d|0)<(g|0)?g:d}h=h+1|0;d=f[x>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[r>>2]|0)){if((d|0)<(f[s>>2]|0)){d=(f[o>>2]|0)+d|0;C=57}}else{d=d-(f[o>>2]|0)|0;C=57}if((C|0)==57){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}}else C=35}else C=35;if((C|0)==35?(C=0,y=c+((X(a+-1|0,e)|0)<<2)|0,z=b+(l<<2)|0,A=c+(l<<2)|0,(f[x>>2]|0)>0):0){h=0;do{d=f[y+(h<<2)>>2]|0;g=f[r>>2]|0;if((d|0)>(g|0)){i=f[p>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[s>>2]|0;i=f[p>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[x>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[z+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=A+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[r>>2]|0)){if((d|0)<(f[s>>2]|0)){d=(f[o>>2]|0)+d|0;C=45}}else{d=d-(f[o>>2]|0)|0;C=45}if((C|0)==45){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}g=a+1|0;if((g|0)>=(t|0))break;h=f[q>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;a=g}Ao(w);return 1}function Zb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;y=a+8|0;f[y>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{lg(i,e-j|0);d=f[y>>2]|0}v=f[a+48>>2]|0;w=f[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=zo(u)|0;Yg(x|0,0,u|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[x+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{u=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(u|0)?u:d}i=i+1|0;d=f[y>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;G=18}}else{d=d-(f[i>>2]|0)|0;G=18}if((G|0)==18){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}r=a+56|0;h=f[r>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;t=g-d|0;u=t>>2;if((t|0)<=4){Ao(x);return 1}s=a+16|0;q=a+32|0;t=a+12|0;p=a+20|0;o=v+64|0;m=v+28|0;n=(e|0)>0;i=g;a=1;while(1){if(i-d>>2>>>0<=a>>>0){mn(h);d=f[h>>2]|0}d=f[d+(a<<2)>>2]|0;l=X(a,e)|0;if((!((d|0)<0?1:(1<<(d&31)&f[(f[v>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(F=f[(f[(f[o>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(F|0)>=0):0)?(B=f[m>>2]|0,k=f[w>>2]|0,z=f[k+(f[B+(F<<2)>>2]<<2)>>2]|0,A=F+1|0,A=f[k+(f[B+((((A|0)%3|0|0)==0?F+-2|0:A)<<2)>>2]<<2)>>2]|0,B=f[k+(f[B+((((F>>>0)%3|0|0)==0?2:-1)+F<<2)>>2]<<2)>>2]|0,(z|0)<(a|0)&(A|0)<(a|0)&(B|0)<(a|0)):0){g=X(z,e)|0;h=X(A,e)|0;i=X(B,e)|0;if(n){d=0;do{f[x+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}j=b+(l<<2)|0;k=c+(l<<2)|0;if((f[y>>2]|0)>0){h=0;do{d=f[x+(h<<2)>>2]|0;g=f[s>>2]|0;if((d|0)>(g|0)){i=f[q>>2]|0;f[i+(h<<2)>>2]=g}else{g=f[t>>2]|0;i=f[q>>2]|0;f[i+(h<<2)>>2]=(d|0)<(g|0)?g:d}h=h+1|0;d=f[y>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[s>>2]|0)){if((d|0)<(f[t>>2]|0)){d=(f[p>>2]|0)+d|0;G=53}}else{d=d-(f[p>>2]|0)|0;G=53}if((G|0)==53){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}}else G=31;if((G|0)==31?(G=0,C=c+((X(a+-1|0,e)|0)<<2)|0,D=b+(l<<2)|0,E=c+(l<<2)|0,(f[y>>2]|0)>0):0){h=0;do{d=f[C+(h<<2)>>2]|0;g=f[s>>2]|0;if((d|0)>(g|0)){i=f[q>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[t>>2]|0;i=f[q>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[y>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[D+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=E+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[s>>2]|0)){if((d|0)<(f[t>>2]|0)){d=(f[p>>2]|0)+d|0;G=41}}else{d=d-(f[p>>2]|0)|0;G=41}if((G|0)==41){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}g=a+1|0;if((g|0)>=(u|0))break;h=f[r>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;a=g}Ao(x);return 1}function _b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))Ga(17303,17202,68,17293);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Co(g)}Co(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Co(g)}Co(e)}Co(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){Kg(d);Co(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){Kg(c);Co(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){Yj(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function $b(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Nk(60)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1980;e=b;f[a>>2]=e;return}case 2:{b=Nk(60)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2036;e=b;f[a>>2]=e;return}case 4:{b=Nk(112)|0;f[b>>2]=1504;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2092;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Nk(92)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2148;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+88>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Nk(104)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2204;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Nk(124)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2260;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2316;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function ac(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Nk(60)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1616;e=b;f[a>>2]=e;return}case 2:{b=Nk(60)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1672;e=b;f[a>>2]=e;return}case 4:{b=Nk(112)|0;f[b>>2]=1504;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1728;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Nk(92)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1784;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+88>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Nk(104)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1840;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Nk(124)|0;f[b>>2]=1504;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1896;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1952;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=u;u=u+16|0;k=l;i=c+8|0;o=i;m=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,5,0)|0;n=I;if((o|0)<(n|0)|(o|0)==(n|0)&m>>>0>>0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}e=(f[c>>2]|0)+e|0;b[d>>0]=b[e>>0]|0;b[d+1>>0]=b[e+1>>0]|0;b[d+2>>0]=b[e+2>>0]|0;b[d+3>>0]=b[e+3>>0]|0;b[d+4>>0]=b[e+4>>0]|0;e=j;e=gm(f[e>>2]|0,f[e+4>>2]|0,5,0)|0;g=I;o=j;f[o>>2]=e;f[o+4>>2]=g;if(hj(d,16054,5)|0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16060,17);f[a>>2]=-1;cj(a+4|0,k);km(k);u=l;return}o=i;n=f[o+4>>2]|0;if(!((n|0)>(g|0)|((n|0)==(g|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}b[d+5>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=gm(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}b[d+6>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=gm(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}b[d+7>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=gm(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}b[d+8>>0]=b[(f[c>>2]|0)+e>>0]|0;o=j;m=f[o>>2]|0;o=f[o+4>>2]|0;e=gm(m|0,o|0,1,0)|0;n=j;f[n>>2]=e;f[n+4>>2]=I;n=f[i>>2]|0;i=f[i+4>>2]|0;o=gm(m|0,o|0,3,0)|0;m=I;if((i|0)<(m|0)|(i|0)==(m|0)&n>>>0>>0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,16024,29);f[a>>2]=-2;cj(a+4|0,k);km(k);u=l;return}else{n=d+10|0;o=(f[c>>2]|0)+e|0;o=h[o>>0]|h[o+1>>0]<<8;b[n>>0]=o;b[n+1>>0]=o>>8;n=j;n=gm(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;o=j;f[o>>2]=n;f[o+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=l;return}}function cc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>340){f[c>>2]=b+-341;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{Yj(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=Ia(4)|0;eo(o);ta(o|0,1112,100)}g=Nk(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){Co(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=Ia(4)|0;eo(o);ta(o|0,1112,100)}d=Nk(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=Nk(4092)|0;f[j>>2]=e;Se(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;Qe(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)Co(d);u=o;return}if((c|0)!=(b|0)){n=Nk(4092)|0;f[k>>2]=n;Se(a,k);u=o;return}j=Nk(4092)|0;f[k>>2]=j;Qe(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{Yj(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=Ia(4)|0;eo(o);ta(o|0,1112,100)}g=Nk(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){Co(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))zg(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))zg(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))zg(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){zg(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Ga(9139,9150,60,9265);if((d|0)>=31)Ga(9285,9150,61,9265);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&127](a)|0))Ga(10505,11318,99,11475);if((e|0)!=2)Ga(11497,11318,102,11475);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){mn(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Rb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=gm(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=gm(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Mk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Mk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Di(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;ag(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(11521,11318,116,11475);else if((d|0)==23)Ga(11588,9150,99,11676);return 0}function fc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Ga(9139,9150,60,9265);if((d|0)>=31)Ga(9285,9150,61,9265);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&127](a)|0))Ga(10505,11318,99,11475);if((e|0)!=2)Ga(11497,11318,102,11475);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){mn(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Sb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=gm(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=gm(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Mk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Mk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Di(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;ag(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(11521,11318,116,11475);else if((d|0)==23)Ga(11588,9150,99,11676);return 0}function gc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Ga(9139,9150,60,9265);if((d|0)>=31)Ga(9285,9150,61,9265);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&127](a)|0))Ga(10505,11318,99,11475);if((e|0)!=2)Ga(11497,11318,102,11475);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){mn(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Rb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=gm(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=gm(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Mk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Mk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Di(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;eg(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(11521,11318,116,11475);else if((d|0)==23)Ga(11588,9150,99,11676);return 0}function hc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Ga(9139,9150,60,9265);if((d|0)>=31)Ga(9285,9150,61,9265);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Sa[f[(f[a>>2]|0)+16>>2]&127](a)|0))Ga(10505,11318,99,11475);if((e|0)!=2)Ga(11497,11318,102,11475);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){mn(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];Sb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=gm(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=gm(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Mk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Mk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Di(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;eg(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Ga(11521,11318,116,11475);else if((d|0)==23)Ga(11588,9150,99,11676);return 0}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Sa[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((r|0)<1){c=0;return c|0}m=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;s=X(m,r)|0;He(a,m,r);m=a+16|0;q=f[m>>2]|0;q=(f[f[q>>2]>>2]|0)+(f[q+48>>2]|0)|0;o=d+8|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>k>>>0)){c=0;return c|0}h=f[d>>2]|0;n=b[h+k>>0]|0;i=gm(k|0,l|0,1,0)|0;j=I;t=p;f[t>>2]=i;f[t+4>>2]=j;a:do if(!(n<<24>>24)){if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>i>>>0)){t=0;return t|0}n=b[h+i>>0]|0;t=gm(k|0,l|0,2,0)|0;l=p;f[l>>2]=t;f[l+4>>2]=I;l=n&255;t=(l|0)==(Jj(5)|0);e=f[(f[m>>2]|0)+64>>2]|0;e=(f[e+4>>2]|0)-(f[e>>2]|0)|0;if(t){g=s<<2;if(e>>>0>>0){t=0;return t|0}m=o;o=f[m>>2]|0;m=f[m+4>>2]|0;t=p;e=f[t>>2]|0;t=gm(e|0,f[t+4>>2]|0,g|0,0)|0;n=I;if((m|0)<(n|0)|(m|0)==(n|0)&o>>>0>>0){t=0;return t|0}else{Xe(q|0,(f[d>>2]|0)+e|0,g|0)|0;t=p;t=gm(f[t>>2]|0,f[t+4>>2]|0,g|0,0)|0;i=p;f[i>>2]=t;f[i+4>>2]=I;i=18;break}}i=X(l,s)|0;if(e>>>0>>0){t=0;return t|0}j=o;h=f[j>>2]|0;j=f[j+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;t=wl(h|0,j|0,e|0,g|0)|0;k=I;m=((i|0)<0)<<31>>31;if((k|0)<(m|0)|(k|0)==(m|0)&t>>>0>>0){t=0;return t|0}if(!s)i=19;else{k=n&255;i=j;j=0;while(1){t=gm(e|0,g|0,k|0,0)|0;n=I;if(!((i|0)<(n|0)|(i|0)==(n|0)&h>>>0>>0)){Xe(q+(j<<2)|0,(f[d>>2]|0)+e|0,l|0)|0;e=p;e=gm(f[e>>2]|0,f[e+4>>2]|0,k|0,0)|0;g=I;t=p;f[t>>2]=e;f[t+4>>2]=g}j=j+1|0;if((j|0)==(s|0)){i=18;break a}h=o;i=f[h+4>>2]|0;h=f[h>>2]|0}}}else if(_g(s,r,d,q)|0)i=18;else{t=0;return t|0}while(0);do if((i|0)==18)if((s|0)>0){g=a+20|0;e=f[g>>2]|0;if(e|0?Sa[f[(f[e>>2]|0)+32>>2]&127](e)|0:0){h=1;break}ak(q,s,q);h=1}else i=19;while(0);if((i|0)==19){g=a+20|0;h=0}e=f[g>>2]|0;if(e|0){if(!(Wa[f[(f[e>>2]|0)+40>>2]&127](e,d)|0)){t=0;return t|0}if(h?(t=f[g>>2]|0,!(Ra[f[(f[t>>2]|0)+44>>2]&31](t,q,q,s,r,f[c>>2]|0)|0)):0){t=0;return t|0}}t=1;return t|0}function jc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+64|0;E=F;g=E;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));a:do if(Fc(E,d)|0?_c(E,d)|0:0){g=(a|0)==0;b:do if(!g){if(!(f[E+12>>2]|0)){k=0;break a}Te(d,0,0)|0;if(!g){z=E+44|0;C=E+48|0;y=E+40|0;s=E+16|0;t=E+28|0;A=(c|0)>0;D=d+36|0;x=d+32|0;v=d+24|0;w=d+28|0;i=f[C>>2]|0;B=0;g=0;while(1){c:do if(i>>>0<16384){j=f[z>>2]|0;do{if((j|0)<=0)break c;r=f[y>>2]|0;j=j+-1|0;f[z>>2]=j;i=h[r+j>>0]|i<<8;f[C>>2]=i}while(i>>>0<16384)}while(0);p=i&4095;r=f[(f[s>>2]|0)+(p<<2)>>2]|0;q=f[t>>2]|0;i=(X(f[q+(r<<3)>>2]|0,i>>>12)|0)+p-(f[q+(r<<3)+4>>2]|0)|0;f[C>>2]=i;if(A){p=(r|0)>0;if((r|0)<=-1){g=22;break}if((r|0)<33){q=0;o=g}else{g=21;break}while(1){if(!(b[D>>0]|0)){k=0;break a}if(p){l=f[v>>2]|0;m=f[w>>2]|0;k=f[x>>2]|0;n=0;j=0;do{g=l+(k>>>3)|0;if(g>>>0>>0){g=(h[g>>0]|0)>>>(k&7)&1;k=k+1|0;f[x>>2]=k}else g=0;j=g<>2]=j;q=q+1|0;if((q|0)>=(c|0))break;else o=g}}B=B+c|0;if(B>>>0>=a>>>0)break b}if((g|0)==21){if(!(b[D>>0]|0)){k=0;break a}Ga(16485,16390,156,16477)}else if((g|0)==22){if(!(b[D>>0]|0)){k=0;break a}Ga(16375,16390,155,16477)}}}else Te(d,0,0)|0;while(0);Oj(d);k=1}else k=0;while(0);g=f[E+28>>2]|0;if(g|0){j=E+32|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-8-g|0)>>>3)<<3);Co(g)}g=f[E+16>>2]|0;if(g|0){j=E+20|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-4-g|0)>>>2)<<2);Co(g)}j=f[E>>2]|0;if(!j){u=F;return k|0}i=E+4|0;g=f[i>>2]|0;if((g|0)!=(j|0))f[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);Co(j);u=F;return k|0}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Co(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}s=Nk(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)Co(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(s)g=d&r;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){q=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(s)p=e&r;else p=(e>>>0)%(c>>>0)|0;if((p|0)==(g|0))break;e=(f[a>>2]|0)+(p<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{n=d+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[d+12>>2]|0:m;l=(o|0)==0;if(k){h=d;while(1){j=e+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[e+12>>2]|0:m&255)|0)){e=h;break c}if(!l?hj(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{m=e;e=h;h=m}}}if(l){h=d;while(1){o=b[e+8+11>>0]|0;if((o<<24>>24<0?f[e+12>>2]|0:o&255)|0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{o=e;e=h;h=o}}}l=d;while(1){h=e+8|0;k=b[h+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[e+12>>2]|0:k&255)|0)){e=l;break c}h=j?f[h>>2]|0:h;if((f[n>>2]&255)<<24>>24==(b[h>>0]|0)){j=m;k=n}else{e=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;h=h+1|0;if((b[k>>0]|0)!=(b[h>>0]|0)){e=l;break c}}h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[q>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=41;break a}}e=f[d>>2]|0;if(!e){d=41;break a}else{i=d;q=d}}f[e>>2]=q;e=f[d>>2]|0;if(!e){d=41;break}else{i=d;g=p}}if((d|0)==41)return}function lc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{l=d;d=d+-116|0;f[g+-116>>2]=f[d>>2];j=l+-112|0;f[g+-112>>2]=f[j>>2];k=l+-108|0;f[g+-108>>2]=f[k>>2];m=l+-104|0;f[g+-104>>2]=f[m>>2];f[j>>2]=0;f[k>>2]=0;f[m>>2]=0;m=l+-100|0;f[g+-100>>2]=f[m>>2];k=l+-96|0;f[g+-96>>2]=f[k>>2];j=l+-92|0;f[g+-92>>2]=f[j>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;b[g+-88>>0]=b[l+-88>>0]|0;j=g+-84|0;k=l+-84|0;f[j>>2]=0;m=g+-80|0;f[m>>2]=0;f[g+-76>>2]=0;f[j>>2]=f[k>>2];j=l+-80|0;f[m>>2]=f[j>>2];m=l+-76|0;f[g+-76>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;k=g+-72|0;j=l+-72|0;f[k>>2]=0;m=g+-68|0;f[m>>2]=0;f[g+-64>>2]=0;f[k>>2]=f[j>>2];k=l+-68|0;f[m>>2]=f[k>>2];m=l+-64|0;f[g+-64>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-60|0;k=l+-60|0;f[j>>2]=0;m=g+-56|0;f[m>>2]=0;f[g+-52>>2]=0;f[j>>2]=f[k>>2];j=l+-56|0;f[m>>2]=f[j>>2];m=l+-52|0;f[g+-52>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-48>>2]=f[l+-48>>2];b[g+-44>>0]=b[l+-44>>0]|0;k=g+-40|0;j=l+-40|0;f[k>>2]=0;m=g+-36|0;f[m>>2]=0;f[g+-32>>2]=0;f[k>>2]=f[j>>2];k=l+-36|0;f[m>>2]=f[k>>2];m=l+-32|0;f[g+-32>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-28|0;k=l+-28|0;f[j>>2]=0;m=g+-24|0;f[m>>2]=0;f[g+-20>>2]=0;f[j>>2]=f[k>>2];j=l+-24|0;f[m>>2]=f[j>>2];m=l+-20|0;f[g+-20>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-16>>2]=f[l+-16>>2];k=g+-12|0;j=l+-12|0;f[k>>2]=0;m=g+-8|0;f[m>>2]=0;f[g+-4>>2]=0;f[k>>2]=f[j>>2];k=l+-8|0;f[m>>2]=f[k>>2];l=l+-4|0;f[g+-4>>2]=f[l>>2];f[l>>2]=0;f[k>>2]=0;f[j>>2]=0;g=(f[h>>2]|0)+-116|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;m=r+32|0;h=r+28|0;p=r+16|0;q=r;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){q=c;q=q+20|0;u=r;return q|0}}fn(p);f[q>>2]=f[b>>2];l=q+4|0;f[q+8>>2]=0;k=q+12|0;f[k>>2]=0;n=q+8|0;f[l>>2]=n;c=f[p>>2]|0;o=p+4|0;if((c|0)!=(o|0)){g=n;e=c;d=c;while(1){c=e+16|0;f[h>>2]=g;f[m>>2]=f[h>>2];lf(l,m,c,c)|0;c=f[d+4>>2]|0;if(!c)while(1){c=f[d+8>>2]|0;if((f[c>>2]|0)==(d|0))break;else d=c}else while(1){d=f[c>>2]|0;if(!d)break;else c=d}if((c|0)==(o|0))break;else{e=c;d=c}}}i=a+12|0;c=f[j>>2]|0;do if(c){e=f[q>>2]|0;g=c;while(1){c=f[g+16>>2]|0;if((e|0)<(c|0)){c=f[g>>2]|0;if(!c){c=19;break}}else{if((c|0)>=(e|0)){c=24;break}d=g+4|0;c=f[d>>2]|0;if(!c){c=23;break}}g=c}if((c|0)==19){f[m>>2]=g;h=g;b=g;break}else if((c|0)==23){f[m>>2]=g;h=g;b=d;break}else if((c|0)==24){f[m>>2]=g;h=g;b=m;break}}else{f[m>>2]=j;h=j;b=j}while(0);c=f[b>>2]|0;if(!c){c=Nk(32)|0;f[c+16>>2]=f[q>>2];g=c+20|0;f[g>>2]=f[l>>2];e=c+24|0;d=f[q+8>>2]|0;f[e>>2]=d;m=f[k>>2]|0;f[c+28>>2]=m;if(!m)f[g>>2]=e;else{f[d+8>>2]=e;f[l>>2]=n;f[n>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[b>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[b>>2]|0}pd(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}oh(q+4|0,f[n>>2]|0);oh(p,f[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;r=y+12|0;s=y+4|0;p=y+8|0;q=y;x=a+8+(b*12|0)|0;d=f[x>>2]|0;t=a+8+(b*12|0)+4|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c>>2]|0;m=a+4|0;f[s>>2]=(d|0)<0?-1073741824:(d>>>0)/3|0;w=a+56|0;l=a+8+(b*12|0)+8|0;e=d;o=0;do{n=(o|0)==1;if(n){g=(d|0)<0;do if(!g)if(!((d>>>0)%3|0)){e=d+2|0;break}else{e=d+-1|0;break}else e=d;while(0);f[p>>2]=e;f[r>>2]=f[p>>2];if((Re(a,r)|0)<0)break;e=d+1|0;if(g){v=12;break}e=((e|0)%3|0|0)==0?d+-2|0:e;f[c>>2]=e;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;if((e|0)<0){v=16;break}e=f[(f[(f[m>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;f[c>>2]=e;if((e|0)<0)break;else{g=0;v=18}}else{i=f[s>>2]|0;k=e;j=0}while(1){if((v|0)==18){v=0;i=(e>>>0)/3|0;f[s>>2]=i;k=e;j=g}h=(f[w>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);e=f[h>>2]|0;if(g&e|0){e=k;g=j;break}f[h>>2]=e|g;e=f[t>>2]|0;if((e|0)==(f[l>>2]|0))zg(x,s);else{f[e>>2]=f[s>>2];f[t>>2]=e+4}g=j+1|0;if((j|0)>0){do if(!(g&1)){d=n?k:d;if((k|0)>=0)if(!((k>>>0)%3|0)){e=k+2|0;break}else{e=k+-1|0;break}else e=k}else{e=k+1|0;if((k|0)<0)e=k;else e=((e|0)%3|0|0)==0?k+-2|0:e}while(0);f[c>>2]=e}else e=k;f[q>>2]=e;f[r>>2]=f[q>>2];e=Re(a,r)|0;f[c>>2]=e;if((e|0)<0)break;else v=18}if(!((g&1|0)==0|n^1)){n=f[t>>2]|0;j=f[n+-4>>2]|0;k=(f[w>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(j&31));f[t>>2]=n+-4}o=o+1|0}while((o|0)<2);if((v|0)==12){f[c>>2]=d;e=d;v=16}if((v|0)==16)f[c>>2]=e;f[a+44+(b<<2)>>2]=d;e=f[t>>2]|0;d=f[x>>2]|0;h=d;if((e|0)==(d|0)){u=y;return}g=f[w>>2]|0;e=e-d>>2;d=0;do{w=f[h+(d<<2)>>2]|0;x=g+(w>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(w&31));d=d+1|0}while(d>>>0>>0);u=y;return}function oc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=a+4|0;s=f[c>>2]|0;c=s;do if((s|0)!=(n|0)){i=s+16|0;o=b[e+11>>0]|0;p=o<<24>>24<0;o=p?f[e+4>>2]|0:o&255;h=b[i+11>>0]|0;l=h<<24>>24<0;h=l?f[s+20>>2]|0:h&255;k=h>>>0>>0;g=k?h:o;if((g|0)!=0?(j=hj(p?f[e>>2]|0:e,l?f[i>>2]|0:i,g)|0,(j|0)!=0):0){if((j|0)<0)break}else t=4;if((t|0)==4?o>>>0>>0:0)break;g=o>>>0>>0?o:h;if((g|0)!=0?(m=hj(l?f[i>>2]|0:i,p?f[e>>2]|0:e,g)|0,(m|0)!=0):0){if((m|0)>=0)t=34}else t=20;if((t|0)==20?!k:0)t=34;if((t|0)==34){f[d>>2]=c;return d|0}k=s+4|0;c=f[k>>2]|0;l=(c|0)==0;if(l){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))break;else g=c}}else while(1){g=f[c>>2]|0;if(!g)break;else c=g}do if((c|0)!=(n|0)){h=c+16|0;i=b[h+11>>0]|0;j=i<<24>>24<0;i=j?f[c+20>>2]|0:i&255;g=i>>>0>>0?i:o;if((g|0)!=0?(q=hj(p?f[e>>2]|0:e,j?f[h>>2]|0:h,g)|0,(q|0)!=0):0){if((q|0)<0)break}else t=28;if((t|0)==28?o>>>0>>0:0)break;d=Oe(a,d,e)|0;return d|0}while(0);if(l){f[d>>2]=s;d=k;return d|0}else{f[d>>2]=c;d=c;return d|0}}while(0);do if((s|0)!=(f[a>>2]|0)){c=f[s>>2]|0;if(!c){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))g=c;else{g=c;break}}}else while(1){g=f[c+4>>2]|0;if(!g){g=c;break}else c=g}c=g;k=g+16|0;h=b[k+11>>0]|0;l=h<<24>>24<0;h=l?f[g+20>>2]|0:h&255;i=b[e+11>>0]|0;j=i<<24>>24<0;i=j?f[e+4>>2]|0:i&255;g=i>>>0>>0?i:h;if((g|0)!=0?(r=hj(l?f[k>>2]|0:k,j?f[e>>2]|0:e,g)|0,(r|0)!=0):0){if((r|0)<0)break}else t=12;if((t|0)==12?h>>>0>>0:0)break;d=Oe(a,d,e)|0;return d|0}while(0);if(!(f[s>>2]|0)){f[d>>2]=s;d=s;return d|0}else{t=c;f[d>>2]=t;d=t+4|0;return d|0}return 0}function pc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=ek(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((ek(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=gm(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;wl(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=wl(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function qc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;o=t+8|0;p=t+4|0;r=t;q=a+68|0;f[q>>2]=(f[q>>2]|0)+1;q=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;s=q>>2;if((q|0)<=0){u=t;return}n=a+4|0;m=a+56|0;q=a+72|0;k=f[c>>2]|0;i=k+4|0;j=k+8|0;l=a+76|0;c=f[a+44+(b<<2)>>2]|0;h=0;do{g=(c|0)<0;b=g?-1073741824:(c>>>0)/3|0;d=(f[m>>2]|0)+(b>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(b&31);f[q>>2]=(f[q>>2]|0)+1;do if(h){f[p>>2]=c;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=qi(o,b,d)|0;f[l>>2]=d;f[o>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else zg(k,o);if(!(h&1)){b=c+1|0;if(g)break;c=((b|0)%3|0|0)==0?c+-2|0:b;e=31;break}if(!g)if(!((c>>>0)%3|0)){c=c+2|0;e=31;break}else{c=c+-1|0;e=31;break}}else{f[p>>2]=c;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=qi(o,b,d)|0;f[r>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else zg(k,r);b=c+1|0;if(g)b=c;else b=((b|0)%3|0|0)==0?c+-2|0:b;f[p>>2]=b;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=qi(o,b,d)|0;f[r>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else zg(k,r);do if(!g)if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}else b=c;while(0);f[p>>2]=b;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=qi(o,b,d)|0;f[l>>2]=d;f[o>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else zg(k,o);e=31}while(0);if((e|0)==31){e=0;if((c|0)>=0)c=f[(f[(f[n>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}h=h+1|0}while((h|0)<(s|0));u=t;return}function rc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b[c+11>>0]|0;m=n<<24>>24<0;o=m?f[c>>2]|0:c;n=m?f[c+4>>2]|0:n&255;if(n>>>0>3){c=o;g=n;d=n;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=n+-4|0;d=m&-4;e=o+(d+4)|0;c=g;d=m-d|0}else{e=o;c=n;d=n}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;l=6;break}case 2:{i=c;l=6;break}case 1:{j=c;l=7;break}default:k=c}if((l|0)==6){j=h[e+1>>0]<<8^i;l=7}if((l|0)==7)k=X(h[e>>0]^j,1540483477)|0;c=X(k>>>13^k,1540483477)|0;c=c>>>15^c;k=f[a+4>>2]|0;if(!k){o=0;return o|0}l=k+-1|0;d=(l&k|0)==0;if(d)m=c&l;else m=(c>>>0)%(k>>>0)|0;c=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!c){o=0;return o|0}c=f[c>>2]|0;if(!c){o=0;return o|0}a=(n|0)==0;if(d){a:while(1){if((f[c+4>>2]&l|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break a}if(!(hj(i,o,n)|0)){l=35;break a}else break}if(a){l=35;break a}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break a}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}else{b:while(1){if((((f[c+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break b}if(!(hj(i,o,n)|0)){l=35;break b}else break}if(a){l=35;break b}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}return 0}function sc(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+12|0;l=m;f[c+40>>2]=e;j=c+32|0;f[j>>2]=g;f[c+4>>2]=i;bc(a,g,k);if(f[a>>2]|0){u=m;return}i=a+4|0;km(i);g=h[k+7>>0]|0;if((g|0)!=(Sa[f[(f[c>>2]|0)+8>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16105,50);f[a>>2]=-1;cj(i,l);km(l);u=m;return}e=b[k+5>>0]|0;b[c+36>>0]=e;g=b[k+6>>0]|0;b[c+37>>0]=g;if((e+-1&255)>1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16156,22);f[a>>2]=-5;cj(i,l);km(l);u=m;return}if(e<<24>>24==2&(g&255)>2){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16179,22);f[a>>2]=-5;cj(i,l);km(l);u=m;return}g=(g&255|(e&255)<<8)&65535;d[(f[j>>2]|0)+38>>1]=g;do if((g&65535)>258?(d[k+10>>1]|0)<0:0){Ld(a,c);if(!(f[a>>2]|0)){km(i);break}else{u=m;return}}while(0);if(!(Sa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16202,33);f[a>>2]=-1;cj(i,l);km(l);u=m;return}if(!(Sa[f[(f[c>>2]|0)+20>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16236,31);f[a>>2]=-1;cj(i,l);km(l);u=m;return}if(Sa[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=m;return}else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;Kh(l,16268,34);f[a>>2]=-1;cj(i,l);km(l);u=m;return}}function tc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+176|0;h=t+136|0;s=t+64|0;o=t;j=t+32|0;i=f[(f[c+4>>2]|0)+44>>2]|0;n=Nk(88)|0;f[n+4>>2]=0;f[n>>2]=3180;k=n+12|0;f[k>>2]=3160;m=n+64|0;f[m>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;e=n+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[n+76>>2]=i;f[n+80>>2]=d;f[n+84>>2]=0;l=n;q=s+4|0;f[q>>2]=3160;p=s+56|0;f[p>>2]=0;r=s+60|0;f[r>>2]=0;f[s+64>>2]=0;e=s+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=f[c+8>>2]|0;f[o>>2]=3160;c=o+4|0;g=c+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;g=e;f[c>>2]=g;g=((f[g+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0;b[h>>0]=0;ef(o+8|0,g,h);Pa[f[(f[o>>2]|0)+8>>2]&127](o);de(j,o);de(h,j);f[s>>2]=f[h+4>>2];g=s+4|0;Ce(g,h)|0;f[h>>2]=3160;c=f[h+20>>2]|0;if(c|0)Co(c);c=f[h+8>>2]|0;if(c|0)Co(c);f[s+36>>2]=e;f[s+40>>2]=d;f[s+44>>2]=i;f[s+48>>2]=n;f[j>>2]=3160;c=f[j+20>>2]|0;if(c|0)Co(c);c=f[j+8>>2]|0;if(c|0)Co(c);f[n+8>>2]=f[s>>2];Ce(k,g)|0;c=n+44|0;n=s+36|0;f[c>>2]=f[n>>2];f[c+4>>2]=f[n+4>>2];f[c+8>>2]=f[n+8>>2];f[c+12>>2]=f[n+12>>2];b[c+16>>0]=b[n+16>>0]|0;ee(m,f[p>>2]|0,f[r>>2]|0);f[a>>2]=l;f[o>>2]=3160;c=f[o+20>>2]|0;if(c|0)Co(c);c=f[o+8>>2]|0;if(c|0)Co(c);c=f[p>>2]|0;if(c|0){e=f[r>>2]|0;if((e|0)!=(c|0))f[r>>2]=e+(~((e+-4-c|0)>>>2)<<2);Co(c)}f[q>>2]=3160;c=f[s+24>>2]|0;if(c|0)Co(c);c=f[s+12>>2]|0;if(!c){u=t;return}Co(c);u=t;return}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=u;u=u+16|0;z=B+8|0;x=B;y=B+4|0;if(!(ih(a,b)|0)){a=0;u=B;return a|0}A=b+96|0;n=b+100|0;d=f[n>>2]|0;b=f[A>>2]|0;if((d-b|0)<=0){a=1;u=B;return a|0}m=a+56|0;t=a+8|0;q=a+12|0;r=a+20|0;o=a+24|0;s=a+32|0;p=a+36|0;v=a+68|0;w=a+76|0;l=f[c>>2]|0;h=l+4|0;j=l+8|0;i=a+4|0;k=a+72|0;g=l;e=0;do{if(!(f[(f[m>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31))){C=e*3|0;f[x>>2]=C;f[z>>2]=f[x>>2];nc(a,0,z);d=(f[q>>2]|0)-(f[t>>2]|0)>>2;f[x>>2]=C+1;f[z>>2]=f[x>>2];nc(a,1,z);b=(f[o>>2]|0)-(f[r>>2]|0)>>2;c=b>>>0>d>>>0;f[x>>2]=C+2;f[z>>2]=f[x>>2];nc(a,2,z);d=(f[p>>2]|0)-(f[s>>2]|0)>>2>>>0>(c?b:d)>>>0?2:c?1:((d|0)==0)<<31>>31;if((f[v>>2]|0)>0){b=f[w>>2]|0;f[z>>2]=b;c=f[h>>2]|0;if(c>>>0<(f[j>>2]|0)>>>0){f[c>>2]=b;f[h>>2]=c+4}else zg(l,z);f[x>>2]=f[a+44+(d<<2)>>2];b=f[i>>2]|0;c=f[a>>2]|0;f[z>>2]=f[x>>2];c=qi(z,b,c)|0;f[z>>2]=c;b=f[h>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=c;f[h>>2]=b+4}else zg(l,z);C=(f[k>>2]|0)+2|0;f[k>>2]=C;if(C&1|0){f[z>>2]=c;b=f[h>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=c;f[h>>2]=b+4}else zg(l,z);f[k>>2]=(f[k>>2]|0)+1}}f[y>>2]=g;f[z>>2]=f[y>>2];qc(a,d,z);b=f[A>>2]|0;d=f[n>>2]|0}e=e+1|0}while((e|0)<((d-b|0)/12|0|0));b=1;u=B;return b|0}function vc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+148|0;i=f[b>>2]|0;j=(i|0)<0;l=i+1|0;do if(!j){b=((l|0)%3|0|0)==0?i+-2|0:l;if(!((i>>>0)%3|0)){d=b;g=i+2|0;break}else{d=b;g=i+-1|0;break}}else{d=i;g=i}while(0);h=a+184|0;b=f[h>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){b=c+(b<<2)|0;f[b>>2]=(f[b>>2]|0)+d;b=f[h>>2]|0}switch(b|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}b=f[k>>2]|0;if(!j?(m=((l|0)%3|0|0)==0?i+-2|0:l,(m|0)>=0):0)b=f[(f[b>>2]|0)+(m<<2)>>2]|0;else b=-1073741824;f[a+188>>2]=(f[(f[a+156>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Co(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}m=Nk(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)Co(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){b:do if(m){k=h;i=c;while(1){c=d;while(1){j=f[c+4>>2]&l;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}else{k=h;i=c;while(1){c=d;while(1){j=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}while(0);f[d>>2]=g;d=f[c>>2]|0;if(!d){c=34;break}else h=c}if((c|0)==34)return}function xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;v=u;u=u+32|0;e=v+24|0;q=v+20|0;t=v+8|0;s=v+4|0;m=v;f[e>>2]=0;sh(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){d=0;while(1){d=d+1|0;if(!(Jc(a,c)|0)){d=0;break}if(d>>>0>=(f[e>>2]|0)>>>0)break a}u=v;return d|0}while(0);f[q>>2]=0;sh(q,f[a>>2]|0)|0;b:do if(!(f[q>>2]|0))d=1;else{i=0;while(1){f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;g=f[a>>2]|0;w=g+8|0;x=f[w+4>>2]|0;h=g+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if((x|0)>(e|0)|((x|0)==(e|0)?(f[w>>2]|0)>>>0>d>>>0:0)?(l=b[(f[g>>2]|0)+d>>0]|0,j=gm(d|0,e|0,1,0)|0,p=h,f[p>>2]=j,f[p+4>>2]=I,p=l&255,vh(t,p,0),j=f[a>>2]|0,o=kj(t,0)|0,g=j+8|0,w=f[g>>2]|0,g=f[g+4>>2]|0,r=j+16|0,x=r,k=f[x>>2]|0,l=l&255,x=gm(k|0,f[x+4>>2]|0,l|0,0)|0,h=I,!((g|0)<(h|0)|(g|0)==(h|0)&w>>>0>>0)):0){Xe(o|0,(f[j>>2]|0)+k|0,p|0)|0;w=r;w=gm(f[w>>2]|0,f[w+4>>2]|0,l|0,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=Nk(40)|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;n[x+16>>2]=$(1.0);w=x+20|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;n[x+36>>2]=$(1.0);f[s>>2]=x;if(xc(a,x)|0){d=f[s>>2]|0;f[s>>2]=0;f[m>>2]=d;Ee(c,t,m)|0;Eg(m);d=0}else d=1;Eg(s)}else d=1;km(t);i=i+1|0;if(d|0){d=0;break b}if(i>>>0>=(f[q>>2]|0)>>>0){d=1;break}}}while(0);x=d;u=v;return x|0}function yc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+148|0;c=f[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)){h=b;g=c+2|0;break}else{h=b;g=c+-1|0;break}}else{h=c;g=c}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){g=c+(b<<2)|0;f[g>>2]=(f[g>>2]|0)+d}if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;b=f[(f[a+156>>2]|0)+(b<<2)>>2]|0;c=f[a+176>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+172|0;f[a>>2]=i;return}i=f[a+180>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+172|0;f[a>>2]=i;return}function zc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=vf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Ac(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=yf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Bc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=zf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Cc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Af(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Dc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Bf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Ec(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Df(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Fc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(sh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{lg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=gm(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}Yg((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=gm(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Ef(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Gc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=a+8|0;f[t>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2);g=e}else g=e;else{lg(j,e-k|0);g=f[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=zo(r)|0;Yg(s|0,0,r|0)|0;if((g|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{g=f[s+(j<<2)>>2]|0;h=f[l>>2]|0;if((g|0)>(h|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=h}else{r=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(g|0)<(r|0)?r:g}j=j+1|0;g=f[t>>2]|0}while((j|0)<(g|0));if((g|0)>0){j=a+20|0;i=0;do{g=(f[b+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=c+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[m>>2]|0)){g=(f[j>>2]|0)+g|0;u=18}}else{g=g-(f[j>>2]|0)|0;u=18}if((u|0)==18){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}if((e|0)>=(d|0)){Ao(s);return 1}p=0-e|0;q=a+16|0;o=a+32|0;r=a+12|0;n=a+20|0;a=e;do{l=c+(a<<2)|0;j=l+(p<<2)|0;m=b+(a<<2)|0;if((g|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[q>>2]|0;if((g|0)>(h|0)){k=f[o>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[r>>2]|0;k=f[o>>2]|0;f[k+(i<<2)>>2]=(g|0)<(h|0)?h:g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0));if((g|0)>0){i=0;do{g=(f[m+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[q>>2]|0)){if((g|0)<(f[r>>2]|0)){g=(f[n>>2]|0)+g|0;u=33}}else{g=g-(f[n>>2]|0)|0;u=33}if((u|0)==33){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}a=a+e|0}while((a|0)<(d|0));Ao(s);return 1}function Hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=c+8|0;j=f[i+4>>2]|0;h=c+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){j=0;return j|0}j=b[(f[c>>2]|0)+g>>0]|0;g=gm(g|0,e|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do switch(j<<24>>24){case 1:{j=Vd(a,c,d)|0;return j|0}case 2:{j=Vd(a,c,d)|0;return j|0}case 3:{j=Vd(a,c,d)|0;return j|0}case 4:{j=Vd(a,c,d)|0;return j|0}case 5:{j=Vd(a,c,d)|0;return j|0}case 6:{j=Vd(a,c,d)|0;return j|0}case 7:{j=Vd(a,c,d)|0;return j|0}case 8:{j=Vd(a,c,d)|0;return j|0}case 9:{j=Ud(a,c,d)|0;return j|0}case 10:{j=Td(a,c,d)|0;return j|0}case 11:{j=Sd(a,c,d)|0;return j|0}case 12:{j=Rd(a,c,d)|0;return j|0}case 13:{j=Qd(a,c,d)|0;return j|0}case 14:{j=Pd(a,c,d)|0;return j|0}case 15:{j=Pd(a,c,d)|0;return j|0}case 16:{j=Pd(a,c,d)|0;return j|0}case 17:{j=Pd(a,c,d)|0;return j|0}case 18:{j=Pd(a,c,d)|0;return j|0}default:{j=0;return j|0}}while(0);return 0}function Ic(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3040;d=a+376|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d)}Ho(a+360|0);Ho(a+320|0);Ho(a+304|0);Ho(a+264|0);ug(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+132>>2]|0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nh(b);Co(b);return}function Jc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=u;u=u+32|0;m=n+16|0;k=n+12|0;l=n;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;d=f[a>>2]|0;j=d+8|0;i=f[j+4>>2]|0;h=d+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((i|0)>(e|0)|((i|0)==(e|0)?(f[j>>2]|0)>>>0>g>>>0:0))){l=0;km(m);u=n;return l|0}q=b[(f[d>>2]|0)+g>>0]|0;d=gm(g|0,e|0,1,0)|0;i=h;f[i>>2]=d;f[i+4>>2]=I;i=q&255;vh(m,i,0);d=f[a>>2]|0;h=kj(m,0)|0;r=d+8|0;p=f[r>>2]|0;r=f[r+4>>2]|0;j=d+16|0;o=j;e=f[o>>2]|0;g=q&255;o=gm(e|0,f[o+4>>2]|0,g|0,0)|0;q=I;if((r|0)<(q|0)|(r|0)==(q|0)&p>>>0>>0){r=0;km(m);u=n;return r|0}Xe(h|0,(f[d>>2]|0)+e|0,i|0)|0;d=j;d=gm(f[d>>2]|0,f[d+4>>2]|0,g|0,0)|0;r=j;f[r>>2]=d;f[r+4>>2]=I;f[k>>2]=0;r=(sh(k,f[a>>2]|0)|0)^1;d=f[k>>2]|0;if((d|0)==0|r)d=0;else{f[l>>2]=0;i=l+4|0;f[i>>2]=0;f[l+8>>2]=0;if((d|0)<0)nn(l);e=Nk(d)|0;f[i>>2]=e;f[l>>2]=e;f[l+8>>2]=e+d;do{b[e>>0]=0;e=(f[i>>2]|0)+1|0;f[i>>2]=e;d=d+-1|0}while((d|0)!=0);h=f[k>>2]|0;d=f[a>>2]|0;o=d+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=d+16|0;r=g;e=f[r>>2]|0;r=gm(e|0,f[r+4>>2]|0,h|0,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0)d=0;else{Xe(f[l>>2]|0,(f[d>>2]|0)+e|0,h|0)|0;r=g;r=gm(f[r>>2]|0,f[r+4>>2]|0,h|0,0)|0;d=g;f[d>>2]=r;f[d+4>>2]=I;lk(c,m,l);d=1}e=f[l>>2]|0;if(e|0){if((f[i>>2]|0)!=(e|0))f[i>>2]=e;Co(e)}}r=d;km(m);u=n;return r|0}function Kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;y=u;u=u+16|0;x=y+4|0;w=y;f[a+72>>2]=e;f[a+64>>2]=g;t=zo(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=f[v>>2]|0;f[v>>2]=t;if(d|0)Ao(d);t=a+8|0;f[t>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);o=a+56|0;h=f[o>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;r=g-d|0;s=r>>2;if((r|0)<=0){u=y;return 1}q=a+16|0;n=a+32|0;r=a+12|0;p=a+20|0;i=h;h=0;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}f[w>>2]=f[d+(h<<2)>>2];f[x>>2]=f[w>>2];Wb(a,x,c,h);m=X(h,e)|0;i=f[v>>2]|0;l=b+(m<<2)|0;m=c+(m<<2)|0;if((f[t>>2]|0)>0){j=0;do{d=f[i+(j<<2)>>2]|0;g=f[q>>2]|0;if((d|0)>(g|0)){k=f[n>>2]|0;f[k+(j<<2)>>2]=g}else{g=f[r>>2]|0;k=f[n>>2]|0;f[k+(j<<2)>>2]=(d|0)<(g|0)?g:d}j=j+1|0;d=f[t>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=0;do{d=(f[l+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;g=m+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[q>>2]|0)){if((d|0)<(f[r>>2]|0)){d=(f[p>>2]|0)+d|0;z=24}}else{d=d-(f[p>>2]|0)|0;z=24}if((z|0)==24){z=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[t>>2]|0))}}h=h+1|0;if((h|0)>=(s|0))break;i=f[o>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=y;return 1}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;y=u;u=u+16|0;x=y+4|0;w=y;f[a+72>>2]=e;f[a+64>>2]=g;t=zo(e>>>0>1073741823?-1:e<<2)|0;v=a+68|0;d=f[v>>2]|0;f[v>>2]=t;if(d|0)Ao(d);t=a+8|0;f[t>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);o=a+56|0;h=f[o>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;r=g-d|0;s=r>>2;if((r|0)<=0){u=y;return 1}q=a+16|0;n=a+32|0;r=a+12|0;p=a+20|0;i=h;h=0;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}f[w>>2]=f[d+(h<<2)>>2];f[x>>2]=f[w>>2];Ub(a,x,c,h);m=X(h,e)|0;i=f[v>>2]|0;l=b+(m<<2)|0;m=c+(m<<2)|0;if((f[t>>2]|0)>0){j=0;do{d=f[i+(j<<2)>>2]|0;g=f[q>>2]|0;if((d|0)>(g|0)){k=f[n>>2]|0;f[k+(j<<2)>>2]=g}else{g=f[r>>2]|0;k=f[n>>2]|0;f[k+(j<<2)>>2]=(d|0)<(g|0)?g:d}j=j+1|0;d=f[t>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=0;do{d=(f[l+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;g=m+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[q>>2]|0)){if((d|0)<(f[r>>2]|0)){d=(f[p>>2]|0)+d|0;z=24}}else{d=d-(f[p>>2]|0)|0;z=24}if((z|0)==24){z=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[t>>2]|0))}}h=h+1|0;if((h|0)>=(s|0))break;i=f[o>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=y;return 1}function Mc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;e=f[k>>2]|0;switch(f[e+28>>2]|0){case 2:{d=b[e+24>>0]|0;j=d<<24>>24;i=zo((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;a:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Xe(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break a}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Ao(i);c=1;return c|0}case 1:{d=b[e+24>>0]|0;j=d<<24>>24;i=zo((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;b:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Xe(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break b}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Ao(i);c=1;return c|0}case 4:{Xf(a,c);c=1;return c|0}case 3:{Xf(a,c);c=1;return c|0}case 6:{Yf(a,c);c=1;return c|0}case 5:{Yf(a,c);c=1;return c|0}default:{c=0;return c|0}}return 0}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+32|0;i=s+16|0;r=s;f[i>>2]=0;do if((j[b+38>>1]|0)<514){k=b+8|0;l=f[k>>2]|0;k=f[k+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=gm(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&l>>>0>>0){r=0;u=s;return r|0}else{l=(f[b>>2]|0)+e|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[i>>2]=l;k=g;f[k>>2]=c;f[k+4>>2]=d;c=l;break}}else if(sh(i,b)|0){c=f[i>>2]|0;break}else{r=0;u=s;return r|0}while(0);e=a+76|0;ld(e,c,0);Yn(r);if(nd(r,b)|0){if(f[i>>2]|0){c=0;d=1;do{d=d^((Di(r)|0)^1);l=(f[e>>2]|0)+(c>>>5<<2)|0;k=1<<(c&31);g=f[l>>2]|0;f[l>>2]=d?g|k:g&~k;c=c+1|0}while(c>>>0<(f[i>>2]|0)>>>0)}d=b+8|0;c=f[d>>2]|0;d=f[d+4>>2]|0;l=b+16|0;g=l;e=f[g>>2]|0;g=f[g+4>>2]|0;i=gm(e|0,g|0,4,0)|0;k=I;if((!((d|0)<(k|0)|(d|0)==(k|0)&c>>>0>>0)?(m=f[b>>2]|0,n=m+e|0,n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24,o=l,f[o>>2]=i,f[o+4>>2]=k,o=gm(e|0,g|0,8,0)|0,p=I,!((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0)):0)?(q=m+i|0,q=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,b=l,f[b>>2]=o,f[b+4>>2]=p,(n|0)<=(q|0)):0){f[a+12>>2]=n;f[a+16>>2]=q;b=q+(1-n)|0;f[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(b&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Ho(r);r=c;u=s;return r|0}function Oc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<>>0>31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if(e>>>0<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if(!h){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function Pc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];mb(a,r,n);r=1;u=p;return r|0}function Qc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];pb(a,r,n);r=1;u=p;return r|0}function Rc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];nb(a,r,n);r=1;u=p;return r|0}function Sc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)Ga(17186,17202,59,17293);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))Ga(17303,17202,60,17293);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Sa[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Wa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Wa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=Nk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2544;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2600;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=Nk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2460;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2516;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function Tc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a+32|0;c=f[h>>2]|0;o=c+8|0;n=f[o+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(f[o>>2]|0)>>>0>e>>>0:0))){a=0;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;m=gm(e|0,d|0,1,0)|0;o=g;f[o>>2]=m;f[o+4>>2]=I;o=n&255;g=n<<24>>24==0;a:do if(!g){c=0;while(1){if(!(Wa[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){c=0;break}c=c+1|0;if((c|0)>=(o|0))break a}return c|0}while(0);n=a+8|0;c=f[n>>2]|0;d=f[a+12>>2]|0;b:do if((c|0)!=(d|0)){e=a+4|0;while(1){m=f[c>>2]|0;c=c+4|0;if(!(Na[f[(f[m>>2]|0)+8>>2]&31](m,a,f[e>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}return c|0}while(0);if(!g){c=0;do{m=f[(f[n>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Wa[f[(f[m>>2]|0)+12>>2]&127](m,f[h>>2]|0)|0)){c=0;i=26;break}}while((c|0)<(o|0));if((i|0)==26)return c|0;if(!g){i=a+20|0;h=a+24|0;l=0;do{j=f[(f[n>>2]|0)+(l<<2)>>2]|0;j=Sa[f[(f[j>>2]|0)+24>>2]&127](j)|0;if((j|0)>0){m=0;do{k=f[(f[n>>2]|0)+(l<<2)>>2]|0;k=Wa[f[(f[k>>2]|0)+20>>2]&127](k,m)|0;d=f[h>>2]|0;c=f[i>>2]|0;g=d-c>>2;do if(k>>>0>=g>>>0){e=k+1|0;if(e>>>0>g>>>0){lg(i,e-g|0);c=f[i>>2]|0;break}if(e>>>0>>0?(p=c+(e<<2)|0,(d|0)!=(p|0)):0)f[h>>2]=d+(~((d+-4-p|0)>>>2)<<2)}while(0);f[c+(k<<2)>>2]=l;m=m+1|0}while((m|0)!=(j|0))}l=l+1|0}while((l|0)!=(o|0))}}if(!(Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0)){a=0;return a|0}a=Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0;return a|0}function Uc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+4194304|0;f[a+48>>2]=p;a=p>>>0<1073741824;u=q;return a|0}function Vc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+2097152|0;f[a+48>>2]=p;a=p>>>0<536870912;u=q;return a|0}function Wc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+1048576|0;f[a+48>>2]=p;a=p>>>0<268435456;u=q;return a|0}function Xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+262144|0;f[a+48>>2]=p;a=p>>>0<67108864;u=q;return a|0}function Yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+131072|0;f[a+48>>2]=p;a=p>>>0<33554432;u=q;return a|0}function Zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+32768|0;f[a+48>>2]=p;a=p>>>0<8388608;u=q;return a|0}function _c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=gm(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Pg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=wl(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=gm(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+16384|0;f[a+48>>2]=p;a=p>>>0<4194304;u=q;return a|0}function $c(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)Ga(17186,17202,59,17293);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))Ga(17303,17202,60,17293);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Sa[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Wa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Wa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=Nk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2768;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2824;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=Nk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2684;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2740;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;Yn(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function ad(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);n=a+56|0;i=f[n>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;q=g-d|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;h=0;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}f[t>>2]=f[d+(h<<2)>>2];f[v>>2]=f[t>>2];Db(w,v,c,h);l=X(h,e)|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[a+68+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[k+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;y=22}}else{d=d-(f[o>>2]|0)|0;y=22}if((y|0)==22){y=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[s>>2]|0))}}h=h+1|0;if((h|0)>=(r|0))break;i=f[n>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=x;return 1}function bd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];kb(a,r,n);r=1;u=p;return r|0}function cd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];ob(a,r,n);r=1;u=p;return r|0}function dd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=gm(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=gm(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=gm(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ie(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];lb(a,r,n);r=1;u=p;return r|0}function ed(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3204;Ih(a+240|0);ug(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+132>>2]|0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nh(b);Co(b);return}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<>>0>31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function gd(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3252;Ye(a+240|0);ug(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+132>>2]|0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nh(b);Co(b);return}function hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);n=a+56|0;i=f[n>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;q=g-d|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;h=0;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}f[t>>2]=f[d+(h<<2)>>2];f[v>>2]=f[t>>2];Cb(w,v,c,h);l=X(h,e)|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[a+68+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[k+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;y=22}}else{d=d-(f[o>>2]|0)|0;y=22}if((y|0)==22){y=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[s>>2]|0))}}h=h+1|0;if((h|0)>=(r|0))break;i=f[n>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=x;return 1}function id(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;k=o+16|0;i=o;if((j[c+38>>1]|0)<514){n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((m|0)>(d|0)|((m|0)==(d|0)?(f[n>>2]|0)>>>0>e>>>0:0))){a=0;u=o;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;l=gm(e|0,d|0,1,0)|0;m=g;f[m>>2]=l;f[m+4>>2]=I;if(n<<24>>24){a=0;u=o;return a|0}}g=0;do{sh(k,c)|0;d=f[k>>2]|0;if(d|0){e=a+60+(g*12|0)|0;ld(e,d,0);Yn(i);nd(i,c)|0;if(f[k>>2]|0){d=0;do{p=Di(i)|0;n=(f[e>>2]|0)+(d>>>5<<2)|0;m=1<<(d&31);l=f[n>>2]|0;f[n>>2]=p?l|m:l&~m;d=d+1|0}while(d>>>0<(f[k>>2]|0)>>>0)}Ho(i)}g=g+1|0}while((g|0)<4);l=c+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;n=c+16|0;e=n;d=f[e>>2]|0;e=f[e+4>>2]|0;m=gm(d|0,e|0,4,0)|0;g=I;if((l|0)<(g|0)|(l|0)==(g|0)&k>>>0>>0){p=0;u=o;return p|0}i=f[c>>2]|0;c=i+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;p=n;f[p>>2]=m;f[p+4>>2]=g;e=gm(d|0,e|0,8,0)|0;g=I;if((l|0)<(g|0)|(l|0)==(g|0)&k>>>0>>0){p=0;u=o;return p|0}d=i+m|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;p=n;f[p>>2]=e;f[p+4>>2]=g;if((c|0)>(d|0)){p=0;u=o;return p|0}f[a+12>>2]=c;f[a+16>>2]=d;p=d+(1-c)|0;f[a+20>>2]=p;d=(p|0)/2|0;e=a+24|0;f[e>>2]=d;f[a+28>>2]=0-d;if(p&1|0){p=1;u=o;return p|0}f[e>>2]=d+-1;p=1;u=o;return p|0}function jd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+12|0;n=f[l>>2]|0;i=(f[c>>2]|0)-n|0;j=c+4|0;g=(f[j>>2]|0)-n|0;e=c;f[e>>2]=i;f[e+4>>2]=g;e=f[l>>2]|0;if((e|0)<(i|0))Ga(9849,9150,250,9872);if((e|0)<(g|0))Ga(9884,9150,251,9872);h=0-e|0;if((i|0)<(h|0))Ga(9907,9150,252,9872);if((g|0)<(h|0))Ga(9931,9150,253,9872);m=(((g|0)>-1?g:0-g|0)+((i|0)>-1?i:0-i|0)|0)<=(e|0);if(!m){Pf(b,c,j);i=f[c>>2]|0}if(!i){e=f[j>>2]|0;g=e;e=(e|0)==0}else{e=f[j>>2]|0;g=e;e=(i|0)<0&(e|0)<1}if(!i)k=(g|0)==0?0:(g|0)>0?3:1;else k=(i|0)>0?(g>>31)+2|0:(g|0)<1?0:3;if(e){e=i;i=1}else{switch(k|0){case 1:{e=g;g=0-i|0;break}case 2:{e=0-i|0;g=0-g|0;break}case 3:{e=0-g|0;g=i;break}default:e=i}i=c;f[i>>2]=e;f[i+4>>2]=g;i=0}e=(f[d>>2]|0)+e|0;f[a>>2]=e;g=(f[d+4>>2]|0)+g|0;j=a+4|0;f[j>>2]=g;h=f[l>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[a>>2]=e;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[b+4>>2]|0)+g|0}else g=g-(f[b+4>>2]|0)|0;f[j>>2]=g;if(!i){switch((4-k|0)%4|0|0){case 1:{h=g;e=0-e|0;break}case 2:{h=0-e|0;e=0-g|0;break}case 3:{h=0-g|0;break}default:{h=e;e=g}}g=a;f[g>>2]=h;f[g+4>>2]=e;g=e;e=h}if(m){m=e;b=g;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}Pf(b,a,j);m=f[a>>2]|0;b=f[j>>2]|0;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}function kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;w=u;u=u+48|0;s=w+40|0;t=w+24|0;p=w+20|0;q=w+16|0;n=w;r=w+8|0;f[t>>2]=0;v=t+4|0;f[v>>2]=0;f[t+8>>2]=0;l=c+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;o=c+16|0;e=o;m=f[e>>2]|0;e=f[e+4>>2]|0;g=gm(m|0,e|0,4,0)|0;i=I;a:do if((l|0)<(i|0)|(l|0)==(i|0)&k>>>0>>0)i=0;else{j=f[c>>2]|0;x=j+m|0;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=o;f[y>>2]=g;f[y+4>>2]=i;b:do switch(x|0){case 3:{if(!((l|0)>(i|0)|(l|0)==(i|0)&k>>>0>g>>>0)){i=0;break a}y=b[j+g>>0]|0;m=gm(m|0,e|0,5,0)|0;x=o;f[x>>2]=m;f[x+4>>2]=I;f[a+8>>2]=y<<24>>24;if(y<<24>>24==1)if(Qb(a,c,t)|0)break b;else{i=0;break a}else{vj(5114,23,1,f[901]|0)|0;i=0;break a}}case 2:{if(!(Qb(a,c,t)|0)){i=0;break a}break}default:{vj(5138,24,1,f[901]|0)|0;i=0;break a}}while(0);f[p>>2]=f[t>>2];f[q>>2]=f[v>>2];x=d;y=f[x+4>>2]|0;i=n;f[i>>2]=f[x>>2];f[i+4>>2]=y;f[s>>2]=f[n>>2];f[s+4>>2]=f[n+4>>2];Ed(r,p,q,a,s);i=1}while(0);e=f[t>>2]|0;if(!e){u=w;return i|0}g=f[v>>2]|0;if((g|0)!=(e|0))f[v>>2]=g+(~(((g+-12-e|0)>>>0)/12|0)*12|0);Co(e);u=w;return i|0}function ld(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;l=e<<5;d=b-g|0;if(l>>>0>>0|g>>>0>(l-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0){nn(a);e=f[m>>2]|0}h=e<<6;b=b+31&-32;ig(o,e<<5>>>0<1073741823?(h>>>0>>0?b:h):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;Yj(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)Co(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;Yg(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;Yg(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function md(a,b){a=a|0;b=b|0;var c=0,d=La,e=La,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=La;l=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(c)h=g&l;else h=(l>>>0)%(i>>>0)|0;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(b)if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}if((f[b+4>>2]&g|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else{do{b=f[b>>2]|0;if(!b){b=h;break a}if((((f[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else b=h}else b=0;while(0);m=Nk(16)|0;f[m+8>>2]=l;f[m+12>>2]=0;f[m+4>>2]=l;f[m>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;bg(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&l;break}else{g=b;b=(l>>>0)%(b>>>0)|0;break}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[m>>2]=f[b>>2];f[b>>2]=m;f[c>>2]=b;b=f[m>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;b=(f[a>>2]|0)+(b<<2)|0;o=24}}else{f[m>>2]=f[b>>2];o=24}if((o|0)==24)f[b>>2]=m;f[h>>2]=(f[h>>2]|0)+1;a=m;a=a+12|0;return a|0}function nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;m=q;e=c+8|0;l=e;i=f[l+4>>2]|0;p=c+16|0;k=p;d=f[k>>2]|0;k=f[k+4>>2]|0;if(!((i|0)>(k|0)|((i|0)==(k|0)?(f[l>>2]|0)>>>0>d>>>0:0))){a=0;u=q;return a|0}b[a+12>>0]=b[(f[c>>2]|0)+d>>0]|0;g=p;d=f[g>>2]|0;g=f[g+4>>2]|0;i=gm(d|0,g|0,1,0)|0;l=p;f[l>>2]=i;f[l+4>>2]=I;if((j[c+38>>1]|0)<514){k=e;e=f[k>>2]|0;k=f[k+4>>2]|0;d=gm(d|0,g|0,5,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&e>>>0>>0)d=0;else{i=(f[c>>2]|0)+i|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[m>>2]=i;g=p;f[g>>2]=d;f[g+4>>2]=l;g=k;k=d;n=7}}else if(sh(m,c)|0){g=e;l=p;e=f[g>>2]|0;g=f[g+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;i=f[m>>2]|0;n=7}else d=0;a:do if((n|0)==7){n=wl(e|0,g|0,k|0,l|0)|0;m=I;if(!(0>(m|0)|0==(m|0)&i>>>0>n>>>0)?(o=(f[c>>2]|0)+k|0,(i|0)>=1):0){f[a>>2]=o;e=i+-1|0;d=o+e|0;switch((h[d>>0]|0)>>>6&3){case 0:{f[a+4>>2]=e;d=b[d>>0]&63;break}case 1:{if((i|0)<2){d=0;break a}f[a+4>>2]=i+-2;d=o+i+-2|0;d=(h[d+1>>0]|0)<<8&16128|(h[d>>0]|0);break}case 2:{if((i|0)<3){d=0;break a}f[a+4>>2]=i+-3;d=o+i+-3|0;d=(h[d+1>>0]|0)<<8|(h[d>>0]|0)|(h[d+2>>0]|0)<<16&4128768;break}default:{d=0;break a}}o=d+4096|0;f[a+8>>2]=o;if(o>>>0<=1048575){a=gm(k|0,l|0,i|0,0)|0;d=p;f[d>>2]=a;f[d+4>>2]=I;d=1}else d=0}else d=0}while(0);a=d;u=q;return a|0}function od(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;m=p;k=Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((k|0)<=0){a=1;o=1;o=a|o;u=p;return o|0}j=a+36|0;l=a+48|0;b=0;while(1){i=(Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[i>>2]|0){h=f[(f[(f[j>>2]|0)+(b<<2)>>2]|0)+8>>2]|0;g=(Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;g=f[g>>2]|0;h=f[h+56>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kh(m,14720,24);i=g+16|0;d=f[i>>2]|0;if(d){c=i;e=d;a:while(1){d=e;while(1){if((f[d+16>>2]|0)>=(h|0))break;d=f[d+4>>2]|0;if(!d)break a}e=f[d>>2]|0;if(!e){c=d;break}else c=d}if(((c|0)!=(i|0)?(n=c+20|0,(h|0)>=(f[c+16>>2]|0)):0)?(Mf(n,m)|0)!=0:0)c=Rh(n,m,0)|0;else o=13}else o=13;if((o|0)==13){o=0;c=Rh(g,m,0)|0}km(m);if(c){o=15;break}}i=f[(f[j>>2]|0)+(b<<2)>>2]|0;if(!(Wa[f[(f[i>>2]|0)+24>>2]&127](i,l)|0)){b=0;c=0;o=18;break}b=b+1|0;if((b|0)>=(k|0)){b=1;c=1;o=18;break}}if((o|0)==15){a=f[(f[j>>2]|0)+(b<<2)>>2]|0;o=f[a+8>>2]|0;Fd(o,gf(a)|0);a=0;o=1;o=a|o;u=p;return o|0}else if((o|0)==18){o=b|c;u=p;return o|0}return 0}function pd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){e=23;break}i=h+8|0;d=f[i>>2]|0;e=f[d>>2]|0;if((e|0)==(h|0)){e=f[d+4>>2]|0;if(!e){e=7;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=7;break}}else{if(!e){e=16;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=16;break}}b[g>>0]=1;i=(d|0)==(a|0);b[d+12>>0]=i&1;b[c>>0]=1;if(i){e=23;break}else c=d}if((e|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;c=f[a>>2]|0;e=f[c>>2]|0;f[a>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}a=c+8|0;f[a>>2]=d;d=f[i>>2]|0;f[((f[d>>2]|0)==(h|0)?d:d+4|0)>>2]=c;f[c>>2]=h;f[i>>2]=c;d=f[a>>2]|0}b[c+12>>0]=1;b[d+12>>0]=0;c=f[d>>2]|0;g=c+4|0;e=f[g>>2]|0;f[d>>2]=e;if(e|0)f[e+8>>2]=d;i=d+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(d|0)?h:h+4|0)>>2]=c;f[g>>2]=d;f[i>>2]=c;return}else if((e|0)==16){if((f[h>>2]|0)==(c|0)){c=f[h>>2]|0;g=c+4|0;e=f[g>>2]|0;f[h>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}e=c+8|0;f[e>>2]=d;a=f[i>>2]|0;f[((f[a>>2]|0)==(h|0)?a:a+4|0)>>2]=c;f[g>>2]=h;f[i>>2]=c;e=f[e>>2]|0}else{c=h;e=d}b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((e|0)==23)return} -function qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+16|0;q=r;i=b+8|0;g=i;j=f[g>>2]|0;g=f[g+4>>2]|0;p=b+16|0;d=p;c=f[d>>2]|0;d=gm(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((g|0)<(e|0)|(g|0)==(e|0)&j>>>0>>0){q=0;u=r;return q|0}g=(f[b>>2]|0)+c|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=p;f[j>>2]=d;f[j+4>>2]=e;if((g|0)<0){q=0;u=r;return q|0}ld(a+76|0,g,0);Yn(q);if(nd(q,b)|0){if((g|0)>0){c=a+76|0;d=0;e=1;do{e=e^((Di(q)|0)^1);j=(f[c>>2]|0)+(d>>>5<<2)|0;s=1<<(d&31);t=f[j>>2]|0;f[j>>2]=e?t|s:t&~s;d=d+1|0}while((d|0)<(g|0))}d=i;c=f[d>>2]|0;d=f[d+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;i=gm(e|0,g|0,4,0)|0;j=I;if((!((d|0)<(j|0)|(d|0)==(j|0)&c>>>0>>0)?(k=f[b>>2]|0,l=k+e|0,l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,m=p,f[m>>2]=i,f[m+4>>2]=j,m=gm(e|0,g|0,8,0)|0,n=I,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0>>0)):0)?(o=k+i|0,o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24,t=p,f[t>>2]=m,f[t+4>>2]=n,(l|0)<=(o|0)):0){f[a+12>>2]=l;f[a+16>>2]=o;t=o+(1-l)|0;f[a+20>>2]=t;c=(t|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(t&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Ho(q);t=c;u=r;return t|0}function rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ie(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];ib(a,q,n);q=1;u=o;return q|0}function sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ie(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];gb(a,q,n);q=1;u=o;return q|0}function td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];ub(a,q,n);q=1;u=o;return q|0}function ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];tb(a,q,n);q=1;u=o;return q|0}function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ie(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];hb(a,q,n);q=1;u=o;return q|0}function wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ie(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];fb(a,q,n);q=1;u=o;return q|0}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];sb(a,q,n);q=1;u=o;return q|0}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=gm(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=gm(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=gm(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=gm(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ie(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];rb(a,q,n);q=1;u=o;return q|0}function zd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+16|0;k=m;if(!(Vb(a,c)|0)){a=0;u=m;return a|0}j=Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0;l=a+36|0;h=a+40|0;d=f[h>>2]|0;e=f[l>>2]|0;g=d-e>>2;if(j>>>0<=g>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(d|0)!=(i|0)):0)do{g=d+-4|0;f[h>>2]=g;d=f[g>>2]|0;f[g>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[h>>2]|0}while((d|0)!=(i|0))}else Ae(l,j-g|0);g=c+8|0;if((j|0)<=0){a=1;u=m;return a|0}i=c+16|0;h=0;while(1){n=g;o=f[n+4>>2]|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((o|0)>(e|0)|((o|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){d=0;e=19;break}o=b[(f[c>>2]|0)+d>>0]|0;d=gm(d|0,e|0,1,0)|0;n=i;f[n>>2]=d;f[n+4>>2]=I;Ta[f[(f[a>>2]|0)+48>>2]&15](k,a,o);o=(f[l>>2]|0)+(h<<2)|0;n=f[k>>2]|0;f[k>>2]=0;d=f[o>>2]|0;f[o>>2]=n;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[k>>2]|0;f[k>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[(f[l>>2]|0)+(h<<2)>>2]|0;if(!d){d=0;e=19;break}e=f[(f[d>>2]|0)+8>>2]|0;n=Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0;o=Wa[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;h=h+1|0;if(!(Na[e&31](d,n,o)|0)){d=0;e=19;break}if((h|0)>=(j|0)){d=1;e=19;break}}if((e|0)==19){u=m;return d|0}return 0}function Ad(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;h=l;c=a+40|0;d=c;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));if(Te(c,1,h)|0){d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;i=a+8|0;m=i;k=a+16|0;d=k;c=f[d>>2]|0;d=f[d+4>>2]|0;m=wl(f[m>>2]|0,f[m+4>>2]|0,c|0,d|0)|0;n=I;if(!(g>>>0>n>>>0|(g|0)==(n|0)&e>>>0>m>>>0)){m=gm(c|0,d|0,e|0,g|0)|0;n=k;f[n>>2]=m;f[n+4>>2]=I;do if((j[a+38>>1]|0)<514){c=a+96|0;d=c;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));if(Te(c,1,h)|0){d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;n=i;d=k;c=f[d>>2]|0;d=f[d+4>>2]|0;n=wl(f[n>>2]|0,f[n+4>>2]|0,c|0,d|0)|0;m=I;if(!(g>>>0>m>>>0|(g|0)==(m|0)&e>>>0>n>>>0)){m=gm(c|0,d|0,e|0,g|0)|0;n=k;f[n>>2]=m;f[n+4>>2]=I;break}}n=0;u=l;return n|0}else nd(a+80|0,a)|0;while(0);if(!(vg(a)|0)){n=0;u=l;return n|0}d=b;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));n=1;u=l;return n|0}}n=0;u=l;return n|0}function Bd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+144|0;i=n+136|0;m=n+32|0;l=n;e=f[(f[c+4>>2]|0)+44>>2]|0;h=Nk(124)|0;f[h+4>>2]=0;f[h>>2]=3136;f[h+12>>2]=3160;f[h+100>>2]=0;f[h+104>>2]=0;f[h+108>>2]=0;j=h+16|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[h+112>>2]=e;f[h+116>>2]=d;f[h+120>>2]=0;g=h;f[m+4>>2]=3160;f[m+92>>2]=0;f[m+96>>2]=0;f[m+100>>2]=0;j=m+8|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));k=f[c+8>>2]|0;f[l>>2]=3160;j=l+4|0;c=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=k;f[j>>2]=c;c=((f[c+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;ef(l+8|0,c,i);Pa[f[(f[l>>2]|0)+8>>2]&127](l);f[m>>2]=f[j>>2];Ce(m+4|0,l)|0;f[m+36>>2]=k;f[m+40>>2]=d;f[m+44>>2]=e;f[m+48>>2]=h;Ge(h,m);f[a>>2]=g;f[l>>2]=3160;e=f[l+20>>2]|0;if(e|0)Co(e);e=f[l+8>>2]|0;if(!e){yg(m);u=n;return}Co(e);yg(m);u=n;return}function Cd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Di((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else zg(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{g=a;f[r>>2]=d;h=g+(i*116|0)+108|0;e=f[h>>2]|0;if(e>>>0<(f[g+(i*116|0)+112>>2]|0)>>>0){f[e>>2]=d;f[h>>2]=e+4}else{zg(g+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Di((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else zg(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{e=a;f[r>>2]=d;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=d;f[h>>2]=g+4}else{zg(e+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Ed(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=La,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=La,y=La,z=La,A=La,B=0,C=0;w=u;u=u+32|0;t=w+16|0;v=w;h=$(n[e+4>>2]);if(!(h>=$(0.0)))Ga(5163,5183,66,5303);s=(1<>2])+-1|0;Ym(t);Bk(t,h,s)|0;e=f[c>>2]|0;if((e|0)==(f[d>>2]|0)){t=g;t=f[t>>2]|0;g=g+4|0;g=f[g>>2]|0;v=a;d=v;f[d>>2]=t;v=v+4|0;f[v>>2]=g;u=w;return}p=t+4|0;q=v+4|0;r=v+8|0;j=g+4|0;l=f[g>>2]|0;o=l+84|0;k=l+68|0;m=l+40|0;l=l+64|0;i=f[j>>2]|0;do{B=(f[e>>2]|0)-s|0;c=(B|0)<0;y=$((c?0-B|0:B)|0);h=$(n[p>>2]);y=$(h*y);x=$(-y);A=$(n[t>>2]);y=$(A*(c?x:y));c=(f[e+4>>2]|0)-s|0;B=(c|0)<0;x=$(h*$((B?0-c|0:c)|0));z=$(-x);x=$(A*(B?z:x));B=(f[e+8>>2]|0)-s|0;c=(B|0)<0;h=$(h*$((c?0-B|0:B)|0));z=$(-h);h=$(A*(c?z:h));n[v>>2]=y;n[q>>2]=x;n[r>>2]=h;c=i;i=i+1|0;f[j>>2]=i;if(!(b[o>>0]|0))c=f[(f[k>>2]|0)+(c<<2)>>2]|0;C=m;B=f[C>>2]|0;c=Mk(c|0,((c|0)<0)<<31>>31|0,B|0,f[C+4>>2]|0)|0;Xe((f[f[l>>2]>>2]|0)+c|0,v|0,B|0)|0;e=e+12|0}while((e|0)!=(f[d>>2]|0));B=g;g=B;g=f[g>>2]|0;B=B+4|0;B=f[B>>2]|0;C=a;v=C;f[v>>2]=g;C=C+4|0;f[C>>2]=B;u=w;return}function Fd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Nk(32)|0;_k(d);h=a+64|0;g=f[h>>2]|0;f[h>>2]=d;if(g){d=f[g>>2]|0;if(d|0){e=g+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(g);d=f[h>>2]|0}vi(a,d,0,0,0,0);d=a}else d=a;if(!(Tg(d,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))ee(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);i=f[c+88>>2]|0;if(!i){a=a+88|0;d=f[a>>2]|0;f[a>>2]=0;if(!d)return;e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d);return}l=Nk(40)|0;f[l>>2]=f[i>>2];e=l+8|0;g=i+8|0;f[e>>2]=0;j=l+12|0;f[j>>2]=0;d=l+16|0;f[d>>2]=0;c=i+12|0;h=(f[c>>2]|0)-(f[g>>2]|0)|0;if(h|0){if((h|0)<0)nn(e);k=Nk(h)|0;f[j>>2]=k;f[e>>2]=k;f[d>>2]=k+h;e=f[g>>2]|0;d=(f[c>>2]|0)-e|0;if((d|0)>0){Xe(k|0,e|0,d|0)|0;f[j>>2]=k+d}}g=l+24|0;k=i+24|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];a=a+88|0;g=f[a>>2]|0;f[a>>2]=l;if(!g)return;d=f[g+8>>2]|0;if(d|0){e=g+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(g);return}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;p=s+4|0;q=s;c=f[b>>2]|0;f[p>>2]=c;m=a+8|0;b=c+1|0;do if((c|0)>=0){f[p+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{f[p+4>>2]=c;b=c}while(0);f[p+8>>2]=b;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((c|0)>=0?(f[(f[(f[m>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)>=0:0){if((f[k>>2]|0)!=(f[l>>2]|0)){g=0;do{if(Di((f[j>>2]|0)+(g<<4)|0)|0){a=f[l>>2]|0;f[q>>2]=c;e=a+(g*116|0)+108|0;d=f[e>>2]|0;if(d>>>0<(f[a+(g*116|0)+112>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else zg(a+(g*116|0)+104|0,q)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else r=11;if((r|0)==11?(r=0,n=f[k>>2]|0,o=f[l>>2]|0,(n|0)!=(o|0)):0){a=o;d=n;i=0;do{e=a;f[q>>2]=c;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=c;f[h>>2]=g+4}else{zg(e+(i*116|0)+104|0,q);a=f[l>>2]|0;d=f[k>>2]|0}i=i+1|0}while(i>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[p+(b<<2)>>2]|0}u=s;return 1}function Id(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+32|0;n=t+20|0;m=t+16|0;s=t;r=c+24|0;k=b[r>>0]|0;o=k<<24>>24;l=f[a+80>>2]|0;h=X(l,o)|0;f[s>>2]=f[897];f[s+4>>2]=f[898];f[s+8>>2]=f[899];f[s+12>>2]=f[900];g=d+4|0;e=f[g>>2]|0;a=f[d>>2]|0;i=e-a>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(j=a+(h<<2)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-4-j|0)>>>2)<<2)}else lg(d,h-i|0);if((l|0)<=0){s=1;u=t;return s|0}i=c+84|0;h=c+68|0;if(k<<24>>24<=0){e=0;while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(e<<2)>>2]|0;else a=e;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(eb(c,n,k,s)|0)){a=0;e=18;break}e=e+1|0;if((e|0)>=(l|0)){a=1;e=18;break}}if((e|0)==18){u=t;return a|0}}else{p=0;q=0}while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(q<<2)>>2]|0;else a=q;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(eb(c,n,k,s)|0)){a=0;e=18;break}a=f[d>>2]|0;e=p;g=0;while(1){f[a+(e<<2)>>2]=f[s+(g<<2)>>2];g=g+1|0;if((g|0)==(o|0))break;else e=e+1|0}q=q+1|0;if((q|0)>=(l|0)){a=1;e=18;break}else p=o+p|0}if((e|0)==18){u=t;return a|0}return 0}function Jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;m=o+12|0;l=o;d=b*3|0;f[m>>2]=0;n=m+4|0;f[n>>2]=0;f[m+8>>2]=0;do if(d)if(d>>>0>1073741823){nn(m);o=Ia(4)|0;eo(o);ta(o|0,1112,100)}else{j=b*12|0;c=Nk(j)|0;f[m>>2]=c;k=c+(d<<2)|0;f[m+8>>2]=k;Yg(c|0,0,j|0)|0;f[n>>2]=k;break}else c=0;while(0);if(_g(d,1,f[a+32>>2]|0,c)|0)if(!b)a=1;else{h=a+44|0;i=l+4|0;j=l+8|0;e=0;g=0;k=0;while(1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;d=f[m>>2]|0;p=f[d+(k<<2)>>2]|0;c=p>>>1;c=((p&1|0)==0?c:0-c|0)+g|0;f[l>>2]=c;p=f[d+(k+1<<2)>>2]|0;a=p>>>1;c=((p&1|0)==0?a:0-a|0)+c|0;f[i>>2]=c;d=f[d+(k+2<<2)>>2]|0;a=d>>>1;g=((d&1|0)==0?a:0-a|0)+c|0;f[j>>2]=g;c=f[h>>2]|0;a=c+100|0;d=f[a>>2]|0;if((d|0)==(f[c+104>>2]|0))gg(c+96|0,l);else{f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];f[d+8>>2]=f[l+8>>2];f[a>>2]=(f[a>>2]|0)+12}e=e+1|0;if(e>>>0>=b>>>0){a=1;break}else k=k+3|0}}else a=0;c=f[m>>2]|0;if(!c){u=o;return a|0}d=f[n>>2]|0;if((d|0)!=(c|0))f[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c);u=o;return a|0}function Kd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Ga(17186,17202,59,17293);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Ga(17303,17202,60,17293);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Sa[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Sa[f[(f[b>>2]|0)+36>>2]&127](b)|0;k=Wa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Wa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+44>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;ac(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+44>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;$b(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;c=h;g=Nk(52)|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);d=g+20|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;n[g+36>>2]=$(1.0);f[g+40>>2]=0;f[g+44>>2]=0;f[g+48>>2]=0;d=g;$n(e);if(!(Ve(e,f[b+32>>2]|0,g)|0)){f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;Kh(c,16078,26);f[a>>2]=-1;cj(a+4|0,c);km(c);d=g+40|0;c=f[d>>2]|0;if(c|0){e=g+44|0;b=f[e>>2]|0;if((b|0)!=(c|0)){do{a=b+-4|0;f[e>>2]=a;b=f[a>>2]|0;f[a>>2]=0;if(b|0){Kg(b);Co(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}Co(c)}Kg(g);Co(g);u=h;return}e=(f[b+4>>2]|0)+4|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0){d=g+40|0;c=f[d>>2]|0;if(c|0){e=g+44|0;b=f[e>>2]|0;if((b|0)!=(c|0)){do{i=b+-4|0;f[e>>2]=i;b=f[i>>2]|0;f[i>>2]=0;if(b|0){Kg(b);Co(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}Co(c)}Kg(g);Co(g)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=h;return}function Md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{jf(j,m-l|0,3124);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)Ga(17469,17387,64,17464);else if((e|0)==12)Ga(14872,14891,89,14985);else if((e|0)==14)return d|0;return 0}function Nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;k=l;h=a+8|0;g=f[h>>2]|0;j=a+4|0;d=f[j>>2]|0;if(((g-d|0)/116|0)>>>0>=c>>>0){do{f[d>>2]=-1;Wj(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[j>>2]|0)+116|0;f[j>>2]=d;c=c+-1|0}while((c|0)!=0);u=l;return}e=f[a>>2]|0;i=((d-e|0)/116|0)+c|0;if(i>>>0>37025580){nn(a);e=f[a>>2]|0;g=f[h>>2]|0;d=f[j>>2]|0}j=(g-e|0)/116|0;g=j<<1;g=j>>>0<18512790?(g>>>0>>0?i:g):37025580;d=(d-e|0)/116|0;f[k+12>>2]=0;f[k+16>>2]=a+8;do if(g)if(g>>>0>37025580){l=Ia(4)|0;eo(l);ta(l|0,1112,100)}else{e=Nk(g*116|0)|0;break}else e=0;while(0);f[k>>2]=e;d=e+(d*116|0)|0;h=k+8|0;f[h>>2]=d;f[k+4>>2]=d;f[k+12>>2]=e+(g*116|0);do{f[d>>2]=-1;Wj(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[h>>2]|0)+116|0;f[h>>2]=d;c=c+-1|0}while((c|0)!=0);lc(a,k);sg(k);u=l;return}function Od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{jf(j,m-l|0,3124);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Ga(17469,17387,64,17464);else if((e|0)==12)Ga(14872,14891,89,14985);else if((e|0)==13)return d|0;return 0}function Pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(zc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Uc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<4194304){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>20)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Ac(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Vc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<2097152){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<2097152)}while(0);p=d&524287;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>19)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Bc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Wc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<1048576){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<1048576)}while(0);p=d&262143;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>18)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Cc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Xc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<262144){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<262144)}while(0);p=d&65535;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>16)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Dc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Yc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<131072){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<131072)}while(0);p=d&32767;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>15)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Ec(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Zc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<32768){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<32768)}while(0);p=d&8191;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>13)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Fc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=_c(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<16384){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>12)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Wd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{jf(j,m-l|0,3124);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Ga(17469,17387,64,17464);else if((e|0)==12)Ga(14872,14891,89,14985);else if((e|0)==13)return d|0;return 0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)Yj(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){nn(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){nn(a);c=Ia(4)|0;eo(c);ta(c|0,1112,100)}h=Nk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)Yj(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){nn(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){nn(a);c=Ia(4)|0;eo(c);ta(c|0,1112,100)}h=Nk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function Zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;l=r+20|0;k=r+16|0;q=r;p=c+24|0;e=b[p>>0]|0;m=e<<24>>24;h=f[a+80>>2]|0;j=X(h,m)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;Yd(d,0,0+(j<<2)|0);if((h|0)<=0){q=1;u=r;return q|0}j=c+84|0;i=c+68|0;if(e<<24>>24<=0){e=0;while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(e<<2)>>2]|0;else a=e;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(Bb(c,l,g,q)|0)){a=0;e=13;break}e=e+1|0;if((e|0)>=(h|0)){a=1;e=13;break}}if((e|0)==13){u=r;return a|0}}else{n=0;o=0}while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(o<<2)>>2]|0;else a=o;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(Bb(c,l,g,q)|0)){a=0;e=13;break}a=f[d>>2]|0;e=n;g=0;while(1){f[a+(e<<2)>>2]=f[q+(g<<2)>>2];g=g+1|0;if((g|0)==(m|0))break;else e=e+1|0}o=o+1|0;if((o|0)>=(h|0)){a=1;e=13;break}else n=m+n|0}if((e|0)==13){u=r;return a|0}return 0}function _d(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b[(f[a+8>>2]|0)+24>>0]|0;i=zo(d>>>0>1073741823?-1:d<<2)|0;j=a+28|0;c=f[j>>2]|0;f[j>>2]=i;if(c|0)Ao(c);i=a+4|0;g=f[(f[i>>2]|0)+32>>2]|0;d=d<<2;n=g+8|0;l=f[n>>2]|0;n=f[n+4>>2]|0;e=g+16|0;k=e;c=f[k>>2]|0;k=gm(c|0,f[k+4>>2]|0,d|0,0)|0;m=I;if((n|0)<(m|0)|(n|0)==(m|0)&l>>>0>>0){n=0;return n|0}Xe(f[j>>2]|0,(f[g>>2]|0)+c|0,d|0)|0;c=e;c=gm(f[c>>2]|0,f[c+4>>2]|0,d|0,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=(f[i>>2]|0)+32|0;c=f[e>>2]|0;k=c+8|0;m=f[k>>2]|0;k=f[k+4>>2]|0;g=c+16|0;n=g;d=f[n>>2]|0;n=gm(d|0,f[n+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&m>>>0>>0){n=0;return n|0}n=a+32|0;c=(f[c>>2]|0)+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[n>>0]=c;b[n+1>>0]=c>>8;b[n+2>>0]=c>>16;b[n+3>>0]=c>>24;n=g;n=gm(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;c=g;f[c>>2]=n;f[c+4>>2]=I;c=f[e>>2]|0;n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}c=b[(f[c>>2]|0)+d>>0]|0;m=gm(d|0,e|0,1,0)|0;n=g;f[n>>2]=m;f[n+4>>2]=I;if((c&255)>31){n=0;return n|0}f[a+24>>2]=c&255;n=1;return n|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;g=f[l>>2]|0;e=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Yg(g|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}c=f[a>>2]|0;h=((g-c|0)/12|0)+b|0;if(h>>>0>357913941){nn(a);g=f[l>>2]|0;c=f[a>>2]|0;e=g;d=f[m>>2]|0}k=c;d=(d-c|0)/12|0;i=d<<1;i=d>>>0<178956970?(i>>>0>>0?h:i):357913941;d=(g-c|0)/12|0;do if(i)if(i>>>0>357913941){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{h=Nk(i*12|0)|0;break}else h=0;while(0);g=h+(d*12|0)|0;d=g;j=h+(i*12|0)|0;Yg(g|0,0,b*12|0)|0;h=g+(b*12|0)|0;if((e|0)==(k|0))i=c;else{c=d;do{b=g+-12|0;i=e;e=e+-12|0;f[b>>2]=0;d=g+-8|0;f[d>>2]=0;f[g+-4>>2]=0;f[b>>2]=f[e>>2];b=i+-8|0;f[d>>2]=f[b>>2];i=i+-4|0;f[g+-4>>2]=f[i>>2];f[i>>2]=0;f[b>>2]=0;f[e>>2]=0;g=c+-12|0;c=g}while((e|0)!=(k|0));d=c;i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=j;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);Co(g)}}while((e|0)!=(h|0));if(!i)return;Co(i);return}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3112;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)nn(h);c=((c+-1|0)>>>5)+1|0;o=Nk(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];ue(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)nn(h);o=((c+-1|0)>>>5)+1|0;a=Nk(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];ue(h,k,m);u=n;return}function be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823){nn(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;j=d-e|0;d=j>>1;d=j>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(d>>>0>1073741823){nn(a);c=Ia(4)|0;eo(c);ta(c|0,1112,100)}h=Nk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function ce(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+636|0;b=f[g>>2]|0;if(b|0){h=a+640|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+624|0;b=f[g>>2]|0;if(b|0){h=a+628|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+612>>2]|0;if(b|0){d=a+616|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+600>>2]|0;if(!b){h=a+580|0;_i(h);h=a+560|0;_i(h);h=a+540|0;_i(h);h=a+524|0;Ho(h);a=a+12|0;Xg(a);return}d=a+604|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+580|0;_i(h);h=a+560|0;_i(h);h=a+540|0;_i(h);h=a+524|0;Ho(h);a=a+12|0;Xg(a);return}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3160;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)nn(h);c=((c+-1|0)>>>5)+1|0;o=Nk(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];ue(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)nn(h);o=((c+-1|0)>>>5)+1|0;a=Nk(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];ue(h,k,m);u=n;return}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[i>>2]|0}else c=0;l=d-c|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){nn(a);b=Ia(4)|0;eo(b);ta(b|0,1112,100)}e=Nk(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Xe(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Xe(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+16|0;n=o;k=d+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=d+16|0;e=l;g=f[e>>2]|0;e=f[e+4>>2]|0;if((k|0)>(e|0)|(k|0)==(e|0)&j>>>0>g>>>0){i=b[(f[d>>2]|0)+g>>0]|0;g=gm(g|0,e|0,1,0)|0;e=I;p=l;f[p>>2]=g;f[p+4>>2]=e;if(i<<24>>24!=-2)m=3}else{i=0;m=3}if((m|0)==3){if((k|0)>(e|0)|(k|0)==(e|0)&j>>>0>g>>>0){p=b[(f[d>>2]|0)+g>>0]|0;m=gm(g|0,e|0,1,0)|0;e=l;f[e>>2]=m;f[e+4>>2]=I;e=p}else e=0;Xa[f[(f[a>>2]|0)+40>>2]&7](n,a,i<<24>>24,e<<24>>24);p=a+20|0;m=f[n>>2]|0;f[n>>2]=0;e=f[p>>2]|0;f[p>>2]=m;if(e){Pa[f[(f[e>>2]|0)+4>>2]&127](e);e=f[n>>2]|0;f[n>>2]=0;if(e|0)Pa[f[(f[e>>2]|0)+4>>2]&127](e)}else f[n>>2]=0}e=f[a+20>>2]|0;if(e|0?!(Wa[f[(f[a>>2]|0)+28>>2]&127](a,e)|0):0){p=0;u=o;return p|0}if(!(Na[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){p=0;u=o;return p|0}e=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;p=f[a+4>>2]|0;if((p|0?((h[p+36>>0]|0)<<8&65535)<512:0)?!(Wa[f[(f[a>>2]|0)+48>>2]&127](a,e)|0):0){p=0;u=o;return p|0}p=1;u=o;return p|0}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;e=f[k>>2]|0;if(d-e>>2>>>0>=b>>>0){Yg(e|0,0,b<<2|0)|0;f[k>>2]=e+(b<<2);u=n;return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[l>>2]|0;e=f[k>>2]|0}i=d-c|0;j=i>>1;g=i>>2>>>0<536870911?(j>>>0>>0?g:j):1073741823;c=e-c>>2;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(g)if(g>>>0>1073741823){n=Ia(4)|0;eo(n);ta(n|0,1112,100)}else{d=Nk(g<<2)|0;break}else d=0;while(0);f[m>>2]=d;c=d+(c<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=c;j=m+12|0;f[j>>2]=d+(g<<2);Yg(c|0,0,b<<2|0)|0;f[i>>2]=c+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];Wf(m);u=n;return}function he(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function ie(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=f[a>>2]|0;p=a+4|0;c=f[p>>2]|0;l=m;d=c+(~((c+-4-l|0)>>>2)<<2)|0;if((c|0)==(m|0))d=m;else{f[p>>2]=d;c=d}s=a+16|0;f[s>>2]=0;t=a+12|0;f[t>>2]=d;k=b+8|0;d=k;n=f[d>>2]|0;d=f[d+4>>2]|0;r=b+16|0;g=r;i=f[g>>2]|0;g=gm(i|0,f[g+4>>2]|0,4,0)|0;e=I;if((d|0)<(e|0)|(d|0)==(e|0)&n>>>0>>0){a=0;return a|0}o=(f[b>>2]|0)+i|0;o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;j=r;f[j>>2]=g;f[j+4>>2]=e;if(!((o|0)!=0&(o&3|0)==0)){a=0;return a|0}j=wl(n|0,d|0,g|0,e|0)|0;i=I;if(0>(i|0)|0==(i|0)&o>>>0>j>>>0){a=0;return a|0}j=o>>>2;i=c-l>>2;if(j>>>0<=i>>>0)if(j>>>0>>0?(q=m+(j<<2)|0,(c|0)!=(q|0)):0){f[p>>2]=c+(~((c+-4-q|0)>>>2)<<2);c=n}else c=n;else{lg(a,j-i|0);c=k;e=r;g=f[e>>2]|0;e=f[e+4>>2]|0;d=f[c+4>>2]|0;c=f[c>>2]|0}q=gm(g|0,e|0,o|0,0)|0;p=I;if((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0){a=0;return a|0}Xe(f[a>>2]|0,(f[b>>2]|0)+g|0,o|0)|0;q=r;q=gm(f[q>>2]|0,f[q+4>>2]|0,o|0,0)|0;b=r;f[b>>2]=q;f[b+4>>2]=I;f[t>>2]=f[a>>2];f[s>>2]=0;a=1;return a|0}function je(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=La,f=La,g=0.0,h=La,i=La,j=0.0,k=0.0,l=0.0,m=0.0;if(!(b>=$(0.0)))Ga(9297,9150,191,9311);if(!(c>=$(0.0)))Ga(9340,9150,192,9311);if(!(b<=$(1.0)))Ga(9354,9150,193,9311);if(!(c<=$(1.0)))Ga(9368,9150,194,9311);f=$(b+c);e=$(b-c);if(!(e<=$(.5))|(!(e>=$(-.5))|(!(f>=$(.5))|!(f<=$(1.5))))){do if(!(f<=$(.5))){if(f>=$(1.5)){e=$($(1.5)-c);c=$($(1.5)-b);break}if(!(e<=$(-.5))){e=$(c+$(.5));c=$(b+$(-.5));break}else{e=$(c+$(-.5));c=$(b+$(.5));break}}else{e=$($(.5)-c);c=$($(.5)-b)}while(0);b=e;i=$(e-c);f=$(c+e);g=-1.0}else{i=e;g=1.0}h=$(+b*2.0+-1.0);b=$(+c*2.0+-1.0);l=+f*2.0;j=l+-1.0;l=3.0-l;m=+i*2.0;k=m+1.0;m=1.0-m;k=m>2]=$(0.0);h=$(0.0);i=$(0.0);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}else{i=$($(1.0)/$(L($(e))));f=$(c*i);n[d>>2]=f;h=$(h*i);i=$(b*i);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+80|0;l=m;j=m+60|0;k=m+40|0;g=l;h=d;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));bc(a,l,j);if(f[a>>2]|0){l=l+24|0;Ho(l);u=m;return}h=a+4|0;km(h);if(b[j+7>>0]|0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,14692,27);f[a>>2]=-1;cj(h,k);km(k);l=l+24|0;Ho(l);u=m;return}mf(k,b[j+8>>0]|0);g=f[k>>2]|0;if(!g){j=k+16|0;g=f[j>>2]|0;f[j>>2]=0;sc(a,g,c,d,e);if(!(f[a>>2]|0)){km(h);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;cj(h,k+4|0)}c=k+16|0;g=f[c>>2]|0;f[c>>2]=0;if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&127](g);km(k+4|0);l=l+24|0;Ho(l);u=m;return}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+80|0;l=m;j=m+60|0;k=m+40|0;g=l;h=d;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));bc(a,l,j);if(f[a>>2]|0){l=l+24|0;Ho(l);u=m;return}h=a+4|0;km(h);if((b[j+7>>0]|0)!=1){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kh(k,14671,20);f[a>>2]=-1;cj(h,k);km(k);l=l+24|0;Ho(l);u=m;return}hg(k,b[j+8>>0]|0);g=f[k>>2]|0;if(!g){j=k+16|0;g=f[j>>2]|0;f[j>>2]=0;Sj(a,g,c,d,e);if(!(f[a>>2]|0)){km(h);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;cj(h,k+4|0)}c=k+16|0;g=f[c>>2]|0;f[c>>2]=0;if(g|0)Pa[f[(f[g>>2]|0)+4>>2]&127](g);km(k+4|0);l=l+24|0;Ho(l);u=m;return}function me(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+116|0;b=f[g>>2]|0;if(b|0){h=a+120|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;_i(h);h=a+52|0;_i(h);h=a+32|0;_i(h);a=a+12|0;_i(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+72|0;_i(h);h=a+52|0;_i(h);h=a+32|0;_i(h);a=a+12|0;_i(a);return}function ne(a,c){a=a|0;c=c|0;var d=0,e=La,g=La,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=La,x=La,y=0,z=0;v=u;u=u+16|0;p=v;q=f[a+24>>2]|0;r=a+8|0;d=b[(f[r>>2]|0)+24>>0]|0;o=d<<24>>24;s=o<<2;t=zo(o>>>0>1073741823?-1:o<<2)|0;Ym(p);if(!(Bk(p,$(n[a+32>>2]),(1<>2]|0;m=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;if(!c){c=1;Ao(t);u=v;return c|0}q=p+4|0;l=a+28|0;if(d<<24>>24>0){h=0;i=0;j=0}else{a=0;d=0;while(1){Xe((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+d|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(c|0)){a=1;break}else d=d+s|0}Ao(t);u=v;return a|0}while(1){a=f[l>>2]|0;e=$(n[q>>2]);g=$(n[p>>2]);d=0;k=j;while(1){z=f[m+(k<<2)>>2]|0;y=(z|0)<0;w=$(e*$((y?0-z|0:z)|0));x=$(-w);w=$(g*(y?x:w));w=$($(n[a+(d<<2)>>2])+w);n[t+(d<<2)>>2]=w;d=d+1|0;if((d|0)==(o|0))break;else k=k+1|0}Xe((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+i|0,t|0,s|0)|0;h=h+1|0;if((h|0)==(c|0)){a=1;break}else{i=i+s|0;j=o+j|0}}Ao(t);u=v;return a|0}function oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=f[b>>2]|0;l=f[k>>2]|0;e=f[a+4>>2]|0;b=f[k+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(i)g=h&b;else g=(b>>>0)%(e>>>0)|0;c=(f[a>>2]|0)+(g<<2)|0;j=f[c>>2]|0;while(1){b=f[j>>2]|0;if((b|0)==(k|0))break;else j=b}if((j|0)!=(a+8|0)){b=f[j+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;d=18}else d=11}else d=11;do if((d|0)==11){if(l|0){b=f[l+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;b=l;d=19;break}}f[c>>2]=0;c=f[k>>2]|0;d=18}while(0);if((d|0)==18){b=c;if(c)d=19}if((d|0)==19){c=f[c+4>>2]|0;if(i)c=c&h;else c=(c>>>0)%(e>>>0)|0;if((c|0)!=(g|0)){f[(f[a>>2]|0)+(c<<2)>>2]=j;b=f[k>>2]|0}}f[j>>2]=b;f[k>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!k)return l|0;b=f[k+20>>2]|0;if(b|0){c=k+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}km(k+8|0);Co(k);return l|0}function pe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;c=f[d>>2]|0;b=f[g>>2]|0;i=c-b>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=b+(h<<2)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2)}else jf(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];Gb(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];Gb(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function qe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+124|0;b=f[g>>2]|0;if(b|0){h=a+128|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+112|0;b=f[g>>2]|0;if(b|0){h=a+116|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+100>>2]|0;if(b|0){d=a+104|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+88>>2]|0;if(!b){h=a+68|0;_i(h);h=a+48|0;_i(h);h=a+28|0;_i(h);a=a+12|0;Ho(a);return}d=a+92|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+68|0;_i(h);h=a+48|0;_i(h);h=a+28|0;_i(h);a=a+12|0;Ho(a);return}function re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+112|0;h=k+96|0;j=k+16|0;i=k+4|0;g=k;c=j+76|0;d=j;e=d+76|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=-1073741824;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;f[g>>2]=i;f[h>>2]=f[g>>2];if(uc(j,a,h)|0){g=f[i>>2]|0;Yd(b,g,g+((f[e>>2]|0)-g>>2<<2)|0);g=f[j+68>>2]|0}else g=0;c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+56>>2]|0;if(c|0)Co(c);c=f[j+32>>2]|0;if(c|0){e=j+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+20>>2]|0;if(c|0){e=j+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+8>>2]|0;if(c|0){e=j+12|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}j=j+4|0;c=f[j>>2]|0;f[j>>2]=0;if(!c){u=k;return g|0}nh(c);Co(c);u=k;return g|0}function se(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Bi(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Bi(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Bi(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)Yj(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Xe(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);Co(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[h>>2]|0}else c=0;m=d-c|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){nn(a);b=Ia(4)|0;eo(b);ta(b|0,1112,100)}e=Nk(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Xe(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function ue(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];Oc(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=c>>>5;Yj(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function ve(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;s=v;e=f[a+40>>2]|0;j=f[a+44>>2]|0;if((e|0)==(j|0)){t=0;u=v;return t|0}k=s+11|0;m=s+4|0;l=d+11|0;n=d+4|0;a=e;a:while(1){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;do if(Zg(f[a>>2]|0,c,s)|0?(p=b[k>>0]|0,q=p<<24>>24<0,p=p&255,o=q?f[m>>2]|0:p,i=b[l>>0]|0,r=i<<24>>24<0,(o|0)==((r?f[n>>2]|0:i&255)|0)):0){g=f[s>>2]|0;i=q?g:s;e=r?f[d>>2]|0:d;h=(o|0)==0;if(q){if(h)break a;if(!(hj(i,e,o)|0))break a;else break}if(h)break a;if((g&255)<<24>>24==(b[e>>0]|0)){g=p;h=s;do{g=g+-1|0;h=h+1|0;if(!g)break a;e=e+1|0}while((b[h>>0]|0)==(b[e>>0]|0))}}while(0);km(s);a=a+4|0;if((a|0)==(j|0)){a=0;t=14;break}}if((t|0)==14){u=v;return a|0}t=f[a>>2]|0;km(s);u=v;return t|0}function we(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=c+8|0;m=f[n>>2]|0;n=f[n+4>>2]|0;q=c+16|0;o=q;p=f[o>>2]|0;o=f[o+4>>2]|0;e=gm(p|0,o|0,4,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0>>0){a=0;return a|0}l=f[c>>2]|0;g=l+p|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=q;f[i>>2]=e;f[i+4>>2]=d;i=gm(p|0,o|0,8,0)|0;k=I;if((n|0)<(k|0)|(n|0)==(k|0)&m>>>0>>0){a=0;return a|0}d=l+e|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;e=q;f[e>>2]=i;f[e+4>>2]=k;if((g|0)>(d|0)){a=0;return a|0}f[a+12>>2]=g;f[a+16>>2]=d;g=d+(1-g)|0;f[a+20>>2]=g;d=(g|0)/2|0;e=a+24|0;f[e>>2]=d;f[a+28>>2]=0-d;if(!(g&1))f[e>>2]=d+-1;do if((j[c+38>>1]|0)<514){if(!((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>i>>>0)){a=0;return a|0}d=b[l+i>>0]|0;p=gm(p|0,o|0,9,0)|0;f[q>>2]=p;f[q+4>>2]=I;if((d&255)<2){f[a+88>>2]=d&255;break}else{a=0;return a|0}}while(0);a=nd(a+108|0,c)|0;return a|0}function xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)Ga(16616,16628,110,16720);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))Cf(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){zg(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(b);u=j;return}function ye(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+12|0;l=f[k>>2]|0;g=(f[c>>2]|0)-l|0;i=c+4|0;e=(f[i>>2]|0)-l|0;j=c;f[j>>2]=g;f[j+4>>2]=e;j=f[k>>2]|0;if((j|0)<(g|0))Ga(9849,9150,250,9872);if((j|0)<(e|0))Ga(9884,9150,251,9872);h=0-j|0;if((g|0)<(h|0))Ga(9907,9150,252,9872);if((e|0)<(h|0))Ga(9931,9150,253,9872);if((((e|0)>-1?e:0-e|0)+((g|0)>-1?g:0-g|0)|0)>(j|0)){Pf(b,c,i);g=f[c>>2]|0;e=f[i>>2]|0;h=f[k>>2]|0;i=0}else{h=j;i=1}c=(f[d>>2]|0)+g|0;f[a>>2]=c;e=(f[d+4>>2]|0)+e|0;g=a+4|0;f[g>>2]=e;if((h|0)>=(c|0)){if((c|0)<(0-h|0))c=(f[b+4>>2]|0)+c|0}else c=c-(f[b+4>>2]|0)|0;f[a>>2]=c;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[g>>2]=e;if(i){d=c;b=e;d=d+l|0;l=b+l|0;b=a;a=b;f[a>>2]=d;b=b+4|0;f[b>>2]=l;return}Pf(b,a,g);d=f[a>>2]|0;b=f[g>>2]|0;d=d+l|0;l=b+l|0;b=a;a=b;f[a>>2]=d;b=b+4|0;f[b>>2]=l;return}function ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;Co(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0){nn(a);e=f[i>>2]|0;g=f[a>>2]|0}else g=0;k=e-g|0;g=k<<1;g=k>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)nn(a);e=Nk(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)Yj(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;e=f[n>>2]|0;m=a+4|0;d=f[m>>2]|0;if(e-d>>2>>>0>=b>>>0){Yg(d|0,0,b<<2|0)|0;f[m>>2]=d+(b<<2);return}c=f[a>>2]|0;h=(d-c>>2)+b|0;if(h>>>0>1073741823){nn(a);g=f[a>>2]|0;d=f[m>>2]|0;e=f[n>>2]|0}else g=c;c=d;l=g;k=e-g|0;j=k>>1;h=k>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;j=d-g>>2;do if(h)if(h>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{i=Nk(h<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;Yg(e|0,0,b<<2|0)|0;d=e;k=i+(h<<2)|0;h=i+(j+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));g=f[a>>2]|0;c=f[m>>2]|0}f[a>>2]=d;f[m>>2]=h;f[n>>2]=k;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Pa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;Co(g);return}function Be(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+32>>2]|0;h=c+8|0;j=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}h=b[(f[c>>2]|0)+e>>0]|0;c=gm(e|0,d|0,1,0)|0;e=g;f[e>>2]=c;f[e+4>>2]=I;e=a+48|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);switch(h<<24>>24){case 0:{c=Nk(392)|0;Qh(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}case 1:{c=Nk(432)|0;ah(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}case 2:{c=Nk(448)|0;Dg(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Pa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}default:i=11}if((i|0)==11){c=f[e>>2]|0;if(!c){j=0;return j|0}}j=Wa[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;return j|0}function Ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;f[a+4>>2]=f[b+4>>2];g=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;h=b+12|0;c=f[h>>2]|0;if(!c)c=0;else{e=a+16|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[g>>2]|0;if(d){Co(d);f[g>>2]=0;f[e>>2]=0;f[a+12>>2]=0;c=f[h>>2]|0}if((c|0)<0)nn(g);d=((c+-1|0)>>>5)+1|0;c=Nk(d<<2)|0;f[g>>2]=c;f[a+12>>2]=0;f[e>>2]=d;d=f[h>>2]|0}else{d=c;c=f[g>>2]|0}Yj(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[h>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){Co(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)nn(h);d=((c+-1|0)>>>5)+1|0;c=Nk(d<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[e>>2]=d;d=f[g>>2]|0}else{d=c;c=f[h>>2]|0}Yj(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((g-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;h=((d-e|0)/12|0)+b|0;if(h>>>0>357913941){nn(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=(g-e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0>>0?h:g):357913941;d=(d-e|0)/12|0;do if(g)if(g>>>0>357913941){k=Ia(4)|0;eo(k);ta(k|0,1112,100)}else{e=Nk(g*12|0)|0;break}else e=0;while(0);i=e+(d*12|0)|0;h=e+(g*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Xe(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;Co(d);return}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+20|0;if(rc(a,b)|0){e=0;return e|0}d=Tb(a,b)|0;b=f[c>>2]|0;f[c>>2]=0;e=f[d>>2]|0;f[d>>2]=b;if(!e){e=1;return e|0}a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;dg(d+8|0);Co(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Co(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}km(d+8|0);Co(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Co(a);Co(e);e=1;return e|0}function Fe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;c=Nk(64)|0;j=Nk(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=3380;f[j+8>>2]=h;f[k>>2]=j;gj(c,k);j=c;if((b|0)>=0){h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Ae(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c)a=1;else{Pa[f[(f[c>>2]|0)+4>>2]&127](c);a=1}}else{Pa[f[(f[c>>2]|0)+4>>2]&127](c);a=0}c=f[k>>2]|0;f[k>>2]=0;if(!c){u=l;return a|0}Pa[f[(f[c>>2]|0)+4>>2]&127](c);u=l;return a|0}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Ce(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{ee(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);ee(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);ee(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];te(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function He(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+80|0;g=j;i=j+64|0;wj(g);e=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Jj(5)|0,d)|0;rh(g,e,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=Nk(96)|0;nj(h,g);b[h+84>>0]=1;d=f[h+68>>2]|0;g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);jh(h,c)|0;f[i>>2]=h;Ng(a,i);h=f[i>>2]|0;f[i>>2]=0;if(!h){u=j;return}i=h+88|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}i=h+64|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(h);u=j;return}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3572;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}Zf(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Kg(c);Co(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b)}Kg(e);Co(e);return}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)Ga(17362,17387,63,17464);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))Ga(17469,17387,64,17464);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))zg(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){zg(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Ke(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;d=fj(c,0)|0;if(!d){f[a>>2]=0;u=n;return}l=c+96|0;e=c+100|0;wh(m,((f[e>>2]|0)-(f[l>>2]|0)|0)/12|0);c=f[l>>2]|0;e=(f[e>>2]|0)-c|0;if((e|0)>0){l=d+68|0;k=f[m>>2]|0;j=(b[d+84>>0]|0)==0;i=(e|0)/12|0;h=0;do{d=c+(h*12|0)|0;if(j){o=f[l>>2]|0;e=o+(f[c+(h*12|0)+8>>2]<<2)|0;g=o+(f[c+(h*12|0)+4>>2]<<2)|0;d=o+(f[d>>2]<<2)|0}else{e=c+(h*12|0)+8|0;g=c+(h*12|0)+4|0}g=f[g>>2]|0;o=f[e>>2]|0;f[k+(h*12|0)>>2]=f[d>>2];f[k+(h*12|0)+4>>2]=g;f[k+(h*12|0)+8>>2]=o;h=h+1|0}while((h|0)<(i|0))}hi(a,m);e=f[m>>2]|0;if(e|0){d=m+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0);Co(e)}u=n;return}function Le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;fd(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=c>>>5;Yj(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{e=Nk(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){Kg(d);Co(d)}}while((c|0)!=(e|0));if(!g)return;Co(g);return}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;xe(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){nf(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Oe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=a+4|0;e=f[a>>2]|0;if(!e){f[c>>2]=a;n=a;return n|0}l=b[d+11>>0]|0;k=l<<24>>24<0;l=k?f[d+4>>2]|0:l&255;k=k?f[d>>2]|0:d;while(1){g=e+16|0;d=b[g+11>>0]|0;i=d<<24>>24<0;d=i?f[e+20>>2]|0:d&255;h=d>>>0>>0;a=h?d:l;if((a|0)!=0?(n=hj(k,i?f[g>>2]|0:g,a)|0,(n|0)!=0):0)if((n|0)<0)j=7;else j=9;else if(l>>>0>>0)j=7;else j=9;if((j|0)==7){a=f[e>>2]|0;if(!a){j=8;break}}else if((j|0)==9){j=0;a=l>>>0>>0?l:d;if((a|0)!=0?(m=hj(i?f[g>>2]|0:g,k,a)|0,(m|0)!=0):0){if((m|0)>=0){j=16;break}}else j=11;if((j|0)==11?(0,!h):0){j=16;break}d=e+4|0;a=f[d>>2]|0;if(!a){j=15;break}}e=a}if((j|0)==8){f[c>>2]=e;n=e;return n|0}else if((j|0)==15){f[c>>2]=e;n=d;return n|0}else if((j|0)==16){f[c>>2]=e;n=c;return n|0}return 0}function Pe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=f[c>>2]|0;h=f[a>>2]|0;j=h+(e>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(e&31);j=f[a+64>>2]|0;g=(e|0)<0;c=e+1|0;if(!g?(d=((c|0)%3|0|0)==0?e+-2|0:c,(d|0)>=0):0)c=f[(f[j>>2]|0)+(d<<2)>>2]|0;else c=-1073741824;i=a+12|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g){j=(f[i>>2]|0)+402653184|0;f[j>>2]=f[j>>2]|1;return}c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g)return;d=f[(f[j+12>>2]|0)+(e<<2)>>2]|0;if((d|0)<=-1)return;b[a+24>>0]=0;c=h+(d>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(d&31);c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;a=(f[i>>2]|0)+(c>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;j=(f[i>>2]|0)+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);return}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{Yj(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ia(4)|0;eo(b);ta(b|0,1112,100)}h=Nk(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{Co(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i+4|0;h=i;b=f[b>>2]|0;if((b|0)<0){a=-1073741824;u=i;return a|0}d=a+4|0;c=f[d>>2]|0;e=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((e|0)<0){a=-1073741824;u=i;return a|0}k=b+1|0;f[h>>2]=((k|0)%3|0|0)==0?b+-2|0:k;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=qi(g,c,k)|0;f[h>>2]=(((e>>>0)%3|0|0)==0?2:-1)+e;j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];if((k|0)!=(qi(g,j,c)|0)){k=-1073741824;u=i;return k|0}f[h>>2]=b+(((b>>>0)%3|0|0)==0?2:-1);j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];c=qi(g,j,c)|0;j=e+1|0;f[h>>2]=((j|0)%3|0|0)==0?e+-2|0:j;j=f[d>>2]|0;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=(c|0)!=(qi(g,j,k)|0);k=k?-1073741824:e;u=i;return k|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{Yj(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ia(4)|0;eo(b);ta(b|0,1112,100)}h=Nk(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){Co(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function Te(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0;do if(c){if((j[a+38>>1]|0)>=514){if(Pg(d,a)|0)break;else c=0;return c|0}l=a+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;e=a+16|0;g=e;c=f[g>>2]|0;g=gm(c|0,f[g+4>>2]|0,8,0)|0;k=I;if((l|0)<(k|0)|(l|0)==(k|0)&i>>>0>>0){l=0;return l|0}else{l=(f[a>>2]|0)+c|0;g=l;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;l=l+4|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;k=d;i=k;b[i>>0]=g;b[i+1>>0]=g>>8;b[i+2>>0]=g>>16;b[i+3>>0]=g>>24;k=k+4|0;b[k>>0]=l;b[k+1>>0]=l>>8;b[k+2>>0]=l>>16;b[k+3>>0]=l>>24;k=e;k=gm(f[k>>2]|0,f[k+4>>2]|0,8,0)|0;l=e;f[l>>2]=k;f[l+4>>2]=I;break}}while(0);b[a+36>>0]=1;l=a+16|0;i=f[l>>2]|0;k=(f[a>>2]|0)+i|0;g=a+8|0;l=wl(f[g>>2]|0,f[g+4>>2]|0,i|0,f[l+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=k;f[a+28>>2]=k+l;l=1;return l|0}function Ue(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+4|0;l=n;g=c+4|0;e=f[g>>2]|0;if(!e)Ga(10505,10748,70,10912);h=c+8|0;if(!(f[h>>2]|0))Ga(10505,10748,70,10912);i=f[(f[(f[c+16>>2]|0)+28>>2]|0)+(f[d>>2]<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=i>>>0){mn(d);c=f[d>>2]|0;d=f[g>>2]|0;if(!d)Ga(10505,10748,62,10933);else{k=d;j=c}}else{k=e;j=c}d=f[h>>2]|0;if(!d)Ga(10505,10748,62,10933);d=f[d+(f[j+(i<<2)>>2]<<2)>>2]|0;if(!(b[k+84>>0]|0))d=f[(f[k+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[l>>2]=d;j=b[k+24>>0]|0;f[m>>2]=f[l>>2];wb(k,m,j,a)|0;u=n;return}function Ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+8|0;g=j+4|0;e=j;if(!c){i=0;u=j;return i|0}f[a>>2]=b;f[h>>2]=0;sh(h,b)|0;a:do if(!(f[h>>2]|0))i=8;else{d=0;while(1){sh(g,f[a>>2]|0)|0;b=Nk(44)|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[b+16>>2]=$(1.0);k=b+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[b+36>>2]=$(1.0);f[b+40>>2]=f[g>>2];if(!(xc(a,b)|0))break;f[e>>2]=b;Wh(c,e)|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){Kg(b);Co(b)}d=d+1|0;if(d>>>0>=(f[h>>2]|0)>>>0){i=8;break a}}Kg(b);Co(b);b=0}while(0);if((i|0)==8)b=xc(a,c)|0;k=b;u=j;return k|0}function We(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=hj(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=hj(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ba(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}g=a+184|0;b=f[g>>2]|0;if(b|0){h=a+188|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}h=a+136|0;c=f[h>>2]|0;f[h>>2]=0;if(!c){h=a+120|0;Ho(h);h=a+80|0;Ho(h);h=a+64|0;Ho(h);a=a+24|0;Ho(a);return}d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d);h=a+120|0;Ho(h);h=a+80|0;Ho(h);h=a+64|0;Ho(h);a=a+24|0;Ho(a);return}function Ze(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];Ob(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];Ob(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function _e(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Ga(17186,17202,59,17293);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(17303,17202,60,17293);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Kd(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Nk(44)|0;f[b>>2]=1504;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];Ah(b+32|0,e+24|0);f[b>>2]=1560;g=b}f[a>>2]=g;return}function $e(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=c+4|0;e=f[g>>2]|0;if(!e)Ga(10505,10748,70,10912);i=c+8|0;if(!(f[i>>2]|0))Ga(10505,10748,70,10912);d=f[d>>2]|0;if((d|0)<0)h=-1073741824;else h=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;c=f[c+20>>2]|0;d=f[c>>2]|0;if((f[c+4>>2]|0)-d>>2>>>0<=h>>>0){mn(c);e=f[g>>2]|0;d=f[c>>2]|0}c=f[d+(h<<2)>>2]|0;if(!e)Ga(10505,10748,62,10933);d=f[i>>2]|0;if(!d)Ga(10505,10748,62,10933);d=f[d+(c<<2)>>2]|0;if(!(b[e+84>>0]|0))d=f[(f[e+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[j>>2]=d;i=b[e+24>>0]|0;f[k>>2]=f[j>>2];wb(e,k,i,a)|0;u=l;return}function af(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+60|0;c=f[i>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+48;if(!(Sa[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}g=Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((g|0)>0){h=0;while(1){c=(Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;c=f[c>>2]|0;e=Wa[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;if((e|0)<=-1){d=7;break}d=f[c+8>>2]|0;if(((f[c+12>>2]|0)-d>>2|0)<=(e|0)){d=9;break}c=f[i>>2]|0;h=h+1|0;if(!(Wa[f[(f[c>>2]|0)+8>>2]&127](c,f[d+(e<<2)>>2]|0)|0)){c=0;d=14;break}if((h|0)>=(g|0))break a}if((d|0)==7)Ga(17186,17202,67,17293);else if((d|0)==9)Ga(17303,17202,68,17293);else if((d|0)==14)return c|0}while(0);if(!(Wa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Wa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Sa[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=rm(za(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=rm(za(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function cf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0;d=a+172|0;c=f[d>>2]|0;do if((c|0)==-1){j=f[a+144>>2]|0;j=Sa[f[(f[j>>2]|0)+32>>2]&127](j)|0;if(((h[j+36>>0]<<8|h[j+37>>0])&65535)<514)if(b[a+76>>0]|0){j=a+72|0;d=f[j>>2]|0;g=f[a+64>>2]|0;i=f[a+68>>2]|0;c=g+(d>>>3)|0;if(c>>>0>>0?(c=h[c>>0]|0,e=d+1|0,f[j>>2]=e,(c&1<<(d&7)|0)!=0):0){c=g+(e>>>3)|0;if(c>>>0>>0){e=(h[c>>0]|0)>>>(e&7)&1;d=d+2|0;f[j>>2]=d}else{d=e;e=0}c=g+(d>>>3)|0;if(c>>>0>>0){c=(h[c>>0]|0)>>>(d&7);f[j>>2]=d+1;c=c<<1&2}else c=0;c=(c|e)<<1|1}else c=0}else c=1;else c=7}else{i=(f[a+196>>2]|0)+(c<<2)|0;j=f[i>>2]|0;c=j+-1|0;f[i>>2]=c;if((j|0)<1){a=9;return a|0}else{c=f[3292+(f[(f[(f[a+184>>2]|0)+((f[d>>2]|0)*12|0)>>2]|0)+(c<<2)>>2]<<2)>>2]|0;break}}while(0);f[a+168>>2]=c;a=c;return a|0}function df(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];Pb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];Pb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l;i=a+4|0;f[i>>2]=0;if(!c){u=l;return}h=a+8|0;e=f[h>>2]|0;if(e<<5>>>0>>0){f[k>>2]=0;j=k+4|0;f[j>>2]=0;g=k+8|0;f[g>>2]=0;if((c|0)<0){nn(a);e=f[h>>2]|0}m=e<<6;n=c+31&-32;ig(k,e<<5>>>0<1073741823?(m>>>0>>0?n:m):2147483647);e=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=e;k=f[i>>2]|0;f[i>>2]=c;f[j>>2]=k;k=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=k;if(e|0)Co(e)}else f[i>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){Yg(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=l;return}else{Yg(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=l;return}}function ff(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function gf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;c=f[k>>2]|0;l=a+16|0;if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}d=f[l>>2]|0;if(!d){l=f[l>>2]|0;return l|0}a=d+84|0;if(!(b[a>>0]|0)){l=f[l>>2]|0;return l|0}i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>2;b[a>>0]=0;h=d+68|0;e=d+72|0;d=f[e>>2]|0;a=f[h>>2]|0;g=d-a>>2;if(i>>>0<=g>>>0){if(i>>>0>>0?(j=a+(i<<2)|0,(d|0)!=(j|0)):0)f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2)}else{jf(h,i-g|0,1372);c=f[k>>2]|0}if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}k=f[c+68>>2]|0;g=k;k=(f[c+72>>2]|0)-k|0;d=k>>2;if((k|0)<=0){l=f[l>>2]|0;return l|0}c=f[l>>2]|0;e=(b[c+84>>0]|0)==0;c=c+68|0;a=0;while(1){if(!e){c=14;break}f[(f[c>>2]|0)+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0;if((a|0)>=(d|0)){c=15;break}}if((c|0)==14)Ga(14872,14891,89,14985);else if((c|0)==15){l=f[l>>2]|0;return l|0}return 0}function hf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(Zm(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Zm(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Oa[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Va[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else ok(0,c,d,e);while(0);return}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=f[k>>2]|0;l=a+4|0;h=f[l>>2]|0;g=h;if(e-h>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[l>>2]=g+(b<<2);return}d=f[a>>2]|0;g=(h-d>>2)+b|0;if(g>>>0>1073741823){nn(a);d=f[a>>2]|0;e=f[k>>2]|0;j=f[l>>2]|0}else j=h;i=e-d|0;e=i>>1;g=i>>2>>>0<536870911?(e>>>0>>0?g:e):1073741823;e=j-d>>2;do if(g)if(g>>>0>1073741823){b=Ia(4)|0;eo(b);ta(b|0,1112,100)}else{h=Nk(g<<2)|0;break}else h=0;while(0);i=h+(e<<2)|0;h=h+(g<<2)|0;e=i;g=b;while(1){f[e>>2]=f[c>>2];g=g+-1|0;if(!g)break;else e=e+4|0}g=j-d|0;e=i+(0-(g>>2)<<2)|0;if((g|0)>0)Xe(e|0,d|0,g|0)|0;f[a>>2]=e;f[l>>2]=i+(b<<2);f[k>>2]=h;if(!d)return;Co(d);return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;e=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(e-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=f[a>>2]|0;g=(c-d>>3)+b|0;if(g>>>0>536870911){nn(a);d=f[a>>2]|0;e=f[i>>2]|0;c=f[j>>2]|0}h=e-d|0;e=h>>2;e=h>>3>>>0<268435455?(e>>>0>>0?g:e):536870911;c=c-d>>3;do if(e)if(e>>>0>536870911){j=Ia(4)|0;eo(j);ta(j|0,1112,100)}else{d=Nk(e<<3)|0;break}else d=0;while(0);h=d+(c<<3)|0;g=d+(e<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Xe(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;Co(c);return}function lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+8|0;g=h+4|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=oc(a,e,g,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=Nk(40)|0;cj(e+16|0,d);cj(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}pd(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+16|0;d=e;switch(b<<24>>24){case 0:{b=Nk(44)|0;c=b;d=c+44|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Xj(b);f[b>>2]=3492;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=b;u=e;return}case 1:{b=Nk(44)|0;c=b;d=c+44|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Xj(b);f[b>>2]=3448;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=b;u=e;return}default:{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kh(d,14642,28);f[c>>2]=-1;b=c+4|0;cj(b,d);f[a>>2]=f[c>>2];cj(a+4|0,b);f[a+16>>2]=0;km(b);km(d);u=e;return}}}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;d=f[j>>2]|0;k=a+4|0;g=f[k>>2]|0;e=g;if(d-g>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[k>>2]=e+(b<<2);return}c=f[a>>2]|0;e=(g-c>>2)+b|0;if(e>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[j>>2]|0;i=f[k>>2]|0}else i=g;h=d-c|0;d=h>>1;e=h>>2>>>0<536870911?(d>>>0>>0?e:d):1073741823;d=i-c>>2;do if(e)if(e>>>0>1073741823){b=Ia(4)|0;eo(b);ta(b|0,1112,100)}else{g=Nk(e<<2)|0;break}else g=0;while(0);h=g+(d<<2)|0;g=g+(e<<2)|0;d=h;e=b;while(1){f[d>>2]=1;e=e+-1|0;if(!e)break;else d=d+4|0}e=i-c|0;d=h+(0-(e>>2)<<2)|0;if((e|0)>0)Xe(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=h+(b<<2);f[j>>2]=g;if(!c)return;Co(c);return}function of(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Ga(17186,17202,59,17293);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(17303,17202,60,17293);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Sc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Nk(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=2404;g=b}f[a>>2]=g;return}function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;c=f[m>>2]|0;d=f[a>>2]|0;g=((c-d|0)/12|0)+1|0;if(g>>>0>357913941){nn(a);c=f[m>>2]|0;d=f[a>>2]|0}k=d;e=c;l=a+8|0;j=((f[l>>2]|0)-d|0)/12|0;i=j<<1;g=j>>>0<178956970?(i>>>0>>0?g:i):357913941;i=(c-d|0)/12|0;do if(g)if(g>>>0>357913941){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{h=Nk(g*12|0)|0;break}else h=0;while(0);c=h+(i*12|0)|0;j=h+(g*12|0)|0;f[c>>2]=f[b>>2];f[h+(i*12|0)+4>>2]=f[b+4>>2];f[h+(i*12|0)+8>>2]=f[b+8>>2];g=c+12|0;if((e|0)!=(k|0))do{b=e;e=e+-12|0;f[c+-12>>2]=f[e>>2];f[c+-8>>2]=f[b+-8>>2];f[c+-4>>2]=f[b+-4>>2];c=c+-12|0}while((e|0)!=(k|0));f[a>>2]=c;f[m>>2]=g;f[l>>2]=j;if(!d)return;Co(d);return}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Ta[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Co(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}Co(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0;if((Sa[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}g=a+4|0;i=0;while(1){e=f[(f[g>>2]|0)+4>>2]|0;e=Tj(e,Wa[f[(f[b>>2]|0)+24>>2]&127](b,i)|0)|0;if((e|0)==-1){a=0;c=12;break}a=f[g>>2]|0;d=f[(f[b>>2]|0)+28>>2]|0;if(((h[a+36>>0]|0)<<8&65535)<512){a=f[a+4>>2]|0;if((e|0)<=-1){c=6;break}c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)<=(e|0)){c=8;break}if(!(Wa[d&127](b,f[c+(e<<2)>>2]|0)|0)){a=0;c=12;break}}else{e=Zi(a,e)|0;if(!(Wa[d&127](b,e)|0)){a=0;c=12;break}}i=i+1|0;if((i|0)>=(Sa[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=12;break}}if((c|0)==6)Ga(17186,17202,67,17293);else if((c|0)==8)Ga(17303,17202,68,17293);else if((c|0)==12)return a|0;return 0}function sf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Ga(17186,17202,59,17293);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Ga(17303,17202,60,17293);g=f[i+(c<<2)>>2]|0;do if((Sa[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){$c(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Nk(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=2628;g=b}f[a>>2]=g;return}function tf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((Ab(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=Io(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=Ab(a,c,m,p,q)|0;if(d){Na[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=Ab(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)Ho(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;l=m;if(!(Ad(a,b)|0)){a=0;u=m;return a|0}i=b+8|0;j=f[i>>2]|0;i=f[i+4>>2]|0;g=b+16|0;d=g;c=f[d>>2]|0;d=gm(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((i|0)<(e|0)|(i|0)==(e|0)&j>>>0>>0){a=0;u=m;return a|0}c=(f[b>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;j=g;f[j>>2]=d;f[j+4>>2]=e;if((c|0)<0){a=0;u=m;return a|0}j=a+152|0;g=(f[j>>2]|0)+c|0;f[j>>2]=g;j=a+156|0;f[l>>2]=0;e=a+160|0;d=f[e>>2]|0;c=f[j>>2]|0;i=d-c>>2;if(g>>>0<=i>>>0){if(g>>>0>>0?(k=c+(g<<2)|0,(d|0)!=(k|0)):0)f[e>>2]=d+(~((d+-4-k|0)>>>2)<<2)}else jf(j,g-i|0,l);a=nd(a+168|0,b)|0;u=m;return a|0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=1048576){if((i|0)!=1048576?(h=d+4194304|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,1048576-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>1048576){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==1048576;return k|0}function wf(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Zm(m,e,0)|0){f[o+48>>2]=1;Va[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Oa[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{lg(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(Fb(a,n)|0)){a=0;u=o;return a|0}yb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=524288){if((i|0)!=524288?(h=d+2097152|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,524288-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>524288){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==524288;return k|0}function zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=262144){if((i|0)!=262144?(h=d+1048576|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,262144-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>262144){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==262144;return k|0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=65536){if((i|0)!=65536?(h=d+262144|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,65536-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>65536){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==65536;return k|0}function Bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=32768){if((i|0)!=32768?(h=d+131072|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,32768-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>32768){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==32768;return k|0}function Cf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){ge(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Co(d)}Co(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Co(d)}Co(c)}Co(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=8192){if((i|0)!=8192?(h=d+32768|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,8192-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>8192){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==8192;return k|0}function Ef(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=4096){if((i|0)!=4096?(h=d+16384|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else lg(a,4096-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else kf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>4096){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==4096;return k|0}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{lg(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function Gf(a,c,d){a=a|0;c=c|0;d=d|0;a=rc(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=8){d=0;return d|0}a=c;b[s>>0]=b[a>>0];b[s+1>>0]=b[a+1>>0];b[s+2>>0]=b[a+2>>0];b[s+3>>0]=b[a+3>>0];b[s+4>>0]=b[a+4>>0];b[s+5>>0]=b[a+5>>0];b[s+6>>0]=b[a+6>>0];b[s+7>>0]=b[a+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];d=1;return d|0}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)jn(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{sm(a,d,(e&255)+1|0)|0;Co(d);g=15}}else{c=Nk(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{sm(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){sm(c,d,(f[a+4>>2]|0)+1|0)|0;Co(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function If(a){a=a|0;Yn(a);Yn(a+16|0);Yn(a+32|0);Yn(a+48|0);Yn(a+64|0);Yn(a+80|0);Yn(a+96|0);Yn(a+112|0);Yn(a+128|0);Yn(a+144|0);Yn(a+160|0);Yn(a+176|0);Yn(a+192|0);Yn(a+208|0);Yn(a+224|0);Yn(a+240|0);Yn(a+256|0);Yn(a+272|0);Yn(a+288|0);Yn(a+304|0);Yn(a+320|0);Yn(a+336|0);Yn(a+352|0);Yn(a+368|0);Yn(a+384|0);Yn(a+400|0);Yn(a+416|0);Yn(a+432|0);Yn(a+448|0);Yn(a+464|0);Yn(a+480|0);Yn(a+496|0);return}function Jf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=$m(f[a+8>>2]|0,o)|0;e=$m(f[a+12>>2]|0,o)|0;g=$m(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=$m(f[a+(g<<2)>>2]|0,o)|0;g=$m(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Aj(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=$m(f[a+(e<<2)>>2]|0,o)|0;e=$m(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0;l=b+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;m=b+16|0;c=m;g=f[c>>2]|0;c=f[c+4>>2]|0;d=gm(g|0,c|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&i>>>0>>0){a=0;return a|0}k=(f[b>>2]|0)+g|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;n=m;f[n>>2]=d;f[n+4>>2]=e;do if((j[b+38>>1]|0)<514){c=gm(g|0,c|0,8,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&i>>>0>>0){n=0;return n|0}else{n=m;f[n>>2]=c;f[n+4>>2]=d;break}}while(0);if(((k|0)%2|0|0)!=1)Ga(10067,10100,67,10260);d=(_(k|0)|0)^31;c=d+1|0;if(!d)Ga(9139,9150,60,9265);if(c>>>0>=31)Ga(9285,9150,61,9265);f[a>>2]=c;n=2<>2]=n+-1;n=n+-2|0;f[a+8>>2]=n;f[a+12>>2]=(n|0)/2|0;n=1;return n|0}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;If(a+12|0);Yn(a+524|0);Tl(a+540|0);Tl(a+560|0);Tl(a+580|0);f[i>>2]=0;Jh(a+600|0,b,i);f[i>>2]=0;Jh(a+612|0,b,i);g=b<<5|1;f[h>>2]=0;Jh(i,b,h);Eh(a+624|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[h>>2]=0;Jh(i,b,h);Eh(a+636|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);u=j;return}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=hj(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=hj(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;k=b+8|0;i=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;g=gm(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){a=0;return a|0}b=f[b>>2]|0;j=b+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;m=l;f[m>>2]=g;f[m+4>>2]=d;c=gm(e|0,c|0,8,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){m=0;return m|0}b=b+g|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;m=l;f[m>>2]=c;f[m+4>>2]=d;if((j|0)>(b|0)){m=0;return m|0}f[a+12>>2]=j;f[a+16>>2]=b;m=b+(1-j)|0;f[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;f[c>>2]=b;f[a+28>>2]=0-b;if(m&1|0){m=1;return m|0}f[c>>2]=b+-1;m=1;return m|0}function Of(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;h=Nk(32)|0;f[a>>2]=h;f[a+4>>2]=c+8;g=a+8|0;b[g>>0]=0;i=h+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=h+20|0;j=e+12|0;f[i>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;h=f[j>>2]|0;c=(f[e+16>>2]|0)-h|0;if(!c){i=0;j=h;Xe(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}mg(i,c);i=f[i>>2]|0;j=f[j>>2]|0;Xe(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))Ga(9955,9150,259,9979);d=f[c>>2]|0;if((d|0)>(e|0))Ga(9993,9150,260,9979);a=0-e|0;if((i|0)<(a|0))Ga(10017,9150,261,9979);if((d|0)<(a|0))Ga(10042,9150,262,9979);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function Qf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+32|0;g=h+8|0;e=h;switch(d|0){case 2:{i=f[b+12>>2]|0;d=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;sf(e,c,i,d,g);f[a>>2]=f[e>>2];u=h;return}case 3:{d=f[b+12>>2]|0;i=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;of(e,c,d,i,g);f[a>>2]=f[e>>2];u=h;return}default:{f[a>>2]=0;u=h;return}}}function Rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){kc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;kc(a,b);return}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Nd(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*116|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-116;c=f[e+-12>>2]|0;if(c|0){d=e+-8|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}c=f[e+-28>>2]|0;if(c|0){d=e+-24|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}c=f[e+-40>>2]|0;if(c|0){d=e+-36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}xh(e+-112|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;Tl(a+12|0);Tl(a+32|0);Tl(a+52|0);Tl(a+72|0);f[i>>2]=0;Jh(a+92|0,b,i);f[i>>2]=0;Jh(a+104|0,b,i);g=b<<5|1;f[h>>2]=0;Jh(i,b,h);Eh(a+116|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[h>>2]=0;Jh(i,b,h);Eh(a+128|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);u=j;return}function Uf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;Yn(a+12|0);Tl(a+28|0);Tl(a+48|0);Tl(a+68|0);f[i>>2]=0;Jh(a+88|0,b,i);f[i>>2]=0;Jh(a+100|0,b,i);g=b<<5|1;f[h>>2]=0;Jh(i,b,h);Eh(a+112|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[h>>2]=0;Jh(i,b,h);Eh(a+124|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);u=j;return}function Vf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1384;e=a+60|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b)}f[a>>2]=1224;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function Wf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}Co(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Co(b);return}function Xf(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;e=f[l>>2]|0;g=b[e+24>>0]|0;k=g<<24>>24;n=k<<1;m=zo(k>>>0>2147483647?-1:k<<1)|0;j=f[a+16>>2]|0;j=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){Ao(m);return}if(g<<24>>24>0){e=0;g=0;h=0;while(1){a=0;i=h;while(1){d[m+(a<<1)>>1]=f[j+(i<<2)>>2];a=a+1|0;if((a|0)==(k|0))break;else i=i+1|0}Xe((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+g|0,m|0,n|0)|0;e=e+1|0;if((e|0)==(c|0))break;else{g=g+n|0;h=k+h|0}}Ao(m);return}else{Xe(f[f[e+64>>2]>>2]|0,m|0,n|0)|0;if((c|0)==1){Ao(m);return}else{a=1;e=0}do{e=e+n|0;Xe((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+e|0,m|0,n|0)|0;a=a+1|0}while((a|0)!=(c|0));Ao(m);return}}function Yf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+8|0;d=f[k>>2]|0;e=b[d+24>>0]|0;j=e<<24>>24;m=j<<2;l=zo(j>>>0>1073741823?-1:j<<2)|0;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;if(!c){Ao(l);return}if(e<<24>>24>0){d=0;e=0;g=0;while(1){a=0;h=g;while(1){f[l+(a<<2)>>2]=f[i+(h<<2)>>2];a=a+1|0;if((a|0)==(j|0))break;else h=h+1|0}Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,l|0,m|0)|0;d=d+1|0;if((d|0)==(c|0))break;else{e=e+m|0;g=j+g|0}}Ao(l);return}else{Xe(f[f[d+64>>2]>>2]|0,l|0,m|0)|0;if((c|0)==1){Ao(l);return}else{a=1;d=0}do{d=d+m|0;Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+d|0,l|0,m|0)|0;a=a+1|0}while((a|0)!=(c|0));Ao(l);return}}function Zf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Co(b);return}function _f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=La;n=u;u=u+32|0;j=n+16|0;m=n;k=a+8|0;l=b[(f[k>>2]|0)+24>>0]<<2;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;a=f[a+24>>2]|0;if((a|0)<=1)Ga(9139,9150,60,9265);if((a|0)>=31)Ga(9285,9150,61,9265);f[m>>2]=a;a=1<>2]=a+-1;a=a+-2|0;h=m+8|0;f[h>>2]=a;f[m+12>>2]=(a|0)/2|0;if(!c){u=n;return 1}d=0;e=0;g=0;while(1){o=$($(1.0)/$(a|0));je(m,$($(f[i+(g<<2)>>2]|0)*o),$($(f[i+((g|1)<<2)>>2]|0)*o),j);Xe((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,j|0,l|0)|0;d=d+1|0;if((d|0)==(c|0))break;a=f[h>>2]|0;e=e+l|0;g=g+2|0}u=n;return 1}function $f(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;g=f[c>>2]|0;c=f[c+4>>2]|0;d=gm(g|0,c|0,4,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0)return 0;i=(f[b>>2]|0)+g|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=l;f[b>>2]=d;f[b+4>>2]=e;b=gm(g|0,c|0,8,0)|0;c=I;if((k|0)<(c|0)|(k|0)==(c|0)&j>>>0>>0)return 0;f[l>>2]=b;f[l+4>>2]=c;if(((i|0)%2|0|0)!=1)Ga(10067,10100,67,10260);c=(_(i|0)|0)^31;b=c+1|0;if(!c)Ga(9139,9150,60,9265);if(b>>>0<31){f[a>>2]=b;l=2<>2]=l+-1;l=l+-2|0;f[a+8>>2]=l;f[a+12>>2]=(l|0)/2|0;return (c+-1|0)>>>0<29|0}else Ga(9285,9150,61,9265);return 0}function ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m+16|0;i=m+8|0;j=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))Ga(9382,9427,69,9605);e=f[b+4>>2]|0;if((e|0)>(k|0))Ga(9626,9427,70,9605);g=f[c>>2]|0;if((g|0)>(k|0))Ga(9671,9427,71,9605);b=f[c+4>>2]|0;if((b|0)>(k|0))Ga(9716,9427,72,9605);if((h|0)<=-1)Ga(9761,9427,74,9605);if((e|0)<=-1)Ga(9783,9427,75,9605);if((g|0)<=-1)Ga(9805,9427,76,9605);if((b|0)>-1){f[i>>2]=h;f[i+4>>2]=e;f[j>>2]=g;f[j+4>>2]=b;jd(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else Ga(9827,9427,77,9605)}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){wc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;wc(a,b);return}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function dg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+12|0;g=f[e>>2]|0;f[e>>2]=0;if(!g){km(a);return}b=f[g+28>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;dg(e+8|0);Co(e)}while((b|0)!=0);e=g+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Co(b);b=f[g+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}km(e+8|0);Co(e)}while((b|0)!=0);b=f[g>>2]|0;f[g>>2]=0;if(b|0)Co(b);Co(g);km(a);return}function eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;j=m+16|0;l=m+8|0;i=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))Ga(9382,12841,65,9605);e=f[b+4>>2]|0;if((e|0)>(k|0))Ga(9626,12841,66,9605);g=f[c>>2]|0;if((g|0)>(k|0))Ga(9671,12841,67,9605);b=f[c+4>>2]|0;if((b|0)>(k|0))Ga(9716,12841,68,9605);if((h|0)<=-1)Ga(9761,12841,70,9605);if((e|0)<=-1)Ga(9783,12841,71,9605);if((g|0)<=-1)Ga(9805,12841,72,9605);if((b|0)>-1){f[j>>2]=g;f[j+4>>2]=b;f[i>>2]=h;f[i+4>>2]=e;ye(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else Ga(9827,12841,73,9605)}function fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=Nk(36)|0;_m(c);j=c;if((b|0)<0){Pa[f[(f[c>>2]|0)+4>>2]&127](c);j=0;return j|0}h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Ae(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c){j=1;return j|0}Pa[f[(f[c>>2]|0)+4>>2]&127](c);j=1;return j|0}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=((d-c|0)/12|0)+1|0;if(e>>>0>357913941){nn(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=((f[j>>2]|0)-c|0)/12|0;h=i<<1;h=i>>>0<178956970?(h>>>0>>0?e:h):357913941;e=(d-c|0)/12|0;do if(h)if(h>>>0>357913941){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{i=Nk(h*12|0)|0;break}else i=0;while(0);g=i+(e*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];e=d-c|0;d=g+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Xe(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+12;f[j>>2]=i+(h*12|0);if(!c)return;Co(c);return}function hg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+16|0;d=e;switch(b<<24>>24){case 0:{d=Nk(48)|0;qn(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}case 1:{d=Nk(52)|0;ym(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}default:{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kh(d,14642,28);f[c>>2]=-1;b=c+4|0;cj(b,d);f[a>>2]=f[c>>2];cj(a+4|0,b);f[a+16>>2]=0;km(b);km(d);u=e;return}}}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)nn(i);l=((b+-1|0)>>>5)+1|0;k=Nk(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Le(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)Co(b);u=j;return}function jg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+224|0;j=a+228|0;d=f[k>>2]|0;if((f[j>>2]|0)==(d|0)){l=0;return l|0}g=a+4|0;e=0;a:while(1){a=f[d+(e*116|0)>>2]|0;if(((a|0)>=0?(d=f[g>>2]|0,h=f[d+8>>2]|0,(a|0)<((f[d+12>>2]|0)-h>>2|0)):0)?(i=f[h+(a<<2)>>2]|0,(Sa[f[(f[i>>2]|0)+24>>2]&127](i)|0)>0):0){a=0;do{if((Wa[f[(f[i>>2]|0)+20>>2]&127](i,a)|0)==(c|0))break a;a=a+1|0}while((a|0)<(Sa[f[(f[i>>2]|0)+24>>2]&127](i)|0))}a=e+1|0;d=f[k>>2]|0;if(a>>>0>=(((f[j>>2]|0)-d|0)/116|0)>>>0){a=0;l=11;break}else e=a}if((l|0)==11)return a|0;l=f[k>>2]|0;l=(b[l+(e*116|0)+72>>0]|0)==0?0:l+(e*116|0)+4|0;return l|0}function kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(f[b+4>>2]|0)-(f[b>>2]|0)|0;l=k>>2;g=a+8|0;e=f[(f[g>>2]|0)+40>>2]|0;m=zo((e|0)>-1?e:-1)|0;h=c+8|0;if((k|0)<=0){c=1;Ao(m);return c|0}k=c+16|0;i=0;j=0;while(1){o=h;n=f[o>>2]|0;o=f[o+4>>2]|0;a=k;b=f[a>>2]|0;a=gm(b|0,f[a+4>>2]|0,e|0,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0){b=0;a=5;break}Xe(m|0,(f[c>>2]|0)+b|0,e|0)|0;o=k;f[o>>2]=a;f[o+4>>2]=d;Xe((f[f[(f[g>>2]|0)+64>>2]>>2]|0)+j|0,m|0,e|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+e|0}if((a|0)==5){Ao(m);return b|0}return 0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;d=f[k>>2]|0;j=a+4|0;e=f[j>>2]|0;if(d-e>>2>>>0>=b>>>0){Yg(e|0,0,b<<2|0)|0;f[j>>2]=e+(b<<2);return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[k>>2]|0;e=f[j>>2]|0}d=d-c|0;h=d>>1;h=d>>2>>>0<536870911?(h>>>0>>0?g:h):1073741823;d=e-c>>2;do if(h)if(h>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{i=Nk(h<<2)|0;break}else i=0;while(0);g=i+(d<<2)|0;Yg(g|0,0,b<<2|0)|0;e=e-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Xe(d|0,c|0,e|0)|0;f[a>>2]=d;f[j>>2]=g+(b<<2);f[k>>2]=i+(h<<2);if(!c)return;Co(c);return}function mg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((g-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}e=f[a>>2]|0;h=d-e+c|0;if((h|0)<0){nn(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=g-e|0;g=i<<1;g=i>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if(!g)h=0;else h=Nk(g)|0;i=h+(d-e)|0;h=h+g|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Xe(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;Co(d);return}function ng(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)jn(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=Nk(l)|0;if(g|0)sm(k,m,g)|0;if(i|0)sm(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)sm(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Co(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;sn(k+m|0,n);u=o;return}function og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(mj(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Na[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Na[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Xe(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=Oe(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=Nk(40)|0;cj(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}pd(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function qg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;j=u;u=u+16|0;i=j;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){k=d+8|0;l=f[k+4>>2]|0;g=d+16|0;e=g;c=f[e>>2]|0;e=f[e+4>>2]|0;if((l|0)>(e|0)|((l|0)==(e|0)?(f[k>>2]|0)>>>0>c>>>0:0)){l=b[(f[d>>2]|0)+c>>0]|0;k=gm(c|0,e|0,1,0)|0;c=g;f[c>>2]=k;f[c+4>>2]=I;c=l&255;f[a+24>>2]=c;break}else{l=0;u=j;return l|0}}else c=f[a+24>>2]|0;while(0);f[i>>2]=1168;f[i+4>>2]=-1;cn(i,c);l=Gi(i,f[a+16>>2]|0)|0;u=j;return l|0}function rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+224|0;h=a+228|0;c=f[i>>2]|0;a:do if((f[h>>2]|0)!=(c|0)){j=a+4|0;d=0;b:while(1){c=f[c+(d*116|0)>>2]|0;if(((c|0)>=0?(k=f[j>>2]|0,e=f[k+8>>2]|0,(c|0)<((f[k+12>>2]|0)-e>>2|0)):0)?(g=f[e+(c<<2)>>2]|0,(Sa[f[(f[g>>2]|0)+24>>2]&127](g)|0)>0):0){c=0;do{if((Wa[f[(f[g>>2]|0)+20>>2]&127](g,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Sa[f[(f[g>>2]|0)+24>>2]&127](g)|0))}d=d+1|0;c=f[i>>2]|0;if(d>>>0>=(((f[h>>2]|0)-c|0)/116|0)>>>0)break a}k=(f[i>>2]|0)+(d*116|0)+76|0;return k|0}while(0);k=a+196|0;return k|0}function sg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{f[h>>2]=b+-116;c=f[b+-12>>2]|0;if(c|0){e=b+-8|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[b+-28>>2]|0;if(c|0){e=b+-24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[b+-40>>2]|0;if(c|0){e=b+-36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}xh(b+-112|0);b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Co(b);return}function tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;d=g;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Sa[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=g;return e|0}f[d>>2]=1196;f[d+4>>2]=-1;c=d+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;rj(d,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));e=Gi(d,f[a+16>>2]|0)|0;f[d>>2]=1196;a=f[c>>2]|0;if(a|0){c=d+12|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Co(a)}u=g;return e|0}function ug(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-116;d=f[c+-12>>2]|0;if(d|0){g=c+-8|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}d=f[c+-28>>2]|0;if(d|0){g=c+-24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}d=f[c+-40>>2]|0;if(d|0){g=c+-36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}xh(c+-112|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Co(b);return}function vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+140|0;b=f[h>>2]|0;if((b|0)<=0){a=1;return a|0}d=b<<4;d=zo(b>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<4)|0;b=d;do{Yn(b);b=b+16|0}while((b|0)!=(c|0));g=a+136|0;e=f[g>>2]|0;f[g>>2]=d;if(e|0){c=e+-4|0;b=f[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(e|0))}Ao(c)}if((f[h>>2]|0)<=0){a=1;return a|0}b=0;while(1){if(!(nd((f[g>>2]|0)+(b<<4)|0,a)|0)){b=0;c=13;break}b=b+1|0;if((b|0)>=(f[h>>2]|0)){b=1;c=13;break}}if((c|0)==13)return b|0;return 0}function wg(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Kk()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1154];ql(20386,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Na[f[(f[262]|0)+16>>2]&31](1048,d,e)|0;b=f[1154]|0;if(d){i=f[e>>2]|0;i=Sa[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;ql(20300,g)}else{f[i>>2]=b;f[i+4>>2]=a;ql(20345,i)}}ql(20424,h)}function xg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!($f(a+8|0,c)|0)){a=0;return a|0}do if((j[c+38>>1]|0)<514){e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=gm(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)<2){f[a+68>>2]=e&255;break}else{i=0;return i|0}}while(0);i=nd(a+88|0,c)|0;return i|0}function yg(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+4>>2]=3160;b=f[a+24>>2]|0;if(b|0)Co(b);b=f[a+12>>2]|0;if(!b)return;Co(b);return}function zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){nn(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=(f[j>>2]|0)-c|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;e=d-c>>2;do if(h)if(h>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}else{i=Nk(h<<2)|0;break}else i=0;while(0);g=i+(e<<2)|0;f[g>>2]=f[b>>2];e=d-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Xe(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+4;f[j>>2]=i+(h<<2);if(!c)return;Co(c);return}function Ag(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!(Kf(a+8|0,c)|0)){a=0;return a|0}do if((j[c+38>>1]|0)<514){e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=gm(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)<2){f[a+68>>2]=e&255;break}else{i=0;return i|0}}while(0);i=nd(a+88|0,c)|0;return i|0}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=Yk(e,g+1|0,20297,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;vh(c,g,0);e=b[h>>0]|0}vh(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function Cg(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(yo()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=oo()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=oo()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Dg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3252;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));mk(b);d=a+388|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[a+408>>2]=-1;f[a+412>>2]=-1;f[a+416>>2]=2;f[a+420>>2]=7;d=a+424|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;return}function Eg(a){a=a|0;var b=0,c=0,d=0,e=0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;Eg(d+20|0);km(d+8|0);Co(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Co(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}km(d+8|0);Co(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Co(a);Co(e);return}function Fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=u;u=u+80|0;i=j;g=j+56|0;e=j+40|0;d=i;c=d+40|0;do{f[d>>2]=f[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));bc(e,i,g);b=f[e>>2]|0;if(!b){km(e+4|0);g=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=g;i=i+24|0;Ho(i);u=j;return}else{f[a>>2]=b;g=e+4|0;cj(a+4|0,g);km(g);i=i+24|0;Ho(i);u=j;return}}function Gg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;ef(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;ef(a+12|0,j,d);be(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,3560);Nh(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Nh(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function Hg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=a+8|0;b=f[j>>2]|0;if((b|0)<0){j=0;return j|0}i=a+4|0;a=f[i>>2]|0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+(b<<2)|0,(d|0)!=(h|0)):0)f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2)}else{lg(a,b-g|0);b=f[j>>2]|0}if((b|0)>0)d=0;else{j=1;return j|0}do{a=f[i>>2]|0;c=f[a>>2]|0;if((f[a+4>>2]|0)-c>>2>>>0<=d>>>0){mn(a);c=f[a>>2]|0;b=f[j>>2]|0}f[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(b|0));b=1;return b|0}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+32|0;e=h+12|0;g=h;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,b,Sh(b)|0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Kh(g,c,Sh(c)|0);b=f[a+4>>2]|0;if((b|0)!=0?(d=ve(b,e,g)|0,(d|0)!=0):0)b=Vi(a,f[d+40>>2]|0)|0;else b=-1;km(g);km(e);u=h;return b|0}function Jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;if((d|0)!=1){f[a>>2]=0;u=j;return}g=f[b+12>>2]|0;d=f[b+4>>2]|0;b=h;e=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(e|0));_e(i,c,g,d,h);e=f[h+24>>2]|0;if(e|0){b=h+28|0;d=f[b>>2]|0;if((d|0)!=(e|0))f[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e)}f[a>>2]=f[i>>2];u=j;return}function Kg(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+28>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;e=c+20|0;d=f[e>>2]|0;f[e>>2]=0;if(d|0){Kg(d);Co(d)}km(c+8|0);Co(c)}while((b|0)!=0);e=a+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Co(b);b=f[a+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}km(e+8|0);Co(e)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Co(b);return}function Lg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(b>>>0<64){e=f[a+8>>2]|0;if(e>>>0<=1){h=0;return h|0}b=f[c>>2]|0;c=1;d=0;do{d=(f[b+(d<<2)>>2]|0)>>>0>(f[b+(c<<2)>>2]|0)>>>0?c:d;c=c+1|0}while(c>>>0>>0);return d|0}h=a+576|0;g=f[h>>2]|0;e=32-g|0;c=a+572|0;b=f[c>>2]|0;d=f[b>>2]<>2]=a;g=b+4|0;f[c>>2]=g;h=32-a|0;h=(f[g>>2]|0)>>>h|d>>>(h-e|0);return h|0}d=d>>>28;g=g+4|0;f[h>>2]=g;if((g|0)!=32){h=d;return h|0}f[c>>2]=b+4;f[h>>2]=0;h=d;return h|0}function Mg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>e>>>0:0)){k=b[(f[d>>2]|0)+e>>0]|0;g=gm(e|0,g|0,1,0)|0;j=i;f[j>>2]=g;f[j+4>>2]=I;f[a+24>>2]=k&255;break}else{k=0;return k|0}}while(0);k=ic(a,c,d)|0;return k|0}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Co(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}Co(d);return}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+32|0;d=g+12|0;e=g;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kh(d,b,Sh(b)|0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,17357,4);b=f[a+4>>2]|0;if((b|0)!=0?(c=ve(b,e,d)|0,(c|0)!=0):0)b=Vi(a,f[c+40>>2]|0)|0;else b=-1;km(e);km(d);u=g;return b|0}function Pg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=gm(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do if(e<<24>>24<0)if(Pg(a,c)|0){d=a;d=nl(f[d>>2]|0,f[d+4>>2]|0,7)|0;i=I;h=a;f[h>>2]=d;f[h+4>>2]=i;d=d|e&127;e=i;break}else{i=0;return i|0}else{d=e&255;e=0}while(0);i=a;f[i>>2]=d;f[i+4>>2]=e;i=1;return i|0}function Qg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}k=f[i>>2]|0;e=Nk(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;Co(g);return}function Rg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=4104;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=oo()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=tf(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function Sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;om(e,c,d)|0;b[j>>0]=0;sn(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;ng(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Tg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;if(!d){a=0;return a|0}e=f[c>>2]|0;if(!e){a=0;return a|0}g=f[e>>2]|0;hh(d,g,(f[e+4>>2]|0)-g|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;e=c+40|0;d=f[e+4>>2]|0;g=a+40|0;f[g>>2]=f[e>>2];f[g+4>>2]=d;g=c+48|0;d=f[g+4>>2]|0;e=a+48|0;f[e>>2]=f[g>>2];f[e+4>>2]=d;f[a+56>>2]=f[c+56>>2];c=c+8|0;a=a+8|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];a=1;return a|0}function Ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){fh(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;ll(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;sn(e+i|0,k)}u=l;return a|0}function Vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2980;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=3404;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Co(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b);Co(a);return}function Wg(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Zm(a,f[c+8>>2]|0,g)|0)){if(Zm(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else ok(0,c,d,e);while(0);return}function Xg(a){a=a|0;Ho(a+496|0);Ho(a+480|0);Ho(a+464|0);Ho(a+448|0);Ho(a+432|0);Ho(a+416|0);Ho(a+400|0);Ho(a+384|0);Ho(a+368|0);Ho(a+352|0);Ho(a+336|0);Ho(a+320|0);Ho(a+304|0);Ho(a+288|0);Ho(a+272|0);Ho(a+256|0);Ho(a+240|0);Ho(a+224|0);Ho(a+208|0);Ho(a+192|0);Ho(a+176|0);Ho(a+160|0);Ho(a+144|0);Ho(a+128|0);Ho(a+112|0);Ho(a+96|0);Ho(a+80|0);Ho(a+64|0);Ho(a+48|0);Ho(a+32|0);Ho(a+16|0);Ho(a);return}function Yg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=rc(a,b)|0;if(!b){c=0;return c|0}e=b+20|0;d=f[e>>2]|0;a=b+24|0;b=f[a>>2]|0;if((d|0)==(b|0)){c=0;return c|0}vh(c,b-d|0,0);d=kj(c,0)|0;c=f[e>>2]|0;Xe(d|0,c|0,(f[a>>2]|0)-c|0)|0;c=1;return c|0}function _g(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(!a){d=1;return d|0}j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>h>>>0:0))){k=0;return k|0}k=b[(f[d>>2]|0)+h>>0]|0;h=gm(h|0,g|0,1,0)|0;j=i;f[j>>2]=h;f[j+4>>2]=I;switch(k<<24>>24){case 0:{k=jc(a,c,d,e)|0;return k|0}case 1:{k=Hc(a,d,e)|0;return k|0}default:{k=0;return k|0}}return 0}function $g(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function ah(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3204;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));mk(b);d=a+388|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;Yn(a+408|0);f[a+424>>2]=-1;f[a+428>>2]=-1;return}function bh(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2980;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Pa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=3404;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Co(b);return}function ch(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1336;c=a+16|0;d=f[c>>2]|0;f[c>>2]=0;if(!d)return;c=d+88|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a)}a=f[d+68>>2]|0;if(a|0){c=d+72|0;b=f[c>>2]|0;if((b|0)!=(a|0))f[c>>2]=b+(~((b+-4-a|0)>>>2)<<2);Co(a)}c=d+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a)}Co(d);return}function dh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)>=33)Ga(17009,16501,63,17135);if((b|0)<=0)Ga(17164,16501,64,17135);k=a+8|0;i=a+4|0;j=0-(h[a+12>>0]|0)&255;d=f[k>>2]|0;e=0;do{e=e<<1;if(d>>>0<4096?(g=f[i>>2]|0,(g|0)>0):0){m=f[a>>2]|0;l=g+-1|0;f[i>>2]=l;d=h[m+l>>0]|0|d<<8;f[k>>2]=d}n=d&255;l=X(d>>>8,j)|0;m=n>>>0>>0;d=m?l+n|0:d-j-l|0;f[k>>2]=d;e=m&1|e;b=b+-1|0}while((b|0)!=0);f[c>>2]=e;return}function eh(a,b){a=a|0;b=b|0;if(!b)return;else{eh(a,f[b>>2]|0);eh(a,f[b+4>>2]|0);oh(b+20|0,f[b+24>>2]|0);Co(b);return}}function fh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)jn(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=Nk(k)|0;if(g|0)sm(j,l,g)|0;d=e-h-g|0;if(d|0)sm(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)Co(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;aj(e,d&1);a=pg(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}Hf(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;km(e);u=g;return}function hh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){mg(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else ze(a,b,b+c|0);while(0);a=a+24|0;h=a;h=gm(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function ih(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;Ke(g,c);e=a+4|0;i=f[g>>2]|0;f[g>>2]=0;d=f[e>>2]|0;f[e>>2]=i;if(d){nh(d);Co(d);d=f[g>>2]|0;f[g>>2]=0;if(d|0){nh(d);Co(d)}}else f[g>>2]=0;if(!(f[e>>2]|0)){i=0;u=h;return i|0}i=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[g>>0]=0;ef(a+56|0,i,g);i=1;u=h;return i|0}function jh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=Nk(32)|0,_k(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}e=Jj(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Mk(e|0,d|0,c|0,0)|0;if(!(hh(i,0,g,I)|0)){i=0;return i|0}vi(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+20|0;j=h+16|0;g=h;e=b[a+24>>0]|0;f[g>>2]=f[897];f[g+4>>2]=f[898];f[g+8>>2]=f[899];f[g+12>>2]=f[900];f[j>>2]=c;f[i>>2]=f[j>>2];if(!(eb(a,i,e,g)|0)){j=0;u=h;return j|0}Xd(d,g,g+(e<<24>>24<<2)|0);j=1;u=h;return j|0}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;var g=0,h=0,i=0;g=e>>>0>1073741823?-1:e<<2;h=zo(g)|0;Yg(h|0,0,g|0)|0;g=a+8|0;ag(g,h,b,c);if((e|0)>=(d|0)){Ao(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;ag(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Ao(h);return 1}function mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(Zm(a,b,0)|0))if((b|0)!=0?(e=wf(b,1072,1056,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Xa[f[(f[e>>2]|0)+28>>2]&7](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function nh(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function oh(a,b){a=a|0;b=b|0;if(!b)return;else{oh(a,f[b>>2]|0);oh(a,f[b+4>>2]|0);km(b+28|0);km(b+16|0);Co(b);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=e>>>0>1073741823?-1:e<<2;h=zo(g)|0;Yg(h|0,0,g|0)|0;g=a+8|0;eg(g,h,b,c);if((e|0)>=(d|0)){Ao(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;eg(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Ao(h);return 1}function qh(a,c,d){a=a|0;c=c|0;d=d|0;a=rc(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=4){d=0;return d|0}a=c;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;d=1;return d|0}function rh(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function sh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=c+8|0;i=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){i=0;return i|0}h=b[(f[c>>2]|0)+e>>0]|0;i=gm(e|0,d|0,1,0)|0;d=g;f[d>>2]=i;f[d+4>>2]=I;d=h&255;do if(d&128)if(sh(a,c)|0){d=f[a>>2]<<7;f[a>>2]=d;d=d|h&127;break}else{i=0;return i|0}while(0);f[a>>2]=d;i=1;return i|0}function th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+4>>2]|0;if(!d){e=0;return e|0}if((c|0)<=-1)Ga(17186,17202,59,17293);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Ga(17303,17202,60,17293);e=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;a=f[d+40>>2]|0;b=f[d+44>>2]|0;if((a|0)==(b|0)){e=0;return e|0}else c=a;while(1){a=f[c>>2]|0;c=c+4|0;if((f[a+40>>2]|0)==(e|0)){c=9;break}if((c|0)==(b|0)){a=0;c=9;break}}if((c|0)==9)return a|0;return 0}function uh(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}Co(a);return}function vh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;sn(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;sn(a+c|0,h);b[g>>0]=c;break}else Ug(a,c-e|0,d)|0;while(0);u=j;return}function wh(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){nn(a);c=Ia(4)|0;eo(c);ta(c|0,1112,100)}d=Nk(b*12|0)|0;f[c>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(b*12|0);a=d;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=(f[c>>2]|0)+12|0;f[c>>2]=a;b=b+-1|0}while((b|0)!=0);return}function xh(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0)Co(b);b=f[a>>2]|0;if(!b)return;Co(b);return}function yh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3404;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Co(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b);Co(a);return}function zh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kh(h,d,Sh(d)|0);Zg(c,h,g)|0;a=(b[g+11>>0]|0)<0?f[g>>2]|0:g;km(h);km(g);u=e;return a|0}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){nn(a);h=Ia(4)|0;eo(h);ta(h|0,1112,100)}g=Nk(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Xe(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Bh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(mj(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Na[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Ch(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3404;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Pa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Co(b);return}function Dh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(Io(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Bh(c,a)|0;Ho(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Bh(c,a)|0}while(0);return d|0}function Eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){nn(a);c=Ia(4)|0;eo(c);ta(c|0,1112,100)}e=Nk(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{Ah(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Fh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2092;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c){Co(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);Co(a);return}function Gh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1728;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c){Co(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);Co(a);return}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Kh(g,c,Sh(c)|0);a=Zg(b,g,e)|0;km(g);km(e);u=d;return a|0}function Ih(a){a=a|0;var b=0,c=0,d=0;Ho(a+168|0);b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+136|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d)}Ho(a+120|0);Ho(a+80|0);Ho(a+64|0);Ho(a+24|0);return}function Jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){nn(a);e=Ia(4)|0;eo(e);ta(e|0,1112,100)}g=Nk(b<<2)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<2)|0;f[a+8>>2]=e;a=g;while(1){f[a>>2]=f[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}f[d>>2]=e;return}function Kh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h;if(d>>>0<=4294967279)if(d>>>0<11)b[a+11>>0]=d;else g=5;else{jn(a);g=5}if((g|0)==5){i=d+16&-16;g=Nk(i)|0;f[a>>2]=g;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;a=g}sm(a,c,d)|0;b[e>>0]=0;sn(a+d|0,e);u=h;return}function Lh(a){a=a|0;var b=0,c=0;f[a>>2]=2092;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Mh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0;b=f[a+32>>2]|0;j=b+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=gm(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((j|0)<(d|0)|(j|0)==(d|0)&i>>>0>>0){j=0;return j|0}j=(f[b>>2]|0)+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=g;f[i>>2]=c;f[i+4>>2]=d;f[(f[a+4>>2]|0)+80>>2]=j;j=1;return j|0}function Nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=Ia(4)|0;eo(a);ta(a|0,1112,100)}j=(f[d>>2]|0)-c|0;h=j>>2;i=Nk(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Xe(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;Co(c);return}function Oh(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Tn(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Ph(a){a=a|0;var b=0,c=0;f[a>>2]=1728;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Qh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3040;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));mk(b);return}function Rh(a,c,d){a=a|0;c=c|0;d=d|0;c=We(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Oh(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Sh(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c;d=c+4|0;f[e>>2]=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kh(d,14720,24);gh(mc(a,e)|0,d,1);km(d);u=c;return}function Uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Na[f[(f[g>>2]|0)+20>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Vh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3088;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3112;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Me(a+40|0,b);a=1;return a|0}return 0}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Na[f[(f[g>>2]|0)+16>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Yh(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=sl(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+Yh(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function Zh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3180;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3160;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function _h(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2148;b=f[a+76>>2]|0;if(b|0)Co(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ao(b);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function $h(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}if(!(f[a+36>>2]|0)){a=0;return a|0}a=(f[a+72>>2]|0)!=-1;return a|0}function ai(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0;a=u;u=u+32|0;g=a;e=a+8|0;p[g>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,c,Sh(c)|0);Gf(b,e,g)|0;d=+p[g>>3];km(e);u=a;return +d}function bi(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[18057+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=18145;e=5;break}}if((e|0)==2)if(!d)d=18145;else{a=18145;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return Xn(d,f[c+20>>2]|0)|0}function ci(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3088;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3112;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b)return;Co(b);return}function di(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1784;b=f[a+76>>2]|0;if(b|0)Co(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ao(b);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function ei(a){a=a|0;if(!(f[a+64>>2]|0)){a=0;return a|0}if(!(f[a+68>>2]|0)){a=0;return a|0}if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}if(!(f[a+56>>2]|0)){a=0;return a|0}a=(f[a+92>>2]|0)!=-1;return a|0}function fi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,c,Sh(c)|0);qh(b,e,a)|0;a=f[a>>2]|0;km(e);u=d;return a|0}function gi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3180;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3160;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b)return;Co(b);return}function hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Nk(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=xf(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;nh(a);Co(a);return}function ii(a){a=a|0;if(!a)return;km(a+28|0);eh(a+12|0,f[a+16>>2]|0);oh(a,f[a+4>>2]|0);Co(a);return}function ji(a,b,c){a=a|0;b=b|0;c=c|0;switch(c<<24>>24){case 0:{c=Nk(20)|0;Fl(c);break}case 1:{c=Nk(24)|0;fm(c);break}case 2:{c=Nk(36)|0;Uk(c);break}case 3:{c=Nk(28)|0;_l(c);break}default:c=0}f[a>>2]=c;return}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=wl(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return wl((pc(h,g,wl(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function li(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Bi(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function mi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;a=d;e=d+8|0;p[a>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,c,Sh(c)|0);a=Gf(b,e,a)|0;km(e);u=d;return a|0}function ni(a){a=a|0;var b=0,c=0;f[a>>2]=2148;b=f[a+76>>2]|0;if(b|0)Co(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function oi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Ck(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=en(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function pi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3544;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+84>>2]|0;if(!b){Ie(a);Co(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Ie(a);Co(a);return}function qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a>>2]|0;if((d|0)<0){c=-1073741824;return c|0}if((f[(f[b>>2]|0)+(d<<2)>>2]|0)==-1073741824){c=-1073741824;return c|0}b=(d>>>0)/3|0;a=f[c+96>>2]|0;if((b|0)>=(((f[c+100>>2]|0)-a|0)/12|0|0))Ga(17469,17387,64,17464);c=f[a+(b*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;return c|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kh(e,c,Sh(c)|0);a=qh(b,e,a)|0;km(e);u=d;return a|0}function si(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function ti(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;_b(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){Yj(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function ui(a){a=a|0;var b=0,c=0;f[a>>2]=1784;b=f[a+76>>2]|0;if(b|0)Co(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function vi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function wi(a,b,c){a=a|0;b=b|0;c=c|0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Sa[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){a=0;return a|0}a=ic(a,b,c)|0;return a|0}function xi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Ga(17362,17387,63,17464);d=f[a+96>>2]|0;if((((f[a+100>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;Yd(c,a,a+12|0);return 1}else Ga(17469,17387,64,17464);return 0}function yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){nn(a);a=Ia(4)|0;eo(a);ta(a|0,1112,100)}d=b<<2;e=Nk(d)|0;f[a>>2]=e;b=e+(b<<2)|0;f[a+8>>2]=b;Yg(e|0,0,d|0)|0;f[c>>2]=b;return}function zi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3544;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+84>>2]|0;if(!b){Ie(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Ie(a);return}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;if(!(al(a,b,c)|0)){c=0;return c|0}b=f[b+4>>2]|0;if((c|0)<=-1)Ga(17186,17202,67,17293);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Ga(17303,17202,68,17293);c=(f[(f[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else mg(a,b-g|0);a=a+24|0;h=a;h=gm(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Ci(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2204;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Di(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0;e=h[a+12>>0]|0;g=a+8|0;b=f[g>>2]|0;if(b>>>0<4096?(d=a+4|0,c=f[d>>2]|0,(c|0)>0):0){i=f[a>>2]|0;a=c+-1|0;f[d>>2]=a;b=h[i+a>>0]|0|b<<8;f[g>>2]=b}d=b&255;a=0-e&255;e=X(b>>>8,a)|0;i=d>>>0>>0;f[g>>2]=i?e+d|0:b-a-e|0;return i|0}function Ei(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;ke(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;Lj(a+28|0,b)|0;km(b);u=d;return c|0}function Fi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1840;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0;d=Nk(40)|0;f[d>>2]=-1;_k(d+8|0);Qa[f[(f[a>>2]|0)+16>>2]&7](a,d);c=b+88|0;b=f[c>>2]|0;f[c>>2]=d;if(!b)return 1;a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b);return 1}function Hi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1224;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+4>>2]|0;if(!b){Co(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;le(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;Lj(a+28|0,b)|0;km(b);u=d;return c|0}function Ji(a){a=a|0;var b=0,c=0,d=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=f[b>>2]|0;b=b+4|0;if(!(Wa[f[(f[d>>2]|0)+16>>2]&127](d,f[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 Ki(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Zm(a,f[b+8>>2]|0,g)|0)$g(0,b,c,d,e);else{a=f[a+8>>2]|0;Va[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Li(a){a=a|0;var b=0,c=0;f[a>>2]=2204;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Mi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2260;Ho(a+108|0);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Ni(a){a=a|0;var b=0,c=0;f[a>>2]=2852;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1444;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ch(a);Co(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);ch(a);Co(a);return}function Oi(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=b*3|0;if((b|0)>715827882){a=0;return a|0}be(a,c,3532);be(a+12|0,c,3528);Nh(a+24|0,c);a=1;return a|0}function Pi(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;vh(a,c,0);return}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;e=a;if((c|0)==(a|0)){b=0;return b|0}d=c-a>>2;c=0;while(1){a=f[e+(c<<2)>>2]|0;if((f[a+60>>2]|0)==(b|0)){c=5;break}c=c+1|0;if(c>>>0>=d>>>0){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function Ri(a){a=a|0;var b=0,c=0;f[a>>2]=1840;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Si(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1896;Ho(a+108|0);f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Ti(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1224;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function Ui(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Yg(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Lm(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Lm(a,f,e)}u=g;return}function Vi(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;d=a;if((c|0)==(a|0)){b=-1;return b|0}c=c-a>>2;a=0;while(1){if((f[(f[d+(a<<2)>>2]|0)+60>>2]|0)==(b|0)){c=5;break}a=a+1|0;if(a>>>0>=c>>>0){a=-1;c=5;break}}if((c|0)==5)return a|0;return 0}function Wi(a){a=a|0;var b=0,c=0;f[a>>2]=2852;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1444;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ch(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);ch(a);return}function Xi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)Ga(17186,17202,67,17293);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else Ga(17303,17202,68,17293);return 0}function Yi(a){a=a|0;var b=0,c=0;f[a>>2]=2260;Ho(a+108|0);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function Zi(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Wa[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function _i(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;c=f[a>>2]|0;d=a+4|0;g=f[d>>2]|0;e=c;b=g+(~((g+-4-e|0)>>>2)<<2)|0;if((g|0)==(c|0))b=c;else f[d>>2]=b;f[a+16>>2]=0;f[a+12>>2]=b;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);Co(c);return}function $i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Zm(a,f[b+8>>2]|0,0)|0)si(0,b,c,d);else{a=f[a+8>>2]|0;Xa[f[(f[a>>2]|0)+28>>2]&7](a,b,c,d)}return}function aj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Pi(d);Bg(a,d,b);km(d);u=c;return}function bj(a){a=a|0;var b=0,c=0;f[a>>2]=1896;Ho(a+108|0);f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function cj(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0)Kh(a,f[c>>2]|0,f[c+4>>2]|0);else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}return}function dj(a,b){a=a|0;b=b|0;var c=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){c=1;return c|0}c=Wa[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return c|0}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((rm(Da(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function fj(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function gj(a,b){a=a|0;b=b|0;var c=0;tk(a);f[a>>2]=1384;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function ij(a,b,c){a=a|0;b=b|0;c=c|0;if(!(jh(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return a|0}function jj(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=gf(f[(f[a+36>>2]|0)+(c<<2)>>2]|0)|0;return a|0}function kj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=a+11|0;d=b[e>>0]|0;if(d<<24>>24<0)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0){hn(a);d=b[e>>0]|0}if(d<<24>>24<0)a=f[a>>2]|0;return a+c|0}function lj(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function mj(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function nj(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function oj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;e=g;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[e>>2]=f[a+60>>2],f[e+4>>2]=21523,f[e+8>>2]=g+16,ra(54,e|0)|0):0)b[a+75>>0]=-1;e=bf(a,c,d)|0;u=g;return e|0}function pj(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function qj(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){Xb(a,b,c);return}else{dc(a,0,0);return}}function rj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Xd(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function sj(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;wa(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;wa(12);return -1}return b|0}function tj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function uj(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(Io(d)|0)==0;a=og(a,e,d)|0;if(!g)Ho(d)}else a=og(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function wj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function xj(a,b){a=a|0;b=b|0;if(!(Wa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Wa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Sa[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function yj(a,c,d){a=a|0;c=c|0;d=d|0;if(!(al(a,c,d)|0)){a=0;return a|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){a=0;return a|0}a=(f[d+28>>2]|0)==9;return a|0}function zj(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Aj(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Bj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Zm(a,f[b+8>>2]|0,g)|0)$g(0,b,c,d,e);return}function Cj(a){a=a|0;var b=0,c=0;f[a>>2]=1444;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ch(a);Co(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);ch(a);Co(a);return}function Dj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1504;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Ej(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Fj(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;ef(a+20|0,e,d);u=c;return}function Gj(a,c){a=a|0;c=c|0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;c=1}else c=0;return c|0}function Hj(){var a=0,b=0;a=Nk(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Ij(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;ef(a+20|0,e,d);u=c;return}function Jj(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 Kj(a){a=a|0;f[a>>2]=3136;yg(a+8|0);Co(a);return}function Lj(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Sg(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+32|0;d=c;Fg(d,b);a=f[d+16>>2]|0;km(d+4|0);u=c;return a|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=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Oj(a){a=a|0;var c=0,d=0;b[a+36>>0]=0;d=gm(f[a+32>>2]|0,0,7,0)|0;d=sl(d|0,I|0,3)|0;a=a+16|0;c=a;c=gm(d|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;f[a>>2]=c;f[a+4>>2]=I;return}function Pj(a){a=a|0;var b=0,c=0;f[a>>2]=1444;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){ch(a);return}Pa[f[(f[b>>2]|0)+4>>2]&127](b);ch(a);return}function Qj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ga(6060,6066,76,6213);return 0}function Rj(a){a=a|0;f[a>>2]=3136;yg(a+8|0);return}function Sj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;sc(a,b,c,d,e);return}function Tj(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function Uj(a){a=a|0;var b=0,c=0;f[a>>2]=1504;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function Vj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Zm(a,f[b+8>>2]|0,0)|0)si(0,b,c,d);return}function Wj(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function Xj(a){a=a|0;var b=0;f[a>>2]=3404;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function Yj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Xe(a,c,d)|0;return a|0}function Zj(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function _j(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1196;b=f[a+8>>2]|0;if(!b){Co(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function $j(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Ga(17186,17202,59,17293);c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)>(b|0))return f[c+(b<<2)>>2]|0;else Ga(17303,17202,60,17293);return 0}function ak(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function bk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[18039+(a&15)>>0]|0|e;a=sl(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function ck(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Na[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function dk(){var a=0,b=0;b=Kk()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)wm(f[a+12>>2]|0);wm(Hn()|0)}function ek(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function fk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}Co(a);return}function gk(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function hk(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function ik(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function jk(a){a=a|0;var b=0,c=0;f[a>>2]=1196;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function kk(a,b){a=a|0;b=b|0;return $f(a+8|0,b)|0}function lk(a,b,c){a=a|0;b=b|0;c=c|0;Hb(a,b,c);return}function mk(a){a=a|0;ik(a);ik(a+40|0);Yn(a+80|0);ik(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function nk(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(11717,6520,61,11728);return 0}function ok(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function pk(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(11717,11318,65,11728);return 0}function qk(a){a=a|0;var b=0;f[a>>2]=3112;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function rk(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=sl(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function sk(){var a=0,b=0;a=Nk(24)|0;f[a>>2]=1196;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function tk(a){a=a|0;f[a>>2]=1224;a=a+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function uk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Xe(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function vk(a,b){a=a|0;b=b|0;return Kf(a+8|0,b)|0}function wk(a,b){a=a|0;b=b|0;if(!b)return 0;else Ga(11717,6834,70,11728);return 0}function xk(a){a=a|0;var c=0;wj(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function yk(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a);return}function zk(a){a=a|0;var b=0;f[a>>2]=3160;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function Ak(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Bk(a,b,c){a=a|0;b=$(b);c=c|0;var d=La;if((c|0)<1){a=0;return a|0}d=$($(1.0)/$(c|0));n[a+4>>2]=d;n[a>>2]=b;a=1;return a|0}function Ck(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;pc(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Dk(a){a=a|0;f[a>>2]=2460;Ho(a+88|0);Co(a);return}function Ek(a){a=a|0;var b=0;f[a>>2]=3112;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b)return;Co(b);return}function Fk(a){a=a|0;fn(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Gk(a){a=a|0;yl(a);f[a>>2]=3544;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Hk(a){a=a|0;f[a>>2]=2544;Ho(a+88|0);Co(a);return}function Ik(a){a=a|0;f[a>>2]=2684;Ho(a+88|0);Co(a);return}function Jk(a){a=a|0;f[a>>2]=2460;Ho(a+88|0);return}function Kk(){var a=0,b=0;a=u;u=u+16|0;if(!(Aa(21432,3)|0)){b=qa(f[5359]|0)|0;u=a;return b|0}else ql(20575,a);return 0}function Lk(a){a=a|0;var b=0;f[a>>2]=3160;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b)return;Co(b);return}function Mk(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=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function Nk(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=$a(b)|0;if(a|0)break;a=Fn()|0;if(!a){a=0;break}Ua[a&3]()}return a|0}function Ok(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Fo(f[a+60>>2]|0)|0;f[c>>2]=a;a=rm(va(6,c|0)|0)|0;u=b;return a|0}function Pk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Id(b,c,d)|0}function Qk(a){a=a|0;f[a>>2]=2768;Ho(a+88|0);Co(a);return}function Rk(a){a=a|0;var b=0;b=u;u=u+16|0;Nb(a);if(!(sa(f[5359]|0,0)|0)){u=b;return}else ql(20674,b)}function Sk(a){a=a|0;f[a>>2]=2544;Ho(a+88|0);return}function Tk(a){a=a|0;f[a>>2]=2684;Ho(a+88|0);return}function Uk(a){a=a|0;fm(a);f[a>>2]=2852;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function Vk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zd(b,c,d)|0}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function Xk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+8>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function Yk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Rg(a,b,c,g)|0;u=e;return d|0}function Zk(a){a=a|0;f[a>>2]=2768;Ho(a+88|0);return}function _k(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function $k(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function al(a,b,c){a=a|0;b=b|0;c=c|0;return Xi(a,b,c)|0}function bl(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 Ra[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function cl(a,b,c){a=a|0;b=b|0;c=c|0;return Tj(b,c)|0}function dl(a){a=a|0;ed(a);Co(a);return}function el(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ig(b,c,d)|0}function fl(){var a=0;a=u;u=u+16|0;if(!(Ca(21436,102)|0)){u=a;return}else ql(20624,a)}function gl(a){a=a|0;gd(a);Co(a);return}function hl(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;Va[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function il(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=tf(f[994]|0,a,d)|0;u=c;return b|0}function jl(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Sa[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function kl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kh(b,c,d)|0}function ll(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Yg(a|0,(_n(c)|0)&255|0,b|0)|0;return a|0}function ml(a){a=a|0;return 4}function nl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Wa[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function pl(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Wa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function ql(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[901]|0;tf(b,a,c)|0;Dh(10,b)|0;xa()}function rl(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Wa[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function sl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function tl(a,b,c){a=a|0;b=b|0;c=c|0;return Ei(a,b,c)|0}function ul(a){a=a|0;Ic(a);Co(a);return}function vl(){}function wl(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 (I=d,a-c>>>0|0)|0}function xl(a){a=a|0;return 5}function yl(a){a=a|0;var b=0;f[a>>2]=3572;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function zl(a){a=a|0;return 6}function Al(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return xi(b,c,d)|0}function Bl(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Cl(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Jf(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;return cl(a,b,c)|0}function El(a,b,c){a=a|0;b=b|0;c=c|0;return re(b,c)|0}function Fl(a){a=a|0;f[a>>2]=1336;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Gl(a,b){a=a|0;b=b|0;Th(a,b);return}function Hl(a){a=a|0;if(!a)return;km(a+4|0);Co(a);return}function Il(a){a=a|0;a=a+4|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function Jl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Oa[a&3](b|0,c|0,d|0,e|0,f|0)}function Kl(a,b,c){a=a|0;b=b|0;c=c|0;return Ii(a,b,c)|0}function Ll(a,b,c){a=a|0;b=b|0;c=c|0;return Hh(a,b,c)|0}function Ml(a,b,c){a=a|0;b=b|0;c=c|0;return mi(a,b,c)|0}function Nl(a,b,c){a=a|0;b=b|0;c=c|0;return zh(a,b,c)|0}function Ol(a,b,c){a=a|0;b=b|0;c=c|0;return +(+ai(a,b,c))}function Pl(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Ql(a,b){a=a|0;b=b|0;return Wa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Rl(a,b){a=a|0;b=b|0;return Wa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function Sl(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+24>>2]&127](a)|0}function Tl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Ul(a,b,c){a=a|0;b=b|0;c=c|0;return th(a,b,c)|0}function Vl(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function Wl(a,b,c){a=a|0;b=b|0;c=c|0;return mm(b,c)|0}function Xl(a){a=a|0;a=f[a+48>>2]|0;return Sa[f[(f[a>>2]|0)+36>>2]&127](a)|0}function Yl(a,b,c){a=a|0;b=b|0;c=c|0;return ri(a,b,c)|0}function Zl(a,b,c){a=a|0;b=b|0;c=c|0;return fi(a,b,c)|0}function _l(a){a=a|0;fm(a);f[a>>2]=2344;f[a+24>>2]=-1;return}function $l(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function am(a,b,c){a=a|0;b=b|0;c=c|0;return Og(b,c)|0}function bm(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function cm(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=$(0.0);return}function dm(){var a=0;a=Nk(40)|0;f[a>>2]=-1;_k(a+8|0);return a|0}function em(){var a=0;a=Nk(8)|0;f[a>>2]=1168;f[a+4>>2]=-1;return a|0}function fm(a){a=a|0;Fl(a);f[a>>2]=1444;f[a+20>>2]=0;return}function gm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function hm(a,b){a=a|0;b=b|0;Gl(a,b);return}function im(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function jm(a,b){a=a|0;b=b|0;return Mj(a,b)|0}function km(a){a=a|0;if((b[a+11>>0]|0)<0)Co(f[a>>2]|0);return}function lm(a){a=a|0;if(!a)return;Pa[f[(f[a>>2]|0)+4>>2]&127](a);return}function mm(a,b){a=a|0;b=b|0;return Qi(a,b)|0}function nm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Xa[a&7](b|0,c|0,d|0,e|0)}function om(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Yj(a|0,b|0,c|0)|0;return a|0}function pm(a){a=a|0;var b=0;b=a+60|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function qm(a,b,c){a=a|0;b=b|0;c=c|0;return $j(b,c)|0}function rm(a){a=a|0;var b=0;if(a>>>0>4294963200){b=oo()|0;f[b>>2]=0-a;a=-1}return a|0}function sm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Xe(a|0,b|0,c|0)|0;return a|0}function tm(a,b){a=a|0;b=b|0;return -1}function um(a){a=a|0;if(!a)a=0;else a=(wf(a,1072,1144,0)|0)!=0;return a&1|0}function vm(a){a=a|0;return 3}function wm(a){a=a|0;var b=0;b=u;u=u+16|0;Ua[a&3]();ql(20727,b)}function xm(a){a=a|0;Vf(a);Co(a);return}function ym(a){a=a|0;Gm(a);f[a>>2]=2980;f[a+48>>2]=0;return}function zm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Na[a&31](b|0,c|0,d|0)|0}function Am(a,b,c){a=a|0;b=b|0;c=c|0;Wk(a,b,c);return}function Bm(a){a=a|0;if(!a)return;Ho(a+24|0);Co(a);return}function Cm(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Dm(){var a=0;a=Nk(64)|0;wj(a);return a|0}function Em(a,b){a=a|0;b=b|0;return $(Km(a,b))}function Fm(a){a=a|0;return f[a+8>>2]|0}function Gm(a){a=a|0;Xj(a);f[a>>2]=2920;f[a+44>>2]=0;return}function Hm(a){a=a|0;if(!a)return;Kg(a);Co(a);return}function Im(a,b){a=a|0;b=b|0;return un(a,b)|0}function Jm(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Km(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function Lm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))og(b,c,a)|0;return}function Mm(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Nm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&15](b|0,c|0,d|0)}function Om(){var a=0;a=Nk(96)|0;xk(a);return a|0}function Pm(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Qm(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Rm(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Cg(a,b,0)|0;return a|0}function Sm(a){a=a|0;var b=0;b=(yo()|0)+188|0;return bi(a,f[b>>2]|0)|0}function Tm(){var a=0;a=Nk(12)|0;kn(a);return a|0}function Um(){var a=0;a=Nk(40)|0;ik(a);return a|0}function Vm(a,b){a=a|0;b=b|0;return bn(a,b)|0}function Wm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(4);return 0}function Xm(a){a=a|0;ch(a);Co(a);return}function Ym(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Zm(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function _m(a){a=a|0;tk(a);f[a>>2]=1280;return}function $m(a,b){a=a|0;b=b|0;var c=0;c=pn(a|0)|0;return ((b|0)==0?a:c)|0}function an(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function bn(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function cn(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function dn(a,b){a=a|0;b=b|0;return 1}function en(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return pc(a,b,c,d,0)|0}function fn(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function gn(){var a=0;a=Nk(84)|0;yl(a);return a|0}function hn(a){a=a|0;Ga(20247,20125,1194,20276)}function jn(a){a=a|0;Ga(20096,20125,1183,20226)}function kn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function ln(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function mn(a){a=a|0;Ga(20073,19972,315,20276)}function nn(a){a=a|0;Ga(19949,19972,304,20226)}function on(a,b,c){a=a|0;b=b|0;c=c|0;return Wa[a&127](b|0,c|0)|0}function pn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function qn(a){a=a|0;Gm(a);f[a>>2]=3320;return}function rn(){var a=0;a=Nk(1)|0;Ho(a);return a|0}function sn(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function tn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(8)}function un(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function vn(a){a=a|0;return $(n[a+20>>2])}function wn(a){a=a|0;return f[a+4>>2]|0}function xn(a){a=a|0;if(!a)return;Co(a);return}function yn(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function zn(a){a=a|0;return f[a+88>>2]|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;Qa[a&7](b|0,c|0)}function Bn(){var a=0;a=Nk(40)|0;Fk(a);return a|0}function Cn(){var a=0;a=Nk(108)|0;Gk(a);return a|0}function Dn(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function En(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(1)}function Fn(){var a=0;a=f[5360]|0;f[5360]=a+0;return a|0}function Gn(a){a=a|0;return f[a+56>>2]|0}function Hn(){var a=0;a=f[1153]|0;f[1153]=a+0;return a|0}function In(a){a=a|0;Ie(a);Co(a);return}function Jn(a){a=a|0;return b[a+24>>0]|0}function Kn(a,b){a=a|0;b=b|0;return 0}function Ln(a){a=a|0;return f[a+40>>2]|0}function Mn(a){a=a|0;return f[a+48>>2]|0}function Nn(a,b){a=a|0;b=b|0;return Sa[a&127](b|0)|0}function On(a){a=a|0;return f[a+60>>2]|0}function Pn(a){a=a|0;return f[a+28>>2]|0}function Qn(a){a=a|0;ya(a|0)|0;dk()}function Rn(a,b){a=a|0;b=b|0;u=a;v=b}function Sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(10)}function Tn(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Un(a){a=a|0;return (f[a>>2]|0)==0|0}function Vn(a){a=a|0;return f[a+80>>2]|0}function Wn(a,b){a=a|0;b=b|0;Pa[a&127](b|0)}function Xn(a,b){a=a|0;b=b|0;return Cl(a,b)|0}function Yn(a){a=a|0;b[a+12>>0]=0;return}function Zn(a){a=a|0;Ho(a);Co(a);return}function _n(a){a=a|0;return a&255|0}function $n(a){a=a|0;f[a>>2]=0;return}function ao(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function bo(a){a=a|0;return f[a>>2]|0}function co(a){a=a|0;return 2}function eo(a){a=a|0;f[a>>2]=4708;return}function fo(a){a=a|0;return 1}function go(a,b){a=+a;b=b|0;return +(+Yh(a,b))}function ho(){return 3}function io(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function jo(){return -4}function ko(){return 4}function lo(){return -3}function mo(){return 1}function no(){return 2}function oo(){return (yo()|0)+64|0}function po(){return -5}function qo(a,b){a=a|0;b=b|0;aa(9);return 0}function ro(a){a=a|0;return 20767}function so(a){a=a|0;Ua[a&3]()}function to(){return -2}function uo(){Ha()}function vo(){return -1}function wo(a,b){a=a|0;b=b|0;aa(3)}function xo(){return 0}function yo(){return Mo()|0}function zo(a){a=a|0;return Nk(a)|0}function Ao(a){a=a|0;Co(a);return}function Bo(a){a=a|0;u=a}function Co(a){a=a|0;Nb(a);return}function Do(a){a=a|0;I=a}function Eo(){return 21368}function Fo(a){a=a|0;return a|0}function Go(a){a=a|0;aa(5);return 0}function Ho(a){a=a|0;return}function Io(a){a=a|0;return 0}function Jo(){return I|0}function Ko(){return u|0}function Lo(a){a=a|0;aa(2)}function Mo(){return 3732}function No(){aa(7)} -function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0;ya=u;u=u+48|0;oa=ya+40|0;va=ya+28|0;wa=ya+8|0;X=ya+4|0;qa=ya;f[va>>2]=0;xa=va+4|0;f[xa>>2]=0;f[va+8>>2]=0;f[wa>>2]=0;f[wa+4>>2]=0;f[wa+8>>2]=0;f[wa+12>>2]=0;n[wa+16>>2]=$(1.0);pa=a+132|0;ka=f[a+136>>2]|0;a:do if((c|0)>0){ja=a+240|0;Z=a+428|0;z=a+316|0;Y=a+424|0;B=a+312|0;C=a+304|0;D=a+308|0;I=a+8|0;G=wa+4|0;E=a+396|0;H=va+8|0;ia=a+36|0;F=a+40|0;ha=c+-1|0;_=a+408|0;y=0;x=0;while(1){d=y+1|0;if((f[Z>>2]|0)!=-1?Di(_)|0:0){e=f[Z>>2]|0;f[Y>>2]=e;if(!e)la=16;else la=59}else la=5;b:do if((la|0)==5){do if(!(b[z>>0]|0))e=1;else{g=f[B>>2]|0;k=f[C>>2]|0;l=f[D>>2]|0;e=k+(g>>>3)|0;if(e>>>0>>0?(la=h[e>>0]|0,J=g+1|0,f[B>>2]=J,la&1<<(g&7)|0):0){e=k+(J>>>3)|0;if(e>>>0>>0){i=(h[e>>0]|0)>>>(J&7)&1;g=g+2|0;f[B>>2]=g}else{g=J;i=0}e=k+(g>>>3)|0;if(e>>>0>>0){e=(h[e>>0]|0)>>>(g&7);f[B>>2]=g+1;e=e<<1&2}else e=0;e=(e|i)<<1|1;break}f[Y>>2]=0;la=16;break b}while(0);f[Y>>2]=e;la=59}while(0);c:do if((la|0)==16){la=0;e=f[xa>>2]|0;if((f[va>>2]|0)==(e|0)){g=-1;break a}t=f[e+-4>>2]|0;s=(t|0)<0;d:do if(!s){e=t+(((t>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)la=19;else{k=f[I>>2]|0;i=f[k+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){q=0;break d}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){q=1;break}}}}else{e=t;la=19}while(0);if((la|0)==19){la=0;k=f[I>>2]|0;i=f[k+12>>2]|0;q=1}w=y*3|0;r=w+1|0;f[i+(t<<2)>>2]=r;f[i+(r<<2)>>2]=t;v=w+2|0;f[i+(e<<2)>>2]=v;f[i+(v<<2)>>2]=e;g=t+1|0;if(!s?(fa=((g|0)%3|0|0)==0?t+-2|0:g,(fa|0)>=0):0){o=f[k>>2]|0;p=f[o+(fa<<2)>>2]|0;f[o+(w<<2)>>2]=p;if((p|0)>-1){o=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(K=g+(l<<2)|0,(i|0)!=(K|0)):0)f[k>>2]=i+(~((i+-4-K|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=w;k=f[I>>2]|0}}else{f[(f[k>>2]|0)+(w<<2)>>2]=-1073741824;p=-1073741824}g=e+1|0;if(!q?(ea=((g|0)%3|0|0)==0?e+-2|0:g,(ea|0)>=0):0){q=f[k>>2]|0;o=f[q+(ea<<2)>>2]|0;f[q+(r<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(P=e+(k<<2)|0,(g|0)!=(P|0)):0)f[i>>2]=g+(~((g+-4-P|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=r;k=f[I>>2]|0}}else f[(f[k>>2]|0)+(r<<2)>>2]=-1073741824;if(!s?(ca=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(ca|0)>=0):0){t=f[k>>2]|0;o=f[t+(ca<<2)>>2]|0;f[t+(v<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(O=e+(k<<2)|0,(g|0)!=(O|0)):0)f[i>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);g=v;e=e+(o<<2)|0;la=56}}else{g=-1073741824;e=(f[k>>2]|0)+(v<<2)|0;la=56}if((la|0)==56){la=0;f[e>>2]=g}if((x|0)>(ka|0)){g=-1;break a}e=(f[pa>>2]|0)+(p>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(p&31));f[(f[xa>>2]|0)+-4>>2]=w;e=w;g=0;l=x}else if((la|0)==59){la=0;switch(e|0){case 3:case 5:{g=f[xa>>2]|0;if((f[va>>2]|0)==(g|0)){g=-1;break a}t=f[g+-4>>2]|0;v=y*3|0;s=((e|0)==5?2:1)+v|0;e=f[I>>2]|0;w=f[e+12>>2]|0;f[w+(s<<2)>>2]=t;f[w+(t<<2)>>2]=s;w=x+1|0;f[(f[e>>2]|0)+(s<<2)>>2]=x;if((x|0)>-1){l=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(w>>>0>k>>>0){lg(l,w-k|0);e=f[l>>2]|0;break}if(w>>>0>>0?(N=e+(w<<2)|0,(g|0)!=(N|0)):0)f[i>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=s;e=f[I>>2]|0}q=(s|0)<0;g=s+1|0;if(q)o=s;else o=((g|0)%3|0|0)==0?s+-2|0:g;r=(t|0)<0;if(!r?(ba=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(ba|0)>=0):0){x=f[e>>2]|0;p=f[x+(ba<<2)>>2]|0;f[x+(o<<2)>>2]=p;if((p|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=p>>>0){k=p+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(M=e+(k<<2)|0,(g|0)!=(M|0)):0)f[i>>2]=g+(~((g+-4-M|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=o;e=f[I>>2]|0}}else f[(f[e>>2]|0)+(o<<2)>>2]=-1073741824;do if(!q)if(!((s>>>0)%3|0)){p=s+2|0;break}else{p=s+-1|0;break}else p=s;while(0);g=t+1|0;if(!r?(da=((g|0)%3|0|0)==0?t+-2|0:g,(da|0)>=0):0){x=f[e>>2]|0;o=f[x+(da<<2)>>2]|0;f[x+(p<<2)>>2]=o;if((o|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(L=e+(k<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);g=p;e=e+(o<<2)|0;la=97}}else{g=-1073741824;e=(f[e>>2]|0)+(p<<2)|0;la=97}if((la|0)==97){la=0;f[e>>2]=g}f[(f[xa>>2]|0)+-4>>2]=v;e=v;g=1;l=w;break c}case 1:{g=f[va>>2]|0;e=f[xa>>2]|0;if((g|0)==(e|0)){g=-1;break a}q=e+-4|0;o=f[q>>2]|0;f[xa>>2]=q;l=f[G>>2]|0;e:do if(l){m=l+-1|0;k=(m&l|0)==0;if(k)p=m&y;else p=(y>>>0)%(l>>>0)|0;i=f[(f[wa>>2]|0)+(p<<2)>>2]|0;if(i){if(k)do{i=f[i>>2]|0;if(!i){e=q;break e}if((f[i+4>>2]&m|0)!=(p|0)){e=q;break e}}while((f[i+8>>2]|0)!=(y|0));else do{i=f[i>>2]|0;if(!i){e=q;break e}if((((f[i+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(p|0)){e=q;break e}}while((f[i+8>>2]|0)!=(y|0));i=i+12|0;if((q|0)==(f[H>>2]|0)){zg(va,i);g=f[va>>2]|0;e=f[xa>>2]|0;break}else{f[q>>2]=f[i>>2];f[xa>>2]=e;break}}else e=q}else e=q;while(0);if((g|0)==(e|0)){g=-1;break a}q=f[e+-4>>2]|0;v=y*3|0;t=v+2|0;e=f[I>>2]|0;w=f[e+12>>2]|0;f[w+(q<<2)>>2]=t;f[w+(t<<2)>>2]=q;s=v+1|0;f[w+(o<<2)>>2]=s;f[w+(s<<2)>>2]=o;if((q|0)>=0){g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;i=f[e>>2]|0;if((g|0)>=0){k=f[i+(g<<2)>>2]|0;f[i+(v<<2)>>2]=k;if((k|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=k>>>0){l=k+1|0;if(l>>>0>m>>>0){lg(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0>>0?(W=e+(l<<2)|0,(g|0)!=(W|0)):0)f[i>>2]=g+(~((g+-4-W|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=v;e=f[I>>2]|0;i=1}else i=0}else{f[i+(v<<2)>>2]=-1073741824;i=0;k=-1073741824}g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;l=f[e>>2]|0;if((g|0)>=0){r=f[l+(g<<2)>>2]|0;f[l+(s<<2)>>2]=r;if((r|0)>-1){q=e+24|0;l=e+28|0;g=f[l>>2]|0;e=f[q>>2]|0;p=g-e>>2;do if(p>>>0<=r>>>0){m=r+1|0;if(m>>>0>p>>>0){lg(q,m-p|0);e=f[q>>2]|0;break}if(m>>>0

>>0?(V=e+(m<<2)|0,(g|0)!=(V|0)):0)f[l>>2]=g+(~((g+-4-V|0)>>>2)<<2)}while(0);f[e+(r<<2)>>2]=s;e=f[I>>2]|0;r=i}else r=i}else{g=l;la=129}}else{g=f[e>>2]|0;f[g+(v<<2)>>2]=-1073741824;i=0;k=-1073741824;la=129}if((la|0)==129){la=0;f[g+(s<<2)>>2]=-1073741824;r=i}if((o|0)>=0){g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;i=f[e>>2]|0;if((g|0)>=0){q=f[i+(g<<2)>>2]|0;f[i+(t<<2)>>2]=q;if((q|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=q>>>0){l=q+1|0;if(l>>>0>m>>>0){lg(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0>>0?(U=e+(l<<2)|0,(g|0)!=(U|0)):0)f[i>>2]=g+(~((g+-4-U|0)>>>2)<<2)}while(0);g=t;e=e+(q<<2)|0;la=150}}else{g=-1073741824;e=i+(t<<2)|0;la=150}if((la|0)==150){la=0;f[e>>2]=g}i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;g=f[I>>2]|0;if((i|0)<0){e=g;o=i;q=-1073741824}else{e=g;o=i;q=f[(f[g>>2]|0)+(i<<2)>>2]|0}}else{f[(f[e>>2]|0)+(t<<2)>>2]=-1073741824;q=-1073741824}t=f[E>>2]|0;w=t+(k<<2)|0;f[w>>2]=(f[w>>2]|0)+(f[t+(q<<2)>>2]|0);f:do if((o|0)>-1){p=k+1|0;if(!r){l=f[e>>2]|0;m=e+12|0;g=o;while(1){f[l+(g<<2)>>2]=k;w=g+1|0;g=((w|0)%3|0|0)==0?g+-2|0:w;if((g|0)<0)break f;i=f[(f[m>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break f;g=((g|0)%3|0|0)==0?i+-2|0:g;if((g|0)<=-1)break f}}do{f[(f[e>>2]|0)+(o<<2)>>2]=k;m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=k>>>0){if(p>>>0>l>>>0){lg(m,p-l|0);e=f[m>>2]|0;break}if(p>>>0>>0?(T=e+(p<<2)|0,(g|0)!=(T|0)):0)f[i>>2]=g+(~((g+-4-T|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=o;g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;e=f[I>>2]|0;if((g|0)<0)break f;i=f[(f[e+12>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break f;o=((g|0)%3|0|0)==0?i+-2|0:g}while((o|0)>-1)}while(0);f[(f[e+24>>2]|0)+(q<<2)>>2]=-1073741824;f[(f[xa>>2]|0)+-4>>2]=v;e=v;g=0;l=x;break c}case 7:{m=y*3|0;f[oa>>2]=m;i=f[I>>2]|0;p=x+1|0;e=f[i>>2]|0;f[e+(m<<2)>>2]=x;if((x|0)<=-1){g=m+1|0;k=x+2|0;f[e+(g<<2)>>2]=p;if((x|0)==-1){e=i;o=k;la=178}else{g=m;o=k}}else{l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(p>>>0>k>>>0){lg(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0>>0?(S=e+(p<<2)|0,(g|0)!=(S|0)):0)f[i>>2]=g+(~((g+-4-S|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=m;e=f[I>>2]|0;g=(f[oa>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=p;o=x+2|0;la=178}if((la|0)==178){la=0;m=e+24|0;k=e+28|0;i=f[k>>2]|0;e=f[m>>2]|0;l=i-e>>2;do if(l>>>0<=p>>>0){if(o>>>0>l>>>0){lg(m,o-l|0);e=f[m>>2]|0;break}if(o>>>0>>0?(R=e+(o<<2)|0,(i|0)!=(R|0)):0)f[k>>2]=i+(~((i+-4-R|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=g;i=f[I>>2]|0;g=f[oa>>2]|0;e=f[i>>2]|0}m=g+2|0;p=x+3|0;f[e+(m<<2)>>2]=o;if((o|0)>-1){l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=o>>>0){if(p>>>0>k>>>0){lg(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0>>0?(Q=e+(p<<2)|0,(g|0)!=(Q|0)):0)f[i>>2]=g+(~((g+-4-Q|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=m}e=f[xa>>2]|0;if((e|0)==(f[H>>2]|0)){zg(va,oa);e=f[xa>>2]|0}else{f[e>>2]=f[oa>>2];e=e+4|0;f[xa>>2]=e}e=f[e+-4>>2]|0;g=1;l=p;break c}default:{g=-1;break a}}}while(0);f[X>>2]=e;f[oa>>2]=f[X>>2];vc(ja,oa);g:do if(g?(aa=c-y|0,ga=aa+-1|0,A=f[F>>2]|0,(A|0)!=(f[ia>>2]|0)):0){e=A;do{g=f[e+-8>>2]|0;if((g|0)>=(aa|0)){g=-1;break a}if((g|0)!=(ga|0))break g;g=b[e+-4>>0]|0;k=f[e+-12>>2]|0;f[F>>2]=e+-12;if((k|0)<0){g=-1;break a}e=f[(f[xa>>2]|0)+-4>>2]|0;i=(e|0)<0;do if(!(g&1)){if(!i)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{g=e+1|0;if(!i)e=((g|0)%3|0|0)==0?e+-2|0:g}while(0);f[oa>>2]=ha-k;y=md(wa,oa)|0;f[y>>2]=e;e=f[F>>2]|0}while((e|0)!=(f[ia>>2]|0))}while(0);if((d|0)<(c|0)){y=d;x=l}else{H=l;la=211;break}}}else{d=0;H=0;la=211}while(0);h:do if((la|0)==211)if((H|0)<=(ka|0)){g=f[xa>>2]|0;i:do if((g|0)==(f[va>>2]|0))e=a+8|0;else{v=a+278|0;w=a+372|0;x=a+368|0;y=a+360|0;z=a+364|0;e=a+8|0;G=a+60|0;E=a+64|0;C=a+68|0;B=a+76|0;D=a+80|0;F=a+72|0;A=a+320|0;j:while(1){la=g;f[oa>>2]=f[la+-4>>2];f[xa>>2]=la+-4;if((j[v>>1]|0)<514)if(b[w>>0]|0){g=f[x>>2]|0;i=(f[y>>2]|0)+(g>>>3)|0;if(i>>>0<(f[z>>2]|0)>>>0){la=(h[i>>0]|0)>>>(g&7)&1;f[x>>2]=g+1;g=la;la=220}else la=276}else la=221;else{g=(Di(A)|0)&1;la=220}if((la|0)==220)if(!g)la=276;else la=221;do if((la|0)==221){la=0;k=f[e>>2]|0;ka=f[k>>2]|0;r=ka;if((d|0)>=(((f[k+4>>2]|0)-ka>>2>>>0)/3|0|0))break j;q=f[oa>>2]|0;m=(q|0)<0;k:do if(!m){g=q+(((q>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[k+12>>2]|0;l=g;while(1){g=f[i+(l<<2)>>2]|0;if((g|0)<=-1){i=0;g=l;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else l=g}if(m){l=q;la=229;break}}else i=1;l=q+1|0;l=((l|0)%3|0|0)==0?q+-2|0:l;if((l|0)<0)la=229;else{m=f[k+12>>2]|0;o=l;while(1){l=f[m+(o<<2)>>2]|0;if((l|0)<=-1){s=0;p=g;l=o;break k}ka=l+1|0;l=((ka|0)%3|0|0)==0?l+-2|0:ka;if((l|0)<0){s=1;p=g;break}else o=l}}}else{i=1;g=q;l=q;la=229}while(0);if((la|0)==229){m=f[k+12>>2]|0;s=1;p=g}t=d+1|0;d=d*3|0;f[qa>>2]=d;f[m+(d<<2)>>2]=q;f[m+(q<<2)>>2]=d;d=(f[qa>>2]|0)+1|0;f[m+(d<<2)>>2]=p;f[m+(p<<2)>>2]=d;d=(f[qa>>2]|0)+2|0;f[m+(d<<2)>>2]=l;f[m+(l<<2)>>2]=d;d=f[qa>>2]|0;g=p+1|0;if(!i?(ta=((g|0)%3|0|0)==0?p+-2|0:g,(ta|0)>=0):0){q=f[r+(ta<<2)>>2]|0;f[r+(d<<2)>>2]=q;if((q|0)>-1){p=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){lg(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0>>0?(na=g+(m<<2)|0,(i|0)!=(na|0)):0)f[k>>2]=i+(~((i+-4-na|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=d;d=f[qa>>2]|0;k=f[e>>2]|0}}else f[r+(d<<2)>>2]=-1073741824;p=d+1|0;g=l+1|0;if(!s?(sa=((g|0)%3|0|0)==0?l+-2|0:g,(sa|0)>=0):0){la=f[k>>2]|0;o=f[la+(sa<<2)>>2]|0;f[la+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0>>0?(ma=d+(k<<2)|0,(g|0)!=(ma|0)):0)f[i>>2]=g+(~((g+-4-ma|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[qa>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;q=d+2|0;g=f[oa>>2]|0;i=g+1|0;if((g|0)>=0?(ra=((i|0)%3|0|0)==0?g+-2|0:i,(ra|0)>=0):0){la=f[k>>2]|0;p=f[la+(ra<<2)>>2]|0;f[la+(q<<2)>>2]=p;if((p|0)>-1){o=k+24|0;m=k+28|0;g=f[m>>2]|0;d=f[o>>2]|0;l=g-d>>2;do if(l>>>0<=p>>>0){k=p+1|0;i=g;if(k>>>0>l>>>0){lg(o,k-l|0);d=f[o>>2]|0;break}if(k>>>0>>0){g=d+(k<<2)|0;if((i|0)==(g|0))break;f[m>>2]=i+(~((i+-4-g|0)>>>2)<<2)}}while(0);f[d+(p<<2)>>2]=q;d=f[qa>>2]|0}}else f[(f[k>>2]|0)+(q<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[pa>>2]|0;la=g+(d>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(d&31));d=f[qa>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;la=g+(d>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(d&31));d=f[qa>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[E>>2]|0;g=f[C>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){nn(G);g=f[C>>2]|0}la=g<<6;d=d+32&-32;ig(G,g<<5>>>0<1073741823?(la>>>0>>0?d:la):2147483647);d=f[E>>2]|0}f[E>>2]=d+1;la=(f[G>>2]|0)+(d>>>5<<2)|0;f[la>>2]=f[la>>2]|1<<(d&31);d=f[B>>2]|0;if((d|0)==(f[D>>2]|0))zg(F,qa);else{f[d>>2]=f[qa>>2];f[B>>2]=d+4}d=t}else if((la|0)==276){g=f[E>>2]|0;i=f[C>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){nn(G);i=f[C>>2]|0}la=i<<6;g=g+32&-32;ig(G,i<<5>>>0<1073741823?(la>>>0>>0?g:la):2147483647);g=f[E>>2]|0}f[E>>2]=g+1;la=(f[G>>2]|0)+(g>>>5<<2)|0;f[la>>2]=f[la>>2]&~(1<<(g&31));g=f[B>>2]|0;if((g|0)==(f[D>>2]|0)){zg(F,oa);break}else{f[g>>2]=f[oa>>2];f[B>>2]=g+4;break}}while(0);g=f[xa>>2]|0;if((g|0)==(f[va>>2]|0))break i}g=-1;break h}while(0);ta=f[e>>2]|0;if((d|0)==(((f[ta+4>>2]|0)-(f[ta>>2]|0)>>2>>>0)/3|0|0)){k=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[k>>2]|0;i=e-d>>2;if(H>>>0>i>>>0){lg(k,H-i|0);g=H;break}if(H>>>0>>0?(ua=d+(H<<2)|0,(e|0)!=(ua|0)):0){f[g>>2]=e+(~((e+-4-ua|0)>>>2)<<2);g=H}else g=H}else g=-1}else g=-1;while(0);d=f[wa+8>>2]|0;if(d|0)do{ua=d;d=f[d>>2]|0;Co(ua)}while((d|0)!=0);d=f[wa>>2]|0;f[wa>>2]=0;if(d|0)Co(d);d=f[va>>2]|0;if(!d){u=ya;return g|0}e=f[xa>>2]|0;if((e|0)!=(d|0))f[xa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=ya;return g|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;qa=u;u=u+48|0;ga=qa+40|0;na=qa+28|0;oa=qa+8|0;S=qa+4|0;ia=qa;f[na>>2]=0;pa=na+4|0;f[pa>>2]=0;f[na+8>>2]=0;f[oa>>2]=0;f[oa+4>>2]=0;f[oa+8>>2]=0;f[oa+12>>2]=0;n[oa+16>>2]=$(1.0);ha=a+132|0;ca=f[a+136>>2]|0;a:do if((c|0)>0){ba=a+240|0;C=a+8|0;aa=a+36|0;B=a+40|0;_=c+-1|0;D=oa+4|0;A=a+396|0;E=na+8|0;y=0;x=0;while(1){d=y+1|0;g=cf(ba)|0;b:do if(!g){e=f[pa>>2]|0;if((f[na>>2]|0)==(e|0)){g=-1;break a}t=f[e+-4>>2]|0;s=(t|0)<0;c:do if(!s){e=t+(((t>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)da=7;else{k=f[C>>2]|0;i=f[k+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){q=0;break c}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){q=1;break}}}}else{e=t;da=7}while(0);if((da|0)==7){da=0;k=f[C>>2]|0;i=f[k+12>>2]|0;q=1}w=y*3|0;r=w+1|0;f[i+(t<<2)>>2]=r;f[i+(r<<2)>>2]=t;v=w+2|0;f[i+(e<<2)>>2]=v;f[i+(v<<2)>>2]=e;g=t+1|0;if(!s?(Y=((g|0)%3|0|0)==0?t+-2|0:g,(Y|0)>=0):0){o=f[k>>2]|0;p=f[o+(Y<<2)>>2]|0;f[o+(w<<2)>>2]=p;if((p|0)>-1){o=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(F=g+(l<<2)|0,(i|0)!=(F|0)):0)f[k>>2]=i+(~((i+-4-F|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=w;k=f[C>>2]|0}}else{f[(f[k>>2]|0)+(w<<2)>>2]=-1073741824;p=-1073741824}g=e+1|0;if(!q?(X=((g|0)%3|0|0)==0?e+-2|0:g,(X|0)>=0):0){q=f[k>>2]|0;o=f[q+(X<<2)>>2]|0;f[q+(r<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(K=e+(k<<2)|0,(g|0)!=(K|0)):0)f[i>>2]=g+(~((g+-4-K|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=r;e=f[C>>2]|0}else e=k}else{f[(f[k>>2]|0)+(r<<2)>>2]=-1073741824;e=k}if(!s?(V=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(V|0)>=0):0){t=f[e>>2]|0;o=f[t+(V<<2)>>2]|0;f[t+(v<<2)>>2]=o;if((o|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(J=e+(k<<2)|0,(g|0)!=(J|0)):0)f[i>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);g=v;e=e+(o<<2)|0;da=44}}else{g=-1073741824;e=(f[e>>2]|0)+(v<<2)|0;da=44}if((da|0)==44){da=0;f[e>>2]=g}if((x|0)>(ca|0)){g=-1;break a}e=(f[ha>>2]|0)+(p>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(p&31));f[(f[pa>>2]|0)+-4>>2]=w;e=w;g=0;l=x}else switch(g|0){case 3:case 5:{e=f[pa>>2]|0;if((f[na>>2]|0)==(e|0)){g=-1;break a}t=f[e+-4>>2]|0;v=y*3|0;s=((g|0)==5?2:1)+v|0;e=f[C>>2]|0;w=f[e+12>>2]|0;f[w+(s<<2)>>2]=t;f[w+(t<<2)>>2]=s;w=x+1|0;f[(f[e>>2]|0)+(s<<2)>>2]=x;if((x|0)>-1){l=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(w>>>0>k>>>0){lg(l,w-k|0);e=f[l>>2]|0;break}if(w>>>0>>0?(I=e+(w<<2)|0,(g|0)!=(I|0)):0)f[i>>2]=g+(~((g+-4-I|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=s;e=f[C>>2]|0}q=(s|0)<0;g=s+1|0;if(q)o=s;else o=((g|0)%3|0|0)==0?s+-2|0:g;r=(t|0)<0;if(!r?(U=(((t>>>0)%3|0|0)==0?2:-1)+t|0,(U|0)>=0):0){x=f[e>>2]|0;p=f[x+(U<<2)>>2]|0;f[x+(o<<2)>>2]=p;if((p|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=p>>>0){k=p+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(H=e+(k<<2)|0,(g|0)!=(H|0)):0)f[i>>2]=g+(~((g+-4-H|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=o;e=f[C>>2]|0}}else f[(f[e>>2]|0)+(o<<2)>>2]=-1073741824;do if(!q)if(!((s>>>0)%3|0)){p=s+2|0;break}else{p=s+-1|0;break}else p=s;while(0);g=t+1|0;if(!r?(W=((g|0)%3|0|0)==0?t+-2|0:g,(W|0)>=0):0){x=f[e>>2]|0;o=f[x+(W<<2)>>2]|0;f[x+(p<<2)>>2]=o;if((o|0)>-1){m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);e=f[m>>2]|0;break}if(k>>>0>>0?(G=e+(k<<2)|0,(g|0)!=(G|0)):0)f[i>>2]=g+(~((g+-4-G|0)>>>2)<<2)}while(0);g=p;e=e+(o<<2)|0;da=85}}else{g=-1073741824;e=(f[e>>2]|0)+(p<<2)|0;da=85}if((da|0)==85){da=0;f[e>>2]=g}f[(f[pa>>2]|0)+-4>>2]=v;e=v;g=1;l=w;break b}case 1:{g=f[na>>2]|0;e=f[pa>>2]|0;if((g|0)==(e|0)){g=-1;break a}q=e+-4|0;o=f[q>>2]|0;f[pa>>2]=q;l=f[D>>2]|0;d:do if(l){m=l+-1|0;k=(m&l|0)==0;if(k)p=m&y;else p=(y>>>0)%(l>>>0)|0;i=f[(f[oa>>2]|0)+(p<<2)>>2]|0;if(i){if(k)do{i=f[i>>2]|0;if(!i){e=q;break d}if((f[i+4>>2]&m|0)!=(p|0)){e=q;break d}}while((f[i+8>>2]|0)!=(y|0));else do{i=f[i>>2]|0;if(!i){e=q;break d}if((((f[i+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(p|0)){e=q;break d}}while((f[i+8>>2]|0)!=(y|0));i=i+12|0;if((q|0)==(f[E>>2]|0)){zg(na,i);g=f[na>>2]|0;e=f[pa>>2]|0;break}else{f[q>>2]=f[i>>2];f[pa>>2]=e;break}}else e=q}else e=q;while(0);if((g|0)==(e|0)){g=-1;break a}q=f[e+-4>>2]|0;v=y*3|0;t=v+2|0;e=f[C>>2]|0;w=f[e+12>>2]|0;f[w+(q<<2)>>2]=t;f[w+(t<<2)>>2]=q;s=v+1|0;f[w+(o<<2)>>2]=s;f[w+(s<<2)>>2]=o;if((q|0)>=0){g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;i=f[e>>2]|0;if((g|0)>=0){k=f[i+(g<<2)>>2]|0;f[i+(v<<2)>>2]=k;if((k|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=k>>>0){l=k+1|0;if(l>>>0>m>>>0){lg(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0>>0?(R=e+(l<<2)|0,(g|0)!=(R|0)):0)f[i>>2]=g+(~((g+-4-R|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=v;e=f[C>>2]|0;i=1}else i=0}else{f[i+(v<<2)>>2]=-1073741824;i=0;k=-1073741824}g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;l=f[e>>2]|0;if((g|0)>=0){r=f[l+(g<<2)>>2]|0;f[l+(s<<2)>>2]=r;if((r|0)>-1){q=e+24|0;l=e+28|0;g=f[l>>2]|0;e=f[q>>2]|0;p=g-e>>2;do if(p>>>0<=r>>>0){m=r+1|0;if(m>>>0>p>>>0){lg(q,m-p|0);e=f[q>>2]|0;break}if(m>>>0

>>0?(Q=e+(m<<2)|0,(g|0)!=(Q|0)):0)f[l>>2]=g+(~((g+-4-Q|0)>>>2)<<2)}while(0);f[e+(r<<2)>>2]=s;e=f[C>>2]|0;r=i}else r=i}else{g=l;da=117}}else{g=f[e>>2]|0;f[g+(v<<2)>>2]=-1073741824;i=0;k=-1073741824;da=117}if((da|0)==117){da=0;f[g+(s<<2)>>2]=-1073741824;r=i}if((o|0)>=0){g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;i=f[e>>2]|0;if((g|0)>=0){q=f[i+(g<<2)>>2]|0;f[i+(t<<2)>>2]=q;if((q|0)>-1){p=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[p>>2]|0;m=g-e>>2;do if(m>>>0<=q>>>0){l=q+1|0;if(l>>>0>m>>>0){lg(p,l-m|0);e=f[p>>2]|0;break}if(l>>>0>>0?(P=e+(l<<2)|0,(g|0)!=(P|0)):0)f[i>>2]=g+(~((g+-4-P|0)>>>2)<<2)}while(0);g=t;e=e+(q<<2)|0;da=138}}else{g=-1073741824;e=i+(t<<2)|0;da=138}if((da|0)==138){da=0;f[e>>2]=g}i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;g=f[C>>2]|0;if((i|0)<0){e=g;o=i;q=-1073741824}else{e=g;o=i;q=f[(f[g>>2]|0)+(i<<2)>>2]|0}}else{f[(f[e>>2]|0)+(t<<2)>>2]=-1073741824;q=-1073741824}t=f[A>>2]|0;w=t+(k<<2)|0;f[w>>2]=(f[w>>2]|0)+(f[t+(q<<2)>>2]|0);e:do if((o|0)>-1){p=k+1|0;if(!r){l=f[e>>2]|0;m=e+12|0;g=o;while(1){f[l+(g<<2)>>2]=k;w=g+1|0;g=((w|0)%3|0|0)==0?g+-2|0:w;if((g|0)<0)break e;i=f[(f[m>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break e;g=((g|0)%3|0|0)==0?i+-2|0:g;if((g|0)<=-1)break e}}do{f[(f[e>>2]|0)+(o<<2)>>2]=k;m=e+24|0;i=e+28|0;g=f[i>>2]|0;e=f[m>>2]|0;l=g-e>>2;do if(l>>>0<=k>>>0){if(p>>>0>l>>>0){lg(m,p-l|0);e=f[m>>2]|0;break}if(p>>>0>>0?(O=e+(p<<2)|0,(g|0)!=(O|0)):0)f[i>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);f[e+(k<<2)>>2]=o;g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;e=f[C>>2]|0;if((g|0)<0)break e;i=f[(f[e+12>>2]|0)+(g<<2)>>2]|0;g=i+1|0;if((i|0)<0)break e;o=((g|0)%3|0|0)==0?i+-2|0:g}while((o|0)>-1)}while(0);f[(f[e+24>>2]|0)+(q<<2)>>2]=-1073741824;f[(f[pa>>2]|0)+-4>>2]=v;e=v;g=0;l=x;break b}case 7:{m=y*3|0;f[ga>>2]=m;i=f[C>>2]|0;p=x+1|0;e=f[i>>2]|0;f[e+(m<<2)>>2]=x;if((x|0)<=-1){g=m+1|0;k=x+2|0;f[e+(g<<2)>>2]=p;if((x|0)==-1){e=i;o=k;da=166}else{g=m;o=k}}else{l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=x>>>0){if(p>>>0>k>>>0){lg(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0>>0?(N=e+(p<<2)|0,(g|0)!=(N|0)):0)f[i>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(x<<2)>>2]=m;e=f[C>>2]|0;g=(f[ga>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=p;o=x+2|0;da=166}if((da|0)==166){da=0;m=e+24|0;k=e+28|0;i=f[k>>2]|0;e=f[m>>2]|0;l=i-e>>2;do if(l>>>0<=p>>>0){if(o>>>0>l>>>0){lg(m,o-l|0);e=f[m>>2]|0;break}if(o>>>0>>0?(M=e+(o<<2)|0,(i|0)!=(M|0)):0)f[k>>2]=i+(~((i+-4-M|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=g;i=f[C>>2]|0;g=f[ga>>2]|0;e=f[i>>2]|0}m=g+2|0;p=x+3|0;f[e+(m<<2)>>2]=o;if((o|0)>-1){l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=o>>>0){if(p>>>0>k>>>0){lg(l,p-k|0);e=f[l>>2]|0;break}if(p>>>0>>0?(L=e+(p<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=m}e=f[pa>>2]|0;if((e|0)==(f[E>>2]|0)){zg(na,ga);e=f[pa>>2]|0}else{f[e>>2]=f[ga>>2];e=e+4|0;f[pa>>2]=e}e=f[e+-4>>2]|0;g=1;l=p;break b}default:{g=-1;break a}}while(0);f[S>>2]=e;f[ga>>2]=f[S>>2];yc(ba,ga);f:do if(g?(T=c-y|0,Z=T+-1|0,z=f[B>>2]|0,(z|0)!=(f[aa>>2]|0)):0){e=z;do{g=f[e+-8>>2]|0;if((g|0)>=(T|0)){g=-1;break a}if((g|0)!=(Z|0))break f;g=b[e+-4>>0]|0;k=f[e+-12>>2]|0;f[B>>2]=e+-12;if((k|0)<0){g=-1;break a}e=f[(f[pa>>2]|0)+-4>>2]|0;i=(e|0)<0;do if(!(g&1)){if(!i)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{g=e+1|0;if(!i)e=((g|0)%3|0|0)==0?e+-2|0:g}while(0);f[ga>>2]=_-k;y=md(oa,ga)|0;f[y>>2]=e;e=f[B>>2]|0}while((e|0)!=(f[aa>>2]|0))}while(0);if((d|0)<(c|0)){y=d;x=l}else{H=l;da=199;break}}}else{d=0;H=0;da=199}while(0);g:do if((da|0)==199)if((H|0)<=(ca|0)){g=f[pa>>2]|0;h:do if((g|0)==(f[na>>2]|0))e=a+8|0;else{v=a+278|0;w=a+372|0;x=a+368|0;y=a+360|0;z=a+364|0;e=a+8|0;G=a+60|0;E=a+64|0;C=a+68|0;B=a+76|0;D=a+80|0;F=a+72|0;A=a+320|0;i:while(1){da=g;f[ga>>2]=f[da+-4>>2];f[pa>>2]=da+-4;if((j[v>>1]|0)<514)if(b[w>>0]|0){g=f[x>>2]|0;i=(f[y>>2]|0)+(g>>>3)|0;if(i>>>0<(f[z>>2]|0)>>>0){da=(h[i>>0]|0)>>>(g&7)&1;f[x>>2]=g+1;g=da;da=208}else da=264}else da=209;else{g=(Di(A)|0)&1;da=208}if((da|0)==208)if(!g)da=264;else da=209;do if((da|0)==209){da=0;k=f[e>>2]|0;ca=f[k>>2]|0;r=ca;if((d|0)>=(((f[k+4>>2]|0)-ca>>2>>>0)/3|0|0))break i;q=f[ga>>2]|0;m=(q|0)<0;j:do if(!m){g=q+(((q>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[k+12>>2]|0;l=g;while(1){g=f[i+(l<<2)>>2]|0;if((g|0)<=-1){i=0;g=l;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else l=g}if(m){l=q;da=217;break}}else i=1;l=q+1|0;l=((l|0)%3|0|0)==0?q+-2|0:l;if((l|0)<0)da=217;else{m=f[k+12>>2]|0;o=l;while(1){l=f[m+(o<<2)>>2]|0;if((l|0)<=-1){s=0;p=g;l=o;break j}ca=l+1|0;l=((ca|0)%3|0|0)==0?l+-2|0:ca;if((l|0)<0){s=1;p=g;break}else o=l}}}else{i=1;g=q;l=q;da=217}while(0);if((da|0)==217){m=f[k+12>>2]|0;s=1;p=g}t=d+1|0;d=d*3|0;f[ia>>2]=d;f[m+(d<<2)>>2]=q;f[m+(q<<2)>>2]=d;d=(f[ia>>2]|0)+1|0;f[m+(d<<2)>>2]=p;f[m+(p<<2)>>2]=d;d=(f[ia>>2]|0)+2|0;f[m+(d<<2)>>2]=l;f[m+(l<<2)>>2]=d;d=f[ia>>2]|0;g=p+1|0;if(!i?(la=((g|0)%3|0|0)==0?p+-2|0:g,(la|0)>=0):0){q=f[r+(la<<2)>>2]|0;f[r+(d<<2)>>2]=q;if((q|0)>-1){p=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){lg(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0>>0?(fa=g+(m<<2)|0,(i|0)!=(fa|0)):0)f[k>>2]=i+(~((i+-4-fa|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=d;d=f[ia>>2]|0;k=f[e>>2]|0}}else f[r+(d<<2)>>2]=-1073741824;p=d+1|0;g=l+1|0;if(!s?(ka=((g|0)%3|0|0)==0?l+-2|0:g,(ka|0)>=0):0){da=f[k>>2]|0;o=f[da+(ka<<2)>>2]|0;f[da+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0>>0?(ea=d+(k<<2)|0,(g|0)!=(ea|0)):0)f[i>>2]=g+(~((g+-4-ea|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[ia>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;q=d+2|0;g=f[ga>>2]|0;i=g+1|0;if((g|0)>=0?(ja=((i|0)%3|0|0)==0?g+-2|0:i,(ja|0)>=0):0){da=f[k>>2]|0;p=f[da+(ja<<2)>>2]|0;f[da+(q<<2)>>2]=p;if((p|0)>-1){o=k+24|0;m=k+28|0;g=f[m>>2]|0;d=f[o>>2]|0;l=g-d>>2;do if(l>>>0<=p>>>0){k=p+1|0;i=g;if(k>>>0>l>>>0){lg(o,k-l|0);d=f[o>>2]|0;break}if(k>>>0>>0){g=d+(k<<2)|0;if((i|0)==(g|0))break;f[m>>2]=i+(~((i+-4-g|0)>>>2)<<2)}}while(0);f[d+(p<<2)>>2]=q;d=f[ia>>2]|0}}else f[(f[k>>2]|0)+(q<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[ha>>2]|0;da=g+(d>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(d&31));d=f[ia>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;da=g+(d>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(d&31));d=f[ia>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[E>>2]|0;g=f[C>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){nn(G);g=f[C>>2]|0}da=g<<6;d=d+32&-32;ig(G,g<<5>>>0<1073741823?(da>>>0>>0?d:da):2147483647);d=f[E>>2]|0}f[E>>2]=d+1;da=(f[G>>2]|0)+(d>>>5<<2)|0;f[da>>2]=f[da>>2]|1<<(d&31);d=f[B>>2]|0;if((d|0)==(f[D>>2]|0))zg(F,ia);else{f[d>>2]=f[ia>>2];f[B>>2]=d+4}d=t}else if((da|0)==264){g=f[E>>2]|0;i=f[C>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){nn(G);i=f[C>>2]|0}da=i<<6;g=g+32&-32;ig(G,i<<5>>>0<1073741823?(da>>>0>>0?g:da):2147483647);g=f[E>>2]|0}f[E>>2]=g+1;da=(f[G>>2]|0)+(g>>>5<<2)|0;f[da>>2]=f[da>>2]&~(1<<(g&31));g=f[B>>2]|0;if((g|0)==(f[D>>2]|0)){zg(F,ga);break}else{f[g>>2]=f[ga>>2];f[B>>2]=g+4;break}}while(0);g=f[pa>>2]|0;if((g|0)==(f[na>>2]|0))break h}g=-1;break g}while(0);la=f[e>>2]|0;if((d|0)==(((f[la+4>>2]|0)-(f[la>>2]|0)>>2>>>0)/3|0|0)){k=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[k>>2]|0;i=e-d>>2;if(H>>>0>i>>>0){lg(k,H-i|0);g=H;break}if(H>>>0>>0?(ma=d+(H<<2)|0,(e|0)!=(ma|0)):0){f[g>>2]=e+(~((e+-4-ma|0)>>>2)<<2);g=H}else g=H}else g=-1}else g=-1;while(0);d=f[oa+8>>2]|0;if(d|0)do{ma=d;d=f[d>>2]|0;Co(ma)}while((d|0)!=0);d=f[oa>>2]|0;f[oa>>2]=0;if(d|0)Co(d);d=f[na>>2]|0;if(!d){u=qa;return g|0}e=f[pa>>2]|0;if((e|0)!=(d|0))f[pa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=qa;return g|0}function _a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;pa=u;u=u+48|0;ma=pa+28|0;na=pa+8|0;fa=pa+4|0;ha=pa;f[ma>>2]=0;oa=ma+4|0;f[oa>>2]=0;f[ma+8>>2]=0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;n[na+16>>2]=$(1.0);ga=a+132|0;ca=f[a+136>>2]|0;a:do if((c|0)>0){U=a+316|0;B=na+4|0;C=a+8|0;D=ma+8|0;V=a+312|0;S=a+304|0;T=a+308|0;ba=a+36|0;A=a+40|0;aa=c+-1|0;y=0;z=0;b:while(1){d=y+1|0;c:do if(!(b[U>>0]|0))I=93;else{g=f[V>>2]|0;k=f[S>>2]|0;l=f[T>>2]|0;e=k+(g>>>3)|0;if(e>>>0>>0?(x=h[e>>0]|0,E=g+1|0,f[V>>2]=E,x&1<<(g&7)|0):0){e=k+(E>>>3)|0;if(e>>>0>>0){i=(h[e>>0]|0)>>>(E&7)&1;g=g+2|0;f[V>>2]=g}else{g=E;i=0}e=k+(g>>>3)|0;if(e>>>0>>0){e=(h[e>>0]|0)>>>(g&7);f[V>>2]=g+1;e=e<<1&2}else e=0;g=(e|i)<<1|1;switch(g&7){case 1:{I=93;break c}case 3:case 5:{e=f[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){H=-1;break a}w=f[e+-4>>2]|0;x=y*3|0;v=((g|0)==5?2:1)+x|0;g=f[C>>2]|0;e=f[g+12>>2]|0;f[e+(v<<2)>>2]=w;f[e+(w<<2)>>2]=v;e=z+1|0;f[(f[g>>2]|0)+(v<<2)>>2]=z;if((z|0)>-1){m=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=z>>>0){if(e>>>0>l>>>0){lg(m,e-l|0);g=f[m>>2]|0;break}if(e>>>0>>0?(G=g+(e<<2)|0,(i|0)!=(G|0)):0)f[k>>2]=i+(~((i+-4-G|0)>>>2)<<2)}while(0);f[g+(z<<2)>>2]=v;g=f[C>>2]|0}s=(v|0)<0;i=v+1|0;if(s)q=v;else q=((i|0)%3|0|0)==0?v+-2|0:i;t=(w|0)<0;if(!t?(W=(((w>>>0)%3|0|0)==0?2:-1)+w|0,(W|0)>=0):0){z=f[g>>2]|0;r=f[z+(W<<2)>>2]|0;f[z+(q<<2)>>2]=r;if((r|0)>-1){p=g+24|0;o=g+28|0;i=f[o>>2]|0;g=f[p>>2]|0;m=i-g>>2;do if(m>>>0<=r>>>0){l=r+1|0;k=i;if(l>>>0>m>>>0){lg(p,l-m|0);g=f[p>>2]|0;break}if(l>>>0>=m>>>0)break;i=g+(l<<2)|0;if((k|0)==(i|0))break;f[o>>2]=k+(~((k+-4-i|0)>>>2)<<2)}while(0);f[g+(r<<2)>>2]=q;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(q<<2)>>2]=-1073741824;do if(!s)if(!((v>>>0)%3|0)){r=v+2|0;break}else{r=v+-1|0;break}else r=v;while(0);i=w+1|0;if(!t?(Y=((i|0)%3|0|0)==0?w+-2|0:i,(Y|0)>=0):0){z=f[g>>2]|0;q=f[z+(Y<<2)>>2]|0;f[z+(r<<2)>>2]=q;if((q|0)>-1){p=g+24|0;o=g+28|0;i=f[o>>2]|0;g=f[p>>2]|0;m=i-g>>2;do if(m>>>0<=q>>>0){l=q+1|0;k=i;if(l>>>0>m>>>0){lg(p,l-m|0);g=f[p>>2]|0;break}if(l>>>0>=m>>>0)break;i=g+(l<<2)|0;if((k|0)==(i|0))break;f[o>>2]=k+(~((k+-4-i|0)>>>2)<<2)}while(0);i=r;g=g+(q<<2)|0;I=91}}else{i=-1073741824;g=(f[g>>2]|0)+(r<<2)|0;I=91}if((I|0)==91){I=0;f[g>>2]=i}f[(f[oa>>2]|0)+-4>>2]=x;break}case 7:{m=y*3|0;f[fa>>2]=m;i=f[C>>2]|0;o=z+1|0;e=f[i>>2]|0;f[e+(m<<2)>>2]=z;if((z|0)<=-1){g=m+1|0;k=z+2|0;f[e+(g<<2)>>2]=o;if((z|0)==-1){e=i;p=k;I=170}else{g=m;p=k}}else{l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=z>>>0){if(o>>>0>k>>>0){lg(l,o-k|0);e=f[l>>2]|0;break}if(o>>>0>>0?(N=e+(o<<2)|0,(g|0)!=(N|0)):0)f[i>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(z<<2)>>2]=m;e=f[C>>2]|0;g=(f[fa>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=o;p=z+2|0;I=170}if((I|0)==170){I=0;m=e+24|0;k=e+28|0;i=f[k>>2]|0;e=f[m>>2]|0;l=i-e>>2;do if(l>>>0<=o>>>0){if(p>>>0>l>>>0){lg(m,p-l|0);e=f[m>>2]|0;break}if(p>>>0>>0?(M=e+(p<<2)|0,(i|0)!=(M|0)):0)f[k>>2]=i+(~((i+-4-M|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=g;i=f[C>>2]|0;g=f[fa>>2]|0;e=f[i>>2]|0}m=g+2|0;o=z+3|0;f[e+(m<<2)>>2]=p;if((p|0)>-1){l=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;do if(k>>>0<=p>>>0){if(o>>>0>k>>>0){lg(l,o-k|0);e=f[l>>2]|0;break}if(o>>>0>>0?(L=e+(o<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=m}e=f[oa>>2]|0;if((e|0)==(f[D>>2]|0))zg(ma,fa);else{f[e>>2]=f[fa>>2];f[oa>>2]=e+4}e=o;break}default:break b}m=c-y|0;o=m+-1|0;g=f[A>>2]|0;if((g|0)==(f[ba>>2]|0))break;while(1){i=f[g+-8>>2]|0;if((i|0)>=(m|0)){H=-1;break a}if((i|0)!=(o|0))break c;i=b[g+-4>>0]|0;l=f[g+-12>>2]|0;f[A>>2]=g+-12;if((l|0)<0){H=-1;break a}g=f[(f[oa>>2]|0)+-4>>2]|0;k=(g|0)<0;do if(!(i&1)){if(!k)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else{i=g+1|0;if(!k)g=((i|0)%3|0|0)==0?g+-2|0:i}while(0);f[fa>>2]=aa-l;z=md(na,fa)|0;f[z>>2]=g;g=f[A>>2]|0;if((g|0)==(f[ba>>2]|0))break c}}e=f[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){H=-1;break a}w=f[e+-4>>2]|0;v=(w|0)<0;d:do if(!v){e=w+(((w>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)I=13;else{k=f[C>>2]|0;i=f[k+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){g=k;r=0;q=e;break d}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){g=k;r=1;q=e;break}}}}else{e=w;I=13}while(0);if((I|0)==13){I=0;g=f[C>>2]|0;i=f[g+12>>2]|0;r=1;q=e}e=y*3|0;s=e+1|0;f[i+(w<<2)>>2]=s;f[i+(s<<2)>>2]=w;x=e+2|0;f[i+(q<<2)>>2]=x;f[i+(x<<2)>>2]=q;i=w+1|0;if(!v?(_=((i|0)%3|0|0)==0?w+-2|0:i,(_|0)>=0):0){y=f[g>>2]|0;p=f[y+(_<<2)>>2]|0;f[y+(e<<2)>>2]=p;if((p|0)>-1){o=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(F=g+(l<<2)|0,(i|0)!=(F|0)):0)f[k>>2]=i+(~((i+-4-F|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=e;g=f[C>>2]|0;t=p}else t=p}else{f[(f[g>>2]|0)+(e<<2)>>2]=-1073741824;t=-1073741824}i=q+1|0;if(!r?(Z=((i|0)%3|0|0)==0?q+-2|0:i,(Z|0)>=0):0){y=f[g>>2]|0;p=f[y+(Z<<2)>>2]|0;f[y+(s<<2)>>2]=p;if((p|0)>-1){o=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(K=g+(l<<2)|0,(i|0)!=(K|0)):0)f[k>>2]=i+(~((i+-4-K|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=s;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(s<<2)>>2]=-1073741824;if(!v?(X=(((w>>>0)%3|0|0)==0?2:-1)+w|0,(X|0)>=0):0){y=f[g>>2]|0;p=f[y+(X<<2)>>2]|0;f[y+(x<<2)>>2]=p;if((p|0)>-1){o=g+24|0;k=g+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(J=g+(l<<2)|0,(i|0)!=(J|0)):0)f[k>>2]=i+(~((i+-4-J|0)>>>2)<<2)}while(0);i=x;g=g+(p<<2)|0;I=50}}else{i=-1073741824;g=(f[g>>2]|0)+(x<<2)|0;I=50}if((I|0)==50){I=0;f[g>>2]=i}if((z|0)>(ca|0)){H=-1;break a}I=(f[ga>>2]|0)+(t>>>5<<2)|0;f[I>>2]=f[I>>2]&~(1<<(t&31));I=189}while(0);if((I|0)==93){I=0;g=f[ma>>2]|0;e=f[oa>>2]|0;if((g|0)==(e|0)){H=-1;break a}p=e+-4|0;v=f[p>>2]|0;f[oa>>2]=p;l=f[B>>2]|0;e:do if(l){m=l+-1|0;k=(m&l|0)==0;if(k)o=m&y;else o=(y>>>0)%(l>>>0)|0;i=f[(f[na>>2]|0)+(o<<2)>>2]|0;if(i){if(k)do{i=f[i>>2]|0;if(!i){e=p;break e}if((f[i+4>>2]&m|0)!=(o|0)){e=p;break e}}while((f[i+8>>2]|0)!=(y|0));else do{i=f[i>>2]|0;if(!i){e=p;break e}if((((f[i+4>>2]|0)>>>0)%(l>>>0)|0|0)!=(o|0)){e=p;break e}}while((f[i+8>>2]|0)!=(y|0));i=i+12|0;if((p|0)==(f[D>>2]|0)){zg(ma,i);g=f[ma>>2]|0;e=f[oa>>2]|0;break}else{f[p>>2]=f[i>>2];f[oa>>2]=e;break}}else e=p}else e=p;while(0);if((g|0)==(e|0)){H=-1;break a}q=f[e+-4>>2]|0;e=y*3|0;t=e+2|0;i=f[C>>2]|0;y=f[i+12>>2]|0;f[y+(q<<2)>>2]=t;f[y+(t<<2)>>2]=q;s=e+1|0;f[y+(v<<2)>>2]=s;f[y+(s<<2)>>2]=v;if((q|0)>=0){g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;k=f[i>>2]|0;if((g|0)>=0){l=f[k+(g<<2)>>2]|0;f[k+(e<<2)>>2]=l;if((l|0)>-1){p=i+24|0;k=i+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=l>>>0){m=l+1|0;if(m>>>0>o>>>0){lg(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0>>0?(R=g+(m<<2)|0,(i|0)!=(R|0)):0)f[k>>2]=i+(~((i+-4-R|0)>>>2)<<2)}while(0);f[g+(l<<2)>>2]=e;i=f[C>>2]|0;k=1}else k=0}else{f[k+(e<<2)>>2]=-1073741824;k=0;l=-1073741824}g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;m=f[i>>2]|0;if((g|0)>=0){r=f[m+(g<<2)>>2]|0;f[m+(s<<2)>>2]=r;if((r|0)>-1){q=i+24|0;m=i+28|0;i=f[m>>2]|0;g=f[q>>2]|0;p=i-g>>2;do if(p>>>0<=r>>>0){o=r+1|0;if(o>>>0>p>>>0){lg(q,o-p|0);g=f[q>>2]|0;break}if(o>>>0

>>0?(Q=g+(o<<2)|0,(i|0)!=(Q|0)):0)f[m>>2]=i+(~((i+-4-Q|0)>>>2)<<2)}while(0);f[g+(r<<2)>>2]=s;i=f[C>>2]|0;r=k;s=l}else{r=k;s=l}}else{g=m;I=123}}else{g=f[i>>2]|0;f[g+(e<<2)>>2]=-1073741824;k=0;l=-1073741824;I=123}if((I|0)==123){I=0;f[g+(s<<2)>>2]=-1073741824;r=k;s=l}f:do if((v|0)>=0){g=(((v>>>0)%3|0|0)==0?2:-1)+v|0;k=f[i>>2]|0;if((g|0)>=0){p=f[k+(g<<2)>>2]|0;f[k+(t<<2)>>2]=p;if((p|0)>-1){o=i+24|0;k=i+28|0;i=f[k>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=p>>>0){l=p+1|0;if(l>>>0>m>>>0){lg(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(P=g+(l<<2)|0,(i|0)!=(P|0)):0)f[k>>2]=i+(~((i+-4-P|0)>>>2)<<2)}while(0);i=t;g=g+(p<<2)|0;I=144}}else{i=-1073741824;g=k+(t<<2)|0;I=144}if((I|0)==144)f[g>>2]=i;k=v+1|0;k=((k|0)%3|0|0)==0?v+-2|0:k;i=f[C>>2]|0;if((k|0)<0)g=-1073741824;else{g=f[(f[i>>2]|0)+(k<<2)>>2]|0;q=s+1|0;if(!r){m=f[i>>2]|0;o=i+12|0;while(1){f[m+(k<<2)>>2]=s;I=k+1|0;k=((I|0)%3|0|0)==0?k+-2|0:I;if((k|0)<0)break f;l=f[(f[o>>2]|0)+(k<<2)>>2]|0;k=l+1|0;if((l|0)<0)break f;k=((k|0)%3|0|0)==0?l+-2|0:k;if((k|0)<=-1)break f}}do{f[(f[i>>2]|0)+(k<<2)>>2]=s;p=i+24|0;m=i+28|0;l=f[m>>2]|0;i=f[p>>2]|0;o=l-i>>2;do if(o>>>0<=s>>>0){if(q>>>0>o>>>0){lg(p,q-o|0);i=f[p>>2]|0;break}if(q>>>0>>0?(O=i+(q<<2)|0,(l|0)!=(O|0)):0)f[m>>2]=l+(~((l+-4-O|0)>>>2)<<2)}while(0);f[i+(s<<2)>>2]=k;i=k+1|0;k=((i|0)%3|0|0)==0?k+-2|0:i;i=f[C>>2]|0;if((k|0)<0)break f;l=f[(f[i+12>>2]|0)+(k<<2)>>2]|0;k=l+1|0;if((l|0)<0)break f;k=((k|0)%3|0|0)==0?l+-2|0:k}while((k|0)>-1)}}else{f[(f[i>>2]|0)+(t<<2)>>2]=-1073741824;g=-1073741824}while(0);f[(f[i+24>>2]|0)+(g<<2)>>2]=-1073741824;I=189}if((I|0)==189){I=0;f[(f[oa>>2]|0)+-4>>2]=e;e=z}if((d|0)<(c|0)){y=d;z=e}else{H=e;I=203;break a}}}else{d=0;H=0;I=203}while(0);g:do if((I|0)==203)if((H|0)<=(ca|0)){g=f[oa>>2]|0;h:do if((g|0)==(f[ma>>2]|0))e=a+8|0;else{D=a+278|0;B=a+372|0;C=a+368|0;z=a+360|0;A=a+364|0;e=a+8|0;F=a+60|0;y=a+64|0;w=a+68|0;v=a+76|0;x=a+80|0;E=a+72|0;G=a+320|0;i:while(1){ca=g;f[fa>>2]=f[ca+-4>>2];f[oa>>2]=ca+-4;if((j[D>>1]|0)<514)if(b[B>>0]|0){g=f[C>>2]|0;i=(f[z>>2]|0)+(g>>>3)|0;if(i>>>0<(f[A>>2]|0)>>>0){I=(h[i>>0]|0)>>>(g&7)&1;f[C>>2]=g+1;g=I;I=212}else I=268}else I=213;else{g=(Di(G)|0)&1;I=212}if((I|0)==212)if(!g)I=268;else I=213;do if((I|0)==213){I=0;k=f[e>>2]|0;ca=f[k>>2]|0;r=ca;if((d|0)>=(((f[k+4>>2]|0)-ca>>2>>>0)/3|0|0))break i;q=f[fa>>2]|0;m=(q|0)<0;j:do if(!m){g=q+(((q>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[k+12>>2]|0;l=g;while(1){g=f[i+(l<<2)>>2]|0;if((g|0)<=-1){i=0;g=l;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else l=g}if(m){l=q;I=221;break}}else i=1;l=q+1|0;l=((l|0)%3|0|0)==0?q+-2|0:l;if((l|0)<0)I=221;else{m=f[k+12>>2]|0;o=l;while(1){l=f[m+(o<<2)>>2]|0;if((l|0)<=-1){s=0;p=g;l=o;break j}ca=l+1|0;l=((ca|0)%3|0|0)==0?l+-2|0:ca;if((l|0)<0){s=1;p=g;break}else o=l}}}else{i=1;g=q;l=q;I=221}while(0);if((I|0)==221){m=f[k+12>>2]|0;s=1;p=g}t=d+1|0;d=d*3|0;f[ha>>2]=d;f[m+(d<<2)>>2]=q;f[m+(q<<2)>>2]=d;d=(f[ha>>2]|0)+1|0;f[m+(d<<2)>>2]=p;f[m+(p<<2)>>2]=d;d=(f[ha>>2]|0)+2|0;f[m+(d<<2)>>2]=l;f[m+(l<<2)>>2]=d;d=f[ha>>2]|0;g=p+1|0;if(!i?(ka=((g|0)%3|0|0)==0?p+-2|0:g,(ka|0)>=0):0){q=f[r+(ka<<2)>>2]|0;f[r+(d<<2)>>2]=q;if((q|0)>-1){p=k+24|0;k=k+28|0;i=f[k>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){lg(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0>>0?(ea=g+(m<<2)|0,(i|0)!=(ea|0)):0)f[k>>2]=i+(~((i+-4-ea|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=d;d=f[ha>>2]|0;k=f[e>>2]|0}}else f[r+(d<<2)>>2]=-1073741824;p=d+1|0;g=l+1|0;if(!s?(ja=((g|0)%3|0|0)==0?l+-2|0:g,(ja|0)>=0):0){ca=f[k>>2]|0;o=f[ca+(ja<<2)>>2]|0;f[ca+(p<<2)>>2]=o;if((o|0)>-1){m=k+24|0;i=k+28|0;g=f[i>>2]|0;d=f[m>>2]|0;l=g-d>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){lg(m,k-l|0);d=f[m>>2]|0;break}if(k>>>0>>0?(da=d+(k<<2)|0,(g|0)!=(da|0)):0)f[i>>2]=g+(~((g+-4-da|0)>>>2)<<2)}while(0);f[d+(o<<2)>>2]=p;d=f[ha>>2]|0;k=f[e>>2]|0}}else f[(f[k>>2]|0)+(p<<2)>>2]=-1073741824;q=d+2|0;g=f[fa>>2]|0;i=g+1|0;if((g|0)>=0?(ia=((i|0)%3|0|0)==0?g+-2|0:i,(ia|0)>=0):0){ca=f[k>>2]|0;p=f[ca+(ia<<2)>>2]|0;f[ca+(q<<2)>>2]=p;if((p|0)>-1){o=k+24|0;m=k+28|0;g=f[m>>2]|0;d=f[o>>2]|0;l=g-d>>2;do if(l>>>0<=p>>>0){k=p+1|0;i=g;if(k>>>0>l>>>0){lg(o,k-l|0);d=f[o>>2]|0;break}if(k>>>0>>0){g=d+(k<<2)|0;if((i|0)==(g|0))break;f[m>>2]=i+(~((i+-4-g|0)>>>2)<<2)}}while(0);f[d+(p<<2)>>2]=q;d=f[ha>>2]|0}}else f[(f[k>>2]|0)+(q<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[ga>>2]|0;ca=g+(d>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(d&31));d=f[ha>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;ca=g+(d>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(d&31));d=f[ha>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[y>>2]|0;g=f[w>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){nn(F);g=f[w>>2]|0}ca=g<<6;d=d+32&-32;ig(F,g<<5>>>0<1073741823?(ca>>>0>>0?d:ca):2147483647);d=f[y>>2]|0}f[y>>2]=d+1;ca=(f[F>>2]|0)+(d>>>5<<2)|0;f[ca>>2]=f[ca>>2]|1<<(d&31);d=f[v>>2]|0;if((d|0)==(f[x>>2]|0))zg(E,ha);else{f[d>>2]=f[ha>>2];f[v>>2]=d+4}d=t}else if((I|0)==268){g=f[y>>2]|0;i=f[w>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){nn(F);i=f[w>>2]|0}ca=i<<6;g=g+32&-32;ig(F,i<<5>>>0<1073741823?(ca>>>0>>0?g:ca):2147483647);g=f[y>>2]|0}f[y>>2]=g+1;ca=(f[F>>2]|0)+(g>>>5<<2)|0;f[ca>>2]=f[ca>>2]&~(1<<(g&31));g=f[v>>2]|0;if((g|0)==(f[x>>2]|0)){zg(E,fa);break}else{f[g>>2]=f[fa>>2];f[v>>2]=g+4;break}}while(0);g=f[oa>>2]|0;if((g|0)==(f[ma>>2]|0))break h}H=-1;break g}while(0);ka=f[e>>2]|0;if((d|0)==(((f[ka+4>>2]|0)-(f[ka>>2]|0)>>2>>>0)/3|0|0)){k=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[k>>2]|0;i=e-d>>2;if(H>>>0>i>>>0){lg(k,H-i|0);break}if(H>>>0>>0?(la=d+(H<<2)|0,(e|0)!=(la|0)):0)f[g>>2]=e+(~((e+-4-la|0)>>>2)<<2)}else H=-1}else H=-1;while(0);d=f[na+8>>2]|0;if(d|0)do{la=d;d=f[d>>2]|0;Co(la)}while((d|0)!=0);d=f[na>>2]|0;f[na>>2]=0;if(d|0)Co(d);d=f[ma>>2]|0;if(!d){u=pa;return H|0}e=f[oa>>2]|0;if((e|0)!=(d|0))f[oa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=pa;return H|0}function $a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[5218]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=20912+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[5218]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[5220]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=20912+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[5223]|0;b=l>>>3;c=20912+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5220]=g;f[5223]=e;w=h;u=x;return w|0}i=f[5219]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[21176+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=21176+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[5219]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[5223]|0;b=l>>>3;c=20912+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5220]=j;f[5223]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[5219]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[21176+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[21176+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[5220]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=21176+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=20912+(b<<1<<2)|0;a=f[5218]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=21176+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[5220]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[5223]|0;if(a>>>0>15){w=b+m|0;f[5223]=w;f[5220]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[5220]=0;f[5223]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[5221]|0;if(h>>>0>m>>>0){t=h-m|0;f[5221]=t;w=f[5224]|0;v=w+m|0;f[5224]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[5336]|0)){f[5338]=4096;f[5337]=4096;f[5339]=-1;f[5340]=-1;f[5341]=0;f[5329]=0;a=n&-16^1431655768;f[n>>2]=a;f[5336]=a;a=4096}else a=f[5338]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[5328]|0;if(a|0?(l=f[5326]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[5329]&4)){c=f[5224]|0;c:do if(c){e=21320;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=sj(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=sj(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[5337]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[5326]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[5328]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=sj(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[5338]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((sj(a|0)|0)==(-1|0)){sj(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[5329]=f[5329]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=sj(k|0)|0,q=sj(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[5326]|0)+g|0;f[5326]=b;if(b>>>0>(f[5327]|0)>>>0)f[5327]=b;j=f[5224]|0;do if(j){e=21320;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[5221]|0)+(g-w)|0;f[5224]=v;f[5221]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5225]=f[5340];break}if(h>>>0<(f[5222]|0)>>>0)f[5222]=h;c=h+g|0;a=21320;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[5223]|0)){w=(f[5220]|0)+i|0;f[5220]=w;f[5223]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[5218]=f[5218]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=21176+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[5219]=f[5219]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=20912+(b<<1<<2)|0;a=f[5218]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=21176+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[5219]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[5221]|0)+i|0;f[5221]=w;f[5224]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=21320;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[5224]=v;f[5221]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[5225]=f[5340];c=a+4|0;f[c>>2]=27;f[b>>2]=f[5330];f[b+4>>2]=f[5331];f[b+8>>2]=f[5332];f[b+12>>2]=f[5333];f[5330]=h;f[5331]=g;f[5333]=0;f[5332]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=20912+(b<<1<<2)|0;a=f[5218]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=21176+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[5219]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[5222]|0;if((w|0)==0|h>>>0>>0)f[5222]=h;f[5330]=h;f[5331]=g;f[5333]=0;f[5227]=f[5336];f[5226]=-1;b=0;do{w=20912+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[5224]=v;f[5221]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5225]=f[5340]}while(0);b=f[5221]|0;if(b>>>0>m>>>0){t=b-m|0;f[5221]=t;w=f[5224]|0;v=w+m|0;f[5224]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=oo()|0;f[w>>2]=12;w=0;u=x;return w|0}function ab(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(tj(4420,4612,c,b)|0)-4420>>2;a=e;e=0;a:while(1){b=(f[4420+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[4228+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=tj(4228,4420,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function bb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;p=D+60|0;s=D+52|0;r=D+44|0;C=D;v=D+56|0;w=D+48|0;A=D+40|0;n=a+144|0;f[n>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{z=c;c=f[c>>2]|0;Co(z)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}q=a+4|0;c=f[q>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){y=m+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=gm(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((y|0)<(k|0)|(y|0)==(k|0)&z>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;t=l;f[t>>2]=i;f[t+4>>2]=k;t=14}}else if(sh(B,m)|0){e=f[q>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;t=14}if((t|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){y=l+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=gm(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((y|0)<(i|0)|(y|0)==(i|0)&z>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;t=21}}else if(sh(o,l)|0){k=f[q>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;t=21}else c=0;if((t|0)==21){n=a+168|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){y=k+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((y|0)<(g|0)|(y|0)==(g|0)&z>>>0>>0)c=0;else{t=(f[k>>2]|0)+c|0;f[p>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=25}}else if(sh(p,k)|0)t=25;else c=0;do if((t|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=Nk(60)|0;pm(c);z=a+8|0;e=f[z>>2]|0;f[z>>2]=c;if(e){nh(e);Co(e);c=f[z>>2]|0;if(!c){c=0;break}}if(Oi(c,f[p>>2]|0)|0){i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);i=a+184|0;c=f[i>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[q>>2]|0)+32>>2]|0;y=c+8|0;x=f[y+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((x|0)>(g|0)|((x|0)==(g|0)?(f[y>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=gm(e|0,g|0,1,0)|0;y=i;f[y>>2]=k;f[y+4>>2]=I;y=a+224|0;k=f[y>>2]|0;x=a+228|0;c=f[x>>2]|0;if((c|0)!=(k|0))do{f[x>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}xh(c+-112|0);c=f[x>>2]|0}while((c|0)!=(k|0));m=l&255;Sf(y,m);o=f[q>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[s>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=60}}else if(sh(s,c)|0){c=f[s>>2]|0;t=60}else c=0;if((t|0)==60)if((f[p>>2]|0)>>>0>>0)c=0;else{p=f[q>>2]|0;c=f[p+32>>2]|0;do if((h[p+36>>0]<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&p>>>0>>0){c=0;break}c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[r>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=66}else{if(!(sh(r,c)|0)){c=0;break}c=f[r>>2]|0;t=66}while(0);a:do if((t|0)==66){l=a+132|0;c=c+(f[n>>2]|0)|0;b[B>>0]=1;ef(l,c,B);c=f[q>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Eb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)>=512){if(sh(B,k)|0)t=71}else{o=k+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((o|0)<(g|0)|(o|0)==(g|0)&p>>>0>>0)break;t=(f[k>>2]|0)+c|0;f[B>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=71}while(0);do if((t|0)==71){ik(C);c=f[(f[q>>2]|0)+32>>2]|0;o=c+16|0;k=f[o>>2]|0;t=f[B>>2]|0;p=(f[c>>2]|0)+k+t|0;i=c+8|0;o=wl(f[i>>2]|0,f[i+4>>2]|0,k|0,f[o+4>>2]|0)|0;t=wl(o|0,I|0,t|0,0)|0;Ak(C,p,t,d[c+38>>1]|0);c=Eb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);t=a+240|0;f[a+384>>2]=a;k=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;k=f[k>>2]|0;k=(f[k>>2]|0)+(f[k+16>>2]|0)|0;o=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;p=o+8|0;o=o+16|0;o=wl(f[p>>2]|0,f[p+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;p=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Ak(t,k,o,d[(f[p>>2]|0)+38>>1]|0);p=Sa[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+388>>2]=p;p=f[q>>2]|0;f[a+392>>2]=(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514?0:f[r>>2]|0)+(f[n>>2]|0);f[a+380>>2]=m;ik(C);c:do if(uf(t,C)|0){if((Ya(a,f[s>>2]|0)|0)==-1){c=0;break}c=f[(f[q>>2]|0)+32>>2]|0;e=C+16|0;s=f[e>>2]|0;t=(f[C>>2]|0)+s|0;r=C+8|0;e=wl(f[r>>2]|0,f[r+4>>2]|0,s|0,f[e+4>>2]|0)|0;Ak(c,t,e,d[c+38>>1]|0);c=f[q>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){t=(f[c+32>>2]|0)+16|0;s=t;s=gm(f[s>>2]|0,f[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[t>>2]=s;f[t+4>>2]=I}do if((f[x>>2]|0)!=(f[y>>2]|0)){c=f[z>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[B>>2]=f[v>>2];c=c+3|0;if(!(Hd(a,B)|0)){c=0;break c}w=f[z>>2]|0}while((c|0)<((f[w+4>>2]|0)-(f[w>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[B>>2]=f[w>>2];c=c+3|0;if(!(Cd(a,B)|0)){c=0;break c}v=f[z>>2]|0}while((c|0)<((f[v+4>>2]|0)-(f[v>>2]|0)>>2|0))}}while(0);if(b[a+316>>0]|0)Oj(a+280|0);if((j[a+278>>1]|0)<514)Oj(a+336|0);i=f[z>>2]|0;t=f[i+28>>2]|0;k=f[i+24>>2]|0;s=k;if((t-k|0)>0){n=f[l>>2]|0;r=t-k>>2;p=i+12|0;q=0;do{do if(f[n+(q>>>5<<2)>>2]&1<<(q&31)|0){o=s+(q<<2)|0;c=f[o>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){m=f[p>>2]|0;g=f[m+(e<<2)>>2]|0;e=g+1|0;d:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break d;g=f[m+(g<<2)>>2]|0;l=g+1|0;if((g|0)<0)break d;g=((l|0)%3|0|0)==0?g+-2|0:l;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[o>>2]=c}while(0);q=q+1|0}while((q|0)<(r|0))}g=f[x>>2]|0;w=f[y>>2]|0;c=w;if((g|0)==(w|0)){i=t;e=g}else{k=0;do{Gg(c+(k*116|0)+4|0,i)|0;c=f[y>>2]|0;e=f[c+(k*116|0)+104>>2]|0;g=f[c+(k*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Pe(c+(k*116|0)+4|0,B);e=e+4|0;c=f[y>>2]|0}while((e|0)!=(g|0));qj(c+(k*116|0)+4|0,0,0);k=k+1|0;g=f[x>>2]|0;e=f[y>>2]|0;c=e;i=f[z>>2]|0}while(k>>>0<((g-e|0)/116|0)>>>0);k=f[i+24>>2]|0;i=f[i+28>>2]|0}k=i-k>>2;m=a+208|0;o=a+212|0;n=f[o>>2]|0;i=f[m>>2]|0;l=n-i>>2;do if(k>>>0>l>>>0){lg(m,k-l|0);c=f[y>>2]|0;g=f[x>>2]|0;e=c}else{if(k>>>0>=l>>>0)break;i=i+(k<<2)|0;if((n|0)==(i|0))break;f[o>>2]=n+(~((n+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){o=0;while(1){m=(f[c+(o*116|0)+60>>2]|0)-(f[c+(o*116|0)+56>>2]|0)>>2;n=f[z>>2]|0;n=(f[n+28>>2]|0)-(f[n+24>>2]|0)>>2;m=(m|0)<(n|0)?n:m;n=c+(o*116|0)+88|0;l=c+(o*116|0)+92|0;k=f[l>>2]|0;c=f[n>>2]|0;i=k-c>>2;do if(m>>>0>i>>>0){lg(n,m-i|0);e=f[y>>2]|0;g=f[x>>2]|0}else{if(m>>>0>=i>>>0)break;c=c+(m<<2)|0;if((k|0)==(c|0))break;f[l>>2]=k+(~((k+-4-c|0)>>>2)<<2)}while(0);o=o+1|0;if(o>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=xb(a)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}else c=0}else c=0}while(0)}C=c;u=D;return C|0}function cb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;p=D+60|0;s=D+52|0;r=D+44|0;C=D;v=D+56|0;w=D+48|0;A=D+40|0;n=a+144|0;f[n>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{z=c;c=f[c>>2]|0;Co(z)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}q=a+4|0;c=f[q>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){y=m+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=gm(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((y|0)<(k|0)|(y|0)==(k|0)&z>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;t=l;f[t>>2]=i;f[t+4>>2]=k;t=14}}else if(sh(B,m)|0){e=f[q>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;t=14}if((t|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){y=l+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=gm(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((y|0)<(i|0)|(y|0)==(i|0)&z>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;t=21}}else if(sh(o,l)|0){k=f[q>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;t=21}else c=0;if((t|0)==21){n=a+168|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){y=k+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((y|0)<(g|0)|(y|0)==(g|0)&z>>>0>>0)c=0;else{t=(f[k>>2]|0)+c|0;f[p>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=25}}else if(sh(p,k)|0)t=25;else c=0;do if((t|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=Nk(60)|0;pm(c);z=a+8|0;e=f[z>>2]|0;f[z>>2]=c;if(e){nh(e);Co(e);c=f[z>>2]|0;if(!c){c=0;break}}if(Oi(c,f[p>>2]|0)|0){i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);i=a+184|0;c=f[i>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[q>>2]|0)+32>>2]|0;y=c+8|0;x=f[y+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((x|0)>(g|0)|((x|0)==(g|0)?(f[y>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=gm(e|0,g|0,1,0)|0;y=i;f[y>>2]=k;f[y+4>>2]=I;y=a+224|0;k=f[y>>2]|0;x=a+228|0;c=f[x>>2]|0;if((c|0)!=(k|0))do{f[x>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}xh(c+-112|0);c=f[x>>2]|0}while((c|0)!=(k|0));m=l&255;Sf(y,m);o=f[q>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[s>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=60}}else if(sh(s,c)|0){c=f[s>>2]|0;t=60}else c=0;if((t|0)==60)if((f[p>>2]|0)>>>0>>0)c=0;else{p=f[q>>2]|0;c=f[p+32>>2]|0;do if((h[p+36>>0]<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&p>>>0>>0){c=0;break}c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[r>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=66}else{if(!(sh(r,c)|0)){c=0;break}c=f[r>>2]|0;t=66}while(0);a:do if((t|0)==66){l=a+132|0;c=c+(f[n>>2]|0)|0;b[B>>0]=1;ef(l,c,B);c=f[q>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Eb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)>=512){if(sh(B,k)|0)t=71}else{o=k+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((o|0)<(g|0)|(o|0)==(g|0)&p>>>0>>0)break;t=(f[k>>2]|0)+c|0;f[B>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=71}while(0);do if((t|0)==71){ik(C);c=f[(f[q>>2]|0)+32>>2]|0;o=c+16|0;k=f[o>>2]|0;t=f[B>>2]|0;p=(f[c>>2]|0)+k+t|0;i=c+8|0;o=wl(f[i>>2]|0,f[i+4>>2]|0,k|0,f[o+4>>2]|0)|0;t=wl(o|0,I|0,t|0,0)|0;Ak(C,p,t,d[c+38>>1]|0);c=Eb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);t=a+240|0;f[a+384>>2]=a;k=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;k=f[k>>2]|0;k=(f[k>>2]|0)+(f[k+16>>2]|0)|0;o=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;p=o+8|0;o=o+16|0;o=wl(f[p>>2]|0,f[p+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;p=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Ak(t,k,o,d[(f[p>>2]|0)+38>>1]|0);p=Sa[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+388>>2]=p;p=f[q>>2]|0;f[a+392>>2]=(((h[p+36>>0]<<8|h[p+37>>0])&65535)<514?0:f[r>>2]|0)+(f[n>>2]|0);f[a+380>>2]=m;ik(C);c:do if(Mb(t,C)|0){if((Za(a,f[s>>2]|0)|0)==-1){c=0;break}c=f[(f[q>>2]|0)+32>>2]|0;e=C+16|0;s=f[e>>2]|0;t=(f[C>>2]|0)+s|0;r=C+8|0;e=wl(f[r>>2]|0,f[r+4>>2]|0,s|0,f[e+4>>2]|0)|0;Ak(c,t,e,d[c+38>>1]|0);c=f[q>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){t=(f[c+32>>2]|0)+16|0;s=t;s=gm(f[s>>2]|0,f[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[t>>2]=s;f[t+4>>2]=I}do if((f[x>>2]|0)!=(f[y>>2]|0)){c=f[z>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[B>>2]=f[v>>2];c=c+3|0;if(!(Hd(a,B)|0)){c=0;break c}w=f[z>>2]|0}while((c|0)<((f[w+4>>2]|0)-(f[w>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[B>>2]=f[w>>2];c=c+3|0;if(!(Cd(a,B)|0)){c=0;break c}v=f[z>>2]|0}while((c|0)<((f[v+4>>2]|0)-(f[v>>2]|0)>>2|0))}}while(0);if(b[a+316>>0]|0)Oj(a+280|0);if((j[a+278>>1]|0)<514)Oj(a+336|0);i=f[z>>2]|0;t=f[i+28>>2]|0;k=f[i+24>>2]|0;s=k;if((t-k|0)>0){n=f[l>>2]|0;r=t-k>>2;p=i+12|0;q=0;do{do if(f[n+(q>>>5<<2)>>2]&1<<(q&31)|0){o=s+(q<<2)|0;c=f[o>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){m=f[p>>2]|0;g=f[m+(e<<2)>>2]|0;e=g+1|0;d:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break d;g=f[m+(g<<2)>>2]|0;l=g+1|0;if((g|0)<0)break d;g=((l|0)%3|0|0)==0?g+-2|0:l;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[o>>2]=c}while(0);q=q+1|0}while((q|0)<(r|0))}g=f[x>>2]|0;w=f[y>>2]|0;c=w;if((g|0)==(w|0)){i=t;e=g}else{k=0;do{Gg(c+(k*116|0)+4|0,i)|0;c=f[y>>2]|0;e=f[c+(k*116|0)+104>>2]|0;g=f[c+(k*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Pe(c+(k*116|0)+4|0,B);e=e+4|0;c=f[y>>2]|0}while((e|0)!=(g|0));qj(c+(k*116|0)+4|0,0,0);k=k+1|0;g=f[x>>2]|0;e=f[y>>2]|0;c=e;i=f[z>>2]|0}while(k>>>0<((g-e|0)/116|0)>>>0);k=f[i+24>>2]|0;i=f[i+28>>2]|0}k=i-k>>2;m=a+208|0;o=a+212|0;n=f[o>>2]|0;i=f[m>>2]|0;l=n-i>>2;do if(k>>>0>l>>>0){lg(m,k-l|0);c=f[y>>2]|0;g=f[x>>2]|0;e=c}else{if(k>>>0>=l>>>0)break;i=i+(k<<2)|0;if((n|0)==(i|0))break;f[o>>2]=n+(~((n+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){o=0;while(1){m=(f[c+(o*116|0)+60>>2]|0)-(f[c+(o*116|0)+56>>2]|0)>>2;n=f[z>>2]|0;n=(f[n+28>>2]|0)-(f[n+24>>2]|0)>>2;m=(m|0)<(n|0)?n:m;n=c+(o*116|0)+88|0;l=c+(o*116|0)+92|0;k=f[l>>2]|0;c=f[n>>2]|0;i=k-c>>2;do if(m>>>0>i>>>0){lg(n,m-i|0);e=f[y>>2]|0;g=f[x>>2]|0}else{if(m>>>0>=i>>>0)break;c=c+(m<<2)|0;if((k|0)==(c|0))break;f[l>>2]=k+(~((k+-4-c|0)>>>2)<<2)}while(0);o=o+1|0;if(o>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=xb(a)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}else c=0}else c=0}while(0)}C=c;u=D;return C|0}function db(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;p=D+60|0;s=D+52|0;q=D+44|0;C=D;v=D+56|0;w=D+48|0;A=D+40|0;n=a+144|0;f[n>>2]=0;i=a+160|0;if(f[i>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{z=c;c=f[c>>2]|0;Co(z)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}r=a+4|0;c=f[r>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){y=m+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=gm(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((y|0)<(k|0)|(y|0)==(k|0)&z>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;t=l;f[t>>2]=i;f[t+4>>2]=k;t=14}}else if(sh(B,m)|0){e=f[r>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;t=14}if((t|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){y=l+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=gm(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((y|0)<(i|0)|(y|0)==(i|0)&z>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;t=21}}else if(sh(o,l)|0){k=f[r>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;t=21}else c=0;if((t|0)==21){n=a+168|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){y=k+8|0;z=f[y>>2]|0;y=f[y+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((y|0)<(g|0)|(y|0)==(g|0)&z>>>0>>0)c=0;else{t=(f[k>>2]|0)+c|0;f[p>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=25}}else if(sh(p,k)|0)t=25;else c=0;do if((t|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=Nk(60)|0;pm(c);z=a+8|0;e=f[z>>2]|0;f[z>>2]=c;if(e){nh(e);Co(e);c=f[z>>2]|0;if(!c){c=0;break}}if(Oi(c,f[p>>2]|0)|0){i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);i=a+184|0;c=f[i>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Nh(i,f[p>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[r>>2]|0)+32>>2]|0;y=c+8|0;x=f[y+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((x|0)>(g|0)|((x|0)==(g|0)?(f[y>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=gm(e|0,g|0,1,0)|0;y=i;f[y>>2]=k;f[y+4>>2]=I;y=a+224|0;k=f[y>>2]|0;x=a+228|0;c=f[x>>2]|0;if((c|0)!=(k|0))do{f[x>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}xh(c+-112|0);c=f[x>>2]|0}while((c|0)!=(k|0));m=l&255;Sf(y,m);o=f[r>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[s>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=60}}else if(sh(s,c)|0){c=f[s>>2]|0;t=60}else c=0;if((t|0)==60)if((f[p>>2]|0)>>>0>>0)c=0;else{p=f[r>>2]|0;c=f[p+32>>2]|0;do if((h[p+36>>0]<<8&65535)<512){o=c+8|0;p=f[o>>2]|0;o=f[o+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=gm(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&p>>>0>>0){c=0;break}c=(f[c>>2]|0)+e|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[q>>2]=c;t=k;f[t>>2]=g;f[t+4>>2]=i;t=66}else{if(!(sh(q,c)|0)){c=0;break}c=f[q>>2]|0;t=66}while(0);a:do if((t|0)==66){l=a+132|0;c=c+(f[n>>2]|0)|0;b[B>>0]=1;ef(l,c,B);c=f[r>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Eb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)>=512){if(sh(B,k)|0)t=71}else{p=k+8|0;q=f[p>>2]|0;p=f[p+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=gm(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((p|0)<(g|0)|(p|0)==(g|0)&q>>>0>>0)break;t=(f[k>>2]|0)+c|0;f[B>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=i;f[t>>2]=e;f[t+4>>2]=g;t=71}while(0);do if((t|0)==71){ik(C);c=f[(f[r>>2]|0)+32>>2]|0;p=c+16|0;o=f[p>>2]|0;t=f[B>>2]|0;q=(f[c>>2]|0)+o+t|0;n=c+8|0;p=wl(f[n>>2]|0,f[n+4>>2]|0,o|0,f[p+4>>2]|0)|0;t=wl(p|0,I|0,t|0,0)|0;Ak(C,q,t,d[c+38>>1]|0);c=Eb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);t=a+240|0;f[a+384>>2]=a;o=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;o=(f[o>>2]|0)+(f[o+16>>2]|0)|0;p=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;p=f[p>>2]|0;q=p+8|0;p=p+16|0;p=wl(f[q>>2]|0,f[q+4>>2]|0,f[p>>2]|0,f[p+4>>2]|0)|0;q=(Sa[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Ak(t,o,p,d[(f[q>>2]|0)+38>>1]|0);f[a+380>>2]=m;ik(C);c:do if(Ad(t,C)|0){if((_a(a,f[s>>2]|0)|0)==-1){c=0;break}c=f[(f[r>>2]|0)+32>>2]|0;e=C+16|0;s=f[e>>2]|0;t=(f[C>>2]|0)+s|0;q=C+8|0;e=wl(f[q>>2]|0,f[q+4>>2]|0,s|0,f[e+4>>2]|0)|0;Ak(c,t,e,d[c+38>>1]|0);c=f[r>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){t=(f[c+32>>2]|0)+16|0;s=t;s=gm(f[s>>2]|0,f[s+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[t>>2]=s;f[t+4>>2]=I}do if((f[x>>2]|0)!=(f[y>>2]|0)){c=f[z>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[v>>2]=c;f[B>>2]=f[v>>2];c=c+3|0;if(!(Hd(a,B)|0)){c=0;break c}w=f[z>>2]|0}while((c|0)<((f[w+4>>2]|0)-(f[w>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[w>>2]=c;f[B>>2]=f[w>>2];c=c+3|0;if(!(Dd(a,B)|0)){c=0;break c}v=f[z>>2]|0}while((c|0)<((f[v+4>>2]|0)-(f[v>>2]|0)>>2|0))}}while(0);if(b[a+316>>0]|0)Oj(a+280|0);if((j[a+278>>1]|0)<514)Oj(a+336|0);i=f[z>>2]|0;t=f[i+28>>2]|0;k=f[i+24>>2]|0;s=k;if((t-k|0)>0){n=f[l>>2]|0;r=t-k>>2;p=i+12|0;q=0;do{do if(f[n+(q>>>5<<2)>>2]&1<<(q&31)|0){o=s+(q<<2)|0;c=f[o>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){m=f[p>>2]|0;g=f[m+(e<<2)>>2]|0;e=g+1|0;d:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break d;g=f[m+(g<<2)>>2]|0;l=g+1|0;if((g|0)<0)break d;g=((l|0)%3|0|0)==0?g+-2|0:l;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[o>>2]=c}while(0);q=q+1|0}while((q|0)<(r|0))}g=f[x>>2]|0;w=f[y>>2]|0;c=w;if((g|0)==(w|0)){i=t;e=g}else{k=0;do{Gg(c+(k*116|0)+4|0,i)|0;c=f[y>>2]|0;e=f[c+(k*116|0)+104>>2]|0;g=f[c+(k*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Pe(c+(k*116|0)+4|0,B);e=e+4|0;c=f[y>>2]|0}while((e|0)!=(g|0));qj(c+(k*116|0)+4|0,0,0);k=k+1|0;g=f[x>>2]|0;e=f[y>>2]|0;c=e;i=f[z>>2]|0}while(k>>>0<((g-e|0)/116|0)>>>0);k=f[i+24>>2]|0;i=f[i+28>>2]|0}k=i-k>>2;m=a+208|0;o=a+212|0;n=f[o>>2]|0;i=f[m>>2]|0;l=n-i>>2;do if(k>>>0>l>>>0){lg(m,k-l|0);c=f[y>>2]|0;g=f[x>>2]|0;e=c}else{if(k>>>0>=l>>>0)break;i=i+(k<<2)|0;if((n|0)==(i|0))break;f[o>>2]=n+(~((n+-4-i|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){o=0;while(1){m=(f[c+(o*116|0)+60>>2]|0)-(f[c+(o*116|0)+56>>2]|0)>>2;n=f[z>>2]|0;n=(f[n+28>>2]|0)-(f[n+24>>2]|0)>>2;m=(m|0)<(n|0)?n:m;n=c+(o*116|0)+88|0;l=c+(o*116|0)+92|0;k=f[l>>2]|0;c=f[n>>2]|0;i=k-c>>2;do if(m>>>0>i>>>0){lg(n,m-i|0);e=f[y>>2]|0;g=f[x>>2]|0}else{if(m>>>0>=i>>>0)break;c=c+(m<<2)|0;if((k|0)==(c|0))break;f[l>>2]=k+(~((k+-4-c|0)>>>2)<<2)}while(0);o=o+1|0;if(o>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=xb(a)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}else c=0}else c=0}while(0)}C=c;u=D;return C|0}function eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=La;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=Mk(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=gm(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=Mk(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=gm(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(gm(Mk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function fb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;M=u;u=u+32|0;L=M+8|0;j=M;G=a+8|0;F=f[G>>2]|0;f[j>>2]=0;Jh(L,F,j);F=a+116|0;i=f[F>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[L>>2];f[h>>2]=f[L+4>>2];f[e>>2]=f[L+8>>2];E=f[G>>2]|0;f[j>>2]=0;Jh(L,E,j);E=a+128|0;i=f[E>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[L>>2];f[h>>2]=f[L+4>>2];f[e>>2]=f[L+8>>2];f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;K=L+8|0;J=L+4|0;I=L+16|0;H=L+20|0;cc(L);e=f[J>>2]|0;g=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[H>>2]|0)+1|0;f[H>>2]=e;a:do if(e|0){v=a+104|0;D=a+92|0;t=d+4|0;w=a+96|0;C=a+48|0;z=a+44|0;B=a+28|0;y=a+24|0;A=a+88|0;x=a+84|0;b:while(1){q=f[I>>2]|0;g=e+-1|0;m=q+g|0;r=f[J>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[H>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}i=f[F>>2]|0;r=i+(m*12|0)|0;q=(f[E>>2]|0)+(m*12|0)|0;g=Xk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[G>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[G>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[D>>2]|0;else{k=f[v>>2]|0;l=f[D>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[C>>2]|0;c=32-j|0;e=f[z>>2]|0;j=f[e>>2]<(c|0)){p=p-c|0;f[C>>2]=p;e=e+4|0;f[z>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[C>>2]|0)+p|0;f[C>>2]=p;if((p|0)!=32)break;f[z>>2]=e+4;f[C>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[G>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[G>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[F>>2]|0)+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}r=i+(g<<2)|0;f[r>>2]=(f[r>>2]|0)+c;c=(_(s|0)|0)^31;if(c>>>0>=33){o=56;break b}if(!c){o=58;break b}i=f[B>>2]|0;h=32-i|0;j=f[y>>2]|0;e=f[j>>2]<>>(32-c|0);r=i+c|0;f[B>>2]=r;if((r|0)==32){f[y>>2]=j+4;f[B>>2]=0}}else{r=c-h|0;f[B>>2]=r;q=j+4|0;f[y>>2]=q;r=32-r|0;e=(f[q>>2]|0)>>>r|e>>>(r-h|0)}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[A>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[A>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[A>>2]=0}k=i?j:h;l=i?h:j}e=f[E>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){j=f[K>>2]|0;i=f[J>>2]|0;s=j-i>>2;e=f[I>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(L);e=f[I>>2]|0;h=f[H>>2]|0;j=f[K>>2]|0;i=f[J>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}if(!l)o=15;else{j=f[K>>2]|0;i=f[J>>2]|0;s=j-i>>2;e=f[I>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(L);e=f[I>>2]|0;h=f[H>>2]|0;j=f[K>>2]|0;i=f[J>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[H>>2]|0)+1|0;f[H>>2]=e}}while(0);if((o|0)==15){o=0;e=f[H>>2]|0}if(!e)break a}if((o|0)==23)Ga(4956,4986,51,5104);else if((o|0)==28)Ga(16815,16853,223,16994);else if((o|0)==37)Ga(4956,4986,51,5104);else if((o|0)==42)Ga(17009,17033,48,17135);else if((o|0)==44)Ga(17164,17033,49,17135);else if((o|0)==56)Ga(17009,17033,48,17135);else if((o|0)==58)Ga(17164,17033,49,17135)}while(0);e=f[J>>2]|0;g=f[I>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[H>>2]=0;g=c-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[J>>2]|0)+4|0;f[J>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=94;break}case 2:{g=341;o=94;break}default:{}}if((o|0)==94)f[I>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[J>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[L>>2]|0;if(!e){u=M;return}Co(e);u=M;return}function gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;K=Q+24|0;P=Q;J=a+8|0;I=f[J>>2]|0;f[P>>2]=0;Jh(K,I,P);I=a+116|0;h=f[I>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];H=f[J>>2]|0;f[P>>2]=0;Jh(K,H,P);H=a+128|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;L=P+20|0;cc(P);d=f[N>>2]|0;e=(f[L>>2]|0)+(f[M>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[L>>2]|0)+1|0;f[L>>2]=d;a:do if(d|0){w=a+104|0;v=a+92|0;A=K+4|0;C=K+8|0;G=a+48|0;z=a+44|0;F=a+28|0;y=a+24|0;E=a+88|0;x=a+84|0;B=K+4|0;D=K+8|0;b:while(1){r=f[M>>2]|0;e=d+-1|0;l=r+e|0;s=f[N>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[L>>2]=e;e=f[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[O>>2]=(f[O>>2]|0)+-4}h=f[I>>2]|0;s=h+(l*12|0)|0;r=(f[H>>2]|0)+(l*12|0)|0;e=Xk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[K>>2]=d;f[B>>2]=f[e+4>>2];f[D>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[B>>2];f[e+8>>2]=f[D>>2];f[g>>2]=e+12}else pf(i,K);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[G>>2]|0;b=32-h|0;d=f[z>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[G>>2]=n;d=d+4|0;f[z>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[G>>2]|0)+n|0;f[G>>2]=n;if((n|0)!=32)break;f[z>>2]=d+4;f[G>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[J>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[K>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else pf(q,K);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[J>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;b=d;h=f[(f[I>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}s=h+(e<<2)|0;f[s>>2]=(f[s>>2]|0)+i;i=(_(t|0)|0)^31;if(i>>>0>=33){n=53;break b}if(!i){n=55;break b}h=f[F>>2]|0;g=32-h|0;b=f[y>>2]|0;d=f[b>>2]<>>(32-i|0);s=h+i|0;f[F>>2]=s;if((s|0)==32){f[y>>2]=b+4;f[F>>2]=0}}else{s=i-g|0;f[F>>2]=s;r=b+4|0;f[y>>2]=r;s=32-s|0;d=(f[r>>2]|0)>>>s|d>>>(s-g|0)}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[E>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[E>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[E>>2]=0}j=h?b:g;k=h?g:b}d=f[H>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){b=f[O>>2]|0;h=f[N>>2]|0;t=b-h>>2;d=f[M>>2]|0;g=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[M>>2]|0;g=f[L>>2]|0;b=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[L>>2]=(f[L>>2]|0)+1}if(!k)n=15;else{b=f[O>>2]|0;h=f[N>>2]|0;t=b-h>>2;d=f[M>>2]|0;g=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[M>>2]|0;g=f[L>>2]|0;b=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[L>>2]|0)+1|0;f[L>>2]=d}}while(0);if((n|0)==15){n=0;d=f[L>>2]|0}if(!d)break a}if((n|0)==27)Ga(16815,16853,223,16994);else if((n|0)==36)Ga(17009,17033,48,17135);else if((n|0)==38)Ga(17164,17033,49,17135);else if((n|0)==53)Ga(17009,17033,48,17135);else if((n|0)==55)Ga(17164,17033,49,17135)}while(0);d=f[N>>2]|0;e=f[M>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[O>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[L>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[N>>2]|0)+4|0;f[N>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=91;break}case 2:{e=341;n=91;break}default:{}}if((n|0)==91)f[M>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[N>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;O=u;u=u+32|0;N=O+8|0;j=O;I=a+8|0;H=f[I>>2]|0;f[j>>2]=0;Jh(N,H,j);H=a+116|0;i=f[H>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[N>>2];f[h>>2]=f[N+4>>2];f[e>>2]=f[N+8>>2];G=f[I>>2]|0;f[j>>2]=0;Jh(N,G,j);G=a+128|0;i=f[G>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[N>>2];f[h>>2]=f[N+4>>2];f[e>>2]=f[N+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;cc(N);e=f[L>>2]|0;g=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[J>>2]|0)+1|0;f[J>>2]=e;a:do if(e|0){x=a+104|0;F=a+92|0;w=d+4|0;y=a+96|0;E=a+48|0;B=a+44|0;D=a+28|0;A=a+24|0;C=a+88|0;z=a+84|0;b:while(1){r=f[K>>2]|0;g=e+-1|0;o=r+g|0;s=f[L>>2]|0;q=f[s+(((o>>>0)/341|0)<<2)>>2]|0;o=(o>>>0)%341|0;t=f[q+(o*12|0)>>2]|0;h=f[q+(o*12|0)+4>>2]|0;o=f[q+(o*12|0)+8>>2]|0;f[J>>2]=g;g=f[M>>2]|0;s=g-s>>2;if((1-e-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);g=(f[M>>2]|0)+-4|0;f[M>>2]=g}i=f[H>>2]|0;r=i+(o*12|0)|0;l=f[G>>2]|0;s=((f[I>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=l+(o*12|0)|0;n=f[q>>2]|0;k=n+(s<<2)|0;e=(f[a>>2]|0)-(f[k>>2]|0)|0;m=n;c:do if(!e)if((t|0)>0){j=i+(o*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[w>>2]|0;l=0;while(1){e=g;g=g+1|0;f[w>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){v=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;s=k;v=f[s>>2]|0;s=Mk(v|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[c>>2]>>2]|0)+s|0,h|0,v|0)|0;l=l+1|0;if((l|0)>=(t|0)){v=15;break}}}else v=15;else{if(!t){v=28;break b}if(t>>>0<3){i=f[x>>2]|0;f[i>>2]=s;e=f[I>>2]|0;if(e>>>0>1){g=s;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[I>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[F>>2]|0;else{k=f[x>>2]|0;l=f[F>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){v=42;break b}if((p|0)<=0){v=44;break b}j=f[E>>2]|0;c=32-j|0;e=f[B>>2]|0;j=f[e>>2]<(c|0)){v=p-c|0;f[E>>2]=v;s=e+4|0;f[B>>2]=s;v=32-v|0;f[h>>2]=(f[s>>2]|0)>>>v|j>>>(v-c|0);break}f[h>>2]=j>>>(32-p|0);v=(f[E>>2]|0)+p|0;f[E>>2]=v;if((v|0)!=32)break;f[B>>2]=e+4;f[E>>2]=0}while(0);s=f[n>>2]|0;v=l+(s<<2)|0;f[v>>2]=f[v>>2]|f[(f[r>>2]|0)+(s<<2)>>2];o=o+1|0}while(o>>>0<(f[I>>2]|0)>>>0)}h=f[d>>2]|0;e=f[w>>2]|0;f[w>>2]=e+1;if(((f[y>>2]|0)-i|0)!=12){v=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;s=h+40|0;v=f[s>>2]|0;s=Mk(v|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+s|0,i|0,v|0)|0;g=g+1|0;if(g>>>0>=t>>>0){v=15;break c}e=f[I>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;j=e;i=f[i+(p*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}r=i+(s<<2)|0;f[r>>2]=(f[r>>2]|0)+c;c=(_(t|0)|0)^31;if(c>>>0>=33){v=56;break b}if(!c){v=58;break b}i=f[D>>2]|0;h=32-i|0;j=f[A>>2]|0;e=f[j>>2]<>>(32-c|0);r=i+c|0;f[D>>2]=r;if((r|0)==32){f[A>>2]=j+4;f[D>>2]=0}}else{r=c-h|0;f[D>>2]=r;q=j+4|0;f[A>>2]=q;r=32-r|0;e=(f[q>>2]|0)>>>r|e>>>(r-h|0)}j=(t>>>1)-e|0;h=t-j|0;if((j|0)==(h|0))c=j;else{t=f[C>>2]|0;e=f[z>>2]|0;i=(f[e>>2]&1<<31-t|0)!=0;t=t+1|0;f[C>>2]=t;if((t|0)==32){f[z>>2]=e+4;f[C>>2]=0}c=i?j:h;j=i?h:j}f[k>>2]=(f[k>>2]|0)+1;e=f[l+(o*12|0)+4>>2]|0;if((e|0)!=(m|0)){i=f[l+(p*12|0)>>2]|0;h=e-m>>2;e=0;do{f[i+(e<<2)>>2]=f[n+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(c|0){i=f[L>>2]|0;t=g-i>>2;e=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+e|0)){cc(N);e=f[K>>2]|0;h=f[J>>2]|0;g=f[M>>2]|0;i=f[L>>2]|0}e=h+e|0;if((g|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=s;f[e+8>>2]=o;f[J>>2]=(f[J>>2]|0)+1}if(!j)v=15;else{i=f[M>>2]|0;h=f[L>>2]|0;t=i-h>>2;e=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+e|0)){cc(N);e=f[K>>2]|0;g=f[J>>2]|0;i=f[M>>2]|0;h=f[L>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=j;f[e+4>>2]=s;f[e+8>>2]=p;e=(f[J>>2]|0)+1|0;f[J>>2]=e}}while(0);if((v|0)==15){v=0;e=f[J>>2]|0}if(!e)break a}if((v|0)==23)Ga(4956,4986,51,5104);else if((v|0)==28)Ga(16815,16853,223,16994);else if((v|0)==37)Ga(4956,4986,51,5104);else if((v|0)==42)Ga(17009,17033,48,17135);else if((v|0)==44)Ga(17164,17033,49,17135);else if((v|0)==56)Ga(17009,17033,48,17135);else if((v|0)==58)Ga(17164,17033,49,17135)}while(0);e=f[L>>2]|0;g=f[K>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[M>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[J>>2]=0;g=c-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[L>>2]|0)+4|0;f[L>>2]=e;h=f[M>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;v=94;break}case 2:{g=341;v=94;break}default:{}}if((v|0)==94)f[K>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[L>>2]|0;g=f[M>>2]|0;if((g|0)!=(e|0))f[M>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[N>>2]|0;if(!e){u=O;return}Co(e);u=O;return}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;K=Q+24|0;P=Q;J=a+8|0;I=f[J>>2]|0;f[P>>2]=0;Jh(K,I,P);I=a+116|0;h=f[I>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];H=f[J>>2]|0;f[P>>2]=0;Jh(K,H,P);H=a+128|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[K>>2];f[g>>2]=f[K+4>>2];f[d>>2]=f[K+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;L=P+20|0;cc(P);d=f[N>>2]|0;e=(f[L>>2]|0)+(f[M>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[L>>2]|0)+1|0;f[L>>2]=d;a:do if(d|0){w=a+104|0;v=a+92|0;A=K+4|0;C=K+8|0;G=a+48|0;z=a+44|0;F=a+28|0;y=a+24|0;E=a+88|0;x=a+84|0;B=K+4|0;D=K+8|0;b:while(1){r=f[M>>2]|0;e=d+-1|0;n=r+e|0;s=f[N>>2]|0;p=f[s+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;t=f[p+(n*12|0)>>2]|0;g=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[L>>2]=e;e=f[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);e=(f[O>>2]|0)+-4|0;f[O>>2]=e}h=f[I>>2]|0;s=h+(n*12|0)|0;k=f[H>>2]|0;p=((f[J>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=k+(n*12|0)|0;m=f[r>>2]|0;j=m+(p<<2)|0;d=(f[a>>2]|0)-(f[j>>2]|0)|0;l=m;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[K>>2]=d;f[B>>2]=f[e+4>>2];f[D>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[B>>2];f[e+8>>2]=f[D>>2];f[g>>2]=e+12}else pf(i,K);b=b+1|0}while((b|0)<(t|0));q=15}else q=15;else{if(!t){q=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=p;d=f[J>>2]|0;if(d>>>0>1){e=p;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){q=36;break b}if((n|0)<=0){q=38;break b}h=f[G>>2]|0;b=32-h|0;d=f[z>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[G>>2]=n;d=d+4|0;f[z>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[G>>2]|0)+n|0;f[G>>2]=n;if((n|0)!=32)break;f[z>>2]=d+4;f[G>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[J>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[K>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else pf(q,K);e=e+1|0;if(e>>>0>=t>>>0){q=15;break c}d=f[J>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;b=d;h=f[h+(o*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}s=h+(p<<2)|0;f[s>>2]=(f[s>>2]|0)+i;i=(_(t|0)|0)^31;if(i>>>0>=33){q=53;break b}if(!i){q=55;break b}h=f[F>>2]|0;g=32-h|0;b=f[y>>2]|0;d=f[b>>2]<>>(32-i|0);s=h+i|0;f[F>>2]=s;if((s|0)==32){f[y>>2]=b+4;f[F>>2]=0}}else{s=i-g|0;f[F>>2]=s;r=b+4|0;f[y>>2]=r;s=32-s|0;d=(f[r>>2]|0)>>>s|d>>>(s-g|0)}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0))i=b;else{t=f[E>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[E>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[E>>2]=0}i=h?b:g;b=h?g:b}f[j>>2]=(f[j>>2]|0)+1;d=f[k+(n*12|0)+4>>2]|0;if((d|0)!=(l|0)){h=f[k+(o*12|0)>>2]|0;g=d-l>>2;d=0;do{f[h+(d<<2)>>2]=f[m+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){h=f[N>>2]|0;t=e-h>>2;d=f[M>>2]|0;g=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[M>>2]|0;g=f[L>>2]|0;e=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((e|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=i;f[d+4>>2]=p;f[d+8>>2]=n;f[L>>2]=(f[L>>2]|0)+1}if(!b)q=15;else{h=f[O>>2]|0;g=f[N>>2]|0;t=h-g>>2;d=f[M>>2]|0;e=f[L>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[M>>2]|0;e=f[L>>2]|0;h=f[O>>2]|0;g=f[N>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=p;f[d+8>>2]=o;d=(f[L>>2]|0)+1|0;f[L>>2]=d}}while(0);if((q|0)==15){q=0;d=f[L>>2]|0}if(!d)break a}if((q|0)==27)Ga(16815,16853,223,16994);else if((q|0)==36)Ga(17009,17033,48,17135);else if((q|0)==38)Ga(17164,17033,49,17135);else if((q|0)==53)Ga(17009,17033,48,17135);else if((q|0)==55)Ga(17164,17033,49,17135)}while(0);d=f[N>>2]|0;e=f[M>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[O>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[L>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[N>>2]|0)+4|0;f[N>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;q=91;break}case 2:{e=341;q=91;break}default:{}}if((q|0)==91)f[M>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[N>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=u;u=u+64|0;R=S+16|0;P=S;H=a+8|0;f[H>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);d=R;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[P>>2]=0;if(!e){d=0;g=0}else{jf(R,e,P);d=f[R+12>>2]|0;g=f[R+16>>2]|0}f[P>>2]=0;h=R+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else jf(R+12|0,e-i|0,P);i=R+24|0;f[P>>2]=0;h=R+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else jf(i,e-j|0,P);i=R+36|0;f[P>>2]=0;h=R+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else jf(i,e-j|0,P);h=f[R>>2]|0;if((f[H>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{G=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(G|0)?G:d}j=j+1|0;d=f[H>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;o=18}}else{d=d-(f[i>>2]|0)|0;o=18}if((o|0)==18){o=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}t=f[a+48>>2]|0;v=f[a+52>>2]|0;G=Nk(16)|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;yi(P,e);B=a+56|0;h=f[B>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;E=g-d|0;F=E>>2;a:do if((E|0)>4){A=t+64|0;x=t+28|0;z=(e|0)>0;D=a+16|0;y=a+32|0;E=a+12|0;C=a+20|0;w=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}o=f[d+(h<<2)>>2]|0;r=o+((o|0)<0?0:((o>>>0)%3|0|0)==0?2:-1)|0;q=r>>>5;s=1<<(r&31);p=(r|0)<0;g=o;n=1;d=0;b:while(1){do{if((g|0)<=-1){o=61;break b}i=f[R+(d*12|0)>>2]|0;if(((f[(f[t>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(Q=f[(f[(f[A>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(Q|0)>=0):0)?(K=f[x>>2]|0,m=f[v>>2]|0,I=f[m+(f[K+(Q<<2)>>2]<<2)>>2]|0,J=Q+1|0,J=f[m+(f[K+((((J|0)%3|0|0)==0?Q+-2|0:J)<<2)>>2]<<2)>>2]|0,K=f[m+(f[K+((((Q>>>0)%3|0|0)==0?2:-1)+Q<<2)>>2]<<2)>>2]|0,(I|0)<(h|0)&(J|0)<(h|0)&(K|0)<(h|0)):0){k=X(I,e)|0;l=X(J,e)|0;m=X(K,e)|0;if(z){j=0;do{f[i+(j<<2)>>2]=(f[c+(j+m<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=42;break b}}do if(n){i=g+1|0;g=((i|0)%3|0|0)==0?g+-2|0:i;i=f[t>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[A>>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;i=f[t>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[A>>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)==(o|0)){o=61;break b}}while(!(n&(g|0)<0));g=(s&f[i+(q<<2)>>2]|0)!=0;if(g|p){g=g?-1073741824:r;n=0;continue}g=f[(f[(f[A>>2]|0)+12>>2]|0)+(r<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;n=0;continue}else{g=g+-1|0;n=0;continue}}if((o|0)==61)if((d|0)>0)o=42;else{O=X(h,e)|0;o=73}if((o|0)==42){o=0;if(z){Yg(f[P>>2]|0,0,w|0)|0;k=d+-1|0;m=G+(k<<2)|0;k=f[a+60+(k*12|0)>>2]|0;l=f[P>>2]|0;n=0;g=0;do{s=f[m>>2]|0;f[m>>2]=s+1;if(!(f[k+(s>>>5<<2)>>2]&1<<(s&31))){i=f[R+(n*12|0)>>2]|0;j=0;do{s=l+(j<<2)|0;f[s>>2]=(f[s>>2]|0)+(f[i+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0}n=n+1|0}while((n|0)!=(d|0))}else{i=d+-1|0;k=G+(i<<2)|0;i=f[a+60+(i*12|0)>>2]|0;j=f[k>>2]|0;l=0;g=0;do{s=j;j=j+1|0;f[k>>2]=j;g=g+((f[i+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}i=X(h,e)|0;if(g){k=f[P>>2]|0;if(z){d=0;do{s=k+(d<<2)|0;f[s>>2]=(f[s>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}m=b+(i<<2)|0;l=c+(i<<2)|0;if((f[H>>2]|0)>0){i=0;do{d=f[k+(i<<2)>>2]|0;g=f[D>>2]|0;if((d|0)>(g|0)){j=f[y>>2]|0;f[j+(i<<2)>>2]=g}else{s=f[E>>2]|0;j=f[y>>2]|0;f[j+(i<<2)>>2]=(d|0)<(s|0)?s:d}i=i+1|0;d=f[H>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[m+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[D>>2]|0)){if((d|0)<(f[E>>2]|0)){d=(f[C>>2]|0)+d|0;o=95}}else{d=d-(f[C>>2]|0)|0;o=95}if((o|0)==95){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[H>>2]|0))}}}else{O=i;o=73}}if((o|0)==73?(o=0,L=c+((X(h+-1|0,e)|0)<<2)|0,M=b+(O<<2)|0,N=c+(O<<2)|0,(f[H>>2]|0)>0):0){i=0;do{d=f[L+(i<<2)>>2]|0;g=f[D>>2]|0;if((d|0)>(g|0)){j=f[y>>2]|0;f[j+(i<<2)>>2]=g}else{s=f[E>>2]|0;j=f[y>>2]|0;f[j+(i<<2)>>2]=(d|0)<(s|0)?s:d}i=i+1|0;d=f[H>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[M+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=N+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[D>>2]|0)){if((d|0)<(f[E>>2]|0)){d=(f[C>>2]|0)+d|0;o=83}}else{d=d-(f[C>>2]|0)|0;o=83}if((o|0)==83){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[H>>2]|0))}}h=h+1|0;if((h|0)>=(F|0)){d=P;break a}i=f[B>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=P;while(0);h=f[d>>2]|0;if(h|0){g=P+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h)}Co(G);g=f[R+36>>2]|0;if(g|0){h=R+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g)}d=f[R+24>>2]|0;if(d|0){h=R+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}d=f[R+12>>2]|0;if(d|0){h=R+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}h=f[R>>2]|0;if(!h){u=S;return 1}g=R+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h);u=S;return 1}function kb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K+8|0;j=K;E=a+8|0;D=f[E>>2]|0;f[j>>2]=0;Jh(J,D,j);D=a+624|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];C=f[E>>2]|0;f[j>>2]=0;Jh(J,C,j);C=a+636|0;i=f[C>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;cc(J);e=f[H>>2]|0;g=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[F>>2]|0)+1|0;f[F>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[G>>2]|0;g=e+-1|0;m=q+g|0;r=f[H>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[F>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[D>>2]|0;r=i+(m*12|0)|0;q=(f[C>>2]|0)+(m*12|0)|0;g=Lg(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[E>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[E>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{k=f[v>>2]|0;l=f[B>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[A>>2]|0;c=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(c|0)){p=p-c|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[E>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[E>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[D>>2]|0)+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Di(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=i?j:h;l=i?h:j}e=f[C>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[F>>2]=(f[F>>2]|0)+1}if(!l)o=15;else{j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[F>>2]|0)+1|0;f[F>>2]=e}}while(0);if((o|0)==15){o=0;e=f[F>>2]|0}if(!e)break a}if((o|0)==23)Ga(4956,4986,51,5104);else if((o|0)==28)Ga(16815,16853,223,16994);else if((o|0)==37)Ga(4956,4986,51,5104);else if((o|0)==42)Ga(17009,17033,48,17135);else if((o|0)==44)Ga(17164,17033,49,17135)}while(0);e=f[H>>2]|0;g=f[G>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[F>>2]=0;g=c-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[H>>2]|0)+4|0;f[H>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=88;break}case 2:{g=341;o=88;break}default:{}}if((o|0)==88)f[G>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[H>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function lb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K+8|0;j=K;E=a+8|0;D=f[E>>2]|0;f[j>>2]=0;Jh(J,D,j);D=a+624|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];C=f[E>>2]|0;f[j>>2]=0;Jh(J,C,j);C=a+636|0;i=f[C>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;cc(J);e=f[H>>2]|0;g=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[F>>2]|0)+1|0;f[F>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[G>>2]|0;g=e+-1|0;m=q+g|0;r=f[H>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[F>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[D>>2]|0;r=i+(m*12|0)|0;q=(f[C>>2]|0)+(m*12|0)|0;g=Xk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[E>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[E>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{k=f[v>>2]|0;l=f[B>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[A>>2]|0;c=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(c|0)){p=p-c|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[E>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[E>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[D>>2]|0)+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Di(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=i?j:h;l=i?h:j}e=f[C>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[F>>2]=(f[F>>2]|0)+1}if(!l)o=15;else{j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[F>>2]|0)+1|0;f[F>>2]=e}}while(0);if((o|0)==15){o=0;e=f[F>>2]|0}if(!e)break a}if((o|0)==23)Ga(4956,4986,51,5104);else if((o|0)==28)Ga(16815,16853,223,16994);else if((o|0)==37)Ga(4956,4986,51,5104);else if((o|0)==42)Ga(17009,17033,48,17135);else if((o|0)==44)Ga(17164,17033,49,17135)}while(0);e=f[H>>2]|0;g=f[G>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[F>>2]=0;g=c-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[H>>2]|0)+4|0;f[H>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=88;break}case 2:{g=341;o=88;break}default:{}}if((o|0)==88)f[G>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[H>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;I=O+24|0;N=O;H=a+8|0;G=f[H>>2]|0;f[N>>2]=0;Jh(I,G,N);G=a+624|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];F=f[H>>2]|0;f[N>>2]=0;Jh(I,F,N);F=a+636|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;cc(N);d=f[L>>2]|0;e=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[J>>2]|0)+1|0;f[J>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;z=I+4|0;B=I+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;A=I+4|0;C=I+8|0;b:while(1){r=f[K>>2]|0;e=d+-1|0;l=r+e|0;s=f[L>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[J>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[G>>2]|0;s=h+(l*12|0)|0;r=(f[F>>2]|0)+(l*12|0)|0;e=Lg(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[I>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else pf(i,I);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[H>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[H>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[H>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[I>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else pf(q,I);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[H>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;b=d;h=f[(f[G>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Di(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=h?b:g;k=h?g:b}d=f[F>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){b=f[M>>2]|0;g=f[L>>2]|0;t=b-g>>2;d=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+d|0)){cc(N);d=f[K>>2]|0;h=f[J>>2]|0;b=f[M>>2]|0;g=f[L>>2]|0}d=h+d|0;if((b|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[J>>2]=(f[J>>2]|0)+1}if(!k)n=15;else{b=f[M>>2]|0;h=f[L>>2]|0;t=b-h>>2;d=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[K>>2]|0;g=f[J>>2]|0;b=f[M>>2]|0;h=f[L>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[J>>2]|0)+1|0;f[J>>2]=d}}while(0);if((n|0)==15){n=0;d=f[J>>2]|0}if(!d)break a}if((n|0)==27)Ga(16815,16853,223,16994);else if((n|0)==36)Ga(17009,17033,48,17135);else if((n|0)==38)Ga(17164,17033,49,17135)}while(0);d=f[L>>2]|0;e=f[K>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[J>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[L>>2]|0)+4|0;f[L>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)f[K>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[L>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;I=O+24|0;N=O;H=a+8|0;G=f[H>>2]|0;f[N>>2]=0;Jh(I,G,N);G=a+624|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];F=f[H>>2]|0;f[N>>2]=0;Jh(I,F,N);F=a+636|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;cc(N);d=f[L>>2]|0;e=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[J>>2]|0)+1|0;f[J>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;z=I+4|0;B=I+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;A=I+4|0;C=I+8|0;b:while(1){r=f[K>>2]|0;e=d+-1|0;l=r+e|0;s=f[L>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[J>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[G>>2]|0;s=h+(l*12|0)|0;r=(f[F>>2]|0)+(l*12|0)|0;e=Xk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[I>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else pf(i,I);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[H>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[H>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[H>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[I>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else pf(q,I);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[H>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;b=d;h=f[(f[G>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Di(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=h?b:g;k=h?g:b}d=f[F>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){b=f[M>>2]|0;g=f[L>>2]|0;t=b-g>>2;d=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+d|0)){cc(N);d=f[K>>2]|0;h=f[J>>2]|0;b=f[M>>2]|0;g=f[L>>2]|0}d=h+d|0;if((b|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[J>>2]=(f[J>>2]|0)+1}if(!k)n=15;else{b=f[M>>2]|0;h=f[L>>2]|0;t=b-h>>2;d=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[K>>2]|0;g=f[J>>2]|0;b=f[M>>2]|0;h=f[L>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[J>>2]|0)+1|0;f[J>>2]=d}}while(0);if((n|0)==15){n=0;d=f[J>>2]|0}if(!d)break a}if((n|0)==27)Ga(16815,16853,223,16994);else if((n|0)==36)Ga(17009,17033,48,17135);else if((n|0)==38)Ga(17164,17033,49,17135)}while(0);d=f[L>>2]|0;e=f[K>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[J>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[L>>2]|0)+4|0;f[L>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)f[K>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[L>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K+8|0;j=K;E=a+8|0;D=f[E>>2]|0;f[j>>2]=0;Jh(J,D,j);D=a+624|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];C=f[E>>2]|0;f[j>>2]=0;Jh(J,C,j);C=a+636|0;i=f[C>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[J>>2];f[h>>2]=f[J+4>>2];f[e>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;H=J+4|0;G=J+16|0;F=J+20|0;cc(J);e=f[H>>2]|0;g=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[F>>2]|0)+1|0;f[F>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[G>>2]|0;g=e+-1|0;m=q+g|0;r=f[H>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[F>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[D>>2]|0;r=i+(m*12|0)|0;g=((f[E>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=(f[C>>2]|0)+(m*12|0)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(m*12|0)+4|0;c=f[d>>2]|0;m=c+84|0;i=c+68|0;k=c+40|0;c=c+64|0;g=f[t>>2]|0;l=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=23;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[c>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0;if((l|0)>=(s|0)){o=15;break}}}else o=15;else{if(!s){o=28;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[E>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[E>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{k=f[v>>2]|0;l=f[B>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){o=42;break b}if((p|0)<=0){o=44;break b}j=f[A>>2]|0;c=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(c|0)){p=p-c|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-c|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[E>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=37;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=15;break c}e=f[E>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;j=e;i=f[i+(n*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Di(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){k=j;l=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=i?j:h;l=i?h:j}e=f[C>>2]|0;c=f[e+(m*12|0)>>2]|0;h=c+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(m*12|0)+4>>2]|0;i=c;if((h|0)!=(i|0)){j=f[e+(n*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=g;f[e+8>>2]=m;f[F>>2]=(f[F>>2]|0)+1}if(!l)o=15;else{j=f[I>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[G>>2]|0;h=f[F>>2]|0;j=f[I>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;e=(f[F>>2]|0)+1|0;f[F>>2]=e}}while(0);if((o|0)==15){o=0;e=f[F>>2]|0}if(!e)break a}if((o|0)==23)Ga(4956,4986,51,5104);else if((o|0)==28)Ga(16815,16853,223,16994);else if((o|0)==37)Ga(4956,4986,51,5104);else if((o|0)==42)Ga(17009,17033,48,17135);else if((o|0)==44)Ga(17164,17033,49,17135)}while(0);e=f[H>>2]|0;g=f[G>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;c=h;k=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[F>>2]=0;g=c-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[H>>2]|0)+4|0;f[H>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=88;break}case 2:{g=341;o=88;break}default:{}}if((o|0)==88)f[G>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[H>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;I=O+24|0;N=O;H=a+8|0;G=f[H>>2]|0;f[N>>2]=0;Jh(I,G,N);G=a+624|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];F=f[H>>2]|0;f[N>>2]=0;Jh(I,F,N);F=a+636|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;L=N+4|0;K=N+16|0;J=N+20|0;cc(N);d=f[L>>2]|0;e=(f[J>>2]|0)+(f[K>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[J>>2]|0)+1|0;f[J>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;z=I+4|0;B=I+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;A=I+4|0;C=I+8|0;b:while(1){r=f[K>>2]|0;e=d+-1|0;l=r+e|0;s=f[L>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[J>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[G>>2]|0;s=h+(l*12|0)|0;e=((f[H>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=(f[F>>2]|0)+(l*12|0)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[I>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else pf(i,I);b=b+1|0}while((b|0)<(t|0));n=15}else n=15;else{if(!t){n=27;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[H>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[H>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){n=36;break b}if((n|0)<=0){n=38;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[H>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[I>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else pf(q,I);e=e+1|0;if(e>>>0>=t>>>0){n=15;break c}d=f[H>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;b=d;h=f[h+(m*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Di(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}b=(t>>>1)-d|0;g=t-b|0;if((b|0)==(g|0)){j=b;k=b}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=h?b:g;k=h?g:b}d=f[F>>2]|0;i=f[d+(l*12|0)>>2]|0;g=i+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(l*12|0)+4>>2]|0;h=i;if((g|0)!=(h|0)){b=f[d+(m*12|0)>>2]|0;g=g-h>>2;d=0;do{f[b+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){b=f[M>>2]|0;g=f[L>>2]|0;t=b-g>>2;d=f[K>>2]|0;h=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+d|0)){cc(N);d=f[K>>2]|0;h=f[J>>2]|0;b=f[M>>2]|0;g=f[L>>2]|0}d=h+d|0;if((b|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=e;f[d+8>>2]=l;f[J>>2]=(f[J>>2]|0)+1}if(!k)n=15;else{b=f[M>>2]|0;h=f[L>>2]|0;t=b-h>>2;d=f[K>>2]|0;g=f[J>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[K>>2]|0;g=f[J>>2]|0;b=f[M>>2]|0;h=f[L>>2]|0}d=g+d|0;if((b|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;d=(f[J>>2]|0)+1|0;f[J>>2]=d}}while(0);if((n|0)==15){n=0;d=f[J>>2]|0}if(!d)break a}if((n|0)==27)Ga(16815,16853,223,16994);else if((n|0)==36)Ga(17009,17033,48,17135);else if((n|0)==38)Ga(17164,17033,49,17135)}while(0);d=f[L>>2]|0;e=f[K>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[J>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[L>>2]|0)+4|0;f[L>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=85;break}case 2:{e=341;n=85;break}default:{}}if((n|0)==85)f[K>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[L>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function qb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=u;u=u+64|0;O=P+16|0;N=P;I=a+8|0;f[I>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else lg(i,e-j|0);d=O;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[N>>2]=0;if(!e){d=0;g=0}else{jf(O,e,N);d=f[O+12>>2]|0;g=f[O+16>>2]|0}f[N>>2]=0;h=O+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else jf(O+12|0,e-i|0,N);i=O+24|0;f[N>>2]=0;h=O+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else jf(i,e-j|0,N);i=O+36|0;f[N>>2]=0;h=O+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else jf(i,e-j|0,N);h=f[O>>2]|0;if((f[I>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{H=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(H|0)?H:d}j=j+1|0;d=f[I>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;o=18}}else{d=d-(f[i>>2]|0)|0;o=18}if((o|0)==18){o=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}w=f[a+48>>2]|0;x=f[a+52>>2]|0;H=Nk(16)|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;yi(N,e);C=a+56|0;h=f[C>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;F=g-d|0;G=F>>2;a:do if((F|0)>4){z=w+12|0;B=(e|0)>0;E=a+16|0;A=a+32|0;F=a+12|0;D=a+20|0;y=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){mn(i);d=f[i>>2]|0}s=f[d+(h<<2)>>2]|0;v=(((s>>>0)%3|0|0)==0?2:-1)+s|0;t=(s|v|0)<0;r=(s|0)<0?s:v;g=s;q=1;d=0;b:while(1){do{if((g|0)<=-1){o=62;break b}o=f[O+(d*12|0)>>2]|0;p=f[z>>2]|0;j=f[p+(g<<2)>>2]|0;if((j|0)>=0){k=f[w>>2]|0;l=f[x>>2]|0;n=f[l+(f[k+(j<<2)>>2]<<2)>>2]|0;i=j+1|0;i=((i|0)%3|0|0)==0?j+-2|0:i;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;m=f[l+(i<<2)>>2]|0;i=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;i=f[l+(i<<2)>>2]|0;if((n|0)<(h|0)&(m|0)<(h|0)&(i|0)<(h|0)){l=X(n,e)|0;k=X(m,e)|0;j=X(i,e)|0;if(B){i=0;do{f[o+(i<<2)>>2]=(f[c+(i+j<<2)>>2]|0)+(f[c+(i+k<<2)>>2]|0)-(f[c+(i+l<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=45;break b}}}do if(q){o=g+1|0;g=((o|0)%3|0|0)==0?g+-2|0:o;if((g|0)>=0){g=f[p+(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=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=f[p+(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)==(s|0)){o=62;break b}}while(!(q&(g|0)<0));if(t){g=r;q=0;continue}g=f[p+(v<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;q=0;continue}else{g=g+-1|0;q=0;continue}}if((o|0)==62)if((d|0)>0)o=45;else{M=X(h,e)|0;o=74}if((o|0)==45){o=0;if(B){Yg(f[N>>2]|0,0,y|0)|0;k=d+-1|0;m=H+(k<<2)|0;k=f[a+60+(k*12|0)>>2]|0;l=f[N>>2]|0;n=0;g=0;do{v=f[m>>2]|0;f[m>>2]=v+1;if(!(f[k+(v>>>5<<2)>>2]&1<<(v&31))){i=f[O+(n*12|0)>>2]|0;j=0;do{v=l+(j<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[i+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0}n=n+1|0}while((n|0)!=(d|0))}else{i=d+-1|0;k=H+(i<<2)|0;i=f[a+60+(i*12|0)>>2]|0;j=f[k>>2]|0;l=0;g=0;do{v=j;j=j+1|0;f[k>>2]=j;g=g+((f[i+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}i=X(h,e)|0;if(g){k=f[N>>2]|0;if(B){d=0;do{v=k+(d<<2)|0;f[v>>2]=(f[v>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}m=b+(i<<2)|0;l=c+(i<<2)|0;if((f[I>>2]|0)>0){i=0;do{d=f[k+(i<<2)>>2]|0;g=f[E>>2]|0;if((d|0)>(g|0)){j=f[A>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[F>>2]|0;j=f[A>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[I>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[m+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[E>>2]|0)){if((d|0)<(f[F>>2]|0)){d=(f[D>>2]|0)+d|0;o=96}}else{d=d-(f[D>>2]|0)|0;o=96}if((o|0)==96){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[I>>2]|0))}}}else{M=i;o=74}}if((o|0)==74?(o=0,J=c+((X(h+-1|0,e)|0)<<2)|0,K=b+(M<<2)|0,L=c+(M<<2)|0,(f[I>>2]|0)>0):0){i=0;do{d=f[J+(i<<2)>>2]|0;g=f[E>>2]|0;if((d|0)>(g|0)){j=f[A>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[F>>2]|0;j=f[A>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[I>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[K+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=L+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[E>>2]|0)){if((d|0)<(f[F>>2]|0)){d=(f[D>>2]|0)+d|0;o=84}}else{d=d-(f[D>>2]|0)|0;o=84}if((o|0)==84){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[I>>2]|0))}}h=h+1|0;if((h|0)>=(G|0)){d=N;break a}i=f[C>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=N;while(0);h=f[d>>2]|0;if(h|0){g=N+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h)}Co(H);g=f[O+36>>2]|0;if(g|0){h=O+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g)}d=f[O+24>>2]|0;if(d|0){h=O+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}d=f[O+12>>2]|0;if(d|0){h=O+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}h=f[O>>2]|0;if(!h){u=P;return 1}g=O+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h);u=P;return 1}function rb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=u;u=u+32|0;M=N+8|0;G=N;F=a+8|0;E=f[F>>2]|0;f[G>>2]=0;Jh(M,E,G);E=a+112|0;i=f[E>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];D=f[F>>2]|0;f[G>>2]=0;Jh(M,D,G);D=a+124|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;J=M+4|0;I=M+16|0;H=M+20|0;cc(M);e=f[J>>2]|0;g=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[H>>2]|0)+1|0;f[H>>2]=e;a:do if(e|0){v=a+100|0;C=a+88|0;t=d+4|0;w=a+92|0;A=a+44|0;y=a+40|0;B=a+12|0;z=a+84|0;x=a+80|0;b:while(1){q=f[I>>2]|0;g=e+-1|0;l=q+g|0;r=f[J>>2]|0;p=f[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=f[p+(l*12|0)>>2]|0;h=f[p+(l*12|0)+4>>2]|0;l=f[p+(l*12|0)+8>>2]|0;f[H>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}g=f[E>>2]|0;r=g+(l*12|0)|0;q=(f[D>>2]|0)+(l*12|0)|0;n=Xk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!e){if((s|0)>0){c=g+(l*12|0)+4|0;j=f[d>>2]|0;m=j+84|0;i=j+68|0;k=j+40|0;j=j+64|0;g=f[t>>2]|0;l=0;do{e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[c>>2]|0)-h|0)!=12){L=22;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[j>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0}while((l|0)<(s|0))}}else{if(!s){L=27;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=n;e=f[F>>2]|0;if(e>>>0>1){g=n;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[F>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[C>>2]|0;else{k=f[v>>2]|0;l=f[C>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){L=41;break b}if((p|0)<=0){L=43;break b}c=f[A>>2]|0;j=32-c|0;e=f[y>>2]|0;c=f[e>>2]<(j|0)){p=p-j|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|c>>>(p-j|0);break}f[h>>2]=c>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[F>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){L=36;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0)break c;e=f[F>>2]|0}}c=1<>2]|0;e=f[r>>2]|0;i=e;h=f[(f[E>>2]|0)+(m*12|0)>>2]|0;if((g|0)!=(e|0)){g=g-e>>2;e=0;do{f[h+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=h+(n<<2)|0;f[i>>2]=(f[i>>2]|0)+c;i=(_(s|0)|0)^31;f[G>>2]=0;dh(B,i,G);i=(s>>>1)-(f[G>>2]|0)|0;g=s-i|0;if((i|0)==(g|0)){j=i;k=i}else{s=f[z>>2]|0;e=f[x>>2]|0;h=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}j=h?i:g;k=h?g:i}e=f[D>>2]|0;c=f[e+(l*12|0)>>2]|0;g=c+(n<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[e+(l*12|0)+4>>2]|0;h=c;if((g|0)!=(h|0)){i=f[e+(m*12|0)>>2]|0;g=g-h>>2;e=0;do{f[i+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(j|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=j;f[e+4>>2]=n;f[e+8>>2]=l;f[H>>2]=(f[H>>2]|0)+1}if(k|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=n;f[e+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}}while(0);e=f[H>>2]|0;if(!e)break a}if((L|0)==22)Ga(4956,4986,51,5104);else if((L|0)==27)Ga(16815,16853,223,16994);else if((L|0)==36)Ga(4956,4986,51,5104);else if((L|0)==41)Ga(17009,17033,48,17135);else if((L|0)==43)Ga(17164,17033,49,17135)}while(0);e=f[J>>2]|0;g=f[I>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;j=h;k=e;if((h|0)==(e|0)){c=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;c=g}d:while(1){do{if((g|0)==(c|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[H>>2]=0;g=j-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[J>>2]|0)+4|0;f[J>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;L=86;break}case 2:{g=341;L=86;break}default:{}}if((L|0)==86)f[I>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[J>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[M>>2]|0;if(!e){u=N;return}Co(e);u=N;return}function sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;M=N+8|0;G=N;F=a+8|0;E=f[F>>2]|0;f[G>>2]=0;Jh(M,E,G);E=a+112|0;i=f[E>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];D=f[F>>2]|0;f[G>>2]=0;Jh(M,D,G);D=a+124|0;i=f[D>>2]|0;e=f[i>>2]|0;h=i+4|0;if(!e)e=i+8|0;else{g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e);e=i+8|0;f[e>>2]=0;f[h>>2]=0;f[i>>2]=0}f[i>>2]=f[M>>2];f[h>>2]=f[M+4>>2];f[e>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;J=M+4|0;I=M+16|0;H=M+20|0;cc(M);e=f[J>>2]|0;g=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[H>>2]|0)+1|0;f[H>>2]=e;a:do if(e|0){v=a+100|0;C=a+88|0;t=d+4|0;w=a+92|0;A=a+44|0;y=a+40|0;B=a+12|0;z=a+84|0;x=a+80|0;b:while(1){q=f[I>>2]|0;g=e+-1|0;l=q+g|0;r=f[J>>2]|0;p=f[r+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;s=f[p+(l*12|0)>>2]|0;h=f[p+(l*12|0)+4>>2]|0;l=f[p+(l*12|0)+8>>2]|0;f[H>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}c=f[E>>2]|0;r=c+(l*12|0)|0;n=((f[F>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=(f[D>>2]|0)+(l*12|0)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(n<<2)>>2]|0)|0;c:do if(!e){if((s|0)>0){c=c+(l*12|0)+4|0;j=f[d>>2]|0;m=j+84|0;i=j+68|0;k=j+40|0;j=j+64|0;g=f[t>>2]|0;l=0;do{e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[c>>2]|0)-h|0)!=12){L=22;break b}if(!(b[m>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=k;q=f[p>>2]|0;p=Mk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[j>>2]>>2]|0)+p|0,h|0,q|0)|0;l=l+1|0}while((l|0)<(s|0))}}else{if(!s){L=27;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=n;e=f[F>>2]|0;if(e>>>0>1){g=n;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[F>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[C>>2]|0;else{k=f[v>>2]|0;l=f[C>>2]|0;m=f[q>>2]|0;i=l;o=0;do{n=k+(o<<2)|0;f[l+(f[n>>2]<<2)>>2]=0;e=f[n>>2]|0;p=(f[a>>2]|0)-(f[m+(e<<2)>>2]|0)|0;do if(p|0){h=l+(e<<2)|0;if((p|0)>=33){L=41;break b}if((p|0)<=0){L=43;break b}c=f[A>>2]|0;j=32-c|0;e=f[y>>2]|0;c=f[e>>2]<(j|0)){p=p-j|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|c>>>(p-j|0);break}f[h>>2]=c>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);n=f[n>>2]|0;p=l+(n<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(n<<2)>>2];o=o+1|0}while(o>>>0<(f[F>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){L=36;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Mk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;Xe((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0)break c;e=f[F>>2]|0}}j=1<>2]|0;e=f[r>>2]|0;i=e;h=f[c+(m*12|0)>>2]|0;if((g|0)!=(e|0)){g=g-e>>2;e=0;do{f[h+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=h+(n<<2)|0;f[i>>2]=(f[i>>2]|0)+j;i=(_(s|0)|0)^31;f[G>>2]=0;dh(B,i,G);i=(s>>>1)-(f[G>>2]|0)|0;g=s-i|0;if((i|0)==(g|0)){j=i;k=i}else{s=f[z>>2]|0;e=f[x>>2]|0;h=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}j=h?i:g;k=h?g:i}e=f[D>>2]|0;c=f[e+(l*12|0)>>2]|0;g=c+(n<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[e+(l*12|0)+4>>2]|0;h=c;if((g|0)!=(h|0)){i=f[e+(m*12|0)>>2]|0;g=g-h>>2;e=0;do{f[i+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(j|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=j;f[e+4>>2]=n;f[e+8>>2]=l;f[H>>2]=(f[H>>2]|0)+1}if(k|0){i=f[K>>2]|0;h=f[J>>2]|0;s=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[I>>2]|0;g=f[H>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=n;f[e+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}}while(0);e=f[H>>2]|0;if(!e)break a}if((L|0)==22)Ga(4956,4986,51,5104);else if((L|0)==27)Ga(16815,16853,223,16994);else if((L|0)==36)Ga(4956,4986,51,5104);else if((L|0)==41)Ga(17009,17033,48,17135);else if((L|0)==43)Ga(17164,17033,49,17135)}while(0);e=f[J>>2]|0;g=f[I>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;j=h;k=e;if((h|0)==(e|0)){c=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;c=g}d:while(1){do{if((g|0)==(c|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[H>>2]=0;g=j-k>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[J>>2]|0)+4|0;f[J>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;L=86;break}case 2:{g=341;L=86;break}default:{}}if((L|0)==86)f[I>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[J>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[M>>2]|0;if(!e){u=N;return}Co(e);u=N;return}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;J=Q+24|0;P=Q;I=a+8|0;H=f[I>>2]|0;f[P>>2]=0;Jh(J,H,P);H=a+112|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];G=f[I>>2]|0;f[P>>2]=0;Jh(J,G,P);G=a+124|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;M=P+4|0;L=P+16|0;K=P+20|0;cc(P);d=f[M>>2]|0;e=(f[K>>2]|0)+(f[L>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[K>>2]|0)+1|0;f[K>>2]=d;a:do if(d|0){w=a+100|0;v=a+88|0;z=J+4|0;B=J+8|0;E=a+44|0;y=a+40|0;F=a+12|0;D=a+84|0;x=a+80|0;A=J+4|0;C=J+8|0;b:while(1){r=f[L>>2]|0;e=d+-1|0;k=r+e|0;s=f[M>>2]|0;q=f[s+(((k>>>0)/341|0)<<2)>>2]|0;k=(k>>>0)%341|0;t=f[q+(k*12|0)>>2]|0;g=f[q+(k*12|0)+4>>2]|0;k=f[q+(k*12|0)+8>>2]|0;f[K>>2]=e;e=f[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}e=f[H>>2]|0;s=e+(k*12|0)|0;r=(f[G>>2]|0)+(k*12|0)|0;m=Xk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(m<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[J>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else pf(i,J);b=b+1|0}while((b|0)<(t|0))}}else{if(!t){O=26;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=m;d=f[I>>2]|0;if(d>>>0>1){e=m;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[I>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){O=35;break b}if((n|0)<=0){O=37;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[I>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[J>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else pf(q,J);e=e+1|0;if(e>>>0>=t>>>0)break c;d=f[I>>2]|0}}b=1<>2]|0;d=f[s>>2]|0;h=d;g=f[(f[H>>2]|0)+(l*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{f[g+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=g+(m<<2)|0;f[h>>2]=(f[h>>2]|0)+b;h=(_(t|0)|0)^31;f[J>>2]=0;dh(F,h,J);h=(t>>>1)-(f[J>>2]|0)|0;e=t-h|0;if((h|0)==(e|0)){i=h;j=h}else{t=f[D>>2]|0;d=f[x>>2]|0;g=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}i=g?h:e;j=g?e:h}d=f[G>>2]|0;b=f[d+(k*12|0)>>2]|0;e=b+(m<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=f[d+(k*12|0)+4>>2]|0;g=b;if((e|0)!=(g|0)){h=f[d+(l*12|0)>>2]|0;e=e-g>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){h=f[N>>2]|0;e=f[M>>2]|0;t=h-e>>2;d=f[L>>2]|0;g=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[L>>2]|0;g=f[K>>2]|0;h=f[N>>2]|0;e=f[M>>2]|0}d=g+d|0;if((h|0)==(e|0))d=0;else d=(f[e+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=i;f[d+4>>2]=m;f[d+8>>2]=k;f[K>>2]=(f[K>>2]|0)+1}if(j|0){h=f[N>>2]|0;g=f[M>>2]|0;t=h-g>>2;d=f[L>>2]|0;e=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[L>>2]|0;e=f[K>>2]|0;h=f[N>>2]|0;g=f[M>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=m;f[d+8>>2]=l;f[K>>2]=(f[K>>2]|0)+1}}while(0);d=f[K>>2]|0;if(!d)break a}if((O|0)==26)Ga(16815,16853,223,16994);else if((O|0)==35)Ga(17009,17033,48,17135);else if((O|0)==37)Ga(17164,17033,49,17135)}while(0);d=f[M>>2]|0;e=f[L>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[N>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[K>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[M>>2]|0)+4|0;f[M>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=83;break}case 2:{e=341;O=83;break}default:{}}if((O|0)==83)f[L>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[M>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;J=Q+24|0;P=Q;I=a+8|0;H=f[I>>2]|0;f[P>>2]=0;Jh(J,H,P);H=a+112|0;h=f[H>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];G=f[I>>2]|0;f[P>>2]=0;Jh(J,G,P);G=a+124|0;h=f[G>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[J>>2];f[g>>2]=f[J+4>>2];f[d>>2]=f[J+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;M=P+4|0;L=P+16|0;K=P+20|0;cc(P);d=f[M>>2]|0;e=(f[K>>2]|0)+(f[L>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[K>>2]|0)+1|0;f[K>>2]=d;a:do if(d|0){w=a+100|0;v=a+88|0;z=J+4|0;B=J+8|0;E=a+44|0;y=a+40|0;F=a+12|0;D=a+84|0;x=a+80|0;A=J+4|0;C=J+8|0;b:while(1){r=f[L>>2]|0;e=d+-1|0;k=r+e|0;s=f[M>>2]|0;q=f[s+(((k>>>0)/341|0)<<2)>>2]|0;k=(k>>>0)%341|0;t=f[q+(k*12|0)>>2]|0;g=f[q+(k*12|0)+4>>2]|0;k=f[q+(k*12|0)+8>>2]|0;f[K>>2]=e;e=f[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}b=f[H>>2]|0;s=b+(k*12|0)|0;m=((f[I>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=(f[G>>2]|0)+(k*12|0)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(m<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){i=f[c>>2]|0;g=i+4|0;h=i+8|0;b=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[J>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else pf(i,J);b=b+1|0}while((b|0)<(t|0))}}else{if(!t){O=26;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=m;d=f[I>>2]|0;if(d>>>0>1){e=m;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[I>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){i=f[w>>2]|0;j=f[v>>2]|0;k=f[r>>2]|0;m=0;do{l=i+(m<<2)|0;f[j+(f[l>>2]<<2)>>2]=0;d=f[l>>2]|0;n=(f[a>>2]|0)-(f[k+(d<<2)>>2]|0)|0;do if(n|0){g=j+(d<<2)|0;if((n|0)>=33){O=35;break b}if((n|0)<=0){O=37;break b}h=f[E>>2]|0;b=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(b|0)){n=n-b|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-b|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);l=f[l>>2]|0;n=j+(l<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(l<<2)>>2];m=m+1|0}while(m>>>0<(f[I>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[J>>2]=d;f[z>>2]=f[g+4>>2];f[B>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[z>>2];f[g+8>>2]=f[B>>2];f[o>>2]=g+12}else pf(q,J);e=e+1|0;if(e>>>0>=t>>>0)break c;d=f[I>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;h=d;g=f[b+(l*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{f[g+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=g+(m<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;f[J>>2]=0;dh(F,h,J);h=(t>>>1)-(f[J>>2]|0)|0;e=t-h|0;if((h|0)==(e|0)){i=h;j=h}else{t=f[D>>2]|0;d=f[x>>2]|0;g=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}i=g?h:e;j=g?e:h}d=f[G>>2]|0;b=f[d+(k*12|0)>>2]|0;e=b+(m<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=f[d+(k*12|0)+4>>2]|0;g=b;if((e|0)!=(g|0)){h=f[d+(l*12|0)>>2]|0;e=e-g>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(i|0){h=f[N>>2]|0;g=f[M>>2]|0;t=h-g>>2;d=f[L>>2]|0;e=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[L>>2]|0;e=f[K>>2]|0;h=f[N>>2]|0;g=f[M>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=i;f[d+4>>2]=m;f[d+8>>2]=k;f[K>>2]=(f[K>>2]|0)+1}if(j|0){h=f[N>>2]|0;g=f[M>>2]|0;t=h-g>>2;d=f[L>>2]|0;e=f[K>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[L>>2]|0;e=f[K>>2]|0;h=f[N>>2]|0;g=f[M>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=m;f[d+8>>2]=l;f[K>>2]=(f[K>>2]|0)+1}}while(0);d=f[K>>2]|0;if(!d)break a}if((O|0)==26)Ga(16815,16853,223,16994);else if((O|0)==35)Ga(17009,17033,48,17135);else if((O|0)==37)Ga(17164,17033,49,17135)}while(0);d=f[M>>2]|0;e=f[L>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[N>>2]|0;i=g;j=d;if((g|0)==(d|0)){b=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;b=e}d:while(1){do{if((e|0)==(b|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[K>>2]=0;e=i-j>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[M>>2]|0)+4|0;f[M>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=83;break}case 2:{e=341;O=83;break}default:{}}if((O|0)==83)f[L>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[M>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function vb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;x=z+20|0;y=z+16|0;w=z+4|0;q=z;o=a+36|0;p=a+37|0;v=a+32|0;i=f[v>>2]|0;do if((((h[o>>0]|0)<<8|(h[p>>0]|0))&65535)<514){l=i+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=i+16|0;d=m;c=f[d>>2]|0;d=f[d+4>>2]|0;g=gm(c|0,d|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&k>>>0>>0){a=0;u=z;return a|0}j=(f[i>>2]|0)+c|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[x>>2]=j;t=m;f[t>>2]=g;f[t+4>>2]=e;c=gm(c|0,d|0,8,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&k>>>0>>0){a=0;u=z;return a|0}else{t=(f[i>>2]|0)+g|0;f[y>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=m;f[t>>2]=c;f[t+4>>2]=d;break}}else{if(!(sh(x,i)|0)){a=0;u=z;return a|0}if(sh(y,f[v>>2]|0)|0){j=f[x>>2]|0;break}else{a=0;u=z;return a|0}}while(0);if(j>>>0>1431655765){a=0;u=z;return a|0}c=f[y>>2]|0;t=Mk(j|0,0,3,0)|0;s=I;if(0>s>>>0|0==(s|0)&c>>>0>t>>>0){a=0;u=z;return a|0}k=f[v>>2]|0;t=k+8|0;s=f[t+4>>2]|0;d=k+16|0;n=d;m=f[n>>2]|0;n=f[n+4>>2]|0;if(!((s|0)>(n|0)|((s|0)==(n|0)?(f[t>>2]|0)>>>0>m>>>0:0))){a=0;u=z;return a|0}t=b[(f[k>>2]|0)+m>>0]|0;l=gm(m|0,n|0,1,0)|0;i=I;s=d;f[s>>2]=l;f[s+4>>2]=i;a:do if(!(t<<24>>24)){if(!(Jd(a,j)|0)){a=0;u=z;return a|0}}else{if(c>>>0<256){if(!j)break;o=a+44|0;p=w+4|0;q=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;d=k+8|0;c=f[d>>2]|0;d=f[d+4>>2]|0;b:do if((d|0)>(i|0)|(d|0)==(i|0)&c>>>0>l>>>0){n=c;g=d;m=0;while(1){e=k+16|0;d=f[k>>2]|0;s=b[d+l>>0]|0;c=gm(l|0,i|0,1,0)|0;t=I;r=e;f[r>>2]=c;f[r+4>>2]=t;f[w>>2]=s&255;if(!((g|0)>(t|0)|(g|0)==(t|0)&n>>>0>c>>>0))break b;s=b[d+c>>0]|0;c=gm(l|0,i|0,2,0)|0;t=I;r=e;f[r>>2]=c;f[r+4>>2]=t;f[p>>2]=s&255;if(!((g|0)>(t|0)|(g|0)==(t|0)&n>>>0>c>>>0))break b;d=b[d+c>>0]|0;c=gm(l|0,i|0,3,0)|0;f[e>>2]=c;f[e+4>>2]=I;f[q>>2]=d&255;d=f[o>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){gg(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}m=m+1|0;if(m>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;g=k+8|0;n=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>(i|0)|(g|0)==(i|0)&n>>>0>l>>>0))break;else j=c}}while(0);a=0;u=z;return a|0}if(c>>>0<65536){if(!j)break;r=a+44|0;s=w+4|0;t=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=k+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=gm(m|0,n|0,3,0)|0;d=I;c:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;o=e;n=g;q=0;while(1){m=k+16|0;g=f[k>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8;c=m;f[c>>2]=p;f[c+4>>2]=d;f[w>>2]=e&65535;e=gm(l|0,i|0,4,0)|0;c=I;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0>>0)break c;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8;p=m;f[p>>2]=e;f[p+4>>2]=c;f[s>>2]=d&65535;c=gm(l|0,i|0,6,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0)break c;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8;p=m;f[p>>2]=c;f[p+4>>2]=d;f[t>>2]=e&65535;d=f[r>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){gg(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}q=q+1|0;if(q>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;o=k+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=gm(l|0,i|0,2,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0

>>0)break;else j=c}}while(0);a=0;u=z;return a|0}t=a+44|0;if((f[(f[t>>2]|0)+80>>2]|0)<2097152?(((h[o>>0]|0)<<8|(h[p>>0]|0))&65535)>513:0){if(!j)break;i=w+4|0;j=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;d:do if(sh(q,k)|0){g=0;do{f[w>>2]=f[q>>2];if(!(sh(q,f[v>>2]|0)|0))break d;f[i>>2]=f[q>>2];if(!(sh(q,f[v>>2]|0)|0))break d;f[j>>2]=f[q>>2];d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))gg(d+96|0,w);else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12}g=g+1|0;if(g>>>0>=(f[x>>2]|0)>>>0)break a;s=f[v>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0}while(sh(q,s)|0)}while(0);a=0;u=z;return a|0}if(j|0){r=w+4|0;s=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=k+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=gm(m|0,n|0,5,0)|0;d=I;e:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;o=e;n=g;q=0;while(1){m=k+16|0;g=f[k>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;c=m;f[c>>2]=p;f[c+4>>2]=d;f[w>>2]=e;e=gm(l|0,i|0,8,0)|0;c=I;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0>>0)break e;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;p=m;f[p>>2]=e;f[p+4>>2]=c;f[r>>2]=d;c=gm(l|0,i|0,12,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0)break e;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;p=m;f[p>>2]=c;f[p+4>>2]=d;f[s>>2]=e;d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){gg(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}q=q+1|0;if(q>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;o=k+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=gm(l|0,i|0,4,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0

>>0)break;else j=c}}while(0);a=0;u=z;return a|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[y>>2];a=1;u=z;return a|0}function wb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=La,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Mk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Mk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=gm(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Yg(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function xb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=u;u=u+48|0;F=I+36|0;H=I+24|0;G=I+12|0;C=I;E=a+4|0;d=f[(f[E>>2]|0)+44>>2]|0;D=a+8|0;g=f[D>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;h=d+96|0;d=d+100|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;c=f[d>>2]|0;b=f[h>>2]|0;i=(c-b|0)/12|0;if(g>>>0<=i>>>0){if(g>>>0>>0?(e=b+(g*12|0)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0)}else De(h,g-i|0,F);r=a+224|0;q=a+228|0;if((f[q>>2]|0)==(f[r>>2]|0)){d=f[D>>2]|0;d=(f[d+28>>2]|0)-(f[d+24>>2]|0)>>2;f[F>>2]=-1;Jh(H,d,F);d=f[E>>2]|0;b=f[d+44>>2]|0;e=f[b+100>>2]|0;c=f[b+96>>2]|0;if((e-c|0)>0){o=G+4|0;p=G+8|0;l=b;m=c;c=d;h=d;n=0;b=0;while(1){f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;i=n*3|0;if((n|0)<0)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i<<2)>>2]|0;a=f[H>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;k=b;b=b+1|0}else k=d;f[G>>2]=k;if((i|0)<-1)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i+1<<2)>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;d=b;b=b+1|0}f[o>>2]=d;if((i|0)<-2)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i+2<<2)>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;d=b;b=b+1|0}f[p>>2]=d;g=l+96|0;d=l+100|0;a=(e-m|0)/12|0;i=m;j=n;n=n+1|0;if((j|0)<(a|0)){d=l;g=m}else{c=e;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;if(n>>>0<=a>>>0)if(n>>>0>>0?(A=i+(n*12|0)|0,(c|0)!=(A|0)):0){e=c+(~(((c+-12-A|0)>>>0)/12|0)*12|0)|0;f[d>>2]=e;d=l;g=m}else{d=l;g=m}else{De(g,n-a|0,F);h=f[E>>2]|0;C=f[h+44>>2]|0;i=f[g>>2]|0;d=C;e=f[C+100>>2]|0;g=f[C+96>>2]|0}c=h}f[i+(j*12|0)>>2]=k;f[i+(j*12|0)+4>>2]=f[o>>2];f[i+(j*12|0)+8>>2]=f[p>>2];if((n|0)>=((e-g|0)/12|0|0)){d=H;break}else{l=d;m=g}}}else{c=d;d=H;b=0}f[(f[c+4>>2]|0)+80>>2]=b;d=f[d>>2]|0;if(d|0){c=H+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d)}u=I;return 1}f[H>>2]=0;A=H+4|0;f[A>>2]=0;f[H+8>>2]=0;b=f[D>>2]|0;yi(G,(f[b+4>>2]|0)-(f[b>>2]|0)>>2);b=f[D>>2]|0;if(((f[b+28>>2]|0)-(f[b+24>>2]|0)|0)>0){o=a+132|0;p=H+8|0;n=0;do{h=f[(f[b+24>>2]|0)+(n<<2)>>2]|0;a:do if((h|0)>=0){b:do if((f[(f[o>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0)==0?(s=f[q>>2]|0,t=f[r>>2]|0,v=t,(s|0)!=(t|0)):0){a=(((h>>>0)%3|0|0)==0?2:-1)+h|0;j=(a|0)<0;l=(s-t|0)/116|0;i=b+12|0;g=b+12|0;k=0;c:while(1){m=f[(f[f[v+(k*116|0)+68>>2]>>2]|0)+(h<<2)>>2]|0;do if(1<<(m&31)&f[(f[v+(k*116|0)+16>>2]|0)+(m>>>5<<2)>>2]|0){e=f[v+(k*116|0)+32>>2]|0;m=f[e+(h<<2)>>2]|0;if(!j){c=f[(f[i>>2]|0)+(a<<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)==(h|0))break;else d=c}else d=a;while(1){c=f[e+(d<<2)>>2]|0;if((d|0)<0)break c;if((c|0)!=(m|0)){h=d;break b}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=f[(f[g>>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)==(h|0))break;else d=c}}while(0);k=k+1|0;if(k>>>0>=l>>>0)break b}while(1)if((c|0)==(m|0))c=m;else{h=d;break}}while(0);c=f[A>>2]|0;f[(f[G>>2]|0)+(h<<2)>>2]=c-(f[H>>2]|0)>>2;f[F>>2]=h;if(c>>>0<(f[p>>2]|0)>>>0){f[c>>2]=h;f[A>>2]=c+4}else{zg(H,F);b=f[D>>2]|0}if((((h|0)>=0?(w=(((h>>>0)%3|0|0)==0?2:-1)+h|0,(w|0)>=0):0)?(x=f[(f[b+12>>2]|0)+(w<<2)>>2]|0,(x|0)>=0):0)?(y=x+(((x>>>0)%3|0|0)==0?2:-1)|0,(y|0)>-1&(y|0)!=(h|0)):0){g=y;e=h;while(1){b=f[q>>2]|0;c=f[r>>2]|0;d=c;d:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){m=f[d+(b*116|0)+32>>2]|0;b=b+1|0;if((f[m+(g<<2)>>2]|0)!=(f[m+(e<<2)>>2]|0))break;if(b>>>0>=c>>>0){z=67;break d}}b=f[A>>2]|0;f[(f[G>>2]|0)+(g<<2)>>2]=b-(f[H>>2]|0)>>2;f[F>>2]=g;if(b>>>0<(f[p>>2]|0)>>>0){f[b>>2]=g;f[A>>2]=b+4}else zg(H,F)}else z=67;while(0);if((z|0)==67){z=0;m=f[G>>2]|0;f[m+(g<<2)>>2]=f[m+(e<<2)>>2]}b=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((b|0)<0)break a;b=f[(f[(f[D>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break a;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;if((b|0)>-1&(b|0)!=(h|0)){e=g;g=b}else break}}}while(0);n=n+1|0;b=f[D>>2]|0}while((n|0)<((f[b+28>>2]|0)-(f[b+24>>2]|0)>>2|0))}e=f[E>>2]|0;b=f[e+44>>2]|0;d=f[b+100>>2]|0;c=f[b+96>>2]|0;if((d-c|0)>0){m=C+4|0;n=C+8|0;j=c;c=e;g=e;k=0;while(1){f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;i=(f[G>>2]|0)+(k*3<<2)|0;f[C>>2]=f[i>>2];f[C+4>>2]=f[i+4>>2];f[C+8>>2]=f[i+8>>2];i=b+96|0;h=b+100|0;a=(d-j|0)/12|0;e=j;l=k;k=k+1|0;if((l|0)<(a|0))h=j;else{c=d;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;if(k>>>0<=a>>>0)if(k>>>0>>0?(B=e+(k*12|0)|0,(c|0)!=(B|0)):0){d=c+(~(((c+-12-B|0)>>>0)/12|0)*12|0)|0;f[h>>2]=d;c=j}else c=j;else{De(i,k-a|0,F);g=f[E>>2]|0;c=f[g+44>>2]|0;e=f[i>>2]|0;b=c;d=f[c+100>>2]|0;c=f[c+96>>2]|0}h=c;c=g}f[e+(l*12|0)>>2]=f[C>>2];f[e+(l*12|0)+4>>2]=f[m>>2];f[e+(l*12|0)+8>>2]=f[n>>2];if((k|0)>=((d-h|0)/12|0|0))break;else j=h}}else c=e;b=f[H>>2]|0;f[(f[c+4>>2]|0)+80>>2]=(f[A>>2]|0)-b>>2;d=f[G>>2]|0;if(d){c=G+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);b=f[H>>2]|0}if(b|0){c=f[A>>2]|0;if((c|0)!=(b|0))f[A>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}u=I;return 1} +function Ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+48|0;H=J+36|0;I=J+24|0;D=J+12|0;C=J;G=a+4|0;e=f[(f[G>>2]|0)+44>>2]|0;E=a+8|0;h=f[E>>2]|0;h=((f[h+4>>2]|0)-(f[h>>2]|0)>>2>>>0)/3|0;i=e+96|0;e=e+100|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;d=f[e>>2]|0;c=f[i>>2]|0;j=(d-c|0)/12|0;if(h>>>0<=j>>>0){if(h>>>0>>0?(g=c+(h*12|0)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~(((d+-12-g|0)>>>0)/12|0)*12|0)}else We(i,h-j|0,H);s=a+212|0;r=a+216|0;if((f[s>>2]|0)==(f[r>>2]|0)){e=f[G>>2]|0;c=f[e+44>>2]|0;g=f[c+100>>2]|0;d=f[c+96>>2]|0;if((g-d|0)>0){o=I+4|0;p=I+8|0;k=c;c=e;h=e;n=0;while(1){f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;e=n*3|0;if((n|0)<0)m=-1073741824;else m=f[(f[f[E>>2]>>2]|0)+(e<<2)>>2]|0;f[I>>2]=m;if((e|0)<-1){f[o>>2]=-1073741824;if((e|0)==-2)F=89;else e=-1073741824}else{f[o>>2]=f[(f[f[E>>2]>>2]|0)+(e+1<<2)>>2];F=89}if((F|0)==89){F=0;e=f[(f[f[E>>2]>>2]|0)+(e+2<<2)>>2]|0}f[p>>2]=e;j=k+96|0;e=k+100|0;a=(g-d|0)/12|0;i=d;l=n;n=n+1|0;if((l|0)<(a|0))e=k;else{c=g;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;if(n>>>0<=a>>>0)if(n>>>0>>0?(q=i+(n*12|0)|0,(c|0)!=(q|0)):0){g=c+(~(((c+-12-q|0)>>>0)/12|0)*12|0)|0;f[e>>2]=g;e=k}else e=k;else{We(j,n-a|0,H);h=f[G>>2]|0;d=f[h+44>>2]|0;i=f[j>>2]|0;e=d;g=f[d+100>>2]|0;d=f[d+96>>2]|0}c=h}f[i+(l*12|0)>>2]=m;f[i+(l*12|0)+4>>2]=f[o>>2];f[i+(l*12|0)+8>>2]=f[p>>2];if((n|0)>=((g-d|0)/12|0|0))break;else k=e}}else c=e;f[(f[c+4>>2]|0)+80>>2]=b;u=J;return 1}f[I>>2]=0;A=I+4|0;f[A>>2]=0;f[I+8>>2]=0;e=f[E>>2]|0;d=(f[e+4>>2]|0)-(f[e>>2]|0)|0;c=d>>2;f[D>>2]=0;b=D+4|0;f[b>>2]=0;f[D+8>>2]=0;do if(c|0)if(c>>>0>1073741823)Tn(D);else{p=Lk(d)|0;f[D>>2]=p;q=p+(c<<2)|0;f[D+8>>2]=q;dh(p|0,0,d|0)|0;f[b>>2]=q;break}while(0);if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)>0){p=a+120|0;q=I+8|0;c=e;o=0;do{i=f[(f[c+24>>2]|0)+(o<<2)>>2]|0;a:do if((i|0)>=0){b:do if((f[(f[p>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0)==0?(t=f[r>>2]|0,v=f[s>>2]|0,w=v,(t|0)!=(v|0)):0){a=(((i>>>0)%3|0|0)==0?2:-1)+i|0;k=(a|0)<0;m=(t-v|0)/116|0;j=c+12|0;h=c+12|0;l=0;c:while(1){n=f[(f[f[w+(l*116|0)+68>>2]>>2]|0)+(i<<2)>>2]|0;do if(1<<(n&31)&f[(f[w+(l*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){g=f[w+(l*116|0)+32>>2]|0;n=f[g+(i<<2)>>2]|0;if(!k){d=f[(f[j>>2]|0)+(a<<2)>>2]|0;do 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)==(i|0))break;else e=d}else e=a;while(1){d=f[g+(e<<2)>>2]|0;if((e|0)<0)break c;if((d|0)!=(n|0)){i=e;break b}d=(((e>>>0)%3|0|0)==0?2:-1)+e|0;do if((d|0)>=0){d=f[(f[h>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);if((d|0)==(i|0))break;else e=d}}while(0);l=l+1|0;if(l>>>0>=m>>>0)break b}while(1)if((d|0)==(n|0))d=n;else{i=e;break}}while(0);d=f[A>>2]|0;f[(f[D>>2]|0)+(i<<2)>>2]=d-(f[I>>2]|0)>>2;f[H>>2]=i;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=i;f[A>>2]=d+4}else{Ig(I,H);c=f[E>>2]|0}if((((i|0)>=0?(x=(((i>>>0)%3|0|0)==0?2:-1)+i|0,(x|0)>=0):0)?(y=f[(f[c+12>>2]|0)+(x<<2)>>2]|0,(y|0)>=0):0)?(z=y+(((y>>>0)%3|0|0)==0?2:-1)|0,(z|0)>-1&(z|0)!=(i|0)):0){h=z;g=i;while(1){c=f[r>>2]|0;d=f[s>>2]|0;e=d;d:do if((c|0)!=(d|0)){d=(c-d|0)/116|0;c=0;while(1){n=f[e+(c*116|0)+32>>2]|0;c=c+1|0;if((f[n+(h<<2)>>2]|0)!=(f[n+(g<<2)>>2]|0))break;if(c>>>0>=d>>>0){F=64;break d}}c=f[A>>2]|0;f[(f[D>>2]|0)+(h<<2)>>2]=c-(f[I>>2]|0)>>2;f[H>>2]=h;if(c>>>0<(f[q>>2]|0)>>>0){f[c>>2]=h;f[A>>2]=c+4}else Ig(I,H)}else F=64;while(0);if((F|0)==64){F=0;n=f[D>>2]|0;f[n+(h<<2)>>2]=f[n+(g<<2)>>2]}c=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((c|0)<0)break a;c=f[(f[(f[E>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break a;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)>-1&(c|0)!=(i|0)){g=h;h=c}else break}}}while(0);o=o+1|0;c=f[E>>2]|0}while((o|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0))}g=f[G>>2]|0;c=f[g+44>>2]|0;e=f[c+100>>2]|0;d=f[c+96>>2]|0;if((e-d|0)>0){n=C+4|0;o=C+8|0;k=d;d=g;h=g;l=0;while(1){f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;j=(f[D>>2]|0)+(l*3<<2)|0;f[C>>2]=f[j>>2];f[C+4>>2]=f[j+4>>2];f[C+8>>2]=f[j+8>>2];j=c+96|0;i=c+100|0;a=(e-k|0)/12|0;g=k;m=l;l=l+1|0;if((m|0)<(a|0))i=k;else{d=e;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;if(l>>>0<=a>>>0)if(l>>>0>>0?(B=g+(l*12|0)|0,(d|0)!=(B|0)):0){e=d+(~(((d+-12-B|0)>>>0)/12|0)*12|0)|0;f[i>>2]=e;d=k}else d=k;else{We(j,l-a|0,H);h=f[G>>2]|0;d=f[h+44>>2]|0;g=f[j>>2]|0;c=d;e=f[d+100>>2]|0;d=f[d+96>>2]|0}i=d;d=h}f[g+(m*12|0)>>2]=f[C>>2];f[g+(m*12|0)+4>>2]=f[n>>2];f[g+(m*12|0)+8>>2]=f[o>>2];if((l|0)>=((e-i|0)/12|0|0))break;else k=i}}else d=g;c=f[I>>2]|0;f[(f[d+4>>2]|0)+80>>2]=(f[A>>2]|0)-c>>2;d=f[D>>2]|0;if(d){c=f[b>>2]|0;if((c|0)!=(d|0))f[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Co(d);c=f[I>>2]|0}if(c|0){d=f[A>>2]|0;if((d|0)!=(c|0))f[A>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}u=J;return 1}function Bb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function Cb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;k=F+76|0;l=F+72|0;D=F+48|0;m=F+24|0;x=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)i=-1073741824;else i=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;i=-1073741824}h=f[a+36>>2]|0;g=f[h>>2]|0;j=(f[h+4>>2]|0)-g>>2;if(j>>>0<=c>>>0)Tn(h);w=f[g+(c<<2)>>2]|0;if(j>>>0<=i>>>0)Tn(h);h=f[g+(i<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;r=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,r,x)|0;r=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;r=cm(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=cm(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=cm(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Kk(r|0,s|0,r|0,s|0)|0;x=I;B=Kk(t|0,v|0,t|0,v|0)|0;x=Bl(B|0,I|0,C|0,x|0)|0;C=I;B=Kk(l|0,m|0,l|0,m|0)|0;B=Bl(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=cm(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=cm(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=cm(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Kk(K|0,J|0,r|0,s|0)|0;d=I;g=Kk(H|0,G|0,t|0,v|0)|0;d=Bl(g|0,I|0,k|0,d|0)|0;k=I;g=Kk(h|0,i|0,l|0,m|0)|0;g=Bl(d|0,k|0,g|0,I|0)|0;k=I;d=cm(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=cm(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Kk(B|0,C|0,q|0,y|0)|0;n=I;q=Kk(B|0,C|0,z|0,A|0)|0;p=I;D=Kk(g|0,k|0,d|0,c|0)|0;e=I;j=Kk(g|0,k|0,w|0,x|0)|0;A=I;n=Bl(D|0,e|0,o|0,n|0)|0;o=I;p=Bl(j|0,A|0,q|0,p|0)|0;q=I;A=Kk(g|0,k|0,r|0,s|0)|0;j=I;e=Kk(g|0,k|0,t|0,v|0)|0;D=I;m=Kk(g|0,k|0,l|0,m|0)|0;k=I;j=ki(A|0,j|0,B|0,C|0)|0;l=I;D=ki(e|0,D|0,B|0,C|0)|0;e=I;k=ki(m|0,k|0,B|0,C|0)|0;m=I;l=cm(K|0,J|0,j|0,l|0)|0;j=I;e=cm(H|0,G|0,D|0,e|0)|0;D=I;m=cm(h|0,i|0,k|0,m|0)|0;k=I;j=Kk(l|0,j|0,l|0,j|0)|0;l=I;D=Kk(e|0,D|0,e|0,D|0)|0;l=Bl(D|0,I|0,j|0,l|0)|0;j=I;k=Kk(m|0,k|0,m|0,k|0)|0;k=Bl(l|0,j|0,k|0,I|0)|0;j=I;l=cm(0,0,d|0,c|0)|0;m=I;j=Kk(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=23}break}case 1:{if(!c){g=1;c=0;E=24}else{g=1;c=0;h=j;i=k;E=23}break}default:{g=1;c=0;h=j;i=k;E=23}}if((E|0)==23)while(1){g=ml(g|0,c|0,1)|0;c=I;K=h;h=sl(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=24;break}else{i=I;E=23}}if((E|0)==24)while(1){K=en(j|0,k|0,g|0,c|0)|0;g=Bl(K|0,I|0,g|0,c|0)|0;g=sl(g|0,I|0,1)|0;c=I;K=Kk(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=24;else break}E=Kk(g|0,c|0,w|0,x|0)|0;G=I;d=Kk(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=cm(0,0,E|0,G|0)|0;G=Bl(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=cm(0,0,d|0,H|0)|0;H=Bl(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=ki(G|0,J|0,B|0,C|0)|0;K=ki(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function Db(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;k=F+76|0;l=F+72|0;D=F+48|0;m=F+24|0;x=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);i=f[(f[h>>2]|0)+28>>2]|0;h=f[i+(c<<2)>>2]|0;i=f[i+(g<<2)>>2]|0;g=f[a+36>>2]|0;c=f[g>>2]|0;j=(f[g+4>>2]|0)-c>>2;if(j>>>0<=h>>>0)Tn(g);w=f[c+(h<<2)>>2]|0;if(j>>>0<=i>>>0)Tn(g);h=f[c+(i<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){y=w<<1;A=f[d+(y<<2)>>2]|0;q=((A|0)<0)<<31>>31;y=f[d+((y|1)<<2)>>2]|0;z=((y|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(A|0)|(o|0)!=(y|0))){f[a+8>>2]=A;f[a+12>>2]=y;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;r=b[g+24>>0]|0;f[k>>2]=f[l>>2];xb(g,k,r,x)|0;r=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;r=cm(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=cm(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=cm(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Kk(r|0,s|0,r|0,s|0)|0;x=I;B=Kk(t|0,v|0,t|0,v|0)|0;x=Bl(B|0,I|0,C|0,x|0)|0;C=I;B=Kk(l|0,m|0,l|0,m|0)|0;B=Bl(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=cm(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=cm(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=cm(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Kk(K|0,J|0,r|0,s|0)|0;d=I;g=Kk(H|0,G|0,t|0,v|0)|0;d=Bl(g|0,I|0,k|0,d|0)|0;k=I;g=Kk(h|0,i|0,l|0,m|0)|0;g=Bl(d|0,k|0,g|0,I|0)|0;k=I;d=cm(n|0,((n|0)<0)<<31>>31|0,A|0,q|0)|0;c=I;w=cm(o|0,((o|0)<0)<<31>>31|0,y|0,z|0)|0;x=I;o=Kk(B|0,C|0,A|0,q|0)|0;n=I;q=Kk(B|0,C|0,y|0,z|0)|0;p=I;D=Kk(g|0,k|0,d|0,c|0)|0;e=I;j=Kk(g|0,k|0,w|0,x|0)|0;A=I;n=Bl(D|0,e|0,o|0,n|0)|0;o=I;p=Bl(j|0,A|0,q|0,p|0)|0;q=I;A=Kk(g|0,k|0,r|0,s|0)|0;j=I;e=Kk(g|0,k|0,t|0,v|0)|0;D=I;m=Kk(g|0,k|0,l|0,m|0)|0;k=I;j=ki(A|0,j|0,B|0,C|0)|0;l=I;D=ki(e|0,D|0,B|0,C|0)|0;e=I;k=ki(m|0,k|0,B|0,C|0)|0;m=I;l=cm(K|0,J|0,j|0,l|0)|0;j=I;e=cm(H|0,G|0,D|0,e|0)|0;D=I;m=cm(h|0,i|0,k|0,m|0)|0;k=I;j=Kk(l|0,j|0,l|0,j|0)|0;l=I;D=Kk(e|0,D|0,e|0,D|0)|0;l=Bl(D|0,I|0,j|0,l|0)|0;j=I;k=Kk(m|0,k|0,m|0,k|0)|0;k=Bl(l|0,j|0,k|0,I|0)|0;j=I;l=cm(0,0,d|0,c|0)|0;m=I;j=Kk(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=22}break}case 1:{if(!c){g=1;c=0;E=23}else{g=1;c=0;h=j;i=k;E=22}break}default:{g=1;c=0;h=j;i=k;E=22}}if((E|0)==22)while(1){g=ml(g|0,c|0,1)|0;c=I;K=h;h=sl(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=23;break}else{i=I;E=22}}if((E|0)==23)while(1){K=en(j|0,k|0,g|0,c|0)|0;g=Bl(K|0,I|0,g|0,c|0)|0;g=sl(g|0,I|0,1)|0;c=I;K=Kk(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=23;else break}E=Kk(g|0,c|0,w|0,x|0)|0;G=I;d=Kk(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=cm(0,0,E|0,G|0)|0;G=Bl(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=cm(0,0,d|0,H|0)|0;H=Bl(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=ki(G|0,J|0,B|0,C|0)|0;K=ki(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function Eb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;S=u;u=u+96|0;F=S+92|0;G=S+88|0;H=S+72|0;M=S+48|0;N=S+24|0;O=S;L=a+4|0;m=f[L>>2]|0;if(!m)ra(10593,10615,46,10785);K=a+8|0;l=f[K>>2]|0;if(!l)ra(10593,10615,46,10785);J=a+16|0;k=f[J>>2]|0;n=f[c>>2]|0;f[H>>2]=k;f[H+4>>2]=n;D=H+8|0;f[D>>2]=n;b[H+12>>0]=1;k=f[(f[k+28>>2]|0)+(n<<2)>>2]|0;E=a+20|0;i=f[E>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0)Tn(i);c=f[l+(f[c+(k<<2)>>2]<<2)>>2]|0;if(!(b[m+84>>0]|0))c=f[(f[m+68>>2]|0)+(c<<2)>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;f[G>>2]=c;i=b[m+24>>0]|0;f[F>>2]=f[G>>2];xb(m,F,i,M)|0;i=f[D>>2]|0;w=a+28|0;c=(f[w>>2]|0)==0;a:do if((i|0)>=0){A=N+8|0;x=M+8|0;C=N+16|0;y=M+16|0;z=O+8|0;B=O+16|0;k=(n|0)<0;t=n+1|0;v=n+(k?0:((n>>>0)%3|0|0)==0?2:-1)|0;t=k?n:((t|0)%3|0|0)==0?n+-2|0:t;k=0;r=0;l=0;s=0;m=0;o=0;while(1){do if(!c){c=i+1|0;c=((c|0)%3|0|0)==0?i+-2|0:c;if(!((i>>>0)%3|0)){q=i+2|0;break}else{q=i+-1|0;break}}else{c=t;q=v}while(0);p=f[L>>2]|0;if(!p){c=16;break}a=f[K>>2]|0;if(!a){c=16;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(c<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=18;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;f[G>>2]=c;n=b[p+24>>0]|0;f[F>>2]=f[G>>2];xb(p,F,n,N)|0;p=f[L>>2]|0;if(!p){c=23;break}a=f[K>>2]|0;if(!a){c=23;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(q<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=25;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;f[O+16>>2]=0;f[O+20>>2]=0;f[G>>2]=c;i=b[p+24>>0]|0;f[F>>2]=f[G>>2];xb(p,F,i,O)|0;i=N;_=M;Z=f[_>>2]|0;_=f[_+4>>2]|0;i=cm(f[i>>2]|0,f[i+4>>2]|0,Z|0,_|0)|0;c=I;q=A;aa=x;$=f[aa>>2]|0;aa=f[aa+4>>2]|0;q=cm(f[q>>2]|0,f[q+4>>2]|0,$|0,aa|0)|0;p=I;U=C;n=y;T=f[n>>2]|0;n=f[n+4>>2]|0;U=cm(f[U>>2]|0,f[U+4>>2]|0,T|0,n|0)|0;V=I;W=O;_=cm(f[W>>2]|0,f[W+4>>2]|0,Z|0,_|0)|0;Z=I;W=z;aa=cm(f[W>>2]|0,f[W+4>>2]|0,$|0,aa|0)|0;$=I;W=B;n=cm(f[W>>2]|0,f[W+4>>2]|0,T|0,n|0)|0;T=I;W=Kk(n|0,T|0,q|0,p|0)|0;a=I;Y=Kk(aa|0,$|0,U|0,V|0)|0;X=I;V=Kk(_|0,Z|0,U|0,V|0)|0;U=I;T=Kk(n|0,T|0,i|0,c|0)|0;n=I;c=Kk(aa|0,$|0,i|0,c|0)|0;i=I;p=Kk(_|0,Z|0,q|0,p|0)|0;q=I;k=cm(k|0,r|0,Y|0,X|0)|0;k=Bl(k|0,I|0,W|0,a|0)|0;a=I;l=Bl(V|0,U|0,l|0,s|0)|0;l=cm(l|0,I|0,T|0,n|0)|0;n=I;m=cm(m|0,o|0,p|0,q|0)|0;m=Bl(m|0,I|0,c|0,i|0)|0;o=I;me(H);i=f[D>>2]|0;c=(f[w>>2]|0)==0;if((i|0)<0){j=a;Q=k;R=n;h=l;g=o;e=m;P=c;break a}else{r=a;s=n}}if((c|0)==16)ra(10593,10842,70,11012);else if((c|0)==18)Tn(n);else if((c|0)==23)ra(10593,10842,70,11012);else if((c|0)==25)Tn(n)}else{j=0;Q=0;R=0;h=0;g=0;e=0;P=c}while(0);aa=(j|0)>-1|(j|0)==-1&Q>>>0>4294967295;i=cm(0,0,Q|0,j|0)|0;c=aa?j:I;X=(R|0)>-1|(R|0)==-1&h>>>0>4294967295;Y=cm(0,0,h|0,R|0)|0;Z=X?R:I;$=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;_=cm(0,0,e|0,g|0)|0;$=Bl((X?h:Y)|0,Z|0,($?e:_)|0,($?g:I)|0)|0;c=Bl($|0,I|0,(aa?Q:i)|0,c|0)|0;i=I;if(P)if((c|0)>536870912){aa=sl(c|0,i|0,29)|0;aa=aa&7;i=ki(Q|0,j|0,aa|0,0)|0;j=I;h=ki(h|0,R|0,aa|0,0)|0;c=I;e=ki(e|0,g|0,aa|0,0)|0;g=I}else{i=Q;c=R}else if((i|0)>0|(i|0)==0&c>>>0>536870912){$=sl(c|0,i|0,29)|0;aa=I;i=ki(Q|0,j|0,$|0,aa|0)|0;j=I;h=ki(h|0,R|0,$|0,aa|0)|0;c=I;e=ki(e|0,g|0,$|0,aa|0)|0;g=I}else{i=Q;c=R}_=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;$=cm(0,0,i|0,j|0)|0;aa=_?j:I;V=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;W=cm(0,0,h|0,c|0)|0;X=V?c:I;Z=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Y=cm(0,0,e|0,g|0)|0;Z=Bl((V?h:W)|0,X|0,(Z?e:Y)|0,(Z?g:I)|0)|0;aa=Bl(Z|0,I|0,(_?i:$)|0,aa|0)|0;$=I;if(($|0)<0|($|0)==0&aa>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=S;return}else ra(10807,10615,95,10785)}function Fb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+20|0;B=C+8|0;A=C+4|0;y=C;x=a+4|0;do if((h[(f[x>>2]|0)+36>>0]<<8&65535)<512){t=c+8|0;v=f[t>>2]|0;t=f[t+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=Bl(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((t|0)<(g|0)|(t|0)==(g|0)&v>>>0>>0){B=-1;u=C;return B|0}else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[w>>2]=d;v=i;f[v>>2]=e;f[v+4>>2]=g;break}}else if(yh(w,c)|0){d=f[w>>2]|0;break}else{B=-1;u=C;return B|0}while(0);a:do if(d|0){v=f[a+8>>2]|0;if(d>>>0>(((f[v+4>>2]|0)-(f[v>>2]|0)>>2>>>0)/3|0)>>>0){B=-1;u=C;return B|0}v=f[x>>2]|0;if(((h[v+36>>0]<<8|h[v+37>>0])&65535)<258){q=c+8|0;r=c+16|0;t=B+4|0;s=B+8|0;o=a+40|0;p=a+44|0;v=a+36|0;n=0;while(1){j=q;i=f[j>>2]|0;j=f[j+4>>2]|0;l=r;k=f[l>>2]|0;l=f[l+4>>2]|0;e=Bl(k|0,l|0,4,0)|0;g=I;if((j|0)<(g|0)|(j|0)==(g|0)&i>>>0>>0)break;m=f[c>>2]|0;D=m+k|0;f[B>>2]=h[D>>0]|h[D+1>>0]<<8|h[D+2>>0]<<16|h[D+3>>0]<<24;D=r;f[D>>2]=e;f[D+4>>2]=g;g=Bl(k|0,l|0,8,0)|0;D=I;if((j|0)<(D|0)|(j|0)==(D|0)&i>>>0>>0)break;e=m+e|0;f[t>>2]=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;e=Bl(k|0,l|0,8,0)|0;D=I;g=r;f[g>>2]=e;f[g+4>>2]=D;if(!((j|0)>(D|0)|(j|0)==(D|0)&i>>>0>e>>>0))break;e=b[m+e>>0]|0;m=Bl(k|0,l|0,9,0)|0;D=r;f[D>>2]=m;f[D+4>>2]=I;b[s>>0]=b[s>>0]&-2|e&1;e=f[o>>2]|0;if((e|0)==(f[p>>2]|0)){og(v,B);d=f[w>>2]|0}else{f[e>>2]=f[B>>2];f[e+4>>2]=f[B+4>>2];f[e+8>>2]=f[B+8>>2];f[o>>2]=(f[o>>2]|0)+12}n=n+1|0;if(n>>>0>=d>>>0)break a}D=-1;u=C;return D|0}k=B+4|0;e=a+40|0;g=a+44|0;l=a+36|0;i=0;j=0;do{yh(A,c)|0;f[k>>2]=(f[A>>2]|0)+j;yh(A,c)|0;d=f[A>>2]|0;j=f[k>>2]|0;if(j>>>0>>0){z=36;break}f[B>>2]=j-d;d=f[e>>2]|0;if((d|0)==(f[g>>2]|0))og(l,B);else{f[d>>2]=f[B>>2];f[d+4>>2]=f[B+4>>2];f[d+8>>2]=f[B+8>>2];f[e>>2]=(f[e>>2]|0)+12}i=i+1|0}while(i>>>0<(f[w>>2]|0)>>>0);if((z|0)==36){D=-1;u=C;return D|0}$e(c,0,0)|0;j=f[w>>2]|0;if(j|0){n=c+36|0;o=c+32|0;l=c+24|0;m=c+28|0;k=a+36|0;d=0;p=0;do{D=f[x>>2]|0;e=(b[n>>0]|0)==0;if(((h[D+36>>0]<<8|h[D+37>>0])&65535)<514){if(!e){d=f[o>>2]|0;g=f[l>>2]|0;i=f[m>>2]|0;e=g+(d>>>3)|0;if(e>>>0>>0){D=(h[e>>0]|0)>>>(d&7)&1;e=d+1|0;f[o>>2]=e;d=D}else{e=d;d=0}if((g+(e>>>3)|0)>>>0>>0)f[o>>2]=e+1}}else if(!e){d=f[o>>2]|0;e=(f[l>>2]|0)+(d>>>3)|0;if(e>>>0<(f[m>>2]|0)>>>0){D=(h[e>>0]|0)>>>(d&7)&1;f[o>>2]=d+1;d=D}else d=0}D=(f[k>>2]|0)+(p*12|0)+8|0;b[D>>0]=b[D>>0]&-2|d&1;p=p+1|0}while(p>>>0>>0)}Jj(c)}while(0);f[B>>2]=0;d=f[x>>2]|0;d=(h[d+36>>0]<<8|h[d+37>>0])&65535;if((d&65535)<512){w=c+8|0;D=f[w>>2]|0;w=f[w+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=Bl(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((w|0)<(g|0)|(w|0)==(g|0)&D>>>0>>0)d=-1;else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[B>>2]=d;z=i;f[z>>2]=e;f[z+4>>2]=g;z=43}}else if(d<<16>>16==512)if(yh(B,c)|0){d=f[B>>2]|0;z=43}else d=-1;else z=57;b:do if((z|0)==43)if(!d)z=57;else{D=f[x>>2]|0;if(((h[D+36>>0]<<8|h[D+37>>0])&65535)>=258){j=a+52|0;k=a+56|0;e=a+48|0;g=0;i=0;while(1){f[A>>2]=0;yh(y,c)|0;i=(f[y>>2]|0)+i|0;f[A>>2]=i;d=f[j>>2]|0;if((d|0)==(f[k>>2]|0))Ig(e,A);else{f[d>>2]=i;f[j>>2]=d+4}g=g+1|0;if(g>>>0>=(f[B>>2]|0)>>>0){z=57;break b}}}n=c+8|0;o=c+16|0;l=a+52|0;m=a+56|0;j=a+48|0;k=0;while(1){f[A>>2]=0;a=n;D=f[a>>2]|0;a=f[a+4>>2]|0;e=o;d=f[e>>2]|0;e=Bl(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((a|0)<(g|0)|(a|0)==(g|0)&D>>>0>>0)break;i=(f[c>>2]|0)+d|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[A>>2]=i;d=o;f[d>>2]=e;f[d+4>>2]=g;d=f[l>>2]|0;if((d|0)==(f[m>>2]|0))Ig(j,A);else{f[d>>2]=i;f[l>>2]=d+4}k=k+1|0;if(k>>>0>=(f[B>>2]|0)>>>0){z=57;break b}}d=-1}while(0);if((z|0)==57)d=f[c+16>>2]|0;D=d;u=C;return D|0}function Gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=La,l=La,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=La;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=lc(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];ee(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;g=f[d>>2]|0;j=(f[d+4>>2]|0)-g|0;if(!j)i=0;else{xg(B,j);i=f[B>>2]|0;g=f[d>>2]|0}cf(i|0,g|0,j|0)|0;eh(A,c);j=A+12|0;f[j>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;i=f[z>>2]|0;g=f[B>>2]|0;d=i-g|0;if(!d){d=i;i=0}else{xg(j,d);d=f[z>>2]|0;i=f[j>>2]|0;g=f[B>>2]|0}cf(i|0,g|0,d-g|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){i=t;g=s;d=s;while(1){v=X(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else i=i+4|0}v=s+-4|0;i=v&-4;d=t+(i+4)|0;i=v-i|0}else{d=t;g=s;i=s}switch(i|0){case 3:{g=h[d+2>>0]<<16^g;w=12;break}case 2:{w=12;break}case 1:{w=13;break}default:{}}if((w|0)==12){g=h[d+1>>0]<<8^g;w=13}if((w|0)==13)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;j=f[q>>2]|0;r=(j|0)==0;a:do if(!r){p=j+-1|0;d=(p&j|0)==0;if(!d)if(v>>>0>>0)i=v;else i=(v>>>0)%(j>>>0)|0;else i=v&p;g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(i|0))){w=54;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=54;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(i|0))){w=54;break a}g=o+8|0;c=b[g+11>>0]|0;m=c<<24>>24<0;c=c&255;do if(((m?f[o+12>>2]|0:c)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(cj(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{c=c+-1|0;g=g+1|0;if(!c)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=54;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0;if((g|0)!=(i|0)){w=54;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=54;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0;if((g|0)!=(i|0)){w=54;break a}}g=o+8|0;c=b[g+11>>0]|0;m=c<<24>>24<0;c=c&255;do if(((m?f[o+12>>2]|0:c)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(cj(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{c=c+-1|0;g=g+1|0;if(!c)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=54;break}}}else w=54}else{i=0;w=54}while(0);if((w|0)==54){vf(e,a,v,A);c=a+12|0;l=$(((f[c>>2]|0)+1|0)>>>0);D=$(j>>>0);k=$(n[a+16>>2]);do if(r|l>$(D*k)){g=(j>>>0<3|(j+-1&j|0)!=0)&1|j<<1;i=~~$(W($(l/k)))>>>0;Wf(a,g>>>0>>0?i:g);g=f[q>>2]|0;i=g+-1|0;if(!(i&g)){j=g;i=i&v;break}if(v>>>0>>0){j=g;i=v}else{j=g;i=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;i=j+-1|0;if(i&j){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0}else g=g&i;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[c>>2]=(f[c>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;Co(e)}if((b[x>>0]|0)<0)Co(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;Co(e);u=C;return}function Hb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))Ig(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Se(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Se(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Se(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Se(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))Ig(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))Ig(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function Ib(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+176|0;s=A+136|0;w=A+32|0;v=A;t=A+104|0;x=A+100|0;y=a+4|0;q=f[y>>2]|0;d=f[q+32>>2]|0;o=d+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((o|0)>(l|0)|(o|0)==(l|0)&n>>>0>k>>>0)){c=0;u=A;return c|0}j=f[d>>2]|0;r=b[j+k>>0]|0;d=Bl(k|0,l|0,1,0)|0;m=I;i=p;f[i>>2]=d;f[i+4>>2]=m;if(!((o|0)>(m|0)|(o|0)==(m|0)&n>>>0>d>>>0)){c=0;u=A;return c|0}m=b[j+d>>0]|0;d=Bl(k|0,l|0,2,0)|0;e=I;i=p;f[i>>2]=d;f[i+4>>2]=e;do if(r<<24>>24>-1){i=r<<24>>24;g=f[a+212>>2]|0;if(i>>>0<(((f[a+216>>2]|0)-g|0)/116|0)>>>0){f[g+(i*116|0)>>2]=c;break}else{c=0;u=A;return c|0}}while(0);do if((((h[q+36>>0]|0)<<8|(h[q+37>>0]|0))&65535)>257)if((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0){e=b[j+d>>0]|0;o=Bl(k|0,l|0,3,0)|0;f[p>>2]=o;f[p+4>>2]=I;e=e&255;break}else{c=0;u=A;return c|0}else e=0;while(0);n=f[q+44>>2]|0;if(!(m<<24>>24)){if(r<<24>>24<0)d=a+184|0;else{d=r<<24>>24;w=f[a+212>>2]|0;b[w+(d*116|0)+72>>0]=0;d=w+(d*116|0)+76|0}switch((e&255)<<24>>24){case 0:{vc(s,a,d);d=f[s>>2]|0;break}case 1:{Cd(s,a,d);d=f[s>>2]|0;break}default:{c=0;u=A;return c|0}}if(!d){c=0;u=A;return c|0}}else{if(e|0){c=0;u=A;return c|0}j=r<<24>>24;if(r<<24>>24<0){c=0;u=A;return c|0}d=Lk(88)|0;i=f[a+212>>2]|0;k=i+(j*116|0)+76|0;f[d+4>>2]=0;f[d>>2]=3108;l=d+12|0;f[l>>2]=3132;m=d+64|0;f[m>>2]=0;f[d+68>>2]=0;f[d+72>>2]=0;e=d+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d+76>>2]=n;f[d+80>>2]=k;f[d+84>>2]=0;p=w+4|0;f[p>>2]=3132;o=w+56|0;f[o>>2]=0;q=w+60|0;f[q>>2]=0;f[w+64>>2]=0;e=w+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));g=i+(j*116|0)+4|0;f[v>>2]=3132;e=v+4|0;a=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[e>>2]=g;i=f[i+(j*116|0)+68>>2]|0;i=((f[i+4>>2]|0)-(f[i>>2]|0)>>2>>>0)/3|0;b[s>>0]=0;mf(v+8|0,i,s);Sa[f[(f[v>>2]|0)+8>>2]&127](v);$d(t,v);$d(s,t);f[w>>2]=f[s+4>>2];i=w+4|0;xe(i,s)|0;f[s>>2]=3132;e=f[s+20>>2]|0;if(e|0)Co(e);e=f[s+8>>2]|0;if(e|0)Co(e);f[w+36>>2]=g;f[w+40>>2]=k;f[w+44>>2]=n;f[w+48>>2]=d;f[t>>2]=3132;e=f[t+20>>2]|0;if(e|0)Co(e);e=f[t+8>>2]|0;if(e|0)Co(e);f[d+8>>2]=f[w>>2];xe(l,i)|0;e=d+44|0;t=w+36|0;f[e>>2]=f[t>>2];f[e+4>>2]=f[t+4>>2];f[e+8>>2]=f[t+8>>2];f[e+12>>2]=f[t+12>>2];b[e+16>>0]=b[t+16>>0]|0;Ae(m,f[o>>2]|0,f[q>>2]|0);f[v>>2]=3132;e=f[v+20>>2]|0;if(e|0)Co(e);e=f[v+8>>2]|0;if(e|0)Co(e);e=f[o>>2]|0;if(e|0){g=f[q>>2]|0;if((g|0)!=(e|0))f[q>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}f[p>>2]=3132;e=f[w+24>>2]|0;if(e|0)Co(e);e=f[w+12>>2]|0;if(e|0)Co(e)}e=Lk(64)|0;f[x>>2]=d;bj(e,x);l=e;d=f[x>>2]|0;f[x>>2]=0;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[y>>2]|0;if((c|0)<0){Sa[f[(f[e>>2]|0)+4>>2]&127](e);c=0;u=A;return c|0}k=d+8|0;j=d+12|0;d=f[j>>2]|0;e=f[k>>2]|0;i=d-e>>2;do if((i|0)<=(c|0)){g=c+1|0;if(g>>>0>i>>>0){Qe(k,g-i|0);break}if(g>>>0>>0?(z=e+(g<<2)|0,(d|0)!=(z|0)):0)do{y=d+-4|0;f[j>>2]=y;d=f[y>>2]|0;f[y>>2]=0;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[j>>2]|0}while((d|0)!=(z|0))}while(0);c=(f[k>>2]|0)+(c<<2)|0;d=f[c>>2]|0;f[c>>2]=l;if(!d){c=1;u=A;return c|0}Sa[f[(f[d>>2]|0)+4>>2]&127](d);c=1;u=A;return c|0}function Jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;D=a+8|0;f[D>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);d=e>>>0>1073741823?-1:e<<2;B=zo(d)|0;dh(B|0,0,d|0)|0;C=zo(d)|0;dh(C|0,0,d|0)|0;d=f[D>>2]|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[B+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{z=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(z|0)?z:d}i=i+1|0;d=f[D>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;J=18}}else{d=d-(f[i>>2]|0)|0;J=18}if((J|0)==18){J=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}r=f[a+48>>2]|0;s=f[a+56>>2]|0;v=s+4|0;g=f[v>>2]|0;h=f[s>>2]|0;y=g-h|0;z=y>>2;if((y|0)<=4){Ao(C);Ao(B);return 1}t=f[a+52>>2]|0;w=(e|0)>0;x=a+16|0;u=a+32|0;y=a+12|0;q=a+20|0;p=r+64|0;o=r+28|0;n=e<<2;if(g-h>>2>>>0>1){m=h;A=d;H=1}else Tn(s);while(1){a=f[m+(H<<2)>>2]|0;if(w)dh(B|0,0,n|0)|0;if((a|0)>-1){l=f[r>>2]|0;k=a;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(I=f[(f[(f[p>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(I|0)>=0):0)?(G=f[o>>2]|0,m=f[t>>2]|0,E=f[m+(f[G+(I<<2)>>2]<<2)>>2]|0,F=I+1|0,F=f[m+(f[G+((((F|0)%3|0|0)==0?I+-2|0:F)<<2)>>2]<<2)>>2]|0,G=f[m+(f[G+((((I>>>0)%3|0|0)==0?2:-1)+I<<2)>>2]<<2)>>2]|0,(E|0)<(H|0)&(F|0)<(H|0)&(G|0)<(H|0)):0){g=X(E,e)|0;h=X(F,e)|0;i=X(G,e)|0;if(w){d=0;do{f[C+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(w){d=0;do{m=B+(d<<2)|0;f[m>>2]=(f[m>>2]|0)+(f[C+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}j=j+1|0}d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(d>>>5<<2)>>2]&1<<(d&31))){if((d|0)>=0){d=f[(f[(f[p>>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);k=(d|0)==(a|0)?-1073741824:d}while((k|0)>-1);g=X(H,e)|0;if(j){if(w){d=0;do{m=B+(d<<2)|0;f[m>>2]=(f[m>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}k=b+(g<<2)|0;j=c+(g<<2)|0;if((A|0)>0){h=0;do{d=f[B+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){i=f[u>>2]|0;f[i+(h<<2)>>2]=g}else{A=f[y>>2]|0;i=f[u>>2]|0;f[i+(h<<2)>>2]=(d|0)<(A|0)?A:d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=j+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[q>>2]|0)+d|0;J=68}}else{d=d-(f[q>>2]|0)|0;J=68}if((J|0)==68){J=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}else d=A}else{d=g;J=46}}else{d=X(H,e)|0;J=46}if((J|0)==46){J=0;i=c+((X(H+-1|0,e)|0)<<2)|0;l=b+(d<<2)|0;k=c+(d<<2)|0;if((A|0)>0){h=0;do{d=f[i+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){j=f[u>>2]|0;f[j+(h<<2)>>2]=g}else{A=f[y>>2]|0;j=f[u>>2]|0;f[j+(h<<2)>>2]=(d|0)<(A|0)?A:d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[q>>2]|0)+d|0;J=56}}else{d=d-(f[q>>2]|0)|0;J=56}if((J|0)==56){J=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}else d=A}H=H+1|0;if((H|0)>=(z|0)){J=22;break}m=f[s>>2]|0;if((f[v>>2]|0)-m>>2>>>0<=H>>>0){J=23;break}else A=d}if((J|0)==22){Ao(C);Ao(B);return 1}else if((J|0)==23)Tn(s);return 0}function Kb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=a+8|0;f[D>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);d=e>>>0>1073741823?-1:e<<2;B=zo(d)|0;dh(B|0,0,d|0)|0;C=zo(d)|0;dh(C|0,0,d|0)|0;d=f[D>>2]|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[B+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{z=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(z|0)?z:d}i=i+1|0;d=f[D>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;F=18}}else{d=d-(f[i>>2]|0)|0;F=18}if((F|0)==18){F=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}r=f[a+48>>2]|0;s=f[a+56>>2]|0;v=s+4|0;g=f[v>>2]|0;h=f[s>>2]|0;y=g-h|0;z=y>>2;if((y|0)<=4){Ao(C);Ao(B);return 1}t=f[a+52>>2]|0;w=(e|0)>0;x=a+16|0;u=a+32|0;y=a+12|0;q=a+20|0;p=r+12|0;o=e<<2;if(g-h>>2>>>0>1){m=h;A=d;E=1}else Tn(s);while(1){n=f[m+(E<<2)>>2]|0;if(w)dh(B|0,0,o|0)|0;if((n|0)>-1){m=f[p>>2]|0;a=n;l=0;while(1){g=f[m+(a<<2)>>2]|0;if((g|0)>=0){h=f[r>>2]|0;i=f[t>>2]|0;k=f[i+(f[h+(g<<2)>>2]<<2)>>2]|0;d=g+1|0;d=((d|0)%3|0|0)==0?g+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;j=f[i+(d<<2)>>2]|0;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)<0)d=-1073741824;else d=f[h+(d<<2)>>2]|0;d=f[i+(d<<2)>>2]|0;if((k|0)<(E|0)&(j|0)<(E|0)&(d|0)<(E|0)){i=X(k,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(w){d=0;do{f[C+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0));if(w){d=0;do{k=B+(d<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[C+(d<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;d=(((a>>>0)%3|0|0)==0?2:-1)+a|0;do if((d|0)>=0){d=f[m+(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);a=(d|0)==(n|0)?-1073741824:d;if((a|0)<=-1)break;else l=h}g=X(E,e)|0;if(h){if(w){d=0;do{n=B+(d<<2)|0;f[n>>2]=(f[n>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}k=b+(g<<2)|0;j=c+(g<<2)|0;if((A|0)>0){h=0;do{d=f[B+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){i=f[u>>2]|0;f[i+(h<<2)>>2]=g}else{A=f[y>>2]|0;i=f[u>>2]|0;f[i+(h<<2)>>2]=(d|0)<(A|0)?A:d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=j+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[q>>2]|0)+d|0;F=70}}else{d=d-(f[q>>2]|0)|0;F=70}if((F|0)==70){F=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}else d=A}else{d=g;F=48}}else{d=X(E,e)|0;F=48}if((F|0)==48){F=0;i=c+((X(E+-1|0,e)|0)<<2)|0;l=b+(d<<2)|0;k=c+(d<<2)|0;if((A|0)>0){h=0;do{d=f[i+(h<<2)>>2]|0;g=f[x>>2]|0;if((d|0)>(g|0)){j=f[u>>2]|0;f[j+(h<<2)>>2]=g}else{A=f[y>>2]|0;j=f[u>>2]|0;f[j+(h<<2)>>2]=(d|0)<(A|0)?A:d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[x>>2]|0)){if((d|0)<(f[y>>2]|0)){d=(f[q>>2]|0)+d|0;F=58}}else{d=d-(f[q>>2]|0)|0;F=58}if((F|0)==58){F=0;f[g>>2]=d}h=h+1|0;d=f[D>>2]|0}while((h|0)<(d|0))}}else d=A}E=E+1|0;if((E|0)>=(z|0)){F=22;break}m=f[s>>2]|0;if((f[v>>2]|0)-m>>2>>>0<=E>>>0){F=23;break}else A=d}if((F|0)==22){Ao(C);Ao(B);return 1}else if((F|0)==23)Tn(s);return 0}function Lb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))Ig(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Se(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Se(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;g=d+(i>>>5<<2)|0;f[g>>2]=1<<(i&31)|f[g>>2];g=f[(f[e+28>>2]|0)+(f[b>>2]<<2)>>2]|0;d=(f[n>>2]|0)+(g>>>5<<2)|0;i=1<<(g&31);c=f[d>>2]|0;do if(!(i&c)){h=f[(f[e+40>>2]|0)+(g<<2)>>2]|0;if((h|0)<0){f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Se(k,t,w);y=40;break}m=f[(f[f[e+64>>2]>>2]|0)+(h<<2)>>2]|0;m=(1<<(m&31)&f[(f[e+12>>2]|0)+(m>>>5<<2)>>2]|0)==0;f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Se(k,t,w);if(m){e=f[a>>2]|0;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}else y=40}else y=40;while(0);if((y|0)==40){y=0;e=f[a>>2]|0;d=f[b>>2]|0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){Ig(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function Mb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=u;u=u+736|0;C=D+720|0;s=D+16|0;B=D+72|0;r=D+64|0;v=D+56|0;w=D+48|0;x=D+40|0;y=D+32|0;z=D+24|0;A=D+8|0;t=D;e=Oa[f[(f[a>>2]|0)+20>>2]&127](a,0)|0;a=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;a=f[a>>2]|0;if((e|0)<=-1)ra(17381,17397,67,17494);d=f[a+8>>2]|0;if(((f[a+12>>2]|0)-d>>2|0)<=(e|0))ra(17504,17397,68,17494);a=f[d+(e<<2)>>2]|0;b[a+84>>0]=1;d=f[a+68>>2]|0;g=a+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);m=c+8|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=c+16|0;k=o;j=f[k>>2]|0;k=f[k+4>>2]|0;if(!((m|0)>(k|0)|(m|0)==(k|0)&l>>>0>j>>>0)){C=0;u=D;return C|0}n=f[c>>2]|0;g=b[n+j>>0]|0;d=Bl(j|0,k|0,1,0)|0;e=I;E=o;f[E>>2]=d;f[E+4>>2]=e;switch(g<<24>>24){case 0:{if(((m|0)>(e|0)|(m|0)==(e|0)&l>>>0>d>>>0?(i=Bl(j|0,k|0,2,0)|0,p=o,f[p>>2]=i,f[p+4>>2]=I,p=Bl(j|0,k|0,6,0)|0,q=I,!((m|0)<(q|0)|(m|0)==(q|0)&l>>>0

>>0)):0)?(E=n+i|0,E=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24,A=o,f[A>>2]=p,f[A+4>>2]=q,ph(a,E)|0,bm(B),f[r>>2]=a,f[r+4>>2]=0,f[C>>2]=f[r>>2],f[C+4>>2]=f[r+4>>2],ld(B,c,C)|0):0){E=1;u=D;return E|0}E=0;u=D;return E|0}case 1:{a:do if((m|0)>(e|0)|(m|0)==(e|0)&l>>>0>d>>>0){i=b[n+d>>0]|0;g=Bl(j|0,k|0,2,0)|0;E=o;f[E>>2]=g;f[E+4>>2]=I;if((i&255)>6){f[s>>2]=i&255;hl(4934,s)|0;break}d=Bl(j|0,k|0,6,0)|0;e=I;if(!((m|0)<(e|0)|(m|0)==(e|0)&l>>>0>>0)){E=n+g|0;E=h[E>>0]|h[E+1>>0]<<8|h[E+2>>0]<<16|h[E+3>>0]<<24;s=o;f[s>>2]=d;f[s+4>>2]=e;ph(a,E)|0;switch(i<<24>>24){case 0:{ce(B,3);f[v>>2]=a;f[v+4>>2]=0;f[C>>2]=f[v>>2];f[C+4>>2]=f[v+4>>2];E=xd(B,c,C)|0;se(B);if(E)a=1;else break a;u=D;return a|0}case 1:{ce(B,3);f[w>>2]=a;f[w+4>>2]=0;f[C>>2]=f[w>>2];f[C+4>>2]=f[w+4>>2];E=wd(B,c,C)|0;se(B);if(E)a=1;else break a;u=D;return a|0}case 2:{de(B,3);f[x>>2]=a;f[x+4>>2]=0;f[C>>2]=f[x>>2];f[C+4>>2]=f[x+4>>2];E=zd(B,c,C)|0;ve(B);if(E)a=1;else break a;u=D;return a|0}case 3:{de(B,3);f[y>>2]=a;f[y+4>>2]=0;f[C>>2]=f[y>>2];f[C+4>>2]=f[y+4>>2];E=yd(B,c,C)|0;ve(B);if(E)a=1;else break a;u=D;return a|0}case 4:{Pd(B,3);f[z>>2]=a;f[z+4>>2]=0;f[C>>2]=f[z>>2];f[C+4>>2]=f[z+4>>2];E=hd(B,c,C)|0;ke(B);if(E)a=1;else break a;u=D;return a|0}case 5:{Pd(B,3);f[A>>2]=a;f[A+4>>2]=0;f[C>>2]=f[A>>2];f[C+4>>2]=f[A+4>>2];E=gd(B,c,C)|0;ke(B);if(E)a=1;else break a;u=D;return a|0}case 6:{Pd(B,3);f[t>>2]=a;f[t+4>>2]=0;f[C>>2]=f[t>>2];f[C+4>>2]=f[t+4>>2];E=fd(B,c,C)|0;ke(B);if(E)a=1;else break a;u=D;return a|0}default:break a}}}while(0);E=0;u=D;return E|0}default:{E=0;u=D;return E|0}}return 0}function Nb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;y=u;u=u+16|0;x=y;m=a+144|0;l=f[m>>2]|0;l=Na[f[(f[l>>2]|0)+32>>2]&127](l)|0;do if((((h[l+36>>0]|0)<<8|(h[l+37>>0]|0))&65535)<514){e=a+40|0;g=e;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));if($e(e,1,x)|0){g=a;i=e;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));e=x;l=f[e>>2]|0;e=f[e+4>>2]|0;z=a+8|0;g=a+16|0;k=g;i=f[k>>2]|0;k=f[k+4>>2]|0;z=cm(f[z>>2]|0,f[z+4>>2]|0,i|0,k|0)|0;A=I;if(!(e>>>0>A>>>0|(e|0)==(A|0)&l>>>0>z>>>0)){z=Bl(i|0,k|0,l|0,e|0)|0;A=g;f[A>>2]=z;f[A+4>>2]=I;break}}A=0;u=y;return A|0}while(0);do if((j[a+38>>1]|0)<514){e=a+96|0;g=e;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));if($e(e,1,x)|0){g=a;i=e;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));g=x;e=f[g>>2]|0;g=f[g+4>>2]|0;A=a+8|0;i=a+16|0;l=i;k=f[l>>2]|0;l=f[l+4>>2]|0;A=cm(f[A>>2]|0,f[A+4>>2]|0,k|0,l|0)|0;z=I;if(!(g>>>0>z>>>0|(g|0)==(z|0)&e>>>0>A>>>0)){z=Bl(k|0,l|0,e|0,g|0)|0;A=i;f[A>>2]=z;f[A+4>>2]=I;break}}A=0;u=y;return A|0}else nd(a+80|0,a)|0;while(0);if(!(yg(a)|0)){A=0;u=y;return A|0}g=c;i=a;k=g+40|0;do{f[g>>2]=f[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(k|0));A=f[m>>2]|0;A=Na[f[(f[A>>2]|0)+32>>2]&127](A)|0;do if((((h[A+36>>0]|0)<<8|(h[A+37>>0]|0))&65535)<514){A=f[m>>2]|0;A=(Na[f[(f[A>>2]|0)+32>>2]&127](A)|0)+36|0;if(((h[A>>0]|0)<<8&65535)<512){z=c+8|0;A=f[z>>2]|0;z=f[z+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if(!((z|0)<(i|0)|(z|0)==(i|0)&A>>>0>>0)){n=(f[c>>2]|0)+e|0;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;f[x>>2]=n;r=k;f[r>>2]=g;f[r+4>>2]=i;r=19}}else if(yh(x,c)|0){n=f[x>>2]|0;r=19}if((((r|0)==19?(d=f[a+152>>2]|0,n>>>0>>0):0)?(A=c+8|0,z=f[A+4>>2]|0,q=c+16|0,p=q,o=f[p>>2]|0,p=f[p+4>>2]|0,(z|0)>(p|0)|((z|0)==(p|0)?(f[A>>2]|0)>>>0>o>>>0:0)):0)?(A=b[(f[c>>2]|0)+o>>0]|0,r=Bl(o|0,p|0,1,0)|0,z=q,f[z>>2]=r,f[z+4>>2]=I,A<<24>>24==0):0){f[a+176>>2]=2;f[a+180>>2]=7;break}A=0;u=y;return A|0}else{f[a+176>>2]=2;f[a+180>>2]=7;d=f[a+152>>2]|0}while(0);if((d|0)<0){A=0;u=y;return A|0}l=a+156|0;f[x>>2]=0;i=a+160|0;g=f[i>>2]|0;e=f[l>>2]|0;k=g-e>>2;if(d>>>0<=k>>>0)if(d>>>0>>0?(s=e+(d<<2)|0,(g|0)!=(s|0)):0){f[i>>2]=g+(~((g+-4-s|0)>>>2)<<2);d=2;e=7}else{d=2;e=7}else{wf(l,d-k|0,x);d=f[a+176>>2]|0;e=f[a+180>>2]|0}i=e-d+1|0;q=a+184|0;p=a+188|0;e=f[p>>2]|0;g=f[q>>2]|0;k=(e-g|0)/12|0;d=e;if(i>>>0<=k>>>0){if(i>>>0>>0?(t=g+(i*12|0)|0,(d|0)!=(t|0)):0){do{e=d+-12|0;f[p>>2]=e;g=f[e>>2]|0;if(!g)d=e;else{e=d+-8|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g);d=f[p>>2]|0}}while((d|0)!=(t|0));e=d}}else{qe(q,i-k|0);e=f[p>>2]|0}o=a+196|0;d=f[q>>2]|0;m=(e-d|0)/12|0;k=a+200|0;i=f[k>>2]|0;g=f[o>>2]|0;l=i-g>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(v=g+(m<<2)|0,(i|0)!=(v|0)):0)f[k>>2]=i+(~((i+-4-v|0)>>>2)<<2)}else{sg(o,m-l|0);e=f[p>>2]|0;d=f[q>>2]|0}if((e|0)==(d|0)){A=1;u=y;return A|0}n=0;do{yh(x,c)|0;d=f[x>>2]|0;if(d|0){e=f[q>>2]|0;l=e+(n*12|0)|0;k=e+(n*12|0)+4|0;i=f[k>>2]|0;g=f[l>>2]|0;m=i-g>>2;if(d>>>0<=m>>>0){if(d>>>0>>0?(w=g+(d<<2)|0,(i|0)!=(w|0)):0)f[k>>2]=i+(~((i+-4-w|0)>>>2)<<2)}else{sg(l,d-m|0);e=f[q>>2]|0;d=f[x>>2]|0}fh(d,1,c,f[e+(n*12|0)>>2]|0)|0;f[(f[o>>2]|0)+(n<<2)>>2]=f[x>>2]}n=n+1|0}while(n>>>0<(((f[p>>2]|0)-(f[q>>2]|0)|0)/12|0)>>>0);d=1;u=y;return d|0}function Ob(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[5186]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[5187]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[5184]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[5182]=f[5182]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=21032+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5183]=f[5183]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[5187]|0;if((k|0)==(f[5188]|0)){k=(f[5185]|0)+b|0;f[5185]=k;f[5188]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[5187]=0;f[5184]=0;return}if((k|0)==(a|0)){k=(f[5184]|0)+b|0;f[5184]=k;f[5187]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[5182]=f[5182]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=21032+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5183]=f[5183]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[5187]|0)){f[5184]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=20768+(a<<1<<2)|0;b=f[5182]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=21032+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[5183]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[5183]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[5190]|0)+-1|0;f[5190]=k;if(!k)a=21184;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[5190]=-1;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+48|0;I=J+24|0;G=J+12|0;m=J;if(!b){I=0;u=J;return I|0}F=a+12|0;n=a+4|0;c=f[n>>2]|0;d=f[a>>2]|0;j=c-d>>2;h=a+16|0;g=f[h>>2]|0;e=f[F>>2]|0;k=g-e>>2;if(j>>>0<=k>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{wf(F,j-k|0,3548);d=f[a>>2]|0;c=f[n>>2]|0}f[I>>2]=0;B=I+4|0;f[B>>2]=0;f[I+8>>2]=0;Kh(I,c-d>>2);c=f[n>>2]|0;d=f[a>>2]|0;if((c-d|0)>0){j=0;do{k=f[d+(j<<2)>>2]|0;g=f[B>>2]|0;e=f[I>>2]|0;i=g-e>>2;if((k|0)>=(i|0)){h=k+1|0;f[G>>2]=0;if(h>>>0<=i>>>0){if(h>>>0>>0?(l=e+(h<<2)|0,(g|0)!=(l|0)):0)f[B>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{wf(I,h-i|0,G);c=f[n>>2]|0;d=f[a>>2]|0}}A=(f[I>>2]|0)+(k<<2)|0;f[A>>2]=(f[A>>2]|0)+1;j=j+1|0}while((j|0)<(c-d>>2|0))}c=c-d|0;h=c>>2;f[G>>2]=0;A=G+4|0;f[A>>2]=0;f[G+8>>2]=0;if(!h){e=0;d=0}else{if(h>>>0>536870911)Tn(G);g=Lk(c<<1)|0;f[A>>2]=g;f[G>>2]=g;f[G+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){z=e;f[z>>2]=-1;f[z+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[A>>2]=g+(h<<3);e=g;d=g}c=f[B>>2]|0;g=f[I>>2]|0;h=c-g|0;z=h>>2;f[m>>2]=0;y=m+4|0;f[y>>2]=0;f[m+8>>2]=0;x=g;do if(z)if(z>>>0>1073741823)Tn(m);else{E=Lk(h)|0;f[m>>2]=E;D=E+(z<<2)|0;f[m+8>>2]=D;dh(E|0,0,h|0)|0;f[y>>2]=D;C=E;break}else{C=0;D=0;E=0}while(0);if((c|0)!=(g|0)){c=0;g=0;do{f[C+(c<<2)>>2]=g;g=(f[x+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}w=f[a>>2]|0;c=(f[n>>2]|0)-w|0;if((c|0)>0){v=a+40|0;t=c>>2;l=C;r=0;j=e;p=e;q=e;o=e;s=e;while(1){i=(r|0)<0;c=r+1|0;if(!i){c=((c|0)%3|0|0)==0?r+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[w+(c<<2)>>2]|0;c=(r>>>0)%3|0;g=((c|0)==0?2:-1)+r|0;if((g|0)<0){a=-1073741824;n=h}else{a=f[w+(g<<2)>>2]|0;n=h}}else{c=(r>>>0)%3|0;a=-1073741824;n=-1073741824}if((r|0)==((i?-1073741824:r-c|0)|0)){if(i)c=-1073741824;else c=f[w+(r<<2)>>2]|0;if((n|0)==(a|0)|((c|0)==(n|0)|(c|0)==(a|0))){f[v>>2]=(f[v>>2]|0)+1;i=r+2|0;h=p;k=q;c=o;g=s}else H=55}else H=55;a:do if((H|0)==55){H=0;m=f[x+(a<<2)>>2]|0;b:do if((m|0)>0){c=0;i=f[l+(a<<2)>>2]|0;while(1){g=f[o+(i<<3)>>2]|0;if((g|0)<0){g=j;h=p;c=o;break b}if((g|0)==(n|0))break;c=c+1|0;if((c|0)<(m|0))i=i+1|0;else{g=j;h=p;c=o;break b}}k=f[o+(i<<3)+4>>2]|0;h=p;while(1){c=c+1|0;if((c|0)>=(m|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[j+(i<<3)>>2]|0)<0)break;else{i=g;h=j}}f[q+(i<<3)>>2]=-1;if((k|0)<0){g=q;h=q;c=q}else{i=f[F>>2]|0;f[i+(r<<2)>>2]=k;f[i+(k<<2)>>2]=r;i=r;j=q;h=q;k=q;c=q;g=s;break a}}else{g=j;h=p;c=o}while(0);i=f[x+(n<<2)>>2]|0;if((i|0)>0){h=0;c=f[C+(n<<2)>>2]|0;while(1){g=s+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){l=C;i=r;j=s;h=s;k=s;c=s;g=s;break a}else c=c+1|0}f[g>>2]=a;f[e+(c<<3)+4>>2]=r;l=C;i=r;j=e;h=e;k=e;c=e;g=e}else{i=r;j=g;k=q;g=s}}while(0);r=i+1|0;if((r|0)>=(t|0))break;else{p=h;q=k;o=c;s=g}}}f[b>>2]=z;if(C){if((D|0)!=(C|0))f[y>>2]=D+(~((D+-4-C|0)>>>2)<<2);Co(E);d=f[G>>2]|0;e=d}if(e|0){c=f[A>>2]|0;if((c|0)!=(e|0))f[A>>2]=c+(~((c+-8-e|0)>>>3)<<3);Co(d)}c=f[I>>2]|0;if(c|0){d=f[B>>2]|0;if((d|0)!=(c|0))f[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}I=1;u=J;return I|0}function Qb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))Ig(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Se(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Se(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){m=(c|0)/3|0;d=d+(m>>>5<<2)|0;f[d>>2]=1<<(m&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)i=-1073741824;else i=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;h=(f[n>>2]|0)+(i>>>5<<2)|0;j=1<<(i&31);g=f[h>>2]|0;do if(!(j&g)){e=f[a>>2]|0;c=f[(f[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=f[(f[e+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}}f[h>>2]=g|j;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Se(k,t,w);if((c|0)<0){d=f[b>>2]|0;y=42;break}d=f[a>>2]|0;c=f[b>>2]|0;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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}else y=42;while(0);if((y|0)==42){y=0;e=f[a>>2]|0;if((d|0)<0){y=45;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=50;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=55;break a}}else y=50;while(0);if((y|0)==50){y=0;if(g){y=52;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=52;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==45){f[w>>2]=-1073741824;y=52}else if((y|0)==55){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){Ig(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==52){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function Rb(a,c){a=a|0;c=c|0;var d=0,e=0,g=La,i=La,j=0,k=0,l=0,m=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=La;v=b[c+11>>0]|0;x=v<<24>>24<0;w=x?f[c>>2]|0:c;v=x?f[c+4>>2]|0:v&255;if(v>>>0>3){j=w;m=v;k=v;while(1){x=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(x>>>24^x,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}x=v+-4|0;k=x&-4;l=w+(k+4)|0;j=m;k=x-k|0}else{l=w;j=v;k=v}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;z=6;break}case 2:{o=j;z=6;break}case 1:{p=j;z=7;break}default:q=j}if((z|0)==6){p=h[l+1>>0]<<8^o;z=7}if((z|0)==7)q=X(h[l>>0]^p,1540483477)|0;x=X(q>>>13^q,1540483477)|0;x=x>>>15^x;t=a+4|0;s=f[t>>2]|0;u=(s|0)==0;a:do if(!u){q=s+-1|0;k=(q&s|0)==0;if(!k)if(x>>>0>>0)r=x;else r=(x>>>0)%(s>>>0)|0;else r=x&q;j=f[(f[a>>2]|0)+(r<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){p=(v|0)==0;if(k){if(p){d=e;while(1){w=f[d+4>>2]|0;if(!((w|0)==(x|0)|(w&q|0)==(r|0))){d=r;break a}w=b[d+8+11>>0]|0;if(!((w<<24>>24<0?f[d+12>>2]|0:w&255)|0)){j=d;break}d=f[d>>2]|0;if(!d){d=r;break a}}a=j+20|0;return a|0}else j=e;b:while(1){o=f[j+4>>2]|0;if(!((o|0)==(x|0)|(o&q|0)==(r|0))){d=r;break a}k=j+8|0;m=b[k+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[j+12>>2]|0:m)|0)==(v|0)){l=f[k>>2]|0;if(o)if(!(cj(l,w,v)|0)){z=63;break b}else break;if((l&255)<<24>>24==(b[w>>0]|0)){l=w;do{m=m+-1|0;k=k+1|0;if(!m){z=63;break b}l=l+1|0}while((b[k>>0]|0)==(b[l>>0]|0))}}while(0);j=f[j>>2]|0;if(!j){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}if(p){while(1){d=f[e+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=s>>>0)d=(d>>>0)%(s>>>0)|0;if((d|0)!=(r|0)){d=r;break a}}w=b[e+8+11>>0]|0;if(!((w<<24>>24<0?f[e+12>>2]|0:w&255)|0)){j=e;break}e=f[e>>2]|0;if(!e){d=r;break a}}a=j+20|0;return a|0}c:while(1){j=f[e+4>>2]|0;if((j|0)!=(x|0)){if(j>>>0>=s>>>0)j=(j>>>0)%(s>>>0)|0;if((j|0)!=(r|0)){d=r;break a}}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(v|0)){k=f[j>>2]|0;if(m)if(!(cj(k,w,v)|0)){j=e;z=63;break c}else break;if((k&255)<<24>>24==(b[w>>0]|0)){k=w;do{l=l+-1|0;j=j+1|0;if(!l){j=e;z=63;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}else d=r}else d=0;while(0);l=Lk(24)|0;eh(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=x;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);A=$(s>>>0);g=$(n[a+16>>2]);do if(u|i>$(A*g)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~$(W($(i/g)))>>>0;Wf(a,d>>>0>>0?e:d);d=f[t>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&x;break}if(x>>>0>>0){j=d;d=x}else{j=d;d=(x>>>0)%(d>>>0)|0}}else j=s;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(e&j){if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0}else d=d&e;y=(f[a>>2]|0)+(d<<2)|0;z=61}}else{f[l>>2]=f[d>>2];y=d;z=61}if((z|0)==61)f[y>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;x=u;u=u+688|0;v=x+680|0;m=x;w=x+8|0;n=x+676|0;o=x+672|0;p=x+668|0;q=x+664|0;r=x+660|0;s=x+656|0;t=x+4|0;k=c+8|0;y=k;i=f[y>>2]|0;y=f[y+4>>2]|0;l=c+16|0;j=l;e=f[j>>2]|0;j=Bl(e|0,f[j+4>>2]|0,4,0)|0;g=I;if((y|0)<(g|0)|(y|0)==(g|0)&i>>>0>>0){y=0;u=x;return y|0}y=(f[c>>2]|0)+e|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;b[a>>0]=y;b[a+1>>0]=y>>8;b[a+2>>0]=y>>16;b[a+3>>0]=y>>24;g=l;e=f[g>>2]|0;g=f[g+4>>2]|0;i=Bl(e|0,g|0,4,0)|0;j=l;f[j>>2]=i;f[j+4>>2]=I;if(y>>>0>31){y=0;u=x;return y|0}z=k;j=f[z>>2]|0;z=f[z+4>>2]|0;y=Bl(e|0,g|0,8,0)|0;g=I;if((z|0)<(g|0)|(z|0)==(g|0)&j>>>0>>0){z=0;u=x;return z|0}z=a+4|0;i=(f[c>>2]|0)+i|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[z>>0]=i;b[z+1>>0]=i>>8;b[z+2>>0]=i>>16;b[z+3>>0]=i>>24;z=l;i=f[z>>2]|0;z=f[z+4>>2]|0;e=Bl(i|0,z|0,4,0)|0;j=l;f[j>>2]=e;f[j+4>>2]=I;j=a+12|0;g=k;y=f[g>>2]|0;g=f[g+4>>2]|0;z=Bl(i|0,z|0,8,0)|0;i=I;if((g|0)<(i|0)|(g|0)==(i|0)&y>>>0>>0){z=0;u=x;return z|0}i=(f[c>>2]|0)+e|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;z=l;A=f[z>>2]|0;z=f[z+4>>2]|0;e=Bl(A|0,z|0,4,0)|0;g=l;f[g>>2]=e;f[g+4>>2]=I;g=a+16|0;a=k;y=f[a>>2]|0;a=f[a+4>>2]|0;z=Bl(A|0,z|0,8,0)|0;k=I;if((a|0)<(k|0)|(a|0)==(k|0)&y>>>0>>0){A=0;u=x;return A|0}e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[g>>0]=e;b[g+1>>0]=e>>8;b[g+2>>0]=e>>16;b[g+3>>0]=e>>24;z=l;z=Bl(f[z>>2]|0,f[z+4>>2]|0,4,0)|0;A=l;f[A>>2]=z;f[A+4>>2]=I;if(e>>>0>6){f[m>>2]=e;hl(16869,m)|0;A=0;u=x;return A|0}e=d;a:do if(i|0){Pg(d,i);switch(f[g>>2]|0){case 0:{ce(w,3);f[n>>2]=e;f[v>>2]=f[n>>2];td(w,c,v)|0;se(w);break a}case 1:{ce(w,3);f[o>>2]=e;f[v>>2]=f[o>>2];sd(w,c,v)|0;se(w);break a}case 2:{de(w,3);f[p>>2]=e;f[v>>2]=f[p>>2];vd(w,c,v)|0;ve(w);break a}case 3:{de(w,3);f[q>>2]=e;f[v>>2]=f[q>>2];ud(w,c,v)|0;ve(w);break a}case 4:{Pd(w,3);f[r>>2]=e;f[v>>2]=f[r>>2];Wc(w,c,v)|0;ke(w);break a}case 5:{Pd(w,3);f[s>>2]=e;f[v>>2]=f[s>>2];Vc(w,c,v)|0;ke(w);break a}case 6:{Pd(w,3);f[t>>2]=e;f[v>>2]=f[t>>2];Uc(w,c,v)|0;ke(w);break a}default:{A=0;u=x;return A|0}}}while(0);A=(((f[d+4>>2]|0)-(f[d>>2]|0)|0)/12|0|0)==(f[j>>2]|0);u=x;return A|0}function Tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))ra(10593,10615,46,10785);if(!(f[a+8>>2]|0))ra(10593,10615,46,10785);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Rf(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Rf(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Rf(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=cm(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=cm(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=cm(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=cm(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=cm(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=cm(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Kk(H|0,J|0,i|0,h|0)|0;M=I;P=Kk(T|0,S|0,K|0,L|0)|0;O=I;L=Kk(R|0,Q|0,K|0,L|0)|0;K=I;J=Kk(H|0,J|0,n|0,j|0)|0;H=I;j=Kk(T|0,S|0,n|0,j|0)|0;n=I;h=Kk(R|0,Q|0,i|0,h|0)|0;i=I;l=cm(l|0,k|0,P|0,O|0)|0;l=Bl(l|0,I|0,N|0,M|0)|0;k=I;g=Bl(L|0,K|0,g|0,m|0)|0;g=cm(g|0,I|0,J|0,H|0)|0;m=I;c=cm(c|0,e|0,h|0,i|0)|0;c=Bl(c|0,I|0,j|0,n|0)|0;e=I;jf(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=cm(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=cm(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=cm(0,0,c|0,e|0)|0;S=Bl((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Bl(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=sl(h|0,i|0,29)|0;T=T&7;i=ki(l|0,k|0,T|0,0)|0;j=I;g=ki(g|0,m|0,T|0,0)|0;h=I;c=ki(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=sl(h|0,i|0,29)|0;T=I;i=ki(l|0,k|0,S|0,T|0)|0;j=I;g=ki(g|0,m|0,S|0,T|0)|0;h=I;c=ki(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=cm(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=cm(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=cm(0,0,c|0,e|0)|0;Q=Bl((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Bl(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else ra(10807,10615,95,10785)}function Ub(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=u;u=u+80|0;B=F+76|0;A=F;E=F+72|0;z=F+64|0;D=F+68|0;C=a+28|0;do if(((h[(f[C>>2]|0)+36>>0]|0)<<8&65535)<512){w=c+8|0;x=f[w>>2]|0;w=f[w+4>>2]|0;i=c+16|0;e=i;d=f[e>>2]|0;e=Bl(d|0,f[e+4>>2]|0,4,0)|0;g=I;if((w|0)<(g|0)|(w|0)==(g|0)&x>>>0>>0){E=0;u=F;return E|0}else{d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[B>>2]=d;x=i;f[x>>2]=e;f[x+4>>2]=g;break}}else if(yh(B,c)|0){d=f[B>>2]|0;break}else{E=0;u=F;return E|0}while(0);if(!d){E=0;u=F;return E|0}x=a+4|0;i=a+8|0;g=f[i>>2]|0;e=f[x>>2]|0;j=g-e>>2;if(d>>>0>j>>>0){sg(x,d-j|0);if(!(f[B>>2]|0)){E=1;u=F;return E|0}}else if(d>>>0>>0?(k=e+(d<<2)|0,(g|0)!=(k|0)):0)f[i>>2]=g+(~((g+-4-k|0)>>>2)<<2);p=f[a+32>>2]|0;s=c+8|0;v=c+16|0;w=A+60|0;r=p+8|0;q=p+12|0;t=a+16|0;n=a+20|0;o=0;while(1){g=s;e=f[g>>2]|0;g=f[g+4>>2]|0;a=v;k=f[a>>2]|0;a=f[a+4>>2]|0;if(!((g|0)>(a|0)|(g|0)==(a|0)&e>>>0>k>>>0)){d=0;e=53;break}i=f[c>>2]|0;m=b[i+k>>0]|0;d=Bl(k|0,a|0,1,0)|0;l=I;j=v;f[j>>2]=d;f[j+4>>2]=l;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>d>>>0)){d=0;e=53;break}l=b[i+d>>0]|0;d=Bl(k|0,a|0,2,0)|0;j=I;G=v;f[G>>2]=d;f[G+4>>2]=j;if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>d>>>0)){d=0;e=53;break}j=b[i+d>>0]|0;d=Bl(k|0,a|0,3,0)|0;G=I;H=v;f[H>>2]=d;f[H+4>>2]=G;if(!((g|0)>(G|0)|(g|0)==(G|0)&e>>>0>d>>>0)){d=0;e=53;break}e=b[i+d>>0]|0;H=Bl(k|0,a|0,4,0)|0;d=v;f[d>>2]=H;f[d+4>>2]=I;d=l&255;if((l+-1&255)>10){d=0;e=53;break}qj(A);H=X(Fj(d)|0,j&255)|0;xh(A,m&255,0,j,d,e<<24>>24!=0,H,((H|0)<0)<<31>>31,0,0);H=f[C>>2]|0;if((((h[H+36>>0]|0)<<8|(h[H+37>>0]|0))&65535)<259){G=s;H=f[G>>2]|0;G=f[G+4>>2]|0;e=v;d=f[e>>2]|0;e=Bl(d|0,f[e+4>>2]|0,2,0)|0;g=I;if((G|0)<(g|0)|(G|0)==(g|0)&H>>>0>>0){e=51;break}d=(f[c>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8;H=v;f[H>>2]=e;f[H+4>>2]=g;d=d&65535;f[E>>2]=d}else{yh(E,c)|0;d=f[E>>2]|0}f[w>>2]=d;j=Lk(96)|0;hj(j,A);f[z>>2]=j;j=rf(p,z)|0;i=f[z>>2]|0;f[z>>2]=0;if(i|0){H=i+88|0;d=f[H>>2]|0;f[H>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[i+68>>2]|0;if(d|0){g=i+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}H=i+64|0;d=f[H>>2]|0;f[H>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(i)}if((j|0)<=-1){e=41;break}d=f[r>>2]|0;if(((f[q>>2]|0)-d>>2|0)<=(j|0)){e=43;break}f[(f[d+(j<<2)>>2]|0)+60>>2]=f[E>>2];f[(f[x>>2]|0)+(o<<2)>>2]=j;e=f[n>>2]|0;d=f[t>>2]|0;i=e-d>>2;if((j|0)>=(i|0)){g=j+1|0;f[D>>2]=-1;if(g>>>0<=i>>>0){if(g>>>0>>0?(y=d+(g<<2)|0,(e|0)!=(y|0)):0)f[n>>2]=e+(~((e+-4-y|0)>>>2)<<2)}else{wf(t,g-i|0,D);d=f[t>>2]|0}}f[d+(j<<2)>>2]=o;o=o+1|0;if(o>>>0>=(f[B>>2]|0)>>>0){d=1;e=53;break}}if((e|0)==41)ra(17381,17397,67,17494);else if((e|0)==43)ra(17504,17397,68,17494);else if((e|0)==51){H=0;u=F;return H|0}else if((e|0)==53){u=F;return d|0}return 0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Ig(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))Ig(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Ig(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){Ig(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)ra(17671,17583,64,17666);else if((C|0)==33)ra(17671,17583,64,17666)}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=u;u=u+16|0;k=l;i=c+8|0;o=i;m=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,5,0)|0;n=I;if((o|0)<(n|0)|(o|0)==(n|0)&m>>>0>>0){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}e=(f[c>>2]|0)+e|0;b[d>>0]=b[e>>0]|0;b[d+1>>0]=b[e+1>>0]|0;b[d+2>>0]=b[e+2>>0]|0;b[d+3>>0]=b[e+3>>0]|0;b[d+4>>0]=b[e+4>>0]|0;e=j;e=Bl(f[e>>2]|0,f[e+4>>2]|0,5,0)|0;g=I;o=j;f[o>>2]=e;f[o+4>>2]=g;if(cj(d,16151,5)|0){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=17;g=e;c=16157;i=g+17|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+17>>0]=0;f[a>>2]=-1;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}o=i;n=f[o+4>>2]|0;if(!((n|0)>(g|0)|((n|0)==(g|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}b[d+5>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Bl(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}b[d+6>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Bl(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}b[d+7>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Bl(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}b[d+8>>0]=b[(f[c>>2]|0)+e>>0]|0;o=j;m=f[o>>2]|0;o=f[o+4>>2]|0;e=Bl(m|0,o|0,1,0)|0;n=j;f[n>>2]=e;f[n+4>>2]=I;n=f[i>>2]|0;i=f[i+4>>2]|0;o=Bl(m|0,o|0,3,0)|0;m=I;if(!((i|0)<(m|0)|(i|0)==(m|0)&n>>>0>>0)){n=d+10|0;o=(f[c>>2]|0)+e|0;o=h[o>>0]|h[o+1>>0]<<8;b[n>>0]=o;b[n+1>>0]=o>>8;n=j;n=Bl(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;o=j;f[o>>2]=n;f[o+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=l;return}e=Lk(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=16121;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;eh(a+4|0,k);if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);u=l;return}function Xb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=a+8|0;f[z>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{sg(i,e-j|0);d=f[z>>2]|0}w=f[a+48>>2]|0;x=f[a+52>>2]|0;v=e>>>0>1073741823?-1:e<<2;y=zo(v)|0;dh(y|0,0,v|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[y+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;B=18}}else{d=d-(f[i>>2]|0)|0;B=18}if((B|0)==18){B=0;f[g>>2]=d}h=h+1|0;d=f[z>>2]|0}while((h|0)<(d|0))}}r=f[a+56>>2]|0;g=f[r>>2]|0;u=(f[r+4>>2]|0)-g|0;v=u>>2;if((u|0)<=4){Ao(y);return 1}t=a+16|0;s=a+32|0;u=a+12|0;q=a+20|0;o=w+12|0;p=(e|0)>0;n=1;while(1){if(v>>>0<=n>>>0){B=24;break}h=f[g+(n<<2)>>2]|0;m=X(n,e)|0;if((h|0)>=0?(A=f[(f[o>>2]|0)+(h<<2)>>2]|0,(A|0)>=0):0){i=f[w>>2]|0;j=f[x>>2]|0;k=f[j+(f[i+(A<<2)>>2]<<2)>>2]|0;h=A+1|0;h=((h|0)%3|0|0)==0?A+-2|0:h;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;l=f[j+(h<<2)>>2]|0;h=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;h=f[j+(h<<2)>>2]|0;if((k|0)<(n|0)&(l|0)<(n|0)&(h|0)<(n|0)){k=X(k,e)|0;j=X(l,e)|0;i=X(h,e)|0;if(p){h=0;do{f[y+(h<<2)>>2]=(f[c+(h+i<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+k<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}l=b+(m<<2)|0;k=c+(m<<2)|0;if((d|0)>0){i=0;do{d=f[y+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){j=f[s>>2]|0;f[j+(i<<2)>>2]=h}else{m=f[u>>2]|0;j=f[s>>2]|0;f[j+(i<<2)>>2]=(d|0)<(m|0)?m:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[l+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;h=k+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;B=56}}else{d=d-(f[q>>2]|0)|0;B=56}if((B|0)==56){B=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}else B=34}else B=34;if((B|0)==34){B=0;j=c+((X(n+-1|0,e)|0)<<2)|0;a=b+(m<<2)|0;l=c+(m<<2)|0;if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){k=f[s>>2]|0;f[k+(i<<2)>>2]=h}else{m=f[u>>2]|0;k=f[s>>2]|0;f[k+(i<<2)>>2]=(d|0)<(m|0)?m:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;B=44}}else{d=d-(f[q>>2]|0)|0;B=44}if((B|0)==44){B=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}n=n+1|0;if((n|0)>=(v|0)){B=22;break}}if((B|0)==22){Ao(y);return 1}else if((B|0)==24)Tn(r);return 0}function Yb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=La,h=0,i=0,j=La,k=0,l=La,m=La,o=La,p=La,q=La,r=0,t=0,v=La,w=La,x=La,y=La,z=0,A=0,B=0,C=0,D=0,E=0,F=La;E=u;u=u+48|0;z=E+40|0;A=E+36|0;D=E+24|0;B=E+12|0;C=E;k=a+48|0;h=f[c>>2]|0;c=h+1|0;if((h|0)>=0){i=((c|0)%3|0|0)==0?h+-2|0:c;c=h+(((h>>>0)%3|0|0)==0?2:-1)|0;if((i|0)<0)h=-1073741824;else h=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;if((c|0)<0)t=-1073741824;else t=f[(f[f[k>>2]>>2]|0)+(c<<2)>>2]|0}else{t=-1073741824;h=-1073741824}k=f[a+52>>2]|0;c=f[k>>2]|0;r=(f[k+4>>2]|0)-c>>2;if(r>>>0<=h>>>0)Tn(k);i=c;c=f[i+(h<<2)>>2]|0;if(r>>>0<=t>>>0)Tn(k);t=f[i+(t<<2)>>2]|0;h=(c|0)<(e|0);if(!(h&(t|0)<(e|0))){do if(!h){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=E;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[i>>2]|0));u=E;return}while(0);k=a+72|0;D=f[k>>2]|0;i=X(D,c)|0;if((D|0)<=0){u=E;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=f[d+(h+i<<2)>>2];h=h+1|0}while((h|0)<(f[k>>2]|0));u=E;return}r=f[a+72>>2]|0;k=X(r,c)|0;x=$(f[d+(k<<2)>>2]|0);y=$(f[d+(k+1<<2)>>2]|0);r=X(r,t)|0;w=$(f[d+(r<<2)>>2]|0);v=$(f[d+(r+1<<2)>>2]|0);if(!(w!=x|v!=y)){a=f[a+68>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~v;u=E;return}k=a+64|0;h=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;r=a+60|0;i=f[r>>2]|0;if(!(b[i+84>>0]|0))h=f[(f[i+68>>2]|0)+(h<<2)>>2]|0;f[A>>2]=h;h=b[i+24>>0]|0;f[z>>2]=f[A>>2];eb(i,z,h,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[h+24>>0]|0;f[z>>2]=f[A>>2];eb(h,z,c,B)|0;c=f[(f[k>>2]|0)+(t<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;h=f[r>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=b[h+24>>0]|0;f[z>>2]=f[A>>2];eb(h,z,d,C)|0;q=$(n[C>>2]);o=$(n[B>>2]);q=$(q-o);p=$(n[C+4>>2]);j=$(n[B+4>>2]);p=$(p-j);m=$(n[C+8>>2]);g=$(n[B+8>>2]);m=$(m-g);o=$($(n[D>>2])-o);j=$($(n[D+4>>2])-j);g=$($(n[D+8>>2])-g);l=$($($($(q*q)+$(0.0))+$(p*p))+$(m*m));if(l>$(0.0)?1:(f[a+88>>2]|0)<258){F=$($($($($(q*o)+$(0.0))+$(p*j))+$(m*g))/l);q=$(o-$(q*F));p=$(j-$(p*F));g=$(g-$(m*F));j=F;g=$(L($($($(g*g)+$($(p*p)+$($(q*q)+$(0.0))))/l)))}else{j=$(0.0);g=$(0.0)}w=$(w-x);F=$(v-y);x=$(x+$(w*j));w=$(w*g);y=$(y+$(F*j));F=$(F*g);C=a+80|0;B=(f[C>>2]|0)+-1|0;D=(1<<(B&31)&f[(f[a+76>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[C>>2]=B;j=$(-w);j=$(y+(D?j:w));g=$(-F);g=$(x+(D?F:g));if(((n[s>>2]=g,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+g+.5));h=f[a+68>>2]|0;f[h>>2]=c;if(((n[s>>2]=j,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+j+.5));f[h+4>>2]=c;u=E;return}function Zb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=La,h=0,i=0,j=La,k=0,l=La,m=La,o=La,p=0,q=La,r=La,t=0,v=La,w=La,x=La,y=La,z=0,A=0,B=0,C=0,D=0,E=0,F=La;E=u;u=u+48|0;z=E+40|0;A=E+36|0;D=E+24|0;B=E+12|0;C=E;i=a+48|0;h=f[c>>2]|0;c=h+1|0;do if((h|0)>=0){c=((c|0)%3|0|0)==0?h+-2|0:c;if(!((h>>>0)%3|0)){h=h+2|0;break}else{h=h+-1|0;break}}else c=h;while(0);k=f[(f[i>>2]|0)+28>>2]|0;p=f[k+(c<<2)>>2]|0;k=f[k+(h<<2)>>2]|0;i=f[a+52>>2]|0;c=f[i>>2]|0;t=(f[i+4>>2]|0)-c>>2;if(t>>>0<=p>>>0)Tn(i);h=c;c=f[h+(p<<2)>>2]|0;if(t>>>0<=k>>>0)Tn(i);t=f[h+(k<<2)>>2]|0;h=(c|0)<(e|0);if(!(h&(t|0)<(e|0))){do if(!h){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=E;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=0;h=h+1|0}while((h|0)<(f[i>>2]|0));u=E;return}while(0);k=a+72|0;D=f[k>>2]|0;i=X(D,c)|0;if((D|0)<=0){u=E;return}c=f[a+68>>2]|0;h=0;do{f[c+(h<<2)>>2]=f[d+(h+i<<2)>>2];h=h+1|0}while((h|0)<(f[k>>2]|0));u=E;return}p=f[a+72>>2]|0;k=X(p,c)|0;x=$(f[d+(k<<2)>>2]|0);y=$(f[d+(k+1<<2)>>2]|0);p=X(p,t)|0;w=$(f[d+(p<<2)>>2]|0);v=$(f[d+(p+1<<2)>>2]|0);if(!(w!=x|v!=y)){a=f[a+68>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~v;u=E;return}k=a+64|0;h=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;p=a+60|0;i=f[p>>2]|0;if(!(b[i+84>>0]|0))h=f[(f[i+68>>2]|0)+(h<<2)>>2]|0;f[A>>2]=h;h=b[i+24>>0]|0;f[z>>2]=f[A>>2];eb(i,z,h,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;h=f[p>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[h+24>>0]|0;f[z>>2]=f[A>>2];eb(h,z,c,B)|0;c=f[(f[k>>2]|0)+(t<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;h=f[p>>2]|0;if(!(b[h+84>>0]|0))c=f[(f[h+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=b[h+24>>0]|0;f[z>>2]=f[A>>2];eb(h,z,d,C)|0;r=$(n[C>>2]);o=$(n[B>>2]);r=$(r-o);q=$(n[C+4>>2]);j=$(n[B+4>>2]);q=$(q-j);m=$(n[C+8>>2]);g=$(n[B+8>>2]);m=$(m-g);o=$($(n[D>>2])-o);j=$($(n[D+4>>2])-j);g=$($(n[D+8>>2])-g);l=$($($($(r*r)+$(0.0))+$(q*q))+$(m*m));if(l>$(0.0)?1:(f[a+88>>2]|0)<258){F=$($($($($(r*o)+$(0.0))+$(q*j))+$(m*g))/l);r=$(o-$(r*F));q=$(j-$(q*F));g=$(g-$(m*F));j=F;g=$(L($($($(g*g)+$($(q*q)+$($(r*r)+$(0.0))))/l)))}else{j=$(0.0);g=$(0.0)}w=$(w-x);F=$(v-y);x=$(x+$(w*j));w=$(w*g);y=$(y+$(F*j));F=$(F*g);C=a+80|0;B=(f[C>>2]|0)+-1|0;D=(1<<(B&31)&f[(f[a+76>>2]|0)+(B>>>5<<2)>>2]|0)==0;f[C>>2]=B;j=$(-w);j=$(y+(D?j:w));g=$(-F);g=$(x+(D?F:g));if(((n[s>>2]=g,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+g+.5));h=f[a+68>>2]|0;f[h>>2]=c;if(((n[s>>2]=j,f[s>>2]|0)&2147483647)>>>0>2139095040)c=-2147483648;else c=~~+J(+(+j+.5));f[h+4>>2]=c;u=E;return}function _b(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;z=a+8|0;f[z>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{sg(i,e-j|0);d=f[z>>2]|0}w=f[a+48>>2]|0;x=f[a+52>>2]|0;v=e>>>0>1073741823?-1:e<<2;y=zo(v)|0;dh(y|0,0,v|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[y+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;E=18}}else{d=d-(f[i>>2]|0)|0;E=18}if((E|0)==18){E=0;f[g>>2]=d}h=h+1|0;d=f[z>>2]|0}while((h|0)<(d|0))}}r=f[a+56>>2]|0;g=f[r>>2]|0;u=(f[r+4>>2]|0)-g|0;v=u>>2;if((u|0)<=4){Ao(y);return 1}t=a+16|0;s=a+32|0;u=a+12|0;q=a+20|0;p=w+64|0;n=w+28|0;o=(e|0)>0;m=1;while(1){if(v>>>0<=m>>>0){E=24;break}h=f[g+(m<<2)>>2]|0;l=X(m,e)|0;if((!((h|0)<0?1:(1<<(h&31)&f[(f[w>>2]|0)+(h>>>5<<2)>>2]|0)!=0)?(D=f[(f[(f[p>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(D|0)>=0):0)?(C=f[n>>2]|0,a=f[x>>2]|0,A=f[a+(f[C+(D<<2)>>2]<<2)>>2]|0,B=D+1|0,B=f[a+(f[C+((((B|0)%3|0|0)==0?D+-2|0:B)<<2)>>2]<<2)>>2]|0,C=f[a+(f[C+((((D>>>0)%3|0|0)==0?2:-1)+D<<2)>>2]<<2)>>2]|0,(A|0)<(m|0)&(B|0)<(m|0)&(C|0)<(m|0)):0){i=X(A,e)|0;j=X(B,e)|0;k=X(C,e)|0;if(o){h=0;do{f[y+(h<<2)>>2]=(f[c+(h+k<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+i<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}a=b+(l<<2)|0;k=c+(l<<2)|0;if((d|0)>0){i=0;do{d=f[y+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){j=f[s>>2]|0;f[j+(i<<2)>>2]=h}else{l=f[u>>2]|0;j=f[s>>2]|0;f[j+(i<<2)>>2]=(d|0)<(l|0)?l:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;h=k+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;E=52}}else{d=d-(f[q>>2]|0)|0;E=52}if((E|0)==52){E=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}else{j=c+((X(m+-1|0,e)|0)<<2)|0;a=b+(l<<2)|0;l=c+(l<<2)|0;if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){k=f[s>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[u>>2]|0;k=f[s>>2]|0;f[k+(i<<2)>>2]=(d|0)<(h|0)?h:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;E=40}}else{d=d-(f[q>>2]|0)|0;E=40}if((E|0)==40){E=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}m=m+1|0;if((m|0)>=(v|0)){E=22;break}}if((E|0)==22){Ao(y);return 1}else if((E|0)==24)Tn(r);return 0}function $b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))ra(17504,17397,68,17494);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Co(g)}Co(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Co(g)}Co(e)}Co(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){Lg(d);Co(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){Lg(c);Co(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){Uj(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function ac(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Lk(60)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1996;e=b;f[a>>2]=e;return}case 2:{b=Lk(60)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2052;e=b;f[a>>2]=e;return}case 4:{b=Lk(112)|0;f[b>>2]=1520;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2108;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Lk(92)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2164;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+88>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Lk(104)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2220;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Lk(124)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2276;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2332;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function bc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Lk(60)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1632;e=b;f[a>>2]=e;return}case 2:{b=Lk(60)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1688;e=b;f[a>>2]=e;return}case 4:{b=Lk(112)|0;f[b>>2]=1520;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1744;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=Lk(92)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1800;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;f[b+88>>2]=h&65535;e=b;f[a>>2]=e;return}case 5:{b=Lk(104)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1856;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Lk(124)|0;f[b>>2]=1520;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1912;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1968;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function cc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>340){f[c>>2]=b+-341;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{Uj(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=sa(8)|0;Am(o,17313);f[o>>2]=4748;wa(o|0,1128,100)}g=Lk(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){Co(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=sa(8)|0;Am(o,17313);f[o>>2]=4748;wa(o|0,1128,100)}d=Lk(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=Lk(4092)|0;f[j>>2]=e;Ve(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;Pe(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)Co(d);u=o;return}if((c|0)!=(b|0)){n=Lk(4092)|0;f[k>>2]=n;Ve(a,k);u=o;return}j=Lk(4092)|0;f[k>>2]=j;Pe(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{Uj(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=sa(8)|0;Am(o,17313);f[o>>2]=4748;wa(o|0,1128,100)}g=Lk(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){Co(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function dc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v;t=a+68|0;f[t>>2]=(f[t>>2]|0)+1;t=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;s=t>>2;if((t|0)<=0){u=v;return}p=a+4|0;o=a+56|0;q=a+72|0;t=a+76|0;b=f[a+44+(b<<2)>>2]|0;n=0;a:while(1){l=(b|0)<0;j=l?-1073741824:(b>>>0)/3|0;k=(f[o>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]|1<<(j&31);f[q>>2]=(f[q>>2]|0)+1;do if(n){d=f[a>>2]|0;if((b|0)==-1073741824)h=-1073741824;else{g=(b|0)/3|0;if((b|0)<=-3){m=39;break a}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){m=41;break a}h=f[e+(g*12|0)+(((b|0)%3|0)<<2)>>2]|0}f[t>>2]=h;f[r>>2]=h;g=f[c>>2]|0;e=g+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+8>>2]|0)>>>0){f[d>>2]=h;f[e>>2]=d+4}else Ig(g,r);if(!(n&1)){d=b+1|0;if(l)break;b=((d|0)%3|0|0)==0?b+-2|0:d;m=53;break}if(!l)if(!((b>>>0)%3|0)){b=b+2|0;m=53;break}else{b=b+-1|0;m=53;break}}else{e=f[a>>2]|0;h=(b|0)==-1073741824;if(h)e=-1073741824;else{g=(b|0)/3|0;if((b|0)<=-3){m=7;break a}d=f[e+96>>2]|0;if((g|0)>=(((f[e+100>>2]|0)-d|0)/12|0|0)){m=9;break a}e=f[d+(g*12|0)+(((b|0)%3|0)<<2)>>2]|0}f[r>>2]=e;k=f[c>>2]|0;i=k+4|0;d=f[i>>2]|0;j=k+8|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else Ig(k,r);d=b+1|0;if(l)if((b|0)==-1073741824)e=-1073741824;else{d=b;m=17}else if(!((d|0)%3|0)){d=b+-2|0;m=19}else m=17;if((m|0)==17)if((d|0)>-3)m=19;else{m=18;break a}if((m|0)==19){m=0;w=f[a>>2]|0;g=(d|0)/3|0;e=f[w+96>>2]|0;if((g|0)>=(((f[w+100>>2]|0)-e|0)/12|0|0)){m=20;break a}e=f[e+(g*12|0)+(((d|0)%3|0)<<2)>>2]|0}f[r>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else Ig(k,r);if(l)if(h)e=-1073741824;else{h=b;m=28}else{h=(((b>>>0)%3|0|0)==0?2:-1)+b|0;m=28}if((m|0)==28){d=f[a>>2]|0;g=(h|0)/3|0;if((h|0)<=-3){m=29;break a}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){m=31;break a}e=f[e+(g*12|0)+(((h|0)%3|0)<<2)>>2]|0}f[t>>2]=e;f[r>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else Ig(k,r);m=53}while(0);if((m|0)==53){m=0;if((b|0)>=0)b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0}n=n+1|0;if((n|0)>=(s|0)){m=3;break}}if((m|0)==3){u=v;return}else if((m|0)==7)ra(17558,17583,63,17666);else if((m|0)==9)ra(17671,17583,64,17666);else if((m|0)==18)ra(17558,17583,63,17666);else if((m|0)==20)ra(17671,17583,64,17666);else if((m|0)==29)ra(17558,17583,63,17666);else if((m|0)==31)ra(17671,17583,64,17666);else if((m|0)==39)ra(17558,17583,63,17666);else if((m|0)==41)ra(17671,17583,64,17666)}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(9209,9220,60,9341);if((d|0)>=31)ra(9361,9220,61,9341);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(10593,11397,99,11560);if((e|0)!=2)ra(11582,11397,102,11560);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Tn(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];Eb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Bl(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Bl(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Kk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Kk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Bi(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;dg(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Tn(d);else if((g|0)==16)ra(11606,11397,116,11560);else if((g|0)==21)ra(11673,9220,99,11761);return 0}function fc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(9209,9220,60,9341);if((d|0)>=31)ra(9361,9220,61,9341);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(10593,11397,99,11560);if((e|0)!=2)ra(11582,11397,102,11560);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Tn(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];Tb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Bl(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Bl(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Kk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Kk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Bi(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;dg(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Tn(d);else if((g|0)==16)ra(11606,11397,116,11560);else if((g|0)==21)ra(11673,9220,99,11761);return 0}function gc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(9209,9220,60,9341);if((d|0)>=31)ra(9361,9220,61,9341);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(10593,11397,99,11560);if((e|0)!=2)ra(11582,11397,102,11560);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Tn(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];Eb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Bl(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Bl(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Kk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Kk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Bi(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;gg(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Tn(d);else if((g|0)==16)ra(11606,11397,116,11560);else if((g|0)==21)ra(11673,9220,99,11761);return 0}function hc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(9209,9220,60,9341);if((d|0)>=31)ra(9361,9220,61,9341);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(10593,11397,99,11560);if((e|0)!=2)ra(11582,11397,102,11560);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Tn(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];Tb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Bl(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Bl(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Kk(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=ki(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Kk(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=ki(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Bi(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;gg(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Tn(d);else if((g|0)==16)ra(11606,11397,116,11560);else if((g|0)==21)ra(11673,9220,99,11761);return 0}function ic(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Ig(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))Ig(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Ig(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){Ig(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function jc(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;k=n+12|0;m=n;f[c+40>>2]=e;j=c+32|0;f[j>>2]=g;f[c+4>>2]=i;Wb(a,g,k);if(f[a>>2]|0){u=n;return}l=a+4|0;i=l+11|0;if((b[i>>0]|0)<0)Co(f[l>>2]|0);g=h[k+7>>0]|0;if((g|0)!=(Na[f[(f[c>>2]|0)+8>>2]&127](c)|0)){e=Lk(64)|0;f[m>>2]=e;f[m+8>>2]=-2147483584;f[m+4>>2]=50;g=e;i=16202;j=g+50|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+50>>0]=0;f[a>>2]=-1;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}e=b[k+5>>0]|0;b[c+36>>0]=e;g=b[k+6>>0]|0;b[c+37>>0]=g;if((e+-1&255)>1){e=Lk(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=22;g=e;i=16253;j=g+22|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+22>>0]=0;f[a>>2]=-5;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}if(e<<24>>24==2&(g&255)>2){e=Lk(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=22;g=e;i=16276;j=g+22|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+22>>0]=0;f[a>>2]=-5;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}g=(g&255|(e&255)<<8)&65535;d[(f[j>>2]|0)+38>>1]=g;if((g&65535)>258?(d[k+10>>1]|0)<0:0){Fd(a,c);if(f[a>>2]|0){u=n;return}if((b[i>>0]|0)<0)Co(f[l>>2]|0)}if(!(Na[f[(f[c>>2]|0)+12>>2]&127](c)|0)){e=Lk(48)|0;f[m>>2]=e;f[m+8>>2]=-2147483600;f[m+4>>2]=33;g=e;i=16299;j=g+33|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+33>>0]=0;f[a>>2]=-1;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}if(!(Na[f[(f[c>>2]|0)+20>>2]&127](c)|0)){e=Lk(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=31;g=e;i=16333;j=g+31|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+31>>0]=0;f[a>>2]=-1;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}if(Na[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=n;return}e=Lk(48)|0;f[m>>2]=e;f[m+8>>2]=-2147483600;f[m+4>>2]=34;g=e;i=16365;j=g+34|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+34>>0]=0;f[a>>2]=-1;eh(l,m);if((b[m+11>>0]|0)<0)Co(f[m>>2]|0);u=n;return}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(m|0)==(q|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(cj(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(m|0)==(c|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(cj(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function lc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(q|0)==(m|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(cj(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(c|0)==(m|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(cj(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function mc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Co(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}s=Lk(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)Co(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(!s){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&r;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;else{h=g;i=e;e=g}a:while(1){q=h;g=i;p=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!s){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&r;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{n=e+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[e+12>>2]|0:m;l=(o|0)==0;if(k){i=e;while(1){j=h+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[h+12>>2]|0:m&255)|0)){h=i;break c}if(!l?cj(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{m=h;h=i;i=m}}}if(l){i=e;while(1){o=b[h+8+11>>0]|0;if((o<<24>>24<0?f[h+12>>2]|0:o&255)|0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{o=h;h=i;i=o}}}l=e;while(1){i=h+8|0;k=b[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[h+12>>2]|0:k&255)|0)){h=l;break c}i=j?f[i>>2]|0:i;if((f[n>>2]&255)<<24>>24==(b[i>>0]|0)){j=m;k=n}else{h=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((b[k>>0]|0)!=(b[i>>0]|0)){h=l;break c}}i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[q>>2]|0;if(!e){d=43;break a}}g=f[e>>2]|0;if(!g){d=43;break a}else{q=e;p=e}}f[h>>2]=p;i=f[e>>2]|0;if(!i){d=43;break}else{h=e;d=g}}if((d|0)==43)return}function nc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=a+4|0;t=f[c>>2]|0;c=t;do if((t|0)!=(o|0)){j=t+16|0;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[t+20>>2]|0:i&255;q=b[g+11>>0]|0;r=q<<24>>24<0;q=r?f[g+4>>2]|0:q&255;l=i>>>0>>0;h=l?i:q;if((h|0)!=0?(k=cj(r?f[g>>2]|0:g,m?f[j>>2]|0:j,h)|0,(k|0)!=0):0){if((k|0)<0)break}else u=4;if((u|0)==4?q>>>0>>0:0)break;h=q>>>0>>0?q:i;if((h|0)!=0?(n=cj(m?f[j>>2]|0:j,r?f[g>>2]|0:g,h)|0,(n|0)!=0):0){if((n|0)>=0)u=36}else u=20;if((u|0)==20?!l:0)u=36;if((u|0)==36){f[d>>2]=c;f[e>>2]=c;d=e;return d|0}m=t+4|0;h=f[m>>2]|0;if(!h){i=t+8|0;h=f[i>>2]|0;if((f[h>>2]|0)!=(t|0))do{p=f[i>>2]|0;i=p+8|0;h=f[i>>2]|0}while((f[h>>2]|0)!=(p|0))}else while(1){i=f[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(o|0)){j=h+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;k=l?f[h+20>>2]|0:k&255;i=k>>>0>>0?k:q;if((i|0)!=0?(s=cj(r?f[g>>2]|0:g,l?f[j>>2]|0:j,i)|0,(s|0)!=0):0){if((s|0)<0)break}else u=30;if((u|0)==30?q>>>0>>0:0)break;d=Ge(a,d,g)|0;return d|0}while(0);if(!(f[t+4>>2]|0)){f[d>>2]=c;d=m;return d|0}else{f[d>>2]=h;d=h;return d|0}}while(0);e=f[t>>2]|0;do if((t|0)!=(f[a>>2]|0)){if(!e){h=t;while(1){c=f[h+8>>2]|0;if((f[c>>2]|0)==(h|0))h=c;else{h=c;break}}}else{h=e;while(1){c=f[h+4>>2]|0;if(!c)break;else h=c}}c=h;j=h+16|0;k=b[g+11>>0]|0;l=k<<24>>24<0;k=l?f[g+4>>2]|0:k&255;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[h+20>>2]|0:i&255;h=k>>>0>>0?k:i;if((h|0)!=0?(p=cj(m?f[j>>2]|0:j,l?f[g>>2]|0:g,h)|0,(p|0)!=0):0){if((p|0)<0)break}else u=12;if((u|0)==12?i>>>0>>0:0)break;d=Ge(a,d,g)|0;return d|0}while(0);if(!e){f[d>>2]=t;d=t;return d|0}else{u=c;f[d>>2]=u;d=u+4|0;return d|0}return 0}function oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((r|0)<1){c=0;return c|0}m=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;s=X(m,r)|0;Oe(a,m,r);m=a+16|0;q=f[m>>2]|0;q=(f[f[q>>2]>>2]|0)+(f[q+48>>2]|0)|0;o=d+8|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>k>>>0)){c=0;return c|0}h=f[d>>2]|0;n=b[h+k>>0]|0;i=Bl(k|0,l|0,1,0)|0;j=I;t=p;f[t>>2]=i;f[t+4>>2]=j;a:do if(!(n<<24>>24)){if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>i>>>0)){t=0;return t|0}n=b[h+i>>0]|0;t=Bl(k|0,l|0,2,0)|0;l=p;f[l>>2]=t;f[l+4>>2]=I;l=n&255;t=(l|0)==(Fj(5)|0);e=f[(f[m>>2]|0)+64>>2]|0;e=(f[e+4>>2]|0)-(f[e>>2]|0)|0;if(t){g=s<<2;if(e>>>0>>0){t=0;return t|0}m=o;o=f[m>>2]|0;m=f[m+4>>2]|0;t=p;e=f[t>>2]|0;t=Bl(e|0,f[t+4>>2]|0,g|0,0)|0;n=I;if((m|0)<(n|0)|(m|0)==(n|0)&o>>>0>>0){t=0;return t|0}else{cf(q|0,(f[d>>2]|0)+e|0,g|0)|0;t=p;t=Bl(f[t>>2]|0,f[t+4>>2]|0,g|0,0)|0;i=p;f[i>>2]=t;f[i+4>>2]=I;i=18;break}}i=X(l,s)|0;if(e>>>0>>0){t=0;return t|0}j=o;h=f[j>>2]|0;j=f[j+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;t=cm(h|0,j|0,e|0,g|0)|0;m=I;if((m|0)<0|(m|0)==0&t>>>0>>0){t=0;return t|0}if(!s)i=19;else{k=n&255;i=j;j=0;while(1){t=Bl(e|0,g|0,k|0,0)|0;n=I;if(!((i|0)<(n|0)|(i|0)==(n|0)&h>>>0>>0)){cf(q+(j<<2)|0,(f[d>>2]|0)+e|0,l|0)|0;e=p;e=Bl(f[e>>2]|0,f[e+4>>2]|0,k|0,0)|0;g=I;t=p;f[t>>2]=e;f[t+4>>2]=g}j=j+1|0;if((j|0)==(s|0)){i=18;break a}h=o;i=f[h+4>>2]|0;h=f[h>>2]|0}}}else if(fh(s,r,d,q)|0)i=18;else{t=0;return t|0}while(0);do if((i|0)==18)if(!s)i=19;else{g=a+20|0;e=f[g>>2]|0;if(e|0?Na[f[(f[e>>2]|0)+32>>2]&127](e)|0:0){h=1;break}Yj(q,s,q);h=1}while(0);if((i|0)==19){g=a+20|0;h=0}e=f[g>>2]|0;if(e|0){if(!(Oa[f[(f[e>>2]|0)+40>>2]&127](e,d)|0)){t=0;return t|0}if(h?(t=f[g>>2]|0,!(Qa[f[(f[t>>2]|0)+44>>2]&31](t,q,q,s,r,f[c>>2]|0)|0)):0){t=0;return t|0}}t=1;return t|0}function pc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+64|0;E=F;g=E;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));a:do if(Gc(E,d)|0?dd(E,d)|0:0){g=(a|0)==0;b:do if(!g){if(!(f[E+12>>2]|0)){k=0;break a}$e(d,0,0)|0;if(!g){z=E+44|0;C=E+48|0;y=E+40|0;s=E+16|0;t=E+28|0;A=(c|0)>0;D=d+36|0;x=d+32|0;v=d+24|0;w=d+28|0;i=f[C>>2]|0;B=0;g=0;while(1){c:do if(i>>>0<16384){j=f[z>>2]|0;do{if((j|0)<=0)break c;r=f[y>>2]|0;j=j+-1|0;f[z>>2]=j;i=h[r+j>>0]|i<<8;f[C>>2]=i}while(i>>>0<16384)}while(0);p=i&4095;r=f[(f[s>>2]|0)+(p<<2)>>2]|0;q=f[t>>2]|0;i=(X(f[q+(r<<3)>>2]|0,i>>>12)|0)+p-(f[q+(r<<3)+4>>2]|0)|0;f[C>>2]=i;if(A){p=(r|0)>0;if((r|0)<=-1){g=22;break}if((r|0)<33){q=0;o=g}else{g=21;break}while(1){if(!(b[D>>0]|0)){k=0;break a}if(p){l=f[v>>2]|0;m=f[w>>2]|0;k=f[x>>2]|0;n=0;j=0;do{g=l+(k>>>3)|0;if(g>>>0>>0){g=(h[g>>0]|0)>>>(k&7)&1;k=k+1|0;f[x>>2]=k}else g=0;j=g<>2]=j;q=q+1|0;if((q|0)>=(c|0))break;else o=g}}B=B+c|0;if(B>>>0>=a>>>0)break b}if((g|0)==21){if(!(b[D>>0]|0)){k=0;break a}ra(16588,16487,156,16580)}else if((g|0)==22){if(!(b[D>>0]|0)){k=0;break a}ra(16472,16487,155,16580)}}}else $e(d,0,0)|0;while(0);Jj(d);k=1}else k=0;while(0);g=f[E+28>>2]|0;if(g|0){j=E+32|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-8-g|0)>>>3)<<3);Co(g)}g=f[E+16>>2]|0;if(g|0){j=E+20|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-4-g|0)>>>2)<<2);Co(g)}j=f[E>>2]|0;if(!j){u=F;return k|0}i=E+4|0;g=f[i>>2]|0;if((g|0)!=(j|0))f[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);Co(j);u=F;return k|0}function qc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{l=d;d=d+-116|0;f[g+-116>>2]=f[d>>2];j=l+-112|0;f[g+-112>>2]=f[j>>2];k=l+-108|0;f[g+-108>>2]=f[k>>2];m=l+-104|0;f[g+-104>>2]=f[m>>2];f[j>>2]=0;f[k>>2]=0;f[m>>2]=0;m=l+-100|0;f[g+-100>>2]=f[m>>2];k=l+-96|0;f[g+-96>>2]=f[k>>2];j=l+-92|0;f[g+-92>>2]=f[j>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;b[g+-88>>0]=b[l+-88>>0]|0;j=g+-84|0;k=l+-84|0;f[j>>2]=0;m=g+-80|0;f[m>>2]=0;f[g+-76>>2]=0;f[j>>2]=f[k>>2];j=l+-80|0;f[m>>2]=f[j>>2];m=l+-76|0;f[g+-76>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;k=g+-72|0;j=l+-72|0;f[k>>2]=0;m=g+-68|0;f[m>>2]=0;f[g+-64>>2]=0;f[k>>2]=f[j>>2];k=l+-68|0;f[m>>2]=f[k>>2];m=l+-64|0;f[g+-64>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-60|0;k=l+-60|0;f[j>>2]=0;m=g+-56|0;f[m>>2]=0;f[g+-52>>2]=0;f[j>>2]=f[k>>2];j=l+-56|0;f[m>>2]=f[j>>2];m=l+-52|0;f[g+-52>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-48>>2]=f[l+-48>>2];b[g+-44>>0]=b[l+-44>>0]|0;k=g+-40|0;j=l+-40|0;f[k>>2]=0;m=g+-36|0;f[m>>2]=0;f[g+-32>>2]=0;f[k>>2]=f[j>>2];k=l+-36|0;f[m>>2]=f[k>>2];m=l+-32|0;f[g+-32>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-28|0;k=l+-28|0;f[j>>2]=0;m=g+-24|0;f[m>>2]=0;f[g+-20>>2]=0;f[j>>2]=f[k>>2];j=l+-24|0;f[m>>2]=f[j>>2];m=l+-20|0;f[g+-20>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-16>>2]=f[l+-16>>2];k=g+-12|0;j=l+-12|0;f[k>>2]=0;m=g+-8|0;f[m>>2]=0;f[g+-4>>2]=0;f[k>>2]=f[j>>2];k=l+-8|0;f[m>>2]=f[k>>2];l=l+-4|0;f[g+-4>>2]=f[l>>2];f[l>>2]=0;f[k>>2]=0;f[j>>2]=0;g=(f[h>>2]|0)+-116|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;i=q+32|0;h=q+28|0;o=q+16|0;p=q;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){p=c;p=p+20|0;u=q;return p|0}}fn(o);f[p>>2]=f[b>>2];l=p+4|0;f[p+8>>2]=0;k=p+12|0;f[k>>2]=0;m=p+8|0;f[l>>2]=m;c=f[o>>2]|0;n=o+4|0;if((c|0)!=(n|0)){g=m;do{d=c+16|0;f[h>>2]=g;f[i>>2]=f[h>>2];lf(l,i,d,d)|0;d=f[c+4>>2]|0;if(!d){d=c+8|0;e=f[d>>2]|0;if((f[e>>2]|0)==(c|0))c=e;else do{b=f[d>>2]|0;d=b+8|0;c=f[d>>2]|0}while((f[c>>2]|0)!=(b|0))}else{c=d;while(1){d=f[c>>2]|0;if(!d)break;else c=d}}}while((c|0)!=(n|0))}i=a+12|0;c=f[j>>2]|0;do if(c){g=f[p>>2]|0;e=a+16|0;while(1){d=f[c+16>>2]|0;if((g|0)<(d|0)){d=f[c>>2]|0;if(!d){d=23;break}else e=c}else{if((d|0)>=(g|0)){d=27;break}e=c+4|0;d=f[e>>2]|0;if(!d){d=26;break}}c=d}if((d|0)==23){h=c;e=c;break}else if((d|0)==26){h=c;break}else if((d|0)==27){h=c;break}}else{h=j;e=j}while(0);c=f[e>>2]|0;if(!c){c=Lk(32)|0;f[c+16>>2]=f[p>>2];b=c+20|0;f[b>>2]=f[l>>2];g=c+24|0;d=f[p+8>>2]|0;f[g>>2]=d;j=f[k>>2]|0;f[c+28>>2]=j;if(!j)f[b>>2]=g;else{f[d+8>>2]=g;f[l>>2]=m;f[m>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[e>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[e>>2]|0}qd(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}sh(p+4|0,f[m>>2]|0);sh(o,f[n>>2]|0);p=c;p=p+20|0;u=q;return p|0}function sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;r=y+12|0;s=y+4|0;p=y+8|0;q=y;x=a+8+(b*12|0)|0;d=f[x>>2]|0;t=a+8+(b*12|0)+4|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c>>2]|0;m=a+4|0;f[s>>2]=(d|0)<0?-1073741824:(d>>>0)/3|0;w=a+56|0;l=a+8+(b*12|0)+8|0;e=d;o=0;do{n=(o|0)==1;if(n){g=(d|0)<0;do if(!g)if(!((d>>>0)%3|0)){e=d+2|0;break}else{e=d+-1|0;break}else e=d;while(0);f[p>>2]=e;f[r>>2]=f[p>>2];if((Rd(a,r)|0)<0)break;e=d+1|0;if(g){v=12;break}e=((e|0)%3|0|0)==0?d+-2|0:e;f[c>>2]=e;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;if((e|0)<0){v=16;break}e=f[(f[(f[m>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;f[c>>2]=e;if((e|0)<0)break;else{g=0;v=18}}else{i=f[s>>2]|0;k=e;j=0}while(1){if((v|0)==18){v=0;i=(e>>>0)/3|0;f[s>>2]=i;k=e;j=g}h=(f[w>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);e=f[h>>2]|0;if(g&e|0){e=k;g=j;break}f[h>>2]=e|g;e=f[t>>2]|0;if((e|0)==(f[l>>2]|0))Ig(x,s);else{f[e>>2]=f[s>>2];f[t>>2]=e+4}g=j+1|0;if((j|0)>0){do if(!(g&1)){d=n?k:d;if((k|0)>=0)if(!((k>>>0)%3|0)){e=k+2|0;break}else{e=k+-1|0;break}else e=k}else{e=k+1|0;if((k|0)<0)e=k;else e=((e|0)%3|0|0)==0?k+-2|0:e}while(0);f[c>>2]=e}else e=k;f[q>>2]=e;f[r>>2]=f[q>>2];e=Rd(a,r)|0;f[c>>2]=e;if((e|0)<0)break;else v=18}if(!((g&1|0)==0|n^1)){n=f[t>>2]|0;j=f[n+-4>>2]|0;k=(f[w>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(j&31));f[t>>2]=n+-4}o=o+1|0}while((o|0)<2);if((v|0)==12){f[c>>2]=d;e=d;v=16}if((v|0)==16)f[c>>2]=e;f[a+44+(b<<2)>>2]=d;e=f[t>>2]|0;d=f[x>>2]|0;h=d;if((e|0)==(d|0)){u=y;return}g=f[w>>2]|0;e=e-d>>2;d=0;do{w=f[h+(d<<2)>>2]|0;x=g+(w>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(w&31));d=d+1|0}while(d>>>0>>0);u=y;return}function tc(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=ak(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((ak(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Bl(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;cm(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=cm(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;B=D+8|0;z=D;A=D+4|0;if(!(jh(a,b)|0)){a=0;u=D;return a|0}C=b+96|0;o=b+100|0;d=f[o>>2]|0;b=f[C>>2]|0;if((d-b|0)<=0){a=1;u=D;return a|0}n=a+56|0;v=a+8|0;r=a+12|0;s=a+20|0;p=a+24|0;t=a+32|0;q=a+36|0;x=a+68|0;y=a+76|0;w=a+72|0;m=0;while(1){if(!(f[(f[n>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31))){i=m*3|0;f[z>>2]=i;f[B>>2]=f[z>>2];sc(a,0,B);l=(f[r>>2]|0)-(f[v>>2]|0)>>2;f[z>>2]=i+1;f[B>>2]=f[z>>2];sc(a,1,B);j=(f[p>>2]|0)-(f[s>>2]|0)>>2;k=j>>>0>l>>>0;f[z>>2]=i+2;f[B>>2]=f[z>>2];sc(a,2,B);l=(f[q>>2]|0)-(f[t>>2]|0)>>2>>>0>(k?j:l)>>>0?2:k?1:((l|0)==0)<<31>>31;if((f[x>>2]|0)>0){d=f[y>>2]|0;f[B>>2]=d;k=f[c>>2]|0;i=k+4|0;e=f[i>>2]|0;j=k+8|0;b=k;if(e>>>0<(f[j>>2]|0)>>>0){f[e>>2]=d;f[i>>2]=e+4}else Ig(k,B);h=f[a+44+(l<<2)>>2]|0;d=f[a>>2]|0;if((h|0)==-1073741824)e=-1073741824;else{g=(h|0)/3|0;if((h|0)<=-3){d=12;break}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){d=14;break}e=f[e+(g*12|0)+(((h|0)%3|0)<<2)>>2]|0}f[B>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else Ig(k,B);h=(f[w>>2]|0)+2|0;f[w>>2]=h;if(h&1){f[B>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else Ig(k,B);f[w>>2]=(f[w>>2]|0)+1}}else b=f[c>>2]|0;f[A>>2]=b;f[B>>2]=f[A>>2];dc(a,l,B);b=f[C>>2]|0;d=f[o>>2]|0}m=m+1|0;if((m|0)>=((d-b|0)/12|0|0)){b=1;d=26;break}}if((d|0)==12)ra(17558,17583,63,17666);else if((d|0)==14)ra(17671,17583,64,17666);else if((d|0)==26){u=D;return b|0}return 0}function vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+176|0;h=t+136|0;s=t+64|0;o=t;j=t+32|0;i=f[(f[c+4>>2]|0)+44>>2]|0;n=Lk(88)|0;f[n+4>>2]=0;f[n>>2]=3200;k=n+12|0;f[k>>2]=3180;m=n+64|0;f[m>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;e=n+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[n+76>>2]=i;f[n+80>>2]=d;f[n+84>>2]=0;l=n;q=s+4|0;f[q>>2]=3180;p=s+56|0;f[p>>2]=0;r=s+60|0;f[r>>2]=0;f[s+64>>2]=0;e=s+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=f[c+8>>2]|0;f[o>>2]=3180;c=o+4|0;g=c+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;g=e;f[c>>2]=g;g=((f[g+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0;b[h>>0]=0;mf(o+8|0,g,h);Sa[f[(f[o>>2]|0)+8>>2]&127](o);ae(j,o);ae(h,j);f[s>>2]=f[h+4>>2];g=s+4|0;xe(g,h)|0;f[h>>2]=3180;c=f[h+20>>2]|0;if(c|0)Co(c);c=f[h+8>>2]|0;if(c|0)Co(c);f[s+36>>2]=e;f[s+40>>2]=d;f[s+44>>2]=i;f[s+48>>2]=n;f[j>>2]=3180;c=f[j+20>>2]|0;if(c|0)Co(c);c=f[j+8>>2]|0;if(c|0)Co(c);f[n+8>>2]=f[s>>2];xe(k,g)|0;c=n+44|0;n=s+36|0;f[c>>2]=f[n>>2];f[c+4>>2]=f[n+4>>2];f[c+8>>2]=f[n+8>>2];f[c+12>>2]=f[n+12>>2];b[c+16>>0]=b[n+16>>0]|0;Ae(m,f[p>>2]|0,f[r>>2]|0);f[a>>2]=l;f[o>>2]=3180;c=f[o+20>>2]|0;if(c|0)Co(c);c=f[o+8>>2]|0;if(c|0)Co(c);c=f[p>>2]|0;if(c|0){e=f[r>>2]|0;if((e|0)!=(c|0))f[r>>2]=e+(~((e+-4-c|0)>>>2)<<2);Co(c)}f[q>>2]=3180;c=f[s+24>>2]|0;if(c|0)Co(c);c=f[s+12>>2]|0;if(!c){u=t;return}Co(c);u=t;return}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Co(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}m=Lk(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)Co(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(!m){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&l;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{i=g;e=d;h=g}a:while(1){b:do if(m){k=i;while(1){d=e;while(1){j=f[d+4>>2]&l;if((j|0)==(c|0))break;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+8|0;g=d;while(1){e=f[g>>2]|0;if(!e)break;if((f[i>>2]|0)==(f[e+8>>2]|0))g=e;else break}f[h>>2]=e;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;h=d}}}else{k=i;j=h;while(1){d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){h=j;c=e;break b}i=d+8|0;h=d;while(1){g=f[h>>2]|0;if(!g)break;if((f[i>>2]|0)==(f[g+8>>2]|0))h=g;else break}f[j>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;j=d}}}while(0);f[g>>2]=h;e=f[d>>2]|0;if(!e){c=37;break}else{i=d;h=d}}if((c|0)==37)return}function xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+148|0;i=f[b>>2]|0;j=(i|0)<0;l=i+1|0;do if(!j){b=((l|0)%3|0|0)==0?i+-2|0:l;if(!((i>>>0)%3|0)){d=b;g=i+2|0;break}else{d=b;g=i+-1|0;break}}else{d=i;g=i}while(0);h=a+184|0;b=f[h>>2]|0;switch(b|0){case 1:case 0:{if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(j)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(i<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((d|0)<0)b=-1073741824;else b=f[(f[f[k>>2]>>2]|0)+(d<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[k>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){b=c+(b<<2)|0;f[b>>2]=(f[b>>2]|0)+d;b=f[h>>2]|0}switch(b|0){case 5:case 0:break;default:{f[a+188>>2]=-1;return}}b=f[k>>2]|0;if(!j?(m=((l|0)%3|0|0)==0?i+-2|0:l,(m|0)>=0):0)b=f[(f[b>>2]|0)+(m<<2)>>2]|0;else b=-1073741824;f[a+188>>2]=(f[(f[a+156>>2]|0)+(b<<2)>>2]|0)<6?5:0;return}function yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;w=u;u=u+32|0;e=w+24|0;r=w+20|0;v=w+8|0;t=w+4|0;o=w;f[e>>2]=0;yh(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){d=0;while(1){d=d+1|0;if(!(Oc(a,c)|0)){d=0;break}if(d>>>0>=(f[e>>2]|0)>>>0)break a}u=w;return d|0}while(0);f[r>>2]=0;yh(r,f[a>>2]|0)|0;b:do if(!(f[r>>2]|0))d=1;else{i=v+11|0;j=0;while(1){f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=f[a>>2]|0;x=g+8|0;y=f[x+4>>2]|0;h=g+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if((y|0)>(e|0)|((y|0)==(e|0)?(f[x>>2]|0)>>>0>d>>>0:0)?(m=b[(f[g>>2]|0)+d>>0]|0,k=Bl(d|0,e|0,1,0)|0,q=h,f[q>>2]=k,f[q+4>>2]=I,q=m&255,Bh(v,q,0),k=f[a>>2]|0,p=xj(v,0)|0,g=k+8|0,x=f[g>>2]|0,g=f[g+4>>2]|0,s=k+16|0,y=s,l=f[y>>2]|0,m=m&255,y=Bl(l|0,f[y+4>>2]|0,m|0,0)|0,h=I,!((g|0)<(h|0)|(g|0)==(h|0)&x>>>0>>0)):0){cf(p|0,(f[k>>2]|0)+l|0,q|0)|0;x=s;x=Bl(f[x>>2]|0,f[x+4>>2]|0,m|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I;y=Lk(40)|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;n[y+16>>2]=$(1.0);x=y+20|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;n[y+36>>2]=$(1.0);f[t>>2]=y;if(yc(a,y)|0){d=f[t>>2]|0;f[t>>2]=0;f[o>>2]=d;He(c,v,o)|0;Cg(o);d=0}else d=1;Cg(t)}else d=1;if((b[i>>0]|0)<0)Co(f[v>>2]|0);j=j+1|0;if(d|0){d=0;break b}if(j>>>0>=(f[r>>2]|0)>>>0){d=1;break}}}while(0);y=d;u=w;return y|0}function zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+148|0;c=f[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)){h=b;g=c+2|0;break}else{h=b;g=c+-1|0;break}}else{h=c;g=c}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){g=c+(b<<2)|0;f[g>>2]=(f[g>>2]|0)+d}if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;b=f[(f[a+156>>2]|0)+(b<<2)>>2]|0;c=f[a+176>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+172|0;f[a>>2]=i;return}i=f[a+180>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+172|0;f[a>>2]=i;return}function Ac(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=xf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Bc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Af(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Cc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Bf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Dc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Cf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Ec(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Df(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Fc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Ff(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Gc(a,c){a=a|0;c=c|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=d[c+38>>1]|0;if(!(e<<16>>16)){a=0;return a|0}t=a+12|0;do if((e&65535)<512){o=c+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=c+16|0;r=g;e=f[r>>2]|0;r=Bl(e|0,f[r+4>>2]|0,4,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0){a=0;return a|0}else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[t>>0]=e;b[t+1>>0]=e>>8;b[t+2>>0]=e>>16;b[t+3>>0]=e>>24;q=g;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=g;f[r>>2]=q;f[r+4>>2]=I;break}}else if(yh(t,c)|0){e=f[t>>2]|0;break}else{a=0;return a|0}while(0);j=a+4|0;i=f[j>>2]|0;g=f[a>>2]|0;k=i-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(l=g+(e<<2)|0,(i|0)!=(l|0)):0)f[j>>2]=i+(~((i+-4-l|0)>>>2)<<2)}else{sg(a,e-k|0);e=f[t>>2]|0}if(!e){a=1;return a|0}q=c+8|0;r=c+16|0;p=0;a:while(1){n=q;m=f[n>>2]|0;n=f[n+4>>2]|0;i=r;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((n|0)>(i|0)|(n|0)==(i|0)&m>>>0>g>>>0)){e=0;s=23;break}o=f[c>>2]|0;j=b[o+g>>0]|0;i=Bl(g|0,i|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;k=j&255;l=k&3;k=k>>>2;switch(j&3){case 3:{g=k+p|0;if(g>>>0>=e>>>0){e=0;s=23;break a}dh((f[a>>2]|0)+(p<<2)|0,0,(k<<2)+4|0)|0;e=g;break}case 0:{e=k;s=20;break}default:{j=0;e=k;while(1){if(!((n|0)>(g|0)|(n|0)==(g|0)&m>>>0>i>>>0)){e=0;s=23;break a}s=b[o+i>>0]|0;i=Bl(i|0,g|0,1,0)|0;g=I;k=r;f[k>>2]=i;f[k+4>>2]=g;e=(s&255)<<(j<<3|6)|e;j=j+1|0;if((j|0)>=(l|0)){s=20;break}}}}if((s|0)==20){s=0;f[(f[a>>2]|0)+(p<<2)>>2]=e;e=p}p=e+1|0;e=f[t>>2]|0;if(p>>>0>=e>>>0){s=22;break}}if((s|0)==22){a=Gf(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((s|0)==23)return e|0;return 0}function Hc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;w=x+4|0;v=x;f[a+72>>2]=e;f[a+64>>2]=g;s=zo(e>>>0>1073741823?-1:e<<2)|0;t=a+68|0;d=f[t>>2]|0;f[t>>2]=s;if(d|0)Ao(d);s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);n=a+56|0;d=f[n>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;q=g-h|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((g|0)==(h|0)){k=d;Tn(k)}else{l=h;y=0}while(1){f[v>>2]=f[l+(y<<2)>>2];f[w>>2]=f[v>>2];Zb(a,w,c,y);l=X(y,e)|0;h=f[t>>2]|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[h+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=l+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=22}}else{d=d-(f[o>>2]|0)|0;z=22}if((z|0)==22){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=10;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=11;break}}if((z|0)==10){u=x;return 1}else if((z|0)==11)Tn(d);return 0}function Ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;w=x+4|0;v=x;f[a+72>>2]=e;f[a+64>>2]=g;s=zo(e>>>0>1073741823?-1:e<<2)|0;t=a+68|0;d=f[t>>2]|0;f[t>>2]=s;if(d|0)Ao(d);s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);n=a+56|0;d=f[n>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;q=g-h|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((g|0)==(h|0)){k=d;Tn(k)}else{l=h;y=0}while(1){f[v>>2]=f[l+(y<<2)>>2];f[w>>2]=f[v>>2];Yb(a,w,c,y);l=X(y,e)|0;h=f[t>>2]|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[h+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){h=0;do{d=(f[k+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=l+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=22}}else{d=d-(f[o>>2]|0)|0;z=22}if((z|0)==22){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=10;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=11;break}}if((z|0)==10){u=x;return 1}else if((z|0)==11)Tn(d);return 0}function Jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=a+8|0;f[t>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2);g=e}else g=e;else{sg(j,e-k|0);g=f[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=zo(r)|0;dh(s|0,0,r|0)|0;if((g|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{g=f[s+(j<<2)>>2]|0;h=f[l>>2]|0;if((g|0)>(h|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=h}else{r=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(g|0)<(r|0)?r:g}j=j+1|0;g=f[t>>2]|0}while((j|0)<(g|0));if((g|0)>0){j=a+20|0;i=0;do{g=(f[b+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=c+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[m>>2]|0)){g=(f[j>>2]|0)+g|0;u=18}}else{g=g-(f[j>>2]|0)|0;u=18}if((u|0)==18){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}if((e|0)>=(d|0)){Ao(s);return 1}p=0-e|0;q=a+16|0;o=a+32|0;r=a+12|0;n=a+20|0;a=e;do{l=c+(a<<2)|0;j=l+(p<<2)|0;m=b+(a<<2)|0;if((g|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[q>>2]|0;if((g|0)>(h|0)){k=f[o>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[r>>2]|0;k=f[o>>2]|0;f[k+(i<<2)>>2]=(g|0)<(h|0)?h:g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0));if((g|0)>0){i=0;do{g=(f[m+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[q>>2]|0)){if((g|0)<(f[r>>2]|0)){g=(f[n>>2]|0)+g|0;u=33}}else{g=g-(f[n>>2]|0)|0;u=33}if((u|0)==33){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}a=a+e|0}while((a|0)<(d|0));Ao(s);return 1}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=c+8|0;j=f[i+4>>2]|0;h=c+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){j=0;return j|0}j=b[(f[c>>2]|0)+g>>0]|0;g=Bl(g|0,e|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do switch(j<<24>>24){case 1:{j=Zd(a,c,d)|0;return j|0}case 2:{j=Zd(a,c,d)|0;return j|0}case 3:{j=Zd(a,c,d)|0;return j|0}case 4:{j=Zd(a,c,d)|0;return j|0}case 5:{j=Zd(a,c,d)|0;return j|0}case 6:{j=Zd(a,c,d)|0;return j|0}case 7:{j=Zd(a,c,d)|0;return j|0}case 8:{j=Zd(a,c,d)|0;return j|0}case 9:{j=Yd(a,c,d)|0;return j|0}case 10:{j=Xd(a,c,d)|0;return j|0}case 11:{j=Wd(a,c,d)|0;return j|0}case 12:{j=Vd(a,c,d)|0;return j|0}case 13:{j=Ud(a,c,d)|0;return j|0}case 14:{j=Td(a,c,d)|0;return j|0}case 15:{j=Td(a,c,d)|0;return j|0}case 16:{j=Td(a,c,d)|0;return j|0}case 17:{j=Td(a,c,d)|0;return j|0}case 18:{j=Td(a,c,d)|0;return j|0}default:{j=0;return j|0}}while(0);return 0}function Lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);n=a+56|0;h=f[n>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;q=d-g|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((d|0)==(g|0)){k=h;Tn(k)}else{l=g;y=0}while(1){f[t>>2]=f[l+(y<<2)>>2];f[v>>2]=f[t>>2];Db(w,v,c,y);k=X(y,e)|0;j=b+(k<<2)|0;k=c+(k<<2)|0;if((f[s>>2]|0)>0){h=0;do{d=f[a+68+(h<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){i=f[m>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[q>>2]|0;i=f[m>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[s>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=20}}else{d=d-(f[o>>2]|0)|0;z=20}if((z|0)==20){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=8;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=9;break}}if((z|0)==8){u=x;return 1}else if((z|0)==9)Tn(d);return 0}function Mc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;e=f[k>>2]|0;switch(f[e+28>>2]|0){case 2:{d=b[e+24>>0]|0;j=d<<24>>24;i=zo((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;a:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{cf(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break a}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Ao(i);c=1;return c|0}case 1:{d=b[e+24>>0]|0;j=d<<24>>24;i=zo((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;b:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{cf(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break b}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Ao(i);c=1;return c|0}case 4:{_f(a,c);c=1;return c|0}case 3:{_f(a,c);c=1;return c|0}case 6:{$f(a,c);c=1;return c|0}case 5:{$f(a,c);c=1;return c|0}default:{c=0;return c|0}}return 0}function Nc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);n=a+56|0;h=f[n>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;q=d-g|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((d|0)==(g|0)){k=h;Tn(k)}else{l=g;y=0}while(1){f[t>>2]=f[l+(y<<2)>>2];f[v>>2]=f[t>>2];Cb(w,v,c,y);k=X(y,e)|0;j=b+(k<<2)|0;k=c+(k<<2)|0;if((f[s>>2]|0)>0){h=0;do{d=f[a+68+(h<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){i=f[m>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[q>>2]|0;i=f[m>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[s>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=20}}else{d=d-(f[o>>2]|0)|0;z=20}if((z|0)==20){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=8;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=9;break}}if((z|0)==8){u=x;return 1}else if((z|0)==9)Tn(d);return 0}function Oc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+32|0;q=r+16|0;o=r+12|0;p=r;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;d=f[a>>2]|0;s=d+8|0;t=f[s+4>>2]|0;n=d+16|0;e=n;j=f[e>>2]|0;e=f[e+4>>2]|0;if((t|0)>(e|0)|((t|0)==(e|0)?(f[s>>2]|0)>>>0>j>>>0:0)?(i=b[(f[d>>2]|0)+j>>0]|0,g=Bl(j|0,e|0,1,0)|0,l=n,f[l>>2]=g,f[l+4>>2]=I,l=i&255,Bh(q,l,0),g=f[a>>2]|0,k=xj(q,0)|0,j=g+8|0,s=f[j>>2]|0,j=f[j+4>>2]|0,m=g+16|0,t=m,h=f[t>>2]|0,i=i&255,t=Bl(h|0,f[t+4>>2]|0,i|0,0)|0,n=I,!((j|0)<(n|0)|(j|0)==(n|0)&s>>>0>>0)):0){cf(k|0,(f[g>>2]|0)+h|0,l|0)|0;d=m;d=Bl(f[d>>2]|0,f[d+4>>2]|0,i|0,0)|0;t=m;f[t>>2]=d;f[t+4>>2]=I;f[o>>2]=0;t=(yh(o,f[a>>2]|0)|0)^1;d=f[o>>2]|0;if((d|0)==0|t)d=0;else{f[p>>2]=0;i=p+4|0;f[i>>2]=0;f[p+8>>2]=0;if((d|0)<0)Tn(p);e=Lk(d)|0;f[i>>2]=e;f[p>>2]=e;f[p+8>>2]=e+d;do{b[e>>0]=0;e=(f[i>>2]|0)+1|0;f[i>>2]=e;d=d+-1|0}while((d|0)!=0);h=f[o>>2]|0;d=f[a>>2]|0;o=d+8|0;s=f[o>>2]|0;o=f[o+4>>2]|0;g=d+16|0;t=g;e=f[t>>2]|0;t=Bl(e|0,f[t+4>>2]|0,h|0,0)|0;a=I;if((o|0)<(a|0)|(o|0)==(a|0)&s>>>0>>0)d=0;else{cf(f[p>>2]|0,(f[d>>2]|0)+e|0,h|0)|0;t=g;t=Bl(f[t>>2]|0,f[t+4>>2]|0,h|0,0)|0;d=g;f[d>>2]=t;f[d+4>>2]=I;ik(c,q,p);d=1}e=f[p>>2]|0;if(e|0){if((f[i>>2]|0)!=(e|0))f[i>>2]=e;Co(e)}}}else d=0;if((b[q+11>>0]|0)>=0){u=r;return d|0}Co(f[q>>2]|0);u=r;return d|0}function Pc(a,b){a=a|0;b=b|0;var c=0,d=La,e=La,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=La;m=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(!c)if(m>>>0>>0)h=m;else h=(m>>>0)%(i>>>0)|0;else h=g&m;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(!b)b=h;else{if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}l=f[b+4>>2]|0;if(!((l|0)==(m|0)|(l&g|0)==(h|0))){b=h;break a}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}do{b=f[b>>2]|0;if(!b){b=h;break a}c=f[b+4>>2]|0;if((c|0)!=(m|0)){if(c>>>0>=i>>>0)c=(c>>>0)%(i>>>0)|0;if((c|0)!=(h|0)){b=h;break a}}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}}else b=0;while(0);l=Lk(16)|0;f[l+8>>2]=m;f[l+12>>2]=0;f[l+4>>2]=m;f[l>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;eg(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&m;break}if(m>>>0>>0){g=b;b=m}else{g=b;b=(m>>>0)%(b>>>0)|0}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[l>>2]=f[b>>2];f[b>>2]=l;f[c>>2]=b;b=f[l>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(c&g){if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0}else b=b&c;b=(f[a>>2]|0)+(b<<2)|0;o=30}}else{f[l>>2]=f[b>>2];o=30}if((o|0)==30)f[b>>2]=l;f[h>>2]=(f[h>>2]|0)+1;a=l;a=a+12|0;return a|0}function Qc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3056;d=a+360|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d)}Ho(a+344|0);Ho(a+304|0);Ho(a+288|0);Ho(a+248|0);wg(a+212|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+144>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;uh(b);Co(b);return}function Rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+32|0;i=s+16|0;r=s;f[i>>2]=0;do if((j[b+38>>1]|0)<514){k=b+8|0;l=f[k>>2]|0;k=f[k+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=Bl(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&l>>>0>>0){r=0;u=s;return r|0}else{l=(f[b>>2]|0)+e|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[i>>2]=l;k=g;f[k>>2]=c;f[k+4>>2]=d;c=l;break}}else if(yh(i,b)|0){c=f[i>>2]|0;break}else{r=0;u=s;return r|0}while(0);e=a+76|0;md(e,c,0);$n(r);if(nd(r,b)|0){if(f[i>>2]|0){c=0;d=1;do{d=d^((Bi(r)|0)^1);l=(f[e>>2]|0)+(c>>>5<<2)|0;k=1<<(c&31);g=f[l>>2]|0;f[l>>2]=d?g|k:g&~k;c=c+1|0}while(c>>>0<(f[i>>2]|0)>>>0)}d=b+8|0;c=f[d>>2]|0;d=f[d+4>>2]|0;l=b+16|0;g=l;e=f[g>>2]|0;g=f[g+4>>2]|0;i=Bl(e|0,g|0,4,0)|0;k=I;if((!((d|0)<(k|0)|(d|0)==(k|0)&c>>>0>>0)?(m=f[b>>2]|0,n=m+e|0,n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24,o=l,f[o>>2]=i,f[o+4>>2]=k,o=Bl(e|0,g|0,8,0)|0,p=I,!((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0)):0)?(q=m+i|0,q=h[q>>0]|h[q+1>>0]<<8|h[q+2>>0]<<16|h[q+3>>0]<<24,b=l,f[b>>2]=o,f[b+4>>2]=p,(n|0)<=(q|0)):0){f[a+12>>2]=n;f[a+16>>2]=q;b=q+(1-n)|0;f[a+20>>2]=b;c=(b|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(b&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Ho(r);r=c;u=s;return r|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if((e|0)<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if((h|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function Tc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;q=t;o=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((o|0)<=0){a=1;s=1;s=a|s;u=t;return s|0}k=a+36|0;p=a+48|0;l=q+8|0;m=q+4|0;n=q+11|0;c=0;while(1){j=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[j>>2]|0){j=f[(f[(f[k>>2]|0)+(c<<2)>>2]|0)+8>>2]|0;i=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;i=f[i>>2]|0;j=f[j+56>>2]|0;d=Lk(32)|0;f[q>>2]=d;f[l>>2]=-2147483616;f[m>>2]=24;e=d;g=14811;h=e+24|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+24>>0]=0;h=i+16|0;e=f[h>>2]|0;if(e){d=h;g=e;a:while(1){e=g;while(1){if((f[e+16>>2]|0)>=(j|0))break;e=f[e+4>>2]|0;if(!e)break a}g=f[e>>2]|0;if(!g){d=e;break}else d=e}if(((d|0)!=(h|0)?(j|0)>=(f[d+16>>2]|0):0)?(r=d+20|0,(Sf(r,q)|0)!=0):0)d=Th(r,q,0)|0;else s=13}else s=13;if((s|0)==13){s=0;d=Th(i,q,0)|0}if((b[n>>0]|0)<0)Co(f[q>>2]|0);if(d){s=17;break}}j=f[(f[k>>2]|0)+(c<<2)>>2]|0;if(!(Oa[f[(f[j>>2]|0)+24>>2]&127](j,p)|0)){c=0;d=0;s=20;break}c=c+1|0;if((c|0)>=(o|0)){c=1;d=1;s=20;break}}if((s|0)==17){a=f[(f[k>>2]|0)+(c<<2)>>2]|0;s=f[a+8>>2]|0;Hd(s,kf(a)|0);a=0;s=1;s=a|s;u=t;return s|0}else if((s|0)==20){s=c|d;u=t;return s|0}return 0}function Uc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];mb(a,r,n);r=1;u=p;return r|0}function Vc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];pb(a,r,n);r=1;u=p;return r|0}function Wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+4|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];nb(a,r,n);r=1;u=p;return r|0}function Xc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)ra(17381,17397,59,17494);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))ra(17504,17397,60,17494);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=Lk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2560;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2616;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=Lk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2476;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2532;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function Yc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a+32|0;c=f[h>>2]|0;o=c+8|0;n=f[o+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(f[o>>2]|0)>>>0>e>>>0:0))){a=0;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;m=Bl(e|0,d|0,1,0)|0;o=g;f[o>>2]=m;f[o+4>>2]=I;o=n&255;g=n<<24>>24==0;a:do if(!g){c=0;while(1){if(!(Oa[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){c=0;break}c=c+1|0;if((c|0)>=(o|0))break a}return c|0}while(0);n=a+8|0;c=f[n>>2]|0;d=f[a+12>>2]|0;b:do if((c|0)!=(d|0)){e=a+4|0;while(1){m=f[c>>2]|0;c=c+4|0;if(!(Pa[f[(f[m>>2]|0)+8>>2]&31](m,a,f[e>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}return c|0}while(0);if(!g){c=0;do{m=f[(f[n>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Oa[f[(f[m>>2]|0)+12>>2]&127](m,f[h>>2]|0)|0)){c=0;i=26;break}}while((c|0)<(o|0));if((i|0)==26)return c|0;if(!g){i=a+20|0;h=a+24|0;l=0;do{j=f[(f[n>>2]|0)+(l<<2)>>2]|0;j=Na[f[(f[j>>2]|0)+24>>2]&127](j)|0;if((j|0)>0){m=0;do{k=f[(f[n>>2]|0)+(l<<2)>>2]|0;k=Oa[f[(f[k>>2]|0)+20>>2]&127](k,m)|0;d=f[h>>2]|0;c=f[i>>2]|0;g=d-c>>2;do if(k>>>0>=g>>>0){e=k+1|0;if(e>>>0>g>>>0){sg(i,e-g|0);c=f[i>>2]|0;break}if(e>>>0>>0?(p=c+(e<<2)|0,(d|0)!=(p|0)):0)f[h>>2]=d+(~((d+-4-p|0)>>>2)<<2)}while(0);f[c+(k<<2)>>2]=l;m=m+1|0}while((m|0)!=(j|0))}l=l+1|0}while((l|0)!=(o|0))}}if(!(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+32>>2]&127](a)|0;return a|0}function Zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+4194304|0;f[a+48>>2]=p;a=p>>>0<1073741824;u=q;return a|0}function _c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+2097152|0;f[a+48>>2]=p;a=p>>>0<536870912;u=q;return a|0}function $c(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+1048576|0;f[a+48>>2]=p;a=p>>>0<268435456;u=q;return a|0}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+262144|0;f[a+48>>2]=p;a=p>>>0<67108864;u=q;return a|0}function bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+131072|0;f[a+48>>2]=p;a=p>>>0<33554432;u=q;return a|0}function cd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+32768|0;f[a+48>>2]=p;a=p>>>0<8388608;u=q;return a|0}function dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;g=q;do if((j[c+38>>1]|0)<512){i=c+8|0;d=f[i>>2]|0;i=f[i+4>>2]|0;o=c+16|0;k=o;e=f[k>>2]|0;k=Bl(e|0,f[k+4>>2]|0,8,0)|0;l=I;if((i|0)<(l|0)|(i|0)==(l|0)&d>>>0>>0){a=0;u=q;return a|0}else{m=(f[c>>2]|0)+e|0;n=m;n=h[n>>0]|h[n+1>>0]<<8|h[n+2>>0]<<16|h[n+3>>0]<<24;m=m+4|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;e=g;f[e>>2]=n;f[e+4>>2]=m;e=o;f[e>>2]=k;f[e+4>>2]=l;e=o;break}}else if(Wg(g,c)|0){n=g;i=c+8|0;e=c+16|0;l=e;d=f[i>>2]|0;i=f[i+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=f[n+4>>2]|0;n=f[n>>2]|0;break}else{a=0;u=q;return a|0}while(0);o=cm(d|0,i|0,k|0,l|0)|0;i=I;if(m>>>0>i>>>0|(m|0)==(i|0)&n>>>0>o>>>0){a=0;u=q;return a|0}g=(f[c>>2]|0)+k|0;o=Bl(k|0,l|0,n|0,m|0)|0;c=e;f[c>>2]=o;f[c+4>>2]=I;if((n|0)<1){a=0;u=q;return a|0}f[a+40>>2]=g;e=n+-1|0;d=g+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;p=b[d>>0]&63;break}case 1:if((n|0)<2){a=0;u=q;return a|0}else{f[a+44>>2]=n+-2;p=g+n+-2|0;p=(h[p+1>>0]|0)<<8&16128|(h[p>>0]|0);break a}case 2:if((n|0)<3){a=0;u=q;return a|0}else{f[a+44>>2]=n+-3;p=g+n+-3|0;p=(h[p+1>>0]|0)<<8|(h[p>>0]|0)|(h[p+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=n+-4;p=g+n+-4|0;p=(h[p+2>>0]|0)<<16|(h[p+3>>0]|0)<<24&1056964608|(h[p+1>>0]|0)<<8|(h[p>>0]|0);break}default:{}}while(0);p=p+16384|0;f[a+48>>2]=p;a=p>>>0<4194304;u=q;return a|0}function ed(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)ra(17381,17397,59,17494);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))ra(17504,17397,60,17494);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=Lk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2784;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2840;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=Lk(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2700;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2756;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$n(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];kb(a,r,n);r=1;u=p;return r|0}function gd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];ob(a,r,n);r=1;u=p;return r|0}function hd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=u;u=u+16|0;n=p+8|0;m=p;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;q=Bl(g|0,j|0,4,0)|0;r=I;if((k|0)<(r|0)|(k|0)==(r|0)&e>>>0>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;r=Bl(g|0,j|0,4,0)|0;q=I;if((i|0)<(q|0)|(i|0)==(q|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;q=l;q=Bl(f[q>>2]|0,f[q+4>>2]|0,4,0)|0;r=l;f[r>>2]=q;f[r+4>>2]=I}if(!e){r=1;u=p;return r|0}else e=0;do{if(!(nd(a+12+(e<<4)|0,c)|0)){e=0;o=14;break}e=e+1|0}while((e|0)<32);if((o|0)==14){u=p;return e|0}if(!(nd(a+524|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+540|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+560|0,c)|0)){r=0;u=p;return r|0}if(!(ne(a+580|0,c)|0)){r=0;u=p;return r|0}r=f[k>>2]|0;o=f[d+4>>2]|0;q=m;f[q>>2]=f[d>>2];f[q+4>>2]=o;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];lb(a,r,n);r=1;u=p;return r|0}function id(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((e|0)>31);h=h&31}if((h|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;k=o+16|0;i=o;if((j[c+38>>1]|0)<514){n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((m|0)>(d|0)|((m|0)==(d|0)?(f[n>>2]|0)>>>0>e>>>0:0))){a=0;u=o;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;l=Bl(e|0,d|0,1,0)|0;m=g;f[m>>2]=l;f[m+4>>2]=I;if(n<<24>>24){a=0;u=o;return a|0}}g=0;do{yh(k,c)|0;d=f[k>>2]|0;if(d|0){e=a+60+(g*12|0)|0;md(e,d,0);$n(i);nd(i,c)|0;if(f[k>>2]|0){d=0;do{p=Bi(i)|0;n=(f[e>>2]|0)+(d>>>5<<2)|0;m=1<<(d&31);l=f[n>>2]|0;f[n>>2]=p?l|m:l&~m;d=d+1|0}while(d>>>0<(f[k>>2]|0)>>>0)}Ho(i)}g=g+1|0}while((g|0)<4);l=c+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;n=c+16|0;e=n;d=f[e>>2]|0;e=f[e+4>>2]|0;m=Bl(d|0,e|0,4,0)|0;g=I;if((l|0)<(g|0)|(l|0)==(g|0)&k>>>0>>0){p=0;u=o;return p|0}i=f[c>>2]|0;c=i+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;p=n;f[p>>2]=m;f[p+4>>2]=g;e=Bl(d|0,e|0,8,0)|0;g=I;if((l|0)<(g|0)|(l|0)==(g|0)&k>>>0>>0){p=0;u=o;return p|0}d=i+m|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;p=n;f[p>>2]=e;f[p+4>>2]=g;if((c|0)>(d|0)){p=0;u=o;return p|0}f[a+12>>2]=c;f[a+16>>2]=d;p=d+(1-c)|0;f[a+20>>2]=p;d=(p|0)/2|0;e=a+24|0;f[e>>2]=d;f[a+28>>2]=0-d;if(p&1|0){p=1;u=o;return p|0}f[e>>2]=d+-1;p=1;u=o;return p|0}function kd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+12|0;n=f[l>>2]|0;i=(f[c>>2]|0)-n|0;j=c+4|0;g=(f[j>>2]|0)-n|0;e=c;f[e>>2]=i;f[e+4>>2]=g;e=f[l>>2]|0;if((e|0)<(i|0))ra(9931,9220,250,9954);if((e|0)<(g|0))ra(9966,9220,251,9954);h=0-e|0;if((i|0)<(h|0))ra(9989,9220,252,9954);if((g|0)<(h|0))ra(10013,9220,253,9954);m=(((g|0)>-1?g:0-g|0)+((i|0)>-1?i:0-i|0)|0)<=(e|0);if(!m){Uf(b,c,j);i=f[c>>2]|0}if(!i){e=f[j>>2]|0;g=e;e=(e|0)==0}else{e=f[j>>2]|0;g=e;e=(i|0)<0&(e|0)<1}if(!i)k=(g|0)==0?0:(g|0)>0?3:1;else k=(i|0)>0?(g>>31)+2|0:(g|0)<1?0:3;if(e){e=i;i=1}else{switch(k|0){case 1:{e=g;g=0-i|0;break}case 2:{e=0-i|0;g=0-g|0;break}case 3:{e=0-g|0;g=i;break}default:e=i}i=c;f[i>>2]=e;f[i+4>>2]=g;i=0}e=(f[d>>2]|0)+e|0;f[a>>2]=e;g=(f[d+4>>2]|0)+g|0;j=a+4|0;f[j>>2]=g;h=f[l>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[a>>2]=e;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[b+4>>2]|0)+g|0}else g=g-(f[b+4>>2]|0)|0;f[j>>2]=g;if(!i){switch((4-k|0)%4|0|0){case 1:{h=g;e=0-e|0;break}case 2:{h=0-e|0;e=0-g|0;break}case 3:{h=0-g|0;break}default:{h=e;e=g}}g=a;f[g>>2]=h;f[g+4>>2]=e;g=e;e=h}if(m){m=e;b=g;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}Uf(b,a,j);m=f[a>>2]|0;b=f[j>>2]|0;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}function ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;w=u;u=u+48|0;s=w+40|0;t=w+24|0;p=w+20|0;q=w+16|0;n=w;r=w+8|0;f[t>>2]=0;v=t+4|0;f[v>>2]=0;f[t+8>>2]=0;l=c+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;o=c+16|0;e=o;m=f[e>>2]|0;e=f[e+4>>2]|0;g=Bl(m|0,e|0,4,0)|0;i=I;a:do if((l|0)<(i|0)|(l|0)==(i|0)&k>>>0>>0)i=0;else{j=f[c>>2]|0;x=j+m|0;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=o;f[y>>2]=g;f[y+4>>2]=i;b:do switch(x|0){case 3:{if(!((l|0)>(i|0)|(l|0)==(i|0)&k>>>0>g>>>0)){i=0;break a}y=b[j+g>>0]|0;m=Bl(m|0,e|0,5,0)|0;x=o;f[x>>2]=m;f[x+4>>2]=I;f[a+8>>2]=y<<24>>24;if(y<<24>>24==1)if(Sb(a,c,t)|0)break b;else{i=0;break a}else{pj(5160,23,1,f[906]|0)|0;i=0;break a}}case 2:{if(!(Sb(a,c,t)|0)){i=0;break a}break}default:{pj(5184,24,1,f[906]|0)|0;i=0;break a}}while(0);f[p>>2]=f[t>>2];f[q>>2]=f[v>>2];x=d;y=f[x+4>>2]|0;i=n;f[i>>2]=f[x>>2];f[i+4>>2]=y;f[s>>2]=f[n>>2];f[s+4>>2]=f[n+4>>2];Gd(r,p,q,a,s);i=1}while(0);e=f[t>>2]|0;if(!e){u=w;return i|0}g=f[v>>2]|0;if((g|0)!=(e|0))f[v>>2]=g+(~(((g+-12-e|0)>>>0)/12|0)*12|0);Co(e);u=w;return i|0}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;h=e<<5;d=b-g|0;if(h>>>0>>0|g>>>0>(h-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0)Tn(a);e=e<<6;b=b+31&-32;jg(o,h>>>0<1073741823?(e>>>0>>0?b:e):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;Uj(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)Co(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;dh(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;dh(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;m=q;e=c+8|0;l=e;i=f[l+4>>2]|0;p=c+16|0;k=p;d=f[k>>2]|0;k=f[k+4>>2]|0;if(!((i|0)>(k|0)|((i|0)==(k|0)?(f[l>>2]|0)>>>0>d>>>0:0))){a=0;u=q;return a|0}b[a+12>>0]=b[(f[c>>2]|0)+d>>0]|0;g=p;d=f[g>>2]|0;g=f[g+4>>2]|0;i=Bl(d|0,g|0,1,0)|0;l=p;f[l>>2]=i;f[l+4>>2]=I;if((j[c+38>>1]|0)<514){k=e;e=f[k>>2]|0;k=f[k+4>>2]|0;d=Bl(d|0,g|0,5,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&e>>>0>>0)d=0;else{i=(f[c>>2]|0)+i|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;f[m>>2]=i;g=p;f[g>>2]=d;f[g+4>>2]=l;g=k;k=d;n=7}}else if(yh(m,c)|0){g=e;l=p;e=f[g>>2]|0;g=f[g+4>>2]|0;k=f[l>>2]|0;l=f[l+4>>2]|0;i=f[m>>2]|0;n=7}else d=0;a:do if((n|0)==7){n=cm(e|0,g|0,k|0,l|0)|0;m=I;if(!(0>(m|0)|0==(m|0)&i>>>0>n>>>0)?(o=(f[c>>2]|0)+k|0,(i|0)>=1):0){f[a>>2]=o;e=i+-1|0;d=o+e|0;switch((h[d>>0]|0)>>>6&3){case 0:{f[a+4>>2]=e;d=b[d>>0]&63;break}case 1:{if((i|0)<2){d=0;break a}f[a+4>>2]=i+-2;d=o+i+-2|0;d=(h[d+1>>0]|0)<<8&16128|(h[d>>0]|0);break}case 2:{if((i|0)<3){d=0;break a}f[a+4>>2]=i+-3;d=o+i+-3|0;d=(h[d+1>>0]|0)<<8|(h[d>>0]|0)|(h[d+2>>0]|0)<<16&4128768;break}default:{d=0;break a}}o=d+4096|0;f[a+8>>2]=o;if(o>>>0<=1048575){a=Bl(k|0,l|0,i|0,0)|0;d=p;f[d>>2]=a;f[d+4>>2]=I;d=1}else d=0}else d=0}while(0);a=d;u=q;return a|0}function od(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3224;Mh(a+224|0);wg(a+212|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+144>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;uh(b);Co(b);return}function pd(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3272;df(a+224|0);wg(a+212|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+144>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Co(d)}while((b|0)!=0);d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Co(b);b=f[a+120>>2]|0;if(b|0)Co(b);b=f[a+108>>2]|0;if(b|0)Co(b);b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+60>>2]|0;if(b|0)Co(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;uh(b);Co(b);return}function qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){d=23;break}i=h+8|0;e=f[i>>2]|0;d=f[e>>2]|0;if((d|0)==(h|0)){d=f[e+4>>2]|0;if(!d){d=7;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=7;break}}else{if(!d){d=16;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=16;break}}b[g>>0]=1;i=(e|0)==(a|0);b[e+12>>0]=i&1;b[c>>0]=1;if(i){d=23;break}else c=e}if((d|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;d=f[a>>2]|0;c=f[d>>2]|0;f[a>>2]=c;if(!c)c=e;else{f[c+8>>2]=h;c=f[i>>2]|0}f[d+8>>2]=c;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=d;f[d>>2]=h;f[i>>2]=d;c=d;e=f[d+8>>2]|0}b[c+12>>0]=1;b[e+12>>0]=0;c=f[e>>2]|0;g=c+4|0;d=f[g>>2]|0;f[e>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[g>>2]=e;f[i>>2]=c;return}else if((d|0)==16){if((f[h>>2]|0)==(c|0)){g=f[h>>2]|0;d=g+4|0;c=f[d>>2]|0;f[h>>2]=c;if(c){f[c+8>>2]=h;e=f[i>>2]|0}f[g+8>>2]=e;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=g;f[d>>2]=h;f[i>>2]=g;c=g;e=f[g+8>>2]|0}else c=h;b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((d|0)==23)return}function rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+16|0;q=r;i=b+8|0;g=i;j=f[g>>2]|0;g=f[g+4>>2]|0;p=b+16|0;d=p;c=f[d>>2]|0;d=Bl(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((g|0)<(e|0)|(g|0)==(e|0)&j>>>0>>0){q=0;u=r;return q|0}g=(f[b>>2]|0)+c|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=p;f[j>>2]=d;f[j+4>>2]=e;if((g|0)<0){q=0;u=r;return q|0}md(a+76|0,g,0);$n(q);if(nd(q,b)|0){if((g|0)>0){c=a+76|0;d=0;e=1;do{e=e^((Bi(q)|0)^1);j=(f[c>>2]|0)+(d>>>5<<2)|0;s=1<<(d&31);t=f[j>>2]|0;f[j>>2]=e?t|s:t&~s;d=d+1|0}while((d|0)<(g|0))}d=i;c=f[d>>2]|0;d=f[d+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;i=Bl(e|0,g|0,4,0)|0;j=I;if((!((d|0)<(j|0)|(d|0)==(j|0)&c>>>0>>0)?(k=f[b>>2]|0,l=k+e|0,l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,m=p,f[m>>2]=i,f[m+4>>2]=j,m=Bl(e|0,g|0,8,0)|0,n=I,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0>>0)):0)?(o=k+i|0,o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24,t=p,f[t>>2]=m,f[t+4>>2]=n,(l|0)<=(o|0)):0){f[a+12>>2]=l;f[a+16>>2]=o;t=o+(1-l)|0;f[a+20>>2]=t;c=(t|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(t&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Ho(q);t=c;u=r;return t|0}function sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ne(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];ib(a,q,n);q=1;u=o;return q|0}function td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ne(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];gb(a,q,n);q=1;u=o;return q|0}function ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];ub(a,q,n);q=1;u=o;return q|0} +function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+4|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;f[m>>2]=f[d>>2];f[n>>2]=f[m>>2];tb(a,q,n);q=1;u=o;return q|0}function wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ne(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];hb(a,q,n);q=1;u=o;return q|0}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(ne(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+32|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+52|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+72|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];fb(a,q,n);q=1;u=o;return q|0}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];sb(a,q,n);q=1;u=o;return q|0}function zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=u;u=u+16|0;n=o+8|0;m=o;i=c+8|0;k=i;e=f[k>>2]|0;k=f[k+4>>2]|0;l=c+16|0;j=l;g=f[j>>2]|0;j=f[j+4>>2]|0;p=Bl(g|0,j|0,4,0)|0;q=I;if((k|0)<(q|0)|(k|0)==(q|0)&e>>>0

>>0)i=k;else{g=(f[c>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[a>>0]=g;b[a+1>>0]=g>>8;b[a+2>>0]=g>>16;b[a+3>>0]=g>>24;g=l;g=Bl(f[g>>2]|0,f[g+4>>2]|0,4,0)|0;j=I;e=l;f[e>>2]=g;f[e+4>>2]=j;e=i;i=f[e+4>>2]|0;e=f[e>>2]|0}k=a+4|0;q=Bl(g|0,j|0,4,0)|0;p=I;if((i|0)<(p|0)|(i|0)==(p|0)&e>>>0>>0)e=f[k>>2]|0;else{e=(f[c>>2]|0)+g|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[k>>0]=e;b[k+1>>0]=e>>8;b[k+2>>0]=e>>16;b[k+3>>0]=e>>24;p=l;p=Bl(f[p>>2]|0,f[p+4>>2]|0,4,0)|0;q=l;f[q>>2]=p;f[q+4>>2]=I}if(!e){q=1;u=o;return q|0}if(!(nd(a+12|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+28|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+48|0,c)|0)){q=0;u=o;return q|0}if(!(ne(a+68|0,c)|0)){q=0;u=o;return q|0}q=f[k>>2]|0;c=d;d=f[c+4>>2]|0;p=m;f[p>>2]=f[c>>2];f[p+4>>2]=d;f[n>>2]=f[m>>2];f[n+4>>2]=f[m+4>>2];qb(a,q,n);q=1;u=o;return q|0}function Ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+16|0;k=m;if(!(Ub(a,c)|0)){a=0;u=m;return a|0}j=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;l=a+36|0;h=a+40|0;d=f[h>>2]|0;e=f[l>>2]|0;g=d-e>>2;if(j>>>0<=g>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(d|0)!=(i|0)):0)do{g=d+-4|0;f[h>>2]=g;d=f[g>>2]|0;f[g>>2]=0;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[h>>2]|0}while((d|0)!=(i|0))}else Qe(l,j-g|0);g=c+8|0;if((j|0)<=0){a=1;u=m;return a|0}i=c+16|0;h=0;while(1){n=g;o=f[n+4>>2]|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((o|0)>(e|0)|((o|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){d=0;e=19;break}o=b[(f[c>>2]|0)+d>>0]|0;d=Bl(d|0,e|0,1,0)|0;n=i;f[n>>2]=d;f[n+4>>2]=I;Ua[f[(f[a>>2]|0)+48>>2]&15](k,a,o);o=(f[l>>2]|0)+(h<<2)|0;n=f[k>>2]|0;f[k>>2]=0;d=f[o>>2]|0;f[o>>2]=n;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[k>>2]|0;f[k>>2]=0;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[(f[l>>2]|0)+(h<<2)>>2]|0;if(!d){d=0;e=19;break}e=f[(f[d>>2]|0)+8>>2]|0;n=Na[f[(f[a>>2]|0)+28>>2]&127](a)|0;o=Oa[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;h=h+1|0;if(!(Pa[e&31](d,n,o)|0)){d=0;e=19;break}if((h|0)>=(j|0)){d=1;e=19;break}}if((e|0)==19){u=m;return d|0}return 0}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;h=l;c=a+40|0;d=c;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));if($e(c,1,h)|0){d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;i=a+8|0;m=i;k=a+16|0;d=k;c=f[d>>2]|0;d=f[d+4>>2]|0;m=cm(f[m>>2]|0,f[m+4>>2]|0,c|0,d|0)|0;n=I;if(!(g>>>0>n>>>0|(g|0)==(n|0)&e>>>0>m>>>0)){m=Bl(c|0,d|0,e|0,g|0)|0;n=k;f[n>>2]=m;f[n+4>>2]=I;do if((j[a+38>>1]|0)<514){c=a+96|0;d=c;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));if($e(c,1,h)|0){d=a;e=c;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;n=i;d=k;c=f[d>>2]|0;d=f[d+4>>2]|0;n=cm(f[n>>2]|0,f[n+4>>2]|0,c|0,d|0)|0;m=I;if(!(g>>>0>m>>>0|(g|0)==(m|0)&e>>>0>n>>>0)){m=Bl(c|0,d|0,e|0,g|0)|0;n=k;f[n>>2]=m;f[n+4>>2]=I;break}}n=0;u=l;return n|0}else nd(a+80|0,a)|0;while(0);if(!(yg(a)|0)){n=0;u=l;return n|0}d=b;e=a;g=d+40|0;do{f[d>>2]=f[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(g|0));n=1;u=l;return n|0}}n=0;u=l;return n|0}function Cd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+144|0;i=n+136|0;m=n+32|0;l=n;e=f[(f[c+4>>2]|0)+44>>2]|0;h=Lk(124)|0;f[h+4>>2]=0;f[h>>2]=3156;f[h+12>>2]=3180;f[h+100>>2]=0;f[h+104>>2]=0;f[h+108>>2]=0;j=h+16|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[h+112>>2]=e;f[h+116>>2]=d;f[h+120>>2]=0;g=h;f[m+4>>2]=3180;f[m+92>>2]=0;f[m+96>>2]=0;f[m+100>>2]=0;j=m+8|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));k=f[c+8>>2]|0;f[l>>2]=3180;j=l+4|0;c=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=k;f[j>>2]=c;c=((f[c+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;mf(l+8|0,c,i);Sa[f[(f[l>>2]|0)+8>>2]&127](l);f[m>>2]=f[j>>2];xe(m+4|0,l)|0;f[m+36>>2]=k;f[m+40>>2]=d;f[m+44>>2]=e;f[m+48>>2]=h;Ne(h,m);f[a>>2]=g;f[l>>2]=3180;e=f[l+20>>2]|0;if(e|0)Co(e);e=f[l+8>>2]|0;if(!e){Dg(m);u=n;return}Co(e);Dg(m);u=n;return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+212|0;k=a+216|0;j=a+360|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Bi((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else Ig(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{g=a;f[r>>2]=d;h=g+(i*116|0)+108|0;e=f[h>>2]|0;if(e>>>0<(f[g+(i*116|0)+112>>2]|0)>>>0){f[e>>2]=d;f[h>>2]=e+4}else{Ig(g+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+212|0;k=a+216|0;j=a+360|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Bi((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else Ig(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{e=a;f[r>>2]=d;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=d;f[h>>2]=g+4}else{Ig(e+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Fd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;i=Lk(52)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);e=i+20|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;n[i+36>>2]=$(1.0);f[i+40>>2]=0;f[i+44>>2]=0;f[i+48>>2]=0;bo(g);if(af(g,f[c+32>>2]|0,i)|0){g=(f[c+4>>2]|0)+4|0;h=f[g>>2]|0;f[g>>2]=i;if(h|0){e=h+40|0;c=f[e>>2]|0;if(c|0){g=h+44|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{i=d+-4|0;f[g>>2]=i;d=f[i>>2]|0;f[i>>2]=0;if(d|0){Lg(d);Co(d)}d=f[g>>2]|0}while((d|0)!=(c|0));c=f[e>>2]|0}Co(c)}Lg(h);Co(h)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=j;return}else{f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=Lk(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=26;d=c;e=16175;g=d+26|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+26>>0]=0;f[a>>2]=-1;eh(a+4|0,h);if((b[h+11>>0]|0)<0)Co(f[h>>2]|0);e=i+40|0;c=f[e>>2]|0;if(c|0){g=i+44|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{a=d+-4|0;f[g>>2]=a;d=f[a>>2]|0;f[a>>2]=0;if(d|0){Lg(d);Co(d)}d=f[g>>2]|0}while((d|0)!=(c|0));c=f[e>>2]|0}Co(c)}Lg(i);Co(i);u=j;return}}function Gd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=La,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=La,y=La,z=La,A=La,B=0,C=0;w=u;u=u+32|0;t=w+16|0;v=w;h=$(n[e+4>>2]);if(!(h>=$(0.0)))ra(5209,5229,66,5355);s=(1<>2])+-1|0;Ym(t);yk(t,h,s)|0;e=f[c>>2]|0;if((e|0)==(f[d>>2]|0)){t=g;t=f[t>>2]|0;g=g+4|0;g=f[g>>2]|0;v=a;d=v;f[d>>2]=t;v=v+4|0;f[v>>2]=g;u=w;return}p=t+4|0;q=v+4|0;r=v+8|0;j=g+4|0;l=f[g>>2]|0;o=l+84|0;k=l+68|0;m=l+40|0;l=l+64|0;i=f[j>>2]|0;do{B=(f[e>>2]|0)-s|0;c=(B|0)<0;y=$((c?0-B|0:B)|0);h=$(n[p>>2]);y=$(h*y);x=$(-y);A=$(n[t>>2]);y=$(A*(c?x:y));c=(f[e+4>>2]|0)-s|0;B=(c|0)<0;x=$(h*$((B?0-c|0:c)|0));z=$(-x);x=$(A*(B?z:x));B=(f[e+8>>2]|0)-s|0;c=(B|0)<0;h=$(h*$((c?0-B|0:B)|0));z=$(-h);h=$(A*(c?z:h));n[v>>2]=y;n[q>>2]=x;n[r>>2]=h;c=i;i=i+1|0;f[j>>2]=i;if(!(b[o>>0]|0))c=f[(f[k>>2]|0)+(c<<2)>>2]|0;C=m;B=f[C>>2]|0;c=Kk(c|0,((c|0)<0)<<31>>31|0,B|0,f[C+4>>2]|0)|0;cf((f[f[l>>2]>>2]|0)+c|0,v|0,B|0)|0;e=e+12|0}while((e|0)!=(f[d>>2]|0));B=g;g=B;g=f[g>>2]|0;B=B+4|0;B=f[B>>2]|0;C=a;v=C;f[v>>2]=g;C=C+4|0;f[C>>2]=B;u=w;return}function Hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Lk(32)|0;Zk(d);h=a+64|0;g=f[h>>2]|0;f[h>>2]=d;if(g){d=f[g>>2]|0;if(d|0){e=g+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(g);d=f[h>>2]|0}si(a,d,0,0,0,0);d=a}else d=a;if(!(Zg(d,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))Ae(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);i=f[c+88>>2]|0;if(!i){a=a+88|0;d=f[a>>2]|0;f[a>>2]=0;if(!d)return;e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d);return}l=Lk(40)|0;f[l>>2]=f[i>>2];e=l+8|0;g=i+8|0;f[e>>2]=0;j=l+12|0;f[j>>2]=0;d=l+16|0;f[d>>2]=0;c=i+12|0;h=(f[c>>2]|0)-(f[g>>2]|0)|0;if(h|0){if((h|0)<0)Tn(e);k=Lk(h)|0;f[j>>2]=k;f[e>>2]=k;f[d>>2]=k+h;e=f[g>>2]|0;d=(f[c>>2]|0)-e|0;if((d|0)>0){cf(k|0,e|0,d|0)|0;f[j>>2]=k+d}}g=l+24|0;k=i+24|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];a=a+88|0;g=f[a>>2]|0;f[a>>2]=l;if(!g)return;d=f[g+8>>2]|0;if(d|0){e=g+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(g);return}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;p=s+4|0;q=s;c=f[b>>2]|0;f[p>>2]=c;m=a+8|0;b=c+1|0;do if((c|0)>=0){f[p+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{f[p+4>>2]=c;b=c}while(0);f[p+8>>2]=b;l=a+212|0;k=a+216|0;j=a+360|0;b=0;while(1){if((c|0)>=0?(f[(f[(f[m>>2]|0)+12>>2]|0)+(c<<2)>>2]|0)>=0:0){if((f[k>>2]|0)!=(f[l>>2]|0)){g=0;do{if(Bi((f[j>>2]|0)+(g<<4)|0)|0){a=f[l>>2]|0;f[q>>2]=c;e=a+(g*116|0)+108|0;d=f[e>>2]|0;if(d>>>0<(f[a+(g*116|0)+112>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else Ig(a+(g*116|0)+104|0,q)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else r=11;if((r|0)==11?(r=0,n=f[k>>2]|0,o=f[l>>2]|0,(n|0)!=(o|0)):0){a=o;d=n;i=0;do{e=a;f[q>>2]=c;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=c;f[h>>2]=g+4}else{Ig(e+(i*116|0)+104|0,q);a=f[l>>2]|0;d=f[k>>2]|0}i=i+1|0}while(i>>>0<((d-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[p+(b<<2)>>2]|0}u=s;return 1}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+32|0;n=t+20|0;m=t+16|0;s=t;r=c+24|0;k=b[r>>0]|0;o=k<<24>>24;l=f[a+80>>2]|0;h=X(l,o)|0;f[s>>2]=f[902];f[s+4>>2]=f[903];f[s+8>>2]=f[904];f[s+12>>2]=f[905];g=d+4|0;e=f[g>>2]|0;a=f[d>>2]|0;i=e-a>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(j=a+(h<<2)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-4-j|0)>>>2)<<2)}else sg(d,h-i|0);if((l|0)<=0){s=1;u=t;return s|0}i=c+84|0;h=c+68|0;if(k<<24>>24<=0){e=0;while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(e<<2)>>2]|0;else a=e;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(eb(c,n,k,s)|0)){a=0;e=18;break}e=e+1|0;if((e|0)>=(l|0)){a=1;e=18;break}}if((e|0)==18){u=t;return a|0}}else{p=0;q=0}while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(q<<2)>>2]|0;else a=q;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(eb(c,n,k,s)|0)){a=0;e=18;break}a=f[d>>2]|0;e=p;g=0;while(1){f[a+(e<<2)>>2]=f[s+(g<<2)>>2];g=g+1|0;if((g|0)==(o|0))break;else e=e+1|0}q=q+1|0;if((q|0)>=(l|0)){a=1;e=18;break}else p=o+p|0}if((e|0)==18){u=t;return a|0}return 0}function Ld(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+80|0;m=n;g=n+60|0;l=n+40|0;h=m;i=d;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));Wb(a,m,g);if(f[a>>2]|0){m=m+24|0;Ho(m);u=n;return}k=a+4|0;h=k+11|0;if((b[h>>0]|0)<0)Co(f[k>>2]|0);if(b[g+7>>0]|0){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=Lk(32)|0;f[l>>2]=g;f[l+8>>2]=-2147483616;f[l+4>>2]=27;h=g;i=14783;j=h+27|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+27>>0]=0;f[a>>2]=-1;eh(k,l);if((b[l+11>>0]|0)<0)Co(f[l>>2]|0);m=m+24|0;Ho(m);u=n;return}_e(l,b[g+8>>0]|0);g=f[l>>2]|0;if(!g){j=l+16|0;g=f[j>>2]|0;f[j>>2]=0;jc(a,g,c,d,e);if(!(f[a>>2]|0)){if((b[h>>0]|0)<0)Co(f[k>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Sa[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;eh(k,l+4|0)}k=l+16|0;g=f[k>>2]|0;f[k>>2]=0;if(g|0)Sa[f[(f[g>>2]|0)+4>>2]&127](g);g=l+4|0;if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);m=m+24|0;Ho(m);u=n;return}function Md(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+80|0;m=n;g=n+60|0;l=n+40|0;h=m;i=d;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));Wb(a,m,g);if(f[a>>2]|0){m=m+24|0;Ho(m);u=n;return}k=a+4|0;h=k+11|0;if((b[h>>0]|0)<0)Co(f[k>>2]|0);if((b[g+7>>0]|0)!=1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=Lk(32)|0;f[l>>2]=g;f[l+8>>2]=-2147483616;f[l+4>>2]=20;h=g;i=14762;j=h+20|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+20>>0]=0;f[a>>2]=-1;eh(k,l);if((b[l+11>>0]|0)<0)Co(f[l>>2]|0);m=m+24|0;Ho(m);u=n;return}Pf(l,b[g+8>>0]|0);g=f[l>>2]|0;if(!g){j=l+16|0;g=f[j>>2]|0;f[j>>2]=0;Oj(a,g,c,d,e);if(!(f[a>>2]|0)){if((b[h>>0]|0)<0)Co(f[k>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Sa[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;eh(k,l+4|0)}k=l+16|0;g=f[k>>2]|0;f[k>>2]=0;if(g|0)Sa[f[(f[g>>2]|0)+4>>2]&127](g);g=l+4|0;if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);m=m+24|0;Ho(m);u=n;return}function Nd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n+16|0;l=n;h=f[b+4>>2]|0;if((d|0)<=-1)ra(17381,17397,59,17494);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(17504,17397,60,17494);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Na[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Na[f[(f[b>>2]|0)+36>>2]&127](b)|0;k=Oa[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Oa[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!h){f[l>>2]=f[b+44>>2];f[l+4>>2]=j;f[l+12>>2]=k;f[l+8>>2]=k+12;bc(a,m,c,i,e,l,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[l>>2]=f[b+44>>2];f[l+4>>2]=h;f[l+12>>2]=k;f[l+8>>2]=k+12;ac(a,m,c,i,e,l,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{wf(j,m-l|0,3144);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)ra(17671,17583,64,17666);else if((e|0)==12)ra(14963,14982,89,15082);else if((e|0)==14)return d|0;return 0}function Pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;Mf(a+12|0);$n(a+524|0);Sl(a+540|0);Sl(a+560|0);Sl(a+580|0);d=a+600|0;f[d>>2]=0;c=a+604|0;f[c>>2]=0;f[a+608>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Tn(d);else{e=b<<2;k=Lk(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+608>>2]=g;dh(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+612|0;f[d>>2]=0;c=a+616|0;f[c>>2]=0;f[a+620>>2]=0;if(!h){g=b<<2;e=Lk(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+620>>2]=k;dh(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=Lk(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;dh(c|0,0,d|0)|0;f[e>>2]=k}Yh(a+624|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=Lk(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;dh(d|0,0,h|0)|0;f[e>>2]=k}Yh(a+636|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c);u=j;return}function Qd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;m=o+12|0;l=o;d=b*3|0;f[m>>2]=0;n=m+4|0;f[n>>2]=0;f[m+8>>2]=0;do if(d)if(d>>>0>1073741823)Tn(m);else{j=b*12|0;c=Lk(j)|0;f[m>>2]=c;k=c+(d<<2)|0;f[m+8>>2]=k;dh(c|0,0,j|0)|0;f[n>>2]=k;break}else c=0;while(0);if(fh(d,1,f[a+32>>2]|0,c)|0)if(!b)a=1;else{h=a+44|0;i=l+4|0;j=l+8|0;e=0;g=0;k=0;while(1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;d=f[m>>2]|0;p=f[d+(k<<2)>>2]|0;c=p>>>1;c=((p&1|0)==0?c:0-c|0)+g|0;f[l>>2]=c;p=f[d+(k+1<<2)>>2]|0;a=p>>>1;c=((p&1|0)==0?a:0-a|0)+c|0;f[i>>2]=c;d=f[d+(k+2<<2)>>2]|0;a=d>>>1;g=((d&1|0)==0?a:0-a|0)+c|0;f[j>>2]=g;c=f[h>>2]|0;a=c+100|0;d=f[a>>2]|0;if((d|0)==(f[c+104>>2]|0))og(c+96|0,l);else{f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];f[d+8>>2]=f[l+8>>2];f[a>>2]=(f[a>>2]|0)+12}e=e+1|0;if(e>>>0>=b>>>0){a=1;break}else k=k+3|0}}else a=0;c=f[m>>2]|0;if(!c){u=o;return a|0}d=f[n>>2]|0;if((d|0)!=(c|0))f[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c);u=o;return a|0}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;d=f[b>>2]|0;if((d|0)<0){j=-1073741824;return j|0}i=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((i|0)<0){j=-1073741824;return j|0}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;h=f[a>>2]|0;do if((c|0)!=-1073741824){a=(c|0)/3|0;if((c|0)<=-3)ra(17558,17583,63,17666);b=f[h+96>>2]|0;if((a|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){g=f[b+(a*12|0)+(((c|0)%3|0)<<2)>>2]|0;break}else ra(17671,17583,64,17666)}else g=-1073741824;while(0);a=(((i>>>0)%3|0|0)==0?2:-1)+i|0;do if((a|0)!=-1073741824){c=(a|0)/3|0;if((a|0)<=-3)ra(17558,17583,63,17666);b=f[h+96>>2]|0;if((c|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){e=f[b+(c*12|0)+(((a|0)%3|0)<<2)>>2]|0;break}else ra(17671,17583,64,17666)}else e=-1073741824;while(0);if((g|0)!=(e|0)){j=-1073741824;return j|0}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;a=(c|0)/3|0;if((c|0)<=-3)ra(17558,17583,63,17666);b=f[h+96>>2]|0;if((a|0)>=(((f[h+100>>2]|0)-b|0)/12|0|0))ra(17671,17583,64,17666);c=f[b+(a*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=i+1|0;d=((d|0)%3|0|0)==0?i+-2|0:d;do if((d|0)!=-1073741824){a=(d|0)/3|0;if((d|0)<=-3)ra(17558,17583,63,17666);b=f[h+96>>2]|0;if((a|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){j=f[b+(a*12|0)+(((d|0)%3|0)<<2)>>2]|0;break}else ra(17671,17583,64,17666)}else j=-1073741824;while(0);j=(c|0)!=(j|0)?-1073741824:i;return j|0}function Sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{wf(j,m-l|0,3144);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(17671,17583,64,17666);else if((e|0)==12)ra(14963,14982,89,15082);else if((e|0)==13)return d|0;return 0}function Td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Ac(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=Zc(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<4194304){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<4194304)}while(0);p=d&1048575;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>20)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Bc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=_c(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<2097152){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<2097152)}while(0);p=d&524287;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>19)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Cc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=$c(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<1048576){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<1048576)}while(0);p=d&262143;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>18)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Wd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Dc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=ad(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<262144){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<262144)}while(0);p=d&65535;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>16)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Ec(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=bd(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<131072){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<131072)}while(0);p=d&32767;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>15)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Fc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=cd(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<32768){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<32768)}while(0);p=d&8191;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>13)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function Zd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Gc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=dd(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<16384){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>12)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Co(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Co(b);u=n;return g|0}function _d(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{wf(j,m-l|0,3144);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(17671,17583,64,17666);else if((e|0)==12)ra(14963,14982,89,15082);else if((e|0)==13)return d|0;return 0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3132;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Tn(h);else{c=((c+-1|0)>>>5)+1|0;o=Lk(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Be(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Tn(h);o=((c+-1|0)>>>5)+1|0;a=Lk(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Be(h,k,m);u=n;return}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3180;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Tn(h);else{c=((c+-1|0)>>>5)+1|0;o=Lk(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Be(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Tn(h);o=((c+-1|0)>>>5)+1|0;a=Lk(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Be(h,k,m);u=n;return}function be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;t=v;e=f[a+40>>2]|0;o=f[a+44>>2]|0;if((e|0)==(o|0)){d=2;t=0;d=(d|0)==2;t=d?0:t;u=v;return t|0}p=t+11|0;r=t+4|0;q=d+11|0;s=d+4|0;a=0;a:while(1){f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;m=ah(f[e>>2]|0,c,t)|0;n=b[p>>0]|0;b:do if(m){m=n<<24>>24<0;h=n&255;k=m?f[r>>2]|0:h;l=b[q>>0]|0;g=l<<24>>24<0;if((k|0)==((g?f[s>>2]|0:l&255)|0)){j=f[t>>2]|0;l=m?j:t;g=g?f[d>>2]|0:d;i=(k|0)==0;c:do if(m){if(!i?cj(l,g,k)|0:0){g=0;break b}}else if(!i){if((j&255)<<24>>24==(b[g>>0]|0))i=t;else{g=0;break b}while(1){h=h+-1|0;i=i+1|0;if(!h)break c;g=g+1|0;if((b[i>>0]|0)!=(b[g>>0]|0)){g=0;break b}}}while(0);g=1;a=f[e>>2]|0}else g=0}else g=3;while(0);if(n<<24>>24<0)Co(f[t>>2]|0);switch(g&3){case 3:case 0:break;default:{e=17;break a}}e=e+4|0;if((e|0)==(o|0)){g=2;e=17;break}}if((e|0)==17){t=(g|0)==2;t=t?0:a;u=v;return t|0}return 0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;Sl(a+12|0);Sl(a+32|0);Sl(a+52|0);Sl(a+72|0);d=a+92|0;f[d>>2]=0;c=a+96|0;f[c>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Tn(d);else{e=b<<2;k=Lk(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+100>>2]=g;dh(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+104|0;f[d>>2]=0;c=a+108|0;f[c>>2]=0;f[a+112>>2]=0;if(!h){g=b<<2;e=Lk(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+112>>2]=k;dh(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=Lk(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;dh(c|0,0,d|0)|0;f[e>>2]=k}Yh(a+116|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=Lk(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;dh(d|0,0,h|0)|0;f[e>>2]=k}Yh(a+128|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c);u=j;return}function de(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;$n(a+12|0);Sl(a+28|0);Sl(a+48|0);Sl(a+68|0);d=a+88|0;f[d>>2]=0;c=a+92|0;f[c>>2]=0;f[a+96>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Tn(d);else{e=b<<2;k=Lk(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+96>>2]=g;dh(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+100|0;f[d>>2]=0;c=a+104|0;f[c>>2]=0;f[a+108>>2]=0;if(!h){g=b<<2;e=Lk(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+108>>2]=k;dh(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=Lk(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;dh(c|0,0,d|0)|0;f[e>>2]=k}Yh(a+112|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=Lk(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;dh(d|0,0,h|0)|0;f[e>>2]=k}Yh(a+124|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c);u=j;return}function ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=f[c>>2]|0;m=f[l>>2]|0;g=f[a+4>>2]|0;c=f[l+4>>2]|0;i=g+-1|0;j=(i&g|0)==0;if(!j)if(c>>>0>>0)h=c;else h=(c>>>0)%(g>>>0)|0;else h=i&c;d=(f[a>>2]|0)+(h<<2)|0;k=f[d>>2]|0;while(1){c=f[k>>2]|0;if((c|0)==(l|0))break;else k=c}if((k|0)!=(a+8|0)){c=f[k+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;e=21}else e=13}else e=13;do if((e|0)==13){if(m|0){c=f[m+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;c=m;e=22;break}}f[d>>2]=0;d=f[l>>2]|0;e=21}while(0);if((e|0)==21){c=d;if(d)e=22}if((e|0)==22){d=f[d+4>>2]|0;if(!j){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0}else d=d&i;if((d|0)!=(h|0)){f[(f[a>>2]|0)+(d<<2)>>2]=k;c=f[l>>2]|0}}f[k>>2]=c;f[l>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!l)return m|0;d=l+8|0;c=f[l+20>>2]|0;if(c|0){e=l+24|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;Co(c)}if((b[d+11>>0]|0)<0)Co(f[d>>2]|0);Co(l);return m|0}function fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;l=r+20|0;k=r+16|0;q=r;p=c+24|0;e=b[p>>0]|0;m=e<<24>>24;h=f[a+80>>2]|0;j=X(h,m)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;te(d,0,0+(j<<2)|0);if((h|0)<=0){q=1;u=r;return q|0}j=c+84|0;i=c+68|0;if(e<<24>>24<=0){e=0;while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(e<<2)>>2]|0;else a=e;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(Bb(c,l,g,q)|0)){a=0;e=13;break}e=e+1|0;if((e|0)>=(h|0)){a=1;e=13;break}}if((e|0)==13){u=r;return a|0}}else{n=0;o=0}while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(o<<2)>>2]|0;else a=o;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(Bb(c,l,g,q)|0)){a=0;e=13;break}a=f[d>>2]|0;e=n;g=0;while(1){f[a+(e<<2)>>2]=f[q+(g<<2)>>2];g=g+1|0;if((g|0)==(m|0))break;else e=e+1|0}o=o+1|0;if((o|0)>=(h|0)){a=1;e=13;break}else n=m+n|0}if((e|0)==13){u=r;return a|0}return 0}function ge(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b[(f[a+8>>2]|0)+24>>0]|0;i=zo(d>>>0>1073741823?-1:d<<2)|0;j=a+28|0;c=f[j>>2]|0;f[j>>2]=i;if(c|0)Ao(c);i=a+4|0;g=f[(f[i>>2]|0)+32>>2]|0;d=d<<2;n=g+8|0;l=f[n>>2]|0;n=f[n+4>>2]|0;e=g+16|0;k=e;c=f[k>>2]|0;k=Bl(c|0,f[k+4>>2]|0,d|0,0)|0;m=I;if((n|0)<(m|0)|(n|0)==(m|0)&l>>>0>>0){n=0;return n|0}cf(f[j>>2]|0,(f[g>>2]|0)+c|0,d|0)|0;c=e;c=Bl(f[c>>2]|0,f[c+4>>2]|0,d|0,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=(f[i>>2]|0)+32|0;c=f[e>>2]|0;k=c+8|0;m=f[k>>2]|0;k=f[k+4>>2]|0;g=c+16|0;n=g;d=f[n>>2]|0;n=Bl(d|0,f[n+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&m>>>0>>0){n=0;return n|0}n=a+32|0;c=(f[c>>2]|0)+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[n>>0]=c;b[n+1>>0]=c>>8;b[n+2>>0]=c>>16;b[n+3>>0]=c>>24;n=g;n=Bl(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;c=g;f[c>>2]=n;f[c+4>>2]=I;c=f[e>>2]|0;n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}c=b[(f[c>>2]|0)+d>>0]|0;m=Bl(d|0,e|0,1,0)|0;n=g;f[n>>2]=m;f[n+4>>2]=I;if((c&255)>31){n=0;return n|0}f[a+24>>2]=c&255;n=1;return n|0}function he(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j;g=f[a+8>>2]|0;h=a+4|0;d=f[h>>2]|0;if(((g-d|0)/116|0)>>>0>=c>>>0){do{f[d>>2]=-1;Sj(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[h>>2]|0)+116|0;f[h>>2]=d;c=c+-1|0}while((c|0)!=0);u=j;return}e=f[a>>2]|0;h=(d-e|0)/116|0;d=h+c|0;if(d>>>0>37025580)Tn(a);e=(g-e|0)/116|0;g=e<<1;d=e>>>0<18512790?(g>>>0>>0?d:g):37025580;f[i+12>>2]=0;f[i+16>>2]=a+8;do if(d)if(d>>>0>37025580){j=sa(8)|0;Am(j,17313);f[j>>2]=4748;wa(j|0,1128,100)}else{e=Lk(d*116|0)|0;break}else e=0;while(0);f[i>>2]=e;h=e+(h*116|0)|0;g=i+8|0;f[g>>2]=h;f[i+4>>2]=h;f[i+12>>2]=e+(d*116|0);d=h;do{f[d>>2]=-1;Sj(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[g>>2]|0)+116|0;f[g>>2]=d;c=c+-1|0}while((c|0)!=0);qc(a,i);ug(i);u=j;return}function ie(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+12|0;o=q;e=aj(c,0)|0;if(!e){f[a>>2]=0;u=q;return}d=f[c+96>>2]|0;c=(f[c+100>>2]|0)-d|0;m=(c|0)/12|0;f[n>>2]=0;p=n+4|0;f[p>>2]=0;f[n+8>>2]=0;if(c){if(m>>>0>357913941)Tn(n);l=Lk(c)|0;f[n>>2]=l;f[n+8>>2]=l+(m*12|0);dh(l|0,0,c|0)|0;f[p>>2]=l+c;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if((c|0)>0){i=e+68|0;j=o+4|0;k=o+8|0;h=(b[e+84>>0]|0)==0;g=0;do{c=f[d+(g*12|0)>>2]|0;if(h){e=f[i>>2]|0;c=f[e+(c<<2)>>2]|0;f[o>>2]=c;f[j>>2]=f[e+(f[d+(g*12|0)+4>>2]<<2)>>2];e=e+(f[d+(g*12|0)+8>>2]<<2)|0}else{f[o>>2]=c;f[j>>2]=f[d+(g*12|0)+4>>2];e=d+(g*12|0)+8|0}e=f[e>>2]|0;f[k>>2]=e;f[l+(g*12|0)>>2]=c;f[l+(g*12|0)+4>>2]=f[j>>2];f[l+(g*12|0)+8>>2]=e;g=g+1|0}while((g|0)<(m|0))}}else{f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0}ii(a,n);d=f[n>>2]|0;if(d|0){c=f[p>>2]|0;if((c|0)!=(d|0))f[p>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);Co(d)}u=q;return}function je(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=f[l>>2]|0;Kh(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;b=f[d>>2]|0;c=f[g>>2]|0;i=b-c>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=c+(h<<2)|0,(b|0)!=(e|0)):0)f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2)}else wf(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];Hb(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];Hb(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function ke(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+636|0;b=f[g>>2]|0;if(b|0){h=a+640|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+624|0;b=f[g>>2]|0;if(b|0){h=a+628|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+612>>2]|0;if(b|0){d=a+616|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+600>>2]|0;if(!b){h=a+580|0;Wi(h);h=a+560|0;Wi(h);h=a+540|0;Wi(h);h=a+524|0;Ho(h);a=a+12|0;ch(a);return}d=a+604|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+580|0;Wi(h);h=a+560|0;Wi(h);h=a+540|0;Wi(h);h=a+524|0;Ho(h);a=a+12|0;ch(a);return}function le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+16|0;n=o;k=d+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=d+16|0;e=l;g=f[e>>2]|0;e=f[e+4>>2]|0;if((k|0)>(e|0)|(k|0)==(e|0)&j>>>0>g>>>0){i=b[(f[d>>2]|0)+g>>0]|0;g=Bl(g|0,e|0,1,0)|0;e=I;p=l;f[p>>2]=g;f[p+4>>2]=e;if(i<<24>>24!=-2)m=3}else{i=0;m=3}if((m|0)==3){if((k|0)>(e|0)|(k|0)==(e|0)&j>>>0>g>>>0){p=b[(f[d>>2]|0)+g>>0]|0;m=Bl(g|0,e|0,1,0)|0;e=l;f[e>>2]=m;f[e+4>>2]=I;e=p}else e=0;Va[f[(f[a>>2]|0)+40>>2]&7](n,a,i<<24>>24,e<<24>>24);p=a+20|0;m=f[n>>2]|0;f[n>>2]=0;e=f[p>>2]|0;f[p>>2]=m;if(e){Sa[f[(f[e>>2]|0)+4>>2]&127](e);e=f[n>>2]|0;f[n>>2]=0;if(e|0)Sa[f[(f[e>>2]|0)+4>>2]&127](e)}else f[n>>2]=0}e=f[a+20>>2]|0;if(e|0?!(Oa[f[(f[a>>2]|0)+28>>2]&127](a,e)|0):0){p=0;u=o;return p|0}if(!(Pa[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0)){p=0;u=o;return p|0}e=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;p=f[a+4>>2]|0;if((p|0?((h[p+36>>0]|0)<<8&65535)<512:0)?!(Oa[f[(f[a>>2]|0)+48>>2]&127](a,e)|0):0){p=0;u=o;return p|0}p=1;u=o;return p|0}function me(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=f[a>>2]|0;p=a+4|0;c=f[p>>2]|0;l=m;d=c+(~((c+-4-l|0)>>>2)<<2)|0;if((c|0)==(m|0))d=m;else{f[p>>2]=d;c=d}s=a+16|0;f[s>>2]=0;t=a+12|0;f[t>>2]=d;k=b+8|0;d=k;n=f[d>>2]|0;d=f[d+4>>2]|0;r=b+16|0;g=r;i=f[g>>2]|0;g=Bl(i|0,f[g+4>>2]|0,4,0)|0;e=I;if((d|0)<(e|0)|(d|0)==(e|0)&n>>>0>>0){a=0;return a|0}o=(f[b>>2]|0)+i|0;o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24;j=r;f[j>>2]=g;f[j+4>>2]=e;if(!((o|0)!=0&(o&3|0)==0)){a=0;return a|0}j=cm(n|0,d|0,g|0,e|0)|0;i=I;if(0>(i|0)|0==(i|0)&o>>>0>j>>>0){a=0;return a|0}j=o>>>2;i=c-l>>2;if(j>>>0<=i>>>0)if(j>>>0>>0?(q=m+(j<<2)|0,(c|0)!=(q|0)):0){f[p>>2]=c+(~((c+-4-q|0)>>>2)<<2);c=n}else c=n;else{sg(a,j-i|0);c=k;e=r;g=f[e>>2]|0;e=f[e+4>>2]|0;d=f[c+4>>2]|0;c=f[c>>2]|0}q=Bl(g|0,e|0,o|0,0)|0;p=I;if((d|0)<(p|0)|(d|0)==(p|0)&c>>>0>>0){a=0;return a|0}cf(f[a>>2]|0,(f[b>>2]|0)+g|0,o|0)|0;q=r;q=Bl(f[q>>2]|0,f[q+4>>2]|0,o|0,0)|0;b=r;f[b>>2]=q;f[b+4>>2]=I;f[t>>2]=f[a>>2];f[s>>2]=0;a=1;return a|0}function oe(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=La,f=La,g=0.0,h=La,i=La,j=0.0,k=0.0,l=0.0,m=0.0;if(!(b>=$(0.0)))ra(9373,9220,191,9387);if(!(c>=$(0.0)))ra(9416,9220,192,9387);if(!(b<=$(1.0)))ra(9430,9220,193,9387);if(!(c<=$(1.0)))ra(9444,9220,194,9387);f=$(b+c);e=$(b-c);if(!(e<=$(.5))|(!(e>=$(-.5))|(!(f>=$(.5))|!(f<=$(1.5))))){do if(!(f<=$(.5))){if(f>=$(1.5)){e=$($(1.5)-c);c=$($(1.5)-b);break}if(!(e<=$(-.5))){e=$(c+$(.5));c=$(b+$(-.5));break}else{e=$(c+$(-.5));c=$(b+$(.5));break}}else{e=$($(.5)-c);c=$($(.5)-b)}while(0);b=e;i=$(e-c);f=$(c+e);g=-1.0}else{i=e;g=1.0}h=$(+b*2.0+-1.0);b=$(+c*2.0+-1.0);l=+f*2.0;j=l+-1.0;l=3.0-l;m=+i*2.0;k=m+1.0;m=1.0-m;k=m>2]=$(0.0);h=$(0.0);i=$(0.0);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}else{i=$($(1.0)/$(L($(e))));f=$(c*i);n[d>>2]=f;h=$(h*i);i=$(b*i);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}}function pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){dh(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);u=n;return}e=f[a>>2]|0;g=c-e>>2;c=g+b|0;if(c>>>0>1073741823)Tn(a);i=d-e|0;j=i>>1;c=i>>2>>>0<536870911?(j>>>0>>0?c:j):1073741823;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(c)if(c>>>0>1073741823){n=sa(8)|0;Am(n,17313);f[n>>2]=4748;wa(n|0,1128,100)}else{d=Lk(c<<2)|0;break}else d=0;while(0);f[m>>2]=d;g=d+(g<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=g;j=m+12|0;f[j>>2]=d+(c<<2);dh(g|0,0,b<<2|0)|0;f[i>>2]=g+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];Zf(m);u=n;return}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(((d-c|0)/12|0)>>>0>=b>>>0){dh(c|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}j=f[a>>2]|0;i=(c-j|0)/12|0;c=i+b|0;k=j;if(c>>>0>357913941)Tn(a);h=(d-j|0)/12|0;g=h<<1;g=h>>>0<178956970?(g>>>0>>0?c:g):357913941;do if(g)if(g>>>0>357913941){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{h=Lk(g*12|0)|0;break}else h=0;while(0);d=h+(i*12|0)|0;c=d;h=h+(g*12|0)|0;dh(d|0,0,b*12|0)|0;g=d+(b*12|0)|0;if((e|0)==(k|0))i=j;else{do{j=d+-12|0;b=e;e=e+-12|0;f[j>>2]=0;i=d+-8|0;f[i>>2]=0;f[d+-4>>2]=0;f[j>>2]=f[e>>2];j=b+-8|0;f[i>>2]=f[j>>2];b=b+-4|0;f[d+-4>>2]=f[b>>2];f[b>>2]=0;f[j>>2]=0;f[e>>2]=0;d=c+-12|0;c=d}while((e|0)!=(k|0));i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=c;f[l>>2]=g;f[m>>2]=h;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);Co(g)}}while((e|0)!=(h|0));if(!i)return;Co(i);return}function re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)Uj(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Tn(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Tn(a);h=Lk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function se(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+116|0;b=f[g>>2]|0;if(b|0){h=a+120|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;Wi(h);h=a+52|0;Wi(h);h=a+32|0;Wi(h);a=a+12|0;Wi(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+72|0;Wi(h);h=a+52|0;Wi(h);h=a+32|0;Wi(h);a=a+12|0;Wi(a);return}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)Uj(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Tn(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Tn(a);h=Lk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function ue(a,c){a=a|0;c=c|0;var d=0,e=La,g=La,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=La,x=La,y=0,z=0;v=u;u=u+16|0;p=v;q=f[a+24>>2]|0;r=a+8|0;d=b[(f[r>>2]|0)+24>>0]|0;o=d<<24>>24;s=o<<2;t=zo(o>>>0>1073741823?-1:o<<2)|0;Ym(p);if(!(yk(p,$(n[a+32>>2]),(1<>2]|0;m=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;if(!c){c=1;Ao(t);u=v;return c|0}q=p+4|0;l=a+28|0;if(d<<24>>24>0){h=0;i=0;j=0}else{a=0;d=0;while(1){cf((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+d|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(c|0)){a=1;break}else d=d+s|0}Ao(t);u=v;return a|0}while(1){a=f[l>>2]|0;e=$(n[q>>2]);g=$(n[p>>2]);d=0;k=j;while(1){z=f[m+(k<<2)>>2]|0;y=(z|0)<0;w=$(e*$((y?0-z|0:z)|0));x=$(-w);w=$(g*(y?x:w));w=$($(n[a+(d<<2)>>2])+w);n[t+(d<<2)>>2]=w;d=d+1|0;if((d|0)==(o|0))break;else k=k+1|0}cf((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+i|0,t|0,s|0)|0;h=h+1|0;if((h|0)==(c|0)){a=1;break}else{i=i+s|0;j=o+j|0}}Ao(t);u=v;return a|0}function ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+124|0;b=f[g>>2]|0;if(b|0){h=a+128|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}g=a+112|0;b=f[g>>2]|0;if(b|0){h=a+116|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+100>>2]|0;if(b|0){d=a+104|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+88>>2]|0;if(!b){h=a+68|0;Wi(h);h=a+48|0;Wi(h);h=a+28|0;Wi(h);a=a+12|0;Ho(a);return}d=a+92|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);h=a+68|0;Wi(h);h=a+48|0;Wi(h);h=a+28|0;Wi(h);a=a+12|0;Ho(a);return}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+112|0;h=k+96|0;j=k+16|0;i=k+4|0;g=k;c=j+76|0;d=j;e=d+76|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=-1073741824;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;f[g>>2]=i;f[h>>2]=f[g>>2];if(uc(j,a,h)|0){g=f[i>>2]|0;te(b,g,g+((f[e>>2]|0)-g>>2<<2)|0);g=f[j+68>>2]|0}else g=0;c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+56>>2]|0;if(c|0)Co(c);c=f[j+32>>2]|0;if(c|0){e=j+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+20>>2]|0;if(c|0){e=j+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[j+8>>2]|0;if(c|0){e=j+12|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}j=j+4|0;c=f[j>>2]|0;f[j>>2]=0;if(!c){u=k;return g|0}uh(c);Co(c);u=k;return g|0}function xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f[a+4>>2]=f[b+4>>2];j=a+8|0;k=b+8|0;if((a|0)==(b|0))return a|0;i=b+12|0;c=f[i>>2]|0;if(!c)c=0;else{h=a+16|0;do if(c>>>0>f[h>>2]<<5>>>0){d=f[j>>2]|0;if(d){Co(d);f[j>>2]=0;f[h>>2]=0;f[a+12>>2]=0;c=f[i>>2]|0}if((c|0)<0)Tn(j);else{e=((c+-1|0)>>>5)+1|0;g=Lk(e<<2)|0;f[j>>2]=g;f[a+12>>2]=0;f[h>>2]=e;e=f[i>>2]|0;break}}else{e=c;g=f[j>>2]|0}while(0);Uj(g|0,f[k>>2]|0,((e+-1|0)>>>5<<2)+4|0)|0;c=f[i>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;do if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){Co(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Tn(h);else{l=((c+-1|0)>>>5)+1|0;m=Lk(l<<2)|0;f[h>>2]=m;f[a+24>>2]=0;f[e>>2]=l;l=f[g>>2]|0;break}}else{l=c;m=f[h>>2]|0}while(0);Uj(m|0,f[i>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823)Tn(a);j=d>>1;d=d>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(d>>>0>1073741823)Tn(a);h=Lk(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function ze(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){zi(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){zi(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){zi(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Tn(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Tn(a);e=Lk(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;cf(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;cf(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];Sc(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=(c|0)/32|0;Uj(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function Ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=c+8|0;m=f[n>>2]|0;n=f[n+4>>2]|0;q=c+16|0;o=q;p=f[o>>2]|0;o=f[o+4>>2]|0;e=Bl(p|0,o|0,4,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&m>>>0>>0){a=0;return a|0}l=f[c>>2]|0;g=l+p|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;i=q;f[i>>2]=e;f[i+4>>2]=d;i=Bl(p|0,o|0,8,0)|0;k=I;if((n|0)<(k|0)|(n|0)==(k|0)&m>>>0>>0){a=0;return a|0}d=l+e|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;e=q;f[e>>2]=i;f[e+4>>2]=k;if((g|0)>(d|0)){a=0;return a|0}f[a+12>>2]=g;f[a+16>>2]=d;g=d+(1-g)|0;f[a+20>>2]=g;d=(g|0)/2|0;e=a+24|0;f[e>>2]=d;f[a+28>>2]=0-d;if(!(g&1))f[e>>2]=d+-1;do if((j[c+38>>1]|0)<514){if(!((n|0)>(k|0)|(n|0)==(k|0)&m>>>0>i>>>0)){a=0;return a|0}d=b[l+i>>0]|0;p=Bl(p|0,o|0,9,0)|0;f[q>>2]=p;f[q+4>>2]=I;if((d&255)<2){f[a+88>>2]=d&255;break}else{a=0;return a|0}}while(0);a=nd(a+108|0,c)|0;return a|0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)ra(16725,16737,110,16835);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))Ef(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){Ig(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(b);u=j;return}function Ee(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=b+12|0;l=f[k>>2]|0;g=(f[c>>2]|0)-l|0;i=c+4|0;e=(f[i>>2]|0)-l|0;j=c;f[j>>2]=g;f[j+4>>2]=e;j=f[k>>2]|0;if((j|0)<(g|0))ra(9931,9220,250,9954);if((j|0)<(e|0))ra(9966,9220,251,9954);h=0-j|0;if((g|0)<(h|0))ra(9989,9220,252,9954);if((e|0)<(h|0))ra(10013,9220,253,9954);if((((e|0)>-1?e:0-e|0)+((g|0)>-1?g:0-g|0)|0)>(j|0)){Uf(b,c,i);g=f[c>>2]|0;e=f[i>>2]|0;h=f[k>>2]|0;i=0}else{h=j;i=1}c=(f[d>>2]|0)+g|0;f[a>>2]=c;e=(f[d+4>>2]|0)+e|0;g=a+4|0;f[g>>2]=e;if((h|0)>=(c|0)){if((c|0)<(0-h|0))c=(f[b+4>>2]|0)+c|0}else c=c-(f[b+4>>2]|0)|0;f[a>>2]=c;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[g>>2]=e;if(i){d=c;b=e;d=d+l|0;l=b+l|0;b=a;a=b;f[a>>2]=d;b=b+4|0;f[b>>2]=l;return}Uf(b,a,g);d=f[a>>2]|0;b=f[g>>2]|0;d=d+l|0;l=b+l|0;b=a;a=b;f[a>>2]=d;b=b+4|0;f[b>>2]=l;return}function Fe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;j=l+12|0;k=l;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=Uh(c)|0;if(g>>>0>4294967279)Tn(j);if(g>>>0<11){b[j+11>>0]=g;if(!g)e=j;else{e=j;h=6}}else{h=g+16&-16;e=Lk(h)|0;f[j>>2]=e;f[j+8>>2]=h|-2147483648;f[j+4>>2]=g;h=6}if((h|0)==6)cf(e|0,c|0,g|0)|0;b[e+g>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=Uh(d)|0;if(c>>>0>4294967279)Tn(k);if(c>>>0<11){b[k+11>>0]=c;if(!c)e=k;else{e=k;h=12}}else{h=c+16&-16;e=Lk(h)|0;f[k>>2]=e;f[k+8>>2]=h|-2147483648;f[k+4>>2]=c;h=12}if((h|0)==12)cf(e|0,d|0,c|0)|0;b[e+c>>0]=0;e=f[a+4>>2]|0;if((e|0)!=0?(i=be(e,j,k)|0,(i|0)!=0):0)e=Ri(a,f[i+40>>2]|0)|0;else e=-1;if((b[k+11>>0]|0)<0)Co(f[k>>2]|0);if((b[j+11>>0]|0)>=0){u=l;return e|0}Co(f[j>>2]|0);u=l;return e|0}function Ge(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;o=e;return o|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;j=a<<24>>24<0;a=j?f[g+20>>2]|0:a&255;i=a>>>0>>0;e=i?a:m;if((e|0)!=0?(o=cj(l,j?f[h>>2]|0:h,e)|0,(o|0)!=0):0)if((o|0)<0)k=8;else k=10;else if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if((e|0)!=0?(n=cj(j?f[h>>2]|0:h,l,e)|0,(n|0)!=0):0){if((n|0)>=0){k=16;break}}else k=12;if((k|0)==12?(0,!i):0){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;o=g;return o|0}else if((k|0)==15){f[c>>2]=g;o=d;return o|0}else if((k|0)==16){f[c>>2]=g;o=d;return o|0}return 0}function He(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;a=a+20|0;if(lc(a,c)|0){h=0;return h|0}g=Rb(a,c)|0;e=f[d>>2]|0;f[d>>2]=0;h=f[g>>2]|0;f[g>>2]=e;if(!h){h=1;return h|0}a=f[h+28>>2]|0;if(a|0)do{g=a;a=f[a>>2]|0;hg(g+8|0);Co(g)}while((a|0)!=0);g=h+20|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Co(a);a=f[h+8>>2]|0;if(a|0)do{e=a;a=f[a>>2]|0;g=e+8|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);Co(e)}while((a|0)!=0);a=f[h>>2]|0;f[h>>2]=0;if(a|0)Co(a);Co(h);h=1;return h|0}function Ie(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+32>>2]|0;h=c+8|0;j=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}h=b[(f[c>>2]|0)+e>>0]|0;c=Bl(e|0,d|0,1,0)|0;e=g;f[e>>2]=c;f[e+4>>2]=I;e=a+48|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);switch(h<<24>>24){case 0:{c=Lk(376)|0;Rh(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Sa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}case 1:{c=Lk(416)|0;ih(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Sa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}case 2:{c=Lk(432)|0;Hg(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Sa[f[(f[d>>2]|0)+4>>2]&127](d);i=11}break}default:i=11}if((i|0)==11){c=f[e>>2]|0;if(!c){j=0;return j|0}}j=Oa[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;return j|0}function Je(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Kh(f[a+4>>2]|0,(f[c+56>>2]|0)-(f[c+52>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];Lb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];Lb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)Uj(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;cf(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);Co(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823)Tn(a);m=d>>1;d=d>>2>>>0<536870911?(m>>>0>>0?g:m):1073741823;if(d>>>0>1073741823)Tn(a);e=Lk(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;cf(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function Le(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;Co(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Tn(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Tn(a);e=Lk(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)Uj(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;c=Lk(64)|0;j=Lk(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=3400;f[j+8>>2]=h;f[k>>2]=j;bj(c,k);j=c;if((b|0)>=0){h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Qe(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c)a=1;else{Sa[f[(f[c>>2]|0)+4>>2]&127](c);a=1}}else{Sa[f[(f[c>>2]|0)+4>>2]&127](c);a=0}c=f[k>>2]|0;f[k>>2]=0;if(!c){u=l;return a|0}Sa[f[(f[c>>2]|0)+4>>2]&127](c);u=l;return a|0}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];xe(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{Ae(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);Ae(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);Ae(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Ke(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Oe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+80|0;g=j;i=j+64|0;qj(g);e=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Fj(5)|0,d)|0;xh(g,e,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=Lk(96)|0;hj(h,g);b[h+84>>0]=1;d=f[h+68>>2]|0;g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);ph(h,c)|0;f[i>>2]=h;Vg(a,i);h=f[i>>2]|0;f[i>>2]=0;if(!h){u=j;return}i=h+88|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}i=h+64|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}Co(h);u=j;return}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{Uj(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;Am(b,17313);f[b>>2]=4748;wa(b|0,1128,100)}h=Lk(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{Co(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function Qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;e=f[m>>2]|0;l=a+4|0;d=f[l>>2]|0;c=d;if(e-d>>2>>>0>=b>>>0){dh(d|0,0,b<<2|0)|0;f[l>>2]=d+(b<<2);return}g=f[a>>2]|0;d=d-g>>2;j=d+b|0;k=g;if(j>>>0>1073741823)Tn(a);i=e-g|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?j:h):1073741823;do if(h)if(h>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{i=Lk(h<<2)|0;break}else i=0;while(0);e=i+(d<<2)|0;dh(e|0,0,b<<2|0)|0;d=e;b=i+(h<<2)|0;h=i+(j<<2)|0;if((c|0)!=(k|0)){do{c=c+-4|0;j=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=j;e=d+-4|0;d=e}while((c|0)!=(k|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=b;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Sa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;Co(g);return}function Re(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3592;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}ag(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Lg(c);Co(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b)}Lg(e);Co(e);return}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)ra(17558,17583,63,17666);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))ra(17671,17583,64,17666);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))Ig(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){Ig(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;id(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=(c|0)/32|0;Uj(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Ue(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Kh(f[a+4>>2]|0,(f[c+28>>2]|0)-(f[c+24>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];Qb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];Qb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{Uj(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;Am(b,17313);f[b>>2]=4748;wa(b|0,1128,100)}h=Lk(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){Co(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function We(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=f[a>>2]|0;h=(d-g|0)/12|0;d=h+b|0;if(d>>>0>357913941)Tn(a);g=(e-g|0)/12|0;i=g<<1;d=g>>>0<178956970?(i>>>0>>0?d:i):357913941;do if(d)if(d>>>0>357913941){k=sa(8)|0;Am(k,17313);f[k>>2]=4748;wa(k|0,1128,100)}else{e=Lk(d*12|0)|0;break}else e=0;while(0);i=e+(h*12|0)|0;h=e+(d*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)cf(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;Co(d);return}function Xe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;De(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){Jf(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Ye(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=f[c>>2]|0;h=f[a>>2]|0;j=h+(e>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(e&31);j=f[a+64>>2]|0;g=(e|0)<0;c=e+1|0;if(!g?(d=((c|0)%3|0|0)==0?e+-2|0:c,(d|0)>=0):0)c=f[(f[j>>2]|0)+(d<<2)>>2]|0;else c=-1073741824;i=a+12|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g){j=(f[i>>2]|0)+402653184|0;f[j>>2]=f[j>>2]|1;return}c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g)return;d=f[(f[j+12>>2]|0)+(e<<2)>>2]|0;if((d|0)<=-1)return;b[a+24>>0]=0;c=h+(d>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(d&31);c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;a=(f[i>>2]|0)+(c>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;j=(f[i>>2]|0)+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);return}function Ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Tn(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{e=Lk(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){Lg(d);Co(d)}}while((c|0)!=(e|0));if(!g)return;Co(g);return}function _e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;e=j+16|0;g=j;switch(c<<24>>24){case 0:{c=Lk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Tj(c);f[c>>2]=3512;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=j;return}case 1:{c=Lk(44)|0;h=c;i=h+44|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));Tj(c);f[c>>2]=3468;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=c;u=j;return}default:{c=Lk(32)|0;f[g>>2]=c;f[g+8>>2]=-2147483616;f[g+4>>2]=28;h=c;d=14733;i=h+28|0;do{b[h>>0]=b[d>>0]|0;h=h+1|0;d=d+1|0}while((h|0)<(i|0));b[c+28>>0]=0;f[e>>2]=-1;c=e+4|0;eh(c,g);f[a>>2]=f[e>>2];eh(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);u=j;return}}}function $e(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,k=0,l=0;do if(c){if((j[a+38>>1]|0)>=514){if(Wg(d,a)|0)break;else c=0;return c|0}l=a+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;e=a+16|0;g=e;c=f[g>>2]|0;g=Bl(c|0,f[g+4>>2]|0,8,0)|0;k=I;if((l|0)<(k|0)|(l|0)==(k|0)&i>>>0>>0){l=0;return l|0}else{l=(f[a>>2]|0)+c|0;g=l;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;l=l+4|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;k=d;i=k;b[i>>0]=g;b[i+1>>0]=g>>8;b[i+2>>0]=g>>16;b[i+3>>0]=g>>24;k=k+4|0;b[k>>0]=l;b[k+1>>0]=l>>8;b[k+2>>0]=l>>16;b[k+3>>0]=l>>24;k=e;k=Bl(f[k>>2]|0,f[k+4>>2]|0,8,0)|0;l=e;f[l>>2]=k;f[l+4>>2]=I;break}}while(0);b[a+36>>0]=1;l=a+16|0;i=f[l>>2]|0;k=(f[a>>2]|0)+i|0;g=a+8|0;l=cm(f[g>>2]|0,f[g+4>>2]|0,i|0,f[l+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=k;f[a+28>>2]=k+l;l=1;return l|0}function af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+8|0;g=j+4|0;e=j;if(!c){i=0;u=j;return i|0}f[a>>2]=b;f[h>>2]=0;yh(h,b)|0;a:do if(!(f[h>>2]|0))i=8;else{d=0;while(1){yh(g,f[a>>2]|0)|0;b=Lk(44)|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[b+16>>2]=$(1.0);k=b+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[b+36>>2]=$(1.0);f[b+40>>2]=f[g>>2];if(!(yc(a,b)|0))break;f[e>>2]=b;Xh(c,e)|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){Lg(b);Co(b)}d=d+1|0;if(d>>>0>=(f[h>>2]|0)>>>0){i=8;break a}}Lg(b);Co(b);b=0}while(0);if((i|0)==8)b=yc(a,c)|0;k=b;u=j;return k|0}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=cj(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=cj(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Fa(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function df(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}g=a+184|0;b=f[g>>2]|0;if(b|0){h=a+188|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Co(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Co(b)}b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}h=a+136|0;c=f[h>>2]|0;f[h>>2]=0;if(!c){h=a+120|0;Ho(h);h=a+80|0;Ho(h);h=a+64|0;Ho(h);a=a+24|0;Ho(a);return}d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d);h=a+120|0;Ho(h);h=a+80|0;Ho(h);h=a+64|0;Ho(h);a=a+24|0;Ho(a);return}function ef(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)ra(17381,17397,59,17494);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))ra(17504,17397,60,17494);g=f[i+(c<<2)>>2]|0;do if((Na[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Nd(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Lk(44)|0;f[b>>2]=1520;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];Sh(b+32|0,e+24|0);f[b>>2]=1576;g=b}f[a>>2]=g;return}function ff(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+60|0;c=f[i>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+48;if(!(Na[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}g=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((g|0)>0){h=0;while(1){c=(Na[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;c=f[c>>2]|0;e=Oa[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;if((e|0)<=-1){d=7;break}d=f[c+8>>2]|0;if(((f[c+12>>2]|0)-d>>2|0)<=(e|0)){d=9;break}c=f[i>>2]|0;h=h+1|0;if(!(Oa[f[(f[c>>2]|0)+8>>2]&127](c,f[d+(e<<2)>>2]|0)|0)){c=0;d=14;break}if((h|0)>=(g|0))break a}if((d|0)==7)ra(17381,17397,67,17494);else if((d|0)==9)ra(17504,17397,68,17494);else if((d|0)==14)return c|0}while(0);if(!(Oa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=qm(Ba(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=qm(Ba(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function hf(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0;d=a+172|0;c=f[d>>2]|0;do if((c|0)==-1){j=f[a+144>>2]|0;j=Na[f[(f[j>>2]|0)+32>>2]&127](j)|0;if(((h[j+36>>0]<<8|h[j+37>>0])&65535)<514)if(b[a+76>>0]|0){j=a+72|0;d=f[j>>2]|0;g=f[a+64>>2]|0;i=f[a+68>>2]|0;c=g+(d>>>3)|0;if(c>>>0>>0?(c=h[c>>0]|0,e=d+1|0,f[j>>2]=e,(c&1<<(d&7)|0)!=0):0){c=g+(e>>>3)|0;if(c>>>0>>0){e=(h[c>>0]|0)>>>(e&7)&1;d=d+2|0;f[j>>2]=d}else{d=e;e=0}c=g+(d>>>3)|0;if(c>>>0>>0){c=(h[c>>0]|0)>>>(d&7);f[j>>2]=d+1;c=c<<1&2}else c=0;c=(c|e)<<1|1}else c=0}else c=1;else c=7}else{i=(f[a+196>>2]|0)+(c<<2)|0;j=f[i>>2]|0;c=j+-1|0;f[i>>2]=c;if((j|0)<1){a=9;return a|0}else{c=f[3312+(f[(f[(f[a+184>>2]|0)+((f[d>>2]|0)*12|0)>>2]|0)+(c<<2)>>2]<<2)>>2]|0;break}}while(0);f[a+168>>2]=c;a=c;return a|0}function jf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function kf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;c=f[k>>2]|0;l=a+16|0;if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}d=f[l>>2]|0;if(!d){l=f[l>>2]|0;return l|0}a=d+84|0;if(!(b[a>>0]|0)){l=f[l>>2]|0;return l|0}i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>2;b[a>>0]=0;h=d+68|0;e=d+72|0;d=f[e>>2]|0;a=f[h>>2]|0;g=d-a>>2;if(i>>>0<=g>>>0){if(i>>>0>>0?(j=a+(i<<2)|0,(d|0)!=(j|0)):0)f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2)}else{wf(h,i-g|0,1388);c=f[k>>2]|0}if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}k=f[c+68>>2]|0;g=k;k=(f[c+72>>2]|0)-k|0;d=k>>2;if((k|0)<=0){l=f[l>>2]|0;return l|0}c=f[l>>2]|0;e=(b[c+84>>0]|0)==0;c=c+68|0;a=0;while(1){if(!e){c=14;break}f[(f[c>>2]|0)+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0;if((a|0)>=(d|0)){c=15;break}}if((c|0)==14)ra(14963,14982,89,15082);else if((c|0)==15){l=f[l>>2]|0;return l|0}return 0}function lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;g=h+8|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=nc(a,e,g,h+4|0,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=Lk(40)|0;eh(e+16|0,d);eh(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}qd(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+16|0;l=m;j=a+4|0;f[j>>2]=0;if(!c){u=m;return}i=a+8|0;e=f[i>>2]|0;g=e<<5;if(g>>>0>>0){f[l>>2]=0;k=l+4|0;f[k>>2]=0;h=l+8|0;f[h>>2]=0;if((c|0)<0)Tn(a);e=e<<6;n=c+31&-32;jg(l,g>>>0<1073741823?(e>>>0>>0?n:e):2147483647);e=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=e;l=f[j>>2]|0;f[j>>2]=c;f[k>>2]=l;l=f[i>>2]|0;f[i>>2]=f[h>>2];f[h>>2]=l;if(e|0)Co(e)}else f[j>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){dh(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=m;return}else{dh(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=m;return}}function nf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(Zm(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Zm(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Wa[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Xa[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else lk(0,c,d,e);while(0);return}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;l=m;if(!(Bd(a,b)|0)){a=0;u=m;return a|0}i=b+8|0;j=f[i>>2]|0;i=f[i+4>>2]|0;g=b+16|0;d=g;c=f[d>>2]|0;d=Bl(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((i|0)<(e|0)|(i|0)==(e|0)&j>>>0>>0){a=0;u=m;return a|0}c=(f[b>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;j=g;f[j>>2]=d;f[j+4>>2]=e;if((c|0)<0){a=0;u=m;return a|0}j=f[a+152>>2]|0;if((c|0)>=(j|0)){a=0;u=m;return a|0}i=a+156|0;f[l>>2]=0;e=a+160|0;d=f[e>>2]|0;c=f[i>>2]|0;g=d-c>>2;if(j>>>0<=g>>>0){if(j>>>0>>0?(k=c+(j<<2)|0,(d|0)!=(k|0)):0)f[e>>2]=d+(~((d+-4-k|0)>>>2)<<2)}else wf(i,j-g|0,l);a=nd(a+168|0,b)|0;u=m;return a|0}function pf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)ra(17381,17397,59,17494);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))ra(17504,17397,60,17494);g=f[i+(c<<2)>>2]|0;do if((Na[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Xc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Lk(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=2420;g=b}f[a>>2]=g;return}function qf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;g=c-e>>3;c=g+b|0;if(c>>>0>536870911)Tn(a);e=d-e|0;h=e>>2;c=e>>3>>>0<268435455?(h>>>0>>0?c:h):536870911;do if(c)if(c>>>0>536870911){j=sa(8)|0;Am(j,17313);f[j>>2]=4748;wa(j|0,1128,100)}else{d=Lk(c<<3)|0;break}else d=0;while(0);h=d+(g<<3)|0;g=d+(c<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)cf(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;Co(c);return}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Ua[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Co(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}Co(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0;if((Na[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}g=a+4|0;i=0;while(1){e=f[(f[g>>2]|0)+4>>2]|0;e=Pj(e,Oa[f[(f[b>>2]|0)+24>>2]&127](b,i)|0)|0;if((e|0)==-1){a=0;c=12;break}a=f[g>>2]|0;d=f[(f[b>>2]|0)+28>>2]|0;if(((h[a+36>>0]|0)<<8&65535)<512){a=f[a+4>>2]|0;if((e|0)<=-1){c=6;break}c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)<=(e|0)){c=8;break}if(!(Oa[d&127](b,f[c+(e<<2)>>2]|0)|0)){a=0;c=12;break}}else{e=Vi(a,e)|0;if(!(Oa[d&127](b,e)|0)){a=0;c=12;break}}i=i+1|0;if((i|0)>=(Na[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=12;break}}if((c|0)==6)ra(17381,17397,67,17494);else if((c|0)==8)ra(17504,17397,68,17494);else if((c|0)==12)return a|0;return 0}function tf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)ra(17381,17397,59,17494);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))ra(17504,17397,60,17494);g=f[i+(c<<2)>>2]|0;do if((Na[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){ed(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Lk(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=2644;g=b}f[a>>2]=g;return}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((zb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=Io(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=zb(a,c,m,p,q)|0;if(d){Pa[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=zb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)Ho(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function vf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=Lk(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;j=g+8|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;cf(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}xg(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;cf(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+8|0;e=f[l>>2]|0;m=a+4|0;d=f[m>>2]|0;g=d;if(e-d>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[m>>2]=g+(b<<2);return}k=f[a>>2]|0;j=d-k|0;i=j>>2;d=i+b|0;if(d>>>0>1073741823)Tn(a);g=e-k|0;h=g>>1;d=g>>2>>>0<536870911?(h>>>0>>0?d:h):1073741823;do if(d)if(d>>>0>1073741823){b=sa(8)|0;Am(b,17313);f[b>>2]=4748;wa(b|0,1128,100)}else{e=Lk(d<<2)|0;break}else e=0;while(0);h=e+(i<<2)|0;g=e+(d<<2)|0;d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}d=h+(0-i<<2)|0;if((j|0)>0)cf(d|0,k|0,j|0)|0;f[a>>2]=d;f[m>>2]=h+(b<<2);f[l>>2]=g;if(!k)return;Co(k);return}function xf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=1048576){if((i|0)!=1048576?(h=d+4194304|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,1048576-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>1048576){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==1048576;return k|0}function yf(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Zm(m,e,0)|0){f[o+48>>2]=1;Xa[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Wa[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function zf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{sg(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(Pb(a,n)|0)){a=0;u=o;return a|0}wb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=524288){if((i|0)!=524288?(h=d+2097152|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,524288-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>524288){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==524288;return k|0}function Bf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=262144){if((i|0)!=262144?(h=d+1048576|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,262144-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>262144){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==262144;return k|0}function Cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=65536){if((i|0)!=65536?(h=d+262144|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,65536-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>65536){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==65536;return k|0}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=32768){if((i|0)!=32768?(h=d+131072|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,32768-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>32768){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==32768;return k|0}function Ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){pe(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Co(d)}Co(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Co(d)}Co(c)}Co(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function Ff(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=8192){if((i|0)!=8192?(h=d+32768|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,8192-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>8192){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==8192;return k|0}function Gf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=4096){if((i|0)!=4096?(h=d+16384|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else sg(a,4096-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else qf(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>4096){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==4096;return k|0}function Hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;d=f[l>>2]|0;k=f[a>>2]|0;h=(d-k|0)/12|0;c=h+1|0;j=k;if(c>>>0>357913941)Tn(a);m=a+8|0;i=((f[m>>2]|0)-k|0)/12|0;e=i<<1;e=i>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{g=Lk(e*12|0)|0;break}else g=0;while(0);c=g+(h*12|0)|0;i=g+(e*12|0)|0;f[c>>2]=f[b>>2];f[g+(h*12|0)+4>>2]=f[b+4>>2];f[g+(h*12|0)+8>>2]=f[b+8>>2];e=c+12|0;if((d|0)!=(j|0))do{h=d;d=d+-12|0;f[c+-12>>2]=f[d>>2];f[c+-8>>2]=f[h+-8>>2];f[c+-4>>2]=f[h+-4>>2];c=c+-12|0}while((d|0)!=(j|0));f[a>>2]=c;f[l>>2]=e;f[m>>2]=i;if(!k)return;Co(k);return}function If(a,c,d){a=a|0;c=c|0;d=d|0;a=kc(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=8){d=0;return d|0}a=c;b[s>>0]=b[a>>0];b[s+1>>0]=b[a+1>>0];b[s+2>>0]=b[a+2>>0];b[s+3>>0]=b[a+3>>0];b[s+4>>0]=b[a+4>>0];b[s+5>>0]=b[a+5>>0];b[s+6>>0]=b[a+6>>0];b[s+7>>0]=b[a+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];d=1;return d|0}function Jf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;d=f[k>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(d-c>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[l>>2]=e+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Tn(a);e=d-j|0;g=e>>1;c=e>>2>>>0<536870911?(g>>>0>>0?c:g):1073741823;do if(c)if(c>>>0>1073741823){b=sa(8)|0;Am(b,17313);f[b>>2]=4748;wa(b|0,1128,100)}else{d=Lk(c<<2)|0;break}else d=0;while(0);g=d+(h<<2)|0;e=d+(c<<2)|0;c=g;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}c=g+(0-h<<2)|0;if((i|0)>0)cf(c|0,j|0,i|0)|0;f[a>>2]=c;f[l>>2]=g+(b<<2);f[k>>2]=e;if(!j)return;Co(j);return}function Kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{sg(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function Lf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)Tn(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{rm(a,d,(e&255)+1|0)|0;Co(d);g=15}}else{c=Lk(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{rm(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){rm(c,d,(f[a+4>>2]|0)+1|0)|0;Co(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function Mf(a){a=a|0;$n(a);$n(a+16|0);$n(a+32|0);$n(a+48|0);$n(a+64|0);$n(a+80|0);$n(a+96|0);$n(a+112|0);$n(a+128|0);$n(a+144|0);$n(a+160|0);$n(a+176|0);$n(a+192|0);$n(a+208|0);$n(a+224|0);$n(a+240|0);$n(a+256|0);$n(a+272|0);$n(a+288|0);$n(a+304|0);$n(a+320|0);$n(a+336|0);$n(a+352|0);$n(a+368|0);$n(a+384|0);$n(a+400|0);$n(a+416|0);$n(a+432|0);$n(a+448|0);$n(a+464|0);$n(a+480|0);$n(a+496|0);return}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=$m(f[a+8>>2]|0,o)|0;e=$m(f[a+12>>2]|0,o)|0;g=$m(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=$m(f[a+(g<<2)>>2]|0,o)|0;g=$m(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=vj(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=$m(f[a+(e<<2)>>2]|0,o)|0;e=$m(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function Of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0;l=b+8|0;i=f[l>>2]|0;l=f[l+4>>2]|0;m=b+16|0;c=m;g=f[c>>2]|0;c=f[c+4>>2]|0;d=Bl(g|0,c|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&i>>>0>>0){a=0;return a|0}k=(f[b>>2]|0)+g|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;n=m;f[n>>2]=d;f[n+4>>2]=e;do if((j[b+38>>1]|0)<514){c=Bl(g|0,c|0,8,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&i>>>0>>0){n=0;return n|0}else{n=m;f[n>>2]=c;f[n+4>>2]=d;break}}while(0);if(((k|0)%2|0|0)!=1)ra(10149,10182,68,10348);d=(_(k|0)|0)^31;c=d+1|0;if(!d)ra(9209,9220,60,9341);if(c>>>0>=31)ra(9361,9220,61,9341);f[a>>2]=c;n=2<>2]=n+-1;n=n+-2|0;f[a+8>>2]=n;f[a+12>>2]=(n|0)/2|0;n=1;return n|0}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;h=j+16|0;i=j;switch(c<<24>>24){case 0:{i=Lk(48)|0;on(i);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;u=j;return}case 1:{i=Lk(52)|0;xm(i);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;u=j;return}default:{c=Lk(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=28;d=c;e=14733;g=d+28|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+28>>0]=0;f[h>>2]=-1;c=h+4|0;eh(c,i);f[a>>2]=f[h>>2];eh(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);if((b[i+11>>0]|0)<0)Co(f[i>>2]|0);u=j;return}}}function Qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;i=k+12|0;j=k;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;e=Uh(c)|0;if(e>>>0>4294967279)Tn(i);if(e>>>0<11){b[i+11>>0]=e;if(!e)d=i;else{d=i;g=6}}else{g=e+16&-16;d=Lk(g)|0;f[i>>2]=d;f[i+8>>2]=g|-2147483648;f[i+4>>2]=e;g=6}if((g|0)==6)cf(d|0,c|0,e|0)|0;b[d+e>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;c=j+11|0;b[c>>0]=4;f[j>>2]=1701667182;b[j+4>>0]=0;d=f[a+4>>2]|0;if((d|0)!=0?(h=be(d,j,i)|0,(h|0)!=0):0)d=Ri(a,f[h+40>>2]|0)|0;else d=-1;if((b[c>>0]|0)<0)Co(f[j>>2]|0);if((b[i+11>>0]|0)>=0){u=k;return d|0}Co(f[i>>2]|0);u=k;return d|0}function Rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k+4|0;i=k;h=f[c+4>>2]|0;if(!h)ra(10593,10842,70,11012);g=f[c+8>>2]|0;if(!g)ra(10593,10842,70,11012);d=f[d>>2]|0;if((d|0)<0)e=-1073741824;else e=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=e>>>0)Tn(d);d=f[g+(f[c+(e<<2)>>2]<<2)>>2]|0;if(!(b[h+84>>0]|0))d=f[(f[h+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[i>>2]=d;g=b[h+24>>0]|0;f[j>>2]=f[i>>2];xb(h,j,g,a)|0;u=k;return}function Sf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=cj(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=cj(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;k=b+8|0;i=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;g=Bl(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){a=0;return a|0}b=f[b>>2]|0;j=b+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;m=l;f[m>>2]=g;f[m+4>>2]=d;c=Bl(e|0,c|0,8,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){m=0;return m|0}b=b+g|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;m=l;f[m>>2]=c;f[m+4>>2]=d;if((j|0)>(b|0)){m=0;return m|0}f[a+12>>2]=j;f[a+16>>2]=b;m=b+(1-j)|0;f[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;f[c>>2]=b;f[a+28>>2]=0-b;if(m&1|0){m=1;return m|0}f[c>>2]=b+-1;m=1;return m|0}function Uf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))ra(10037,9220,259,10061);d=f[c>>2]|0;if((d|0)>(e|0))ra(10075,9220,260,10061);a=0-e|0;if((i|0)<(a|0))ra(10099,9220,261,10061);if((d|0)<(a|0))ra(10124,9220,262,10061);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function Vf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+32|0;g=h+8|0;e=h;switch(d|0){case 2:{i=f[b+12>>2]|0;d=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;tf(e,c,i,d,g);f[a>>2]=f[e>>2];u=h;return}case 3:{d=f[b+12>>2]|0;i=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;pf(e,c,d,i,g);f[a>>2]=f[e>>2];u=h;return}default:{f[a>>2]=0;u=h;return}}}function Wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){mc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;mc(a,b);return}function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){he(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*116|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-116;c=f[e+-12>>2]|0;if(c|0){d=e+-8|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}c=f[e+-28>>2]|0;if(c|0){d=e+-24|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}c=f[e+-40>>2]|0;if(c|0){d=e+-36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c)}Dh(e+-112|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function Yf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1400;e=a+60|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Sa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b)}f[a>>2]=1240;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function Zf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}Co(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Co(b);return}function _f(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;e=f[l>>2]|0;g=b[e+24>>0]|0;k=g<<24>>24;n=k<<1;m=zo(k>>>0>2147483647?-1:k<<1)|0;j=f[a+16>>2]|0;j=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){Ao(m);return}if(g<<24>>24>0){e=0;g=0;h=0;while(1){a=0;i=h;while(1){d[m+(a<<1)>>1]=f[j+(i<<2)>>2];a=a+1|0;if((a|0)==(k|0))break;else i=i+1|0}cf((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+g|0,m|0,n|0)|0;e=e+1|0;if((e|0)==(c|0))break;else{g=g+n|0;h=k+h|0}}Ao(m);return}else{cf(f[f[e+64>>2]>>2]|0,m|0,n|0)|0;if((c|0)==1){Ao(m);return}else{a=1;e=0}do{e=e+n|0;cf((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+e|0,m|0,n|0)|0;a=a+1|0}while((a|0)!=(c|0));Ao(m);return}}function $f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+8|0;d=f[k>>2]|0;e=b[d+24>>0]|0;j=e<<24>>24;m=j<<2;l=zo(j>>>0>1073741823?-1:j<<2)|0;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;if(!c){Ao(l);return}if(e<<24>>24>0){d=0;e=0;g=0;while(1){a=0;h=g;while(1){f[l+(a<<2)>>2]=f[i+(h<<2)>>2];a=a+1|0;if((a|0)==(j|0))break;else h=h+1|0}cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,l|0,m|0)|0;d=d+1|0;if((d|0)==(c|0))break;else{e=e+m|0;g=j+g|0}}Ao(l);return}else{cf(f[f[d+64>>2]>>2]|0,l|0,m|0)|0;if((c|0)==1){Ao(l);return}else{a=1;d=0}do{d=d+m|0;cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+d|0,l|0,m|0)|0;a=a+1|0}while((a|0)!=(c|0));Ao(l);return}}function ag(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}Co(c)}Co(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Co(b);return}function bg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=La;n=u;u=u+32|0;j=n+16|0;m=n;k=a+8|0;l=b[(f[k>>2]|0)+24>>0]<<2;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;a=f[a+24>>2]|0;if((a|0)<=1)ra(9209,9220,60,9341);if((a|0)>=31)ra(9361,9220,61,9341);f[m>>2]=a;a=1<>2]=a+-1;a=a+-2|0;h=m+8|0;f[h>>2]=a;f[m+12>>2]=(a|0)/2|0;if(!c){u=n;return 1}d=0;e=0;g=0;while(1){o=$($(1.0)/$(a|0));oe(m,$($(f[i+(g<<2)>>2]|0)*o),$($(f[i+((g|1)<<2)>>2]|0)*o),j);cf((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,j|0,l|0)|0;d=d+1|0;if((d|0)==(c|0))break;a=f[h>>2]|0;e=e+l|0;g=g+2|0}u=n;return 1}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;g=f[c>>2]|0;c=f[c+4>>2]|0;d=Bl(g|0,c|0,4,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0)return 0;i=(f[b>>2]|0)+g|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=l;f[b>>2]=d;f[b+4>>2]=e;b=Bl(g|0,c|0,8,0)|0;c=I;if((k|0)<(c|0)|(k|0)==(c|0)&j>>>0>>0)return 0;f[l>>2]=b;f[l+4>>2]=c;if(((i|0)%2|0|0)!=1)ra(10149,10182,68,10348);c=(_(i|0)|0)^31;b=c+1|0;if(!c)ra(9209,9220,60,9341);if(b>>>0<31){f[a>>2]=b;l=2<>2]=l+-1;l=l+-2|0;f[a+8>>2]=l;f[a+12>>2]=(l|0)/2|0;return (c+-1|0)>>>0<29|0}else ra(9361,9220,61,9341);return 0}function dg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m+16|0;i=m+8|0;j=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))ra(9458,9503,69,9687);e=f[b+4>>2]|0;if((e|0)>(k|0))ra(9708,9503,70,9687);g=f[c>>2]|0;if((g|0)>(k|0))ra(9753,9503,71,9687);b=f[c+4>>2]|0;if((b|0)>(k|0))ra(9798,9503,72,9687);if((h|0)<=-1)ra(9843,9503,74,9687);if((e|0)<=-1)ra(9865,9503,75,9687);if((g|0)<=-1)ra(9887,9503,76,9687);if((b|0)>-1){f[i>>2]=h;f[i+4>>2]=e;f[j>>2]=g;f[j+4>>2]=b;kd(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else ra(9909,9503,77,9687)}function eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=La;if((b|0)!=1){if(b+-1&b)b=ab(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){wc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=ab(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;wc(a,b);return}function fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function gg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;j=m+16|0;l=m+8|0;i=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))ra(9458,12926,65,9687);e=f[b+4>>2]|0;if((e|0)>(k|0))ra(9708,12926,66,9687);g=f[c>>2]|0;if((g|0)>(k|0))ra(9753,12926,67,9687);b=f[c+4>>2]|0;if((b|0)>(k|0))ra(9798,12926,68,9687);if((h|0)<=-1)ra(9843,12926,70,9687);if((e|0)<=-1)ra(9865,12926,71,9687);if((g|0)<=-1)ra(9887,12926,72,9687);if((b|0)>-1){f[j>>2]=g;f[j+4>>2]=b;f[i>>2]=h;f[i+4>>2]=e;Ee(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else ra(9909,12926,73,9687)}function hg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=a+12|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){c=f[i+28>>2]|0;if(c|0)do{h=c;c=f[c>>2]|0;hg(h+8|0);Co(h)}while((c|0)!=0);h=i+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)Co(c);c=f[i+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}if((b[h+11>>0]|0)<0)Co(f[h>>2]|0);Co(g)}while((c|0)!=0);c=f[i>>2]|0;f[i>>2]=0;if(c|0)Co(c);Co(i)}if((b[a+11>>0]|0)>=0)return;Co(f[a>>2]|0);return}function ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=Lk(36)|0;_m(c);j=c;if((b|0)<0){Sa[f[(f[c>>2]|0)+4>>2]&127](c);j=0;return j|0}h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Qe(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c){j=1;return j|0}Sa[f[(f[c>>2]|0)+4>>2]&127](c);j=1;return j|0}function jg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)Tn(i);l=((b+-1|0)>>>5)+1|0;k=Lk(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Te(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)Co(b);u=j;return}function kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+212|0;j=a+216|0;d=f[k>>2]|0;if((f[j>>2]|0)==(d|0)){l=0;return l|0}g=a+4|0;e=0;a:while(1){a=f[d+(e*116|0)>>2]|0;if(((a|0)>=0?(d=f[g>>2]|0,h=f[d+8>>2]|0,(a|0)<((f[d+12>>2]|0)-h>>2|0)):0)?(i=f[h+(a<<2)>>2]|0,(Na[f[(f[i>>2]|0)+24>>2]&127](i)|0)>0):0){a=0;do{if((Oa[f[(f[i>>2]|0)+20>>2]&127](i,a)|0)==(c|0))break a;a=a+1|0}while((a|0)<(Na[f[(f[i>>2]|0)+24>>2]&127](i)|0))}a=e+1|0;d=f[k>>2]|0;if(a>>>0>=(((f[j>>2]|0)-d|0)/116|0)>>>0){a=0;l=11;break}else e=a}if((l|0)==11)return a|0;l=f[k>>2]|0;l=(b[l+(e*116|0)+72>>0]|0)==0?0:l+(e*116|0)+4|0;return l|0}function lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(f[b+4>>2]|0)-(f[b>>2]|0)|0;l=k>>2;g=a+8|0;e=f[(f[g>>2]|0)+40>>2]|0;m=zo((e|0)>-1?e:-1)|0;h=c+8|0;if((k|0)<=0){c=1;Ao(m);return c|0}k=c+16|0;i=0;j=0;while(1){o=h;n=f[o>>2]|0;o=f[o+4>>2]|0;a=k;b=f[a>>2]|0;a=Bl(b|0,f[a+4>>2]|0,e|0,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0){b=0;a=5;break}cf(m|0,(f[c>>2]|0)+b|0,e|0)|0;o=k;f[o>>2]=a;f[o+4>>2]=d;cf((f[f[(f[g>>2]|0)+64>>2]>>2]|0)+j|0,m|0,e|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+e|0}if((a|0)==5){Ao(m);return b|0}return 0}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=Ge(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=Lk(40)|0;eh(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}qd(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function ng(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j+12|0;h=j;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=Uh(d)|0;if(e>>>0>4294967279)Tn(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;g=6}}else{g=e+16&-16;a=Lk(g)|0;f[h>>2]=a;f[h+8>>2]=g|-2147483648;f[h+4>>2]=e;g=6}if((g|0)==6)cf(a|0,d|0,e|0)|0;b[a+e>>0]=0;ah(c,h,i)|0;e=i+11|0;a=b[e>>0]|0;d=a<<24>>24<0?f[i>>2]|0:i;if((b[h+11>>0]|0)<0){Co(f[h>>2]|0);a=b[e>>0]|0}if(a<<24>>24>=0){u=j;return d|0}Co(f[i>>2]|0);u=j;return d|0}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;h=f[a>>2]|0;k=(f[i>>2]|0)-h|0;d=(k|0)/12|0;c=d+1|0;if(c>>>0>357913941)Tn(a);j=a+8|0;g=((f[j>>2]|0)-h|0)/12|0;e=g<<1;e=g>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{g=Lk(e*12|0)|0;break}else g=0;while(0);d=g+(d*12|0)|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];c=d+(((k|0)/-12|0)*12|0)|0;if((k|0)>0)cf(c|0,h|0,k|0)|0;f[a>>2]=c;f[i>>2]=d+12;f[j>>2]=g+(e*12|0);if(!h)return;Co(h);return}function pg(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)Tn(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=Lk(l)|0;if(g|0)rm(k,m,g)|0;if(i|0)rm(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)rm(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Co(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;qn(k+m|0,n);u=o;return}function qg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(gj(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Pa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Pa[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);cf(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function rg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;j=u;u=u+16|0;i=j;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){k=d+8|0;l=f[k+4>>2]|0;g=d+16|0;e=g;c=f[e>>2]|0;e=f[e+4>>2]|0;if((l|0)>(e|0)|((l|0)==(e|0)?(f[k>>2]|0)>>>0>c>>>0:0)){l=b[(f[d>>2]|0)+c>>0]|0;k=Bl(c|0,e|0,1,0)|0;c=g;f[c>>2]=k;f[c+4>>2]=I;c=l&255;f[a+24>>2]=c;break}else{l=0;u=j;return l|0}}else c=f[a+24>>2]|0;while(0);f[i>>2]=1184;f[i+4>>2]=-1;cn(i,c);l=Di(i,f[a+16>>2]|0)|0;u=j;return l|0}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){dh(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Tn(a);g=d-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{g=Lk(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;dh(e|0,0,b<<2|0)|0;c=e+(0-h<<2)|0;if((i|0)>0)cf(c|0,j|0,i|0)|0;f[a>>2]=c;f[k>>2]=e+(b<<2);f[l>>2]=g+(d<<2);if(!j)return;Co(j);return}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+212|0;h=a+216|0;c=f[i>>2]|0;a:do if((f[h>>2]|0)!=(c|0)){j=a+4|0;d=0;b:while(1){c=f[c+(d*116|0)>>2]|0;if(((c|0)>=0?(k=f[j>>2]|0,e=f[k+8>>2]|0,(c|0)<((f[k+12>>2]|0)-e>>2|0)):0)?(g=f[e+(c<<2)>>2]|0,(Na[f[(f[g>>2]|0)+24>>2]&127](g)|0)>0):0){c=0;do{if((Oa[f[(f[g>>2]|0)+20>>2]&127](g,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Na[f[(f[g>>2]|0)+24>>2]&127](g)|0))}d=d+1|0;c=f[i>>2]|0;if(d>>>0>=(((f[h>>2]|0)-c|0)/116|0)>>>0)break a}k=(f[i>>2]|0)+(d*116|0)+76|0;return k|0}while(0);k=a+184|0;return k|0}function ug(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{f[h>>2]=b+-116;c=f[b+-12>>2]|0;if(c|0){e=b+-8|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[b+-28>>2]|0;if(c|0){e=b+-24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}c=f[b+-40>>2]|0;if(c|0){e=b+-36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Co(c)}Dh(b+-112|0);b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Co(b);return}function vg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;d=g;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Na[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=g;return e|0}f[d>>2]=1212;f[d+4>>2]=-1;c=d+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;lj(d,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));e=Di(d,f[a+16>>2]|0)|0;f[d>>2]=1212;a=f[c>>2]|0;if(a|0){c=d+12|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Co(a)}u=g;return e|0}function wg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-116;d=f[c+-12>>2]|0;if(d|0){g=c+-8|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}d=f[c+-28>>2]|0;if(d|0){g=c+-24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}d=f[c+-40>>2]|0;if(d|0){g=c+-36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d)}Dh(c+-112|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Co(b);return}function xg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((e-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}g=f[a>>2]|0;h=d-g|0;d=h+c|0;if((d|0)<0)Tn(a);g=e-g|0;i=g<<1;d=g>>>0<1073741823?(i>>>0>>0?d:i):2147483647;if(!d)e=0;else e=Lk(d)|0;i=e+h|0;h=e+d|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)cf(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;Co(d);return}function yg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+140|0;b=f[h>>2]|0;if((b|0)<=0){a=1;return a|0}d=b<<4;d=zo(b>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<4)|0;b=d;do{$n(b);b=b+16|0}while((b|0)!=(c|0));g=a+136|0;e=f[g>>2]|0;f[g>>2]=d;if(e|0){c=e+-4|0;b=f[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(e|0))}Ao(c)}if((f[h>>2]|0)<=0){a=1;return a|0}b=0;while(1){if(!(nd((f[g>>2]|0)+(b<<4)|0,a)|0)){b=0;c=13;break}b=b+1|0;if((b|0)>=(f[h>>2]|0)){b=1;c=13;break}}if((c|0)==13)return b|0;return 0}function zg(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Ik()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1159];ql(20240,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Pa[f[(f[262]|0)+16>>2]&31](1048,d,e)|0;b=f[1159]|0;if(d){i=f[e>>2]|0;i=Na[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;ql(20154,g)}else{f[i>>2]=b;f[i+4>>2]=a;ql(20199,i)}}ql(20278,h)}function Ag(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!(cg(a+8|0,c)|0)){a=0;return a|0}do if((j[c+38>>1]|0)<514){e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=Bl(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)<2){f[a+68>>2]=e&255;break}else{i=0;return i|0}}while(0);i=nd(a+88|0,c)|0;return i|0}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;h=j+12|0;g=j;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;e=Uh(d)|0;if(e>>>0>4294967279)Tn(g);if(e>>>0<11){b[g+11>>0]=e;if(!e)a=g;else{a=g;i=6}}else{i=e+16&-16;a=Lk(i)|0;f[g>>2]=a;f[g+8>>2]=i|-2147483648;f[g+4>>2]=e;i=6}if((i|0)==6)cf(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=ah(c,g,h)|0;if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);if((b[h+11>>0]|0)>=0){u=j;return a|0}Co(f[h>>2]|0);u=j;return a|0}function Cg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;h=f[a>>2]|0;f[a>>2]=0;if(!h)return;a=f[h+28>>2]|0;if(a|0)do{c=a;a=f[a>>2]|0;d=c+8|0;Cg(c+20|0);if((b[d+11>>0]|0)<0)Co(f[d>>2]|0);Co(c)}while((a|0)!=0);g=h+20|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Co(a);a=f[h+8>>2]|0;if(a|0)do{e=a;a=f[a>>2]|0;g=e+8|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);Co(e)}while((a|0)!=0);a=f[h>>2]|0;f[h>>2]=0;if(a|0)Co(a);Co(h);return}function Dg(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+4>>2]=3180;b=f[a+24>>2]|0;if(b|0)Co(b);b=f[a+12>>2]|0;if(!b)return;Co(b);return}function Eg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;if(!(Of(a+8|0,c)|0)){a=0;return a|0}do if((j[c+38>>1]|0)<514){e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=Bl(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;if((e&255)<2){f[a+68>>2]=e&255;break}else{i=0;return i|0}}while(0);i=nd(a+88|0,c)|0;return i|0}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=Xk(e,g+1|0,20151,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;Bh(c,g,0);e=b[h>>0]|0}Bh(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function Gg(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(yo()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=po()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=po()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Hg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3272;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));jk(b);d=a+372|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[a+392>>2]=-1;f[a+396>>2]=-1;f[a+400>>2]=2;f[a+404>>2]=7;d=a+408|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;return}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+4|0;i=f[a>>2]|0;l=(f[j>>2]|0)-i|0;h=l>>2;c=h+1|0;if(c>>>0>1073741823)Tn(a);k=a+8|0;g=(f[k>>2]|0)-i|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}else{g=Lk(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;f[e>>2]=f[b>>2];c=e+(0-h<<2)|0;if((l|0)>0)cf(c|0,i|0,l|0)|0;f[a>>2]=c;f[j>>2]=e+4;f[k>>2]=g+(d<<2);if(!i)return;Co(i);return}function Jg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;if((d|0)<0){j=0;return j|0}j=a+4|0;a=f[j>>2]|0;e=a+4|0;c=f[e>>2]|0;b=f[a>>2]|0;g=c-b>>2;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+(d<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{sg(a,d-g|0);d=f[i>>2]|0}if((d|0)<=0){j=1;return j|0}e=f[j>>2]|0;a=f[e>>2]|0;c=(f[e+4>>2]|0)-a>>2;b=0;while(1){if(c>>>0<=b>>>0){b=10;break}f[a+(b<<2)>>2]=b;b=b+1|0;if((b|0)>=(d|0)){a=1;b=12;break}}if((b|0)==10)Tn(e);else if((b|0)==12)return a|0;return 0}function Kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;k=u;u=u+80|0;j=k;i=k+56|0;g=k+40|0;e=j;d=e+40|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));Wb(g,j,i);c=f[g>>2]|0;if(!c){c=g+4|0;if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);i=h[i+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;j=j+24|0;Ho(j);u=k;return}else{f[a>>2]=c;c=g+4|0;eh(a+4|0,c);if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);j=j+24|0;Ho(j);u=k;return}}function Lg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0)do{d=c;c=f[c>>2]|0;g=d+8|0;h=d+20|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){Lg(e);Co(e)}if((b[g+11>>0]|0)<0)Co(f[g>>2]|0);Co(d)}while((c|0)!=0);h=a+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)Co(c);c=f[a+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Co(d)}if((b[h+11>>0]|0)<0)Co(f[h>>2]|0);Co(g)}while((c|0)!=0);c=f[a>>2]|0;f[a>>2]=0;if(!c)return;Co(c);return}function Mg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;mf(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;mf(a+12|0,j,d);ye(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,3580);Kh(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Kh(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function Ng(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;h=k;i=k+8|0;p[h>>3]=0.0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=Uh(d)|0;if(g>>>0>4294967279)Tn(i);if(g>>>0<11){b[i+11>>0]=g;if(!g)a=i;else{a=i;j=6}}else{j=g+16&-16;a=Lk(j)|0;f[i>>2]=a;f[i+8>>2]=j|-2147483648;f[i+4>>2]=g;j=6}if((j|0)==6)cf(a|0,d|0,g|0)|0;b[a+g>>0]=0;If(c,i,h)|0;e=+p[h>>3];if((b[i+11>>0]|0)>=0){u=k;return +e}Co(f[i>>2]|0);u=k;return +e}function Og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;f[g>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=Uh(d)|0;if(e>>>0>4294967279)Tn(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Lk(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)cf(a|0,d|0,e|0)|0;b[a+e>>0]=0;vh(c,h,g)|0;a=f[g>>2]|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Co(f[h>>2]|0);u=j;return a|0}function Pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}k=f[i>>2]|0;e=Lk(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;Co(g);return}function Qg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;if((d|0)!=1){f[a>>2]=0;u=j;return}g=f[b+12>>2]|0;d=f[b+4>>2]|0;b=h;e=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(e|0));ef(i,c,g,d,h);e=f[h+24>>2]|0;if(e|0){b=h+28|0;d=f[b>>2]|0;if((d|0)!=(e|0))f[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e)}f[a>>2]=f[i>>2];u=j;return}function Rg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;g=j;h=j+8|0;p[g>>3]=0.0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=Uh(d)|0;if(e>>>0>4294967279)Tn(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Lk(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)cf(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=If(c,h,g)|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Co(f[h>>2]|0);u=j;return a|0}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if(b>>>0<64){e=f[a+8>>2]|0;if(e>>>0<=1){h=0;return h|0}b=f[c>>2]|0;c=1;d=0;do{d=(f[b+(d<<2)>>2]|0)>>>0>(f[b+(c<<2)>>2]|0)>>>0?c:d;c=c+1|0}while(c>>>0>>0);return d|0}h=a+576|0;g=f[h>>2]|0;e=32-g|0;c=a+572|0;b=f[c>>2]|0;d=f[b>>2]<>2]=a;g=b+4|0;f[c>>2]=g;h=32-a|0;h=(f[g>>2]|0)>>>h|d>>>(h-e|0);return h|0}d=d>>>28;g=g+4|0;f[h>>2]=g;if((g|0)!=32){h=d;return h|0}f[c>>2]=b+4;f[h>>2]=0;h=d;return h|0}function Tg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;f[g>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=Uh(d)|0;if(e>>>0>4294967279)Tn(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Lk(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)cf(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=vh(c,h,g)|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Co(f[h>>2]|0);u=j;return a|0}function Ug(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512){j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>e>>>0:0)){k=b[(f[d>>2]|0)+e>>0]|0;g=Bl(e|0,g|0,1,0)|0;j=i;f[j>>2]=g;f[j+4>>2]=I;f[a+24>>2]=k&255;break}else{k=0;return k|0}}while(0);k=oc(a,c,d)|0;return k|0}function Vg(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Co(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b)}Co(d);return}function Wg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=Bl(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do if(e<<24>>24<0)if(Wg(a,c)|0){d=a;d=ml(f[d>>2]|0,f[d+4>>2]|0,7)|0;i=I;h=a;f[h>>2]=d;f[h+4>>2]=i;d=d|e&127;e=i;break}else{i=0;return i|0}else{d=e&255;e=0}while(0);i=a;f[i>>2]=d;f[i+4>>2]=e;i=1;return i|0}function Xg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=4124;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=po()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=uf(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function Yg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;nm(e,c,d)|0;b[j>>0]=0;qn(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;pg(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Zg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;if(!d){a=0;return a|0}e=f[c>>2]|0;if(!e){a=0;return a|0}g=f[e>>2]|0;oh(d,g,(f[e+4>>2]|0)-g|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;e=c+40|0;d=f[e+4>>2]|0;g=a+40|0;f[g>>2]=f[e>>2];f[g+4>>2]=d;g=c+48|0;d=f[g+4>>2]|0;e=a+48|0;f[e>>2]=f[g>>2];f[e+4>>2]=d;f[a+56>>2]=f[c+56>>2];c=c+8|0;a=a+8|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];a=1;return a|0}function _g(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){nh(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;kl(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;qn(e+i|0,k)}u=l;return a|0}function $g(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2996;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Sa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=3424;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Co(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b);Co(a);return}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=kc(a,b)|0;if(!b){c=0;return c|0}e=b+20|0;d=f[e>>2]|0;a=b+24|0;b=f[a>>2]|0;if((d|0)==(b|0)){c=0;return c|0}Bh(c,b-d|0,0);d=xj(c,0)|0;c=f[e>>2]|0;cf(d|0,c|0,(f[a>>2]|0)-c|0)|0;c=1;return c|0}function bh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Zm(a,f[c+8>>2]|0,g)|0)){if(Zm(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else lk(0,c,d,e);while(0);return}function ch(a){a=a|0;Ho(a+496|0);Ho(a+480|0);Ho(a+464|0);Ho(a+448|0);Ho(a+432|0);Ho(a+416|0);Ho(a+400|0);Ho(a+384|0);Ho(a+368|0);Ho(a+352|0);Ho(a+336|0);Ho(a+320|0);Ho(a+304|0);Ho(a+288|0);Ho(a+272|0);Ho(a+256|0);Ho(a+240|0);Ho(a+224|0);Ho(a+208|0);Ho(a+192|0);Ho(a+176|0);Ho(a+160|0);Ho(a+144|0);Ho(a+128|0);Ho(a+112|0);Ho(a+96|0);Ho(a+80|0);Ho(a+64|0);Ho(a+48|0);Ho(a+32|0);Ho(a+16|0);Ho(a);return}function dh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function eh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+16|0;e=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;c=f[c+4>>2]|0;if(c>>>0>4294967279)Tn(a);if(c>>>0<11)b[a+11>>0]=c;else{i=c+16&-16;h=Lk(i)|0;f[a>>2]=h;f[a+8>>2]=i|-2147483648;f[a+4>>2]=c;a=h}rm(a,d,c)|0;b[e>>0]=0;qn(a+c|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=g;return}function fh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(!a){d=1;return d|0}j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>h>>>0:0))){k=0;return k|0}k=b[(f[d>>2]|0)+h>>0]|0;h=Bl(h|0,g|0,1,0)|0;j=i;f[j>>2]=h;f[j+4>>2]=I;switch(k<<24>>24){case 0:{k=pc(a,c,d,e)|0;return k|0}case 1:{k=Kc(a,d,e)|0;return k|0}default:{k=0;return k|0}}return 0}function gh(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function hh(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2996;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Sa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=3424;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Co(b);return}function ih(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3224;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));jk(b);d=a+372|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;$n(a+392|0);f[a+408>>2]=-1;f[a+412>>2]=-1;return}function jh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;ie(g,c);e=a+4|0;i=f[g>>2]|0;f[g>>2]=0;d=f[e>>2]|0;f[e>>2]=i;if(d){uh(d);Co(d);d=f[g>>2]|0;f[g>>2]=0;if(d|0){uh(d);Co(d)}}else f[g>>2]=0;if(!(f[e>>2]|0)){i=0;u=h;return i|0}i=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[g>>0]=0;mf(a+56|0,i,g);i=1;u=h;return i|0}function kh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1352;c=a+16|0;d=f[c>>2]|0;f[c>>2]=0;if(!d)return;c=d+88|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a)}a=f[d+68>>2]|0;if(a|0){c=d+72|0;b=f[c>>2]|0;if((b|0)!=(a|0))f[c>>2]=b+(~((b+-4-a|0)>>>2)<<2);Co(a)}c=d+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a)}Co(d);return}function lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)>=33)ra(17130,16604,63,17262);if((b|0)<=0)ra(17291,16604,64,17262);k=a+8|0;i=a+4|0;j=0-(h[a+12>>0]|0)&255;d=f[k>>2]|0;e=0;do{e=e<<1;if(d>>>0<4096?(g=f[i>>2]|0,(g|0)>0):0){m=f[a>>2]|0;l=g+-1|0;f[i>>2]=l;d=h[m+l>>0]|0|d<<8;f[k>>2]=d}n=d&255;l=X(d>>>8,j)|0;m=n>>>0>>0;d=m?l+n|0:d-j-l|0;f[k>>2]=d;e=m&1|e;b=b+-1|0}while((b|0)!=0);f[c>>2]=e;return}function mh(a,b){a=a|0;b=b|0;if(!b)return;else{mh(a,f[b>>2]|0);mh(a,f[b+4>>2]|0);sh(b+20|0,f[b+24>>2]|0);Co(b);return}}function nh(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)Tn(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=Lk(k)|0;if(g|0)rm(j,l,g)|0;d=e-h-g|0;if(d|0)rm(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)Co(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){xg(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else Le(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Bl(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function ph(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=Lk(32)|0,Zk(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Co(e)}Co(d)}e=Fj(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Kk(e|0,d|0,c|0,0)|0;if(!(oh(i,0,g,I)|0)){i=0;return i|0}si(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function qh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+20|0;j=h+16|0;g=h;e=b[a+24>>0]|0;f[g>>2]=f[902];f[g+4>>2]=f[903];f[g+8>>2]=f[904];f[g+12>>2]=f[905];f[j>>2]=c;f[i>>2]=f[j>>2];if(!(eb(a,i,e,g)|0)){j=0;u=h;return j|0}re(d,g,g+(e<<24>>24<<2)|0);j=1;u=h;return j|0}function rh(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=e>>>0>1073741823?-1:e<<2;h=zo(g)|0;dh(h|0,0,g|0)|0;g=a+8|0;dg(g,h,b,c);if((e|0)>=(d|0)){Ao(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;dg(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Ao(h);return 1}function sh(a,c){a=a|0;c=c|0;var d=0;if(!c)return;sh(a,f[c>>2]|0);sh(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)Co(f[d>>2]|0);if((b[a+11>>0]|0)<0)Co(f[a>>2]|0);Co(c);return}function th(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(Zm(a,b,0)|0))if((b|0)!=0?(e=yf(b,1072,1056,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Va[f[(f[e>>2]|0)+28>>2]&7](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function uh(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function vh(a,c,d){a=a|0;c=c|0;d=d|0;a=kc(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=4){d=0;return d|0}a=c;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;d=1;return d|0}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,h=0,i=0;g=e>>>0>1073741823?-1:e<<2;h=zo(g)|0;dh(h|0,0,g|0)|0;g=a+8|0;gg(g,h,b,c);if((e|0)>=(d|0)){Ao(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;gg(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Ao(h);return 1}function xh(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function yh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=c+8|0;i=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){i=0;return i|0}h=b[(f[c>>2]|0)+e>>0]|0;i=Bl(e|0,d|0,1,0)|0;d=g;f[d>>2]=i;f[d+4>>2]=I;d=h&255;do if(d&128)if(yh(a,c)|0){d=f[a>>2]<<7;f[a>>2]=d;d=d|h&127;break}else{i=0;return i|0}while(0);f[a>>2]=d;i=1;return i|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+4>>2]|0;if(!d){e=0;return e|0}if((c|0)<=-1)ra(17381,17397,59,17494);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))ra(17504,17397,60,17494);e=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;a=f[d+40>>2]|0;b=f[d+44>>2]|0;if((a|0)==(b|0)){e=0;return e|0}else c=a;while(1){a=f[c>>2]|0;c=c+4|0;if((f[a+40>>2]|0)==(e|0)){c=9;break}if((c|0)==(b|0)){a=0;c=9;break}}if((c|0)==9)return a|0;return 0}function Ah(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Co(c)}Co(b)}Co(a);return}function Bh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;qn(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;qn(a+c|0,h);b[g>>0]=c;break}else _g(a,c-e|0,d)|0;while(0);u=j;return}function Ch(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;i=j+4|0;f[h>>2]=c;c=Lk(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=24;d=c;e=14811;g=d+24|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+24>>0]=0;Hh(rc(a,h)|0,i,1);if((b[i+11>>0]|0)>=0){u=j;return}Co(f[i>>2]|0);u=j;return}function Dh(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+12>>2]|0;if(b|0)Co(b);b=f[a>>2]|0;if(!b)return;Co(b);return}function Eh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=3424;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Co(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Co(b);Co(a);return}function Fh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(gj(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Pa[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Gh(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3424;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Sa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Co(b);return}function Hh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;Yi(e,d&1);a=mg(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}Lf(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Ih(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(Io(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Fh(c,a)|0;Ho(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Fh(c,a)|0}while(0);return d|0}function Jh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2108;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c){Co(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);Co(a);return}function Kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=sa(8)|0;Am(a,17313);f[a>>2]=4748;wa(a|0,1128,100)}j=(f[d>>2]|0)-c|0;h=j>>2;i=Lk(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)cf(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;Co(c);return}function Lh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1744;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c){Co(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);Co(a);return}function Mh(a){a=a|0;var b=0,c=0,d=0;Ho(a+168|0);b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=a+136|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Ho(b)}while((b|0)!=(c|0))}Ao(d)}Ho(a+120|0);Ho(a+80|0);Ho(a+64|0);Ho(a+24|0);return}function Nh(a){a=a|0;var b=0,c=0;f[a>>2]=2108;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Oh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0,j=0;b=f[a+32>>2]|0;j=b+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;g=b+16|0;c=g;e=f[c>>2]|0;c=Bl(e|0,f[c+4>>2]|0,4,0)|0;d=I;if((j|0)<(d|0)|(j|0)==(d|0)&i>>>0>>0){j=0;return j|0}j=(f[b>>2]|0)+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;i=g;f[i>>2]=c;f[i+4>>2]=d;f[(f[a+4>>2]|0)+80>>2]=j;j=1;return j|0}function Ph(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Vn(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Qh(a){a=a|0;var b=0,c=0;f[a>>2]=1744;b=f[a+96>>2]|0;if(b|0)Co(b);b=f[a+84>>2]|0;if(b|0)Co(b);b=f[a+72>>2]|0;if(b|0)Co(b);b=f[a+60>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Rh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3056;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));jk(b);return}function Sh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)Tn(a);g=Lk(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;cf(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Th(a,c,d){a=a|0;c=c|0;d=d|0;c=bf(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Ph(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Uh(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Vh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Pa[f[(f[g>>2]|0)+20>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Wh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3108;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3132;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Ze(a+40|0,b);a=1;return a|0}return 0}function Yh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Tn(a);e=Lk(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{Sh(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Zh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Na[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Pa[f[(f[g>>2]|0)+16>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function _h(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=sl(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+_h(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function $h(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3200;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3180;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function ai(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2164;b=f[a+76>>2]|0;if(b|0)Co(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ao(b);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function bi(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);mh(a+12|0,f[a+16>>2]|0);sh(a,f[a+4>>2]|0);Co(a);return}function ci(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}if(!(f[a+36>>2]|0)){a=0;return a|0}a=(f[a+72>>2]|0)!=-1;return a|0}function di(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[18259+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=18347;e=5;break}}if((e|0)==2)if(!d)d=18347;else{a=18347;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return _n(d,f[c+20>>2]|0)|0}function ei(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3108;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3132;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b)return;Co(b);return}function fi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1800;b=f[a+76>>2]|0;if(b|0)Co(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Ao(b);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function gi(a){a=a|0;if(!(f[a+64>>2]|0)){a=0;return a|0}if(!(f[a+68>>2]|0)){a=0;return a|0}if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}if(!(f[a+56>>2]|0)){a=0;return a|0}a=(f[a+92>>2]|0)!=-1;return a|0}function hi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3200;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}f[a+12>>2]=3180;b=f[a+32>>2]|0;if(b|0)Co(b);b=f[a+20>>2]|0;if(!b)return;Co(b);return}function ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Lk(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=zf(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;uh(a);Co(a);return}function ji(a,b,c){a=a|0;b=b|0;c=c|0;switch(c<<24>>24){case 0:{c=Lk(20)|0;Fl(c);break}case 1:{c=Lk(24)|0;fm(c);break}case 2:{c=Lk(36)|0;Tk(c);break}case 3:{c=Lk(28)|0;Zl(c);break}default:c=0}f[a>>2]=c;return}function ki(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=cm(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return cm((tc(h,g,cm(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function li(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){zi(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function mi(a){a=a|0;var b=0,c=0;f[a>>2]=2164;b=f[a+76>>2]|0;if(b|0)Co(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Ak(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=en(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function oi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3564;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+84>>2]|0;if(!b){Re(a);Co(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Re(a);Co(a);return}function pi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;$b(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){Uj(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function ri(a){a=a|0;var b=0,c=0;f[a>>2]=1800;b=f[a+76>>2]|0;if(b|0)Co(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function si(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function ti(a,b,c){a=a|0;b=b|0;c=c|0;if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)<512?!(Na[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){a=0;return a|0}a=oc(a,b,c)|0;return a|0}function ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)ra(17558,17583,63,17666);d=f[a+96>>2]|0;if((((f[a+100>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;te(c,a,a+12|0);return 1}else ra(17671,17583,64,17666);return 0}function vi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Ld(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Hj(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Co(f[c>>2]|0);u=e;return d|0}function wi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3564;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Co(b)}b=f[a+84>>2]|0;if(!b){Re(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Re(a);return}function xi(a,b,c){a=a|0;b=b|0;c=c|0;if(!($k(a,b,c)|0)){c=0;return c|0}b=f[b+4>>2]|0;if((c|0)<=-1)ra(17381,17397,67,17494);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))ra(17504,17397,68,17494);c=(f[(f[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function yi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Md(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Hj(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Co(f[c>>2]|0);u=e;return d|0}function zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else xg(a,b-g|0);a=a+24|0;h=a;h=Bl(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Ai(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2220;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Bi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0;e=h[a+12>>0]|0;g=a+8|0;b=f[g>>2]|0;if(b>>>0<4096?(d=a+4|0,c=f[d>>2]|0,(c|0)>0):0){i=f[a>>2]|0;a=c+-1|0;f[d>>2]=a;b=h[i+a>>0]|0|b<<8;f[g>>2]=b}d=b&255;a=0-e&255;e=X(b>>>8,a)|0;i=d>>>0>>0;f[g>>2]=i?e+d|0:b-a-e|0;return i|0}function Ci(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1856;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Di(a,b){a=a|0;b=b|0;var c=0,d=0;d=Lk(40)|0;f[d>>2]=-1;Zk(d+8|0);Ta[f[(f[a>>2]|0)+16>>2]&7](a,d);c=b+88|0;b=f[c>>2]|0;f[c>>2]=d;if(!b)return 1;a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Co(a)}Co(b);return 1}function Ei(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1240;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}b=f[a+4>>2]|0;if(!b){Co(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|b|0)<0){a=0;return a|0}d=b*3|0;if((b|0)>715827882){a=0;return a|0}ye(a,d,3552);ye(a+12|0,d,3548);Kh(a+24|0,c);a=1;return a|0}function Gi(a){a=a|0;var b=0,c=0,d=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=f[b>>2]|0;b=b+4|0;if(!(Oa[f[(f[d>>2]|0)+16>>2]&127](d,f[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 Hi(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Zm(a,f[b+8>>2]|0,g)|0)gh(0,b,c,d,e);else{a=f[a+8>>2]|0;Xa[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Ii(a){a=a|0;var b=0,c=0;f[a>>2]=2220;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Ji(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2276;Ho(a+108|0);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Ki(a){a=a|0;var b=0,c=0;f[a>>2]=2868;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1460;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){kh(a);Co(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);kh(a);Co(a);return}function Li(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;Bh(a,c,0);return}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;e=a;if((c|0)==(a|0)){b=0;return b|0}d=c-a>>2;c=0;while(1){a=f[e+(c<<2)>>2]|0;if((f[a+60>>2]|0)==(b|0)){c=5;break}c=c+1|0;if(c>>>0>=d>>>0){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function Ni(a){a=a|0;var b=0,c=0;f[a>>2]=1856;b=f[a+76>>2]|0;if(b|0)Co(b);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Co(c);return}function Oi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1912;Ho(a+108|0);f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Pi(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1240;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Co(d);return}function Qi(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;dh(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Lm(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Lm(a,f,e)}u=g;return}function Ri(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;d=a;if((c|0)==(a|0)){b=-1;return b|0}c=c-a>>2;a=0;while(1){if((f[(f[d+(a<<2)>>2]|0)+60>>2]|0)==(b|0)){c=5;break}a=a+1|0;if(a>>>0>=c>>>0){a=-1;c=5;break}}if((c|0)==5)return a|0;return 0}function Si(a){a=a|0;var b=0,c=0;f[a>>2]=2868;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Ao(b);f[a>>2]=1460;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){kh(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);kh(a);return}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)ra(17381,17397,67,17494);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else ra(17504,17397,68,17494);return 0}function Ui(a){a=a|0;var b=0,c=0;f[a>>2]=2276;Ho(a+108|0);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function Vi(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Oa[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function Wi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;c=f[a>>2]|0;d=a+4|0;g=f[d>>2]|0;e=c;b=g+(~((g+-4-e|0)>>>2)<<2)|0;if((g|0)==(c|0))b=c;else f[d>>2]=b;f[a+16>>2]=0;f[a+12>>2]=b;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);Co(c);return}function Xi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Zm(a,f[b+8>>2]|0,0)|0)pi(0,b,c,d);else{a=f[a+8>>2]|0;Va[f[(f[a>>2]|0)+28>>2]&7](a,b,c,d)}return}function Yi(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Li(d);Fg(a,d,b);jm(d);u=c;return}function Zi(a){a=a|0;var b=0,c=0;f[a>>2]=1912;Ho(a+108|0);f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function _i(a,b){a=a|0;b=b|0;var c=0;c=f[a+4>>2]|0;if(c|0?((h[c+36>>0]|0)<<8&65535)<512:0){c=1;return c|0}c=Oa[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0;return c|0}function $i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((qm(Aa(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function aj(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function bj(a,b){a=a|0;b=b|0;var c=0;qk(a);f[a>>2]=1400;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function cj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function dj(a,b,c){a=a|0;b=b|0;c=c|0;if(!(ph(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){a=0;return a|0}a=Pa[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return a|0}function ej(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=kf(f[(f[a+36>>2]|0)+(c<<2)>>2]|0)|0;return a|0}function fj(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function gj(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function hj(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function ij(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;e=g;f[a+36>>2]=15;if((f[a>>2]&64|0)==0?(f[e>>2]=f[a+60>>2],f[e+4>>2]=21523,f[e+8>>2]=g+16,Ca(54,e|0)|0):0)b[a+75>>0]=-1;e=gf(a,c,d)|0;u=g;return e|0}function jj(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function kj(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{ic(a,0,0);return}}function lj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;re(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function mj(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;za(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;za(12);return -1}return b|0}function nj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function oj(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function pj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(Io(d)|0)==0;a=qg(a,e,d)|0;if(!g)Ho(d)}else a=qg(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function qj(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function rj(a,c){a=a|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;e=d;Kg(e,c);a=f[e+16>>2]|0;c=e+4|0;if((b[c+11>>0]|0)>=0){u=d;return a|0}Co(f[c>>2]|0);u=d;return a|0}function sj(a,b){a=a|0;b=b|0;if(!(Oa[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Oa[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function tj(a,c,d){a=a|0;c=c|0;d=d|0;if(!($k(a,c,d)|0)){a=0;return a|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){a=0;return a|0}a=(f[d+28>>2]|0)==9;return a|0}function uj(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function vj(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function wj(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Zm(a,f[b+8>>2]|0,g)|0)gh(0,b,c,d,e);return}function xj(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)d=f[a+4>>2]|0;else d=d&255;if(d>>>0<=c>>>0)Tn(a);if(e)a=f[a>>2]|0;return a+c|0}function yj(a){a=a|0;var b=0,c=0;f[a>>2]=1460;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){kh(a);Co(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);kh(a);Co(a);return}function zj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1520;b=f[a+32>>2]|0;if(!b){Co(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Aj(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Bj(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;mf(a+20|0,e,d);u=c;return}function Cj(a,c){a=a|0;c=c|0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;c=1}else c=0;return c|0}function Dj(){var a=0,b=0;a=Lk(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Ej(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;mf(a+20|0,e,d);u=c;return}function Fj(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 Gj(a){a=a|0;f[a>>2]=3156;Dg(a+8|0);Co(a);return}function Hj(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Yg(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Ij(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Jj(a){a=a|0;var c=0,d=0;b[a+36>>0]=0;d=Bl(f[a+32>>2]|0,0,7,0)|0;d=sl(d|0,I|0,3)|0;a=a+16|0;c=a;c=Bl(d|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;f[a>>2]=c;f[a+4>>2]=I;return}function Kj(a){a=a|0;var b=0,c=0;f[a>>2]=1460;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){kh(a);return}Sa[f[(f[b>>2]|0)+4>>2]&127](b);kh(a);return}function Lj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ra(6112,6118,76,6271);return 0}function Mj(a,b){a=a|0;b=b|0;var c=0,d=0;d=Uh(b)|0;c=Lk(d+13|0)|0;f[c>>2]=d;f[c+4>>2]=d;f[c+8>>2]=0;c=wn(c)|0;cf(c|0,b|0,d+1|0)|0;f[a>>2]=c;return}function Nj(a){a=a|0;f[a>>2]=3156;Dg(a+8|0);return}function Oj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;jc(a,b,c,d,e);return}function Pj(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function Qj(a){a=a|0;var b=0,c=0;f[a>>2]=1520;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function Rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Zm(a,f[b+8>>2]|0,0)|0)pi(0,b,c,d);return}function Sj(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function Tj(a){a=a|0;var b=0;f[a>>2]=3424;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function Uj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else cf(a,c,d)|0;return a|0}function Vj(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function Wj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1212;b=f[a+8>>2]|0;if(!b){Co(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b);Co(a);return}function Xj(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)ra(17381,17397,59,17494);c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)>(b|0))return f[c+(b<<2)>>2]|0;else ra(17504,17397,60,17494);return 0}function Yj(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function Zj(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[18241+(a&15)>>0]|0|e;a=sl(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Pa[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function $j(){var a=0,b=0;b=Ik()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)vm(f[a+12>>2]|0);vm(Hn()|0)}function ak(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function bk(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Co(b)}Co(a);return}function ck(a){a=a|0;var b=0,c=0;if(go(a)|0?(b=Cn(f[a>>2]|0)|0,c=b+8|0,a=f[c>>2]|0,f[c>>2]=a+-1,(a+-1|0)<0):0)Co(b);return}function dk(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function ek(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function fk(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function gk(a){a=a|0;var b=0,c=0;f[a>>2]=1212;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Co(c);return}function hk(a,b){a=a|0;b=b|0;return cg(a+8|0,b)|0}function ik(a,b,c){a=a|0;b=b|0;c=c|0;Gb(a,b,c);return}function jk(a){a=a|0;fk(a);fk(a+40|0);$n(a+80|0);fk(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function kk(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(11802,6578,61,11813);return 0}function lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function mk(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(11802,11397,65,11813);return 0}function nk(a){a=a|0;var b=0;f[a>>2]=3132;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function ok(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=sl(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function pk(){var a=0,b=0;a=Lk(24)|0;f[a>>2]=1212;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function qk(a){a=a|0;f[a>>2]=1240;a=a+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function rk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;cf(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function sk(a,b){a=a|0;b=b|0;return Of(a+8|0,b)|0}function tk(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(11802,6898,70,11813);return 0}function uk(a){a=a|0;var c=0;qj(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function vk(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Co(b)}Co(a);return}function wk(a){a=a|0;var b=0;f[a>>2]=3180;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b){Co(a);return}Co(b);Co(a);return}function xk(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function yk(a,b,c){a=a|0;b=$(b);c=c|0;var d=La;if((c|0)<1){a=0;return a|0}d=$($(1.0)/$(c|0));n[a+4>>2]=d;n[a>>2]=b;a=1;return a|0}function zk(a,b,c){a=a|0;b=b|0;c=c|0;return fe(a,b,c)|0}function Ak(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;tc(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Bk(a){a=a|0;f[a>>2]=2476;Ho(a+88|0);Co(a);return}function Ck(a){a=a|0;var b=0;f[a>>2]=3132;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b)return;Co(b);return}function Dk(a){a=a|0;fn(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Ek(a){a=a|0;wl(a);f[a>>2]=3564;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Fk(a){a=a|0;f[a>>2]=2560;Ho(a+88|0);Co(a);return}function Gk(a){a=a|0;f[a>>2]=2700;Ho(a+88|0);Co(a);return}function Hk(a){a=a|0;f[a>>2]=2476;Ho(a+88|0);return}function Ik(){var a=0,b=0;a=u;u=u+16|0;if(!(Ia(21288,3)|0)){b=Ga(f[5323]|0)|0;u=a;return b|0}else ql(20429,a);return 0}function Jk(a){a=a|0;var b=0;f[a>>2]=3180;b=f[a+20>>2]|0;if(b|0)Co(b);b=f[a+8>>2]|0;if(!b)return;Co(b);return}function Kk(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=Ij(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function Lk(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Ya(b)|0;if(a|0)break;a=En()|0;if(!a){a=0;break}Ra[a&3]()}return a|0}function Mk(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Fo(f[a+60>>2]|0)|0;f[c>>2]=a;a=qm(Da(6,c|0)|0)|0;u=b;return a|0}function Nk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kd(b,c,d)|0}function Ok(a){a=a|0;f[a>>2]=2784;Ho(a+88|0);Co(a);return}function Pk(a){a=a|0;var b=0;b=u;u=u+16|0;Ob(a);if(!(Ja(f[5323]|0,0)|0)){u=b;return}else ql(20528,b)}function Qk(a){a=a|0;f[a>>2]=2560;Ho(a+88|0);return}function Rk(a){a=a|0;f[a>>2]=2700;Ho(a+88|0);return}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return fe(b,c,d)|0}function Tk(a){a=a|0;fm(a);f[a>>2]=2868;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function Uk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return zk(b,c,d)|0}function Vk(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function Wk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return (((f[a+8>>2]|0)+-1|0)==(d|0)?0:d+1|0)|0}function Xk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Xg(a,b,c,g)|0;u=e;return d|0}function Yk(a){a=a|0;f[a>>2]=2784;Ho(a+88|0);return}function Zk(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function _k(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function $k(a,b,c){a=a|0;b=b|0;c=c|0;return Ti(a,b,c)|0}function al(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 Qa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function bl(a,b,c){a=a|0;b=b|0;c=c|0;return Pj(b,c)|0}function cl(a){a=a|0;od(a);Co(a);return}function dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Fe(b,c,d)|0}function el(){var a=0;a=u;u=u+16|0;if(!(Ha(21292,103)|0)){u=a;return}else ql(20478,a)}function fl(a){a=a|0;pd(a);Co(a);return}function gl(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;Xa[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function hl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=b;b=uf(f[999]|0,a,d)|0;u=c;return b|0}function il(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Na[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function jl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return qh(b,c,d)|0}function kl(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)dh(a|0,(ao(c)|0)&255|0,b|0)|0;return a|0}function ll(a){a=a|0;return 4}function ml(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Oa[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function ol(a){a=a|0;var c=0;if(!a)return;c=a+4|0;if((b[c+11>>0]|0)<0)Co(f[c>>2]|0);Co(a);return}function pl(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Oa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function ql(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[906]|0;uf(b,a,c)|0;Ih(10,b)|0;Ea()}function rl(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Oa[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function sl(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function tl(a,b,c){a=a|0;b=b|0;c=c|0;return vi(a,b,c)|0}function ul(a){a=a|0;Qc(a);Co(a);return}function vl(a){a=a|0;return 5}function wl(a){a=a|0;var b=0;f[a>>2]=3592;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function xl(a){a=a|0;return 6}function yl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ui(b,c,d)|0}function zl(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Al(){}function Bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Cl(a,b){a=a|0;b=b|0;if(!b)b=0;else b=Nf(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;return bl(a,b,c)|0}function El(a,b,c){a=a|0;b=b|0;c=c|0;return we(b,c)|0}function Fl(a){a=a|0;f[a>>2]=1352;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Gl(a,b){a=a|0;b=b|0;Ch(a,b);return}function Hl(a){a=a|0;a=a+4|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function Il(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Wa[a&3](b|0,c|0,d|0,e|0,f|0)}function Jl(a,b,c){a=a|0;b=b|0;c=c|0;return yi(a,b,c)|0}function Kl(a,b,c){a=a|0;b=b|0;c=c|0;return Bg(a,b,c)|0}function Ll(a,b,c){a=a|0;b=b|0;c=c|0;return Rg(a,b,c)|0}function Ml(a,b,c){a=a|0;b=b|0;c=c|0;return ng(a,b,c)|0}function Nl(a,b,c){a=a|0;b=b|0;c=c|0;return +(+Ng(a,b,c))}function Ol(a){a=a|0;a=f[a+48>>2]|0;return Na[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Pl(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Ql(a,b){a=a|0;b=b|0;return Oa[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function Rl(a){a=a|0;a=f[a+48>>2]|0;return Na[f[(f[a>>2]|0)+24>>2]&127](a)|0}function Sl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Tl(a,b,c){a=a|0;b=b|0;c=c|0;return zh(a,b,c)|0}function Ul(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function Vl(a,b,c){a=a|0;b=b|0;c=c|0;return lm(b,c)|0}function Wl(a){a=a|0;a=f[a+48>>2]|0;return Na[f[(f[a>>2]|0)+36>>2]&127](a)|0}function Xl(a,b,c){a=a|0;b=b|0;c=c|0;return Tg(a,b,c)|0}function Yl(a,b,c){a=a|0;b=b|0;c=c|0;return Og(a,b,c)|0}function Zl(a){a=a|0;fm(a);f[a>>2]=2360;f[a+24>>2]=-1;return}function _l(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function $l(a,b,c){a=a|0;b=b|0;c=c|0;return Qf(b,c)|0}function am(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function bm(a){a=a|0;f[a+12>>2]=0;f[a+16>>2]=0;f[a>>2]=0;n[a+4>>2]=$(0.0);return}function cm(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 (I=d,a-c>>>0|0)|0}function dm(){var a=0;a=Lk(40)|0;f[a>>2]=-1;Zk(a+8|0);return a|0}function em(){var a=0;a=Lk(8)|0;f[a>>2]=1184;f[a+4>>2]=-1;return a|0}function fm(a){a=a|0;Fl(a);f[a>>2]=1460;f[a+20>>2]=0;return}function gm(a,b){a=a|0;b=b|0;Gl(a,b);return}function hm(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function im(a,b){a=a|0;b=b|0;return rj(a,b)|0}function jm(a){a=a|0;if((b[a+11>>0]|0)<0)Co(f[a>>2]|0);return}function km(a){a=a|0;if(!a)return;Sa[f[(f[a>>2]|0)+4>>2]&127](a);return}function lm(a,b){a=a|0;b=b|0;return Mi(a,b)|0}function mm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Va[a&7](b|0,c|0,d|0,e|0)}function nm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Uj(a|0,b|0,c|0)|0;return a|0}function om(a){a=a|0;var b=0;b=a+60|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function pm(a,b,c){a=a|0;b=b|0;c=c|0;return Xj(b,c)|0}function qm(a){a=a|0;var b=0;if(a>>>0>4294963200){b=po()|0;f[b>>2]=0-a;a=-1}return a|0}function rm(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)cf(a|0,b|0,c|0)|0;return a|0}function sm(a,b){a=a|0;b=b|0;return -1}function tm(a){a=a|0;if(!a)a=0;else a=(yf(a,1072,1160,0)|0)!=0;return a&1|0}function um(a){a=a|0;return 3}function vm(a){a=a|0;var b=0;b=u;u=u+16|0;Ra[a&3]();ql(20581,b)}function wm(a){a=a|0;Yf(a);Co(a);return}function xm(a){a=a|0;Gm(a);f[a>>2]=2996;f[a+48>>2]=0;return}function ym(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 zm(a,b,c){a=a|0;b=b|0;c=c|0;Vk(a,b,c);return}function Am(a,b){a=a|0;b=b|0;f[a>>2]=4728;Mj(a+4|0,b);return}function Bm(a){a=a|0;if(!a)return;Ho(a+24|0);Co(a);return}function Cm(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Dm(){var a=0;a=Lk(64)|0;qj(a);return a|0}function Em(a,b){a=a|0;b=b|0;return $(Km(a,b))}function Fm(a){a=a|0;return f[a+8>>2]|0}function Gm(a){a=a|0;Tj(a);f[a>>2]=2936;f[a+44>>2]=0;return}function Hm(a){a=a|0;if(!a)return;Lg(a);Co(a);return}function Im(a,b){a=a|0;b=b|0;return rn(a,b)|0}function Jm(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Km(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function Lm(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))qg(b,c,a)|0;return}function Mm(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Nm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ua[a&15](b|0,c|0,d|0)}function Om(){var a=0;a=Lk(96)|0;uk(a);return a|0}function Pm(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Qm(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Rm(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Gg(a,b,0)|0;return a|0}function Sm(a){a=a|0;var b=0;b=(yo()|0)+188|0;return di(a,f[b>>2]|0)|0}function Tm(){var a=0;a=Lk(12)|0;hn(a);return a|0}function Um(){var a=0;a=Lk(40)|0;fk(a);return a|0}function Vm(a,b){a=a|0;b=b|0;return bn(a,b)|0}function Wm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Xm(a){a=a|0;kh(a);Co(a);return}function Ym(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function Zm(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function _m(a){a=a|0;qk(a);f[a>>2]=1296;return}function $m(a,b){a=a|0;b=b|0;var c=0;c=nn(a|0)|0;return ((b|0)==0?a:c)|0}function an(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function bn(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function cn(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function dn(a,b){a=a|0;b=b|0;return 1}function en(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return tc(a,b,c,d,0)|0}function fn(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function gn(){var a=0;a=Lk(84)|0;wl(a);return a|0}function hn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function jn(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function kn(a){a=a|0;f[a>>2]=4728;ck(a+4|0);return}function ln(a,b,c){a=a|0;b=b|0;c=c|0;return Oa[a&127](b|0,c|0)|0}function mn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function nn(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function on(a){a=a|0;Gm(a);f[a>>2]=3340;return}function pn(){var a=0;a=Lk(1)|0;Ho(a);return a|0}function qn(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function rn(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function sn(a){a=a|0;return $(n[a+20>>2])}function tn(a){a=a|0;return f[a+4>>2]|0}function un(a){a=a|0;if(!a)return;Co(a);return}function vn(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function wn(a){a=a|0;return a+12|0}function xn(a){a=a|0;return f[a+88>>2]|0}function yn(a,b,c){a=a|0;b=b|0;c=c|0;Ta[a&7](b|0,c|0)}function zn(){var a=0;a=Lk(40)|0;Dk(a);return a|0}function An(){var a=0;a=Lk(108)|0;Ek(a);return a|0}function Bn(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function Cn(a){a=a|0;return a+-12|0}function Dn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function En(){var a=0;a=f[5324]|0;f[5324]=a+0;return a|0}function Fn(a){a=a|0;return eo(a+4|0)|0}function Gn(a){a=a|0;return f[a+56>>2]|0}function Hn(){var a=0;a=f[1158]|0;f[1158]=a+0;return a|0}function In(a){a=a|0;Re(a);Co(a);return}function Jn(a){a=a|0;Ho(a);Co(a);return}function Kn(a){a=a|0;return b[a+24>>0]|0}function Ln(a,b){a=a|0;b=b|0;return 0}function Mn(a){a=a|0;return f[a+40>>2]|0}function Nn(a){a=a|0;return f[a+48>>2]|0}function On(a,b){a=a|0;b=b|0;return Na[a&127](b|0)|0}function Pn(a){a=a|0;return f[a+60>>2]|0}function Qn(a){a=a|0;return f[a+28>>2]|0}function Rn(a){a=a|0;ta(a|0)|0;$j()}function Sn(a){a=a|0;kn(a);Co(a);return}function Tn(a){a=a|0;Ea()}function Un(a,b){a=a|0;b=b|0;u=a;v=b}function Vn(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Wn(a){a=a|0;return (f[a>>2]|0)==0|0}function Xn(a){a=a|0;return f[a+80>>2]|0}function Yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Zn(a,b){a=a|0;b=b|0;Sa[a&127](b|0)}function _n(a,b){a=a|0;b=b|0;return Cl(a,b)|0}function $n(a){a=a|0;b[a+12>>0]=0;return}function ao(a){a=a|0;return a&255|0}function bo(a){a=a|0;f[a>>2]=0;return}function co(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function eo(a){a=a|0;return f[a>>2]|0}function fo(a){a=a|0;return 2}function go(a){a=a|0;return 1}function ho(a,b){a=+a;b=b|0;return +(+_h(a,b))}function io(){return 3}function jo(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function ko(){return -4}function lo(){return 4}function mo(){return -3}function no(){return 1}function oo(){return 2}function po(){return (yo()|0)+64|0}function qo(){return -5}function ro(a,b){a=a|0;b=b|0;aa(1);return 0}function so(a){a=a|0;Ra[a&3]()}function to(){return -2}function uo(){va()}function vo(){return -1}function wo(a,b){a=a|0;b=b|0;aa(6)}function xo(){return 0}function yo(){return Mo()|0}function zo(a){a=a|0;return Lk(a)|0}function Ao(a){a=a|0;Co(a);return}function Bo(a){a=a|0;u=a}function Co(a){a=a|0;Ob(a);return}function Do(a){a=a|0;I=a}function Eo(){return 21224}function Fo(a){a=a|0;return a|0}function Go(a){a=a|0;aa(0);return 0}function Ho(a){a=a|0;return}function Io(a){a=a|0;return 0}function Jo(){return I|0}function Ko(){return u|0}function Lo(a){a=a|0;aa(5)}function Mo(){return 3752}function No(){aa(4)} +function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[5182]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=20768+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[5182]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[5184]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=20768+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[5187]|0;b=l>>>3;c=20768+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5184]=g;f[5187]=e;w=h;u=x;return w|0}i=f[5183]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[21032+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=21032+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[5183]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[5187]|0;b=l>>>3;c=20768+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5184]=j;f[5187]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[5183]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[21032+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[21032+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[5184]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=21032+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=20768+(b<<1<<2)|0;a=f[5182]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=21032+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[5184]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[5187]|0;if(a>>>0>15){w=b+m|0;f[5187]=w;f[5184]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[5184]=0;f[5187]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[5185]|0;if(h>>>0>m>>>0){t=h-m|0;f[5185]=t;w=f[5188]|0;v=w+m|0;f[5188]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[5300]|0)){f[5302]=4096;f[5301]=4096;f[5303]=-1;f[5304]=-1;f[5305]=0;f[5293]=0;a=n&-16^1431655768;f[n>>2]=a;f[5300]=a;a=4096}else a=f[5302]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[5292]|0;if(a|0?(l=f[5290]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[5293]&4)){c=f[5188]|0;c:do if(c){e=21176;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=mj(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=mj(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[5301]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[5290]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[5292]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=mj(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[5302]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((mj(a|0)|0)==(-1|0)){mj(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[5293]=f[5293]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=mj(k|0)|0,q=mj(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[5290]|0)+g|0;f[5290]=b;if(b>>>0>(f[5291]|0)>>>0)f[5291]=b;j=f[5188]|0;do if(j){e=21176;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[5185]|0)+(g-w)|0;f[5188]=v;f[5185]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5189]=f[5304];break}if(h>>>0<(f[5186]|0)>>>0)f[5186]=h;c=h+g|0;a=21176;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[5187]|0)){w=(f[5184]|0)+i|0;f[5184]=w;f[5187]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[5182]=f[5182]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=21032+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[5183]=f[5183]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=20768+(b<<1<<2)|0;a=f[5182]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=21032+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[5183]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[5185]|0)+i|0;f[5185]=w;f[5188]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=21176;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[5188]=v;f[5185]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[5189]=f[5304];c=a+4|0;f[c>>2]=27;f[b>>2]=f[5294];f[b+4>>2]=f[5295];f[b+8>>2]=f[5296];f[b+12>>2]=f[5297];f[5294]=h;f[5295]=g;f[5297]=0;f[5296]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=20768+(b<<1<<2)|0;a=f[5182]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=21032+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[5183]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[5186]|0;if((w|0)==0|h>>>0>>0)f[5186]=h;f[5294]=h;f[5295]=g;f[5297]=0;f[5191]=f[5300];f[5190]=-1;b=0;do{w=20768+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[5188]=v;f[5185]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5189]=f[5304]}while(0);b=f[5185]|0;if(b>>>0>m>>>0){t=b-m|0;f[5185]=t;w=f[5188]|0;v=w+m|0;f[5188]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=po()|0;f[w>>2]=12;w=0;u=x;return w|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=u;u=u+80|0;ca=ja+56|0;ga=ja+40|0;ha=ja+16|0;ea=ja+4|0;L=ja+36|0;Y=ja;f[ga>>2]=0;ia=ga+4|0;f[ia>>2]=0;f[ga+8>>2]=0;f[ha>>2]=0;f[ha+4>>2]=0;f[ha+8>>2]=0;f[ha+12>>2]=0;n[ha+16>>2]=$(1.0);f[ea>>2]=0;fa=ea+4|0;f[fa>>2]=0;f[ea+8>>2]=0;M=(f[a+212>>2]|0)==(f[a+216>>2]|0);da=a+120|0;W=f[a+124>>2]|0;a:do if((c|0)>0){V=a+224|0;O=a+412|0;z=a+300|0;N=a+408|0;A=a+296|0;B=a+288|0;C=a+292|0;E=a+8|0;G=ha+4|0;D=a+380|0;H=ea+8|0;I=ga+8|0;U=a+36|0;F=a+40|0;T=c+-1|0;P=a+392|0;y=0;while(1){i=y+1|0;if((f[O>>2]|0)!=-1?Bi(P)|0:0){d=f[O>>2]|0;f[N>>2]=d;if(!d)X=17;else X=34}else X=6;b:do if((X|0)==6){do if(!(b[z>>0]|0))d=1;else{e=f[A>>2]|0;l=f[B>>2]|0;m=f[C>>2]|0;d=l+(e>>>3)|0;if(d>>>0>>0?(X=h[d>>0]|0,K=e+1|0,f[A>>2]=K,X&1<<(e&7)|0):0){d=l+(K>>>3)|0;if(d>>>0>>0){k=(h[d>>0]|0)>>>(K&7)&1;e=e+2|0;f[A>>2]=e}else{e=K;k=0}d=l+(e>>>3)|0;if(d>>>0>>0){d=(h[d>>0]|0)>>>(e&7);f[A>>2]=e+1;d=d<<1&2}else d=0;d=(d|k)<<1|1;break}f[N>>2]=0;X=17;break b}while(0);f[N>>2]=d;X=34}while(0);c:do if((X|0)==17){X=0;d=f[ia>>2]|0;if((f[ga>>2]|0)==(d|0)){d=-1;X=186;break a}x=d+-4|0;r=f[x>>2]|0;w=f[E>>2]|0;q=(r|0)<0;e=r+1|0;if(!q?(R=((e|0)%3|0|0)==0?r+-2|0:e,(R|0)>=0):0)v=f[(f[w>>2]|0)+(R<<2)>>2]|0;else v=-1073741824;s=f[w+24>>2]|0;k=f[s+(v<<2)>>2]|0;e=k+1|0;t=s;if((k|0)>=0)k=((e|0)%3|0|0)==0?k+-2|0:e;p=y*3|0;l=p+1|0;m=f[w+12>>2]|0;f[m+(r<<2)>>2]=l;f[m+(l<<2)>>2]=r;o=p+2|0;f[m+(k<<2)>>2]=o;f[m+(o<<2)>>2]=k;m=f[w>>2]|0;f[m+(p<<2)>>2]=v;e=k+1|0;if((k|0)>=0?(S=((e|0)%3|0|0)==0?k+-2|0:e,(S|0)>=0):0)e=f[m+(S<<2)>>2]|0;else e=-1073741824;f[m+(l<<2)>>2]=e;if(!q?(Q=(((r>>>0)%3|0|0)==0?2:-1)+r|0,(Q|0)>=0):0){e=f[m+(Q<<2)>>2]|0;f[m+(o<<2)>>2]=e;if((e|0)!=-1073741824){k=o;e=s+(e<<2)|0;X=31}}else{k=-1073741824;e=m+(o<<2)|0;X=31}if((X|0)==31)f[e>>2]=k;if(((f[w+28>>2]|0)-t>>2|0)>(W|0)){d=-1;X=186;break a}X=(f[da>>2]|0)+(v>>>5<<2)|0;f[X>>2]=f[X>>2]&~(1<<(v&31));f[x>>2]=p;X=118}else if((X|0)==34){X=0;e=(d|0)==5;switch(d|0){case 3:case 5:{d=f[ia>>2]|0;if((f[ga>>2]|0)==(d|0)){d=-1;X=186;break a}p=f[d+-4>>2]|0;r=y*3|0;o=e?r:r+2|0;q=(e&1)+r|0;l=(e?2:1)+r|0;x=f[E>>2]|0;k=f[x+12>>2]|0;f[k+(l<<2)>>2]=p;f[k+(p<<2)>>2]=l;k=x+24|0;e=x+28|0;d=f[e>>2]|0;if((d|0)==(f[x+32>>2]|0)){Ig(k,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}d=(d-(f[k>>2]|0)>>2)+-1|0;k=f[E>>2]|0;m=f[k>>2]|0;f[m+(l<<2)>>2]=d;if((d|0)!=-1073741824)f[(f[k+24>>2]|0)+(d<<2)>>2]=l;if((p|0)>=0){d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)>=0){d=f[m+(d<<2)>>2]|0;f[m+(o<<2)>>2]=d;if((d|0)!=-1073741824){e=o;d=(f[k+24>>2]|0)+(d<<2)|0;X=47}}else{e=-1073741824;d=m+(o<<2)|0;X=47}if((X|0)==47){X=0;f[d>>2]=e}d=p+1|0;d=((d|0)%3|0|0)==0?p+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[m+(d<<2)>>2]|0}else{f[m+(o<<2)>>2]=-1073741824;d=-1073741824}f[m+(q<<2)>>2]=d;x=f[ia>>2]|0;f[x+-4>>2]=r;f[L>>2]=f[x+-4>>2];f[ca>>2]=f[L>>2];xc(V,ca);break}case 1:{e=f[ga>>2]|0;d=f[ia>>2]|0;if((e|0)==(d|0)){d=-1;X=186;break a}q=d+-4|0;x=f[q>>2]|0;f[ia>>2]=q;o=f[G>>2]|0;d:do if(o){m=o+-1|0;l=(m&o|0)==0;if(!l)if(y>>>0>>0)p=y;else p=(y>>>0)%(o>>>0)|0;else p=m&y;k=f[(f[ha>>2]|0)+(p<<2)>>2]|0;if((k|0)!=0?(J=f[k>>2]|0,(J|0)!=0):0){e:do if(l){k=J;while(1){w=f[k+4>>2]|0;l=(w|0)==(y|0);if(!(l|(w&m|0)==(p|0))){d=q;break d}if(l?(f[k+8>>2]|0)==(y|0):0)break e;k=f[k>>2]|0;if(!k){d=q;break d}}}else{k=J;while(1){l=f[k+4>>2]|0;if((l|0)==(y|0)){if((f[k+8>>2]|0)==(y|0))break e}else{if(l>>>0>=o>>>0)l=(l>>>0)%(o>>>0)|0;if((l|0)!=(p|0)){d=q;break d}}k=f[k>>2]|0;if(!k){d=q;break d}}}while(0);k=k+12|0;if((q|0)==(f[I>>2]|0)){Ig(ga,k);e=f[ga>>2]|0;d=f[ia>>2]|0;break}else{f[q>>2]=f[k>>2];f[ia>>2]=d;break}}else d=q}else d=q;while(0);if((e|0)==(d|0)){d=-1;X=186;break a}k=f[d+-4>>2]|0;w=y*3|0;p=w+2|0;s=f[E>>2]|0;v=f[s+12>>2]|0;f[v+(k<<2)>>2]=p;f[v+(p<<2)>>2]=k;o=w+1|0;f[v+(x<<2)>>2]=o;f[v+(o<<2)>>2]=x;if((k|0)>=0){e=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((e|0)<0)m=-1073741824;else m=f[(f[s>>2]|0)+(e<<2)>>2]|0;l=f[s>>2]|0;f[l+(w<<2)>>2]=m;e=k+1|0;e=((e|0)%3|0|0)==0?k+-2|0:e;if((e|0)<0){q=l;r=s;e=-1073741824;t=m}else{q=l;r=s;e=f[l+(e<<2)>>2]|0;t=m}}else{q=f[s>>2]|0;f[q+(w<<2)>>2]=-1073741824;r=s;e=-1073741824;t=-1073741824}f[q+(o<<2)>>2]=e;if((x|0)>=0){e=(((x>>>0)%3|0|0)==0?2:-1)+x|0;if((e|0)>=0){e=f[q+(e<<2)>>2]|0;f[q+(p<<2)>>2]=e;if((e|0)!=-1073741824){k=p;e=(f[s+24>>2]|0)+(e<<2)|0;X=86}}else{k=-1073741824;e=q+(p<<2)|0;X=86}if((X|0)==86)f[e>>2]=k;k=x+1|0;k=((k|0)%3|0|0)==0?x+-2|0:k;if((k|0)<0){e=k;k=-1073741824}else{e=k;k=f[q+(k<<2)>>2]|0}}else{f[q+(p<<2)>>2]=-1073741824;e=x;k=-1073741824}f[ca>>2]=k;X=f[D>>2]|0;m=X+(t<<2)|0;f[m>>2]=(f[m>>2]|0)+(f[X+(k<<2)>>2]|0);m=f[s+24>>2]|0;if((t|0)!=-1073741824)f[m+(t<<2)>>2]=f[m+(f[ca>>2]<<2)>>2];f:do if((e|0)>-1){l=f[r>>2]|0;do{f[l+(e<<2)>>2]=t;X=e+1|0;e=((X|0)%3|0|0)==0?e+-2|0:X;if((e|0)<0)break f;k=f[v+(e<<2)>>2]|0;e=k+1|0;if((k|0)<0)break f;e=((e|0)%3|0|0)==0?k+-2|0:e}while((e|0)>-1)}while(0);f[m+(f[ca>>2]<<2)>>2]=-1073741824;do if(M){e=f[fa>>2]|0;if((e|0)==(f[H>>2]|0)){Ig(ea,ca);d=f[ia>>2]|0;break}else{f[e>>2]=f[ca>>2];f[fa>>2]=e+4;break}}while(0);f[d+-4>>2]=w;X=118;break c}case 7:{f[ca>>2]=y*3;x=f[E>>2]|0;k=x+24|0;e=x+28|0;d=f[e>>2]|0;if((d|0)==(f[x+32>>2]|0)){Ig(k,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}q=d-(f[k>>2]|0)>>2;p=q+-1|0;l=f[E>>2]|0;m=f[ca>>2]|0;d=f[l>>2]|0;f[d+(m<<2)>>2]=p;o=l+24|0;k=l+28|0;e=f[k>>2]|0;if((e|0)==(f[l+32>>2]|0)){Ig(o,3096);e=f[k>>2]|0;d=f[l>>2]|0}else{f[e>>2]=-1073741824;e=e+4|0;f[k>>2]=e}f[d+(m+1<<2)>>2]=(e-(f[o>>2]|0)>>2)+-1;k=f[E>>2]|0;l=(f[ca>>2]|0)+2|0;m=k+24|0;e=k+28|0;d=f[e>>2]|0;if((d|0)==(f[k+32>>2]|0)){Ig(m,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}f[(f[k>>2]|0)+(l<<2)>>2]=(d-(f[m>>2]|0)>>2)+-1;if((p|0)!=-1073741824){e=f[(f[E>>2]|0)+24>>2]|0;f[e+(p<<2)>>2]=f[ca>>2];f[e+(q<<2)>>2]=(f[ca>>2]|0)+1;d=q+1|0;if((d|0)!=-1073741824)X=113}else{e=f[(f[E>>2]|0)+24>>2]|0;f[e+(q<<2)>>2]=(f[ca>>2]|0)+1;d=-1073741822;X=113}if((X|0)==113){X=0;f[e+(d<<2)>>2]=(f[ca>>2]|0)+2}d=f[ia>>2]|0;if((d|0)==(f[I>>2]|0)){Ig(ga,ca);d=f[ia>>2]|0}else{f[d>>2]=f[ca>>2];d=d+4|0;f[ia>>2]=d}f[L>>2]=f[d+-4>>2];f[ca>>2]=f[L>>2];xc(V,ca);break}default:{d=-1;X=186;break a}}m=c-y+-1|0;d=f[F>>2]|0;if((d|0)!=(f[U>>2]|0))do{e=f[d+-8>>2]|0;if(e>>>0>m>>>0){d=-1;X=186;break a}if((e|0)!=(m|0))break c;e=b[d+-4>>0]|0;l=f[d+-12>>2]|0;f[F>>2]=d+-12;if((l|0)<0){d=-1;X=186;break a}d=f[(f[ia>>2]|0)+-4>>2]|0;k=(d|0)<0;do if(!(e&1)){if(!k)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{e=d+1|0;if(!k)d=((e|0)%3|0|0)==0?d+-2|0:e}while(0);f[ca>>2]=T-l;y=Pc(ha,ca)|0;f[y>>2]=d;d=f[F>>2]|0}while((d|0)!=(f[U>>2]|0))}while(0);if((X|0)==118){f[L>>2]=f[d+-4>>2];f[ca>>2]=f[L>>2];xc(V,ca)}if((i|0)<(c|0))y=i;else{X=132;break}}}else{E=a+8|0;i=0;X=132}while(0);g:do if((X|0)==132){d=f[E>>2]|0;if(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2|0)<=(W|0)){e=f[ia>>2]|0;do if((e|0)!=(f[ga>>2]|0)){s=a+262|0;t=a+356|0;v=a+352|0;w=a+344|0;x=a+348|0;D=a+60|0;B=a+64|0;z=a+68|0;y=a+76|0;A=a+80|0;C=a+72|0;r=a+304|0;h:while(1){a=e;f[ca>>2]=f[a+-4>>2];f[ia>>2]=a+-4;if((j[s>>1]|0)<514)if(b[t>>0]|0){d=f[v>>2]|0;e=(f[w>>2]|0)+(d>>>3)|0;if(e>>>0<(f[x>>2]|0)>>>0){X=(h[e>>0]|0)>>>(d&7)&1;f[v>>2]=d+1;d=X;X=140}else X=163}else X=141;else{d=(Bi(r)|0)&1;X=140}if((X|0)==140)if(!d)X=163;else X=141;do if((X|0)==141){m=f[E>>2]|0;a=f[m>>2]|0;q=a;if((i|0)>=(((f[m+4>>2]|0)-a>>2>>>0)/3|0|0)){X=171;break h}o=f[ca>>2]|0;d=o+1|0;if((o|0)>=0?(ba=((d|0)%3|0|0)==0?o+-2|0:d,(ba|0)>=0):0)p=f[q+(ba<<2)>>2]|0;else p=-1073741824;k=f[m+24>>2]|0;e=f[k+(p<<2)>>2]|0;d=e+1|0;if((e|0)>=0){e=((d|0)%3|0|0)==0?e+-2|0:d;d=e+1|0;if((e|0)>=0?(aa=((d|0)%3|0|0)==0?e+-2|0:d,(aa|0)>=0):0)l=f[q+(aa<<2)>>2]|0;else l=-1073741824}else l=-1073741824;d=f[k+(l<<2)>>2]|0;k=d+1|0;if((d|0)>=0){d=((k|0)%3|0|0)==0?d+-2|0:k;k=d+1|0;if((d|0)>=0?(_=((k|0)%3|0|0)==0?d+-2|0:k,(_|0)>=0):0)k=f[q+(_<<2)>>2]|0;else k=-1073741824}else k=-1073741824;X=i*3|0;f[Y>>2]=X;a=f[m+12>>2]|0;f[a+(X<<2)>>2]=o;f[a+(o<<2)>>2]=X;X=(f[Y>>2]|0)+1|0;f[a+(X<<2)>>2]=e;f[a+(e<<2)>>2]=X;X=(f[Y>>2]|0)+2|0;f[a+(X<<2)>>2]=d;f[a+(d<<2)>>2]=X;a=f[Y>>2]|0;d=q+(a<<2)|0;f[d>>2]=l;f[q+(a+1<<2)>>2]=k;f[q+(a+2<<2)>>2]=p;if((a|0)<0)d=-1073741824;else d=f[d>>2]|0;e=f[da>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[Y>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[q+(d+1<<2)>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[Y>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[q+(d+2<<2)>>2]|0;e=e+(d>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(d&31));i=i+1|0;d=f[B>>2]|0;e=f[z>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){X=155;break h}a=e<<6;X=d+32&-32;jg(D,d>>>0<1073741823?(a>>>0>>0?X:a):2147483647);d=f[B>>2]|0}f[B>>2]=d+1;a=(f[D>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(d&31);d=f[y>>2]|0;if((d|0)==(f[A>>2]|0))Ig(C,Y);else{f[d>>2]=f[Y>>2];f[y>>2]=d+4}d=i}else if((X|0)==163){d=f[B>>2]|0;e=f[z>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){X=165;break h}a=e<<6;X=d+32&-32;jg(D,d>>>0<1073741823?(a>>>0>>0?X:a):2147483647);d=f[B>>2]|0}f[B>>2]=d+1;a=(f[D>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[y>>2]|0;if((d|0)==(f[A>>2]|0)){Ig(C,ca);d=i;break}else{f[d>>2]=f[ca>>2];f[y>>2]=d+4;d=i;break}}while(0);e=f[ia>>2]|0;if((e|0)==(f[ga>>2]|0)){X=172;break}else i=d}if((X|0)==155)Tn(D);else if((X|0)==165)Tn(D);else if((X|0)==171){d=-1;X=186;break g}else if((X|0)==172){g=f[E>>2]|0;Z=d;break}}else{g=d;Z=i}while(0);if((Z|0)==(((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0|0)){d=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;e=f[ea>>2]|0;r=f[fa>>2]|0;if((e|0)==(r|0))g=d;else{p=ca+4|0;o=ca+8|0;q=ca+12|0;do{m=f[e>>2]|0;i=d+-1|0;k=f[g+24>>2]|0;if((f[k+(i<<2)>>2]|0)<0){i=d;while(1){d=i+-1|0;i=i+-2|0;if((f[k+(i<<2)>>2]|0)<0)i=d;else{l=i;break}}}else l=i;if((l|0)>=(m|0)){f[ca>>2]=g;i=f[k+(l<<2)>>2]|0;f[p>>2]=i;f[o>>2]=i;b[q>>0]=1;if((i|0)>=0)do{f[(f[g>>2]|0)+(i<<2)>>2]=m;jf(ca);i=f[o>>2]|0;g=f[E>>2]|0}while((i|0)>=0);i=f[g+24>>2]|0;if((m|0)==-1073741824)i=i+(l<<2)|0;else{ba=i+(l<<2)|0;f[i+(m<<2)>>2]=f[ba>>2];i=ba}f[i>>2]=-1073741824;_=f[da>>2]|0;ba=_+(l>>>5<<2)|0;aa=1<<(l&31);_=_+(m>>>5<<2)|0;Z=1<<(m&31);Y=f[_>>2]|0;f[_>>2]=f[ba>>2]&aa|0?Y|Z:Y&~Z;f[ba>>2]=f[ba>>2]&~aa;d=d+-1|0}e=e+4|0}while((e|0)!=(r|0));X=186}}else{d=-1;X=186}}else{d=-1;X=186}}while(0);if((X|0)==186){e=f[ea>>2]|0;g=d}if(e|0){d=f[fa>>2]|0;if((d|0)!=(e|0))f[fa>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e)}d=f[ha+8>>2]|0;if(d|0)do{fa=d;d=f[d>>2]|0;Co(fa)}while((d|0)!=0);d=f[ha>>2]|0;f[ha>>2]=0;if(d|0)Co(d);d=f[ga>>2]|0;if(!d){u=ja;return g|0}e=f[ia>>2]|0;if((e|0)!=(d|0))f[ia>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=ja;return g|0}function _a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0;ba=u;u=u+80|0;V=ba+56|0;Z=ba+40|0;_=ba+16|0;X=ba+4|0;G=ba+36|0;Q=ba;f[Z>>2]=0;aa=Z+4|0;f[aa>>2]=0;f[Z+8>>2]=0;f[_>>2]=0;f[_+4>>2]=0;f[_+8>>2]=0;f[_+12>>2]=0;n[_+16>>2]=$(1.0);f[X>>2]=0;Y=X+4|0;f[Y>>2]=0;f[X+8>>2]=0;H=(f[a+212>>2]|0)==(f[a+216>>2]|0);W=a+120|0;O=f[a+124>>2]|0;a:do if((c|0)>0){N=a+224|0;E=a+8|0;M=a+36|0;A=a+40|0;L=c+-1|0;B=_+4|0;z=a+380|0;C=X+8|0;D=Z+8|0;y=0;while(1){i=y+1|0;d=hf(N)|0;b:do if(d){e=(d|0)==5;switch(d|0){case 3:case 5:{d=f[aa>>2]|0;if((f[Z>>2]|0)==(d|0)){d=-1;P=174;break a}p=f[d+-4>>2]|0;r=y*3|0;o=e?r:r+2|0;q=(e&1)+r|0;l=(e?2:1)+r|0;x=f[E>>2]|0;k=f[x+12>>2]|0;f[k+(l<<2)>>2]=p;f[k+(p<<2)>>2]=l;k=x+24|0;e=x+28|0;d=f[e>>2]|0;if((d|0)==(f[x+32>>2]|0)){Ig(k,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}d=(d-(f[k>>2]|0)>>2)+-1|0;k=f[E>>2]|0;m=f[k>>2]|0;f[m+(l<<2)>>2]=d;if((d|0)!=-1073741824)f[(f[k+24>>2]|0)+(d<<2)>>2]=l;if((p|0)>=0){d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)>=0){d=f[m+(d<<2)>>2]|0;f[m+(o<<2)>>2]=d;if((d|0)!=-1073741824){e=o;d=(f[k+24>>2]|0)+(d<<2)|0;P=35}}else{e=-1073741824;d=m+(o<<2)|0;P=35}if((P|0)==35){P=0;f[d>>2]=e}d=p+1|0;d=((d|0)%3|0|0)==0?p+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[m+(d<<2)>>2]|0}else{f[m+(o<<2)>>2]=-1073741824;d=-1073741824}f[m+(q<<2)>>2]=d;x=f[aa>>2]|0;f[x+-4>>2]=r;f[G>>2]=f[x+-4>>2];f[V>>2]=f[G>>2];zc(N,V);break}case 1:{e=f[Z>>2]|0;d=f[aa>>2]|0;if((e|0)==(d|0)){d=-1;P=174;break a}q=d+-4|0;x=f[q>>2]|0;f[aa>>2]=q;o=f[B>>2]|0;c:do if(o){m=o+-1|0;l=(m&o|0)==0;if(!l)if(y>>>0>>0)p=y;else p=(y>>>0)%(o>>>0)|0;else p=m&y;k=f[(f[_>>2]|0)+(p<<2)>>2]|0;if((k|0)!=0?(F=f[k>>2]|0,(F|0)!=0):0){d:do if(l){k=F;while(1){w=f[k+4>>2]|0;l=(w|0)==(y|0);if(!(l|(w&m|0)==(p|0))){d=q;break c}if(l?(f[k+8>>2]|0)==(y|0):0)break d;k=f[k>>2]|0;if(!k){d=q;break c}}}else{k=F;while(1){l=f[k+4>>2]|0;if((l|0)==(y|0)){if((f[k+8>>2]|0)==(y|0))break d}else{if(l>>>0>=o>>>0)l=(l>>>0)%(o>>>0)|0;if((l|0)!=(p|0)){d=q;break c}}k=f[k>>2]|0;if(!k){d=q;break c}}}while(0);k=k+12|0;if((q|0)==(f[D>>2]|0)){Ig(Z,k);e=f[Z>>2]|0;d=f[aa>>2]|0;break}else{f[q>>2]=f[k>>2];f[aa>>2]=d;break}}else d=q}else d=q;while(0);if((e|0)==(d|0)){d=-1;P=174;break a}k=f[d+-4>>2]|0;w=y*3|0;p=w+2|0;s=f[E>>2]|0;v=f[s+12>>2]|0;f[v+(k<<2)>>2]=p;f[v+(p<<2)>>2]=k;o=w+1|0;f[v+(x<<2)>>2]=o;f[v+(o<<2)>>2]=x;if((k|0)>=0){e=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((e|0)<0)m=-1073741824;else m=f[(f[s>>2]|0)+(e<<2)>>2]|0;l=f[s>>2]|0;f[l+(w<<2)>>2]=m;e=k+1|0;e=((e|0)%3|0|0)==0?k+-2|0:e;if((e|0)<0){q=l;r=s;e=-1073741824;t=m}else{q=l;r=s;e=f[l+(e<<2)>>2]|0;t=m}}else{q=f[s>>2]|0;f[q+(w<<2)>>2]=-1073741824;r=s;e=-1073741824;t=-1073741824}f[q+(o<<2)>>2]=e;if((x|0)>=0){e=(((x>>>0)%3|0|0)==0?2:-1)+x|0;if((e|0)>=0){e=f[q+(e<<2)>>2]|0;f[q+(p<<2)>>2]=e;if((e|0)!=-1073741824){k=p;e=(f[s+24>>2]|0)+(e<<2)|0;P=74}}else{k=-1073741824;e=q+(p<<2)|0;P=74}if((P|0)==74)f[e>>2]=k;k=x+1|0;k=((k|0)%3|0|0)==0?x+-2|0:k;if((k|0)<0){e=k;k=-1073741824}else{e=k;k=f[q+(k<<2)>>2]|0}}else{f[q+(p<<2)>>2]=-1073741824;e=x;k=-1073741824}f[V>>2]=k;P=f[z>>2]|0;m=P+(t<<2)|0;f[m>>2]=(f[m>>2]|0)+(f[P+(k<<2)>>2]|0);m=f[s+24>>2]|0;if((t|0)!=-1073741824)f[m+(t<<2)>>2]=f[m+(f[V>>2]<<2)>>2];e:do if((e|0)>-1){l=f[r>>2]|0;do{f[l+(e<<2)>>2]=t;P=e+1|0;e=((P|0)%3|0|0)==0?e+-2|0:P;if((e|0)<0)break e;k=f[v+(e<<2)>>2]|0;e=k+1|0;if((k|0)<0)break e;e=((e|0)%3|0|0)==0?k+-2|0:e}while((e|0)>-1)}while(0);f[m+(f[V>>2]<<2)>>2]=-1073741824;do if(H){e=f[Y>>2]|0;if((e|0)==(f[C>>2]|0)){Ig(X,V);d=f[aa>>2]|0;break}else{f[e>>2]=f[V>>2];f[Y>>2]=e+4;break}}while(0);f[d+-4>>2]=w;P=106;break b}case 7:{f[V>>2]=y*3;x=f[E>>2]|0;k=x+24|0;e=x+28|0;d=f[e>>2]|0;if((d|0)==(f[x+32>>2]|0)){Ig(k,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}q=d-(f[k>>2]|0)>>2;p=q+-1|0;l=f[E>>2]|0;m=f[V>>2]|0;d=f[l>>2]|0;f[d+(m<<2)>>2]=p;o=l+24|0;k=l+28|0;e=f[k>>2]|0;if((e|0)==(f[l+32>>2]|0)){Ig(o,3096);e=f[k>>2]|0;d=f[l>>2]|0}else{f[e>>2]=-1073741824;e=e+4|0;f[k>>2]=e}f[d+(m+1<<2)>>2]=(e-(f[o>>2]|0)>>2)+-1;k=f[E>>2]|0;l=(f[V>>2]|0)+2|0;m=k+24|0;e=k+28|0;d=f[e>>2]|0;if((d|0)==(f[k+32>>2]|0)){Ig(m,3096);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}f[(f[k>>2]|0)+(l<<2)>>2]=(d-(f[m>>2]|0)>>2)+-1;if((p|0)!=-1073741824){e=f[(f[E>>2]|0)+24>>2]|0;f[e+(p<<2)>>2]=f[V>>2];f[e+(q<<2)>>2]=(f[V>>2]|0)+1;d=q+1|0;if((d|0)!=-1073741824)P=101}else{e=f[(f[E>>2]|0)+24>>2]|0;f[e+(q<<2)>>2]=(f[V>>2]|0)+1;d=-1073741822;P=101}if((P|0)==101){P=0;f[e+(d<<2)>>2]=(f[V>>2]|0)+2}d=f[aa>>2]|0;if((d|0)==(f[D>>2]|0)){Ig(Z,V);d=f[aa>>2]|0}else{f[d>>2]=f[V>>2];d=d+4|0;f[aa>>2]=d}f[G>>2]=f[d+-4>>2];f[V>>2]=f[G>>2];zc(N,V);break}default:{d=-1;P=174;break a}}m=c-y+-1|0;d=f[A>>2]|0;if((d|0)!=(f[M>>2]|0))do{e=f[d+-8>>2]|0;if(e>>>0>m>>>0){d=-1;P=174;break a}if((e|0)!=(m|0))break b;e=b[d+-4>>0]|0;l=f[d+-12>>2]|0;f[A>>2]=d+-12;if((l|0)<0){d=-1;P=174;break a}d=f[(f[aa>>2]|0)+-4>>2]|0;k=(d|0)<0;do if(!(e&1)){if(!k)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{e=d+1|0;if(!k)d=((e|0)%3|0|0)==0?d+-2|0:e}while(0);f[V>>2]=L-l;y=Pc(_,V)|0;f[y>>2]=d;d=f[A>>2]|0}while((d|0)!=(f[M>>2]|0))}else{d=f[aa>>2]|0;if((f[Z>>2]|0)==(d|0)){d=-1;P=174;break a}x=d+-4|0;r=f[x>>2]|0;w=f[E>>2]|0;q=(r|0)<0;e=r+1|0;if(!q?(J=((e|0)%3|0|0)==0?r+-2|0:e,(J|0)>=0):0)v=f[(f[w>>2]|0)+(J<<2)>>2]|0;else v=-1073741824;s=f[w+24>>2]|0;k=f[s+(v<<2)>>2]|0;e=k+1|0;t=s;if((k|0)>=0)k=((e|0)%3|0|0)==0?k+-2|0:e;p=y*3|0;l=p+1|0;m=f[w+12>>2]|0;f[m+(r<<2)>>2]=l;f[m+(l<<2)>>2]=r;o=p+2|0;f[m+(k<<2)>>2]=o;f[m+(o<<2)>>2]=k;m=f[w>>2]|0;f[m+(p<<2)>>2]=v;e=k+1|0;if((k|0)>=0?(K=((e|0)%3|0|0)==0?k+-2|0:e,(K|0)>=0):0)e=f[m+(K<<2)>>2]|0;else e=-1073741824;f[m+(l<<2)>>2]=e;if(!q?(I=(((r>>>0)%3|0|0)==0?2:-1)+r|0,(I|0)>=0):0){e=f[m+(I<<2)>>2]|0;f[m+(o<<2)>>2]=e;if((e|0)!=-1073741824){k=o;e=s+(e<<2)|0;P=19}}else{k=-1073741824;e=m+(o<<2)|0;P=19}if((P|0)==19)f[e>>2]=k;if(((f[w+28>>2]|0)-t>>2|0)>(O|0)){d=-1;P=174;break a}P=(f[W>>2]|0)+(v>>>5<<2)|0;f[P>>2]=f[P>>2]&~(1<<(v&31));f[x>>2]=p;P=106}while(0);if((P|0)==106){P=0;f[G>>2]=f[d+-4>>2];f[V>>2]=f[G>>2];zc(N,V)}if((i|0)<(c|0))y=i;else{P=120;break}}}else{E=a+8|0;i=0;P=120}while(0);f:do if((P|0)==120){d=f[E>>2]|0;if(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2|0)<=(O|0)){e=f[aa>>2]|0;do if((e|0)!=(f[Z>>2]|0)){s=a+262|0;t=a+356|0;v=a+352|0;w=a+344|0;x=a+348|0;D=a+60|0;B=a+64|0;z=a+68|0;y=a+76|0;A=a+80|0;C=a+72|0;r=a+304|0;g:while(1){a=e;f[V>>2]=f[a+-4>>2];f[aa>>2]=a+-4;if((j[s>>1]|0)<514)if(b[t>>0]|0){d=f[v>>2]|0;e=(f[w>>2]|0)+(d>>>3)|0;if(e>>>0<(f[x>>2]|0)>>>0){P=(h[e>>0]|0)>>>(d&7)&1;f[v>>2]=d+1;d=P;P=128}else P=151}else P=129;else{d=(Bi(r)|0)&1;P=128}if((P|0)==128)if(!d)P=151;else P=129;do if((P|0)==129){m=f[E>>2]|0;a=f[m>>2]|0;q=a;if((i|0)>=(((f[m+4>>2]|0)-a>>2>>>0)/3|0|0)){P=159;break g}o=f[V>>2]|0;d=o+1|0;if((o|0)>=0?(U=((d|0)%3|0|0)==0?o+-2|0:d,(U|0)>=0):0)p=f[q+(U<<2)>>2]|0;else p=-1073741824;k=f[m+24>>2]|0;e=f[k+(p<<2)>>2]|0;d=e+1|0;if((e|0)>=0){e=((d|0)%3|0|0)==0?e+-2|0:d;d=e+1|0;if((e|0)>=0?(T=((d|0)%3|0|0)==0?e+-2|0:d,(T|0)>=0):0)l=f[q+(T<<2)>>2]|0;else l=-1073741824}else l=-1073741824;d=f[k+(l<<2)>>2]|0;k=d+1|0;if((d|0)>=0){d=((k|0)%3|0|0)==0?d+-2|0:k;k=d+1|0;if((d|0)>=0?(S=((k|0)%3|0|0)==0?d+-2|0:k,(S|0)>=0):0)k=f[q+(S<<2)>>2]|0;else k=-1073741824}else k=-1073741824;P=i*3|0;f[Q>>2]=P;a=f[m+12>>2]|0;f[a+(P<<2)>>2]=o;f[a+(o<<2)>>2]=P;P=(f[Q>>2]|0)+1|0;f[a+(P<<2)>>2]=e;f[a+(e<<2)>>2]=P;P=(f[Q>>2]|0)+2|0;f[a+(P<<2)>>2]=d;f[a+(d<<2)>>2]=P;a=f[Q>>2]|0;d=q+(a<<2)|0;f[d>>2]=l;f[q+(a+1<<2)>>2]=k;f[q+(a+2<<2)>>2]=p;if((a|0)<0)d=-1073741824;else d=f[d>>2]|0;e=f[W>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[Q>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[q+(d+1<<2)>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[Q>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[q+(d+2<<2)>>2]|0;e=e+(d>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(d&31));i=i+1|0;d=f[B>>2]|0;e=f[z>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){P=143;break g}a=e<<6;P=d+32&-32;jg(D,d>>>0<1073741823?(a>>>0

>>0?P:a):2147483647);d=f[B>>2]|0}f[B>>2]=d+1;a=(f[D>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(d&31);d=f[y>>2]|0;if((d|0)==(f[A>>2]|0))Ig(C,Q);else{f[d>>2]=f[Q>>2];f[y>>2]=d+4}d=i}else if((P|0)==151){d=f[B>>2]|0;e=f[z>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){P=153;break g}a=e<<6;P=d+32&-32;jg(D,d>>>0<1073741823?(a>>>0

>>0?P:a):2147483647);d=f[B>>2]|0}f[B>>2]=d+1;a=(f[D>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[y>>2]|0;if((d|0)==(f[A>>2]|0)){Ig(C,V);d=i;break}else{f[d>>2]=f[V>>2];f[y>>2]=d+4;d=i;break}}while(0);e=f[aa>>2]|0;if((e|0)==(f[Z>>2]|0)){P=160;break}else i=d}if((P|0)==143)Tn(D);else if((P|0)==153)Tn(D);else if((P|0)==159){d=-1;P=174;break f}else if((P|0)==160){g=f[E>>2]|0;R=d;break}}else{g=d;R=i}while(0);if((R|0)==(((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0|0)){d=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;e=f[X>>2]|0;r=f[Y>>2]|0;if((e|0)==(r|0))g=d;else{p=V+4|0;o=V+8|0;q=V+12|0;do{m=f[e>>2]|0;i=d+-1|0;k=f[g+24>>2]|0;if((f[k+(i<<2)>>2]|0)<0){i=d;while(1){d=i+-1|0;i=i+-2|0;if((f[k+(i<<2)>>2]|0)<0)i=d;else{l=i;break}}}else l=i;if((l|0)>=(m|0)){f[V>>2]=g;i=f[k+(l<<2)>>2]|0;f[p>>2]=i;f[o>>2]=i;b[q>>0]=1;if((i|0)>=0)do{f[(f[g>>2]|0)+(i<<2)>>2]=m;jf(V);i=f[o>>2]|0;g=f[E>>2]|0}while((i|0)>=0);i=f[g+24>>2]|0;if((m|0)==-1073741824)i=i+(l<<2)|0;else{U=i+(l<<2)|0;f[i+(m<<2)>>2]=f[U>>2];i=U}f[i>>2]=-1073741824;S=f[W>>2]|0;U=S+(l>>>5<<2)|0;T=1<<(l&31);S=S+(m>>>5<<2)|0;R=1<<(m&31);Q=f[S>>2]|0;f[S>>2]=f[U>>2]&T|0?Q|R:Q&~R;f[U>>2]=f[U>>2]&~T;d=d+-1|0}e=e+4|0}while((e|0)!=(r|0));P=174}}else{d=-1;P=174}}else{d=-1;P=174}}while(0);if((P|0)==174){e=f[X>>2]|0;g=d}if(e|0){d=f[Y>>2]|0;if((d|0)!=(e|0))f[Y>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e)}d=f[_+8>>2]|0;if(d|0)do{Y=d;d=f[d>>2]|0;Co(Y)}while((d|0)!=0);d=f[_>>2]|0;f[_>>2]=0;if(d|0)Co(d);d=f[Z>>2]|0;if(!d){u=ba;return g|0}e=f[aa>>2]|0;if((e|0)!=(d|0))f[aa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=ba;return g|0}function $a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=u;u=u+80|0;ca=fa+56|0;da=fa+36|0;aa=fa+24|0;_=fa+8|0;U=fa;f[ca>>2]=0;ea=ca+4|0;f[ea>>2]=0;f[ca+8>>2]=0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;n[da+16>>2]=$(1.0);f[aa>>2]=0;ba=aa+4|0;f[ba>>2]=0;f[aa+8>>2]=0;L=(f[a+212>>2]|0)==(f[a+216>>2]|0);Z=a+120|0;R=f[a+124>>2]|0;a:do if((c|0)>0){J=a+300|0;B=da+4|0;E=a+8|0;C=aa+8|0;D=ca+8|0;K=a+296|0;H=a+288|0;I=a+292|0;Q=a+36|0;A=a+40|0;P=c+-1|0;z=0;b:while(1){i=z+1|0;c:do if(!(b[J>>0]|0))T=44;else{k=f[K>>2]|0;m=f[H>>2]|0;o=f[I>>2]|0;d=m+(k>>>3)|0;if(d>>>0>>0?(y=h[d>>0]|0,G=k+1|0,f[K>>2]=G,y&1<<(k&7)|0):0){d=m+(G>>>3)|0;if(d>>>0>>0){l=(h[d>>0]|0)>>>(G&7)&1;k=k+2|0;f[K>>2]=k}else{k=G;l=0}d=m+(k>>>3)|0;if(d>>>0>>0){d=(h[d>>0]|0)>>>(k&7);f[K>>2]=k+1;d=d<<1&2}else d=0;y=(d|l)<<1|1;k=(y|0)==5;switch(y&7){case 1:{T=44;break c}case 3:case 5:{d=f[ea>>2]|0;if((f[ca>>2]|0)==(d|0)){d=-1;T=180;break a}q=f[d+-4>>2]|0;s=z*3|0;p=k?s:s+2|0;r=(k&1)+s|0;m=(k?2:1)+s|0;y=f[E>>2]|0;l=f[y+12>>2]|0;f[l+(m<<2)>>2]=q;f[l+(q<<2)>>2]=m;l=y+24|0;k=y+28|0;d=f[k>>2]|0;if((d|0)==(f[y+32>>2]|0)){Ig(l,3096);d=f[k>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[k>>2]=d}d=(d-(f[l>>2]|0)>>2)+-1|0;l=f[E>>2]|0;o=f[l>>2]|0;f[o+(m<<2)>>2]=d;if((d|0)!=-1073741824)f[(f[l+24>>2]|0)+(d<<2)>>2]=m;if((q|0)>=0){d=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((d|0)>=0){d=f[o+(d<<2)>>2]|0;f[o+(p<<2)>>2]=d;if((d|0)!=-1073741824){k=p;d=(f[l+24>>2]|0)+(d<<2)|0;T=40}}else{k=-1073741824;d=o+(p<<2)|0;T=40}if((T|0)==40){T=0;f[d>>2]=k}d=q+1|0;d=((d|0)%3|0|0)==0?q+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[o+(d<<2)>>2]|0}else{f[o+(p<<2)>>2]=-1073741824;d=-1073741824}f[o+(r<<2)>>2]=d;f[(f[ea>>2]|0)+-4>>2]=s;break}case 7:{f[_>>2]=z*3;y=f[E>>2]|0;l=y+24|0;k=y+28|0;d=f[k>>2]|0;if((d|0)==(f[y+32>>2]|0)){Ig(l,3096);d=f[k>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[k>>2]=d}r=d-(f[l>>2]|0)>>2;q=r+-1|0;m=f[E>>2]|0;o=f[_>>2]|0;d=f[m>>2]|0;f[d+(o<<2)>>2]=q;p=m+24|0;l=m+28|0;k=f[l>>2]|0;if((k|0)==(f[m+32>>2]|0)){Ig(p,3096);k=f[l>>2]|0;d=f[m>>2]|0}else{f[k>>2]=-1073741824;k=k+4|0;f[l>>2]=k}f[d+(o+1<<2)>>2]=(k-(f[p>>2]|0)>>2)+-1;l=f[E>>2]|0;m=(f[_>>2]|0)+2|0;o=l+24|0;k=l+28|0;d=f[k>>2]|0;if((d|0)==(f[l+32>>2]|0)){Ig(o,3096);d=f[k>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[k>>2]=d}f[(f[l>>2]|0)+(m<<2)>>2]=(d-(f[o>>2]|0)>>2)+-1;if((q|0)!=-1073741824){k=f[(f[E>>2]|0)+24>>2]|0;f[k+(q<<2)>>2]=f[_>>2];f[k+(r<<2)>>2]=(f[_>>2]|0)+1;d=r+1|0;if((d|0)!=-1073741824)T=105}else{k=f[(f[E>>2]|0)+24>>2]|0;f[k+(r<<2)>>2]=(f[_>>2]|0)+1;d=-1073741822;T=105}if((T|0)==105){T=0;f[k+(d<<2)>>2]=(f[_>>2]|0)+2}d=f[ea>>2]|0;if((d|0)==(f[D>>2]|0))Ig(ca,_);else{f[d>>2]=f[_>>2];f[ea>>2]=d+4}break}default:break b}o=c-z+-1|0;d=f[A>>2]|0;if((d|0)==(f[Q>>2]|0))break;while(1){k=f[d+-8>>2]|0;if(k>>>0>o>>>0){d=-1;T=180;break a}if((k|0)!=(o|0))break c;k=b[d+-4>>0]|0;m=f[d+-12>>2]|0;f[A>>2]=d+-12;if((m|0)<0){d=-1;T=180;break a}d=f[(f[ea>>2]|0)+-4>>2]|0;l=(d|0)<0;do if(!(k&1)){if(!l)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{k=d+1|0;if(!l)d=((k|0)%3|0|0)==0?d+-2|0:k}while(0);f[_>>2]=P-m;z=Pc(da,_)|0;f[z>>2]=d;d=f[A>>2]|0;if((d|0)==(f[Q>>2]|0))break c}}d=f[ea>>2]|0;if((f[ca>>2]|0)==(d|0)){d=-1;T=180;break a}x=d+-4|0;r=f[x>>2]|0;w=f[E>>2]|0;q=(r|0)<0;d=r+1|0;if(!q?(N=((d|0)%3|0|0)==0?r+-2|0:d,(N|0)>=0):0)v=f[(f[w>>2]|0)+(N<<2)>>2]|0;else v=-1073741824;s=f[w+24>>2]|0;k=f[s+(v<<2)>>2]|0;d=k+1|0;t=s;if((k|0)>=0)k=((d|0)%3|0|0)==0?k+-2|0:d;p=z*3|0;l=p+1|0;m=f[w+12>>2]|0;f[m+(r<<2)>>2]=l;f[m+(l<<2)>>2]=r;o=p+2|0;f[m+(k<<2)>>2]=o;f[m+(o<<2)>>2]=k;m=f[w>>2]|0;f[m+(p<<2)>>2]=v;d=k+1|0;if((k|0)>=0?(O=((d|0)%3|0|0)==0?k+-2|0:d,(O|0)>=0):0)d=f[m+(O<<2)>>2]|0;else d=-1073741824;f[m+(l<<2)>>2]=d;if(!q?(M=(((r>>>0)%3|0|0)==0?2:-1)+r|0,(M|0)>=0):0){d=f[m+(M<<2)>>2]|0;f[m+(o<<2)>>2]=d;if((d|0)!=-1073741824){k=o;d=s+(d<<2)|0;T=25}}else{k=-1073741824;d=m+(o<<2)|0;T=25}if((T|0)==25){T=0;f[d>>2]=k}if(((f[w+28>>2]|0)-t>>2|0)>(R|0)){d=-1;T=180;break a}z=(f[Z>>2]|0)+(v>>>5<<2)|0;f[z>>2]=f[z>>2]&~(1<<(v&31));f[x>>2]=p}while(0);if((T|0)==44){T=0;k=f[ca>>2]|0;d=f[ea>>2]|0;if((k|0)==(d|0)){d=-1;T=180;break a}r=d+-4|0;y=f[r>>2]|0;f[ea>>2]=r;p=f[B>>2]|0;d:do if(p){o=p+-1|0;m=(o&p|0)==0;if(!m)if(z>>>0

>>0)q=z;else q=(z>>>0)%(p>>>0)|0;else q=o&z;l=f[(f[da>>2]|0)+(q<<2)>>2]|0;if((l|0)!=0?(F=f[l>>2]|0,(F|0)!=0):0){e:do if(m){l=F;while(1){x=f[l+4>>2]|0;m=(x|0)==(z|0);if(!(m|(x&o|0)==(q|0))){d=r;break d}if(m?(f[l+8>>2]|0)==(z|0):0)break e;l=f[l>>2]|0;if(!l){d=r;break d}}}else{l=F;while(1){m=f[l+4>>2]|0;if((m|0)==(z|0)){if((f[l+8>>2]|0)==(z|0))break e}else{if(m>>>0>=p>>>0)m=(m>>>0)%(p>>>0)|0;if((m|0)!=(q|0)){d=r;break d}}l=f[l>>2]|0;if(!l){d=r;break d}}}while(0);l=l+12|0;if((r|0)==(f[D>>2]|0)){Ig(ca,l);k=f[ca>>2]|0;d=f[ea>>2]|0;break}else{f[r>>2]=f[l>>2];f[ea>>2]=d;break}}else d=r}else d=r;while(0);if((k|0)==(d|0)){d=-1;T=180;break a}l=f[d+-4>>2]|0;x=z*3|0;q=x+2|0;t=f[E>>2]|0;w=f[t+12>>2]|0;f[w+(l<<2)>>2]=q;f[w+(q<<2)>>2]=l;p=x+1|0;f[w+(y<<2)>>2]=p;f[w+(p<<2)>>2]=y;if((l|0)>=0){k=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((k|0)<0)o=-1073741824;else o=f[(f[t>>2]|0)+(k<<2)>>2]|0;m=f[t>>2]|0;f[m+(x<<2)>>2]=o;k=l+1|0;k=((k|0)%3|0|0)==0?l+-2|0:k;if((k|0)<0){r=m;s=t;k=-1073741824;v=o}else{r=m;s=t;k=f[m+(k<<2)>>2]|0;v=o}}else{r=f[t>>2]|0;f[r+(x<<2)>>2]=-1073741824;s=t;k=-1073741824;v=-1073741824}f[r+(p<<2)>>2]=k;if((y|0)>=0){k=(((y>>>0)%3|0|0)==0?2:-1)+y|0;if((k|0)>=0){k=f[r+(k<<2)>>2]|0;f[r+(q<<2)>>2]=k;if((k|0)!=-1073741824){l=q;k=(f[t+24>>2]|0)+(k<<2)|0;T=79}}else{l=-1073741824;k=r+(q<<2)|0;T=79}if((T|0)==79){T=0;f[k>>2]=l}l=y+1|0;l=((l|0)%3|0|0)==0?y+-2|0:l;if((l|0)<0){k=l;l=-1073741824}else{k=l;l=f[r+(l<<2)>>2]|0}}else{f[r+(q<<2)>>2]=-1073741824;k=y;l=-1073741824}f[_>>2]=l;o=f[t+24>>2]|0;if((v|0)!=-1073741824)f[o+(v<<2)>>2]=f[o+(l<<2)>>2];f:do if((k|0)>-1){m=f[s>>2]|0;do{f[m+(k<<2)>>2]=v;z=k+1|0;k=((z|0)%3|0|0)==0?k+-2|0:z;if((k|0)<0)break f;l=f[w+(k<<2)>>2]|0;k=l+1|0;if((l|0)<0)break f;k=((k|0)%3|0|0)==0?l+-2|0:k}while((k|0)>-1)}while(0);f[o+(f[_>>2]<<2)>>2]=-1073741824;do if(L){k=f[ba>>2]|0;if((k|0)==(f[C>>2]|0)){Ig(aa,_);d=f[ea>>2]|0;break}else{f[k>>2]=f[_>>2];f[ba>>2]=k+4;break}}while(0);f[d+-4>>2]=x}if((i|0)<(c|0))z=i;else{T=125;break a}}}else{E=a+8|0;i=0;T=125}while(0);g:do if((T|0)==125){d=f[E>>2]|0;if(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2|0)<=(R|0)){g=f[ea>>2]|0;do if((g|0)!=(f[ca>>2]|0)){B=a+262|0;z=a+356|0;A=a+352|0;x=a+344|0;y=a+348|0;D=a+60|0;w=a+64|0;t=a+68|0;s=a+76|0;v=a+80|0;C=a+72|0;r=a+304|0;h:while(1){T=g;f[_>>2]=f[T+-4>>2];f[ea>>2]=T+-4;if((j[B>>1]|0)<514)if(b[z>>0]|0){d=f[A>>2]|0;g=(f[x>>2]|0)+(d>>>3)|0;if(g>>>0<(f[y>>2]|0)>>>0){T=(h[g>>0]|0)>>>(d&7)&1;f[A>>2]=d+1;d=T;T=133}else T=156}else T=134;else{d=(Bi(r)|0)&1;T=133}if((T|0)==133)if(!d)T=156;else T=134;do if((T|0)==134){m=f[E>>2]|0;T=f[m>>2]|0;q=T;if((i|0)>=(((f[m+4>>2]|0)-T>>2>>>0)/3|0|0)){T=164;break h}o=f[_>>2]|0;d=o+1|0;if((o|0)>=0?(Y=((d|0)%3|0|0)==0?o+-2|0:d,(Y|0)>=0):0)p=f[q+(Y<<2)>>2]|0;else p=-1073741824;k=f[m+24>>2]|0;g=f[k+(p<<2)>>2]|0;d=g+1|0;if((g|0)>=0){g=((d|0)%3|0|0)==0?g+-2|0:d;d=g+1|0;if((g|0)>=0?(X=((d|0)%3|0|0)==0?g+-2|0:d,(X|0)>=0):0)l=f[q+(X<<2)>>2]|0;else l=-1073741824}else l=-1073741824;d=f[k+(l<<2)>>2]|0;k=d+1|0;if((d|0)>=0){d=((k|0)%3|0|0)==0?d+-2|0:k;k=d+1|0;if((d|0)>=0?(W=((k|0)%3|0|0)==0?d+-2|0:k,(W|0)>=0):0)k=f[q+(W<<2)>>2]|0;else k=-1073741824}else k=-1073741824;a=i*3|0;f[U>>2]=a;T=f[m+12>>2]|0;f[T+(a<<2)>>2]=o;f[T+(o<<2)>>2]=a;a=(f[U>>2]|0)+1|0;f[T+(a<<2)>>2]=g;f[T+(g<<2)>>2]=a;a=(f[U>>2]|0)+2|0;f[T+(a<<2)>>2]=d;f[T+(d<<2)>>2]=a;T=f[U>>2]|0;d=q+(T<<2)|0;f[d>>2]=l;f[q+(T+1<<2)>>2]=k;f[q+(T+2<<2)>>2]=p;if((T|0)<0)d=-1073741824;else d=f[d>>2]|0;g=f[Z>>2]|0;T=g+(d>>>5<<2)|0;f[T>>2]=f[T>>2]&~(1<<(d&31));d=f[U>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[q+(d+1<<2)>>2]|0;T=g+(d>>>5<<2)|0;f[T>>2]=f[T>>2]&~(1<<(d&31));d=f[U>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[q+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));i=i+1|0;d=f[w>>2]|0;g=f[t>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){T=148;break h}T=g<<6;a=d+32&-32;jg(D,d>>>0<1073741823?(T>>>0>>0?a:T):2147483647);d=f[w>>2]|0}f[w>>2]=d+1;T=(f[D>>2]|0)+(d>>>5<<2)|0;f[T>>2]=f[T>>2]|1<<(d&31);d=f[s>>2]|0;if((d|0)==(f[v>>2]|0))Ig(C,U);else{f[d>>2]=f[U>>2];f[s>>2]=d+4}d=i}else if((T|0)==156){d=f[w>>2]|0;g=f[t>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){T=158;break h}T=g<<6;a=d+32&-32;jg(D,d>>>0<1073741823?(T>>>0>>0?a:T):2147483647);d=f[w>>2]|0}f[w>>2]=d+1;T=(f[D>>2]|0)+(d>>>5<<2)|0;f[T>>2]=f[T>>2]&~(1<<(d&31));d=f[s>>2]|0;if((d|0)==(f[v>>2]|0)){Ig(C,_);d=i;break}else{f[d>>2]=f[_>>2];f[s>>2]=d+4;d=i;break}}while(0);g=f[ea>>2]|0;if((g|0)==(f[ca>>2]|0)){T=165;break}else i=d}if((T|0)==148)Tn(D);else if((T|0)==158)Tn(D);else if((T|0)==164){d=-1;T=180;break g}else if((T|0)==165){e=f[E>>2]|0;V=d;break}}else{e=d;V=i}while(0);if((V|0)==(((f[e+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0|0)){d=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;g=f[aa>>2]|0;r=f[ba>>2]|0;if((g|0)==(r|0))S=d;else{p=_+4|0;o=_+8|0;q=_+12|0;do{m=f[g>>2]|0;i=d+-1|0;k=f[e+24>>2]|0;if((f[k+(i<<2)>>2]|0)<0){i=d;while(1){d=i+-1|0;i=i+-2|0;if((f[k+(i<<2)>>2]|0)<0)i=d;else{l=i;break}}}else l=i;if((l|0)>=(m|0)){f[_>>2]=e;i=f[k+(l<<2)>>2]|0;f[p>>2]=i;f[o>>2]=i;b[q>>0]=1;if((i|0)>=0)do{f[(f[e>>2]|0)+(i<<2)>>2]=m;jf(_);i=f[o>>2]|0;e=f[E>>2]|0}while((i|0)>=0);i=f[e+24>>2]|0;if((m|0)==-1073741824)i=i+(l<<2)|0;else{Y=i+(l<<2)|0;f[i+(m<<2)>>2]=f[Y>>2];i=Y}f[i>>2]=-1073741824;W=f[Z>>2]|0;Y=W+(l>>>5<<2)|0;X=1<<(l&31);W=W+(m>>>5<<2)|0;V=1<<(m&31);U=f[W>>2]|0;f[W>>2]=f[Y>>2]&X|0?U|V:U&~V;f[Y>>2]=f[Y>>2]&~X;d=d+-1|0}g=g+4|0}while((g|0)!=(r|0));T=180}}else{d=-1;T=180}}else{d=-1;T=180}}while(0);if((T|0)==180){g=f[aa>>2]|0;S=d}if(g|0){d=f[ba>>2]|0;if((d|0)!=(g|0))f[ba>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g)}d=f[da+8>>2]|0;if(d|0)do{ba=d;d=f[d>>2]|0;Co(ba)}while((d|0)!=0);d=f[da>>2]|0;f[da>>2]=0;if(d|0)Co(d);d=f[ca>>2]|0;if(!d){u=fa;return S|0}e=f[ea>>2]|0;if((e|0)!=(d|0))f[ea>>2]=e+(~((e+-4-d|0)>>>2)<<2);Co(d);u=fa;return S|0}function ab(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(nj(4440,4632,c,b)|0)-4440>>2;a=e;e=0;a:while(1){b=(f[4440+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[4248+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=nj(4248,4440,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function bb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;r=D+60|0;w=D+52|0;v=D+44|0;C=D;y=D+56|0;z=D+48|0;A=D+40|0;n=a+132|0;f[n>>2]=0;i=a+148|0;if(f[i>>2]|0){e=a+144|0;c=f[e>>2]|0;if(c|0)do{t=c;c=f[c>>2]|0;Co(t)}while((c|0)!=0);f[e>>2]=0;c=f[a+140>>2]|0;if(c|0){e=a+136|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}s=a+4|0;c=f[s>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){q=m+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=Bl(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((q|0)<(k|0)|(q|0)==(k|0)&t>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;x=l;f[x>>2]=i;f[x+4>>2]=k;x=14}}else if(yh(B,m)|0){e=f[s>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;x=14}if((x|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){q=l+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=Bl(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((q|0)<(i|0)|(q|0)==(i|0)&t>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;x=21}}else if(yh(o,l)|0){k=f[s>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;x=21}else c=0;if((x|0)==21){n=a+156|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){q=k+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if(!((q|0)<(g|0)|(q|0)==(g|0)&t>>>0>>0)?(t=(f[k>>2]|0)+c|0,t=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24,f[r>>2]=t,q=i,f[q>>2]=e,f[q+4>>2]=g,t>>>0<=715827882):0)x=25;else c=0}else{t=(yh(r,k)|0)^1;if((f[r>>2]|0)>>>0>715827882|t)c=0;else x=25}do if((x|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);q=Lk(60)|0;om(q);t=a+8|0;c=f[t>>2]|0;f[t>>2]=q;if(c|0?(uh(c),Co(c),(f[t>>2]|0)==0):0){c=0;break}i=a+160|0;c=f[i>>2]|0;g=a+164|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;c=f[(f[s>>2]|0)+32>>2]|0;q=c+8|0;p=f[q+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((p|0)>(g|0)|((p|0)==(g|0)?(f[q>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=Bl(e|0,g|0,1,0)|0;q=i;f[q>>2]=k;f[q+4>>2]=I;q=a+212|0;k=f[q>>2]|0;p=a+216|0;c=f[p>>2]|0;if((c|0)!=(k|0))do{f[p>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}Dh(c+-112|0);c=f[p>>2]|0}while((c|0)!=(k|0));m=l&255;Xf(q,m);o=f[s>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[w>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=59}}else if(yh(w,c)|0){e=f[w>>2]|0;x=59}else c=0;if((x|0)==59){c=f[r>>2]|0;if(c>>>0>>0)c=0;else{o=f[s>>2]|0;l=f[o+32>>2]|0;do if((h[o+36>>0]<<8&65535)<512){o=l+8|0;r=f[o>>2]|0;o=f[o+4>>2]|0;k=l+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&r>>>0>>0){c=0;break}e=(f[l>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[v>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=65}else{if(!(yh(v,l)|0)){c=0;break}e=f[v>>2]|0;c=f[r>>2]|0;x=65}while(0);a:do if((x|0)==65){if(!(Fi(f[t>>2]|0,c,e+(f[n>>2]|0)|0)|0)){c=0;break}c=(f[v>>2]|0)+(f[n>>2]|0)|0;b[B>>0]=1;mf(a+120|0,c,B);c=f[s>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Fb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)<512){o=k+8|0;r=f[o>>2]|0;o=f[o+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((o|0)<(g|0)|(o|0)==(g|0)&r>>>0>>0)break;c=(f[k>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[B>>2]=c;x=i;f[x>>2]=e;f[x+4>>2]=g;x=72}else{if(!(yh(B,k)|0))break;c=f[B>>2]|0;x=72}while(0);do if((x|0)==72){if(!c)break;x=f[(f[s>>2]|0)+32>>2]|0;r=x+8|0;x=x+16|0;x=cm(f[r>>2]|0,f[r+4>>2]|0,f[x>>2]|0,f[x+4>>2]|0)|0;r=I;if(0>(r|0)|0==(r|0)&c>>>0>x>>>0)break;fk(C);c=f[(f[s>>2]|0)+32>>2]|0;o=c+16|0;l=f[o>>2]|0;x=f[B>>2]|0;r=(f[c>>2]|0)+l+x|0;k=c+8|0;o=cm(f[k>>2]|0,f[k+4>>2]|0,l|0,f[o+4>>2]|0)|0;x=cm(o|0,I|0,x|0,0)|0;xk(C,r,x,d[c+38>>1]|0);c=Fb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);x=a+224|0;f[a+368>>2]=a;l=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;l=f[l>>2]|0;l=(f[l>>2]|0)+(f[l+16>>2]|0)|0;o=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;r=o+8|0;o=o+16|0;o=cm(f[r>>2]|0,f[r+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;r=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;xk(x,l,o,d[(f[r>>2]|0)+38>>1]|0);r=Na[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+372>>2]=r;f[a+376>>2]=(f[v>>2]|0)+(f[n>>2]|0);f[a+364>>2]=m;fk(C);c:do if(of(x,C)|0){o=Za(a,f[w>>2]|0)|0;if((o|0)==-1){c=0;break}c=f[(f[s>>2]|0)+32>>2]|0;e=C+16|0;w=f[e>>2]|0;x=(f[C>>2]|0)+w|0;v=C+8|0;e=cm(f[v>>2]|0,f[v+4>>2]|0,w|0,f[e+4>>2]|0)|0;xk(c,x,e,d[c+38>>1]|0);c=f[s>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){x=(f[c+32>>2]|0)+16|0;w=x;w=Bl(f[w>>2]|0,f[w+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[x>>2]=w;f[x+4>>2]=I}do if((f[p>>2]|0)!=(f[q>>2]|0)){c=f[t>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[y>>2]=c;f[B>>2]=f[y>>2];c=c+3|0;if(!(Jd(a,B)|0)){c=0;break c}z=f[t>>2]|0}while((c|0)<((f[z+4>>2]|0)-(f[z>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[z>>2]=c;f[B>>2]=f[z>>2];c=c+3|0;if(!(Dd(a,B)|0)){c=0;break c}y=f[t>>2]|0}while((c|0)<((f[y+4>>2]|0)-(f[y>>2]|0)>>2|0))}}while(0);if(b[a+300>>0]|0)Jj(a+264|0);if((j[a+262>>1]|0)<514)Jj(a+320|0);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){i=0;do{Mg(c+(i*116|0)+4|0,f[t>>2]|0)|0;c=f[q>>2]|0;e=f[c+(i*116|0)+104>>2]|0;g=f[c+(i*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Ye(c+(i*116|0)+4|0,B);e=e+4|0;c=f[q>>2]|0}while((e|0)!=(g|0));kj(c+(i*116|0)+4|0,0,0);i=i+1|0;c=f[q>>2]|0}while(i>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}l=f[t>>2]|0;l=(f[l+28>>2]|0)-(f[l+24>>2]|0)>>2;g=a+196|0;k=a+200|0;i=f[k>>2]|0;c=f[g>>2]|0;e=i-c>>2;do if(l>>>0>e>>>0)sg(g,l-e|0);else{if(l>>>0>=e>>>0)break;c=c+(l<<2)|0;if((i|0)==(c|0))break;f[k>>2]=i+(~((i+-4-c|0)>>>2)<<2)}while(0);Kh(a+184|0,l);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){n=0;do{m=(f[c+(n*116|0)+60>>2]|0)-(f[c+(n*116|0)+56>>2]|0)>>2;i=f[t>>2]|0;i=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;m=(m|0)<(i|0)?i:m;i=c+(n*116|0)+88|0;l=c+(n*116|0)+92|0;k=f[l>>2]|0;e=f[i>>2]|0;g=k-e>>2;do if(m>>>0>g>>>0)sg(i,m-g|0);else{if(m>>>0>=g>>>0)break;e=e+(m<<2)|0;if((k|0)==(e|0))break;f[l>>2]=k+(~((k+-4-e|0)>>>2)<<2)}while(0);Kh(c+(n*116|0)+76|0,m);n=n+1|0;c=f[q>>2]|0}while(n>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}c=Ab(a,o)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}}else c=0}while(0)}C=c;u=D;return C|0}function cb(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;r=D+60|0;w=D+52|0;v=D+44|0;C=D;y=D+56|0;z=D+48|0;A=D+40|0;n=a+132|0;f[n>>2]=0;i=a+148|0;if(f[i>>2]|0){e=a+144|0;c=f[e>>2]|0;if(c|0)do{t=c;c=f[c>>2]|0;Co(t)}while((c|0)!=0);f[e>>2]=0;c=f[a+140>>2]|0;if(c|0){e=a+136|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}s=a+4|0;c=f[s>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){q=m+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=Bl(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((q|0)<(k|0)|(q|0)==(k|0)&t>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;x=l;f[x>>2]=i;f[x+4>>2]=k;x=14}}else if(yh(B,m)|0){e=f[s>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;x=14}if((x|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){q=l+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=Bl(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((q|0)<(i|0)|(q|0)==(i|0)&t>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;x=21}}else if(yh(o,l)|0){k=f[s>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;x=21}else c=0;if((x|0)==21){n=a+156|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){q=k+8|0;t=f[q>>2]|0;q=f[q+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if(!((q|0)<(g|0)|(q|0)==(g|0)&t>>>0>>0)?(t=(f[k>>2]|0)+c|0,t=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24,f[r>>2]=t,q=i,f[q>>2]=e,f[q+4>>2]=g,t>>>0<=715827882):0)x=25;else c=0}else{t=(yh(r,k)|0)^1;if((f[r>>2]|0)>>>0>715827882|t)c=0;else x=25}do if((x|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);q=Lk(60)|0;om(q);t=a+8|0;c=f[t>>2]|0;f[t>>2]=q;if(c|0?(uh(c),Co(c),(f[t>>2]|0)==0):0){c=0;break}i=a+160|0;c=f[i>>2]|0;g=a+164|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;c=f[(f[s>>2]|0)+32>>2]|0;q=c+8|0;p=f[q+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((p|0)>(g|0)|((p|0)==(g|0)?(f[q>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=Bl(e|0,g|0,1,0)|0;q=i;f[q>>2]=k;f[q+4>>2]=I;q=a+212|0;k=f[q>>2]|0;p=a+216|0;c=f[p>>2]|0;if((c|0)!=(k|0))do{f[p>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}Dh(c+-112|0);c=f[p>>2]|0}while((c|0)!=(k|0));m=l&255;Xf(q,m);o=f[s>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[w>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=59}}else if(yh(w,c)|0){e=f[w>>2]|0;x=59}else c=0;if((x|0)==59){c=f[r>>2]|0;if(c>>>0>>0)c=0;else{o=f[s>>2]|0;l=f[o+32>>2]|0;do if((h[o+36>>0]<<8&65535)<512){o=l+8|0;r=f[o>>2]|0;o=f[o+4>>2]|0;k=l+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&r>>>0>>0){c=0;break}e=(f[l>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[v>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=65}else{if(!(yh(v,l)|0)){c=0;break}e=f[v>>2]|0;c=f[r>>2]|0;x=65}while(0);a:do if((x|0)==65){if(!(Fi(f[t>>2]|0,c,e+(f[n>>2]|0)|0)|0)){c=0;break}c=(f[v>>2]|0)+(f[n>>2]|0)|0;b[B>>0]=1;mf(a+120|0,c,B);c=f[s>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Fb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)<512){o=k+8|0;r=f[o>>2]|0;o=f[o+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((o|0)<(g|0)|(o|0)==(g|0)&r>>>0>>0)break;c=(f[k>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[B>>2]=c;x=i;f[x>>2]=e;f[x+4>>2]=g;x=72}else{if(!(yh(B,k)|0))break;c=f[B>>2]|0;x=72}while(0);do if((x|0)==72){if(!c)break;x=f[(f[s>>2]|0)+32>>2]|0;r=x+8|0;x=x+16|0;x=cm(f[r>>2]|0,f[r+4>>2]|0,f[x>>2]|0,f[x+4>>2]|0)|0;r=I;if(0>(r|0)|0==(r|0)&c>>>0>x>>>0)break;fk(C);c=f[(f[s>>2]|0)+32>>2]|0;o=c+16|0;l=f[o>>2]|0;x=f[B>>2]|0;r=(f[c>>2]|0)+l+x|0;k=c+8|0;o=cm(f[k>>2]|0,f[k+4>>2]|0,l|0,f[o+4>>2]|0)|0;x=cm(o|0,I|0,x|0,0)|0;xk(C,r,x,d[c+38>>1]|0);c=Fb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);x=a+224|0;f[a+368>>2]=a;l=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;l=f[l>>2]|0;l=(f[l>>2]|0)+(f[l+16>>2]|0)|0;o=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;r=o+8|0;o=o+16|0;o=cm(f[r>>2]|0,f[r+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;r=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;xk(x,l,o,d[(f[r>>2]|0)+38>>1]|0);r=Na[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+372>>2]=r;f[a+376>>2]=(f[v>>2]|0)+(f[n>>2]|0);f[a+364>>2]=m;fk(C);c:do if(Nb(x,C)|0){o=_a(a,f[w>>2]|0)|0;if((o|0)==-1){c=0;break}c=f[(f[s>>2]|0)+32>>2]|0;e=C+16|0;w=f[e>>2]|0;x=(f[C>>2]|0)+w|0;v=C+8|0;e=cm(f[v>>2]|0,f[v+4>>2]|0,w|0,f[e+4>>2]|0)|0;xk(c,x,e,d[c+38>>1]|0);c=f[s>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){x=(f[c+32>>2]|0)+16|0;w=x;w=Bl(f[w>>2]|0,f[w+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[x>>2]=w;f[x+4>>2]=I}do if((f[p>>2]|0)!=(f[q>>2]|0)){c=f[t>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[y>>2]=c;f[B>>2]=f[y>>2];c=c+3|0;if(!(Jd(a,B)|0)){c=0;break c}z=f[t>>2]|0}while((c|0)<((f[z+4>>2]|0)-(f[z>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[z>>2]=c;f[B>>2]=f[z>>2];c=c+3|0;if(!(Dd(a,B)|0)){c=0;break c}y=f[t>>2]|0}while((c|0)<((f[y+4>>2]|0)-(f[y>>2]|0)>>2|0))}}while(0);if(b[a+300>>0]|0)Jj(a+264|0);if((j[a+262>>1]|0)<514)Jj(a+320|0);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){i=0;do{Mg(c+(i*116|0)+4|0,f[t>>2]|0)|0;c=f[q>>2]|0;e=f[c+(i*116|0)+104>>2]|0;g=f[c+(i*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Ye(c+(i*116|0)+4|0,B);e=e+4|0;c=f[q>>2]|0}while((e|0)!=(g|0));kj(c+(i*116|0)+4|0,0,0);i=i+1|0;c=f[q>>2]|0}while(i>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}l=f[t>>2]|0;l=(f[l+28>>2]|0)-(f[l+24>>2]|0)>>2;g=a+196|0;k=a+200|0;i=f[k>>2]|0;c=f[g>>2]|0;e=i-c>>2;do if(l>>>0>e>>>0)sg(g,l-e|0);else{if(l>>>0>=e>>>0)break;c=c+(l<<2)|0;if((i|0)==(c|0))break;f[k>>2]=i+(~((i+-4-c|0)>>>2)<<2)}while(0);Kh(a+184|0,l);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){n=0;do{m=(f[c+(n*116|0)+60>>2]|0)-(f[c+(n*116|0)+56>>2]|0)>>2;i=f[t>>2]|0;i=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;m=(m|0)<(i|0)?i:m;i=c+(n*116|0)+88|0;l=c+(n*116|0)+92|0;k=f[l>>2]|0;e=f[i>>2]|0;g=k-e>>2;do if(m>>>0>g>>>0)sg(i,m-g|0);else{if(m>>>0>=g>>>0)break;e=e+(m<<2)|0;if((k|0)==(e|0))break;f[l>>2]=k+(~((k+-4-e|0)>>>2)<<2)}while(0);Kh(c+(n*116|0)+76|0,m);n=n+1|0;c=f[q>>2]|0}while(n>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}c=Ab(a,o)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}}else c=0}while(0)}C=c;u=D;return C|0}function db(a){a=a|0;var c=0,e=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+80|0;B=D+68|0;o=D+64|0;r=D+60|0;w=D+52|0;s=D+44|0;C=D;y=D+56|0;z=D+48|0;A=D+40|0;n=a+132|0;f[n>>2]=0;i=a+148|0;if(f[i>>2]|0){e=a+144|0;c=f[e>>2]|0;if(c|0)do{v=c;c=f[c>>2]|0;Co(v)}while((c|0)!=0);f[e>>2]=0;c=f[a+140>>2]|0;if(c|0){e=a+136|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[i>>2]=0}t=a+4|0;c=f[t>>2]|0;e=b[c+36>>0]|0;g=(e&255)<<8;do if(((g|h[c+37>>0])&65535)<514){m=f[c+32>>2]|0;if((g&65535)<512){q=m+8|0;v=f[q>>2]|0;q=f[q+4>>2]|0;l=m+16|0;i=l;g=f[i>>2]|0;i=Bl(g|0,f[i+4>>2]|0,4,0)|0;k=I;if(!((q|0)<(k|0)|(q|0)==(k|0)&v>>>0>>0)){g=(f[m>>2]|0)+g|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;f[B>>2]=g;x=l;f[x>>2]=i;f[x+4>>2]=k;x=14}}else if(yh(B,m)|0){e=f[t>>2]|0;c=e;e=b[e+36>>0]|0;g=f[B>>2]|0;x=14}if((x|0)==14){f[n>>2]=g;break}C=0;u=D;return C|0}while(0);l=f[c+32>>2]|0;if(((e&255)<<8&65535)<512){q=l+8|0;v=f[q>>2]|0;q=f[q+4>>2]|0;k=l+16|0;g=k;c=f[g>>2]|0;g=Bl(c|0,f[g+4>>2]|0,4,0)|0;i=I;if((q|0)<(i|0)|(q|0)==(i|0)&v>>>0>>0)c=0;else{c=(f[l>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[o>>2]=c;f[k>>2]=g;f[k+4>>2]=i;k=l;x=21}}else if(yh(o,l)|0){k=f[t>>2]|0;c=f[o>>2]|0;e=b[k+36>>0]|0;k=f[k+32>>2]|0;x=21}else c=0;if((x|0)==21){n=a+156|0;f[n>>2]=c;if(((e&255)<<8&65535)<512){q=k+8|0;v=f[q>>2]|0;q=f[q+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if(!((q|0)<(g|0)|(q|0)==(g|0)&v>>>0>>0)?(v=(f[k>>2]|0)+c|0,v=h[v>>0]|h[v+1>>0]<<8|h[v+2>>0]<<16|h[v+3>>0]<<24,f[r>>2]=v,q=i,f[q>>2]=e,f[q+4>>2]=g,v>>>0<=715827882):0)x=25;else c=0}else{v=(yh(r,k)|0)^1;if((f[r>>2]|0)>>>0>715827882|v)c=0;else x=25}do if((x|0)==25){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);q=Lk(60)|0;om(q);v=a+8|0;c=f[v>>2]|0;f[v>>2]=q;if(c|0?(uh(c),Co(c),(f[v>>2]|0)==0):0){c=0;break}i=a+160|0;c=f[i>>2]|0;g=a+164|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);i=a+172|0;c=f[i>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);Kh(i,f[r>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;c=f[(f[t>>2]|0)+32>>2]|0;q=c+8|0;p=f[q+4>>2]|0;i=c+16|0;g=i;e=f[g>>2]|0;g=f[g+4>>2]|0;if((p|0)>(g|0)|((p|0)==(g|0)?(f[q>>2]|0)>>>0>e>>>0:0)){l=b[(f[c>>2]|0)+e>>0]|0;k=Bl(e|0,g|0,1,0)|0;q=i;f[q>>2]=k;f[q+4>>2]=I;q=a+212|0;k=f[q>>2]|0;p=a+216|0;c=f[p>>2]|0;if((c|0)!=(k|0))do{f[p>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){i=c+-8|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-28>>2]|0;if(e|0){i=c+-24|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}e=f[c+-40>>2]|0;if(e|0){i=c+-36|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Co(e)}Dh(c+-112|0);c=f[p>>2]|0}while((c|0)!=(k|0));m=l&255;Xf(q,m);o=f[t>>2]|0;c=f[o+32>>2]|0;if((h[o+36>>0]<<8&65535)<512){l=c+8|0;o=f[l>>2]|0;l=f[l+4>>2]|0;k=c+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((l|0)<(i|0)|(l|0)==(i|0)&o>>>0>>0)c=0;else{e=(f[c>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[w>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=59}}else if(yh(w,c)|0){e=f[w>>2]|0;x=59}else c=0;if((x|0)==59){c=f[r>>2]|0;if(c>>>0>>0)c=0;else{o=f[t>>2]|0;l=f[o+32>>2]|0;do if((h[o+36>>0]<<8&65535)<512){o=l+8|0;r=f[o>>2]|0;o=f[o+4>>2]|0;k=l+16|0;g=k;e=f[g>>2]|0;g=Bl(e|0,f[g+4>>2]|0,4,0)|0;i=I;if((o|0)<(i|0)|(o|0)==(i|0)&r>>>0>>0){c=0;break}e=(f[l>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[s>>2]=e;x=k;f[x>>2]=g;f[x+4>>2]=i;x=65}else{if(!(yh(s,l)|0)){c=0;break}e=f[s>>2]|0;c=f[r>>2]|0;x=65}while(0);a:do if((x|0)==65){if(!(Fi(f[v>>2]|0,c,e+(f[n>>2]|0)|0)|0)){c=0;break}c=(f[s>>2]|0)+(f[n>>2]|0)|0;b[B>>0]=1;mf(a+120|0,c,B);c=f[t>>2]|0;e=h[c+36>>0]<<8;b:do if(((e|h[c+37>>0])&65535)>=514)if((Fb(a,f[c+32>>2]|0)|0)==-1){c=0;break a}else g=-1;else{k=f[c+32>>2]|0;do if((e&65535)<512){r=k+8|0;s=f[r>>2]|0;r=f[r+4>>2]|0;i=k+16|0;e=i;c=f[e>>2]|0;e=Bl(c|0,f[e+4>>2]|0,4,0)|0;g=I;if((r|0)<(g|0)|(r|0)==(g|0)&s>>>0>>0)break;c=(f[k>>2]|0)+c|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;f[B>>2]=c;x=i;f[x>>2]=e;f[x+4>>2]=g;x=72}else{if(!(yh(B,k)|0))break;c=f[B>>2]|0;x=72}while(0);do if((x|0)==72){if(!c)break;x=f[(f[t>>2]|0)+32>>2]|0;s=x+8|0;x=x+16|0;x=cm(f[s>>2]|0,f[s+4>>2]|0,f[x>>2]|0,f[x+4>>2]|0)|0;s=I;if(0>(s|0)|0==(s|0)&c>>>0>x>>>0)break;fk(C);c=f[(f[t>>2]|0)+32>>2]|0;r=c+16|0;o=f[r>>2]|0;x=f[B>>2]|0;s=(f[c>>2]|0)+o+x|0;n=c+8|0;r=cm(f[n>>2]|0,f[n+4>>2]|0,o|0,f[r+4>>2]|0)|0;x=cm(r|0,I|0,x|0,0)|0;xk(C,s,x,d[c+38>>1]|0);c=Fb(a,C)|0;Ho(C+24|0);if((c|0)==-1)break;g=c;break b}while(0);c=0;break a}while(0);x=a+224|0;f[a+368>>2]=a;o=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;o=(f[o>>2]|0)+(f[o+16>>2]|0)|0;r=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;r=f[r>>2]|0;s=r+8|0;r=r+16|0;r=cm(f[s>>2]|0,f[s+4>>2]|0,f[r>>2]|0,f[r+4>>2]|0)|0;s=(Na[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;xk(x,o,r,d[(f[s>>2]|0)+38>>1]|0);f[a+364>>2]=m;fk(C);c:do if(Bd(x,C)|0){o=$a(a,f[w>>2]|0)|0;if((o|0)==-1){c=0;break}c=f[(f[t>>2]|0)+32>>2]|0;e=C+16|0;w=f[e>>2]|0;x=(f[C>>2]|0)+w|0;s=C+8|0;e=cm(f[s>>2]|0,f[s+4>>2]|0,w|0,f[e+4>>2]|0)|0;xk(c,x,e,d[c+38>>1]|0);c=f[t>>2]|0;e=(h[c+36>>0]<<8|h[c+37>>0])&65535;if((e&65535)<514){x=(f[c+32>>2]|0)+16|0;w=x;w=Bl(f[w>>2]|0,f[w+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;f[x>>2]=w;f[x+4>>2]=I}do if((f[p>>2]|0)!=(f[q>>2]|0)){c=f[v>>2]|0;c=((f[c+4>>2]|0)-(f[c>>2]|0)|0)>0;if((e&65535)<513){if(!c)break;c=0;do{f[y>>2]=c;f[B>>2]=f[y>>2];c=c+3|0;if(!(Jd(a,B)|0)){c=0;break c}z=f[v>>2]|0}while((c|0)<((f[z+4>>2]|0)-(f[z>>2]|0)>>2|0))}else{if(!c)break;c=0;do{f[z>>2]=c;f[B>>2]=f[z>>2];c=c+3|0;if(!(Ed(a,B)|0)){c=0;break c}y=f[v>>2]|0}while((c|0)<((f[y+4>>2]|0)-(f[y>>2]|0)>>2|0))}}while(0);if(b[a+300>>0]|0)Jj(a+264|0);if((j[a+262>>1]|0)<514)Jj(a+320|0);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){i=0;do{Mg(c+(i*116|0)+4|0,f[v>>2]|0)|0;c=f[q>>2]|0;e=f[c+(i*116|0)+104>>2]|0;g=f[c+(i*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[A>>2]=f[e>>2];f[B>>2]=f[A>>2];Ye(c+(i*116|0)+4|0,B);e=e+4|0;c=f[q>>2]|0}while((e|0)!=(g|0));kj(c+(i*116|0)+4|0,0,0);i=i+1|0;c=f[q>>2]|0}while(i>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}l=f[v>>2]|0;l=(f[l+28>>2]|0)-(f[l+24>>2]|0)>>2;g=a+196|0;k=a+200|0;i=f[k>>2]|0;c=f[g>>2]|0;e=i-c>>2;do if(l>>>0>e>>>0)sg(g,l-e|0);else{if(l>>>0>=e>>>0)break;c=c+(l<<2)|0;if((i|0)==(c|0))break;f[k>>2]=i+(~((i+-4-c|0)>>>2)<<2)}while(0);Kh(a+184|0,l);c=f[q>>2]|0;if((f[p>>2]|0)!=(c|0)){n=0;do{m=(f[c+(n*116|0)+60>>2]|0)-(f[c+(n*116|0)+56>>2]|0)>>2;i=f[v>>2]|0;i=(f[i+28>>2]|0)-(f[i+24>>2]|0)>>2;m=(m|0)<(i|0)?i:m;i=c+(n*116|0)+88|0;l=c+(n*116|0)+92|0;k=f[l>>2]|0;e=f[i>>2]|0;g=k-e>>2;do if(m>>>0>g>>>0)sg(i,m-g|0);else{if(m>>>0>=g>>>0)break;e=e+(m<<2)|0;if((k|0)==(e|0))break;f[l>>2]=k+(~((k+-4-e|0)>>>2)<<2)}while(0);Kh(c+(n*116|0)+76|0,m);n=n+1|0;c=f[q>>2]|0}while(n>>>0<(((f[p>>2]|0)-c|0)/116|0)>>>0)}c=Ab(a,o)|0}else c=0;while(0);Ho(C+24|0)}while(0)}}}else c=0}while(0)}C=c;u=D;return C|0}function eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=La;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=Kk(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=Bl(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=Kk(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=Bl(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Bl(Kk(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function fb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;M=u;u=u+32|0;L=M;J=a+8|0;j=f[J>>2]|0;f[L>>2]=0;l=L+4|0;f[l>>2]=0;f[L+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(L);else{K=j<<2;g=Lk(K)|0;f[L>>2]=g;i=g+(j<<2)|0;f[L+8>>2]=i;dh(g|0,0,K|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);I=a+116|0;n=f[I>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[L>>2]|0;i=f[l>>2]|0;j=f[J>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[L+8>>2];f[L>>2]=0;i=L+4|0;f[i>>2]=0;f[L+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(L);else{K=j<<2;h=Lk(K)|0;f[L>>2]=h;e=h+(j<<2)|0;f[L+8>>2]=e;dh(h|0,0,K|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);E=a+128|0;k=f[E>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[L>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[L+8>>2];f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;K=L+8|0;H=L+4|0;G=L+16|0;F=L+20|0;cc(L);e=f[H>>2]|0;g=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[F>>2]|0)+1|0;f[F>>2]=e;a:do if(e|0){v=a+104|0;D=a+92|0;t=d+4|0;w=a+96|0;C=a+48|0;z=a+44|0;B=a+28|0;y=a+24|0;A=a+88|0;x=a+84|0;b:while(1){q=f[G>>2]|0;g=e+-1|0;n=q+g|0;r=f[H>>2]|0;p=f[r+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;s=f[p+(n*12|0)>>2]|0;h=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[F>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}i=f[I>>2]|0;r=i+(n*12|0)|0;q=(f[E>>2]|0)+(n*12|0)|0;g=Wk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(n*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=31;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0;if((m|0)>=(s|0)){o=23;break}}}else o=23;else{if(!s){o=36;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[J>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[J>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[D>>2]|0;else{l=f[v>>2]|0;m=f[D>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){o=50;break b}if((p|0)<=0){o=52;break b}j=f[C>>2]|0;k=32-j|0;e=f[z>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[C>>2]=p;e=e+4|0;f[z>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[C>>2]|0)+p|0;f[C>>2]=p;if((p|0)!=32)break;f[z>>2]=e+4;f[C>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[J>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=45;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=23;break c}e=f[J>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[I>>2]|0)+(c*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}r=i+(g<<2)|0;f[r>>2]=(f[r>>2]|0)+k;k=(_(s|0)|0)^31;if(k>>>0>=33){o=64;break b}if(!k){o=66;break b}i=f[B>>2]|0;h=32-i|0;j=f[y>>2]|0;e=f[j>>2]<>>(32-k|0);r=i+k|0;f[B>>2]=r;if((r|0)==32){f[y>>2]=j+4;f[B>>2]=0}}else{r=k-h|0;f[B>>2]=r;q=j+4|0;f[y>>2]=q;r=32-r|0;e=(f[q>>2]|0)>>>r|e>>>(r-h|0)}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){l=j;m=j}else{s=f[A>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[A>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[A>>2]=0}l=i?j:h;m=i?h:j}e=f[E>>2]|0;k=f[e+(n*12|0)>>2]|0;h=k+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(n*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[e+(c*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[k+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(l|0){j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(L);e=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;f[F>>2]=(f[F>>2]|0)+1}if(!m){o=23;break}j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;e=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(L);e=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=m;f[e+4>>2]=g;f[e+8>>2]=c;e=(f[F>>2]|0)+1|0;f[F>>2]=e}while(0);if((o|0)==23){o=0;e=f[F>>2]|0}if(!e)break a}if((o|0)==31)ra(4996,5026,51,5150);else if((o|0)==36)ra(16930,16968,223,17115);else if((o|0)==45)ra(4996,5026,51,5150);else if((o|0)==50)ra(17130,17154,48,17262);else if((o|0)==52)ra(17291,17154,49,17262);else if((o|0)==64)ra(17130,17154,48,17262);else if((o|0)==66)ra(17291,17154,49,17262)}while(0);e=f[H>>2]|0;g=f[G>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[F>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[H>>2]|0)+4|0;f[H>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=102;break}case 2:{g=341;o=102;break}default:{}}if((o|0)==102)f[G>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[H>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[L>>2]|0;if(!e){u=M;return}Co(e);u=M;return}function gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;N=Q+24|0;P=Q;M=a+8|0;i=f[M>>2]|0;f[N>>2]=0;k=N+4|0;f[k>>2]=0;f[N+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(N);else{O=i<<2;e=Lk(O)|0;f[N>>2]=e;h=e+(i<<2)|0;f[N+8>>2]=h;dh(e|0,0,O|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);L=a+116|0;m=f[L>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[N>>2]|0;h=f[k>>2]|0;i=f[M>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[N+8>>2];f[N>>2]=0;h=N+4|0;f[h>>2]=0;f[N+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(N);else{O=i<<2;g=Lk(O)|0;f[N>>2]=g;d=g+(i<<2)|0;f[N+8>>2]=d;dh(g|0,0,O|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);H=a+128|0;j=f[H>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[N>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[N+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;K=P+4|0;J=P+16|0;I=P+20|0;cc(P);d=f[K>>2]|0;e=(f[I>>2]|0)+(f[J>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[I>>2]|0)+1|0;f[I>>2]=d;a:do if(d|0){w=a+104|0;v=a+92|0;B=N+4|0;D=N+8|0;G=a+48|0;z=a+44|0;F=a+28|0;y=a+24|0;E=a+88|0;x=a+84|0;A=N+4|0;C=N+8|0;b:while(1){r=f[J>>2]|0;e=d+-1|0;m=r+e|0;s=f[K>>2]|0;q=f[s+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;t=f[q+(m*12|0)>>2]|0;g=f[q+(m*12|0)+4>>2]|0;m=f[q+(m*12|0)+8>>2]|0;f[I>>2]=e;e=f[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[O>>2]=(f[O>>2]|0)+-4}h=f[L>>2]|0;s=h+(m*12|0)|0;r=(f[H>>2]|0)+(m*12|0)|0;e=Wk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[N>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else Hf(j,N);i=i+1|0}while((i|0)<(t|0));n=23}else n=23;else{if(!t){n=35;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[M>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[M>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){n=44;break b}if((n|0)<=0){n=46;break b}h=f[G>>2]|0;i=32-h|0;d=f[z>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[G>>2]=n;d=d+4|0;f[z>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[G>>2]|0)+n|0;f[G>>2]=n;if((n|0)!=32)break;f[z>>2]=d+4;f[G>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[M>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[N>>2]=d;f[B>>2]=f[g+4>>2];f[D>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[B>>2];f[g+8>>2]=f[D>>2];f[o>>2]=g+12}else Hf(q,N);e=e+1|0;if(e>>>0>=t>>>0){n=23;break c}d=f[M>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;i=d;h=f[(f[L>>2]|0)+(b*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}s=h+(e<<2)|0;f[s>>2]=(f[s>>2]|0)+j;j=(_(t|0)|0)^31;if(j>>>0>=33){n=61;break b}if(!j){n=63;break b}h=f[F>>2]|0;g=32-h|0;i=f[y>>2]|0;d=f[i>>2]<>>(32-j|0);s=h+j|0;f[F>>2]=s;if((s|0)==32){f[y>>2]=i+4;f[F>>2]=0}}else{s=j-g|0;f[F>>2]=s;r=i+4|0;f[y>>2]=r;s=32-s|0;d=(f[r>>2]|0)>>>s|d>>>(s-g|0)}i=(t>>>1)-d|0;g=t-i|0;if((i|0)==(g|0)){k=i;l=i}else{t=f[E>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[E>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[E>>2]=0}k=h?i:g;l=h?g:i}d=f[H>>2]|0;j=f[d+(m*12|0)>>2]|0;h=j+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(m*12|0)+4>>2]|0;g=j;if((h|0)!=(g|0)){i=f[d+(b*12|0)>>2]|0;g=h-g>>2;d=0;do{f[i+(d<<2)>>2]=f[j+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(k|0){i=f[O>>2]|0;h=f[K>>2]|0;t=i-h>>2;d=f[J>>2]|0;g=f[I>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[J>>2]|0;g=f[I>>2]|0;i=f[O>>2]|0;h=f[K>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;f[I>>2]=(f[I>>2]|0)+1}if(!l){n=23;break}i=f[O>>2]|0;h=f[K>>2]|0;t=i-h>>2;d=f[J>>2]|0;g=f[I>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[J>>2]|0;g=f[I>>2]|0;i=f[O>>2]|0;h=f[K>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=l;f[d+4>>2]=e;f[d+8>>2]=b;d=(f[I>>2]|0)+1|0;f[I>>2]=d}while(0);if((n|0)==23){n=0;d=f[I>>2]|0}if(!d)break a}if((n|0)==35)ra(16930,16968,223,17115);else if((n|0)==44)ra(17130,17154,48,17262);else if((n|0)==46)ra(17291,17154,49,17262);else if((n|0)==61)ra(17130,17154,48,17262);else if((n|0)==63)ra(17291,17154,49,17262)}while(0);d=f[K>>2]|0;e=f[J>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[O>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[I>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[K>>2]|0)+4|0;f[K>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=99;break}case 2:{e=341;n=99;break}default:{}}if((n|0)==99)f[J>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[K>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function hb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;O=u;u=u+32|0;N=O;L=a+8|0;j=f[L>>2]|0;f[N>>2]=0;l=N+4|0;f[l>>2]=0;f[N+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(N);else{M=j<<2;g=Lk(M)|0;f[N>>2]=g;i=g+(j<<2)|0;f[N+8>>2]=i;dh(g|0,0,M|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);K=a+116|0;n=f[K>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[N>>2]|0;i=f[l>>2]|0;j=f[L>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[N+8>>2];f[N>>2]=0;i=N+4|0;f[i>>2]=0;f[N+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(N);else{M=j<<2;h=Lk(M)|0;f[N>>2]=h;e=h+(j<<2)|0;f[N+8>>2]=e;dh(h|0,0,M|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);G=a+128|0;k=f[G>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[N>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[N+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;J=N+4|0;I=N+16|0;H=N+20|0;cc(N);e=f[J>>2]|0;g=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[M>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[H>>2]|0)+1|0;f[H>>2]=e;a:do if(e|0){w=a+104|0;E=a+92|0;v=d+4|0;x=a+96|0;D=a+48|0;A=a+44|0;C=a+28|0;z=a+24|0;B=a+88|0;y=a+84|0;b:while(1){r=f[I>>2]|0;g=e+-1|0;o=r+g|0;s=f[J>>2]|0;q=f[s+(((o>>>0)/341|0)<<2)>>2]|0;o=(o>>>0)%341|0;t=f[q+(o*12|0)>>2]|0;h=f[q+(o*12|0)+4>>2]|0;o=f[q+(o*12|0)+8>>2]|0;f[H>>2]=g;g=f[M>>2]|0;s=g-s>>2;if((1-e-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);g=(f[M>>2]|0)+-4|0;f[M>>2]=g}i=f[K>>2]|0;r=i+(o*12|0)|0;m=f[G>>2]|0;s=((f[L>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=m+(o*12|0)|0;c=f[q>>2]|0;l=c+(s<<2)|0;e=(f[a>>2]|0)-(f[l>>2]|0)|0;n=c;c:do if(!e)if((t|0)>0){j=i+(o*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[v>>2]|0;m=0;while(1){e=g;g=g+1|0;f[v>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){F=31;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;s=l;F=f[s>>2]|0;s=Kk(F|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+s|0,h|0,F|0)|0;m=m+1|0;if((m|0)>=(t|0)){F=23;break}}}else F=23;else{if(!t){F=36;break b}if(t>>>0<3){i=f[w>>2]|0;f[i>>2]=s;e=f[L>>2]|0;if(e>>>0>1){g=s;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[L>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[E>>2]|0;else{l=f[w>>2]|0;m=f[E>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){F=50;break b}if((p|0)<=0){F=52;break b}j=f[D>>2]|0;k=32-j|0;e=f[A>>2]|0;j=f[e>>2]<(k|0)){F=p-k|0;f[D>>2]=F;s=e+4|0;f[A>>2]=s;F=32-F|0;f[h>>2]=(f[s>>2]|0)>>>F|j>>>(F-k|0);break}f[h>>2]=j>>>(32-p|0);F=(f[D>>2]|0)+p|0;f[D>>2]=F;if((F|0)!=32)break;f[A>>2]=e+4;f[D>>2]=0}while(0);s=f[c>>2]|0;F=m+(s<<2)|0;f[F>>2]=f[F>>2]|f[(f[r>>2]|0)+(s<<2)>>2];o=o+1|0}while(o>>>0<(f[L>>2]|0)>>>0)}h=f[d>>2]|0;e=f[v>>2]|0;f[v>>2]=e+1;if(((f[x>>2]|0)-i|0)!=12){F=45;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;s=h+40|0;F=f[s>>2]|0;s=Kk(F|0,f[s+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+s|0,i|0,F|0)|0;g=g+1|0;if(g>>>0>=t>>>0){F=23;break c}e=f[L>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;j=e;i=f[i+(p*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}r=i+(s<<2)|0;f[r>>2]=(f[r>>2]|0)+k;k=(_(t|0)|0)^31;if(k>>>0>=33){F=64;break b}if(!k){F=66;break b}i=f[C>>2]|0;h=32-i|0;j=f[z>>2]|0;e=f[j>>2]<>>(32-k|0);r=i+k|0;f[C>>2]=r;if((r|0)==32){f[z>>2]=j+4;f[C>>2]=0}}else{r=k-h|0;f[C>>2]=r;q=j+4|0;f[z>>2]=q;r=32-r|0;e=(f[q>>2]|0)>>>r|e>>>(r-h|0)}j=(t>>>1)-e|0;h=t-j|0;if((j|0)==(h|0))k=j;else{t=f[B>>2]|0;e=f[y>>2]|0;i=(f[e>>2]&1<<31-t|0)!=0;t=t+1|0;f[B>>2]=t;if((t|0)==32){f[y>>2]=e+4;f[B>>2]=0}k=i?j:h;j=i?h:j}f[l>>2]=(f[l>>2]|0)+1;e=f[m+(o*12|0)+4>>2]|0;if((e|0)!=(n|0)){i=f[m+(p*12|0)>>2]|0;h=e-n>>2;e=0;do{f[i+(e<<2)>>2]=f[c+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){i=f[J>>2]|0;t=g-i>>2;e=f[I>>2]|0;h=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(h+e|0)){cc(N);e=f[I>>2]|0;h=f[H>>2]|0;g=f[M>>2]|0;i=f[J>>2]|0}e=h+e|0;if((g|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=s;f[e+8>>2]=o;f[H>>2]=(f[H>>2]|0)+1}if(!j){F=23;break}i=f[M>>2]|0;h=f[J>>2]|0;t=i-h>>2;e=f[I>>2]|0;g=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+e|0)){cc(N);e=f[I>>2]|0;g=f[H>>2]|0;i=f[M>>2]|0;h=f[J>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=j;f[e+4>>2]=s;f[e+8>>2]=p;e=(f[H>>2]|0)+1|0;f[H>>2]=e}while(0);if((F|0)==23){F=0;e=f[H>>2]|0}if(!e)break a}if((F|0)==31)ra(4996,5026,51,5150);else if((F|0)==36)ra(16930,16968,223,17115);else if((F|0)==45)ra(4996,5026,51,5150);else if((F|0)==50)ra(17130,17154,48,17262);else if((F|0)==52)ra(17291,17154,49,17262);else if((F|0)==64)ra(17130,17154,48,17262);else if((F|0)==66)ra(17291,17154,49,17262)}while(0);e=f[J>>2]|0;g=f[I>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[M>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[H>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[J>>2]|0)+4|0;f[J>>2]=e;h=f[M>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;F=102;break}case 2:{g=341;F=102;break}default:{}}if((F|0)==102)f[I>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[J>>2]|0;g=f[M>>2]|0;if((g|0)!=(e|0))f[M>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[N>>2]|0;if(!e){u=O;return}Co(e);u=O;return}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;N=Q+24|0;P=Q;M=a+8|0;i=f[M>>2]|0;f[N>>2]=0;k=N+4|0;f[k>>2]=0;f[N+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(N);else{O=i<<2;e=Lk(O)|0;f[N>>2]=e;h=e+(i<<2)|0;f[N+8>>2]=h;dh(e|0,0,O|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);L=a+116|0;m=f[L>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[N>>2]|0;h=f[k>>2]|0;i=f[M>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[N+8>>2];f[N>>2]=0;h=N+4|0;f[h>>2]=0;f[N+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(N);else{O=i<<2;g=Lk(O)|0;f[N>>2]=g;d=g+(i<<2)|0;f[N+8>>2]=d;dh(g|0,0,O|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);H=a+128|0;j=f[H>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[N>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[N+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;K=P+4|0;J=P+16|0;I=P+20|0;cc(P);d=f[K>>2]|0;e=(f[I>>2]|0)+(f[J>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[I>>2]|0)+1|0;f[I>>2]=d;a:do if(d|0){w=a+104|0;v=a+92|0;B=N+4|0;D=N+8|0;G=a+48|0;z=a+44|0;F=a+28|0;y=a+24|0;E=a+88|0;x=a+84|0;A=N+4|0;C=N+8|0;b:while(1){r=f[J>>2]|0;e=d+-1|0;n=r+e|0;s=f[K>>2]|0;p=f[s+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;t=f[p+(n*12|0)>>2]|0;g=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[I>>2]=e;e=f[O>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);e=(f[O>>2]|0)+-4|0;f[O>>2]=e}h=f[L>>2]|0;s=h+(n*12|0)|0;l=f[H>>2]|0;p=((f[M>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=l+(n*12|0)|0;b=f[r>>2]|0;k=b+(p<<2)|0;d=(f[a>>2]|0)-(f[k>>2]|0)|0;m=b;c:do if(!d)if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[N>>2]=d;f[A>>2]=f[e+4>>2];f[C>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[A>>2];f[e+8>>2]=f[C>>2];f[g>>2]=e+12}else Hf(j,N);i=i+1|0}while((i|0)<(t|0));q=23}else q=23;else{if(!t){q=35;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=p;d=f[M>>2]|0;if(d>>>0>1){e=p;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[M>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){q=44;break b}if((n|0)<=0){q=46;break b}h=f[G>>2]|0;i=32-h|0;d=f[z>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[G>>2]=n;d=d+4|0;f[z>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[G>>2]|0)+n|0;f[G>>2]=n;if((n|0)!=32)break;f[z>>2]=d+4;f[G>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[M>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[N>>2]=d;f[B>>2]=f[g+4>>2];f[D>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[B>>2];f[g+8>>2]=f[D>>2];f[o>>2]=g+12}else Hf(q,N);e=e+1|0;if(e>>>0>=t>>>0){q=23;break c}d=f[M>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;i=d;h=f[h+(o*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}s=h+(p<<2)|0;f[s>>2]=(f[s>>2]|0)+j;j=(_(t|0)|0)^31;if(j>>>0>=33){q=61;break b}if(!j){q=63;break b}h=f[F>>2]|0;g=32-h|0;i=f[y>>2]|0;d=f[i>>2]<>>(32-j|0);s=h+j|0;f[F>>2]=s;if((s|0)==32){f[y>>2]=i+4;f[F>>2]=0}}else{s=j-g|0;f[F>>2]=s;r=i+4|0;f[y>>2]=r;s=32-s|0;d=(f[r>>2]|0)>>>s|d>>>(s-g|0)}i=(t>>>1)-d|0;g=t-i|0;if((i|0)==(g|0))j=i;else{t=f[E>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[E>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[E>>2]=0}j=h?i:g;i=h?g:i}f[k>>2]=(f[k>>2]|0)+1;d=f[l+(n*12|0)+4>>2]|0;if((d|0)!=(m|0)){h=f[l+(o*12|0)>>2]|0;g=d-m>>2;d=0;do{f[h+(d<<2)>>2]=f[b+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){h=f[K>>2]|0;t=e-h>>2;d=f[J>>2]|0;g=f[I>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(P);d=f[J>>2]|0;g=f[I>>2]|0;e=f[O>>2]|0;h=f[K>>2]|0}d=g+d|0;if((e|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=p;f[d+8>>2]=n;f[I>>2]=(f[I>>2]|0)+1}if(!i){q=23;break}h=f[O>>2]|0;g=f[K>>2]|0;t=h-g>>2;d=f[J>>2]|0;e=f[I>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[J>>2]|0;e=f[I>>2]|0;h=f[O>>2]|0;g=f[K>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=i;f[d+4>>2]=p;f[d+8>>2]=o;d=(f[I>>2]|0)+1|0;f[I>>2]=d}while(0);if((q|0)==23){q=0;d=f[I>>2]|0}if(!d)break a}if((q|0)==35)ra(16930,16968,223,17115);else if((q|0)==44)ra(17130,17154,48,17262);else if((q|0)==46)ra(17291,17154,49,17262);else if((q|0)==61)ra(17130,17154,48,17262);else if((q|0)==63)ra(17291,17154,49,17262)}while(0);d=f[K>>2]|0;e=f[J>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[O>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[I>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[K>>2]|0)+4|0;f[K>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;q=99;break}case 2:{e=341;q=99;break}default:{}}if((q|0)==99)f[J>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[K>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=u;u=u+64|0;U=V+16|0;I=V;H=a+8|0;f[H>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);d=U;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[I>>2]=0;if(!e){d=0;g=0}else{wf(U,e,I);d=f[U+12>>2]|0;g=f[U+16>>2]|0}f[I>>2]=0;h=U+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else wf(U+12|0,e-i|0,I);i=U+24|0;f[I>>2]=0;h=U+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else wf(i,e-j|0,I);i=U+36|0;f[I>>2]=0;h=U+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else wf(i,e-j|0,I);h=f[U>>2]|0;if((f[H>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{G=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(G|0)?G:d}j=j+1|0;d=f[H>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;r=18}}else{d=d-(f[i>>2]|0)|0;r=18}if((r|0)==18){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}B=f[a+48>>2]|0;C=f[a+52>>2]|0;G=Lk(16)|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;f[I>>2]=0;F=I+4|0;f[F>>2]=0;f[I+8>>2]=0;do if(e)if(e>>>0>1073741823)Tn(I);else{E=e<<2;p=Lk(E)|0;f[I>>2]=p;o=p+(e<<2)|0;f[I+8>>2]=o;dh(p|0,0,E|0)|0;f[F>>2]=o;o=p;break}else{o=0;p=0}while(0);D=a+56|0;d=f[D>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;A=g-h|0;E=A>>2;do if((A|0)>4){x=B+64|0;t=B+28|0;w=(e|0)>0;z=a+16|0;v=a+32|0;A=a+12|0;y=a+20|0;s=e<<2;if(g-h>>2>>>0>1){q=h;Q=1}else{r=d;Tn(r)}while(1){n=f[q+(Q<<2)>>2]|0;q=n+((n|0)<0?0:((n>>>0)%3|0|0)==0?2:-1)|0;p=q>>>5;r=1<<(q&31);o=(q|0)<0;g=n;m=1;d=0;a:while(1){do{if((g|0)<=-1){r=63;break a}h=f[U+(d*12|0)>>2]|0;if(((f[(f[B>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(R=f[(f[(f[x>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(R|0)>=0):0)?(L=f[t>>2]|0,l=f[C>>2]|0,J=f[l+(f[L+(R<<2)>>2]<<2)>>2]|0,K=R+1|0,K=f[l+(f[L+((((K|0)%3|0|0)==0?R+-2|0:K)<<2)>>2]<<2)>>2]|0,L=f[l+(f[L+((((R>>>0)%3|0|0)==0?2:-1)+R<<2)>>2]<<2)>>2]|0,(J|0)<(Q|0)&(K|0)<(Q|0)&(L|0)<(Q|0)):0){j=X(J,e)|0;k=X(K,e)|0;l=X(L,e)|0;if(w){i=0;do{f[h+(i<<2)>>2]=(f[c+(i+l<<2)>>2]|0)+(f[c+(i+k<<2)>>2]|0)-(f[c+(i+j<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;r=44;break a}}do if(m){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=f[B>>2]|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[x>>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=f[B>>2]|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[x>>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)==(n|0)){r=63;break a}}while(!(m&(g|0)<0));g=(r&f[h+(p<<2)>>2]|0)!=0;if(g|o){g=g?-1073741824:q;m=0;continue}g=f[(f[(f[x>>2]|0)+12>>2]|0)+(q<<2)>>2]|0;if((g|0)<0){m=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;m=0;continue}else{g=g+-1|0;m=0;continue}}if((r|0)==63)if((d|0)>0)r=44;else{P=X(Q,e)|0;r=75}if((r|0)==44){r=0;if(w){dh(f[I>>2]|0,0,s|0)|0;j=d+-1|0;l=G+(j<<2)|0;j=f[a+60+(j*12|0)>>2]|0;k=f[I>>2]|0;m=0;g=0;do{q=f[l>>2]|0;f[l>>2]=q+1;if(!(f[j+(q>>>5<<2)>>2]&1<<(q&31))){h=f[U+(m*12|0)>>2]|0;i=0;do{q=k+(i<<2)|0;f[q>>2]=(f[q>>2]|0)+(f[h+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));g=g+1|0}m=m+1|0}while((m|0)!=(d|0))}else{h=d+-1|0;j=G+(h<<2)|0;h=f[a+60+(h*12|0)>>2]|0;i=f[j>>2]|0;k=0;g=0;do{q=i;i=i+1|0;f[j>>2]=i;g=g+((f[h+(q>>>5<<2)>>2]&1<<(q&31)|0)==0&1)|0;k=k+1|0}while((k|0)!=(d|0))}h=X(Q,e)|0;if(g){j=f[I>>2]|0;if(w){d=0;do{q=j+(d<<2)|0;f[q>>2]=(f[q>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=b+(h<<2)|0;k=c+(h<<2)|0;if((f[H>>2]|0)>0){h=0;do{d=f[j+(h<<2)>>2]|0;g=f[z>>2]|0;if((d|0)>(g|0)){i=f[v>>2]|0;f[i+(h<<2)>>2]=g}else{q=f[A>>2]|0;i=f[v>>2]|0;f[i+(h<<2)>>2]=(d|0)<(q|0)?q:d}h=h+1|0;d=f[H>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;do if((d|0)>(f[z>>2]|0)){d=d-(f[y>>2]|0)|0;r=97}else{if((d|0)>=(f[A>>2]|0))break;d=(f[y>>2]|0)+d|0;r=97}while(0);if((r|0)==97){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}}else{P=h;r=75}}if((r|0)==75?(r=0,M=c+((X(Q+-1|0,e)|0)<<2)|0,N=b+(P<<2)|0,O=c+(P<<2)|0,(f[H>>2]|0)>0):0){h=0;do{d=f[M+(h<<2)>>2]|0;g=f[z>>2]|0;if((d|0)>(g|0)){i=f[v>>2]|0;f[i+(h<<2)>>2]=g}else{q=f[A>>2]|0;i=f[v>>2]|0;f[i+(h<<2)>>2]=(d|0)<(q|0)?q:d}h=h+1|0;d=f[H>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[N+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=O+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[z>>2]|0)){if((d|0)<(f[A>>2]|0)){d=(f[y>>2]|0)+d|0;r=85}}else{d=d-(f[y>>2]|0)|0;r=85}if((r|0)==85){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}Q=Q+1|0;if((Q|0)>=(E|0)){r=28;break}d=f[D>>2]|0;q=f[d>>2]|0;if((f[d+4>>2]|0)-q>>2>>>0<=Q>>>0){r=34;break}}if((r|0)==28){T=f[I>>2]|0;S=T;break}else if((r|0)==34)Tn(d)}else{S=p;T=o}while(0);if(S|0){d=f[F>>2]|0;if((d|0)!=(S|0))f[F>>2]=d+(~((d+-4-S|0)>>>2)<<2);Co(T)}Co(G);g=f[U+36>>2]|0;if(g|0){h=U+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g)}d=f[U+24>>2]|0;if(d|0){h=U+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}d=f[U+12>>2]|0;if(d|0){h=U+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}h=f[U>>2]|0;if(!h){u=V;return 1}g=U+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h);u=V;return 1}function kb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K;H=a+8|0;j=f[H>>2]|0;f[J>>2]=0;l=J+4|0;f[l>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;g=Lk(I)|0;f[J>>2]=g;i=g+(j<<2)|0;f[J+8>>2]=i;dh(g|0,0,I|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);G=a+624|0;n=f[G>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[J>>2]|0;i=f[l>>2]|0;j=f[H>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[J+8>>2];f[J>>2]=0;i=J+4|0;f[i>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;h=Lk(I)|0;f[J>>2]=h;e=h+(j<<2)|0;f[J+8>>2]=e;dh(h|0,0,I|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);C=a+636|0;k=f[C>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[J>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;F=J+4|0;E=J+16|0;D=J+20|0;cc(J);e=f[F>>2]|0;g=(f[D>>2]|0)+(f[E>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[D>>2]|0)+1|0;f[D>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[E>>2]|0;g=e+-1|0;n=q+g|0;r=f[F>>2]|0;p=f[r+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;s=f[p+(n*12|0)>>2]|0;h=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[D>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[G>>2]|0;r=i+(n*12|0)|0;q=(f[C>>2]|0)+(n*12|0)|0;g=Sg(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(n*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=31;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0;if((m|0)>=(s|0)){o=23;break}}}else o=23;else{if(!s){o=36;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[H>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[H>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{l=f[v>>2]|0;m=f[B>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){o=50;break b}if((p|0)<=0){o=52;break b}j=f[A>>2]|0;k=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[H>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=45;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=23;break c}e=f[H>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[G>>2]|0)+(c*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+k;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Bi(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){l=j;m=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}l=i?j:h;m=i?h:j}e=f[C>>2]|0;k=f[e+(n*12|0)>>2]|0;h=k+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(n*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[e+(c*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[k+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(l|0){j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;f[D>>2]=(f[D>>2]|0)+1}if(!m)o=23;else{j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=m;f[e+4>>2]=g;f[e+8>>2]=c;e=(f[D>>2]|0)+1|0;f[D>>2]=e}}while(0);if((o|0)==23){o=0;e=f[D>>2]|0}if(!e)break a}if((o|0)==31)ra(4996,5026,51,5150);else if((o|0)==36)ra(16930,16968,223,17115);else if((o|0)==45)ra(4996,5026,51,5150);else if((o|0)==50)ra(17130,17154,48,17262);else if((o|0)==52)ra(17291,17154,49,17262)}while(0);e=f[F>>2]|0;g=f[E>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[D>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[F>>2]|0)+4|0;f[F>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=96;break}case 2:{g=341;o=96;break}default:{}}if((o|0)==96)f[E>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[F>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function lb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K;H=a+8|0;j=f[H>>2]|0;f[J>>2]=0;l=J+4|0;f[l>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;g=Lk(I)|0;f[J>>2]=g;i=g+(j<<2)|0;f[J+8>>2]=i;dh(g|0,0,I|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);G=a+624|0;n=f[G>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[J>>2]|0;i=f[l>>2]|0;j=f[H>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[J+8>>2];f[J>>2]=0;i=J+4|0;f[i>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;h=Lk(I)|0;f[J>>2]=h;e=h+(j<<2)|0;f[J+8>>2]=e;dh(h|0,0,I|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);C=a+636|0;k=f[C>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[J>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;F=J+4|0;E=J+16|0;D=J+20|0;cc(J);e=f[F>>2]|0;g=(f[D>>2]|0)+(f[E>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[D>>2]|0)+1|0;f[D>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[E>>2]|0;g=e+-1|0;n=q+g|0;r=f[F>>2]|0;p=f[r+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;s=f[p+(n*12|0)>>2]|0;h=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[D>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[G>>2]|0;r=i+(n*12|0)|0;q=(f[C>>2]|0)+(n*12|0)|0;g=Wk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(n*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=31;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0;if((m|0)>=(s|0)){o=23;break}}}else o=23;else{if(!s){o=36;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[H>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[H>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{l=f[v>>2]|0;m=f[B>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){o=50;break b}if((p|0)<=0){o=52;break b}j=f[A>>2]|0;k=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[H>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=45;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=23;break c}e=f[H>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;j=e;i=f[(f[G>>2]|0)+(c*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+k;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Bi(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){l=j;m=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}l=i?j:h;m=i?h:j}e=f[C>>2]|0;k=f[e+(n*12|0)>>2]|0;h=k+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(n*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[e+(c*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[k+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(l|0){j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;f[D>>2]=(f[D>>2]|0)+1}if(!m)o=23;else{j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=m;f[e+4>>2]=g;f[e+8>>2]=c;e=(f[D>>2]|0)+1|0;f[D>>2]=e}}while(0);if((o|0)==23){o=0;e=f[D>>2]|0}if(!e)break a}if((o|0)==31)ra(4996,5026,51,5150);else if((o|0)==36)ra(16930,16968,223,17115);else if((o|0)==45)ra(4996,5026,51,5150);else if((o|0)==50)ra(17130,17154,48,17262);else if((o|0)==52)ra(17291,17154,49,17262)}while(0);e=f[F>>2]|0;g=f[E>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[D>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[F>>2]|0)+4|0;f[F>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=96;break}case 2:{g=341;o=96;break}default:{}}if((o|0)==96)f[E>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[F>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;L=O+24|0;N=O;K=a+8|0;i=f[K>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;e=Lk(M)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;dh(e|0,0,M|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);J=a+624|0;m=f[J>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[K>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;g=Lk(M)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;dh(g|0,0,M|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);F=a+636|0;j=f[F>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;I=N+4|0;H=N+16|0;G=N+20|0;cc(N);d=f[I>>2]|0;e=(f[G>>2]|0)+(f[H>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[G>>2]|0)+1|0;f[G>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;A=L+4|0;C=L+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;z=L+4|0;B=L+8|0;b:while(1){r=f[H>>2]|0;e=d+-1|0;m=r+e|0;s=f[I>>2]|0;q=f[s+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;t=f[q+(m*12|0)>>2]|0;g=f[q+(m*12|0)+4>>2]|0;m=f[q+(m*12|0)+8>>2]|0;f[G>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[J>>2]|0;s=h+(m*12|0)|0;r=(f[F>>2]|0)+(m*12|0)|0;e=Sg(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[L>>2]=d;f[z>>2]=f[e+4>>2];f[B>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[z>>2];f[e+8>>2]=f[B>>2];f[g>>2]=e+12}else Hf(j,L);i=i+1|0}while((i|0)<(t|0));n=23}else n=23;else{if(!t){n=35;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[K>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[K>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){n=44;break b}if((n|0)<=0){n=46;break b}h=f[E>>2]|0;i=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[K>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[L>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Hf(q,L);e=e+1|0;if(e>>>0>=t>>>0){n=23;break c}d=f[K>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;i=d;h=f[(f[J>>2]|0)+(b*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+j;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Bi(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}i=(t>>>1)-d|0;g=t-i|0;if((i|0)==(g|0)){k=i;l=i}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}k=h?i:g;l=h?g:i}d=f[F>>2]|0;j=f[d+(m*12|0)>>2]|0;g=j+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(m*12|0)+4>>2]|0;h=j;if((g|0)!=(h|0)){i=f[d+(b*12|0)>>2]|0;g=g-h>>2;d=0;do{f[i+(d<<2)>>2]=f[j+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(k|0){i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;f[G>>2]=(f[G>>2]|0)+1}if(!l)n=23;else{i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=l;f[d+4>>2]=e;f[d+8>>2]=b;d=(f[G>>2]|0)+1|0;f[G>>2]=d}}while(0);if((n|0)==23){n=0;d=f[G>>2]|0}if(!d)break a}if((n|0)==35)ra(16930,16968,223,17115);else if((n|0)==44)ra(17130,17154,48,17262);else if((n|0)==46)ra(17291,17154,49,17262)}while(0);d=f[I>>2]|0;e=f[H>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[G>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[I>>2]|0)+4|0;f[I>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=93;break}case 2:{e=341;n=93;break}default:{}}if((n|0)==93)f[H>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[I>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;L=O+24|0;N=O;K=a+8|0;i=f[K>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;e=Lk(M)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;dh(e|0,0,M|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);J=a+624|0;m=f[J>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[K>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;g=Lk(M)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;dh(g|0,0,M|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);F=a+636|0;j=f[F>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;I=N+4|0;H=N+16|0;G=N+20|0;cc(N);d=f[I>>2]|0;e=(f[G>>2]|0)+(f[H>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[G>>2]|0)+1|0;f[G>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;A=L+4|0;C=L+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;z=L+4|0;B=L+8|0;b:while(1){r=f[H>>2]|0;e=d+-1|0;m=r+e|0;s=f[I>>2]|0;q=f[s+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;t=f[q+(m*12|0)>>2]|0;g=f[q+(m*12|0)+4>>2]|0;m=f[q+(m*12|0)+8>>2]|0;f[G>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[J>>2]|0;s=h+(m*12|0)|0;r=(f[F>>2]|0)+(m*12|0)|0;e=Wk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[L>>2]=d;f[z>>2]=f[e+4>>2];f[B>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[z>>2];f[e+8>>2]=f[B>>2];f[g>>2]=e+12}else Hf(j,L);i=i+1|0}while((i|0)<(t|0));n=23}else n=23;else{if(!t){n=35;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[K>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[K>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){n=44;break b}if((n|0)<=0){n=46;break b}h=f[E>>2]|0;i=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[K>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[L>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Hf(q,L);e=e+1|0;if(e>>>0>=t>>>0){n=23;break c}d=f[K>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;i=d;h=f[(f[J>>2]|0)+(b*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+j;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Bi(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}i=(t>>>1)-d|0;g=t-i|0;if((i|0)==(g|0)){k=i;l=i}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}k=h?i:g;l=h?g:i}d=f[F>>2]|0;j=f[d+(m*12|0)>>2]|0;g=j+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(m*12|0)+4>>2]|0;h=j;if((g|0)!=(h|0)){i=f[d+(b*12|0)>>2]|0;g=g-h>>2;d=0;do{f[i+(d<<2)>>2]=f[j+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(k|0){i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;f[G>>2]=(f[G>>2]|0)+1}if(!l)n=23;else{i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=l;f[d+4>>2]=e;f[d+8>>2]=b;d=(f[G>>2]|0)+1|0;f[G>>2]=d}}while(0);if((n|0)==23){n=0;d=f[G>>2]|0}if(!d)break a}if((n|0)==35)ra(16930,16968,223,17115);else if((n|0)==44)ra(17130,17154,48,17262);else if((n|0)==46)ra(17291,17154,49,17262)}while(0);d=f[I>>2]|0;e=f[H>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[G>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[I>>2]|0)+4|0;f[I>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=93;break}case 2:{e=341;n=93;break}default:{}}if((n|0)==93)f[H>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[I>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;J=K;H=a+8|0;j=f[H>>2]|0;f[J>>2]=0;l=J+4|0;f[l>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;g=Lk(I)|0;f[J>>2]=g;i=g+(j<<2)|0;f[J+8>>2]=i;dh(g|0,0,I|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);G=a+624|0;n=f[G>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[J>>2]|0;i=f[l>>2]|0;j=f[H>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[J+8>>2];f[J>>2]=0;i=J+4|0;f[i>>2]=0;f[J+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(J);else{I=j<<2;h=Lk(I)|0;f[J>>2]=h;e=h+(j<<2)|0;f[J+8>>2]=e;dh(h|0,0,I|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);C=a+636|0;k=f[C>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[J>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[J+8>>2];f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;f[J+16>>2]=0;f[J+20>>2]=0;I=J+8|0;F=J+4|0;E=J+16|0;D=J+20|0;cc(J);e=f[F>>2]|0;g=(f[D>>2]|0)+(f[E>>2]|0)|0;if((f[I>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[D>>2]|0)+1|0;f[D>>2]=e;a:do if(e|0){v=a+612|0;B=a+600|0;t=d+4|0;w=a+604|0;A=a+556|0;y=a+552|0;z=a+596|0;x=a+592|0;b:while(1){q=f[E>>2]|0;g=e+-1|0;n=q+g|0;r=f[F>>2]|0;p=f[r+(((n>>>0)/341|0)<<2)>>2]|0;n=(n>>>0)%341|0;s=f[p+(n*12|0)>>2]|0;h=f[p+(n*12|0)+4>>2]|0;n=f[p+(n*12|0)+8>>2]|0;f[D>>2]=g;g=f[I>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[I>>2]=(f[I>>2]|0)+-4}i=f[G>>2]|0;r=i+(n*12|0)|0;g=((f[H>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=(f[C>>2]|0)+(n*12|0)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(g<<2)>>2]|0)|0;c:do if(!e)if((s|0)>0){j=i+(n*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;while(1){e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){o=31;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0;if((m|0)>=(s|0)){o=23;break}}}else o=23;else{if(!s){o=36;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=g;e=f[H>>2]|0;if(e>>>0>1){h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[H>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[B>>2]|0;else{l=f[v>>2]|0;m=f[B>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){o=50;break b}if((p|0)<=0){o=52;break b}j=f[A>>2]|0;k=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[H>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){o=45;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0){o=23;break c}e=f[H>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;j=e;i=f[i+(c*12|0)>>2]|0;if((h|0)!=(e|0)){h=h-e>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=i+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+k;i=(_(s|0)|0)^31;if(!i)e=0;else{h=0;e=0;do{e=(Bi(a+12+(h<<4)|0)|0)&1|e<<1;h=h+1|0}while((h|0)!=(i|0))}j=(s>>>1)-e|0;h=s-j|0;if((j|0)==(h|0)){l=j;m=j}else{s=f[z>>2]|0;e=f[x>>2]|0;i=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}l=i?j:h;m=i?h:j}e=f[C>>2]|0;k=f[e+(n*12|0)>>2]|0;h=k+(g<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[e+(n*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[e+(c*12|0)>>2]|0;h=h-i>>2;e=0;do{f[j+(e<<2)>>2]=f[k+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(l|0){j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=g;f[e+8>>2]=n;f[D>>2]=(f[D>>2]|0)+1}if(!m)o=23;else{j=f[I>>2]|0;i=f[F>>2]|0;s=j-i>>2;e=f[E>>2]|0;h=f[D>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(h+e|0)){cc(J);e=f[E>>2]|0;h=f[D>>2]|0;j=f[I>>2]|0;i=f[F>>2]|0}e=h+e|0;if((j|0)==(i|0))e=0;else e=(f[i+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=m;f[e+4>>2]=g;f[e+8>>2]=c;e=(f[D>>2]|0)+1|0;f[D>>2]=e}}while(0);if((o|0)==23){o=0;e=f[D>>2]|0}if(!e)break a}if((o|0)==31)ra(4996,5026,51,5150);else if((o|0)==36)ra(16930,16968,223,17115);else if((o|0)==45)ra(4996,5026,51,5150);else if((o|0)==50)ra(17130,17154,48,17262);else if((o|0)==52)ra(17291,17154,49,17262)}while(0);e=f[F>>2]|0;g=f[E>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[I>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[D>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[F>>2]|0)+4|0;f[F>>2]=e;h=f[I>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;o=96;break}case 2:{g=341;o=96;break}default:{}}if((o|0)==96)f[E>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[F>>2]|0;g=f[I>>2]|0;if((g|0)!=(e|0))f[I>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[J>>2]|0;if(!e){u=K;return}Co(e);u=K;return}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;O=u;u=u+48|0;L=O+24|0;N=O;K=a+8|0;i=f[K>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;e=Lk(M)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;dh(e|0,0,M|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);J=a+624|0;m=f[J>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[K>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(L);else{M=i<<2;g=Lk(M)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;dh(g|0,0,M|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);F=a+636|0;j=f[F>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;M=N+8|0;I=N+4|0;H=N+16|0;G=N+20|0;cc(N);d=f[I>>2]|0;e=(f[G>>2]|0)+(f[H>>2]|0)|0;if((f[M>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[G>>2]|0)+1|0;f[G>>2]=d;a:do if(d|0){w=a+612|0;v=a+600|0;A=L+4|0;C=L+8|0;E=a+556|0;y=a+552|0;D=a+596|0;x=a+592|0;z=L+4|0;B=L+8|0;b:while(1){r=f[H>>2]|0;e=d+-1|0;m=r+e|0;s=f[I>>2]|0;q=f[s+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;t=f[q+(m*12|0)>>2]|0;g=f[q+(m*12|0)+4>>2]|0;m=f[q+(m*12|0)+8>>2]|0;f[G>>2]=e;e=f[M>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[M>>2]=(f[M>>2]|0)+-4}h=f[J>>2]|0;s=h+(m*12|0)|0;e=((f[K>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=(f[F>>2]|0)+(m*12|0)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(e<<2)>>2]|0)|0;c:do if(!d)if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[L>>2]=d;f[z>>2]=f[e+4>>2];f[B>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[z>>2];f[e+8>>2]=f[B>>2];f[g>>2]=e+12}else Hf(j,L);i=i+1|0}while((i|0)<(t|0));n=23}else n=23;else{if(!t){n=35;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=e;d=f[K>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[K>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){n=44;break b}if((n|0)<=0){n=46;break b}h=f[E>>2]|0;i=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[K>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[L>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Hf(q,L);e=e+1|0;if(e>>>0>=t>>>0){n=23;break c}d=f[K>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;i=d;h=f[h+(b*12|0)>>2]|0;if((g|0)!=(d|0)){g=g-d>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=h+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+j;h=(_(t|0)|0)^31;if(!h)d=0;else{g=0;d=0;do{d=(Bi(a+12+(g<<4)|0)|0)&1|d<<1;g=g+1|0}while((g|0)!=(h|0))}i=(t>>>1)-d|0;g=t-i|0;if((i|0)==(g|0)){k=i;l=i}else{t=f[D>>2]|0;d=f[x>>2]|0;h=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}k=h?i:g;l=h?g:i}d=f[F>>2]|0;j=f[d+(m*12|0)>>2]|0;g=j+(e<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[d+(m*12|0)+4>>2]|0;h=j;if((g|0)!=(h|0)){i=f[d+(b*12|0)>>2]|0;g=g-h>>2;d=0;do{f[i+(d<<2)>>2]=f[j+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(k|0){i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=e;f[d+8>>2]=m;f[G>>2]=(f[G>>2]|0)+1}if(!l)n=23;else{i=f[M>>2]|0;h=f[I>>2]|0;t=i-h>>2;d=f[H>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(g+d|0)){cc(N);d=f[H>>2]|0;g=f[G>>2]|0;i=f[M>>2]|0;h=f[I>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=l;f[d+4>>2]=e;f[d+8>>2]=b;d=(f[G>>2]|0)+1|0;f[G>>2]=d}}while(0);if((n|0)==23){n=0;d=f[G>>2]|0}if(!d)break a}if((n|0)==35)ra(16930,16968,223,17115);else if((n|0)==44)ra(17130,17154,48,17262);else if((n|0)==46)ra(17291,17154,49,17262)}while(0);d=f[I>>2]|0;e=f[H>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[M>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[G>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[I>>2]|0)+4|0;f[I>>2]=d;g=f[M>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;n=93;break}case 2:{e=341;n=93;break}default:{}}if((n|0)==93)f[H>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[I>>2]|0;e=f[M>>2]|0;if((e|0)!=(d|0))f[M>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[N>>2]|0;if(!d){u=O;return}Co(d);u=O;return}function qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;M=N+8|0;J=N;I=a+8|0;j=f[I>>2]|0;f[M>>2]=0;l=M+4|0;f[l>>2]=0;f[M+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(M);else{K=j<<2;g=Lk(K)|0;f[M>>2]=g;i=g+(j<<2)|0;f[M+8>>2]=i;dh(g|0,0,K|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);H=a+112|0;n=f[H>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[M>>2]|0;i=f[l>>2]|0;j=f[I>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[M+8>>2];f[M>>2]=0;i=M+4|0;f[i>>2]=0;f[M+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(M);else{K=j<<2;h=Lk(K)|0;f[M>>2]=h;e=h+(j<<2)|0;f[M+8>>2]=e;dh(h|0,0,K|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);D=a+124|0;k=f[D>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[M>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;G=M+4|0;F=M+16|0;E=M+20|0;cc(M);e=f[G>>2]|0;g=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[E>>2]|0)+1|0;f[E>>2]=e;a:do if(e|0){v=a+100|0;C=a+88|0;t=d+4|0;w=a+92|0;A=a+44|0;y=a+40|0;B=a+12|0;z=a+84|0;x=a+80|0;b:while(1){q=f[F>>2]|0;g=e+-1|0;m=q+g|0;r=f[G>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[E>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}g=f[H>>2]|0;r=g+(m*12|0)|0;q=(f[D>>2]|0)+(m*12|0)|0;c=Wk(a,s,q,h)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(c<<2)>>2]|0)|0;c:do if(!e){if((s|0)>0){j=g+(m*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;do{e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){L=30;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0}while((m|0)<(s|0))}}else{if(!s){L=35;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=c;e=f[I>>2]|0;if(e>>>0>1){g=c;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[I>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[C>>2]|0;else{l=f[v>>2]|0;m=f[C>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){L=49;break b}if((p|0)<=0){L=51;break b}j=f[A>>2]|0;k=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[I>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){L=44;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0)break c;e=f[I>>2]|0}}j=1<>2]|0;e=f[r>>2]|0;i=e;h=f[(f[H>>2]|0)+(n*12|0)>>2]|0;if((g|0)!=(e|0)){g=g-e>>2;e=0;do{f[h+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=h+(c<<2)|0;f[i>>2]=(f[i>>2]|0)+j;i=(_(s|0)|0)^31;f[J>>2]=0;lh(B,i,J);i=(s>>>1)-(f[J>>2]|0)|0;g=s-i|0;if((i|0)==(g|0)){k=i;l=i}else{s=f[z>>2]|0;e=f[x>>2]|0;h=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=h?i:g;l=h?g:i}e=f[D>>2]|0;j=f[e+(m*12|0)>>2]|0;g=j+(c<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[e+(m*12|0)+4>>2]|0;h=j;if((g|0)!=(h|0)){i=f[e+(n*12|0)>>2]|0;g=g-h>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){i=f[K>>2]|0;h=f[G>>2]|0;s=i-h>>2;e=f[F>>2]|0;g=f[E>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[F>>2]|0;g=f[E>>2]|0;i=f[K>>2]|0;h=f[G>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=c;f[e+8>>2]=m;f[E>>2]=(f[E>>2]|0)+1}if(l|0){i=f[K>>2]|0;h=f[G>>2]|0;s=i-h>>2;e=f[F>>2]|0;g=f[E>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[F>>2]|0;g=f[E>>2]|0;i=f[K>>2]|0;h=f[G>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=c;f[e+8>>2]=n;f[E>>2]=(f[E>>2]|0)+1}}while(0);e=f[E>>2]|0;if(!e)break a}if((L|0)==30)ra(4996,5026,51,5150);else if((L|0)==35)ra(16930,16968,223,17115);else if((L|0)==44)ra(4996,5026,51,5150);else if((L|0)==49)ra(17130,17154,48,17262);else if((L|0)==51)ra(17291,17154,49,17262)}while(0);e=f[G>>2]|0;g=f[F>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[E>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[G>>2]|0)+4|0;f[G>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;L=94;break}case 2:{g=341;L=94;break}default:{}}if((L|0)==94)f[F>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[G>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[M>>2]|0;if(!e){u=N;return}Co(e);u=N;return}function rb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=u;u=u+64|0;R=S+16|0;J=S;I=a+8|0;f[I>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else sg(i,e-j|0);d=R;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[J>>2]=0;if(!e){d=0;g=0}else{wf(R,e,J);d=f[R+12>>2]|0;g=f[R+16>>2]|0}f[J>>2]=0;h=R+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else wf(R+12|0,e-i|0,J);i=R+24|0;f[J>>2]=0;h=R+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else wf(i,e-j|0,J);i=R+36|0;f[J>>2]=0;h=R+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else wf(i,e-j|0,J);h=f[R>>2]|0;if((f[I>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{H=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(H|0)?H:d}j=j+1|0;d=f[I>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;r=18}}else{d=d-(f[i>>2]|0)|0;r=18}if((r|0)==18){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}C=f[a+48>>2]|0;D=f[a+52>>2]|0;H=Lk(16)|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;do if(e)if(e>>>0>1073741823)Tn(J);else{F=e<<2;p=Lk(F)|0;f[J>>2]=p;o=p+(e<<2)|0;f[J+8>>2]=o;dh(p|0,0,F|0)|0;f[G>>2]=o;o=p;break}else{o=0;p=0}while(0);E=a+56|0;d=f[E>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;B=g-h|0;F=B>>2;do if((B|0)>4){w=C+12|0;y=(e|0)>0;A=a+16|0;x=a+32|0;B=a+12|0;z=a+20|0;v=e<<2;if(g-h>>2>>>0>1){q=h;O=1}else{t=d;Tn(t)}while(1){r=f[q+(O<<2)>>2]|0;t=(((r>>>0)%3|0|0)==0?2:-1)+r|0;s=(r|t|0)<0;q=(r|0)<0?r:t;g=r;p=1;d=0;a:while(1){do{if((g|0)<=-1){r=64;break a}n=f[R+(d*12|0)>>2]|0;o=f[w>>2]|0;i=f[o+(g<<2)>>2]|0;if((i|0)>=0){j=f[C>>2]|0;k=f[D>>2]|0;m=f[k+(f[j+(i<<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=f[j+(h<<2)>>2]|0;l=f[k+(h<<2)>>2]|0;h=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=f[j+(h<<2)>>2]|0;h=f[k+(h<<2)>>2]|0;if((m|0)<(O|0)&(l|0)<(O|0)&(h|0)<(O|0)){k=X(m,e)|0;j=X(l,e)|0;i=X(h,e)|0;if(y){h=0;do{f[n+(h<<2)>>2]=(f[c+(h+i<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+k<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;r=47;break a}}}do if(p){n=g+1|0;g=((n|0)%3|0|0)==0?g+-2|0:n;if((g|0)>=0){g=f[o+(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=f[o+(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)==(r|0)){r=64;break a}}while(!(p&(g|0)<0));if(s){g=q;p=0;continue}g=f[o+(t<<2)>>2]|0;if((g|0)<0){p=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;p=0;continue}else{g=g+-1|0;p=0;continue}}if((r|0)==64)if((d|0)>0)r=47;else{N=X(O,e)|0;r=76}if((r|0)==47){r=0;if(y){dh(f[J>>2]|0,0,v|0)|0;j=d+-1|0;l=H+(j<<2)|0;j=f[a+60+(j*12|0)>>2]|0;k=f[J>>2]|0;m=0;g=0;do{t=f[l>>2]|0;f[l>>2]=t+1;if(!(f[j+(t>>>5<<2)>>2]&1<<(t&31))){h=f[R+(m*12|0)>>2]|0;i=0;do{t=k+(i<<2)|0;f[t>>2]=(f[t>>2]|0)+(f[h+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));g=g+1|0}m=m+1|0}while((m|0)!=(d|0))}else{h=d+-1|0;j=H+(h<<2)|0;h=f[a+60+(h*12|0)>>2]|0;i=f[j>>2]|0;k=0;g=0;do{t=i;i=i+1|0;f[j>>2]=i;g=g+((f[h+(t>>>5<<2)>>2]&1<<(t&31)|0)==0&1)|0;k=k+1|0}while((k|0)!=(d|0))}h=X(O,e)|0;if(g){j=f[J>>2]|0;if(y){d=0;do{t=j+(d<<2)|0;f[t>>2]=(f[t>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=b+(h<<2)|0;k=c+(h<<2)|0;if((f[I>>2]|0)>0){h=0;do{d=f[j+(h<<2)>>2]|0;g=f[A>>2]|0;if((d|0)>(g|0)){i=f[x>>2]|0;f[i+(h<<2)>>2]=g}else{t=f[B>>2]|0;i=f[x>>2]|0;f[i+(h<<2)>>2]=(d|0)<(t|0)?t:d}h=h+1|0;d=f[I>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;do if((d|0)>(f[A>>2]|0)){d=d-(f[z>>2]|0)|0;r=98}else{if((d|0)>=(f[B>>2]|0))break;d=(f[z>>2]|0)+d|0;r=98}while(0);if((r|0)==98){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}}else{N=h;r=76}}if((r|0)==76?(r=0,K=c+((X(O+-1|0,e)|0)<<2)|0,L=b+(N<<2)|0,M=c+(N<<2)|0,(f[I>>2]|0)>0):0){h=0;do{d=f[K+(h<<2)>>2]|0;g=f[A>>2]|0;if((d|0)>(g|0)){i=f[x>>2]|0;f[i+(h<<2)>>2]=g}else{t=f[B>>2]|0;i=f[x>>2]|0;f[i+(h<<2)>>2]=(d|0)<(t|0)?t:d}h=h+1|0;d=f[I>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[L+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=M+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[A>>2]|0)){if((d|0)<(f[B>>2]|0)){d=(f[z>>2]|0)+d|0;r=86}}else{d=d-(f[z>>2]|0)|0;r=86}if((r|0)==86){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}O=O+1|0;if((O|0)>=(F|0)){r=28;break}d=f[E>>2]|0;q=f[d>>2]|0;if((f[d+4>>2]|0)-q>>2>>>0<=O>>>0){r=34;break}}if((r|0)==28){Q=f[J>>2]|0;P=Q;break}else if((r|0)==34)Tn(d)}else{P=p;Q=o}while(0);if(P|0){d=f[G>>2]|0;if((d|0)!=(P|0))f[G>>2]=d+(~((d+-4-P|0)>>>2)<<2);Co(Q)}Co(H);g=f[R+36>>2]|0;if(g|0){h=R+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Co(g)}d=f[R+24>>2]|0;if(d|0){h=R+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}d=f[R+12>>2]|0;if(d|0){h=R+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Co(d)}h=f[R>>2]|0;if(!h){u=S;return 1}g=R+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Co(h);u=S;return 1}function sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+32|0;M=N+8|0;J=N;I=a+8|0;j=f[I>>2]|0;f[M>>2]=0;l=M+4|0;f[l>>2]=0;f[M+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(M);else{K=j<<2;g=Lk(K)|0;f[M>>2]=g;i=g+(j<<2)|0;f[M+8>>2]=i;dh(g|0,0,K|0)|0;f[l>>2]=i;break}else{i=0;g=0}while(0);H=a+112|0;n=f[H>>2]|0;k=f[n>>2]|0;m=n+4|0;if(!k){k=g;g=n+8|0}else{g=f[m>>2]|0;if((g|0)!=(k|0))f[m>>2]=g+(~((g+-4-k|0)>>>2)<<2);Co(k);g=n+8|0;f[g>>2]=0;f[m>>2]=0;f[n>>2]=0;k=f[M>>2]|0;i=f[l>>2]|0;j=f[I>>2]|0}f[n>>2]=k;f[m>>2]=i;f[g>>2]=f[M+8>>2];f[M>>2]=0;i=M+4|0;f[i>>2]=0;f[M+8>>2]=0;do if(j)if(j>>>0>1073741823)Tn(M);else{K=j<<2;h=Lk(K)|0;f[M>>2]=h;e=h+(j<<2)|0;f[M+8>>2]=e;dh(h|0,0,K|0)|0;f[i>>2]=e;break}else{e=0;h=0}while(0);D=a+124|0;k=f[D>>2]|0;g=f[k>>2]|0;j=k+4|0;if(!g)g=k+8|0;else{e=f[j>>2]|0;if((e|0)!=(g|0))f[j>>2]=e+(~((e+-4-g|0)>>>2)<<2);Co(g);g=k+8|0;f[g>>2]=0;f[j>>2]=0;f[k>>2]=0;h=f[M>>2]|0;e=f[i>>2]|0}f[k>>2]=h;f[j>>2]=e;f[g>>2]=f[M+8>>2];f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;G=M+4|0;F=M+16|0;E=M+20|0;cc(M);e=f[G>>2]|0;g=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[K>>2]|0)==(e|0))e=0;else e=(f[e+(((g>>>0)/341|0)<<2)>>2]|0)+(((g>>>0)%341|0)*12|0)|0;f[e>>2]=c;f[e+4>>2]=0;f[e+8>>2]=0;e=(f[E>>2]|0)+1|0;f[E>>2]=e;a:do if(e|0){v=a+100|0;C=a+88|0;t=d+4|0;w=a+92|0;A=a+44|0;y=a+40|0;B=a+12|0;z=a+84|0;x=a+80|0;b:while(1){q=f[F>>2]|0;g=e+-1|0;m=q+g|0;r=f[G>>2]|0;p=f[r+(((m>>>0)/341|0)<<2)>>2]|0;m=(m>>>0)%341|0;s=f[p+(m*12|0)>>2]|0;h=f[p+(m*12|0)+4>>2]|0;m=f[p+(m*12|0)+8>>2]|0;f[E>>2]=g;g=f[K>>2]|0;r=g-r>>2;if((1-e-q+((r|0)==0?0:(r*341|0)+-1|0)|0)>>>0>681){Co(f[g+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}j=f[H>>2]|0;r=j+(m*12|0)|0;c=((f[I>>2]|0)+-1|0)==(h|0)?0:h+1|0;q=(f[D>>2]|0)+(m*12|0)|0;e=(f[a>>2]|0)-(f[(f[q>>2]|0)+(c<<2)>>2]|0)|0;c:do if(!e){if((s|0)>0){j=j+(m*12|0)+4|0;k=f[d>>2]|0;n=k+84|0;i=k+68|0;l=k+40|0;k=k+64|0;g=f[t>>2]|0;m=0;do{e=g;g=g+1|0;f[t>>2]=g;h=f[r>>2]|0;if(((f[j>>2]|0)-h|0)!=12){L=30;break b}if(!(b[n>>0]|0))e=f[(f[i>>2]|0)+(e<<2)>>2]|0;p=l;q=f[p>>2]|0;p=Kk(q|0,f[p+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[k>>2]>>2]|0)+p|0,h|0,q|0)|0;m=m+1|0}while((m|0)<(s|0))}}else{if(!s){L=35;break b}if(s>>>0<3){i=f[v>>2]|0;f[i>>2]=c;e=f[I>>2]|0;if(e>>>0>1){g=c;h=1;do{g=(g|0)==(e+-1|0)?0:g+1|0;f[i+(h<<2)>>2]=g;h=h+1|0;e=f[I>>2]|0}while(h>>>0>>0)}g=0;while(1){if(!e)i=f[C>>2]|0;else{l=f[v>>2]|0;m=f[C>>2]|0;n=f[q>>2]|0;i=m;o=0;do{c=l+(o<<2)|0;f[m+(f[c>>2]<<2)>>2]=0;e=f[c>>2]|0;p=(f[a>>2]|0)-(f[n+(e<<2)>>2]|0)|0;do if(p|0){h=m+(e<<2)|0;if((p|0)>=33){L=49;break b}if((p|0)<=0){L=51;break b}j=f[A>>2]|0;k=32-j|0;e=f[y>>2]|0;j=f[e>>2]<(k|0)){p=p-k|0;f[A>>2]=p;e=e+4|0;f[y>>2]=e;p=32-p|0;f[h>>2]=(f[e>>2]|0)>>>p|j>>>(p-k|0);break}f[h>>2]=j>>>(32-p|0);p=(f[A>>2]|0)+p|0;f[A>>2]=p;if((p|0)!=32)break;f[y>>2]=e+4;f[A>>2]=0}while(0);c=f[c>>2]|0;p=m+(c<<2)|0;f[p>>2]=f[p>>2]|f[(f[r>>2]|0)+(c<<2)>>2];o=o+1|0}while(o>>>0<(f[I>>2]|0)>>>0)}h=f[d>>2]|0;e=f[t>>2]|0;f[t>>2]=e+1;if(((f[w>>2]|0)-i|0)!=12){L=44;break b}if(!(b[h+84>>0]|0))e=f[(f[h+68>>2]|0)+(e<<2)>>2]|0;o=h+40|0;p=f[o>>2]|0;o=Kk(p|0,f[o+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;cf((f[f[h+64>>2]>>2]|0)+o|0,i|0,p|0)|0;g=g+1|0;if(g>>>0>=s>>>0)break c;e=f[I>>2]|0}}k=1<>2]|0;e=f[r>>2]|0;i=e;h=f[j+(n*12|0)>>2]|0;if((g|0)!=(e|0)){g=g-e>>2;e=0;do{f[h+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}i=h+(c<<2)|0;f[i>>2]=(f[i>>2]|0)+k;i=(_(s|0)|0)^31;f[J>>2]=0;lh(B,i,J);i=(s>>>1)-(f[J>>2]|0)|0;g=s-i|0;if((i|0)==(g|0)){k=i;l=i}else{s=f[z>>2]|0;e=f[x>>2]|0;h=(f[e>>2]&1<<31-s|0)!=0;s=s+1|0;f[z>>2]=s;if((s|0)==32){f[x>>2]=e+4;f[z>>2]=0}k=h?i:g;l=h?g:i}e=f[D>>2]|0;j=f[e+(m*12|0)>>2]|0;g=j+(c<<2)|0;f[g>>2]=(f[g>>2]|0)+1;g=f[e+(m*12|0)+4>>2]|0;h=j;if((g|0)!=(h|0)){i=f[e+(n*12|0)>>2]|0;g=g-h>>2;e=0;do{f[i+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while(e>>>0>>0)}if(k|0){i=f[K>>2]|0;h=f[G>>2]|0;s=i-h>>2;e=f[F>>2]|0;g=f[E>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[F>>2]|0;g=f[E>>2]|0;i=f[K>>2]|0;h=f[G>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=k;f[e+4>>2]=c;f[e+8>>2]=m;f[E>>2]=(f[E>>2]|0)+1}if(l|0){i=f[K>>2]|0;h=f[G>>2]|0;s=i-h>>2;e=f[F>>2]|0;g=f[E>>2]|0;if((((s|0)==0?0:(s*341|0)+-1|0)|0)==(g+e|0)){cc(M);e=f[F>>2]|0;g=f[E>>2]|0;i=f[K>>2]|0;h=f[G>>2]|0}e=g+e|0;if((i|0)==(h|0))e=0;else e=(f[h+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[e>>2]=l;f[e+4>>2]=c;f[e+8>>2]=n;f[E>>2]=(f[E>>2]|0)+1}}while(0);e=f[E>>2]|0;if(!e)break a}if((L|0)==30)ra(4996,5026,51,5150);else if((L|0)==35)ra(16930,16968,223,17115);else if((L|0)==44)ra(4996,5026,51,5150);else if((L|0)==49)ra(17130,17154,48,17262);else if((L|0)==51)ra(17291,17154,49,17262)}while(0);e=f[G>>2]|0;g=f[F>>2]|0;i=e+(((g>>>0)/341|0)<<2)|0;h=f[K>>2]|0;k=h;l=e;if((h|0)==(e|0)){j=0;g=0}else{g=(f[i>>2]|0)+(((g>>>0)%341|0)*12|0)|0;j=g}d:while(1){do{if((g|0)==(j|0))break d;g=g+12|0}while((g-(f[i>>2]|0)|0)!=4092);g=i+4|0;i=g;g=f[g>>2]|0}f[E>>2]=0;g=k-l>>2;if(g>>>0>2)do{Co(f[e>>2]|0);e=(f[G>>2]|0)+4|0;f[G>>2]=e;h=f[K>>2]|0;g=h-e>>2}while(g>>>0>2);switch(g|0){case 1:{g=170;L=94;break}case 2:{g=341;L=94;break}default:{}}if((L|0)==94)f[F>>2]=g;if((e|0)!=(h|0)){do{Co(f[e>>2]|0);e=e+4|0}while((e|0)!=(h|0));e=f[G>>2]|0;g=f[K>>2]|0;if((g|0)!=(e|0))f[K>>2]=g+(~((g+-4-e|0)>>>2)<<2)}e=f[M>>2]|0;if(!e){u=N;return}Co(e);u=N;return}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;M=Q+24|0;P=Q;L=a+8|0;i=f[L>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(M);else{N=i<<2;e=Lk(N)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;dh(e|0,0,N|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);K=a+112|0;m=f[K>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[L>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(M);else{N=i<<2;g=Lk(N)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;dh(g|0,0,N|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);G=a+124|0;j=f[G>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;J=P+4|0;I=P+16|0;H=P+20|0;cc(P);d=f[J>>2]|0;e=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[H>>2]|0)+1|0;f[H>>2]=d;a:do if(d|0){w=a+100|0;v=a+88|0;A=M+4|0;C=M+8|0;E=a+44|0;y=a+40|0;F=a+12|0;D=a+84|0;x=a+80|0;z=M+4|0;B=M+8|0;b:while(1){r=f[I>>2]|0;e=d+-1|0;l=r+e|0;s=f[J>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[H>>2]=e;e=f[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}e=f[K>>2]|0;s=e+(l*12|0)|0;r=(f[G>>2]|0)+(l*12|0)|0;b=Wk(a,t,r,g)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(b<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[M>>2]=d;f[z>>2]=f[e+4>>2];f[B>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[z>>2];f[e+8>>2]=f[B>>2];f[g>>2]=e+12}else Hf(j,M);i=i+1|0}while((i|0)<(t|0))}}else{if(!t){O=34;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=b;d=f[L>>2]|0;if(d>>>0>1){e=b;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[L>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){O=43;break b}if((n|0)<=0){O=45;break b}h=f[E>>2]|0;i=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[L>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[M>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Hf(q,M);e=e+1|0;if(e>>>0>=t>>>0)break c;d=f[L>>2]|0}}i=1<>2]|0;d=f[s>>2]|0;h=d;g=f[(f[K>>2]|0)+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{f[g+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=g+(b<<2)|0;f[h>>2]=(f[h>>2]|0)+i;h=(_(t|0)|0)^31;f[M>>2]=0;lh(F,h,M);h=(t>>>1)-(f[M>>2]|0)|0;e=t-h|0;if((h|0)==(e|0)){j=h;k=h}else{t=f[D>>2]|0;d=f[x>>2]|0;g=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=g?h:e;k=g?e:h}d=f[G>>2]|0;i=f[d+(l*12|0)>>2]|0;e=i+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=f[d+(l*12|0)+4>>2]|0;g=i;if((e|0)!=(g|0)){h=f[d+(m*12|0)>>2]|0;e=e-g>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){h=f[N>>2]|0;g=f[J>>2]|0;t=h-g>>2;d=f[I>>2]|0;e=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[I>>2]|0;e=f[H>>2]|0;h=f[N>>2]|0;g=f[J>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=b;f[d+8>>2]=l;f[H>>2]=(f[H>>2]|0)+1}if(k|0){h=f[N>>2]|0;g=f[J>>2]|0;t=h-g>>2;d=f[I>>2]|0;e=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[I>>2]|0;e=f[H>>2]|0;h=f[N>>2]|0;g=f[J>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=b;f[d+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}}while(0);d=f[H>>2]|0;if(!d)break a}if((O|0)==34)ra(16930,16968,223,17115);else if((O|0)==43)ra(17130,17154,48,17262);else if((O|0)==45)ra(17291,17154,49,17262)}while(0);d=f[J>>2]|0;e=f[I>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[N>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[H>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[J>>2]|0)+4|0;f[J>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=91;break}case 2:{e=341;O=91;break}default:{}}if((O|0)==91)f[I>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[J>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;M=Q+24|0;P=Q;L=a+8|0;i=f[L>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(M);else{N=i<<2;e=Lk(N)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;dh(e|0,0,N|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);K=a+112|0;m=f[K>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);Co(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[L>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Tn(M);else{N=i<<2;g=Lk(N)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;dh(g|0,0,N|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);G=a+124|0;j=f[G>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);Co(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;J=P+4|0;I=P+16|0;H=P+20|0;cc(P);d=f[J>>2]|0;e=(f[H>>2]|0)+(f[I>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/341|0)<<2)>>2]|0)+(((e>>>0)%341|0)*12|0)|0;f[d>>2]=b;f[d+4>>2]=0;f[d+8>>2]=0;d=(f[H>>2]|0)+1|0;f[H>>2]=d;a:do if(d|0){w=a+100|0;v=a+88|0;A=M+4|0;C=M+8|0;E=a+44|0;y=a+40|0;F=a+12|0;D=a+84|0;x=a+80|0;z=M+4|0;B=M+8|0;b:while(1){r=f[I>>2]|0;e=d+-1|0;l=r+e|0;s=f[J>>2]|0;q=f[s+(((l>>>0)/341|0)<<2)>>2]|0;l=(l>>>0)%341|0;t=f[q+(l*12|0)>>2]|0;g=f[q+(l*12|0)+4>>2]|0;l=f[q+(l*12|0)+8>>2]|0;f[H>>2]=e;e=f[N>>2]|0;s=e-s>>2;if((1-d-r+((s|0)==0?0:(s*341|0)+-1|0)|0)>>>0>681){Co(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}i=f[K>>2]|0;s=i+(l*12|0)|0;b=((f[L>>2]|0)+-1|0)==(g|0)?0:g+1|0;r=(f[G>>2]|0)+(l*12|0)|0;d=(f[a>>2]|0)-(f[(f[r>>2]|0)+(b<<2)>>2]|0)|0;c:do if(!d){if((t|0)>0){j=f[c>>2]|0;g=j+4|0;h=j+8|0;i=0;do{e=f[s>>2]|0;d=f[e>>2]|0;f[M>>2]=d;f[z>>2]=f[e+4>>2];f[B>>2]=f[e+8>>2];e=f[g>>2]|0;if(e>>>0<(f[h>>2]|0)>>>0){f[e>>2]=d;f[e+4>>2]=f[z>>2];f[e+8>>2]=f[B>>2];f[g>>2]=e+12}else Hf(j,M);i=i+1|0}while((i|0)<(t|0))}}else{if(!t){O=34;break b}if(t>>>0<3){h=f[w>>2]|0;f[h>>2]=b;d=f[L>>2]|0;if(d>>>0>1){e=b;g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[L>>2]|0}while(g>>>0>>0)}q=f[c>>2]|0;o=q+4|0;p=q+8|0;e=0;while(1){if(d|0){j=f[w>>2]|0;k=f[v>>2]|0;l=f[r>>2]|0;b=0;do{m=j+(b<<2)|0;f[k+(f[m>>2]<<2)>>2]=0;d=f[m>>2]|0;n=(f[a>>2]|0)-(f[l+(d<<2)>>2]|0)|0;do if(n|0){g=k+(d<<2)|0;if((n|0)>=33){O=43;break b}if((n|0)<=0){O=45;break b}h=f[E>>2]|0;i=32-h|0;d=f[y>>2]|0;h=f[d>>2]<(i|0)){n=n-i|0;f[E>>2]=n;d=d+4|0;f[y>>2]=d;n=32-n|0;f[g>>2]=(f[d>>2]|0)>>>n|h>>>(n-i|0);break}f[g>>2]=h>>>(32-n|0);n=(f[E>>2]|0)+n|0;f[E>>2]=n;if((n|0)!=32)break;f[y>>2]=d+4;f[E>>2]=0}while(0);m=f[m>>2]|0;n=k+(m<<2)|0;f[n>>2]=f[n>>2]|f[(f[s>>2]|0)+(m<<2)>>2];b=b+1|0}while(b>>>0<(f[L>>2]|0)>>>0)}g=f[v>>2]|0;d=f[g>>2]|0;f[M>>2]=d;f[A>>2]=f[g+4>>2];f[C>>2]=f[g+8>>2];g=f[o>>2]|0;if(g>>>0<(f[p>>2]|0)>>>0){f[g>>2]=d;f[g+4>>2]=f[A>>2];f[g+8>>2]=f[C>>2];f[o>>2]=g+12}else Hf(q,M);e=e+1|0;if(e>>>0>=t>>>0)break c;d=f[L>>2]|0}}j=1<>2]|0;d=f[s>>2]|0;h=d;g=f[i+(m*12|0)>>2]|0;if((e|0)!=(d|0)){e=e-d>>2;d=0;do{f[g+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}h=g+(b<<2)|0;f[h>>2]=(f[h>>2]|0)+j;h=(_(t|0)|0)^31;f[M>>2]=0;lh(F,h,M);h=(t>>>1)-(f[M>>2]|0)|0;e=t-h|0;if((h|0)==(e|0)){j=h;k=h}else{t=f[D>>2]|0;d=f[x>>2]|0;g=(f[d>>2]&1<<31-t|0)!=0;t=t+1|0;f[D>>2]=t;if((t|0)==32){f[x>>2]=d+4;f[D>>2]=0}j=g?h:e;k=g?e:h}d=f[G>>2]|0;i=f[d+(l*12|0)>>2]|0;e=i+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;e=f[d+(l*12|0)+4>>2]|0;g=i;if((e|0)!=(g|0)){h=f[d+(m*12|0)>>2]|0;e=e-g>>2;d=0;do{f[h+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if(j|0){h=f[N>>2]|0;g=f[J>>2]|0;t=h-g>>2;d=f[I>>2]|0;e=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[I>>2]|0;e=f[H>>2]|0;h=f[N>>2]|0;g=f[J>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=j;f[d+4>>2]=b;f[d+8>>2]=l;f[H>>2]=(f[H>>2]|0)+1}if(k|0){h=f[N>>2]|0;g=f[J>>2]|0;t=h-g>>2;d=f[I>>2]|0;e=f[H>>2]|0;if((((t|0)==0?0:(t*341|0)+-1|0)|0)==(e+d|0)){cc(P);d=f[I>>2]|0;e=f[H>>2]|0;h=f[N>>2]|0;g=f[J>>2]|0}d=e+d|0;if((h|0)==(g|0))d=0;else d=(f[g+(((d>>>0)/341|0)<<2)>>2]|0)+(((d>>>0)%341|0)*12|0)|0;f[d>>2]=k;f[d+4>>2]=b;f[d+8>>2]=m;f[H>>2]=(f[H>>2]|0)+1}}while(0);d=f[H>>2]|0;if(!d)break a}if((O|0)==34)ra(16930,16968,223,17115);else if((O|0)==43)ra(17130,17154,48,17262);else if((O|0)==45)ra(17291,17154,49,17262)}while(0);d=f[J>>2]|0;e=f[I>>2]|0;h=d+(((e>>>0)/341|0)<<2)|0;g=f[N>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%341|0)*12|0)|0;i=e}d:while(1){do{if((e|0)==(i|0))break d;e=e+12|0}while((e-(f[h>>2]|0)|0)!=4092);e=h+4|0;h=e;e=f[e>>2]|0}f[H>>2]=0;e=j-k>>2;if(e>>>0>2)do{Co(f[d>>2]|0);d=(f[J>>2]|0)+4|0;f[J>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=170;O=91;break}case 2:{e=341;O=91;break}default:{}}if((O|0)==91)f[I>>2]=e;if((d|0)!=(g|0)){do{Co(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[J>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}Co(d);u=Q;return}function vb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;x=z+20|0;y=z+16|0;w=z+4|0;q=z;o=a+36|0;p=a+37|0;v=a+32|0;i=f[v>>2]|0;do if((((h[o>>0]|0)<<8|(h[p>>0]|0))&65535)<514){l=i+8|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=i+16|0;d=m;c=f[d>>2]|0;d=f[d+4>>2]|0;g=Bl(c|0,d|0,4,0)|0;e=I;if((l|0)<(e|0)|(l|0)==(e|0)&k>>>0>>0){a=0;u=z;return a|0}j=(f[i>>2]|0)+c|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;f[x>>2]=j;t=m;f[t>>2]=g;f[t+4>>2]=e;c=Bl(c|0,d|0,8,0)|0;d=I;if((l|0)<(d|0)|(l|0)==(d|0)&k>>>0>>0){a=0;u=z;return a|0}else{t=(f[i>>2]|0)+g|0;f[y>>2]=h[t>>0]|h[t+1>>0]<<8|h[t+2>>0]<<16|h[t+3>>0]<<24;t=m;f[t>>2]=c;f[t+4>>2]=d;break}}else{if(!(yh(x,i)|0)){a=0;u=z;return a|0}if(yh(y,f[v>>2]|0)|0){j=f[x>>2]|0;break}else{a=0;u=z;return a|0}}while(0);if(j>>>0>1431655765){a=0;u=z;return a|0}c=f[y>>2]|0;t=Kk(j|0,0,3,0)|0;s=I;if(0>s>>>0|0==(s|0)&c>>>0>t>>>0){a=0;u=z;return a|0}k=f[v>>2]|0;t=k+8|0;s=f[t+4>>2]|0;d=k+16|0;n=d;m=f[n>>2]|0;n=f[n+4>>2]|0;if(!((s|0)>(n|0)|((s|0)==(n|0)?(f[t>>2]|0)>>>0>m>>>0:0))){a=0;u=z;return a|0}t=b[(f[k>>2]|0)+m>>0]|0;l=Bl(m|0,n|0,1,0)|0;i=I;s=d;f[s>>2]=l;f[s+4>>2]=i;a:do if(!(t<<24>>24)){if(!(Qd(a,j)|0)){a=0;u=z;return a|0}}else{if(c>>>0<256){if(!j)break;o=a+44|0;p=w+4|0;q=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;d=k+8|0;c=f[d>>2]|0;d=f[d+4>>2]|0;b:do if((d|0)>(i|0)|(d|0)==(i|0)&c>>>0>l>>>0){n=c;g=d;m=0;while(1){e=k+16|0;d=f[k>>2]|0;s=b[d+l>>0]|0;c=Bl(l|0,i|0,1,0)|0;t=I;r=e;f[r>>2]=c;f[r+4>>2]=t;f[w>>2]=s&255;if(!((g|0)>(t|0)|(g|0)==(t|0)&n>>>0>c>>>0))break b;s=b[d+c>>0]|0;c=Bl(l|0,i|0,2,0)|0;t=I;r=e;f[r>>2]=c;f[r+4>>2]=t;f[p>>2]=s&255;if(!((g|0)>(t|0)|(g|0)==(t|0)&n>>>0>c>>>0))break b;d=b[d+c>>0]|0;c=Bl(l|0,i|0,3,0)|0;f[e>>2]=c;f[e+4>>2]=I;f[q>>2]=d&255;d=f[o>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){og(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}m=m+1|0;if(m>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;g=k+8|0;n=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>(i|0)|(g|0)==(i|0)&n>>>0>l>>>0))break;else j=c}}while(0);a=0;u=z;return a|0}if(c>>>0<65536){if(!j)break;r=a+44|0;s=w+4|0;t=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=k+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=Bl(m|0,n|0,3,0)|0;d=I;c:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;o=e;n=g;q=0;while(1){m=k+16|0;g=f[k>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8;c=m;f[c>>2]=p;f[c+4>>2]=d;f[w>>2]=e&65535;e=Bl(l|0,i|0,4,0)|0;c=I;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0>>0)break c;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8;p=m;f[p>>2]=e;f[p+4>>2]=c;f[s>>2]=d&65535;c=Bl(l|0,i|0,6,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0)break c;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8;p=m;f[p>>2]=c;f[p+4>>2]=d;f[t>>2]=e&65535;d=f[r>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){og(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}q=q+1|0;if(q>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;o=k+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=Bl(l|0,i|0,2,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0

>>0)break;else j=c}}while(0);a=0;u=z;return a|0}t=a+44|0;if((f[(f[t>>2]|0)+80>>2]|0)<2097152?(((h[o>>0]|0)<<8|(h[p>>0]|0))&65535)>513:0){if(!j)break;i=w+4|0;j=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;d:do if(yh(q,k)|0){g=0;do{f[w>>2]=f[q>>2];if(!(yh(q,f[v>>2]|0)|0))break d;f[i>>2]=f[q>>2];if(!(yh(q,f[v>>2]|0)|0))break d;f[j>>2]=f[q>>2];d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))og(d+96|0,w);else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12}g=g+1|0;if(g>>>0>=(f[x>>2]|0)>>>0)break a;s=f[v>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0}while(yh(q,s)|0)}while(0);a=0;u=z;return a|0}if(j|0){r=w+4|0;s=w+8|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=k+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=Bl(m|0,n|0,5,0)|0;d=I;e:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;o=e;n=g;q=0;while(1){m=k+16|0;g=f[k>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;c=m;f[c>>2]=p;f[c+4>>2]=d;f[w>>2]=e;e=Bl(l|0,i|0,8,0)|0;c=I;if((o|0)<(c|0)|(o|0)==(c|0)&n>>>0>>0)break e;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;p=m;f[p>>2]=e;f[p+4>>2]=c;f[r>>2]=d;c=Bl(l|0,i|0,12,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0)break e;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;p=m;f[p>>2]=c;f[p+4>>2]=d;f[s>>2]=e;d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){og(d+96|0,w);c=f[x>>2]|0}else{f[c>>2]=f[w>>2];f[c+4>>2]=f[w+4>>2];f[c+8>>2]=f[w+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=j}q=q+1|0;if(q>>>0>=c>>>0)break a;k=f[v>>2]|0;i=k+16|0;l=f[i>>2]|0;i=f[i+4>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;o=k+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=Bl(l|0,i|0,4,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0

>>0)break;else j=c}}while(0);a=0;u=z;return a|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[y>>2];a=1;u=z;return a|0}function wb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+32|0;E=F+16|0;D=F+4|0;A=F;f[a+36>>2]=b;B=a+24|0;z=a+28|0;e=f[z>>2]|0;d=f[B>>2]|0;h=e-d>>2;if(h>>>0>=b>>>0){if(h>>>0>b>>>0?(g=d+(b<<2)|0,(e|0)!=(g|0)):0)f[z>>2]=e+(~((e+-4-g|0)>>>2)<<2)}else wf(B,b-h|0,3548);f[E>>2]=0;y=E+4|0;f[y>>2]=0;x=E+8|0;f[x>>2]=0;if(b){if((b|0)<0)Tn(E);d=((b+-1|0)>>>5)+1|0;h=Lk(d<<2)|0;f[E>>2]=h;f[x>>2]=d;f[y>>2]=b;d=b>>>5;dh(h|0,0,d<<2|0)|0;e=b-(d<<5)|0;d=h+(d<<2)|0;g=h;if(!e)k=b;else{f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));k=b}}else{k=0;g=0;h=0}w=a+4|0;l=f[a>>2]|0;d=(f[w>>2]|0)-l|0;j=d>>2;f[D>>2]=0;i=D+4|0;f[i>>2]=0;e=D+8|0;f[e>>2]=0;do if(j){if((d|0)<0)Tn(D);d=((j+-1|0)>>>5)+1|0;m=Lk(d<<2)|0;f[D>>2]=m;f[e>>2]=d;f[i>>2]=j;d=j>>>5;dh(m|0,0,d<<2|0)|0;e=j-(d<<5)|0;d=m+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));if(j>>>0>2){q=a+12|0;t=a+32|0;r=a+52|0;s=a+56|0;v=a+48|0;j=l;e=m;p=0;d=b;a:while(1){o=p*3|0;if((p|0)>=0){l=f[j+(o<<2)>>2]|0;i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;if((i|0)<0)k=-1073741824;else k=f[j+(i<<2)>>2]|0;i=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((i|0)<0)i=-1073741824;else i=f[j+(i<<2)>>2]|0;if((l|0)!=(k|0)?!((l|0)==(i|0)|(k|0)==(i|0)):0){i=d;n=0;while(1){j=n+o|0;if(!(f[e+(j>>>5<<2)>>2]&1<<(j&31))){d=f[(f[a>>2]|0)+(j<<2)>>2]|0;f[A>>2]=d;if(!(f[h+(d>>>5<<2)>>2]&1<<(d&31))){k=0;b=i}else{d=f[z>>2]|0;if((d|0)==(f[t>>2]|0))Ig(B,3548);else{f[d>>2]=-1073741824;f[z>>2]=d+4}d=f[r>>2]|0;if((d|0)==(f[s>>2]|0))Ig(v,A);else{f[d>>2]=f[A>>2];f[r>>2]=d+4}d=f[y>>2]|0;e=f[x>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){i=52;break a}b=e<<6;m=d+32&-32;jg(E,d>>>0<1073741823?(b>>>0>>0?m:b):2147483647);d=f[y>>2]|0}f[y>>2]=d+1;k=(f[E>>2]|0)+(d>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(d&31));f[A>>2]=i;d=i;k=1;b=i+1|0}h=f[E>>2]|0;g=h+(d>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(d&31);g=h;b:do if(k){d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);i=f[A>>2]|0;f[(f[B>>2]|0)+(i<<2)>>2]=d;f[(f[a>>2]|0)+(d<<2)>>2]=i;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}else{d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);f[(f[B>>2]|0)+(f[A>>2]<<2)>>2]=d;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}while(0);do if((i|0)==68){i=0;if((j|0)==-1073741824){d=-1073741824;i=75}}else if((i|0)==69){if((j|0)<0){d=j;i=75;break}d=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((d|0)<0){i=75;break}d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=75;break}if(!((d>>>0)%3|0)){d=d+2|0;i=75;break}else{d=d+-1|0;i=75;break}}while(0);c:do if((i|0)==75){e=f[D>>2]|0;i=e+(d>>>5<<2)|0;l=1<<(d&31);j=(d|0)<0;if((d|0)==-1073741824)break;if(!k){k=d;e=j;d=l;while(1){if(e){i=87;break a}f[i>>2]=f[i>>2]|d;d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);e=f[D>>2]|0;if((d|0)==-1073741824)break c;else{k=d;i=e+(d>>>5<<2)|0;e=(d|0)<0;d=1<<(d&31)}}}m=f[a>>2]|0;k=i;e=l;while(1){i=m+(d<<2)|0;do{f[k>>2]=f[k>>2]|e;f[i>>2]=f[A>>2]}while(j);d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=d;break}if(!((d>>>0)%3|0)){i=d+2|0;break}else{i=d+-1|0;break}}else i=d;while(0);e=f[D>>2]|0;if((i|0)==-1073741824)break;else{d=i;k=e+(i>>>5<<2)|0;j=(i|0)<0;e=1<<(i&31)}}}while(0);d=b}else d=i;n=n+1|0;if((n|0)>=3)break;else i=d}}}p=p+1|0;j=f[a>>2]|0;if((p|0)>=(((f[w>>2]|0)-j>>2>>>0)/3|0|0)){i=18;break}}if((i|0)==18){c=g;C=f[y>>2]|0;break}else if((i|0)==52)Tn(E);else if((i|0)==87)while(1)i=87}else{c=g;C=k}}else{c=g;C=k}while(0);j=a+44|0;f[j>>2]=0;B=C>>>5;i=c+(B<<2)|0;h=C&31;d=(B|0)!=0;d:do if(B|h|0){if(!h){e=c;c=0;while(1){e:do if(d){d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break;else d=d+1|0}}else{d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break e;d=d+1|0;if(!d)break d}}while(0);e=e+4|0;if((e|0)==(i|0))break d;else d=1}}if(d){e=c;c=0;d=0;do{g=0;while(1){if(!(f[e>>2]&1<>2]=d;c=d}if((g|0)==31)break;else g=g+1|0}e=e+4|0}while((e|0)!=(i|0))}else{e=c;c=0}d=0;do{if(!(f[e>>2]&1<>2]=c}d=d+1|0}while((d|0)!=(h|0))}while(0);c=f[D>>2]|0;if(c|0)Co(c);c=f[E>>2]|0;if(!c){u=F;return 1}Co(c);u=F;return 1}function xb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=La,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Kk(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Kk(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Bl(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}dh(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function yb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;am(c)|0;if((I|0)<0){C=1;A=18206;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?18207:18212):18209}am(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+ho(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=ni(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[18241+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Qi(a,32,d,j,g);Lm(a,p,o);Qi(a,48,d,j,g^65536);Lm(a,F,C);Qi(a,48,D-C|0,0,0);Lm(a,n,E);Qi(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=ml(f[j>>2]|0,0,o|0)|0;x=Bl(x|0,I|0,l|0,0)|0;y=I;v=Ak(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=en(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=ni(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Qi(a,32,d,j,g);Lm(a,A,C);Qi(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=ni(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){dh(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Lm(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Lm(a,18257,1);if(m>>>0>>0&(k|0)>0)while(1){l=ni(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){dh(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Lm(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Qi(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=ni(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Lm(a,l,1);if(e&(k|0)<1){l=m;break}Lm(a,18257,1);l=m}else{if(l>>>0<=F>>>0)break;dh(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Lm(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Qi(a,48,k+18|0,18,0);Lm(a,v,D-v|0)}Qi(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Qi(a,32,d,j,g&-65537);Lm(a,A,C);Lm(a,c!=c|0.0!=0.0?(F?18233:18237):F?18225:18229,3);Qi(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function zb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=po()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Lm(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=Vj(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=Vj(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(17725+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Id(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=ok(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=18189;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=cm(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=18189;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?18189:18191):18190;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=18189;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=18189;i=x;break}case 109:{i=po()|0;i=Sm(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:18199;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Qi(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=yb(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=18189;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Zj(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?18189:18189+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=ni(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=fg(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=18189;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Rm(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Qi(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Rm(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Lm(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Qi(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Qi(a,32,i,l,n);Lm(a,j,k);Qi(a,48,i,l,n^65536);Qi(a,48,q,r,0);Lm(a,o,r);Qi(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Id(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0} // EMSCRIPTEN_END_FUNCS -var Na=[ao,Bl,Xi,ij,$k,kg,al,fe,ic,yj,qg,Mg,Ai,tg,wi,bf,ej,oj,uk,mh,ao,ao,ao,ao,ao,ao,ao,ao,ao,ao,ao,ao];var Oa=[En,Wg,hf,En];var Pa=[Lo,Ho,Ao,jk,_j,Ti,Hi,Hi,ch,Xm,Vf,xm,Pj,Cj,Uj,Dj,Dj,Dj,Dj,Ph,Gh,ui,di,Ri,Fi,bj,Si,Ho,Ao,Dj,Dj,Lh,Fh,ni,_h,Li,Ci,Yi,Mi,Ho,Ao,Cj,Ho,Ao,Jk,Dk,Ho,Ao,Sk,Hk,Ho,Ao,Ao,Tk,Ik,Ho,Ao,Zk,Qk,Ho,Ao,Wi,Ni,Ch,yh,bh,Vg,Ic,ul,ci,Vh,Ek,qk,Fj,Rj,Kj,Lk,zk,Ij,gi,Zh,ed,dl,gd,gl,yh,Ho,Ao,yh,yh,yh,zi,pi,Ie,In,Ho,Zn,Ho,Ho,Zn,Ho,Zn,Rk,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo];var Qa=[wo,li,se,ti,_b,wo,wo,wo];var Ra=[Wm,Gc,Yb,Kb,qb,Lc,hd,Qj,Zb,Lb,jb,Kc,ad,Qj,lh,ec,fc,ph,gc,hc,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm];var Sa=[Go,co,fo,Mm,Pn,fo,od,Jm,wn,Io,Io,fo,Io,fo,fo,pj,co,pj,ml,pj,vm,lj,fo,xl,lj,fo,zl,ei,fo,Pn,fo,pj,co,pj,ml,pj,vm,lj,fo,xl,lj,fo,zl,ei,fo,Pn,co,Io,wn,fo,Io,fo,vm,zl,$h,fo,Pn,zl,$h,fo,Pn,Io,wn,fo,Io,fo,co,zl,$h,fo,Pn,zl,$h,fo,Pn,_d,fo,fo,jl,Tc,Ji,fo,Io,Be,Pl,Xl,Sl,db,fo,wn,Fm,Ze,pe,df,bb,fo,wn,Fm,cb,fo,wn,Fm,vb,Hg,Io,fo,Mh,Mh,Ok,ro,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go];var Ta=[io,ji,Sb,Rb,Rb,Sb,Rb,Sb,Ne,xe,io,io,io,io,io,io];var Ua=[No,uo,wg,fl];var Va=[tn,Bj,Ki,tn];var Wa=[qo,uj,Ff,Vb,xj,Cm,Kn,dn,dn,Jb,$l,dn,rf,zd,af,jj,Xh,Uh,dj,Mc,tm,Kn,Nf,id,wk,Gj,Nc,nk,Gj,qd,pk,Ej,we,hk,id,wk,Gj,Nc,nk,Gj,qd,pk,Ej,we,hk,_f,tm,Kn,kk,pk,zj,xg,hk,pk,zj,xg,hk,tm,Kn,vk,pk,zj,Ag,hk,pk,zj,Ag,hk,Rl,ne,Kn,Kn,rl,pl,ol,Vl,jg,rg,Ib,Md,Wd,Od,Vl,jg,rg,Ib,Vl,jg,rg,Ib,Fe,gk,fg,Fe,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo,qo];var Xa=[Sn,Jg,Qf,Vj,$i,Sn,Sn,Sn];return{_emscripten_bind_Decoder_GetAttributeFloat_3:kl,_emscripten_bind_PointAttribute_normalized_0:Dn,_bitshift64Lshr:sl,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:Pk,_emscripten_bind_DecoderBuffer_Init_2:Am,_emscripten_bind_PointAttribute_size_0:Vn,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:xo,_sbrk:sj,_memcpy:Xe,stackSave:Ko,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:vo,_emscripten_bind_Decoder_GetAttributeIdByName_2:am,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:xo,___udivmoddi4:pc,_emscripten_bind_Status_ok_0:Un,_emscripten_bind_Mesh_num_faces_0:Qm,_emscripten_get_global_libc:Eo,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:tl,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:xo,runPostSets:vl,_emscripten_bind_Decoder_GetEncodedGeometryType_1:jm,___cxa_can_catch:ck,_free:Nb,_emscripten_bind_GeometryAttribute___destroy___0:xn,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:vo,_emscripten_bind_PointAttribute_byte_stride_0:Ln,_emscripten_bind_Metadata_Metadata_0:Hj,_emscripten_bind_AttributeQuantizationTransform_min_value_1:im,_emscripten_bind_Decoder_Decoder_0:Bn,_emscripten_bind_MetadataQuerier_GetStringEntry_2:Nl,_emscripten_bind_MetadataQuerier_GetIntEntry_2:Zl,_emscripten_bind_Decoder___destroy___0:ii,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:no,getTempRet0:Jo,setThrew:yn,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Ll,_emscripten_bind_AttributeTransformData___destroy___0:yk,_emscripten_bind_PointAttribute_num_components_0:Jn,___cxa_is_pointer_type:um,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:dm,_llvm_cttz_i32:ek,_emscripten_bind_AttributeQuantizationTransform___destroy___0:lm,stackAlloc:Pm,_emscripten_bind_DracoInt32Array___destroy___0:fk,_emscripten_bind_Mesh_num_points_0:Vn,___divdi3:ki,_emscripten_bind_Mesh_Mesh_0:Cn,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:rn,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:Wl,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:el,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Ml,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:Ol,_emscripten_bind_Mesh_num_attributes_0:an,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:wn,_emscripten_bind_AttributeOctahedronTransform___destroy___0:lm,_llvm_bswap_i32:pn,_emscripten_bind_Decoder_GetAttributeMetadata_2:Ul,_emscripten_bind_PointAttribute_unique_id_0:On,establishStackSpace:Rn,_emscripten_enum_draco_StatusCode_IO_ERROR:to,_emscripten_bind_MetadataQuerier_HasIntEntry_2:Yl,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:El,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:ho,_emscripten_bind_PointCloud_num_attributes_0:an,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Um,_emscripten_bind_DracoInt32Array_size_0:ln,_emscripten_bind_Decoder_SkipAttributeTransform_1:hm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:mo,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:Vk,_emscripten_enum_draco_StatusCode_ERROR:vo,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:wn,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:lo,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:no,_emscripten_bind_VoidPtr___destroy___0:xn,_memset:Yg,_emscripten_bind_PointAttribute_attribute_type_0:Gn,_emscripten_bind_MetadataQuerier___destroy___0:xn,_emscripten_bind_DracoInt32Array_GetValue_1:Vm,_emscripten_bind_DecoderBuffer___destroy___0:Bm,_emscripten_bind_Decoder_GetAttribute_2:qm,_emscripten_bind_PointCloud___destroy___0:lm,_i64Subtract:wl,setTempRet0:Do,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Tm,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:po,_emscripten_bind_DracoFloat32Array___destroy___0:fk,_emscripten_bind_PointCloud_num_points_0:Vn,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:mo,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Dm,___muldsi3:Nj,_emscripten_bind_Decoder_GetFaceFromMesh_3:Al,_emscripten_bind_PointAttribute_data_type_0:Pn,_emscripten_bind_DracoFloat32Array_size_0:ln,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:Ql,_malloc:$a,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:zn,_emscripten_bind_PointAttribute_byte_offset_0:Mn,_emscripten_replace_memory:Ma,_memmove:Yj,_emscripten_bind_PointCloud_PointCloud_0:gn,_emscripten_bind_Status_error_msg_0:Il,_emscripten_bind_Mesh___destroy___0:lm,_emscripten_bind_Metadata___destroy___0:Hm,_emscripten_bind_Status___destroy___0:Hl,___udivdi3:en,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:vo,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:sk,_emscripten_bind_AttributeQuantizationTransform_range_0:vn,_bitshift64Shl:nl,_emscripten_bind_Decoder_GetAttributeId_2:Dl,_emscripten_enum_draco_StatusCode_OK:xo,_emscripten_bind_AttributeTransformData_transform_type_0:bo,_emscripten_bind_Status_code_0:bo,___muldi3:Mk,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:em,___uremdi3:Ck,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Tm,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:ko,_i64Add:gm,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Kl,_emscripten_bind_DracoFloat32Array_GetValue_1:Em,_emscripten_bind_PointAttribute_PointAttribute_0:Om,_emscripten_bind_Decoder_GetMetadata_1:Im,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:mo,stackRestore:Bo,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:Ql,_emscripten_bind_PointAttribute___destroy___0:uh,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:jo,stackAlloc:Pm,stackSave:Ko,stackRestore:Bo,establishStackSpace:Rn,setThrew:yn,setTempRet0:Do,getTempRet0:Jo,dynCall_iiii:zm,dynCall_viiiii:Jl,dynCall_vi:Wn,dynCall_vii:An,dynCall_iiiiiii:bl,dynCall_ii:Nn,dynCall_viii:Nm,dynCall_v:so,dynCall_viiiiii:hl,dynCall_iii:on,dynCall_viiii:nm}}) +var Na=[Go,fo,go,Mm,Qn,go,Tc,Jm,tn,Io,Io,go,Io,go,go,jj,fo,jj,ll,jj,um,fj,go,vl,fj,go,xl,gi,go,Qn,go,jj,fo,jj,ll,jj,um,fj,go,vl,fj,go,xl,gi,go,Qn,fo,Io,tn,go,Io,go,um,xl,ci,go,Qn,xl,ci,go,Qn,Io,tn,go,Io,go,fo,xl,ci,go,Qn,xl,ci,go,Qn,ge,go,go,il,Yc,Gi,go,Io,Ie,Ol,Wl,Rl,db,go,tn,Fm,Je,je,Ue,bb,go,tn,Fm,cb,go,tn,Fm,vb,Jg,Io,go,Oh,Oh,Mk,Fn,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go,Go];var Oa=[ro,oj,Kf,Ub,sj,Cm,Ln,dn,dn,Mb,_l,dn,sf,Ad,ff,ej,Zh,Vh,_i,Mc,sm,Ln,Tf,jd,tk,Cj,Rc,kk,Cj,rd,mk,Aj,Ce,ek,jd,tk,Cj,Rc,kk,Cj,rd,mk,Aj,Ce,ek,bg,sm,Ln,hk,mk,uj,Ag,ek,mk,uj,Ag,ek,sm,Ln,sk,mk,uj,Eg,ek,mk,uj,Eg,ek,Ql,ue,Ln,Ln,rl,pl,nl,Ul,kg,tg,Ib,Od,_d,Sd,Ul,kg,tg,Ib,Ul,kg,tg,Ib,Me,dk,ig,Me,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro,ro];var Pa=[co,zl,Ti,dj,_k,lg,$k,le,oc,tj,rg,Ug,xi,vg,ti,gf,$i,ij,rk,th,co,co,co,co,co,co,co,co,co,co,co,co];var Qa=[Wm,Jc,Xb,Kb,rb,Ic,Nc,Lj,_b,Jb,jb,Hc,Lc,Lj,rh,ec,fc,wh,gc,hc,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm,Wm];var Ra=[No,uo,zg,el];var Sa=[Lo,Ho,Ao,gk,Wj,Pi,Ei,Ei,kh,Xm,Yf,wm,Kj,yj,Qj,zj,zj,zj,zj,Qh,Lh,ri,fi,Ni,Ci,Zi,Oi,Ho,Ao,zj,zj,Nh,Jh,mi,ai,Ii,Ai,Ui,Ji,Ho,Ao,yj,Ho,Ao,Hk,Bk,Ho,Ao,Qk,Fk,Ho,Ao,Ao,Rk,Gk,Ho,Ao,Yk,Ok,Ho,Ao,Si,Ki,Gh,Eh,hh,$g,Qc,ul,ei,Wh,Ck,nk,Bj,Nj,Gj,Jk,wk,Ej,hi,$h,od,cl,pd,fl,Eh,Ho,Ao,Eh,Eh,Eh,wi,oi,Re,In,Ho,Jn,Ho,Ho,Jn,kn,Sn,Sn,Pk,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo];var Ta=[wo,li,ze,qi,$b,wo,wo,wo];var Ua=[jo,ji,Tb,Eb,Eb,Tb,Eb,Tb,Xe,De,jo,jo,jo,jo,jo,jo];var Va=[Yn,Qg,Vf,Rj,Xi,Yn,Yn,Yn];var Wa=[Dn,bh,nf,Dn];var Xa=[mn,wj,Hi,mn];return{___cxa_can_catch:_j,___cxa_is_pointer_type:tm,___divdi3:ki,___muldi3:Kk,___udivdi3:en,___uremdi3:Ak,_bitshift64Lshr:sl,_bitshift64Shl:ml,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:em,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:Pl,_emscripten_bind_AttributeOctahedronTransform___destroy___0:km,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:tn,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:pk,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:Pl,_emscripten_bind_AttributeQuantizationTransform___destroy___0:km,_emscripten_bind_AttributeQuantizationTransform_min_value_1:hm,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:tn,_emscripten_bind_AttributeQuantizationTransform_range_0:sn,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:dm,_emscripten_bind_AttributeTransformData___destroy___0:vk,_emscripten_bind_AttributeTransformData_transform_type_0:eo,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Um,_emscripten_bind_DecoderBuffer_Init_2:zm,_emscripten_bind_DecoderBuffer___destroy___0:Bm,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Jl,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:tl,_emscripten_bind_Decoder_Decoder_0:zn,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:Vl,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:Nk,_emscripten_bind_Decoder_GetAttributeFloat_3:jl,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:dl,_emscripten_bind_Decoder_GetAttributeIdByName_2:$l,_emscripten_bind_Decoder_GetAttributeId_2:Dl,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:Sk,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:Uk,_emscripten_bind_Decoder_GetAttributeMetadata_2:Tl,_emscripten_bind_Decoder_GetAttribute_2:pm,_emscripten_bind_Decoder_GetEncodedGeometryType_1:im,_emscripten_bind_Decoder_GetFaceFromMesh_3:yl,_emscripten_bind_Decoder_GetMetadata_1:Im,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:El,_emscripten_bind_Decoder_SkipAttributeTransform_1:gm,_emscripten_bind_Decoder___destroy___0:bi,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Tm,_emscripten_bind_DracoFloat32Array_GetValue_1:Em,_emscripten_bind_DracoFloat32Array___destroy___0:bk,_emscripten_bind_DracoFloat32Array_size_0:jn,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Tm,_emscripten_bind_DracoInt32Array_GetValue_1:Vm,_emscripten_bind_DracoInt32Array___destroy___0:bk,_emscripten_bind_DracoInt32Array_size_0:jn,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Dm,_emscripten_bind_GeometryAttribute___destroy___0:un,_emscripten_bind_Mesh_Mesh_0:An,_emscripten_bind_Mesh___destroy___0:km,_emscripten_bind_Mesh_num_attributes_0:an,_emscripten_bind_Mesh_num_faces_0:Qm,_emscripten_bind_Mesh_num_points_0:Xn,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:Nl,_emscripten_bind_MetadataQuerier_GetIntEntry_2:Yl,_emscripten_bind_MetadataQuerier_GetStringEntry_2:Ml,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Ll,_emscripten_bind_MetadataQuerier_HasIntEntry_2:Xl,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Kl,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:pn,_emscripten_bind_MetadataQuerier___destroy___0:un,_emscripten_bind_Metadata_Metadata_0:Dj,_emscripten_bind_Metadata___destroy___0:Hm,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:xn,_emscripten_bind_PointAttribute_PointAttribute_0:Om,_emscripten_bind_PointAttribute___destroy___0:Ah,_emscripten_bind_PointAttribute_attribute_type_0:Gn,_emscripten_bind_PointAttribute_byte_offset_0:Nn,_emscripten_bind_PointAttribute_byte_stride_0:Mn,_emscripten_bind_PointAttribute_data_type_0:Qn,_emscripten_bind_PointAttribute_normalized_0:Bn,_emscripten_bind_PointAttribute_num_components_0:Kn,_emscripten_bind_PointAttribute_size_0:Xn,_emscripten_bind_PointAttribute_unique_id_0:Pn,_emscripten_bind_PointCloud_PointCloud_0:gn,_emscripten_bind_PointCloud___destroy___0:km,_emscripten_bind_PointCloud_num_attributes_0:an,_emscripten_bind_PointCloud_num_points_0:Xn,_emscripten_bind_Status___destroy___0:ol,_emscripten_bind_Status_code_0:eo,_emscripten_bind_Status_error_msg_0:Hl,_emscripten_bind_Status_ok_0:Wn,_emscripten_bind_VoidPtr___destroy___0:un,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:vo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:xo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:oo,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:no,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:vo,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:xo,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:no,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:oo,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:lo,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:vo,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:no,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:xo,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:io,_emscripten_enum_draco_StatusCode_ERROR:vo,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:mo,_emscripten_enum_draco_StatusCode_IO_ERROR:to,_emscripten_enum_draco_StatusCode_OK:xo,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:qo,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:ko,_emscripten_get_global_libc:Eo,_emscripten_replace_memory:Ma,_free:Ob,_i64Add:Bl,_i64Subtract:cm,_llvm_bswap_i32:nn,_malloc:Ya,_memcpy:cf,_memmove:Uj,_memset:dh,_sbrk:mj,dynCall_ii:On,dynCall_iii:ln,dynCall_iiii:ym,dynCall_iiiiiii:al,dynCall_v:so,dynCall_vi:Zn,dynCall_vii:yn,dynCall_viii:Nm,dynCall_viiii:mm,dynCall_viiiii:Il,dynCall_viiiiii:gl,establishStackSpace:Un,getTempRet0:Jo,runPostSets:Al,setTempRet0:Do,setThrew:vn,stackAlloc:Pm,stackRestore:Bo,stackSave:Ko}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];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 _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var stackSave=Module["stackSave"]=asm["stackSave"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];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_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];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_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];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 setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];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_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];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_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_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=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});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)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoEncoderModule!=="undefined"?DracoEncoderModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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 __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}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=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+24496;__ATINIT__.push();allocate([124,27,0,0,109,28,0,0,164,27,0,0,70,28,0,0,8,0,0,0,0,0,0,0,164,27,0,0,138,28,0,0,8,0,0,0,0,0,0,0,124,27,0,0,78,29,0,0,164,27,0,0,125,31,0,0,48,0,0,0,0,0,0,0,124,27,0,0,159,31,0,0,164,27,0,0,196,31,0,0,48,0,0,0,0,0,0,0,164,27,0,0,15,45,0,0,72,0,0,0,0,0,0,0,164,27,0,0,244,31,0,0,128,0,0,0,0,0,0,0,164,27,0,0,77,32,0,0,144,0,0,0,0,0,0,0,164,27,0,0,161,32,0,0,160,0,0,0,0,0,0,0,164,27,0,0,213,32,0,0,176,0,0,0,0,0,0,0,124,27,0,0,0,33,0,0,164,27,0,0,36,33,0,0,200,0,0,0,0,0,0,0,124,27,0,0,194,33,0,0,164,27,0,0,243,34,0,0,224,0,0,0,0,0,0,0,164,27,0,0,139,35,0,0,128,0,0,0,0,0,0,0,164,27,0,0,20,36,0,0,224,0,0,0,0,0,0,0,164,27,0,0,174,36,0,0,224,0,0,0,0,0,0,0,164,27,0,0,64,37,0,0,224,0,0,0,0,0,0,0,164,27,0,0,230,37,0,0,224,0,0,0,0,0,0,0,164,27,0,0,129,38,0,0,224,0,0,0,0,0,0,0,164,27,0,0,23,39,0,0,80,1,0,0,0,0,0,0,124,27,0,0,194,39,0,0,164,27,0,0,109,40,0,0,104,1,0,0,0,0,0,0,164,27,0,0,18,41,0,0,128,0,0,0,0,0,0,0,164,27,0,0,168,41,0,0,104,1,0,0,0,0,0,0,164,27,0,0,79,42,0,0,104,1,0,0,0,0,0,0,164,27,0,0,238,42,0,0,104,1,0,0,0,0,0,0,164,27,0,0,161,43,0,0,104,1,0,0,0,0,0,0,164,27,0,0,73,44,0,0,104,1,0,0,0,0,0,0,164,27,0,0,150,68,0,0,96,0,0,0,0,0,0,0,164,27,0,0,41,50,0,0,232,1,0,0,0,0,0,0,164,27,0,0,154,50,0,0,144,0,0,0,0,0,0,0,164,27,0,0,199,52,0,0,8,2,0,0,0,0,0,0,124,27,0,0,125,53,0,0,164,27,0,0,230,55,0,0,32,2,0,0,0,0,0,0,164,27,0,0,150,56,0,0,232,1,0,0,0,0,0,0,164,27,0,0,215,57,0,0,32,2,0,0,0,0,0,0,164,27,0,0,32,59,0,0,32,2,0,0,0,0,0,0,164,27,0,0,202,59,0,0,32,2,0,0,0,0,0,0,164,27,0,0,136,60,0,0,32,2,0,0,0,0,0,0,164,27,0,0,59,61,0,0,32,2,0,0,0,0,0,0,164,27,0,0,233,61,0,0,144,2,0,0,0,0,0,0,124,27,0,0,172,62,0,0,164,27,0,0,111,63,0,0,168,2,0,0,0,0,0,0,164,27,0,0,44,64,0,0,232,1,0,0,0,0,0,0,164,27,0,0,218,64,0,0,168,2,0,0,0,0,0,0,164,27,0,0,153,65,0,0,168,2,0,0,0,0,0,0,164,27,0,0,80,66,0,0,168,2,0,0,0,0,0,0,164,27,0,0,27,67,0,0,168,2,0,0,0,0,0,0,164,27,0,0,219,67,0,0,168,2,0,0,0,0,0,0,164,27,0,0,193,68,0,0,96,0,0,0,0,0,0,0,164,27,0,0,197,69,0,0,152,3,0,0,0,0,0,0,164,27,0,0,199,72,0,0,128,3,0,0,0,0,0,0,124,27,0,0,230,69,0,0,164,27,0,0,46,70,0,0,80,3,0,0,0,0,0,0,124,27,0,0,248,70,0,0,124,27,0,0,18,71,0,0,164,27,0,0,77,71,0,0,80,3,0,0,0,0,0,0,164,27,0,0,10,72,0,0,80,3,0,0,0,0,0,0,124,27,0,0,19,73,0,0,164,27,0,0,65,73,0,0,128,3,0,0,0,0,0,0,164,27,0,0,148,73,0,0,200,3,0,0,0,0,0,0,164,27,0,0,218,73,0,0,152,3,0,0,0,0,0,0,164,27,0,0,192,73,0,0,80,3,0,0,0,0,0,0,124,27,0,0,250,73,0,0,164,27,0,0,208,74,0,0,200,3,0,0,0,0,0,0,164,27,0,0,242,74,0,0,200,3,0,0,0,0,0,0,164,27,0,0,44,77,0,0,0,4,0,0,0,0,0,0,124,27,0,0,210,78,0,0,124,27,0,0,190,91,0,0,164,27,0,0,30,92,0,0,32,4,0,0,0,0,0,0,164,27,0,0,203,91,0,0,48,4,0,0,0,0,0,0,124,27,0,0,236,91,0,0,164,27,0,0,249,91,0,0,16,4,0,0,0,0,0,0,164,27,0,0,15,93,0,0,8,4,0,0,0,0,0,0,164,27,0,0,64,93,0,0,32,4,0,0,0,0,0,0,164,27,0,0,28,93,0,0,88,4,0,0,0,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,192,0,0,0,192,0,0,0,0,48,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,3,0,0,0,1,0,0,0,8,0,0,0,0,0,0,0,56,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,3,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,72,0,0,0,8,0,0,0,9,0,0,0,3,0,0,0,11,0,0,0,12,0,0,0,4,0,0,0,13,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,15,0,0,0,5,0,0,0,0,0,0,0,80,0,0,0,10,0,0,0,11,0,0,0,6,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,18,0,0,0,7,0,0,0,19,0,0,0,20,0,0,0,8,0,0,0,21,0,0,0,22,0,0,0,9,0,0,0,1,0,0,0,0,0,0,0,96,0,0,0,12,0,0,0,13,0,0,0,8,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,13,0,0,0,5,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,0,0,0,192,0,0,0,0,128,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,1,0,0,0,0,0,0,0,112,0,0,0,14,0,0,0,16,0,0,0,15,0,0,0,11,0,0,0,16,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,1,0,0,0,0,0,0,0,48,1,0,0,14,0,0,0,17,0,0,0,17,0,0,0,11,0,0,0,18,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,2,0,0,0,0,0,0,0,32,1,0,0,14,0,0,0,18,0,0,0,19,0,0,0,11,0,0,0,20,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,3,0,0,0,0,0,0,0,16,1,0,0,19,0,0,0,20,0,0,0,21,0,0,0,11,0,0,0,22,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,27,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,21,0,0,0,22,0,0,0,23,0,0,0,11,0,0,0,24,0,0,0,25,0,0,0,28,0,0,0,29,0,0,0,13,0,0,0,14,0,0,0,30,0,0,0,5,0,0,0,0,0,0,0,240,0,0,0,23,0,0,0,24,0,0,0,26,0,0,0,11,0,0,0,27,0,0,0,28,0,0,0,31,0,0,0,32,0,0,0,13,0,0,0,14,0,0,0,33,0,0,0,6,0,0,0,0,0,0,0,208,0,0,0,25,0,0,0,26,0,0,0,29,0,0,0,11,0,0,0,30,0,0,0,31,0,0,0,34,0,0,0,35,0,0,0,13,0,0,0,14,0,0,0,36,0,0,0,7,0,0,0,0,0,0,0,184,0,0,0,27,0,0,0,28,0,0,0,37,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,184,1,0,0,14,0,0,0,29,0,0,0,33,0,0,0,11,0,0,0,34,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,8,0,0,0,0,0,0,0,168,1,0,0,14,0,0,0,30,0,0,0,35,0,0,0,11,0,0,0,36,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,9,0,0,0,0,0,0,0,152,1,0,0,31,0,0,0,32,0,0,0,37,0,0,0,11,0,0,0,38,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,38,0,0,0,10,0,0,0,0,0,0,0,136,1,0,0,33,0,0,0,34,0,0,0,39,0,0,0,11,0,0,0,40,0,0,0,41,0,0,0,39,0,0,0,40,0,0,0,13,0,0,0,14,0,0,0,41,0,0,0,11,0,0,0,0,0,0,0,120,1,0,0,35,0,0,0,36,0,0,0,42,0,0,0,11,0,0,0,43,0,0,0,44,0,0,0,42,0,0,0,43,0,0,0,13,0,0,0,14,0,0,0,44,0,0,0,12,0,0,0,0,0,0,0,88,1,0,0,37,0,0,0,38,0,0,0,45,0,0,0,11,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,46,0,0,0,13,0,0,0,14,0,0,0,47,0,0,0,13,0,0,0,0,0,0,0,64,1,0,0,39,0,0,0,40,0,0,0,48,0,0,0,48,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,41,0,0,0,42,0,0,0,11,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,49,0,0,0,49,0,0,0,50,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,5,0,0,0,12,0,0,0,0,0,0,0,216,1,0,0,43,0,0,0,44,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,14,0,0,0,0,0,0,0,112,2,0,0,43,0,0,0,45,0,0,0,57,0,0,0,52,0,0,0,58,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,15,0,0,0,0,0,0,0,96,2,0,0,43,0,0,0,46,0,0,0,59,0,0,0,52,0,0,0,60,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,16,0,0,0,0,0,0,0,80,2,0,0,47,0,0,0,48,0,0,0,61,0,0,0,52,0,0,0,62,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,53,0,0,0,17,0,0,0,0,0,0,0,64,2,0,0,49,0,0,0,50,0,0,0,63,0,0,0,52,0,0,0,64,0,0,0,65,0,0,0,54,0,0,0,55,0,0,0,55,0,0,0,56,0,0,0,56,0,0,0,18,0,0,0,0,0,0,0,48,2,0,0,51,0,0,0,52,0,0,0,66,0,0,0,52,0,0,0,67,0,0,0,68,0,0,0,57,0,0,0,58,0,0,0,55,0,0,0,56,0,0,0,59,0,0,0,19,0,0,0,0,0,0,0,16,2,0,0,53,0,0,0,54,0,0,0,69,0,0,0,52,0,0,0,70,0,0,0,71,0,0,0,60,0,0,0,61,0,0,0,55,0,0,0,56,0,0,0,62,0,0,0,20,0,0,0,0,0,0,0,248,1,0,0,55,0,0,0,56,0,0,0,63,0,0,0,72,0,0,0,6,0,0,0,0,0,0,0,248,2,0,0,43,0,0,0,57,0,0,0,73,0,0,0,52,0,0,0,74,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,21,0,0,0,0,0,0,0,232,2,0,0,43,0,0,0,58,0,0,0,75,0,0,0,52,0,0,0,76,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,22,0,0,0,0,0,0,0,216,2,0,0,59,0,0,0,60,0,0,0,77,0,0,0,52,0,0,0,78,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,64,0,0,0,23,0,0,0,0,0,0,0,200,2,0,0,61,0,0,0,62,0,0,0,79,0,0,0,52,0,0,0,80,0,0,0,81,0,0,0,65,0,0,0,66,0,0,0,55,0,0,0,56,0,0,0,67,0,0,0,24,0,0,0,0,0,0,0,184,2,0,0,63,0,0,0,64,0,0,0,82,0,0,0,52,0,0,0,83,0,0,0,84,0,0,0,68,0,0,0,69,0,0,0,55,0,0,0,56,0,0,0,70,0,0,0,25,0,0,0,0,0,0,0,152,2,0,0,65,0,0,0,66,0,0,0,85,0,0,0,52,0,0,0,86,0,0,0,87,0,0,0,71,0,0,0,72,0,0,0,55,0,0,0,56,0,0,0,73,0,0,0,26,0,0,0,0,0,0,0,128,2,0,0,67,0,0,0,68,0,0,0,74,0,0,0,88,0,0,0,7,0,0,0,0,0,0,0,8,3,0,0,69,0,0,0,70,0,0,0,13,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,75,0,0,0,89,0,0,0,90,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,2,0,0,0,14,0,0,0,0,0,0,0,24,3,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,76,0,0,0,77,0,0,0,98,0,0,0,99,0,0,0,78,0,0,0,79,0,0,0,100,0,0,0,0,0,0,0,40,3,0,0,73,0,0,0,74,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,101,0,0,0,102,0,0,0,85,0,0,0,103,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,64,3,0,0,75,0,0,0,76,0,0,0,86,0,0,0,104,0,0,0,0,0,0,0,56,3,0,0,77,0,0,0,78,0,0,0,79,0,0,0,0,0,0,192,0,0,0,0,96,3,0,0,80,0,0,0,81,0,0,0,87,0,0,0,105,0,0,0,0,0,0,0,88,3,0,0,82,0,0,0,83,0,0,0,84,0,0,0,0,0,0,0,112,3,0,0,85,0,0,0,86,0,0,0,88,0,0,0,106,0,0,0,0,0,0,0,136,3,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,107,0,0,0,108,0,0,0,94,0,0,0,109,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,152,3,0,0,89,0,0,0,90,0,0,0,91,0,0,0,1,0,0,0,110,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,1,0,0,0,95,0,0,0,98,0,0,0,111,0,0,0,96,0,0,0,97,0,0,0,1,0,0,0,0,0,0,0,168,3,0,0,89,0,0,0,91,0,0,0,91,0,0,0,112,0,0,0,110,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,95,0,0,0,98,0,0,0,111,0,0,0,96,0,0,0,97,0,0,0,113,0,0,0,0,0,0,0,184,3,0,0,92,0,0,0,93,0,0,0,99,0,0,0,114,0,0,0,0,0,0,0,200,3,0,0,89,0,0,0,94,0,0,0,115,0,0,0,1,0,0,0,110,0,0,0,94,0,0,0,116,0,0,0,96,0,0,0,97,0,0,0,1,0,0,0,95,0,0,0,98,0,0,0,0,0,0,0,208,3,0,0,89,0,0,0,95,0,0,0,115,0,0,0,117,0,0,0,110,0,0,0,94,0,0,0,118,0,0,0,96,0,0,0,97,0,0,0,100,0,0,0,95,0,0,0,98,0,0,0,0,0,0,0,224,3,0,0,89,0,0,0,96,0,0,0,115,0,0,0,119,0,0,0,110,0,0,0,94,0,0,0,120,0,0,0,96,0,0,0,97,0,0,0,101,0,0,0,95,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,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,0,240,3,0,0,97,0,0,0,98,0,0,0,8,0,0,0,3,0,0,0,121,0,0,0,99,0,0,0,9,0,0,0,0,0,0,192,0,0,0,0,0,4,0,0,100,0,0,0,101,0,0,0,10,0,0,0,4,0,0,0,121,0,0,0,99,0,0,0,11,0,0,0,0,0,0,192,3,0,0,0,216,23,0,0,5,0,0,0,0,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,172,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,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,181,91,0,0,0,0,0,0,16,4,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,18,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,56,4,0,0,102,0,0,0,106,0,0,0,104,0,0,0,105,0,0,0,18,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,72,4,0,0,107,0,0,0,108,0,0,0,123,0,0,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,47,97,116,116,114,105,98,117,116,101,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,99,99,0,78,53,100,114,97,99,111,50,56,65,116,116,114,105,98,117,116,101,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,49,56,65,116,116,114,105,98,117,116,101,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,51,48,65,116,116,114,105,98,117,116,101,81,117,97,110,116,105,122,97,116,105,111,110,84,114,97,110,115,102,111,114,109,69,0,105,115,95,105,110,105,116,105,97,108,105,122,101,100,40,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,47,97,116,116,114,105,98,117,116,101,95,113,117,97,110,116,105,122,97,116,105,111,110,95,116,114,97,110,115,102,111,114,109,46,99,99,0,71,101,110,101,114,97,116,101,80,111,114,116,97,98,108,101,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,69,110,99,111,100,101,114,69,0,40,99,111,109,112,114,101,115,115,105,111,110,95,108,101,118,101,108,41,32,60,61,32,40,54,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,107,100,95,116,114,101,101,95,97,116,116,114,105,98,117,116,101,115,95,101,110,99,111,100,101,114,46,99,99,0,69,110,99,111,100,101,68,97,116,97,78,101,101,100,101,100,66,121,80,111,114,116,97,98,108,101,84,114,97,110,115,102,111,114,109,115,0,40,116,114,117,101,41,32,61,61,32,40,40,101,110,100,32,45,32,98,101,103,105,110,41,32,62,32,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,100,121,110,97,109,105,99,95,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,101,110,99,111,100,101,114,46,104,0,69,110,99,111,100,101,73,110,116,101,114,110,97,108,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,100,105,114,101,99,116,95,98,105,116,95,101,110,99,111,100,101,114,46,104,0,40,116,114,117,101,41,32,61,61,32,40,101,110,100,32,45,32,98,101,103,105,110,32,33,61,32,48,41,0,71,101,116,65,120,105,115,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,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,69,110,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,69,110,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,69,110,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,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,69,110,99,111,100,101,114,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,51,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,110,116,101,114,102,97,99,101,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,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,119,114,97,112,95,116,114,97,110,115,102,111,114,109,95,98,97,115,101,46,104,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,117,115,101,95,98,117,105,108,116,95,105,110,95,97,116,116,114,105,98,117,116,101,95,99,111,109,112,114,101,115,115,105,111,110,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,69,110,99,111,100,101,114,69,0,40,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,32,37,32,50,41,32,61,61,32,40,49,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,98,97,115,101,46,104,0,115,101,116,95,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,0,40,113,41,32,62,61,32,40,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,110,111,114,109,97,108,95,99,111,109,112,114,101,115,115,105,111,110,95,117,116,105,108,115,46,104,0,83,101,116,81,117,97,110,116,105,122,97,116,105,111,110,66,105,116,115,0,40,113,41,32,60,61,32,40,51,48,41,0,102,97,108,115,101,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,115,101,113,117,101,110,116,105,97,108,95,110,111,114,109,97,108,95,97,116,116,114,105,98,117,116,101,95,101,110,99,111,100,101,114,46,104,0,67,114,101,97,116,101,73,110,116,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,32,42,32,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,101,110,99,111,100,105,110,103,95,116,114,97,110,115,102,111,114,109,46,104,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,32,42,32,50,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,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,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,115,73,110,68,105,97,109,111,110,100,0,40,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,120,41,32,60,61,32,40,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,40,42,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,118,101,114,116,68,105,97,109,111,110,100,0,40,42,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,116,104,105,115,45,62,73,115,73,110,105,116,105,97,108,105,122,101,100,40,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,97,114,101,97,46,104,0,67,111,109,112,117,116,101,80,114,101,100,105,99,116,101,100,86,97,108,117,101,0,40,110,111,114,109,97,108,46,65,98,115,83,117,109,40,41,41,32,60,61,32,40,117,112,112,101,114,95,98,111,117,110,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,98,97,115,101,46,104,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,67,111,114,110,101,114,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,68,97,116,97,73,100,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,101,110,99,111,100,101,114,46,104,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,86,97,108,117,101,115,0,40,110,117,109,95,99,111,109,112,111,110,101,110,116,115,41,32,61,61,32,40,50,41,0,40,112,114,101,100,95,110,111,114,109,97,108,95,51,100,46,65,98,115,83,117,109,40,41,41,32,61,61,32,40,111,99,116,97,104,101,100,114,111,110,95,116,111,111,108,95,98,111,120,95,46,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,48,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,49,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,50,93,41,41,32,61,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,116,101,103,101,114,86,101,99,116,111,114,84,111,81,117,97,110,116,105,122,101,100,79,99,116,97,104,101,100,114,97,108,67,111,111,114,100,115,0,40,105,41,32,61,61,32,40,48,41,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,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,112,111,114,116,97,98,108,101,95,101,110,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,52,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,101,110,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,51,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,69,110,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,69,110,99,111,100,101,114,69,0,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,0,101,110,99,111,100,105,110,103,95,115,112,101,101,100,0,100,101,99,111,100,105,110,103,95,115,112,101,101,100,0,113,117,97,110,116,105,122,97,116,105,111,110,95,111,114,105,103,105,110,0,113,117,97,110,116,105,122,97,116,105,111,110,95,114,97,110,103,101,0,32,0,101,110,99,111,100,105,110,103,95,109,101,116,104,111,100,0,113,117,97,110,116,105,122,97,116,105,111,110,95,98,105,116,115,0,73,110,118,97,108,105,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,46,0,115,116,97,110,100,97,114,100,95,101,100,103,101,98,114,101,97,107,101,114,0,112,114,101,100,105,99,116,105,118,101,95,101,100,103,101,98,114,101,97,107,101,114,0,101,100,103,101,98,114,101,97,107,101,114,95,109,101,116,104,111,100,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,69,110,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,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,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,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,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,115,112,108,105,116,95,109,101,115,104,95,111,110,95,115,101,97,109,115,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,69,110,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,69,110,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,69,110,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,69,110,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,69,110,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,49,49,77,101,115,104,69,110,99,111,100,101,114,69,0,99,111,109,112,114,101,115,115,95,99,111,110,110,101,99,116,105,118,105,116,121,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,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,69,110,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,69,110,99,111,100,101,114,69,0,73,110,118,97,108,105,100,32,105,110,112,117,116,32,103,101,111,109,101,116,114,121,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,109,101,116,97,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,101,110,99,111,100,101,114,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,105,110,116,101,114,110,97,108,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,103,101,111,109,101,116,114,121,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,112,111,105,110,116,32,97,116,116,114,105,98,117,116,101,115,46,0,68,82,65,67,79,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,69,110,99,111,100,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,69,110,99,111,100,101,114,69,0,40,97,110,115,95,46,115,116,97,116,101,41,32,62,61,32,40,108,95,114,97,110,115,95,98,97,115,101,41,0,119,114,105,116,101,95,101,110,100,0,40,97,110,115,95,46,115,116,97,116,101,41,32,60,32,40,108,95,114,97,110,115,95,98,97,115,101,32,42,32,50,53,54,41,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,101,110,99,111,100,101,114,95,98,117,102,102,101,114,46,104,0,80,117,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,114,97,110,115,95,98,105,116,95,101,110,99,111,100,101,114,46,99,99,0,69,110,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,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,78,53,100,114,97,99,111,52,77,101,115,104,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,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,97,116,116,95,105,100,32,62,61,32,48,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,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,40,99,111,109,112,114,101,115,115,105,111,110,95,108,101,118,101,108,95,41,32,60,61,32,40,54,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,102,108,111,97,116,95,112,111,105,110,116,115,95,116,114,101,101,95,101,110,99,111,100,101,114,46,99,99,0,70,108,111,97,116,80,111,105,110,116,115,84,114,101,101,69,110,99,111,100,101,114,0,69,110,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,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([99,111,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,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,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,105,110,102,105,110,105,116,121,0,110,97,110,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,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,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,33,34,98,97,115,105,99,95,115,116,114,105,110,103,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,37,100,0,37,102,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+20480);var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;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){Module["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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;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;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}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["___divdi3"]=___divdi3;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["___udivdi3"]=___udivdi3;var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;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 ___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;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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 ___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;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_getspecific":_pthread_getspecific,"_pthread_setspecific":_pthread_setspecific,"___cxa_throw":___cxa_throw,"_pthread_key_create":_pthread_key_create,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___cxa_begin_catch":___cxa_begin_catch,"___syscall146":___syscall146,"_pthread_once":_pthread_once,"_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,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM -var asm=(function(global,env,buffer) { -"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_iiii;var ga=env.invoke_viiiii;var ha=env.invoke_vi;var ia=env.invoke_vii;var ja=env.invoke_iiiiiii;var ka=env.invoke_ii;var la=env.invoke_viii;var ma=env.invoke_v;var na=env.invoke_viiiiii;var oa=env.invoke_iii;var pa=env.invoke_viiii;var qa=env._pthread_getspecific;var ra=env._pthread_setspecific;var sa=env.___cxa_throw;var ta=env._pthread_key_create;var ua=env.___syscall6;var va=env.___setErrNo;var wa=env._abort;var xa=env.___cxa_begin_catch;var ya=env.___syscall146;var za=env._pthread_once;var Aa=env._emscripten_memcpy_big;var Ba=env.___gxx_personality_v0;var Ca=env.___syscall140;var Da=env.___resumeException;var Ea=env.___cxa_find_matching_catch;var Fa=env.___assert_fail;var Ga=env.___cxa_pure_virtual;var Ha=env.___cxa_allocate_exception;var Ia=env.__ZSt18uncaught_exceptionv;var Ja=$(0);const Ka=$(0);function La(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +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]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoEncoderModule!=="undefined"?DracoEncoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);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};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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}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"]};function ccall(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)}}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 stop;ptr=ret;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){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+24400;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,jBsAAJccAAC0GwAAcBwAAAgAAAAAAAAAtBsAALQcAAAIAAAAAAAAAIwbAAB+HQAAtBsAAL8fAAAwAAAAAAAAAIwbAADhHwAAtBsAAAYgAAAwAAAAAAAAALQbAABXLQAASAAAAAAAAAC0GwAANiAAAIAAAAAAAAAAtBsAAI8gAACQAAAAAAAAALQbAADjIAAAoAAAAAAAAAC0GwAAFyEAALAAAAAAAAAAjBsAAEIhAAC0GwAAZiEAAMgAAAAAAAAAjBsAAAQiAAC0GwAAOyMAAOAAAAAAAAAAtBsAANMjAACAAAAAAAAAALQbAABcJAAA4AAAAAAAAAC0GwAA9iQAAOAAAAAAAAAAtBsAAIglAADgAAAAAAAAALQbAAAuJgAA4AAAAAAAAAC0GwAAySYAAOAAAAAAAAAAtBsAAF8nAABQAQAAAAAAAIwbAAAKKAAAtBsAALUoAABoAQAAAAAAALQbAABaKQAAgAAAAAAAAAC0GwAA8CkAAGgBAAAAAAAAtBsAAJcqAABoAQAAAAAAALQbAAA2KwAAaAEAAAAAAAC0GwAA6SsAAGgBAAAAAAAAtBsAAJEsAABoAQAAAAAAALQbAAD/RAAAYAAAAAAAAAC0GwAAiTIAAOgBAAAAAAAAtBsAAPoyAACQAAAAAAAAALQbAAAeNQAACAIAAAAAAACMGwAA1DUAALQbAABDOAAAIAIAAAAAAAC0GwAA8zgAAOgBAAAAAAAAtBsAADo6AAAgAgAAAAAAALQbAACJOwAAIAIAAAAAAAC0GwAAMzwAACACAAAAAAAAtBsAAPE8AAAgAgAAAAAAALQbAACkPQAAIAIAAAAAAAC0GwAAUj4AAJACAAAAAAAAjBsAABU/AAC0GwAA2D8AAKgCAAAAAAAAtBsAAJVAAADoAQAAAAAAALQbAABDQQAAqAIAAAAAAAC0GwAAAkIAAKgCAAAAAAAAtBsAALlCAACoAgAAAAAAALQbAACEQwAAqAIAAAAAAAC0GwAAREQAAKgCAAAAAAAAtBsAACpFAABgAAAAAAAAALQbAAAuRgAAmAMAAAAAAAC0GwAAMEkAAIADAAAAAAAAjBsAAE9GAAC0GwAAl0YAAFADAAAAAAAAjBsAAGFHAACMGwAAe0cAALQbAAC2RwAAUAMAAAAAAAC0GwAAc0gAAFADAAAAAAAAjBsAAHxJAAC0GwAAqkkAAIADAAAAAAAAtBsAAP1JAADIAwAAAAAAALQbAABDSgAAmAMAAAAAAAC0GwAAKUoAAFADAAAAAAAAjBsAAGNKAAC0GwAAOUsAAMgDAAAAAAAAtBsAAFtLAADIAwAAAAAAALQbAACnTQAAAAQAAAAAAACMGwAAo08AAIwbAABcWwAAtBsAALxbAAAgBAAAAAAAALQbAABpWwAAMAQAAAAAAACMGwAAilsAALQbAACXWwAAEAQAAAAAAAC0GwAAnlwAAAgEAAAAAAAAtBsAAK5cAABIBAAAAAAAALQbAADjXAAAIAQAAAAAAAC0GwAAv1wAAGgEAAAAAAAAAAAAABAAAAABAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAgAAAAAwAAAAQAAAACAAAAAgAAAAIAAAAAAADAAAAAwAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAEAAAAEAAAABQAAAAIAAAAGAAAABwAAAAMAAAABAAAACAAAAAAAAAA4AAAABQAAAAcAAAABAAAAAwAAAAQAAAAEAAAABQAAAAIAAAAGAAAABwAAAAMAAAAJAAAACgAAAAAAAABIAAAACAAAAAkAAAADAAAACwAAAAwAAAAEAAAADQAAAAUAAAAGAAAADgAAAA8AAAAFAAAAAAAAAFAAAAAKAAAACwAAAAYAAAAQAAAABwAAABEAAAASAAAABwAAABMAAAAUAAAACAAAABUAAAAWAAAACQAAAAEAAAAAAAAAYAAAAAwAAAANAAAACAAAAAsAAAAXAAAABAAAAA0AAAAFAAAACgAAAA4AAAAPAAAACQAAAAIAAAAKAAAAAAAAwAAAAACAAAAADgAAAA8AAAABAAAACwAAAAEAAAAMAAAAGAAAABkAAAANAAAADgAAABoAAAABAAAAAAAAAHAAAAAOAAAAEAAAAA8AAAALAAAAEAAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGgAAAAEAAAAAAAAAMAEAAA4AAAARAAAAEQAAAAsAAAASAAAADAAAABgAAAAZAAAADQAAAA4AAAAaAAAAAgAAAAAAAAAgAQAADgAAABIAAAATAAAACwAAABQAAAAMAAAAGAAAABkAAAANAAAADgAAABoAAAADAAAAAAAAABABAAATAAAAFAAAABUAAAALAAAAFgAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGwAAAAQAAAAAAAAAAAEAABUAAAAWAAAAFwAAAAsAAAAYAAAAGQAAABwAAAAdAAAADQAAAA4AAAAeAAAABQAAAAAAAADwAAAAFwAAABgAAAAaAAAACwAAABsAAAAcAAAAHwAAACAAAAANAAAADgAAACEAAAAGAAAAAAAAANAAAAAZAAAAGgAAAB0AAAALAAAAHgAAAB8AAAAiAAAAIwAAAA0AAAAOAAAAJAAAAAcAAAAAAAAAuAAAABsAAAAcAAAAJQAAACAAAAADAAAAAAAAALgBAAAOAAAAHQAAACEAAAALAAAAIgAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGgAAAAgAAAAAAAAAqAEAAA4AAAAeAAAAIwAAAAsAAAAkAAAADAAAABgAAAAZAAAADQAAAA4AAAAaAAAACQAAAAAAAACYAQAAHwAAACAAAAAlAAAACwAAACYAAAAMAAAAGAAAABkAAAANAAAADgAAACYAAAAKAAAAAAAAAIgBAAAhAAAAIgAAACcAAAALAAAAKAAAACkAAAAnAAAAKAAAAA0AAAAOAAAAKQAAAAsAAAAAAAAAeAEAACMAAAAkAAAAKgAAAAsAAAArAAAALAAAACoAAAArAAAADQAAAA4AAAAsAAAADAAAAAAAAABYAQAAJQAAACYAAAAtAAAACwAAAC4AAAAvAAAALQAAAC4AAAANAAAADgAAAC8AAAANAAAAAAAAAEABAAAnAAAAKAAAADAAAAAwAAAABAAAAAAAAADIAQAAKQAAACoAAAALAAAACwAAABcAAAAEAAAAMQAAADEAAAAyAAAADgAAAA8AAAAJAAAABQAAAAwAAAAAAAAA2AEAACsAAAAsAAAAMwAAADQAAAA1AAAANgAAADIAAAAzAAAANwAAADgAAAA0AAAADgAAAAAAAABwAgAAKwAAAC0AAAA5AAAANAAAADoAAAA2AAAAMgAAADMAAAA3AAAAOAAAADQAAAAPAAAAAAAAAGACAAArAAAALgAAADsAAAA0AAAAPAAAADYAAAAyAAAAMwAAADcAAAA4AAAANAAAABAAAAAAAAAAUAIAAC8AAAAwAAAAPQAAADQAAAA+AAAANgAAADIAAAAzAAAANwAAADgAAAA1AAAAEQAAAAAAAABAAgAAMQAAADIAAAA/AAAANAAAAEAAAABBAAAANgAAADcAAAA3AAAAOAAAADgAAAASAAAAAAAAADACAAAzAAAANAAAAEIAAAA0AAAAQwAAAEQAAAA5AAAAOgAAADcAAAA4AAAAOwAAABMAAAAAAAAAEAIAADUAAAA2AAAARQAAADQAAABGAAAARwAAADwAAAA9AAAANwAAADgAAAA+AAAAFAAAAAAAAAD4AQAANwAAADgAAAA/AAAASAAAAAYAAAAAAAAA+AIAACsAAAA5AAAASQAAADQAAABKAAAANgAAADIAAAAzAAAANwAAADgAAAA0AAAAFQAAAAAAAADoAgAAKwAAADoAAABLAAAANAAAAEwAAAA2AAAAMgAAADMAAAA3AAAAOAAAADQAAAAWAAAAAAAAANgCAAA7AAAAPAAAAE0AAAA0AAAATgAAADYAAAAyAAAAMwAAADcAAAA4AAAAQAAAABcAAAAAAAAAyAIAAD0AAAA+AAAATwAAADQAAABQAAAAUQAAAEEAAABCAAAANwAAADgAAABDAAAAGAAAAAAAAAC4AgAAPwAAAEAAAABSAAAANAAAAFMAAABUAAAARAAAAEUAAAA3AAAAOAAAAEYAAAAZAAAAAAAAAJgCAABBAAAAQgAAAFUAAAA0AAAAVgAAAFcAAABHAAAASAAAADcAAAA4AAAASQAAABoAAAAAAAAAgAIAAEMAAABEAAAASgAAAFgAAAAHAAAAAAAAAAgDAABFAAAARgAAAA0AAAALAAAAFwAAAAQAAABLAAAAWQAAAFoAAAAOAAAADwAAAAkAAAACAAAADgAAAAAAAAAYAwAARwAAAEgAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAATAAAAE0AAABiAAAAYwAAAE4AAABPAAAAZAAAAAAAAAAoAwAASQAAAEoAAABQAAAAUQAAAFIAAABTAAAAVAAAAGUAAABmAAAAVQAAAGcAAAABAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAABAAwAASwAAAEwAAABWAAAAaAAAAAAAAAA4AwAATQAAAE4AAABPAAAAAAAAwAAAAABgAwAAUAAAAFEAAABXAAAAaQAAAAAAAABYAwAAUgAAAFMAAABUAAAAAAAAAHADAABVAAAAVgAAAFgAAABqAAAAAAAAAIgDAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAawAAAGwAAABeAAAAbQAAAAAAAAABAAAABQAAAAIAAAAFAAAAAwAAAAUAAAAEAAAAAAAAAJgDAABZAAAAWgAAAFsAAAABAAAAbgAAAF4AAABfAAAAYAAAAGEAAAABAAAAXwAAAGIAAABvAAAAYAAAAGEAAAABAAAAAAAAAKgDAABZAAAAWwAAAFsAAABwAAAAbgAAAF4AAABfAAAAYAAAAGEAAABiAAAAXwAAAGIAAABvAAAAYAAAAGEAAABxAAAAAAAAALgDAABcAAAAXQAAAGMAAAByAAAAAAAAAMgDAABZAAAAXgAAAHMAAAABAAAAbgAAAF4AAAB0AAAAYAAAAGEAAAABAAAAXwAAAGIAAAAAAAAA0AMAAFkAAABfAAAAcwAAAHUAAABuAAAAXgAAAHYAAABgAAAAYQAAAGQAAABfAAAAYgAAAAAAAADgAwAAWQAAAGAAAABzAAAAdwAAAG4AAABeAAAAeAAAAGAAAABhAAAAZQAAAF8AAABiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAVlVVVQIAAAAAAAAAAgAAAJqZmZkDAAAAVlVVVQMAAAAlSZIkAwAAAAAAAAADAAAAyHEcxwQAAACamZmZBAAAAEYXXXQEAAAAVlVVVQQAAAA8sRM7BAAAACVJkiQEAAAAEhEREQQAAAAAAAAABAAAAOLh4eEFAAAAyHEcxwUAAADLayivBQAAAJqZmZkFAAAAh2EYhgUAAABGF110BQAAAJGFLGQFAAAAVlVVVQUAAAB7FK5HBQAAADyxEzsFAAAA20toLwUAAAAlSZIkBQAAABKWexoFAAAAEhEREQUAAACFEEIIBQAAAAAAAAAFAAAACB988AYAAADi4eHhBgAAANVBHdQGAAAAyHEcxwYAAABNkc+6BgAAAMtrKK8GAAAApUEapAYAAACamZmZBgAAAPoYnI8GAAAAh2EYhgYAAAAY9AV9BgAAAEYXXXQGAAAAbcEWbAYAAACRhSxkBgAAALqCmFwGAAAAVlVVVQYAAABzCl5OBgAAAHsUrkcGAAAAQkFBQQYAAAA8sRM7BgAAALPPITUGAAAA20toLwYAAACfEuQpBgAAACVJkiQGAAAA3UdwHwYAAAASlnsaBgAAAPjlsRUGAAAAEhEREQYAAAD8FJcMBgAAAIUQQggGAAAABUEQBAYAAAAAAAAABgAAAPmBH/gHAAAACB988AcAAADAGhPpBwAAAOLh4eEHAAAAbAfm2gcAAADVQR3UBwAAAJFohc0HAAAAyHEcxwcAAAA5cODABwAAAE2Rz7oHAAAATxvotAcAAADLayivBwAAAAf2jqkHAAAApUEapAcAAABS6cieBwAAAJqZmZkHAAAAzg+LlAcAAAD6GJyPBwAAAPeQy4oHAAAAh2EYhgcAAACCgYGBBwAAABj0BX0HAAAAGMikeAcAAABGF110BwAAAMEFLnAHAAAAbcEWbAcAAABpgRZoBwAAAJGFLGQHAAAABhZYYAcAAAC6gphcBwAAAAkj7VgHAAAAVlVVVQcAAACvftBRBwAAAHMKXk4HAAAABmr9SgcAAAB7FK5HBwAAAFeGb0QHAAAAQkFBQQcAAADPyyI+BwAAADyxEzsHAAAAOYETOAcAAACzzyE1BwAAAKM0PjIHAAAA20toLwcAAADZtJ8sBwAAAJ8S5CkHAAAAiQs1JwcAAAAlSZIkBwAAABN4+yEHAAAA3UdwHwcAAADbavAcBwAAABKWexoHAAAAGYERGAcAAAD45bEVBwAAABSBXBMHAAAAEhEREQcAAAC/Vs8OBwAAAPwUlwwHAAAApxBoCgcAAACFEEIIBwAAADDdJAYHAAAABUEQBAcAAAARCAQCBwAAAAAAAAAHAAAAIPAH/AgAAAD5gR/4CAAAAOVZRvQIAAAACB988AgAAAAxe8DsCAAAAMAaE+kIAAAAkaxz5QgAAADi4eHhCAAAAEBuXd4IAAAAbAfm2ggAAABMZXvXCAAAANVBHdQIAAAA91jL0AgAAACRaIXNCAAAAFYwS8oIAAAAyHEcxwgAAAAd8PjDCAAAADlw4MAIAAAAmrjSvQgAAABNkc+6CAAAAN7D1rcIAAAATxvotAgAAAAHZAOyCAAAAMtrKK8IAAAArQFXrAgAAAAH9o6pCAAAAG4a0KYIAAAApUEapAgAAACYP22hCAAAAFLpyJ4IAAAA7xQtnAgAAACamZmZCAAAAIFPDpcIAAAAzg+LlAgAAACetA+SCAAAAPoYnI8IAAAA1BgwjQgAAAD3kMuKCAAAAAtfbogIAAAAh2EYhggAAACsd8mDCAAAAIKBgYEIAAAA0V9AfwgAAAAY9AV9CAAAAI8g0noIAAAAGMikeAgAAABEzn12CAAAAEYXXXQIAAAA9YdCcggAAADBBS5wCAAAALV2H24IAAAAbcEWbAgAAAAWzRNqCAAAAGmBFmgIAAAApsYeZggAAACRhSxkCAAAAHGnP2IIAAAABhZYYAgAAACOu3VeCAAAALqCmFwIAAAAsVbAWggAAAAJI+1YCAAAAMbTHlcIAAAAVlVVVQgAAACQlJBTCAAAAK9+0FEIAAAAUQEVUAgAAABzCl5OCAAAAHOIq0wIAAAABmr9SggAAAA8nlNJCAAAAHsUrkcIAAAAgLwMRggAAABXhm9ECAAAAF5i1kIIAAAAQkFBQQgAAAD8E7A/CAAAAM/LIj4IAAAASFqZPAgAAAA8sRM7CAAAAMLCkTkIAAAAOYETOAgAAAA+35g2CAAAALPPITUIAAAAtkWuMwgAAACjND4yCAAAABSQ0TAIAAAA20toLwgAAAAFXAIuCAAAANm0nywIAAAA0UpAKwgAAACfEuQpCAAAACkBiygIAAAAiQs1JwgAAAAJJ+IlCAAAACVJkiQIAAAAimdFIwgAAAATePshCAAAAMdwtCAIAAAA3UdwHwgAAAC08y4eCAAAANtq8BwIAAAABaS0GwgAAAASlnsaCAAAAAk4RRkIAAAAGYERGAgAAACVaOAWCAAAAPjlsRUIAAAA4fCFFAgAAAAUgVwTCAAAAHaONRIIAAAAEhEREQgAAAAQAe8PCAAAAL9Wzw4IAAAAiQqyDQgAAAD8FJcMCAAAAMNufgsIAAAApxBoCggAAACR81MJCAAAAIUQQggIAAAApWAyBwgAAAAw3SQGCAAAAH5/GQUIAAAABUEQBAgAAABSGwkDCAAAABEIBAIIAAAAAgEBAQgAAAAAAADAAAAAAPADAABhAAAAYgAAAAgAAAADAAAAeQAAAGMAAAAJAAAAAAAAwAAAAAAABAAAZAAAAGUAAAAKAAAABAAAAHkAAABjAAAACwAAAAAAAMADAAAA6BcAAAUAAAAAAAAAAAAAAHoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAATF8AAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAU1sAAAAAAAAQBAAAZgAAAGcAAABoAAAAaQAAABIAAAABAAAAAQAAAAEAAAAAAAAAOAQAAGYAAABqAAAAaAAAAGkAAAASAAAAAgAAAAIAAAACAAAAAAAAAEgEAABrAAAAbAAAAHsAAAAAAAAAWAQAAGsAAABtAAAAewAAAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vYXR0cmlidXRlcy9hdHRyaWJ1dGVfb2N0YWhlZHJvbl90cmFuc2Zvcm0uY2MATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAGlzX2luaXRpYWxpemVkKCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9hdHRyaWJ1dGVzL2F0dHJpYnV0ZV9xdWFudGl6YXRpb25fdHJhbnNmb3JtLmNjAEdlbmVyYXRlUG9ydGFibGVBdHRyaWJ1dGUATjVkcmFjbzE3QXR0cmlidXRlc0VuY29kZXJFAChjb21wcmVzc2lvbl9sZXZlbCkgPD0gKDYpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9rZF90cmVlX2F0dHJpYnV0ZXNfZW5jb2Rlci5jYwBFbmNvZGVEYXRhTmVlZGVkQnlQb3J0YWJsZVRyYW5zZm9ybXMAKHRydWUpID09ICgoZW5kIC0gYmVnaW4pID4gMCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9wb2ludF9jbG91ZC9hbGdvcml0aG1zL2R5bmFtaWNfaW50ZWdlcl9wb2ludHNfa2RfdHJlZV9lbmNvZGVyLmgARW5jb2RlSW50ZXJuYWwAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2JpdF9jb2RlcnMvZGlyZWN0X2JpdF9lbmNvZGVyLmgAKHRydWUpID09IChlbmQgLSBiZWdpbiAhPSAwKQBHZXRBeGlzAE1ldGhvZCBub3Qgc3VwcG9ydGVkLiAKAE41ZHJhY28yM0tkVHJlZUF0dHJpYnV0ZXNFbmNvZGVyRQBONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRW5jb2RlckUATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZUVuY29kZXJzQ29udHJvbGxlckUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWRFbmNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZUVuY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL3ByZWRpY3Rpb25fc2NoZW1lX3dyYXBfdHJhbnNmb3JtX2Jhc2UuaABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQB1c2VfYnVpbHRfaW5fYXR0cmlidXRlX2NvbXByZXNzaW9uAE41ZHJhY28zM1NlcXVlbnRpYWxJbnRlZ2VyQXR0cmlidXRlRW5jb2RlckUAKG1heF9xdWFudGl6ZWRfdmFsdWUgJSAyKSA9PSAoMSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9wcmVkaWN0aW9uX3NjaGVtZV9ub3JtYWxfb2N0YWhlZHJvbl90cmFuc2Zvcm1fYmFzZS5oAHNldF9tYXhfcXVhbnRpemVkX3ZhbHVlAChxKSA+PSAoMikAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL25vcm1hbF9jb21wcmVzc2lvbl91dGlscy5oAFNldFF1YW50aXphdGlvbkJpdHMAKHEpIDw9ICgzMCkAZmFsc2UAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3NlcXVlbnRpYWxfbm9ybWFsX2F0dHJpYnV0ZV9lbmNvZGVyLmgAQ3JlYXRlSW50UHJlZGljdGlvblNjaGVtZQAocHJlZF92YWxzWzBdKSA8PSAodGhpcy0+Y2VudGVyX3ZhbHVlKCkgKiAyKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL3ByZWRpY3Rpb25fc2NoZW1lX25vcm1hbF9vY3RhaGVkcm9uX2Nhbm9uaWNhbGl6ZWRfZW5jb2RpbmdfdHJhbnNmb3JtLmgAQ29tcHV0ZUNvcnJlY3Rpb24AKHByZWRfdmFsc1sxXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKG9yaWdfdmFsc1swXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKG9yaWdfdmFsc1sxXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKDApIDw9IChwcmVkX3ZhbHNbMF0pACgwKSA8PSAocHJlZF92YWxzWzFdKQAoMCkgPD0gKG9yaWdfdmFsc1swXSkAKDApIDw9IChvcmlnX3ZhbHNbMV0pAChzKSA8PSAoY2VudGVyX3ZhbHVlXykASXNJbkRpYW1vbmQAKHQpIDw9IChjZW50ZXJfdmFsdWVfKQAocykgPj0gKC1jZW50ZXJfdmFsdWVfKQAodCkgPj0gKC1jZW50ZXJfdmFsdWVfKQAoeCkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikATWFrZVBvc2l0aXZlACgqcykgPD0gKGNlbnRlcl92YWx1ZV8pAEludmVydERpYW1vbmQAKCp0KSA8PSAoY2VudGVyX3ZhbHVlXykAKCpzKSA+PSAoLWNlbnRlcl92YWx1ZV8pACgqdCkgPj0gKC1jZW50ZXJfdmFsdWVfKQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAHRoaXMtPklzSW5pdGlhbGl6ZWQoKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfZ2VvbWV0cmljX25vcm1hbF9wcmVkaWN0b3JfYXJlYS5oAENvbXB1dGVQcmVkaWN0ZWRWYWx1ZQAobm9ybWFsLkFic1N1bSgpKSA8PSAodXBwZXJfYm91bmQpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX3ByZWRpY3Rvcl9iYXNlLmgAR2V0UG9zaXRpb25Gb3JDb3JuZXIATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX2VuY29kZXIuaABDb21wdXRlQ29ycmVjdGlvblZhbHVlcwAobnVtX2NvbXBvbmVudHMpID09ICgyKQAocHJlZF9ub3JtYWxfM2QuQWJzU3VtKCkpID09IChvY3RhaGVkcm9uX3Rvb2xfYm94Xy5jZW50ZXJfdmFsdWUoKSkAKHN0ZDo6YWJzKGludF92ZWNbMF0pICsgc3RkOjphYnMoaW50X3ZlY1sxXSkgKyBzdGQ6OmFicyhpbnRfdmVjWzJdKSkgPT0gKGNlbnRlcl92YWx1ZV8pAEludGVnZXJWZWN0b3JUb1F1YW50aXplZE9jdGFoZWRyYWxDb29yZHMAKGkpID09ICgwKQBHZXRQYXJlbnRBdHRyaWJ1dGVUeXBlAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfdGV4X2Nvb3Jkc19wb3J0YWJsZV9lbmNvZGVyLmgATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV90ZXhfY29vcmRzX2VuY29kZXIuaABONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVFbmNvZGVyRQBwcmVkaWN0aW9uX3NjaGVtZQBlbmNvZGluZ19zcGVlZABkZWNvZGluZ19zcGVlZABxdWFudGl6YXRpb25fb3JpZ2luAHF1YW50aXphdGlvbl9yYW5nZQAgAGVuY29kaW5nX21ldGhvZABxdWFudGl6YXRpb25fYml0cwBJbnZhbGlkIGVuY29kaW5nIG1ldGhvZC4Ac3RhbmRhcmRfZWRnZWJyZWFrZXIAcHJlZGljdGl2ZV9lZGdlYnJlYWtlcgBlZGdlYnJlYWtlcl9tZXRob2QATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRW5jb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUAc3BsaXRfbWVzaF9vbl9zZWFtcwBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbEVuY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZUVuY29kZXJFRUUATjVkcmFjbzExTWVzaEVuY29kZXJFAGNvbXByZXNzX2Nvbm5lY3Rpdml0eQBONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAE41ZHJhY28yMU1lc2hTZXF1ZW50aWFsRW5jb2RlckUATjVkcmFjbzE3UG9pbnRDbG91ZEVuY29kZXJFAEludmFsaWQgaW5wdXQgZ2VvbWV0cnkuAEZhaWxlZCB0byBpbml0aWFsaXplIGVuY29kZXIuAEZhaWxlZCB0byBlbmNvZGUgaW50ZXJuYWwgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBnZW9tZXRyeSBkYXRhLgBGYWlsZWQgdG8gZW5jb2RlIHBvaW50IGF0dHJpYnV0ZXMuAEZhaWxlZCB0byBlbmNvZGUgbWV0YWRhdGEuAERSQUNPAE41ZHJhY28yM1BvaW50Q2xvdWRLZFRyZWVFbmNvZGVyRQBONWRyYWNvMjdQb2ludENsb3VkU2VxdWVudGlhbEVuY29kZXJFAChhbnNfLnN0YXRlKSA+PSAobF9yYW5zX2Jhc2UpAHdyaXRlX2VuZAAoYW5zXy5zdGF0ZSkgPCAobF9yYW5zX2Jhc2UgKiAyNTYpAChuYml0cykgPj0gKDApAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9lbmNvZGVyX2J1ZmZlci5oAFB1dEJpdHMAKG5iaXRzKSA8PSAoMzIpACh0cnVlKSA9PSAobmJpdHMgPD0gMzIpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9iaXRfY29kZXJzL3JhbnNfYml0X2VuY29kZXIuY2MARW5jb2RlTGVhc3RTaWduaWZpY2FudEJpdHMzMgAodHJ1ZSkgPT0gKG5iaXRzID4gMCkAKGFucy0+c3RhdGUpID49ICgoMTAyNHUgKiA0KSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2Fucy5oAGFuc193cml0ZV9lbmQAKGFucy0+c3RhdGUpIDwgKCgxMDI0dSAqIDQpICogMjU2KQBONWRyYWNvNE1lc2hFACgwKSA8PSAoZmFjZV9pZC52YWx1ZSgpKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL21lc2gvbWVzaC5oAGZhY2UAKGZhY2VfaWQudmFsdWUoKSkgPCAoc3RhdGljX2Nhc3Q8aW50PihmYWNlc18uc2l6ZSgpKSkAIWlkZW50aXR5X21hcHBpbmdfAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vYXR0cmlidXRlcy9wb2ludF9hdHRyaWJ1dGUuaABTZXRQb2ludE1hcEVudHJ5AGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAYXR0X2lkID49IDAAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9wb2ludF9jbG91ZC9wb2ludF9jbG91ZC5jYwBTZXRBdHRyaWJ1dGUATjVkcmFjbzEwUG9pbnRDbG91ZEUAKGNvbXByZXNzaW9uX2xldmVsXykgPD0gKDYpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vcG9pbnRfY2xvdWQvYWxnb3JpdGhtcy9mbG9hdF9wb2ludHNfdHJlZV9lbmNvZGVyLmNjAEZsb2F0UG9pbnRzVHJlZUVuY29kZXIARW5jb2RlUG9pbnRDbG91ZEtkVHJlZUludGVybmFsACgwKSA8PSAoYXR0X2lkKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL3BvaW50X2Nsb3VkL3BvaW50X2Nsb3VkLmgAYXR0cmlidXRlAChhdHRfaWQpIDwgKHN0YXRpY19jYXN0PGludDMyX3Q+KGF0dHJpYnV0ZXNfLnNpemUoKSkpABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABpbmZpbml0eQBuYW4AJWQAJWYAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 ___cxa_allocate_exception(size){return _malloc(size)}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){Module["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 ___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 ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}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 ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__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=Runtime.staticAlloc(4);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;var ASSERTIONS=false;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function Lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(c|0){case 0:{l=24;m=-149;i=4;break}case 1:{l=53;m=-1074;i=4;break}case 2:{l=53;m=-1074;i=4;break}default:e=0.0}a:do if((i|0)==4){o=a+4|0;n=a+100|0;do{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0}while((Ep(c)|0)!=0);b:do switch(c|0){case 43:case 45:{g=1-(((c|0)==45&1)<<1)|0;c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0;k=g;break b}else{c=Pi(a)|0;k=g;break b}}default:k=1}while(0);g=c;c=0;do{if((g|32|0)!=(b[23003+c>>0]|0))break;do if(c>>>0<7){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Pi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<8);c:do switch(c|0){case 8:break;case 3:{i=23;break}default:{j=(d|0)!=0;if(j&c>>>0>3)if((c|0)==8)break c;else{i=23;break c}d:do if(!c){c=0;do{if((g|32|0)!=(b[23012+c>>0]|0))break d;do if(c>>>0<2){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Pi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<3)}while(0);switch(c|0){case 3:{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;if((c|0)==40)c=1;else{if(!(f[n>>2]|0)){e=B;break a}f[o>>2]=(f[o>>2]|0)+-1;e=B;break a}while(1){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0}else g=Pi(a)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;c=c+1|0}if((g|0)==41){e=B;break a}g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!j){o=aq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}if(!c){e=B;break a}while(1){c=c+-1|0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!c){e=B;break a}}}case 0:{if((g|0)==48){c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;if((c|32|0)==120){e=+Ec(a,l,m,k,d);break a}if(!(f[n>>2]|0))c=48;else{f[o>>2]=(f[o>>2]|0)+-1;c=48}}else c=g;e=+Jb(a,c,l,m,k,d);break a}default:{if(f[n>>2]|0)f[o>>2]=(f[o>>2]|0)+-1;o=aq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}}}}while(0);if((i|0)==23){g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if((d|0)!=0&c>>>0>3)do{if(!g)f[o>>2]=(f[o>>2]|0)+-1;c=c+-1|0}while(c>>>0>3)}e=+$($(k|0)*$(C))}while(0);return +e}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))zi(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))zi(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))zi(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){zi(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Nc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+48|0;o=t+32|0;n=t+28|0;r=t+4|0;p=t;l=t+16|0;q=t+36|0;if((c|0)<0){s=0;u=t;return s|0}if(!c){s=1;u=t;return s|0}g=(d|0)>1;m=g?d:1;f[r>>2]=0;s=r+4|0;f[s>>2]=0;f[r+8>>2]=0;j=r+8|0;if(c>>>0>1073741823){t=Ha(4)|0;Pp(t);sa(t|0,1096,107)}k=_m(c<<2)|0;i=k;f[r>>2]=i;f[s>>2]=i;f[j>>2]=k+(c<<2);f[p>>2]=0;a:do if(g){h=0;do{d=1;g=f[a+(h<<2)>>2]|0;do{k=f[a+(d+h<<2)>>2]|0;g=g>>>0>>0?k:g;d=d+1|0}while((d|0)!=(m|0));d=(_(g|0)|0)^31;if(g>>>0>(f[p>>2]|0)>>>0)f[p>>2]=g;g=(g|0)==0?1:d+1|0;f[o>>2]=g;d=f[s>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=g;f[s>>2]=d+4}else zi(r,o);h=h+m|0}while((h|0)<(c|0))}else{i=0;d=0;while(1){g=f[a+(d<<2)>>2]|0;h=(_(g|0)|0)^31;if(g>>>0>i>>>0)f[p>>2]=g;h=(g|0)==0?1:h+1|0;f[o>>2]=h;g=f[s>>2]|0;if(g>>>0<(f[j>>2]|0)>>>0){f[g>>2]=h;f[s>>2]=g+4}else zi(r,o);d=d+m|0;if((d|0)>=(c|0))break a;i=f[p>>2]|0}}while(0);yj(l,r);k=l+4|0;g=f[k>>2]|0;h=f[l>>2]|0;j=h;i=g-h>>2;if((g|0)==(h|0)){g=0;d=0}else{g=0;d=0;h=0;do{g=Zn(f[j+(h<<2)>>2]|0,0,g|0,d|0)|0;d=I;h=h+1|0}while(h>>>0>>0)}v=fg(j,i,32,o)|0;j=I;i=f[o>>2]<<3;i=tn(i|0,((i|0)<0)<<31>>31|0,1)|0;h=I;d=Zm(g|0,d|0,m|0,0)|0;d=Zn(v|0,j|0,d|0,I|0)|0;h=Zn(d|0,I|0,i|0,h|0)|0;i=I;d=f[l>>2]|0;if(d|0){g=f[k>>2]|0;if((g|0)!=(d|0))f[k>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}v=f[p>>2]|0;k=fg(a,c,v,o)|0;j=f[o>>2]|0;l=((v-j|0)/64|0)+j<<3;j=j<<3;k=Zn(j|0,((j|0)<0)<<31>>31|0,k|0,I|0)|0;l=Zn(k|0,I|0,l|0,((l|0)<0)<<31>>31|0)|0;k=I;if((i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0|((_((v>>>0>1?v:1)|0)|0)^30)>>>0>17){b[q>>0]=0;v=e+16|0;p=f[v+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[v>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,q,q+1|0)|0}h=Jc(a,c,m,r,e)|0}else{b[q>>0]=1;v=e+16|0;m=f[v+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[v>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,q,q+1|0)|0}h=id(a,c,p,e)|0}d=f[r>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}v=h;u=t;return v|0}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+16|0;v=w+8|0;l=w+4|0;p=w;q=a+124|0;f[q>>2]=(f[q>>2]|0)+1;q=a+88|0;m=a+120|0;j=f[m>>2]|0;c=j+1|0;do if((j|0)>=0){c=((c|0)%3|0|0)==0?j+-2|0:c;if(!((j>>>0)%3|0)){h=j+2|0;break}else{h=j+-1|0;break}}else{c=j;h=j}while(0);r=a+104|0;o=a+92|0;e=f[o>>2]|0;i=e+(c<<2)|0;g=f[r>>2]|0;d=g+(f[i>>2]<<2)|0;t=f[d>>2]|0;switch(b|0){case 1:case 0:{f[d>>2]=t+-1;j=g+(f[e+(h<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+-1;if((b|0)==1){if((h|0)>=0?(k=f[(f[(f[q>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(k|0)>-1):0){g=a+64|0;e=k;d=1;do{k=f[g>>2]|0;j=f[(f[k>>2]|0)+36>>2]|0;f[l>>2]=(e>>>0)/3|0;f[v>>2]=f[l>>2];if(Va[j&127](k,v)|0)break;k=e+1|0;e=((k|0)%3|0|0)==0?e+-2|0:k;if((e|0)<0){s=12;break}e=f[(f[(f[q>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;d=d+1|0}while((e|0)>-1);if((s|0)==12)d=d+1|0;g=f[r>>2]|0;e=f[o>>2]|0}else d=1;f[g+(f[e+(f[m>>2]<<2)>>2]<<2)>>2]=d;h=a+108|0;d=f[h>>2]|0;g=d-g>>2;if((c|0)>=0?(n=f[(f[(f[q>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(n|0)>-1):0){e=a+64|0;d=n;c=1;do{n=f[e>>2]|0;m=f[(f[n>>2]|0)+36>>2]|0;f[p>>2]=(d>>>0)/3|0;f[v>>2]=f[p>>2];if(Va[m&127](n,v)|0)break;n=d+1|0;f[(f[o>>2]|0)+((((n|0)%3|0|0)==0?d+-2|0:n)<<2)>>2]=g;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0){s=20;break}d=f[(f[(f[q>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;c=c+1|0}while((d|0)>-1);if((s|0)==20)c=c+1|0;d=f[h>>2]|0}else c=1;f[v>>2]=c;if(d>>>0<(f[a+112>>2]|0)>>>0){f[d>>2]=c;f[h>>2]=d+4}else zi(r,v)}break}case 5:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}case 3:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;break}case 7:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}default:{}}i=a+116|0;e=f[i>>2]|0;if((e|0)==-1){f[i>>2]=b;u=w;return}d=f[a+128>>2]|0;if((t|0)<(d|0))c=d;else{c=f[a+132>>2]|0;c=(t|0)>(c|0)?c:t}h=c-d|0;g=f[a+136>>2]|0;c=f[3596+(e<<2)>>2]|0;f[v>>2]=c;e=g+(h*12|0)+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+(h*12|0)+8>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else zi(g+(h*12|0)|0,v);f[i>>2]=b;u=w;return}function Pc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+32|0;r=x;s=x+20|0;q=x+24|0;v=x+8|0;t=f[a>>2]|0;w=t+8|0;d=f[t>>2]|0;t=f[t+4>>2]|0;w=Zn(d|0,t|0,f[w>>2]|0,f[w+4>>2]|0)|0;n=I;n=Zn((w|0)==0&(n|0)==0&1|0,0,w|0,n|0)|0;n=~~((+(d>>>0)+4294967296.0*+(t>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=n>>>0<255?n:255;b[q>>0]=((n|0)==0&1)+n;n=a+12|0;t=a+16|0;d=((f[t>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[v>>2]=0;w=v+4|0;f[w>>2]=0;f[v+8>>2]=0;if(!d)o=0;else{if((d|0)<0)Wo(v);e=_m(d)|0;f[w>>2]=e;f[v>>2]=e;f[v+8>>2]=e+d;do{b[e>>0]=0;e=(f[w>>2]|0)+1|0;f[w>>2]=e;d=d+-1|0}while((d|0)!=0);o=f[v>>2]|0}p=a+28|0;e=(f[p>>2]|0)+-1|0;if((e|0)>-1){k=a+24|0;d=4096;h=0;do{g=b[q>>0]|0;i=256-(g&255)|0;j=(f[k>>2]&1<>>0>=g<<12>>>0){b[o+h>>0]=d;d=d>>>8;h=h+1|0}Zm(f[3964+(g<<3)>>2]|0,0,d|0,0)|0;d=d+(j?0:i&255)+(X((I+d|0)>>>(f[3964+(g<<3)+4>>2]|0),256-g|0)|0)|0;e=e+-1|0}while((e|0)>-1);e=d}else{e=4096;h=0}d=f[t>>2]|0;if((d|0)==(f[n>>2]|0))g=e;else{g=h;while(1){d=d+-4|0;m=f[d>>2]|0;j=31;while(1){i=b[q>>0]|0;k=256-(i&255)|0;l=(1<>>0>>0)h=g;else{b[o+g>>0]=e;e=e>>>8;h=g+1|0}Zm(f[3964+(i<<3)>>2]|0,0,e|0,0)|0;e=e+(l?0:k&255)+(X((I+e|0)>>>(f[3964+(i<<3)+4>>2]|0),256-i|0)|0)|0;if((j|0)<=0)break;else{g=h;j=j+-1|0}}if((d|0)==(f[n>>2]|0)){g=e;break}else g=h}}if(g>>>0<=4095)Fa(19601,19631,132,19707);if(g>>>0>=1048576)Fa(19721,19631,133,19707);d=g+-4096|0;do if(d>>>0>=64){e=o+h|0;if(d>>>0<16384){d=g+12288|0;b[e>>0]=d;g=2;e=e+1|0;d=d>>>8;break}else{d=g+8384512|0;b[e>>0]=d;b[e+1>>0]=d>>>8;g=3;e=e+2|0;d=d>>>16;break}}else{g=1;e=o+h|0}while(0);b[e>>0]=d;e=g+h|0;g=c+16|0;o=g;n=f[o+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ie(c,r,q,q+1|0)|0}Mh(e,c)|0;d=f[v>>2]|0;q=g;o=f[q+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[q>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ie(c,r,d,d+e|0)|0}d=r;f[d>>2]=0;f[d+4>>2]=0;Te(a,2,r);d=f[a+12>>2]|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+24>>2]=0;f[p>>2]=0;d=f[v>>2]|0;if(!d){u=x;return}if((f[w>>2]|0)!=(d|0))f[w>>2]=d;mq(d);u=x;return}function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>262144){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;mb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>131072){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;nb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>65536){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;ob(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>32768){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;pb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>16384){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;qb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>8192){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*524288.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==524288){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;rb(h,l,n);a:do if((i|0)<524288){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=524288-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>524288;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-524288|0;while(1){e=524288.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==524288){i=524288;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=524288){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*1.9073486328125e-06)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>4096){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*262144.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==262144){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;sb(h,l,n);a:do if((i|0)<262144){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=262144-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>262144;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-262144|0;while(1){e=262144.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==262144){i=262144;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=262144){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*3.814697265625e-06)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>2048){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*65536.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==65536){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;tb(h,l,n);a:do if((i|0)<65536){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=65536-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>65536;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-65536|0;while(1){e=65536.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==65536){i=65536;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=65536){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.0000152587890625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>1024){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*32768.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==32768){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;ub(h,l,n);a:do if((i|0)<32768){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=32768-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>32768;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-32768|0;while(1){e=32768.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==32768){i=32768;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=32768){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000030517578125)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>512){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*8192.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==8192){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;vb(h,l,n);a:do if((i|0)<8192){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=8192-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>8192;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-8192|0;while(1){e=8192.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==8192){i=8192;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=8192){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.0001220703125)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>256){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;wb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>128){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;xb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>64){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;yb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>32){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;zb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>16){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Ab(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>8){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Bb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>4){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Cb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>2){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Db(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;r=f[a+28>>2]|0;s=f[a+32>>2]|0;y=e>>>0>1073741823?-1:e<<2;v=jq(y)|0;Xi(v|0,0,y|0)|0;w=jq(y)|0;Xi(w|0,0,y|0)|0;y=a+36|0;h=f[y>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;i=d-g|0;a:do if((i|0)>4){x=(e|0)>0;z=a+8|0;u=r+12|0;t=e<<2;p=i>>2;while(1){q=p+-1|0;if(d-g>>2>>>0<=q>>>0){Vo(h);g=f[h>>2]|0}o=f[g+(q<<2)>>2]|0;if(x)Xi(v|0,0,t|0)|0;if((o|0)>-1){n=f[u>>2]|0;m=o;l=0;while(1){d=f[n+(m<<2)>>2]|0;if((d|0)>=0){h=f[r>>2]|0;i=f[s>>2]|0;k=f[i+(f[h+(d<<2)>>2]<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;j=f[i+(g<<2)>>2]|0;g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;g=f[i+(g<<2)>>2]|0;if((k|0)<(q|0)&(j|0)<(q|0)&(g|0)<(q|0)){i=X(k,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(x){g=0;do{f[w+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(x){g=0;do{k=v+(g<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[w+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else l=h}g=X(q,e)|0;if(!h)A=32;else{if(x){d=0;do{p=v+(d<<2)|0;f[p>>2]=(f[p>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}Xh(z,b+(g<<2)|0,v,c+(g<<2)|0)}}else{g=X(q,e)|0;A=32}if((A|0)==32){A=0;Xh(z,b+(g<<2)|0,b+((X(p+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((q|0)<=1)break a;g=f[y>>2]|0;d=f[g+4>>2]|0;h=g;g=f[g>>2]|0;p=q}}while(0);if((e|0)<=0){A=a+8|0;Xh(A,b,v,c);kq(w);kq(v);return 1}Xi(v|0,0,e<<2|0)|0;A=a+8|0;Xh(A,b,v,c);kq(w);kq(v);return 1}function hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;p=f[a+28>>2]|0;q=f[a+32>>2]|0;x=e>>>0>1073741823?-1:e<<2;t=jq(x)|0;Xi(t|0,0,x|0)|0;u=jq(x)|0;Xi(u|0,0,x|0)|0;x=a+36|0;h=f[x>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;i=d-g|0;a:do if((i|0)>4){v=(e|0)>0;y=a+8|0;w=p+64|0;s=p+28|0;r=e<<2;n=i>>2;while(1){o=n+-1|0;if(d-g>>2>>>0<=o>>>0){Vo(h);g=f[h>>2]|0}m=f[g+(o<<2)>>2]|0;if(v)Xi(t|0,0,r|0)|0;if((m|0)>-1){l=f[p>>2]|0;k=m;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(C=f[(f[(f[w>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(C|0)>=0):0)?(B=f[s>>2]|0,i=f[q>>2]|0,z=f[i+(f[B+(C<<2)>>2]<<2)>>2]|0,A=C+1|0,A=f[i+(f[B+((((A|0)%3|0|0)==0?C+-2|0:A)<<2)>>2]<<2)>>2]|0,B=f[i+(f[B+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(z|0)<(o|0)&(A|0)<(o|0)&(B|0)<(o|0)):0){d=X(z,e)|0;h=X(A,e)|0;i=X(B,e)|0;if(v){g=0;do{f[u+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(v){g=0;do{i=t+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[u+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}j=j+1|0}g=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[w>>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);k=(g|0)==(m|0)?-1073741824:g}while((k|0)>-1);g=X(o,e)|0;if(!j)D=30;else{if(v){d=0;do{n=t+(d<<2)|0;f[n>>2]=(f[n>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}Xh(y,b+(g<<2)|0,t,c+(g<<2)|0)}}else{g=X(o,e)|0;D=30}if((D|0)==30){D=0;Xh(y,b+(g<<2)|0,b+((X(n+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((o|0)<=1)break a;g=f[x>>2]|0;d=f[g+4>>2]|0;h=g;g=f[g>>2]|0;n=o}}while(0);if((e|0)<=0){D=a+8|0;Xh(D,b,t,c);kq(u);kq(t);return 1}Xi(t|0,0,e<<2|0)|0;D=a+8|0;Xh(D,b,t,c);kq(u);kq(t);return 1}function id(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+8|0;i=m+4|0;k=m;l=m+12|0;f[k>>2]=0;if(!d)if((c|0)>0){g=0;h=0;while(1){d=f[a+(h<<2)>>2]|0;if(d>>>0>g>>>0)f[k>>2]=d;else d=g;h=h+1|0;if((h|0)==(c|0)){g=7;break}else g=d}}else d=1;else{d=f[d>>2]|0;f[k>>2]=d;g=7}if((g|0)==7){g=((_(d|0)|0)^31)+1|0;if(d)if(g>>>0>18){e=0;u=m;return e|0}else d=g;else d=1}b[l>>0]=d;h=e+16|0;g=f[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)){f[i>>2]=f[e+4>>2];f[j>>2]=f[i>>2];Ie(e,j,l,l+1|0)|0}do switch(d|0){case 1:case 0:{e=ze(a,c,k,e)|0;u=m;return e|0}case 2:{e=ye(a,c,k,e)|0;u=m;return e|0}case 3:{e=xe(a,c,k,e)|0;u=m;return e|0}case 4:{e=we(a,c,k,e)|0;u=m;return e|0}case 5:{e=ve(a,c,k,e)|0;u=m;return e|0}case 6:{e=ue(a,c,k,e)|0;u=m;return e|0}case 7:{e=te(a,c,k,e)|0;u=m;return e|0}case 8:{e=se(a,c,k,e)|0;u=m;return e|0}case 9:{e=re(a,c,k,e)|0;u=m;return e|0}case 10:{e=pe(a,c,k,e)|0;u=m;return e|0}case 11:{e=oe(a,c,k,e)|0;u=m;return e|0}case 12:{e=ne(a,c,k,e)|0;u=m;return e|0}case 13:{e=me(a,c,k,e)|0;u=m;return e|0}case 14:{e=le(a,c,k,e)|0;u=m;return e|0}case 15:{e=ke(a,c,k,e)|0;u=m;return e|0}case 16:{e=je(a,c,k,e)|0;u=m;return e|0}case 17:{e=ie(a,c,k,e)|0;u=m;return e|0}case 18:{e=he(a,c,k,e)|0;u=m;return e|0}default:{e=0;u=m;return e|0}}while(0);return 0}function jd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2852;e=b;f[a>>2]=e;return}case 2:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2908;e=b;f[a>>2]=e;return}case 4:{b=_m(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2964;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3020;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3076;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3132;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=3188;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function kd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2488;e=b;f[a>>2]=e;return}case 2:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2544;e=b;f[a>>2]=e;return}case 4:{b=_m(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2600;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2656;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2712;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2768;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=2824;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+1264|0;t=x+1252|0;q=x+1248|0;v=x+16|0;d=x+1244|0;i=x+1240|0;w=x+8|0;r=x+1236|0;e=x+1232|0;g=x+1228|0;h=x+1224|0;j=x+1220|0;k=x+1216|0;l=x+1212|0;m=x+1208|0;n=x+1204|0;o=x+12|0;p=x+4|0;s=x;c=f[a+48>>2]|0;if(c>>>0>=7)Fa(20199,20227,45,20379);switch(c|0){case 0:{th(v,3);f[d>>2]=f[b>>2];f[i>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[d>>2];f[t>>2]=f[i>>2];of(v,q,t,w,a+16|0)|0;gf(v);u=x;return 1}case 1:{th(v,3);f[r>>2]=f[b>>2];f[e>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[r>>2];f[t>>2]=f[e>>2];of(v,q,t,w,a+16|0)|0;gf(v);u=x;return 1}case 2:{uh(v,3);f[g>>2]=f[b>>2];f[h>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[g>>2];f[t>>2]=f[h>>2];qf(v,q,t,w,a+16|0)|0;hf(v);u=x;return 1}case 3:{uh(v,3);f[j>>2]=f[b>>2];f[k>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[j>>2];f[t>>2]=f[k>>2];qf(v,q,t,w,a+16|0)|0;hf(v);u=x;return 1}case 4:{bh(v,3);f[l>>2]=f[b>>2];f[m>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[l>>2];f[t>>2]=f[m>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}case 5:{bh(v,3);f[n>>2]=f[b>>2];f[o>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[n>>2];f[t>>2]=f[o>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}default:{bh(v,3);f[p>>2]=f[b>>2];f[s>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[p>>2];f[t>>2]=f[s>>2];We(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}}return 0}function md(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}q=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)g=c&p;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){o=c;b:while(1){c:do if(q){c=e;while(1){n=f[c+4>>2]&p;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=c+10|0;k=c+12|0;l=c+14|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[m>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break d}if((d[l>>1]|0)!=(d[e+14>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=40;break a}}}else{c=e;while(1){n=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=c+10|0;k=c+12|0;l=c+14|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[m>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break e}if((d[l>>1]|0)!=(d[e+14>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=40;break a}}}while(0);e=f[c>>2]|0;if(!e){c=40;break a}else{i=c;o=c}}f[e>>2]=o;e=f[c>>2]|0;if(!e){c=40;break}else i=c}if((c|0)==40)return}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}p=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)e=c&o;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=f[c+4>>2]&o;if((m|0)==(e|0))break c;d=(f[a>>2]|0)+(m<<2)|0;if(!(f[d>>2]|0)){e=m;break b}l=c+12|0;j=c+16|0;k=c+20|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[l>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break d}if((f[k>>2]|0)!=(f[d+20>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{q=d;d=g;g=q}}}while(0);f[n>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){m=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(f[a>>2]|0)+(m<<2)|0;if(!(f[d>>2]|0)){e=m;break b}l=c+12|0;j=c+16|0;k=c+20|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[l>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break e}if((f[k>>2]|0)!=(f[d+20>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{q=d;d=g;g=q}}}while(0);f[n>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=40;break a}}}while(0);d=f[c>>2]|0;if(!d){c=40;break a}else{h=c;n=c}}f[d>>2]=n;d=f[c>>2]|0;if(!d){c=40;break}else h=c}if((c|0)==40)return}function od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}q=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=q;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;p=c+-1|0;q=(p&c|0)==0;if(q)g=d&p;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){o=d;b:while(1){c:do if(q){d=e;while(1){n=f[d+4>>2]&p;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=d+9|0;k=d+10|0;l=d+11|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[m>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break d}if((b[l>>0]|0)!=(b[e+11>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}}else{d=e;while(1){n=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=d+9|0;k=d+10|0;l=d+11|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[m>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break e}if((b[l>>0]|0)!=(b[e+11>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}}while(0);e=f[d>>2]|0;if(!e){d=40;break a}else{i=d;o=d}}f[e>>2]=o;e=f[d>>2]|0;if(!e){d=40;break}else i=d}if((d|0)==40)return}function pd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+32|0;h=j+12|0;i=j;f[b+48>>2]=c;g=b+44|0;f[g>>2]=d;d=f[b+8>>2]|0;e=b+12|0;c=f[e>>2]|0;if((c|0)!=(d|0))do{k=c+-4|0;f[e>>2]=k;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(d|0));c=f[b+20>>2]|0;e=b+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);c=f[b+32>>2]|0;e=b+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);c=b+4|0;if(!(f[c>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,18966,23);f[a>>2]=-1;dl(a+4|0,h);_n(h);u=j;return}Od(a,b);if(f[a>>2]|0){u=j;return}d=a+4|0;_n(d);c=f[(f[c>>2]|0)+4>>2]|0;do if(c){if(nj(h,f[g>>2]|0,c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;break}f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18990,26);f[a>>2]=-1;dl(d,i);_n(i);if(f[a>>2]|0){u=j;return}}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}while(0);_n(d);if(!(Ra[f[(f[b>>2]|0)+16>>2]&127](b)|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19017,29);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}if(!(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19047,31);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}if(!(Ra[f[(f[b>>2]|0)+24>>2]&127](b)|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19079,31);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}if(Ra[f[(f[b>>2]|0)+28>>2]&127](b)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=j;return}else{f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19111,34);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}}function qd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;u=a+8|0;f[u>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}else d=0;g=d-e|0;if((g|0)>0){o=0-e|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;d=f[u>>2]|0;do{l=b+(g<<2)|0;m=c+(g<<2)|0;if((d|0)>0){k=0;j=l+(o<<2)|0;while(1){if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[r>>2]|0;if((d|0)>(h|0)){d=f[n>>2]|0;f[d+(i<<2)>>2]=h}else{w=f[t>>2]|0;h=f[n>>2]|0;f[h+(i<<2)>>2]=(d|0)<(w|0)?w:d;d=h}i=i+1|0}while((i|0)<(f[u>>2]|0));i=d}else i=f[n>>2]|0;d=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=m+(k<<2)|0;f[h>>2]=d;if((d|0)>=(f[s>>2]|0)){if((d|0)>(f[p>>2]|0)){d=d-(f[q>>2]|0)|0;v=41}}else{d=(f[q>>2]|0)+d|0;v=41}if((v|0)==41){v=0;f[h>>2]=d}k=k+1|0;d=f[u>>2]|0;if((k|0)>=(d|0))break;else j=i}}g=g-e|0}while((g|0)>0)}else d=f[u>>2]|0;w=e>>>0>1073741823?-1:e<<2;m=jq(w)|0;Xi(m|0,0,w|0)|0;if((d|0)<=0){kq(m);return 1}o=a+16|0;l=a+32|0;q=a+12|0;p=a+28|0;n=a+20|0;k=a+24|0;j=0;h=m;do{if((d|0)>0){i=0;do{d=f[h+(i<<2)>>2]|0;g=f[o>>2]|0;if((d|0)>(g|0)){d=f[l>>2]|0;f[d+(i<<2)>>2]=g}else{a=f[q>>2]|0;w=f[l>>2]|0;f[w+(i<<2)>>2]=(d|0)<(a|0)?a:d;d=w}i=i+1|0}while((i|0)<(f[u>>2]|0));h=d}else h=f[l>>2]|0;d=(f[b+(j<<2)>>2]|0)-(f[h+(j<<2)>>2]|0)|0;g=c+(j<<2)|0;f[g>>2]=d;if((d|0)>=(f[p>>2]|0)){if((d|0)>(f[k>>2]|0)){d=d-(f[n>>2]|0)|0;v=26}}else{d=(f[n>>2]|0)+d|0;v=26}if((v|0)==26){v=0;f[g>>2]=d}j=j+1|0;d=f[u>>2]|0}while((j|0)<(d|0));kq(m);return 1}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}s=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(s)g=d&r;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){q=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(s)p=e&r;else p=(e>>>0)%(c>>>0)|0;if((p|0)==(g|0))break;e=(f[a>>2]|0)+(p<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{n=d+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[d+12>>2]|0:m;l=(o|0)==0;if(k){h=d;while(1){j=e+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[e+12>>2]|0:m&255)|0)){e=h;break c}if(!l?il(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{m=e;e=h;h=m}}}if(l){h=d;while(1){o=b[e+8+11>>0]|0;if((o<<24>>24<0?f[e+12>>2]|0:o&255)|0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{o=e;e=h;h=o}}}l=d;while(1){h=e+8|0;k=b[h+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[e+12>>2]|0:k&255)|0)){e=l;break c}h=j?f[h>>2]|0:h;if((f[n>>2]&255)<<24>>24==(b[h>>0]|0)){j=m;k=n}else{e=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;h=h+1|0;if((b[k>>0]|0)!=(b[h>>0]|0)){e=l;break c}}h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[q>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=41;break a}}e=f[d>>2]|0;if(!e){d=41;break a}else{i=d;q=d}}f[e>>2]=q;e=f[d>>2]|0;if(!e){d=41;break}else{i=d;g=p}}if((d|0)==41)return}function sd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}p=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)g=c&o;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){n=c;b:while(1){c:do if(p){c=e;while(1){m=f[c+4>>2]&o;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=c+10|0;k=c+12|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[l>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=38;break a}}}else{c=e;while(1){m=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=c+10|0;k=c+12|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[l>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=38;break a}}}while(0);e=f[c>>2]|0;if(!e){c=38;break a}else{i=c;n=c}}f[e>>2]=n;e=f[c>>2]|0;if(!e){c=38;break}else i=c}if((c|0)==38)return}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}o=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)e=c&n;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=f[c+4>>2]&n;if((l|0)==(e|0))break c;d=(f[a>>2]|0)+(l<<2)|0;if(!(f[d>>2]|0)){e=l;break b}k=c+12|0;j=c+16|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[k>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{p=d;d=g;g=p}}}while(0);f[m>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){l=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(f[a>>2]|0)+(l<<2)|0;if(!(f[d>>2]|0)){e=l;break b}k=c+12|0;j=c+16|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[k>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{p=d;d=g;g=p}}}while(0);f[m>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=38;break a}}}while(0);d=f[c>>2]|0;if(!d){c=38;break a}else{h=c;m=c}}f[d>>2]=m;d=f[c>>2]|0;if(!d){c=38;break}else h=c}if((c|0)==38)return}function ud(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}p=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=p;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;o=c+-1|0;p=(o&c|0)==0;if(p)g=d&o;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){n=d;b:while(1){c:do if(p){d=e;while(1){m=f[d+4>>2]&o;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=d+9|0;k=d+10|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[l>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=38;break a}}}else{d=e;while(1){m=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=d+9|0;k=d+10|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[l>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=38;break a}}}while(0);e=f[d>>2]|0;if(!e){d=38;break a}else{i=d;n=d}}f[e>>2]=n;e=f[d>>2]|0;if(!e){d=38;break}else i=d}if((d|0)==38)return}function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;i=r+20|0;j=r+12|0;p=r;g=r+16|0;h=r+24|0;k=a+16|0;cn(k);e=(f[d+4>>2]|0)-(f[c+4>>2]|0)|0;m=a+12|0;f[m>>2]=e;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;Ji(p,e);f[g>>2]=p;f[i>>2]=f[g>>2];Fc(c,d,a,i)|0;g=a+32|0;c=g;d=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,6096,6100)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}e=a+8|0;b[h>>0]=f[e>>2];if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,h,h+1|0)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}if(!((c|0)>0|(c|0)==0&d>>>0>0)?(f[j>>2]=f[a+20>>2],f[i>>2]=f[j>>2],Ie(k,i,a,a+4|0)|0,h=g,d=f[h+4>>2]|0,n=a+4|0,!((d|0)>0|(d|0)==0&(f[h>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,n,n+4|0)|0;n=g;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,m,m+4|0)|0}}else o=9;if((f[e>>2]|0)==1?(l=a+48|0,o=g,n=f[o+4>>2]|0,!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,l,l+4|0)|0}do if(f[m>>2]|0)if((f[e>>2]|0)==1){e=ld(a,p)|0;break}else{zl(8037,23,1,f[1525]|0)|0;e=0;break}else e=1;while(0);c=f[p>>2]|0;if(!c){u=r;return e|0}d=f[q>>2]|0;if((d|0)!=(c|0))f[q>>2]=d+(~(((d+-12-c|0)>>>0)/12|0)*12|0);mq(c);u=r;return e|0}function wd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17739,15);l=Ck(c,m,-1)|0;_n(m);switch(l|0){case 0:{g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3916;break}case -1:{if((bj(c)|0)==10){g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3916}else n=5;break}default:n=5}a:do if((n|0)==5){g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g|0)<=0)Fa(20527,20426,60,20517);g=f[g>>2]|0;b:do if((f[g+56>>2]|0)==0?(b[g+24>>0]|0)==3:0){switch(f[g+28>>2]|0){case 9:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17755,17);j=c+16|0;h=f[j>>2]|0;if(h){g=j;i=h;c:while(1){h=i;while(1){if((f[h+16>>2]|0)>=0)break;h=f[h+4>>2]|0;if(!h)break c}i=f[h>>2]|0;if(!i){g=h;break}else g=h}if(((g|0)!=(j|0)?(k=g+20|0,(f[g+16>>2]|0)<=0):0)?(Kh(k,m)|0)!=0:0)g=Ck(k,m,-1)|0;else n=19}else n=19;if((n|0)==19)g=Ck(c,m,-1)|0;_n(m);if((g|0)<1)break b;break}case 6:break;default:break b}g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3860;break a}while(0);if((l|0)!=1){g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3916;break}f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17773,24);f[a>>2]=-1;dl(a+4|0,m);_n(m);u=o;return}while(0);f[g>>2]=h;No(g,d);pd(a,g,c,e);Oa[f[(f[g>>2]|0)+4>>2]&127](g);u=o;return}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;m=r+32|0;h=r+28|0;p=r+16|0;q=r;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){q=c;q=q+20|0;u=r;return q|0}}Qo(p);f[q>>2]=f[b>>2];l=q+4|0;f[q+8>>2]=0;k=q+12|0;f[k>>2]=0;n=q+8|0;f[l>>2]=n;c=f[p>>2]|0;o=p+4|0;if((c|0)!=(o|0)){g=n;e=c;d=c;while(1){c=e+16|0;f[h>>2]=g;f[m>>2]=f[h>>2];Sg(l,m,c,c)|0;c=f[d+4>>2]|0;if(!c)while(1){c=f[d+8>>2]|0;if((f[c>>2]|0)==(d|0))break;else d=c}else while(1){d=f[c>>2]|0;if(!d)break;else c=d}if((c|0)==(o|0))break;else{e=c;d=c}}}i=a+12|0;c=f[j>>2]|0;do if(c){e=f[q>>2]|0;g=c;while(1){c=f[g+16>>2]|0;if((e|0)<(c|0)){c=f[g>>2]|0;if(!c){c=19;break}}else{if((c|0)>=(e|0)){c=24;break}d=g+4|0;c=f[d>>2]|0;if(!c){c=23;break}}g=c}if((c|0)==19){f[m>>2]=g;h=g;b=g;break}else if((c|0)==23){f[m>>2]=g;h=g;b=d;break}else if((c|0)==24){f[m>>2]=g;h=g;b=m;break}}else{f[m>>2]=j;h=j;b=j}while(0);c=f[b>>2]|0;if(!c){c=_m(32)|0;f[c+16>>2]=f[q>>2];g=c+20|0;f[g>>2]=f[l>>2];e=c+24|0;d=f[q+8>>2]|0;f[e>>2]=d;m=f[k>>2]|0;f[c+28>>2]=m;if(!m)f[g>>2]=e;else{f[d+8>>2]=e;f[l>>2]=n;f[n>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[b>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[b>>2]|0}Je(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}mj(q+4|0,f[n>>2]|0);mj(p,f[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(b-a>>2|0){case 2:{l=b+-4|0;i=f[l>>2]|0;k=f[a>>2]|0;d=f[c>>2]|0;g=f[d+4>>2]|0;e=f[d>>2]|0;if(g-e>>3>>>0>i>>>0){j=d;h=e;d=e}else{Vo(d);g=f[c>>2]|0;j=g;h=f[d>>2]|0;d=f[g>>2]|0;g=f[g+4>>2]|0}e=f[h+(i<<3)>>2]|0;if(g-d>>3>>>0<=k>>>0){Vo(j);d=f[j>>2]|0}if(e>>>0>=(f[d+(k<<3)>>2]|0)>>>0){a=1;return a|0}c=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=c;a=1;return a|0}case 3:{Wd(a,a+4|0,b+-4|0,c)|0;a=1;return a|0}case 4:{Ne(a,a+4|0,a+8|0,b+-4|0,c)|0;a=1;return a|0}case 5:{Vd(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{g=a+8|0;Wd(a,a+4|0,g,c)|0;e=a+12|0;a:do if((e|0)==(b|0)){e=1;d=0}else{d=0;n=e;e=g;while(1){k=f[n>>2]|0;m=f[e>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}if(h>>>0<(f[g+(m<<3)>>2]|0)>>>0){m=f[n>>2]|0;g=n;while(1){f[g>>2]=f[e>>2];if((e|0)==(a|0)){e=a;break}l=e+-4|0;k=f[l>>2]|0;j=f[c>>2]|0;h=f[j+4>>2]|0;g=f[j>>2]|0;if(h-g>>3>>>0>m>>>0)i=g;else{Vo(j);o=f[c>>2]|0;i=f[j>>2]|0;g=f[o>>2]|0;h=f[o+4>>2]|0;j=o}i=f[i+(m<<3)>>2]|0;if(h-g>>3>>>0<=k>>>0){Vo(j);g=f[j>>2]|0}if(i>>>0<(f[g+(k<<3)>>2]|0)>>>0){g=e;e=l}else break}f[e>>2]=m;d=d+1|0;if((d|0)==8){e=0;d=(n+4|0)==(b|0);break a}}e=n+4|0;if((e|0)==(b|0)){e=1;d=0;break}else{o=n;n=e;e=o}}}while(0);o=d|e;return o|0}}return 0}function zd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=a+4|0;s=f[c>>2]|0;c=s;do if((s|0)!=(n|0)){i=s+16|0;o=b[e+11>>0]|0;p=o<<24>>24<0;o=p?f[e+4>>2]|0:o&255;h=b[i+11>>0]|0;l=h<<24>>24<0;h=l?f[s+20>>2]|0:h&255;k=h>>>0>>0;g=k?h:o;if((g|0)!=0?(j=il(p?f[e>>2]|0:e,l?f[i>>2]|0:i,g)|0,(j|0)!=0):0){if((j|0)<0)break}else t=4;if((t|0)==4?o>>>0>>0:0)break;g=o>>>0>>0?o:h;if((g|0)!=0?(m=il(l?f[i>>2]|0:i,p?f[e>>2]|0:e,g)|0,(m|0)!=0):0){if((m|0)>=0)t=34}else t=20;if((t|0)==20?!k:0)t=34;if((t|0)==34){f[d>>2]=c;return d|0}k=s+4|0;c=f[k>>2]|0;l=(c|0)==0;if(l){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))break;else g=c}}else while(1){g=f[c>>2]|0;if(!g)break;else c=g}do if((c|0)!=(n|0)){h=c+16|0;i=b[h+11>>0]|0;j=i<<24>>24<0;i=j?f[c+20>>2]|0:i&255;g=i>>>0>>0?i:o;if((g|0)!=0?(q=il(p?f[e>>2]|0:e,j?f[h>>2]|0:h,g)|0,(q|0)!=0):0){if((q|0)<0)break}else t=28;if((t|0)==28?o>>>0>>0:0)break;d=xg(a,d,e)|0;return d|0}while(0);if(l){f[d>>2]=s;d=k;return d|0}else{f[d>>2]=c;d=c;return d|0}}while(0);do if((s|0)!=(f[a>>2]|0)){c=f[s>>2]|0;if(!c){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))g=c;else{g=c;break}}}else while(1){g=f[c+4>>2]|0;if(!g){g=c;break}else c=g}c=g;k=g+16|0;h=b[k+11>>0]|0;l=h<<24>>24<0;h=l?f[g+20>>2]|0:h&255;i=b[e+11>>0]|0;j=i<<24>>24<0;i=j?f[e+4>>2]|0:i&255;g=i>>>0>>0?i:h;if((g|0)!=0?(r=il(l?f[k>>2]|0:k,j?f[e>>2]|0:e,g)|0,(r|0)!=0):0){if((r|0)<0)break}else t=12;if((t|0)==12?h>>>0>>0:0)break;d=xg(a,d,e)|0;return d|0}while(0);if(!(f[s>>2]|0)){f[d>>2]=s;d=s;return d|0}else{t=c;f[d>>2]=t;d=t+4|0;return d|0}return 0}function Ad(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=mm(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((mm(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Zn(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;Dn(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Dn(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function Bd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}o=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)g=c&n;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){m=c;b:while(1){c:do if(o){c=e;while(1){l=f[c+4>>2]&n;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=c+10|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=36;break a}}}else{c=e;while(1){l=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=c+10|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=36;break a}}}while(0);e=f[c>>2]|0;if(!e){c=36;break a}else{i=c;m=c}}f[e>>2]=m;e=f[c>>2]|0;if(!e){c=36;break}else i=c}if((c|0)==36)return}function Cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=jq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)kq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}o=a+56|0;i=f[o>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[x>>2]=f[g+(h<<2)>>2];f[y>>2]=f[x>>2];sc(a,y,b,h);m=X(h,e)|0;d=b+(m<<2)|0;m=c+(m<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=f[w>>2]|0;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[p>>2]|0)){g=g-(f[q>>2]|0)|0;z=33}}else{g=(f[q>>2]|0)+g|0;z=33}if((z|0)==33){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[o>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b[c+11>>0]|0;m=n<<24>>24<0;o=m?f[c>>2]|0:c;n=m?f[c+4>>2]|0:n&255;if(n>>>0>3){c=o;g=n;d=n;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=n+-4|0;d=m&-4;e=o+(d+4)|0;c=g;d=m-d|0}else{e=o;c=n;d=n}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;l=6;break}case 2:{i=c;l=6;break}case 1:{j=c;l=7;break}default:k=c}if((l|0)==6){j=h[e+1>>0]<<8^i;l=7}if((l|0)==7)k=X(h[e>>0]^j,1540483477)|0;c=X(k>>>13^k,1540483477)|0;c=c>>>15^c;k=f[a+4>>2]|0;if(!k){o=0;return o|0}l=k+-1|0;d=(l&k|0)==0;if(d)m=c&l;else m=(c>>>0)%(k>>>0)|0;c=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!c){o=0;return o|0}c=f[c>>2]|0;if(!c){o=0;return o|0}a=(n|0)==0;if(d){a:while(1){if((f[c+4>>2]&l|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break a}if(!(il(i,o,n)|0)){l=35;break a}else break}if(a){l=35;break a}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break a}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}else{b:while(1){if((((f[c+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break b}if(!(il(i,o,n)|0)){l=35;break b}else break}if(a){l=35;break b}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}return 0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}n=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){l=c;b:while(1){c:do if(n){c=d;while(1){k=f[c+4>>2]&m;if((k|0)==(e|0))break c;d=(f[a>>2]|0)+(k<<2)|0;if(!(f[d>>2]|0)){e=k;break b}j=c+12|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{o=d;d=g;g=o}}}while(0);f[l>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){k=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((k|0)==(e|0))break c;d=(f[a>>2]|0)+(k<<2)|0;if(!(f[d>>2]|0)){e=k;break b}j=c+12|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{o=d;d=g;g=o}}}while(0);f[l>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=36;break a}}}while(0);d=f[c>>2]|0;if(!d){c=36;break a}else{h=c;l=c}}f[d>>2]=l;d=f[c>>2]|0;if(!d){c=36;break}else h=c}if((c|0)==36)return}function Fd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}o=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=o;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;n=c+-1|0;o=(n&c|0)==0;if(o)g=d&n;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){m=d;b:while(1){c:do if(o){d=e;while(1){l=f[d+4>>2]&n;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=d+9|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=36;break a}}}else{d=e;while(1){l=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=d+9|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=36;break a}}}while(0);e=f[d>>2]|0;if(!e){d=36;break a}else{i=d;m=d}}f[e>>2]=m;e=f[d>>2]|0;if(!e){d=36;break}else i=d}if((d|0)==36)return}function Gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=jq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)kq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}o=a+56|0;i=f[o>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[x>>2]=f[g+(h<<2)>>2];f[y>>2]=f[x>>2];pc(a,y,b,h);m=X(h,e)|0;d=b+(m<<2)|0;m=c+(m<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=f[w>>2]|0;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[p>>2]|0)){g=g-(f[q>>2]|0)|0;z=33}}else{g=(f[q>>2]|0)+g|0;z=33}if((z|0)==33){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[o>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{j=d;d=d+-108|0;f[g+-108>>2]=f[d>>2];l=j+-104|0;f[g+-104>>2]=f[l>>2];k=j+-100|0;f[g+-100>>2]=f[k>>2];m=j+-96|0;f[g+-96>>2]=f[m>>2];f[l>>2]=0;f[k>>2]=0;f[m>>2]=0;m=j+-92|0;f[g+-92>>2]=f[m>>2];k=j+-88|0;f[g+-88>>2]=f[k>>2];l=j+-84|0;f[g+-84>>2]=f[l>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;b[g+-80>>0]=b[j+-80>>0]|0;l=g+-76|0;k=j+-76|0;f[l>>2]=0;m=g+-72|0;f[m>>2]=0;f[g+-68>>2]=0;f[l>>2]=f[k>>2];l=j+-72|0;f[m>>2]=f[l>>2];m=j+-68|0;f[g+-68>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;k=g+-64|0;l=j+-64|0;f[k>>2]=0;m=g+-60|0;f[m>>2]=0;f[g+-56>>2]=0;f[k>>2]=f[l>>2];k=j+-60|0;f[m>>2]=f[k>>2];m=j+-56|0;f[g+-56>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-52|0;k=j+-52|0;f[l>>2]=0;m=g+-48|0;f[m>>2]=0;f[g+-44>>2]=0;f[l>>2]=f[k>>2];l=j+-48|0;f[m>>2]=f[l>>2];m=j+-44|0;f[g+-44>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-40>>2]=f[j+-40>>2];b[g+-36>>0]=b[j+-36>>0]|0;k=g+-32|0;l=j+-32|0;f[k>>2]=0;m=g+-28|0;f[m>>2]=0;f[g+-24>>2]=0;f[k>>2]=f[l>>2];k=j+-28|0;f[m>>2]=f[k>>2];m=j+-24|0;f[g+-24>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-20|0;k=j+-20|0;f[l>>2]=0;m=g+-16|0;f[m>>2]=0;f[g+-12>>2]=0;f[l>>2]=f[k>>2];l=j+-16|0;f[m>>2]=f[l>>2];m=j+-12|0;f[g+-12>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-8>>2]=f[j+-8>>2];f[g+-4>>2]=f[j+-4>>2];g=(f[h>>2]|0)+-108|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Id(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;y=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}p=a+56|0;i=f[p>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}o=a+68|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;m=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[w>>2]=f[g+(h<<2)>>2];f[x>>2]=f[w>>2];Gb(y,x,b,h);a=X(h,e)|0;d=b+(a<<2)|0;a=c+(a<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=o;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=a+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[m>>2]|0)){g=g-(f[q>>2]|0)|0;z=30}}else{g=(f[q>>2]|0)+g|0;z=30}if((z|0)==30){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[p>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Jd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;y=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}p=a+56|0;i=f[p>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}o=a+68|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;m=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[w>>2]=f[g+(h<<2)>>2];f[x>>2]=f[w>>2];Eb(y,x,b,h);a=X(h,e)|0;d=b+(a<<2)|0;a=c+(a<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=o;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=a+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[m>>2]|0)){g=g-(f[q>>2]|0)|0;z=30}}else{g=(f[q>>2]|0)+g|0;z=30}if((z|0)==30){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[p>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+176|0;i=x+136|0;w=x+104|0;v=x;l=x+72|0;q=_m(88)|0;j=f[c+8>>2]|0;f[q+4>>2]=0;f[q>>2]=3484;m=q+12|0;f[m>>2]=3508;o=q+64|0;f[o>>2]=0;f[q+68>>2]=0;f[q+72>>2]=0;g=q+16|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[q+76>>2]=j;f[q+80>>2]=d;r=q+84|0;f[r>>2]=0;n=q;f[w>>2]=3508;e=w+4|0;k=e+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=f[c+12>>2]|0;s=v+4|0;f[s>>2]=3508;p=v+56|0;f[p>>2]=0;t=v+60|0;f[t>>2]=0;f[v+64>>2]=0;g=v+8|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=k;f[e>>2]=g;g=((f[g+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;Kg(w+8|0,g,i);Oa[f[(f[w>>2]|0)+8>>2]&127](w);tf(l,w);tf(i,l);f[v>>2]=f[i+4>>2];g=v+4|0;eg(g,i)|0;f[i>>2]=3508;e=f[i+20>>2]|0;if(e|0)mq(e);e=f[i+8>>2]|0;if(e|0)mq(e);f[v+36>>2]=k;f[v+40>>2]=d;f[v+44>>2]=j;f[v+48>>2]=q;f[l>>2]=3508;e=f[l+20>>2]|0;if(e|0)mq(e);e=f[l+8>>2]|0;if(e|0)mq(e);f[r>>2]=c+72;f[q+8>>2]=f[v>>2];eg(m,g)|0;e=q+44|0;c=v+36|0;f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];f[e+12>>2]=f[c+12>>2];b[e+16>>0]=b[c+16>>0]|0;vf(o,f[p>>2]|0,f[t>>2]|0);f[a>>2]=n;e=f[p>>2]|0;if(e|0){g=f[t>>2]|0;if((g|0)!=(e|0))f[t>>2]=g+(~((g+-4-e|0)>>>2)<<2);mq(e)}f[s>>2]=3508;e=f[v+24>>2]|0;if(e|0)mq(e);e=f[v+12>>2]|0;if(e|0)mq(e);f[w>>2]=3508;e=f[w+20>>2]|0;if(e|0)mq(e);e=f[w+8>>2]|0;if(!e){u=x;return}mq(e);u=x;return}function Ld(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+32|0;h=l+4|0;i=l;j=l+16|0;g=a+48|0;e=f[g>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,17798,20);e=Ak(e+24|0,h)|0;_n(h);d=f[g>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,17819,22);d=Ak(d+24|0,h)|0;_n(h);k=a+56|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+52>>2]|0;c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)<12e3;m=f[g>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,17842,18);m=Ck(m,h,-1)|0;_n(h);switch(m|0){case -1:{if(e?c|((bj(f[g>>2]|0)|0)>4|d^1):0)e=7;else e=11;break}case 0:{if(e)e=7;else e=15;break}case 2:{e=11;break}default:e=15}if((e|0)==7){c=f[a+44>>2]|0;b[j>>0]=0;m=c+16|0;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Ie(c,h,j,j+1|0)|0}c=_m(296)|0;Di(c);d=f[k>>2]|0;f[k>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);e=15}}else if((e|0)==11){c=f[a+44>>2]|0;b[j>>0]=2;m=c+16|0;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Ie(c,h,j,j+1|0)|0}c=_m(360)|0;di(c);d=f[k>>2]|0;f[k>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);e=15}}if((e|0)==15){c=f[k>>2]|0;if(!c){m=0;u=l;return m|0}}m=Va[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;u=l;return m|0}function Md(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=Ka,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;k=y;e=a+4|0;if((f[e>>2]|0)!=-1){x=0;u=y;return x|0}f[e>>2]=d;v=b[c+24>>0]|0;w=v<<24>>24;x=a+20|0;n[x>>2]=$(0.0);f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;do if(v<<24>>24)if(v<<24>>24<0){Wo(k);y=Ha(4)|0;Pp(y);sa(y|0,1096,107)}else{t=w<<2;j=_m(t)|0;f[k>>2]=j;f[k+8>>2]=j+(w<<2);Xi(j|0,0,t|0)|0;j=j+(w<<2)|0;f[d>>2]=j;break}else j=0;while(0);t=a+8|0;d=f[t>>2]|0;i=a+12|0;if(!d)d=a+16|0;else{e=f[i>>2]|0;if((e|0)!=(d|0))f[i>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=a+16|0;f[d>>2]=0;f[i>>2]=0;f[t>>2]=0}f[t>>2]=f[k>>2];f[i>>2]=j;f[d>>2]=f[k+8>>2];s=w>>>0>1073741823?-1:w<<2;r=jq(s)|0;s=jq(s)|0;m=c+48|0;o=f[m>>2]|0;p=c+40|0;l=f[p>>2]|0;q=f[c>>2]|0;Eg(s|0,(f[q>>2]|0)+o|0,l|0)|0;Eg(f[t>>2]|0,(f[q>>2]|0)+o|0,l|0)|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=f[p>>2]|0;p=f[p+4>>2]|0;q=f[c>>2]|0;Eg(r|0,(f[q>>2]|0)+l|0,o|0)|0;k=f[c+80>>2]|0;a:do if((k|0)>1){if(v<<24>>24<=0){d=1;while(1){c=Zm(o|0,p|0,d|0,((d|0)<0)<<31>>31|0)|0;c=Zn(c|0,I|0,l|0,m|0)|0;Eg(s|0,(f[q>>2]|0)+c|0,o|0)|0;d=d+1|0;if((d|0)>=(k|0))break a}}i=f[t>>2]|0;a=1;do{j=Zm(o|0,p|0,a|0,((a|0)<0)<<31>>31|0)|0;j=Zn(j|0,I|0,l|0,m|0)|0;Eg(s|0,(f[q>>2]|0)+j|0,o|0)|0;j=0;do{e=i+(j<<2)|0;h=$(n[e>>2]);d=s+(j<<2)|0;g=$(n[d>>2]);if(h>g){n[e>>2]=g;g=$(n[d>>2])}d=r+(j<<2)|0;if($(n[d>>2])>2]=g;j=j+1|0}while((j|0)!=(w|0));a=a+1|0}while((a|0)<(k|0))}while(0);if(v<<24>>24>0){d=f[t>>2]|0;g=$(n[x>>2]);e=0;do{h=$(n[r+(e<<2)>>2]);h=$(h-$(n[d+(e<<2)>>2]));if(h>g){n[x>>2]=h;g=h}e=e+1|0}while((e|0)!=(w|0))}kq(s);kq(r);x=1;u=y;return x|0}function Nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}v=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=v;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;u=c+-1|0;v=(u&c|0)==0;if(v)g=d&u;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;t=a+24|0;i=h;e=d;d=h;a:while(1){s=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(v)r=e&u;else r=(e>>>0)%(c>>>0)|0;if((r|0)==(g|0))break;e=(f[a>>2]|0)+(r<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{p=f[d+8>>2]|0;n=f[t>>2]|0;o=f[n+8>>2]|0;n=(f[n+12>>2]|0)-o|0;q=n>>>2;if((n|0)>0)l=d;else while(1){h=f[e>>2]|0;if(!h)break c;else e=h}while(1){m=f[e+8>>2]|0;n=0;do{h=f[o+(n<<2)>>2]|0;j=(b[h+84>>0]|0)==0;if(j)k=f[(f[h+68>>2]|0)+(p<<2)>>2]|0;else k=p;if((q|0)<=(n|0)){d=35;break a}if(j)h=f[(f[h+68>>2]|0)+(m<<2)>>2]|0;else h=m;n=n+1|0;if((k|0)!=(h|0)){e=l;break c}}while((n|0)<(q|0));h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[s>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(r<<2)>>2]>>2];f[f[(f[a>>2]|0)+(r<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}e=f[d>>2]|0;if(!e){d=40;break a}else{i=d;s=d}}f[e>>2]=s;e=f[d>>2]|0;if(!e){d=40;break}else{i=d;g=r}}if((d|0)==35)Fa(20527,20426,68,20517);else if((d|0)==40)return}function Od(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q+4|0;n=q;j=q+12|0;k=q+11|0;l=q+10|0;p=q+8|0;m=c+44|0;e=f[m>>2]|0;g=e+16|0;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>0|(g|0)==0&h>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,19146,19151)|0;e=f[m>>2]|0;h=e+16|0;g=f[h+4>>2]|0;h=f[h>>2]|0}b[j>>0]=2;b[k>>0]=2;if(!((g|0)>0|(g|0)==0&h>>>0>0)?(f[n>>2]=f[e+4>>2],f[o>>2]=f[n>>2],Ie(e,o,j,j+1|0)|0,i=f[m>>2]|0,j=i+16|0,h=f[j+4>>2]|0,!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)):0){f[n>>2]=f[i+4>>2];f[o>>2]=f[n>>2];Ie(i,o,k,k+1|0)|0}e=(Ra[f[(f[c>>2]|0)+8>>2]&127](c)|0)&255;b[l>>0]=e;e=f[m>>2]|0;k=e+16|0;j=f[k+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,l,l+1|0)|0;e=f[m>>2]|0}l=Ra[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[p>>0]=l;l=e+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,p,p+1|0)|0}d[p>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;e=f[m>>2]|0;c=e+16|0;m=f[c+4>>2]|0;if((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,p,p+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}function Pd(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;p[s>>3]=a;c=f[s>>2]|0;k=f[s+4>>2]|0;p[s>>3]=b;l=f[s>>2]|0;m=f[s+4>>2]|0;d=yn(c|0,k|0,52)|0;d=d&2047;h=yn(l|0,m|0,52)|0;h=h&2047;n=k&-2147483648;j=tn(l|0,m|0,1)|0;i=I;a:do if(!((j|0)==0&(i|0)==0)?(g=Xn(b)|0,e=I&2147483647,!((d|0)==2047|(e>>>0>2146435072|(e|0)==2146435072&g>>>0>0))):0){e=tn(c|0,k|0,1)|0;g=I;if(!(g>>>0>i>>>0|(g|0)==(i|0)&e>>>0>j>>>0))return +((e|0)==(j|0)&(g|0)==(i|0)?a*0.0:a);if(!d){d=tn(c|0,k|0,12)|0;e=I;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){g=d;d=0;do{d=d+-1|0;g=tn(g|0,e|0,1)|0;e=I}while((e|0)>-1|(e|0)==-1&g>>>0>4294967295)}else d=0;c=tn(c|0,k|0,1-d|0)|0;i=I}else i=k&1048575|1048576;if(!h){e=tn(l|0,m|0,12)|0;g=I;if((g|0)>-1|(g|0)==-1&e>>>0>4294967295){h=0;do{h=h+-1|0;e=tn(e|0,g|0,1)|0;g=I}while((g|0)>-1|(g|0)==-1&e>>>0>4294967295)}else h=0;l=tn(l|0,m|0,1-h|0)|0;k=I}else k=m&1048575|1048576;j=Dn(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;b:do if((d|0)>(h|0)){while(1){if(g)if((j|0)==0&(e|0)==0)break;else c=j;else e=i;c=tn(c|0,e|0,1)|0;i=I;d=d+-1|0;j=Dn(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;if((d|0)<=(h|0)){h=j;break b}}b=a*0.0;break a}else h=j;while(0);if(g)if((h|0)==0&(e|0)==0){b=a*0.0;break}else c=h;else e=i;if(e>>>0<1048576|(e|0)==1048576&c>>>0<0)do{c=tn(c|0,e|0,1)|0;e=I;d=d+-1|0}while(e>>>0<1048576|(e|0)==1048576&c>>>0<0);if((d|0)>0){m=Zn(c|0,e|0,0,-1048576)|0;c=I;d=tn(d|0,0,52)|0;c=c|I;d=m|d}else{d=yn(c|0,e|0,1-d|0)|0;c=I}f[s>>2]=d;f[s+4>>2]=c|n;b=+p[s>>3]}else o=3;while(0);if((o|0)==3){b=a*b;b=b/b}return +b}function Qd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}n=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)g=c&m;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){b:do if(n){l=i;j=c;while(1){c=e;while(1){k=f[c+4>>2]&m;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=c+8|0;h=c;while(1){e=f[h>>2]|0;if(!e)break;if((d[i>>1]|0)==(d[e+8>>1]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[l>>2]|0;if(!c){c=34;break a}}e=f[c>>2]|0;if(!e){c=34;break a}else{l=c;j=c}}}else{l=i;j=c;while(1){c=e;while(1){k=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=c+8|0;h=c;while(1){e=f[h>>2]|0;if(!e)break;if((d[i>>1]|0)==(d[e+8>>1]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[l>>2]|0;if(!c){c=34;break a}}e=f[c>>2]|0;if(!e){c=34;break a}else{l=c;j=c}}}while(0);f[e>>2]=h;e=f[c>>2]|0;if(!e){c=34;break}else i=c}if((c|0)==34)return}function Rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}n=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=n;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;m=c+-1|0;n=(m&c|0)==0;if(n)g=d&m;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){b:do if(n){l=i;j=d;while(1){d=e;while(1){k=f[d+4>>2]&m;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=d+8|0;h=d;while(1){e=f[h>>2]|0;if(!e)break;if((b[i>>0]|0)==(b[e+8>>0]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=d;d=f[l>>2]|0;if(!d){d=34;break a}}e=f[d>>2]|0;if(!e){d=34;break a}else{l=d;j=d}}}else{l=i;j=d;while(1){d=e;while(1){k=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=d+8|0;h=d;while(1){e=f[h>>2]|0;if(!e)break;if((b[i>>0]|0)==(b[e+8>>0]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=d;d=f[l>>2]|0;if(!d){d=34;break a}}e=f[d>>2]|0;if(!e){d=34;break a}else{l=d;j=d}}}while(0);f[e>>2]=h;e=f[d>>2]|0;if(!e){d=34;break}else i=d}if((d|0)==34)return}function Sd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=f[c>>2]|0;l=f[b>>2]|0;b=m-l|0;o=(b|0)/12|0;if(!b)Fa(8e3,7742,232,8029);n=a+8|0;h=f[n>>2]|0;if((b|0)<768){if(h>>>0<=1){a=0;return a|0}c=f[e>>2]|0;g=1;b=0;do{b=(f[c+(b<<2)>>2]|0)>>>0>(f[c+(g<<2)>>2]|0)>>>0?g:b;g=g+1|0}while(g>>>0>>0);return b|0}if(h){j=f[e>>2]|0;k=f[a+1140>>2]|0;h=f[d>>2]|0;i=f[a+1128>>2]|0;if((l|0)==(m|0)){c=0;do{f[k+(c<<2)>>2]=(f[a>>2]|0)-(f[j+(c<<2)>>2]|0);b=i+(c<<2)|0;l=f[b>>2]|0;m=o-l|0;f[b>>2]=m>>>0>>0?l:m;c=c+1|0;b=f[n>>2]|0}while(c>>>0>>0)}else{d=0;do{g=(f[a>>2]|0)-(f[j+(d<<2)>>2]|0)|0;f[k+(d<<2)>>2]=g;g=(1<>2]|0)|0;e=i+(d<<2)|0;b=l;c=f[e>>2]|0;do{c=c+((f[b+(d<<2)>>2]|0)>>>0>>0&1)|0;f[e>>2]=c;b=b+12|0}while((b|0)!=(m|0));b=o-c|0;f[e>>2]=b>>>0>>0?c:b;d=d+1|0;b=f[n>>2]|0}while(d>>>0>>0)}if(b){e=f[a+1140>>2]|0;h=a+1128|0;c=0;d=0;g=0;do{if(f[e+(d<<2)>>2]|0){o=f[(f[h>>2]|0)+(d<<2)>>2]|0;n=g>>>0>>0;c=n?d:c;g=n?o:g}d=d+1|0}while(d>>>0>>0);i=c}else i=0}else i=0;d=a+1088|0;j=a+1104|0;b=f[j>>2]|0;g=32-b|0;h=a+1100|0;c=f[h>>2]|0;if((g|0)<4){e=i&15;g=4-g|0;f[j>>2]=g;g=e>>>g|c;f[h>>2]=g;c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))zi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=e<<32-(f[j>>2]|0);a=i;return a|0}g=c|i<<28>>>b;f[h>>2]=g;o=b+4|0;f[j>>2]=o;if((o|0)!=32){a=i;return a|0}c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))zi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=0;f[j>>2]=0;a=i;return a|0}function Td(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=f[a>>2]|0;h=i;b=i+((f[b>>2]|0)-h>>2<<2)|0;k=f[c>>2]|0;e=f[d>>2]|0;p=e-k|0;l=p>>2;c=k;o=e;if((p|0)<=0){p=b;return p|0}n=a+8|0;d=f[n>>2]|0;p=a+4|0;m=f[p>>2]|0;g=m;if((l|0)<=(d-g>>2|0)){j=b;i=g-j|0;d=i>>2;if((l|0)>(d|0)){d=c+(d<<2)|0;e=d;if((d|0)==(o|0))d=m;else{h=o+-4-e|0;g=m;while(1){f[g>>2]=f[d>>2];d=d+4|0;if((d|0)==(o|0))break;else g=g+4|0}d=m+((h>>>2)+1<<2)|0;f[p>>2]=d}if((i|0)<=0){p=b;return p|0}}else d=m;k=d-(b+(l<<2))>>2;g=b+(k<<2)|0;if(g>>>0>>0){h=(m+(0-k<<2)+~j|0)>>>2;i=d;j=g;while(1){f[i>>2]=f[j>>2];j=j+4|0;if(j>>>0>=m>>>0)break;else i=i+4|0}f[p>>2]=d+(h+1<<2)}if(k|0)do{g=g+-4|0;d=d+-4|0;f[d>>2]=f[g>>2]}while((g|0)!=(b|0));if((c|0)==(e|0)){p=b;return p|0}else d=b;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(e|0))break;else d=d+4|0}return b|0}e=(g-h>>2)+l|0;if(e>>>0>1073741823){Wo(a);i=f[a>>2]|0;h=i;d=f[n>>2]|0}j=d-h|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;j=b;d=j-h>>2;do if(g)if(g>>>0>1073741823){p=Ha(4)|0;Pp(p);sa(p|0,1096,107)}else{e=_m(g<<2)|0;break}else e=0;while(0);h=e+(d<<2)|0;g=e+(g<<2)|0;if((c|0)==(o|0))d=h;else{e=((o+-4-k|0)>>>2)+1|0;d=h;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(o|0))break;else d=d+4|0}d=h+(e<<2)|0}c=j-i|0;e=h+(0-(c>>2)<<2)|0;if((c|0)>0)Eg(e|0,i|0,c|0)|0;c=(f[p>>2]|0)-j|0;if((c|0)>0){Eg(d|0,b|0,c|0)|0;b=d+(c>>>2<<2)|0}else b=d;f[a>>2]=e;f[p>>2]=b;f[n>>2]=g;if(!i){p=h;return p|0}mq(i);p=h;return p|0}function Ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}m=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){b:do if(m){k=h;i=c;while(1){c=d;while(1){j=f[c+4>>2]&l;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}else{k=h;i=c;while(1){c=d;while(1){j=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}while(0);f[d>>2]=g;d=f[c>>2]|0;if(!d){c=34;break}else h=c}if((c|0)==34)return}function Vd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Ne(a,b,c,d,g)|0;l=f[e>>2]|0;n=f[d>>2]|0;h=f[g>>2]|0;j=f[h+4>>2]|0;i=f[h>>2]|0;if(j-i>>3>>>0>l>>>0){m=h;k=i;h=i}else{Vo(h);j=f[g>>2]|0;m=j;k=f[h>>2]|0;h=f[j>>2]|0;j=f[j+4>>2]|0}i=f[k+(l<<3)>>2]|0;if(j-h>>3>>>0<=n>>>0){Vo(m);h=f[m>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0)return o|0;l=f[d>>2]|0;f[d>>2]=f[e>>2];f[e>>2]=l;l=f[d>>2]|0;n=f[c>>2]|0;j=f[g>>2]|0;i=f[j+4>>2]|0;h=f[j>>2]|0;if(i-h>>3>>>0>l>>>0){m=h;k=i}else{Vo(j);e=f[g>>2]|0;m=f[j>>2]|0;h=f[e>>2]|0;k=f[e+4>>2]|0;j=e}i=f[m+(l<<3)>>2]|0;if(k-h>>3>>>0<=n>>>0){Vo(j);h=f[j>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0){o=o+1|0;return o|0}l=f[c>>2]|0;f[c>>2]=f[d>>2];f[d>>2]=l;l=f[c>>2]|0;n=f[b>>2]|0;j=f[g>>2]|0;i=f[j+4>>2]|0;h=f[j>>2]|0;if(i-h>>3>>>0>l>>>0){m=h;k=i}else{Vo(j);d=f[g>>2]|0;m=f[j>>2]|0;h=f[d>>2]|0;k=f[d+4>>2]|0;j=d}i=f[m+(l<<3)>>2]|0;if(k-h>>3>>>0<=n>>>0){Vo(j);h=f[j>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0){o=o+2|0;return o|0}m=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=m;m=f[b>>2]|0;n=f[a>>2]|0;j=f[g>>2]|0;i=f[j+4>>2]|0;h=f[j>>2]|0;if(i-h>>3>>>0>m>>>0){l=h;k=i}else{Vo(j);g=f[g>>2]|0;l=f[j>>2]|0;h=f[g>>2]|0;k=f[g+4>>2]|0;j=g}i=f[l+(m<<3)>>2]|0;if(k-h>>3>>>0<=n>>>0){Vo(j);h=f[j>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0){o=o+3|0;return o|0}g=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=g;o=o+4|0;return o|0}function Wd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=f[b>>2]|0;l=f[a>>2]|0;e=f[d>>2]|0;h=f[e+4>>2]|0;g=f[e>>2]|0;if(h-g>>3>>>0>j>>>0){k=e;i=g;e=g}else{Vo(e);h=f[d>>2]|0;k=h;i=f[e>>2]|0;e=f[h>>2]|0;h=f[h+4>>2]|0}g=f[i+(j<<3)>>2]|0;if(h-e>>3>>>0>l>>>0)h=k;else{Vo(k);e=f[k>>2]|0;h=f[d>>2]|0}m=g>>>0<(f[e+(l<<3)>>2]|0)>>>0;j=f[c>>2]|0;l=f[b>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);g=f[d>>2]|0;k=f[h>>2]|0;e=f[g>>2]|0;i=f[g+4>>2]|0;h=g}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}e=g>>>0<(f[e+(l<<3)>>2]|0)>>>0;if(!m){if(!e){b=0;return b|0}k=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=k;k=f[b>>2]|0;l=f[a>>2]|0;h=f[d>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>k>>>0){j=e;i=g}else{Vo(h);c=f[d>>2]|0;j=f[h>>2]|0;e=f[c>>2]|0;i=f[c+4>>2]|0;h=c}g=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){b=1;return b|0}c=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=c;b=2;return b|0}l=f[a>>2]|0;if(e){f[a>>2]=f[c>>2];f[c>>2]=l;b=1;return b|0}f[a>>2]=f[b>>2];f[b>>2]=l;k=f[c>>2]|0;h=f[d>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>k>>>0){j=e;i=g}else{Vo(h);a=f[d>>2]|0;j=f[h>>2]|0;e=f[a>>2]|0;i=f[a+4>>2]|0;h=a}g=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){b=1;return b|0}a=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=a;b=2;return b|0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=e>>>0>1073741823?-1:e<<2;q=jq(n)|0;Xi(q|0,0,n|0)|0;n=f[a+28>>2]|0;s=a+36|0;d=f[s>>2]|0;h=f[d+4>>2]|0;g=f[d>>2]|0;i=h-g|0;a:do if((i|0)>4){o=f[a+32>>2]|0;t=a+8|0;p=n+12|0;r=(e|0)>0;l=i>>2;while(1){m=l+-1|0;if(h-g>>2>>>0<=m>>>0){Vo(d);g=f[d>>2]|0}g=f[g+(m<<2)>>2]|0;k=X(m,e)|0;if((g|0)>=0?(u=f[(f[p>>2]|0)+(g<<2)>>2]|0,(u|0)>=0):0){d=f[n>>2]|0;h=f[o>>2]|0;i=f[h+(f[d+(u<<2)>>2]<<2)>>2]|0;g=u+1|0;g=((g|0)%3|0|0)==0?u+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;j=f[h+(g<<2)>>2]|0;g=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;g=f[h+(g<<2)>>2]|0;if((i|0)<(m|0)&(j|0)<(m|0)&(g|0)<(m|0)){i=X(i,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(r){g=0;do{f[q+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}Xh(t,b+(k<<2)|0,q,c+(k<<2)|0)}else v=17}else v=17;if((v|0)==17){v=0;Xh(t,b+(k<<2)|0,b+((X(l+-2|0,e)|0)<<2)|0,c+(k<<2)|0)}if((m|0)<=1)break a;h=f[s>>2]|0;d=h;g=f[h>>2]|0;h=f[h+4>>2]|0;l=m}}while(0);if((e|0)<=0){v=a+8|0;Xh(v,b,q,c);kq(q);return 1}Xi(q|0,0,e<<2|0)|0;v=a+8|0;Xh(v,b,q,c);kq(q);return 1}function Yd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;p=t+4|0;q=t;s=t+8|0;r=a+4|0;o=a+8|0;Mh((f[o>>2]|0)-(f[r>>2]|0)>>2,c)|0;d=f[r>>2]|0;if((f[o>>2]|0)==(d|0)){u=t;return 1}n=a+32|0;m=c+16|0;h=c+4|0;i=s+1|0;j=s+1|0;l=s+1|0;k=s+1|0;a=d;g=0;while(1){a=f[a+(g<<2)>>2]|0;d=f[n>>2]|0;if((a|0)<=-1){a=5;break}e=f[d+8>>2]|0;if(((f[d+12>>2]|0)-e>>2|0)<=(a|0)){a=7;break}e=f[e+(a<<2)>>2]|0;b[s>>0]=f[e+56>>2];a=m;d=f[a>>2]|0;a=f[a+4>>2]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,k)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=f[e+28>>2];if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,l)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+24>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,j)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+32>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,i)|0}Mh(f[e+60>>2]|0,c)|0;g=g+1|0;a=f[r>>2]|0;if(g>>>0>=(f[o>>2]|0)-a>>2>>>0){a=3;break}}if((a|0)==3){u=t;return 1}else if((a|0)==5)Fa(20410,20426,59,20517);else if((a|0)==7)Fa(20527,20426,60,20517);return 0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+60|0;Mh(f[g>>2]|0,b)|0;an(k);Wk(k);c=f[a+56>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;oj(k);u=m;return 1}function _d(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;k=a+12|0;b=f[k>>2]|0;p=(f[b+4>>2]|0)-(f[b>>2]|0)|0;o=p>>2;if((p|0)<=0){u=r;return 1}j=a+152|0;p=a+140|0;l=a+144|0;i=a+148|0;a=0;while(1){f[m>>2]=(a>>>0)/3|0;f[n>>2]=f[m>>2];if(!(Cj(b,n)|0)?(f[(f[(f[k>>2]|0)+12>>2]|0)+(a<<2)>>2]|0)==-1073741824:0){b=a+1|0;b=((b|0)%3|0|0)==0?a+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[(f[f[k>>2]>>2]|0)+(b<<2)>>2]|0;c=f[j>>2]|0;if((f[c+(d<<2)>>2]|0)==-1){h=f[l>>2]|0;b=f[i>>2]|0;if((h|0)==(b<<5|0)){if((h+1|0)<0){Wo(p);b=f[i>>2]|0}c=b<<6;g=h+32&-32;bi(p,b<<5>>>0<1073741823?(c>>>0>>0?g:c):2147483647);b=f[l>>2]|0;c=f[j>>2]|0}else b=h;f[l>>2]=b+1;g=(f[p>>2]|0)+(b>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(b&31));b=c+(d<<2)|0;if((f[b>>2]|0)==-1){d=a;while(1){f[b>>2]=h;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;a:do if((b|0)>=0){g=f[k>>2]|0;e=f[g+12>>2]|0;while(1){d=f[e+(b<<2)>>2]|0;if((d|0)==-1073741824)break;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;if((b|0)<0){q=18;break a}}d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)<0){d=-1073741824;e=b}else{d=f[(f[g>>2]|0)+(d<<2)>>2]|0;e=b}}else q=18;while(0);if((q|0)==18){q=0;b=(b|0)==-1073741824;do{}while(!b);d=-1073741824;e=-1073741824}b=c+(d<<2)|0;if((f[b>>2]|0)!=-1)break;else d=e}}}}a=a+1|0;if((a|0)>=(o|0))break;b=f[k>>2]|0}u=r;return 1}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+80|0;Mh(f[g>>2]|0,b)|0;an(k);Wk(k);c=f[a+76>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;oj(k);u=m;return 1}function ae(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;i=l+4|0;j=l;e=l+9|0;k=l+8|0;c=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[e>>0]=c;g=a+4|0;d=f[(f[g>>2]|0)+44>>2]|0;m=d+16|0;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[j>>2]=f[d+4>>2];f[i>>2]=f[j>>2];Ie(d,i,e,e+1|0)|0;c=b[e>>0]|0}a:do if(c<<24>>24>-1){d=a+172|0;n=f[(f[d>>2]|0)+((c<<24>>24)*108|0)>>2]|0;m=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;e=b[e>>0]|0;c=f[d>>2]|0;d=f[c+(e*108|0)+104>>2]|0;switch(f[(f[(f[m>>2]|0)+84>>2]|0)+(n<<2)>>2]|0){case 0:{h=7;break a}case 1:{if(b[c+(e*108|0)+28>>0]|0){h=7;break a}break}default:{}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=1;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,k,k+1|0)|0}}else{d=f[a+68>>2]|0;h=7}while(0);if((h|0)==7){c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=0;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,k,k+1|0)|0}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=d;n=c+16|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0){u=l;return 1}f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,k,k+1|0)|0;u=l;return 1}function be(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=Ka,B=Ka;y=u;u=u+16|0;x=y;h=c+4|0;if((f[h>>2]|0)==-1)Fa(7347,7364,113,7476);q=e+4|0;j=b[d+24>>0]|0;w=j<<24>>24;ri(a,c,(f[q>>2]|0)-(f[e>>2]|0)>>2,w,g,d);o=f[a>>2]|0;o=(f[f[o>>2]>>2]|0)+(f[o+48>>2]|0)|0;v=f[h>>2]|0;dp(x);no(x,$(n[c+20>>2]),(1<>>0>1073741823?-1:w<<2)|0;g=f[q>>2]|0;a=f[e>>2]|0;q=a;if((g|0)==(a|0)){kq(v);u=y;return}r=d+68|0;s=d+48|0;t=d+40|0;k=c+8|0;l=x+4|0;p=(b[d+84>>0]|0)==0;m=g-a>>2;if(j<<24>>24>0){e=0;c=0}else{g=0;do{a=f[q+(g<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;w=s;o=f[w>>2]|0;w=f[w+4>>2]|0;l=t;x=f[l>>2]|0;l=Zm(x|0,f[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;w=Zn(l|0,I|0,o|0,w|0)|0;Eg(v|0,(f[f[d>>2]>>2]|0)+w|0,x|0)|0;g=g+1|0}while(g>>>0>>0);kq(v);u=y;return}while(1){a=f[q+(c<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;h=s;j=f[h>>2]|0;h=f[h+4>>2]|0;z=t;g=f[z>>2]|0;a=Zm(g|0,f[z+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Zn(a|0,I|0,j|0,h|0)|0;Eg(v|0,(f[f[d>>2]>>2]|0)+a|0,g|0)|0;a=f[k>>2]|0;i=$(n[x>>2]);g=0;h=e;while(1){A=$(n[v+(g<<2)>>2]);A=$(A-$(n[a+(g<<2)>>2]));j=A<$(0.0);B=$(-A);A=$((j?B:A)/i);z=~~$(J($($($(f[l>>2]|0)*A)+$(.5))));f[o+(h<<2)>>2]=j?0-z|0:z;g=g+1|0;if((g|0)==(w|0))break;else h=h+1|0}c=c+1|0;if(c>>>0>=m>>>0)break;else e=w+e|0}kq(v);u=y;return}function ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;k=l;h=a+8|0;g=f[h>>2]|0;j=a+4|0;d=f[j>>2]|0;if(((g-d|0)/108|0)>>>0>=c>>>0){do{f[d>>2]=-1;cm(d+4|0);b[d+72>>0]=1;k=d+76|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;d=(f[j>>2]|0)+108|0;f[j>>2]=d;c=c+-1|0}while((c|0)!=0);u=l;return}e=f[a>>2]|0;i=((d-e|0)/108|0)+c|0;if(i>>>0>39768215){Wo(a);e=f[a>>2]|0;g=f[h>>2]|0;d=f[j>>2]|0}j=(g-e|0)/108|0;h=j<<1;h=j>>>0<19884107?(h>>>0>>0?i:h):39768215;d=(d-e|0)/108|0;f[k+12>>2]=0;f[k+16>>2]=a+8;do if(h)if(h>>>0>39768215){l=Ha(4)|0;Pp(l);sa(l|0,1096,107)}else{e=_m(h*108|0)|0;break}else e=0;while(0);f[k>>2]=e;d=e+(d*108|0)|0;i=k+8|0;f[i>>2]=d;g=k+4|0;f[g>>2]=d;f[k+12>>2]=e+(h*108|0);do{f[d>>2]=-1;cm(d+4|0);b[d+72>>0]=1;j=d+76|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;d=(f[i>>2]|0)+108|0;f[i>>2]=d;c=c+-1|0}while((c|0)!=0);Hd(a,k);h=f[g>>2]|0;c=f[i>>2]|0;if((c|0)!=(h|0))do{f[i>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}xj(c+-104|0);c=f[i>>2]|0}while((c|0)!=(h|0));c=f[k>>2]|0;if(c|0)mq(c);u=l;return}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;m=o+8|0;n=o;l=b+4|0;h=f[(f[l>>2]|0)+48>>2]|0;k=b+12|0;e=f[k>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17755,17);g=h+16|0;b=f[g>>2]|0;if(b){c=g;a:while(1){d=b;while(1){if((f[d+16>>2]|0)>=(e|0))break;b=f[d+4>>2]|0;if(!b)break a;else d=b}b=f[d>>2]|0;if(!b){c=d;break}else c=d}if(((c|0)!=(g|0)?(i=c+20|0,(e|0)>=(f[c+16>>2]|0)):0)?(Kh(i,m)|0)!=0:0)c=Ck(i,m,-1)|0;else j=10}else j=10;if((j|0)==10)c=Ck(h,m,-1)|0;_n(m);c=(1<>2]=-1;f[m+4>>2]=-1;f[m+8>>2]=-1;f[m+12>>2]=-1;if(((c|0)%2|0|0)!=1)Fa(11579,11612,67,11772);b=(_(c|0)|0)^31;c=b+1|0;if(!b)Fa(11796,11807,60,11922);if(c>>>0>=31)Fa(11942,11807,61,11922);f[m>>2]=c;j=2<>2]=j+-1;j=j+-2|0;f[m+8>>2]=j;f[m+12>>2]=(j|0)/2|0;switch(hi(f[k>>2]|0,f[l>>2]|0)|0){case 6:{Tg(n,6,f[k>>2]|0,f[l>>2]|0,m);f[a>>2]=f[n>>2];u=o;return}case 0:{Tg(n,0,f[k>>2]|0,f[l>>2]|0,m);f[a>>2]=f[n>>2];u=o;return}default:Fa(11954,11960,69,12086)}}function ee(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;l=e>>>0>1073741823?-1:e<<2;o=jq(l)|0;Xi(o|0,0,l|0)|0;l=f[a+28>>2]|0;r=a+36|0;d=f[r>>2]|0;h=f[d+4>>2]|0;g=f[d>>2]|0;i=h-g|0;a:do if((i|0)>4){m=f[a+32>>2]|0;s=a+8|0;q=l+64|0;n=l+28|0;p=(e|0)>0;i=i>>2;while(1){k=i+-1|0;if(h-g>>2>>>0<=k>>>0){Vo(d);g=f[d>>2]|0}g=f[g+(k<<2)>>2]|0;j=X(k,e)|0;if((!((g|0)<0?1:(1<<(g&31)&f[(f[l>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(w=f[(f[(f[q>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(w|0)>=0):0)?(v=f[n>>2]|0,h=f[m>>2]|0,t=f[h+(f[v+(w<<2)>>2]<<2)>>2]|0,u=w+1|0,u=f[h+(f[v+((((u|0)%3|0|0)==0?w+-2|0:u)<<2)>>2]<<2)>>2]|0,v=f[h+(f[v+((((w>>>0)%3|0|0)==0?2:-1)+w<<2)>>2]<<2)>>2]|0,(t|0)<(k|0)&(u|0)<(k|0)&(v|0)<(k|0)):0){d=X(t,e)|0;h=X(u,e)|0;i=X(v,e)|0;if(p){g=0;do{f[o+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}Xh(s,b+(j<<2)|0,o,c+(j<<2)|0)}else Xh(s,b+(j<<2)|0,b+((X(i+-2|0,e)|0)<<2)|0,c+(j<<2)|0);if((k|0)<=1)break a;h=f[r>>2]|0;d=h;g=f[h>>2]|0;h=f[h+4>>2]|0;i=k}}while(0);if((e|0)<=0){a=a+8|0;Xh(a,b,o,c);kq(o);return 1}Xi(o|0,0,e<<2|0)|0;a=a+8|0;Xh(a,b,o,c);kq(o);return 1}function fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<>>0>31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if(e>>>0<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if(!h){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;m=r+4|0;l=r;f[a+64>>2]=b;q=a+128|0;f[q>>2]=2;p=a+132|0;f[p>>2]=7;g=Ra[f[(f[b>>2]|0)+32>>2]&127](b)|0;n=a+88|0;f[n>>2]=g;k=a+104|0;g=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;j=a+108|0;b=f[j>>2]|0;c=f[k>>2]|0;h=b-c>>2;d=c;e=b;if(g>>>0<=h>>>0){if(g>>>0>>0?(i=d+(g<<2)|0,(e|0)!=(i|0)):0){b=e+(~((e+-4-i|0)>>>2)<<2)|0;f[j>>2]=b}}else{gi(k,g-h|0);c=f[k>>2]|0;b=f[j>>2]|0}if((b-c|0)>0){b=0;do{h=f[n>>2]|0;f[l>>2]=b;f[m>>2]=f[l>>2];h=Ph(h,m)|0;i=f[k>>2]|0;f[i+(b<<2)>>2]=h;b=b+1|0}while((b|0)<((f[j>>2]|0)-i>>2|0))}j=a+92|0;d=f[n>>2]|0;b=f[d>>2]|0;i=(f[d+4>>2]|0)-b>>2;g=a+96|0;e=f[g>>2]|0;c=f[j>>2]|0;h=e-c>>2;if(i>>>0<=h>>>0){if(i>>>0>>0?(o=c+(i<<2)|0,(e|0)!=(o|0)):0)f[g>>2]=e+(~((e+-4-o|0)>>>2)<<2)}else{gi(j,i-h|0);b=f[n>>2]|0;d=b;b=f[b>>2]|0}c=f[d+4>>2]|0;if((c-b|0)>0){b=0;do{o=f[d>>2]|0;f[(f[j>>2]|0)+(b<<2)>>2]=f[o+(b<<2)>>2];b=b+1|0}while((b|0)<(c-o>>2|0))}e=(f[p>>2]|0)-(f[q>>2]|0)+1|0;g=a+136|0;h=a+140|0;b=f[h>>2]|0;c=f[g>>2]|0;d=(b-c|0)/12|0;if(e>>>0>d>>>0){rf(g,e-d|0);u=r;return 1}if(e>>>0>=d>>>0){u=r;return 1}e=c+(e*12|0)|0;if((b|0)==(e|0)){u=r;return 1}do{c=b+-12|0;f[h>>2]=c;d=f[c>>2]|0;if(!d)b=c;else{c=b+-8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);b=f[h>>2]|0}}while((b|0)!=(e|0));u=r;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Qc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Rc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Sc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Tc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Uc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Vc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=2097152;if(h){d=2097152;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<19)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Cf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Wc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=1048576;if(h){d=1048576;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<18)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Df(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Xc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=262144;if(h){d=262144;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<16)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function pe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Yc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=131072;if(h){d=131072;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<15)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ff(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<>>0>31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function re(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Zc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=32768;if(h){d=32768;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<13)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Hf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function se(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;_c(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function te(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;$c(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ue(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;ad(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ve(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;bd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function we(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;cd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function xe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;dd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ye(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;ed(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ze(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;fd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+32|0;p=s+16|0;n=s+12|0;m=s+8|0;o=s+4|0;q=s;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Qo(e);if((a|0)!=(b|0)){f[m>>2]=f[b>>2];f[o>>2]=b+4;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(a,n,p)}d=b+24|0;if((e|0)!=(d|0)){f[m>>2]=f[d>>2];f[o>>2]=b+28;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(e,n,p)}f[q>>2]=0;l=c+8|0;k=c+12|0;d=f[k>>2]|0;e=f[l>>2]|0;if((d-e|0)<=0){u=s;return}j=b+16|0;c=0;while(1){if((c|0)<=-1){d=9;break}i=f[(f[e+(c<<2)>>2]|0)+56>>2]|0;b=f[j>>2]|0;if(b){h=j;g=b;a:while(1){b=g;while(1){if((f[b+16>>2]|0)>=(i|0))break;b=f[b+4>>2]|0;if(!b){b=h;break a}}g=f[b>>2]|0;if(!g)break;else h=b}if((b|0)!=(j|0)?(r=b+20|0,(i|0)>=(f[b+16>>2]|0)):0){d=xd(a,q)|0;if((d|0)!=(r|0)){f[m>>2]=f[r>>2];f[o>>2]=b+24;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(d,n,p)}c=f[q>>2]|0;e=f[l>>2]|0;d=f[k>>2]|0}}c=c+1|0;f[q>>2]=c;if((c|0)>=(d-e>>2|0)){d=7;break}}if((d|0)==7){u=s;return}else if((d|0)==9)Fa(20410,20426,59,20517)}function Be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n;h=a+4|0;d=f[h>>2]|0;e=f[(f[a>>2]|0)+52>>2]|0;if(!d){if(!(Ma[e&31](a,c,0)|0)){m=0;u=n;return m|0}}else if(!(Ma[e&31](a,c,f[(f[d+4>>2]|0)+80>>2]|0)|0)){m=0;u=n;return m|0}if(!(b[a+28>>0]|0)){m=1;u=n;return m|0}j=f[a+8>>2]|0;i=f[a+32>>2]|0;d=f[j+80>>2]|0;f[m>>2]=0;l=m+4|0;f[l>>2]=0;f[m+8>>2]=0;do if(d)if(d>>>0>1073741823){Wo(m);n=Ha(4)|0;Pp(n);sa(n|0,1096,107)}else{a=d<<2;g=_m(a)|0;f[m>>2]=g;k=g+(d<<2)|0;f[m+8>>2]=k;Xi(g|0,0,a|0)|0;f[l>>2]=k;break}else{g=0;k=0}while(0);e=f[c+4>>2]|0;d=f[c>>2]|0;c=d;a:do if((e|0)!=(d|0)){a=e-d>>2;if(b[j+84>>0]|0){d=0;while(1){f[g+(f[c+(d<<2)>>2]<<2)>>2]=d;d=d+1|0;if(d>>>0>=a>>>0)break a}}d=f[j+68>>2]|0;e=0;do{f[g+(f[d+(f[c+(e<<2)>>2]<<2)>>2]<<2)>>2]=e;e=e+1|0}while(e>>>0>>0)}while(0);c=f[(f[(f[h>>2]|0)+4>>2]|0)+80>>2]|0;if((c|0)>0){e=j+68|0;a=(b[i+84>>0]|0)==0;g=f[m>>2]|0;d=i+68|0;if(!(b[j+84>>0]|0)){if(!a)Fa(19931,19950,89,20044);a=f[e>>2]|0;d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while((e|0)<(c|0))}else{if(!a)Fa(19931,19950,89,20044);d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(e<<2)>>2];e=e+1|0}while((e|0)<(c|0))}}d=f[m>>2]|0;if(d|0){if((k|0)!=(d|0))f[l>>2]=k+(~((k+-4-d|0)>>>2)<<2);mq(d)}m=1;u=n;return m|0}function Ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+16|0;n=t+4|0;o=t;r=t+8|0;q=a+12|0;Mh(f[q>>2]|0,c)|0;if(!(f[q>>2]|0)){s=1;u=t;return s|0}p=c+16|0;j=c+4|0;k=r+1|0;l=r+1|0;m=r+1|0;d=0;while(1){i=f[a>>2]|0;h=f[i+(d<<3)>>2]|0;if(h>>>0>63)if(h>>>0>16383)if(h>>>0>4194303){d=0;s=20;break}else{g=2;s=13}else{g=1;s=13}else if(!h){g=d+1|0;e=0;do{if(f[i+(g+e<<3)>>2]|0)break;e=e+1|0}while(e>>>0<63);b[r>>0]=e<<2|3;i=p;h=f[i+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ie(c,n,r,m)|0}d=e+d|0}else{g=0;s=13}if((s|0)==13){s=0;b[r>>0]=g|h<<2;i=p;e=f[i+4>>2]|0;if(!((e|0)>0|(e|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ie(c,n,r,l)|0}if(g){e=0;do{e=e+1|0;b[r>>0]=h>>>((e<<3)+-2|0);i=p;v=f[i+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ie(c,n,r,k)|0}}while((e|0)<(g|0))}}d=d+1|0;if(d>>>0>=(f[q>>2]|0)>>>0){d=1;s=20;break}}if((s|0)==20){u=t;return d|0}return 0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;l=e<<5;d=b-g|0;if(l>>>0>>0|g>>>0>(l-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0){Wo(a);e=f[m>>2]|0}h=e<<6;b=b+31&-32;bi(o,e<<5>>>0<1073741823?(h>>>0>>0?b:h):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;dm(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)mq(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;Xi(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;Xi(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;i=f[(f[b+4>>2]|0)+(c<<2)>>2]|0;d=f[b+28>>2]|0;c=f[d+4>>2]|0;if((i|0)<=-1)Fa(20410,20426,59,20517);b=f[c+8>>2]|0;if(((f[c+12>>2]|0)-b>>2|0)<=(i|0))Fa(20527,20426,60,20517);h=f[b+(i<<2)>>2]|0;switch(f[h+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{l=_m(40)|0;Yn(l);f[a>>2]=l;u=m;return}case 9:{l=7;break}default:{}}if((l|0)==7){e=f[d+48>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kj(k,17755,17);g=e+16|0;b=f[g>>2]|0;if(b){c=g;a:while(1){d=b;while(1){if((f[d+16>>2]|0)>=(i|0))break;b=f[d+4>>2]|0;if(!b)break a;else d=b}b=f[d>>2]|0;if(!b){c=d;break}else c=d}if(((c|0)!=(g|0)?(j=c+20|0,(i|0)>=(f[c+16>>2]|0)):0)?(Kh(j,k)|0)!=0:0)c=Ck(j,k,-1)|0;else l=16}else l=16;if((l|0)==16)c=Ck(e,k,-1)|0;_n(k);if((c|0)>0)if((f[h+56>>2]|0)==1){c=_m(48)|0;b=c;d=b+48|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));Yn(c);f[c>>2]=2368;f[c+40>>2]=1152;f[c+44>>2]=-1;l=c;f[a>>2]=l;u=m;return}else{l=_m(64)|0;rm(l);f[a>>2]=l;u=m;return}}l=_m(36)|0;tm(l);f[a>>2]=l;u=m;return}function Fe(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=Ka,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka;l=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(c)h=g&l;else h=(l>>>0)%(i>>>0)|0;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(b)if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}if((f[b+4>>2]&g|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else{do{b=f[b>>2]|0;if(!b){b=h;break a}if((((f[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else b=h}else b=0;while(0);m=_m(16)|0;f[m+8>>2]=l;f[m+12>>2]=0;f[m+4>>2]=l;f[m>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;si(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&l;break}else{g=b;b=(l>>>0)%(b>>>0)|0;break}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[m>>2]=f[b>>2];f[b>>2]=m;f[c>>2]=b;b=f[m>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;b=(f[a>>2]|0)+(b<<2)|0;o=24}}else{f[m>>2]=f[b>>2];o=24}if((o|0)==24)f[b>>2]=m;f[h>>2]=(f[h>>2]|0)+1;a=m;a=a+12|0;return a|0}function Ge(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b+12|0;h=f[m>>2]|0;l=c+4|0;k=(f[l>>2]|0)-h|0;e=c;f[e>>2]=(f[c>>2]|0)-h;f[e+4>>2]=k;e=(f[d>>2]|0)-h|0;k=d+4|0;h=(f[k>>2]|0)-h|0;g=d;f[g>>2]=e;f[g+4>>2]=h;g=f[m>>2]|0;if((g|0)<(e|0))Fa(12576,11807,250,12599);if((g|0)<(h|0))Fa(12611,11807,251,12599);i=0-g|0;if((e|0)<(i|0))Fa(12634,11807,252,12599);if((h|0)<(i|0))Fa(12658,11807,253,12599);if((((h|0)>-1?h:0-h|0)+((e|0)>-1?e:0-e|0)|0)>(g|0)){Lh(b,c,l);Lh(b,d,k);e=f[d>>2]|0}if(!e){g=f[k>>2]|0;if(!g)g=0;else j=14}else{g=f[k>>2]|0;if(!((e|0)<0&(g|0)<1))j=14}if((j|0)==14){if(!e)h=(g|0)==0?0:(g|0)>0?3:1;else h=(e|0)>0?(g>>31)+2|0:(g|0)<1?0:3;e=f[c>>2]|0;g=f[l>>2]|0;switch(h|0){case 1:{j=c;f[j>>2]=g;f[j+4>>2]=0-e;e=f[k>>2]|0;g=0-(f[d>>2]|0)|0;break}case 2:{j=c;f[j>>2]=0-e;f[j+4>>2]=0-g;e=0-(f[d>>2]|0)|0;g=0-(f[k>>2]|0)|0;break}case 3:{j=c;f[j>>2]=0-g;f[j+4>>2]=e;e=0-(f[k>>2]|0)|0;g=f[d>>2]|0;break}default:{j=c;f[j>>2]=e;f[j+4>>2]=g;e=f[d>>2]|0;g=f[k>>2]|0}}f[d>>2]=e;f[d+4>>2]=g}e=(f[c>>2]|0)-e|0;f[a>>2]=e;i=(f[l>>2]|0)-g|0;h=a+4|0;f[h>>2]=i;g=f[m>>2]<<1;if((g|0)<(e|0))Fa(12682,11807,313,12716);if((e|0)<0)e=(f[b+4>>2]|0)+e|0;f[a>>2]=e;if((g|0)<(i|0))Fa(12682,11807,313,12716);if((i|0)>=0){b=i;f[h>>2]=b;return}b=(f[b+4>>2]|0)+i|0;f[h>>2]=b;return}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f[b>>2]|0;l=a+12|0;i=(h|0)<0;do if(!i)if(!((h>>>0)%3|0)){d=h+2|0;break}else{d=h+-1|0;break}else d=h;while(0);a:do if((d|0)<0)m=7;else{g=f[(f[l>>2]|0)+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824){e=0;break a}b=e+1|0;if((e|0)<0)d=e;else d=((b|0)%3|0|0)==0?e+-2|0:b;if((d|0)<0){m=7;break}}}while(0);if((m|0)==7){b=(d|0)==-1073741824;do{}while(!b);e=1;d=-1073741824}if(i)k=-1073741824;else k=f[(f[f[l>>2]>>2]|0)+(h<<2)>>2]|0;if(c){b=(f[a+84>>2]|0)+(k>>>5<<2)|0;f[b>>2]=f[b>>2]|1<<(k&31);b=1}else b=0;i=f[(f[a+152>>2]|0)+(k<<2)>>2]|0;c=(f[a+140>>2]|0)+(i>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(i&31);if(!e?(j=(((d>>>0)%3|0|0)==0?2:-1)+d|0,(j|0)>=0):0)e=f[(f[f[l>>2]>>2]|0)+(j<<2)>>2]|0;else e=-1073741824;if((e|0)==(k|0)){m=b;return m|0}i=a+84|0;do{a=(f[i>>2]|0)+(e>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(e&31);b=b+1|0;e=d+1|0;if((d|0)>=0)d=((e|0)%3|0|0)==0?d+-2|0:e;b:do if((d|0)>=0){h=f[l>>2]|0;g=f[h+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824)break;d=e+1|0;if((e|0)<0)d=e;else d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0){m=26;break b}}e=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((e|0)<0)e=-1073741824;else e=f[(f[h>>2]|0)+(e<<2)>>2]|0}else m=26;while(0);if((m|0)==26){m=0;d=(d|0)==-1073741824;do{}while(!d);e=-1073741824;d=-1073741824}}while((e|0)!=(k|0));return b|0}function Ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=f[a>>2]|0;i=k;c=k+((f[c>>2]|0)-i)|0;l=e-d|0;if((l|0)<=0){o=c;return o|0}n=a+8|0;g=f[n>>2]|0;o=a+4|0;m=f[o>>2]|0;h=m;if((l|0)<=(g-h|0)){i=h-c|0;if((l|0)>(i|0)){j=d+i|0;if((j|0)==(e|0))g=m;else{g=m;h=j;do{b[g>>0]=b[h>>0]|0;h=h+1|0;g=(f[o>>2]|0)+1|0;f[o>>2]=g}while((h|0)!=(e|0))}if((i|0)>0)e=j;else{o=c;return o|0}}else g=m;j=g-(c+l)|0;h=c+j|0;if(h>>>0>>0){i=g;do{b[i>>0]=b[h>>0]|0;h=h+1|0;i=(f[o>>2]|0)+1|0;f[o>>2]=i}while((h|0)!=(m|0))}if(j|0)dm(g+(0-j)|0,c|0,j|0)|0;if((e|0)==(d|0)){o=c;return o|0}else g=c;while(1){b[g>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else g=g+1|0}return c|0}h=h-i+l|0;if((h|0)<0){Wo(a);k=f[a>>2]|0;j=k;g=f[n>>2]|0}else j=i;m=g-j|0;l=m<<1;h=m>>>0<1073741823?(l>>>0>>0?h:l):2147483647;l=c;if(!h)i=0;else i=_m(h)|0;m=i+(l-j)|0;g=m;j=i+h|0;if((d|0)==(e|0)){d=k;h=g}else{h=m;do{b[h>>0]=b[d>>0]|0;h=g+1|0;g=h;d=d+1|0}while((d|0)!=(e|0));d=f[a>>2]|0;h=g}g=l-d|0;i=m+(0-g)|0;if((g|0)>0)Eg(i|0,d|0,g|0)|0;g=(f[o>>2]|0)-l|0;if((g|0)>0){l=h;Eg(l|0,c|0,g|0)|0;d=f[a>>2]|0;c=l+g|0}else c=h;f[a>>2]=i;f[o>>2]=c;f[n>>2]=j;if(!d){o=m;return o|0}mq(d);o=m;return o|0}function Je(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){e=23;break}i=h+8|0;d=f[i>>2]|0;e=f[d>>2]|0;if((e|0)==(h|0)){e=f[d+4>>2]|0;if(!e){e=7;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=7;break}}else{if(!e){e=16;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=16;break}}b[g>>0]=1;i=(d|0)==(a|0);b[d+12>>0]=i&1;b[c>>0]=1;if(i){e=23;break}else c=d}if((e|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;c=f[a>>2]|0;e=f[c>>2]|0;f[a>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}a=c+8|0;f[a>>2]=d;d=f[i>>2]|0;f[((f[d>>2]|0)==(h|0)?d:d+4|0)>>2]=c;f[c>>2]=h;f[i>>2]=c;d=f[a>>2]|0}b[c+12>>0]=1;b[d+12>>0]=0;c=f[d>>2]|0;g=c+4|0;e=f[g>>2]|0;f[d>>2]=e;if(e|0)f[e+8>>2]=d;i=d+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(d|0)?h:h+4|0)>>2]=c;f[g>>2]=d;f[i>>2]=c;return}else if((e|0)==16){if((f[h>>2]|0)==(c|0)){c=f[h>>2]|0;g=c+4|0;e=f[g>>2]|0;f[h>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}e=c+8|0;f[e>>2]=d;a=f[i>>2]|0;f[((f[a>>2]|0)==(h|0)?a:a+4|0)>>2]=c;f[g>>2]=h;f[i>>2]=c;e=f[e>>2]|0}else{c=h;e=d}b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((e|0)==23)return}function Ke(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;q=s+4|0;k=s;f[q>>2]=0;r=q+4|0;f[r>>2]=0;f[q+8>>2]=0;m=a+52|0;b=f[m>>2]|0;j=(f[b+100>>2]|0)-(f[b+96>>2]|0)|0;n=(j|0)/12|0;do if((j|0)>0){j=q+8|0;c=f[b+96>>2]|0;if(((f[b+100>>2]|0)-c|0)>0){d=c;l=0;i=0}else Fa(19877,19795,64,19872);while(1){g=f[d+(l*12|0)>>2]|0;c=g-i|0;c=((c|0)>-1?c:0-c|0)<<1|c>>>31;f[k>>2]=c;b=f[r>>2]|0;e=f[j>>2]|0;if((b|0)==(e|0)){zi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[b>>2]=c;c=b+4|0;f[r>>2]=c}h=f[d+(l*12|0)+4>>2]|0;b=h-g|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0)){zi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[c>>2]=b;c=c+4|0;f[r>>2]=c}i=f[d+(l*12|0)+8>>2]|0;b=i-h|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0))zi(q,k);else{f[c>>2]=b;f[r>>2]=c+4}l=l+1|0;if((l|0)>=(n|0)){b=3;break}h=f[m>>2]|0;d=f[h+96>>2]|0;if((l|0)>=(((f[h+100>>2]|0)-d|0)/12|0|0)){b=5;break}}if((b|0)==3){o=f[q>>2]|0;p=f[r>>2]|0;break}else if((b|0)==5)Fa(19877,19795,64,19872)}else{o=0;p=0}while(0);Nc(o,p-o>>2,1,f[a+44>>2]|0)|0;c=f[q>>2]|0;if(!c){u=s;return 1}b=f[r>>2]|0;if((b|0)!=(c|0))f[r>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);u=s;return 1}function Le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=f[b>>2]|0;b=e*3|0;h=a+12|0;e=(e|0)<0;if(e)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(e)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;g=f[a+152>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!e)b=((d|0)%3|0|0)==0?b+-2|0:d;a=(b|0)<0;if(a)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(a)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!a){b=((d|0)%3|0|0)==0?b+-2|0:d;if((b|0)<0){d=b;a=1}else{d=b;a=0;b=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0}}else{d=b;a=1}if((b|0)==-1073741824){i=0;h=d;f[c>>2]=h;return i|0}if(a)b=-1073741824;else b=f[(f[f[h>>2]>>2]|0)+(d<<2)>>2]|0;if((f[g+(b<<2)>>2]|0)==-1){b=d+1|0;if(a){i=1;h=d;f[c>>2]=h;return i|0}i=1;h=((b|0)%3|0|0)==0?d+-2|0:b;f[c>>2]=h;return i|0}else b=d}}if((b|0)<=-1){i=0;h=b;f[c>>2]=h;return i|0}while(1){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)<0)break;d=f[(f[(f[h>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=11;break}d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((d|0)>-1)b=d;else{i=11;break}}if((i|0)==11?(b|0)<0:0){i=0;h=b;f[c>>2]=h;return i|0}if(!((b>>>0)%3|0)){i=0;h=b+2|0;f[c>>2]=h;return i|0}else{i=0;h=b+-1|0;f[c>>2]=h;return i|0}return 0}function Me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;g=n;if((f[c+56>>2]|0)==-1){e=-1;u=n;return e|0}m=_m(96)|0;ql(m,c);f[g>>2]=m;m=dh(a,g)|0;i=f[g>>2]|0;f[g>>2]=0;if(i|0){k=i+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c+8>>2]|0;if(g|0){h=c+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(c)}c=f[i+68>>2]|0;if(c|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(c|0))f[h>>2]=g+(~((g+-4-c|0)>>>2)<<2);mq(c)}k=i+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c>>2]|0;if(g|0){h=c+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(c)}mq(i)}if((m|0)<=-1)Fa(20410,20426,67,20517);j=a+8|0;k=a+12|0;c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))Fa(20527,20426,68,20517);i=c+(m<<2)|0;c=f[i>>2]|0;do if(!d){d=f[a+80>>2]|0;b[c+84>>0]=0;a=c+68|0;h=c+72|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c>>2;if(d>>>0>i>>>0){Pg(a,d-i|0,6092);break}if(d>>>0>>0?(l=c+(d<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{b[c+84>>0]=1;h=f[c+68>>2]|0;g=c+72|0;c=f[g>>2]|0;if((c|0)!=(h|0))f[g>>2]=c+(~((c+-4-h|0)>>>2)<<2);f[(f[i>>2]|0)+80>>2]=f[a+80>>2]}while(0);if((e|0)<=0){e=m;u=n;return e|0}c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))Fa(20527,20426,68,20517);gj(f[c+(m<<2)>>2]|0,e)|0;e=m;u=n;return e|0}function Ne(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Wd(a,b,c,e)|0;k=f[d>>2]|0;m=f[c>>2]|0;g=f[e>>2]|0;i=f[g+4>>2]|0;h=f[g>>2]|0;if(i-h>>3>>>0>k>>>0){l=g;j=h;g=h}else{Vo(g);i=f[e>>2]|0;l=i;j=f[g>>2]|0;g=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-g>>3>>>0<=m>>>0){Vo(l);g=f[l>>2]|0}if(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0)return n|0;k=f[c>>2]|0;f[c>>2]=f[d>>2];f[d>>2]=k;k=f[c>>2]|0;m=f[b>>2]|0;i=f[e>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);d=f[e>>2]|0;l=f[i>>2]|0;g=f[d>>2]|0;j=f[d+4>>2]|0;i=d}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}if(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0){n=n+1|0;return n|0}l=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=l;l=f[b>>2]|0;m=f[a>>2]|0;i=f[e>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>l>>>0){k=g;j=h}else{Vo(i);e=f[e>>2]|0;k=f[i>>2]|0;g=f[e>>2]|0;j=f[e+4>>2]|0;i=e}h=f[k+(l<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}if(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0){n=n+2|0;return n|0}e=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=e;n=n+3|0;return n|0}function Oe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+144|0;m=q+136|0;p=q+104|0;i=q;j=_m(124)|0;e=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3528;f[j+12>>2]=3508;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;n=j+16|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[j+112>>2]=e;f[j+116>>2]=d;k=j+120|0;f[k>>2]=0;g=j;f[p>>2]=3508;l=p+4|0;h=l+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;h=f[c+12>>2]|0;f[i+4>>2]=3508;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;n=i+8|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));o=h;f[l>>2]=o;o=((f[o+4>>2]|0)-(f[h>>2]|0)>>2>>>0)/3|0;b[m>>0]=0;Kg(p+8|0,o,m);Oa[f[(f[p>>2]|0)+8>>2]&127](p);f[i>>2]=f[l>>2];eg(i+4|0,p)|0;f[i+36>>2]=h;f[i+40>>2]=d;f[i+44>>2]=e;f[i+48>>2]=j;f[k>>2]=c+72;kg(j,i);f[a>>2]=g;yi(i);f[p>>2]=3508;e=f[p+20>>2]|0;if(e|0)mq(e);e=f[p+8>>2]|0;if(!e){u=q;return}mq(e);u=q;return}function Pe(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3552;pi(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}Ri(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+140>>2]|0;if(b|0)mq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;mq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)mq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+28>>2]|0;if(b|0)mq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;lj(b);mq(b);return}function Qe(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3352;Zi(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}Ri(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+140>>2]|0;if(b|0)mq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;mq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)mq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+28>>2]|0;if(b|0)mq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;lj(b);mq(b);return}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Se(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+16|0;h=n+4|0;g=n;i=n+8|0;if(!(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)){a=0;u=n;return a|0}m=a+44|0;d=f[m>>2]|0;k=a+8|0;j=a+12|0;e=f[j>>2]|0;c=f[k>>2]|0;b[i>>0]=(e-c|0)>>>2;o=d+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ie(d,h,i,i+1|0)|0;c=f[k>>2]|0;e=f[j>>2]|0}a:do if((c|0)!=(e|0)){d=a+4|0;while(1){p=f[c>>2]|0;c=c+4|0;if(!(Ma[f[(f[p>>2]|0)+8>>2]&31](p,a,f[d>>2]|0)|0)){c=0;break}if((c|0)==(e|0))break a}u=n;return c|0}while(0);if(!(vc(a)|0)){p=0;u=n;return p|0}e=a+32|0;c=f[e>>2]|0;g=a+36|0;d=f[g>>2]|0;b:do if((c|0)!=(d|0)){do{if(!(Va[f[(f[a>>2]|0)+40>>2]&127](a,f[c>>2]|0)|0)){c=0;l=18;break}c=c+4|0}while((c|0)!=(d|0));if((l|0)==18){u=n;return c|0}c=f[e>>2]|0;d=f[g>>2]|0;if((c|0)!=(d|0)){while(1){p=f[(f[k>>2]|0)+(f[c>>2]<<2)>>2]|0;c=c+4|0;if(!(Va[f[(f[p>>2]|0)+12>>2]&127](p,f[m>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}u=n;return c|0}}while(0);p=Ra[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=n;return p|0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>3>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>3;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){m=c;l=f[m+4>>2]|0;k=e;f[k>>2]=f[m>>2];f[k+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(!g){d=j+(b<<3)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-8-d|0)>>>3)<<3)|0;break}}else{g=b-h|0;d=i;e=g;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=a;d=i+(g<<3)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>536870911){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;m=d-e|0;d=m>>2;d=m>>3>>>0<268435455?(d>>>0>>0?b:d):536870911;if(d>>>0>536870911){Wo(a);m=Ha(4)|0;Pp(m);sa(m|0,1096,107)}h=_m(d<<3)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<3);d=h;e=b;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=g;d=h+(b<<3)|0}while(0);f[e>>2]=d;return}function Ue(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Fa(20410,20426,59,20517);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Fa(20527,20426,60,20517);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ra[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Va[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Va[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;kd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;jd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+1176|0;b=f[g>>2]|0;if(b|0){h=a+1180|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}g=a+1164|0;b=f[g>>2]|0;if(b|0){h=a+1168|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+1152>>2]|0;if(b|0){d=a+1156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+1140>>2]|0;if(b|0){d=a+1144|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+1128>>2]|0;if(!b){h=a+1108|0;jl(h);h=a+1088|0;jl(h);h=a+1068|0;jl(h);h=a+1036|0;oj(h);a=a+12|0;ph(a);return}d=a+1132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);h=a+1108|0;jl(h);h=a+1088|0;jl(h);h=a+1068|0;jl(h);h=a+1036|0;oj(h);a=a+12|0;ph(a);return}function We(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ie(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ie(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}Yf(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];hb(a,k,m);d=0;do{Pc(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);Pc(a+1036|0,e);gg(g,e);gg(c,e);gg(b,e);u=n;return 1}function Xe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ie(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ie(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}Yf(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];jb(a,k,m);d=0;do{Pc(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);Pc(a+1036|0,e);gg(g,e);gg(c,e);gg(b,e);u=n;return 1}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+60>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,g,g+4|0)|0}an(k);Wk(k);if((f[g>>2]|0)>0){c=a+56|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;Ui(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}Pc(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;oj(k);u=m;return 1}function Ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Fa(20410,20426,59,20517);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Fa(20527,20426,60,20517);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ra[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Va[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Va[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;Hc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;Gc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function _e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+80>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,g,g+4|0)|0}an(k);Wk(k);if((f[g>>2]|0)>0){c=a+76|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;Ui(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}Pc(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;oj(k);u=m;return 1}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=a+4|0;c=f[j>>2]|0;i=a+100|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;switch(c|0){case 43:case 45:{d=(c|0)==45&1;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;if((b|0)!=0&(c+-48|0)>>>0>9?(f[i>>2]|0)!=0:0){f[j>>2]=(f[j>>2]|0)+-1;g=d}else g=d;break}default:g=0}if((c+-48|0)>>>0>9)if(!(f[i>>2]|0)){d=-2147483648;c=0}else{f[j>>2]=(f[j>>2]|0)+-1;d=-2147483648;c=0}else{d=0;do{d=c+-48+(d*10|0)|0;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0}while((c+-48|0)>>>0<10&(d|0)<214748364);b=((d|0)<0)<<31>>31;if((c+-48|0)>>>0<10){do{b=Zm(d|0,b|0,10,0)|0;d=I;c=Zn(c|0,((c|0)<0)<<31>>31|0,-48,-1)|0;d=Zn(c|0,I|0,b|0,d|0)|0;b=I;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0}while((c+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&d>>>0<2061584302));e=d;d=c}else{e=d;d=c}c=f[i>>2]|0;if((d+-48|0)>>>0<10)do{d=f[j>>2]|0;if(d>>>0>>0){f[j>>2]=d+1;d=h[d>>0]|0}else{d=Pi(a)|0;c=f[i>>2]|0}}while((d+-48|0)>>>0<10);if(c|0)f[j>>2]=(f[j>>2]|0)+-1;j=(g|0)!=0;c=Dn(0,0,e|0,b|0)|0;d=j?I:b;c=j?c:e}I=d;return c|0}function af(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=u;u=u+96|0;o=p;if(!c){o=-1;u=p;return o|0}Im(o);qj(o,d,0,g&255,9,0,g<<2,0,0,0);j=Me(c,o,1,e)|0;if((j|0)<=-1)Fa(20410,20426,67,20517);a=f[c+8>>2]|0;if(((f[c+12>>2]|0)-a>>2|0)<=(j|0))Fa(20527,20426,68,20517);a=f[a+(j<<2)>>2]|0;if((e|0)>0){m=a+84|0;k=a+68|0;l=a+40|0;d=a+64|0;i=0;do{if(!(b[m>>0]|0))a=f[(f[k>>2]|0)+(i<<2)>>2]|0;else a=i;r=h+((X(i,g)|0)<<2)|0;s=l;q=f[s>>2]|0;a=Zm(a|0,((a|0)<0)<<31>>31|0,q|0,f[s+4>>2]|0)|0;Eg((f[f[d>>2]>>2]|0)+a|0,r|0,q|0)|0;i=i+1|0}while((i|0)!=(e|0))}d=c+80|0;a=f[d>>2]|0;if(a)if((a|0)==(e|0))n=14;else j=-1;else{f[d>>2]=e;n=14}s=o+88|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){i=a+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;mq(d)}mq(a)}a=f[o+68>>2]|0;if(a|0){i=o+72|0;d=f[i>>2]|0;if((d|0)!=(a|0))f[i>>2]=d+(~((d+-4-a|0)>>>2)<<2);mq(a)}s=o+64|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){d=f[a>>2]|0;if(d|0){i=a+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;mq(d)}mq(a)}s=j;u=p;return s|0}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Pg(j,m-l|0,3472);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)Fa(19877,19795,64,19872);else if((e|0)==12)Fa(19931,19950,89,20044);else if((e|0)==14)return d|0;return 0}function cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=f[b>>2]|0;d=f[c>>2]|0;g=d-l>>2;h=a+8|0;b=f[h>>2]|0;i=f[a>>2]|0;j=i;k=d;if(g>>>0<=b-i>>2>>>0){a=a+4|0;h=(f[a>>2]|0)-i>>2;e=g>>>0>h>>>0;h=e?l+(h<<2)|0:d;d=h-l|0;b=d>>2;if(b|0)dm(i|0,l|0,d|0)|0;d=j+(b<<2)|0;if(!e){b=f[a>>2]|0;if((b|0)==(d|0))return;f[a>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}c=f[c>>2]|0;b=h;if((b|0)==(c|0))return;g=f[a>>2]|0;e=c+-4-h|0;d=g;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[a>>2]=g+((e>>>2)+1<<2);return}e=i;if(i){d=a+4|0;b=f[d>>2]|0;if((b|0)!=(j|0))f[d>>2]=b+(~((b+-4-i|0)>>>2)<<2);mq(e);f[h>>2]=0;f[d>>2]=0;f[a>>2]=0;b=0}if(g>>>0>1073741823){Wo(a);d=f[a>>2]|0;b=f[h>>2]|0}else d=0;j=b-d|0;b=j>>1;b=j>>2>>>0<536870911?(b>>>0>>0?g:b):1073741823;if(b>>>0>1073741823){Wo(a);l=Ha(4)|0;Pp(l);sa(l|0,1096,107)}g=_m(b<<2)|0;c=a+4|0;f[c>>2]=g;f[a>>2]=g;f[h>>2]=g+(b<<2);b=l;if((b|0)==(k|0))return;e=k+-4-l|0;d=g;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(k|0))break;else d=d+4|0}f[c>>2]=g+((e>>>2)+1<<2);return}function df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Pg(j,m-l|0,3472);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Fa(19877,19795,64,19872);else if((e|0)==12)Fa(19931,19950,89,20044);else if((e|0)==13)return d|0;return 0}function ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Pg(j,m-l|0,3472);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Fa(19877,19795,64,19872);else if((e|0)==12)Fa(19931,19950,89,20044);else if((e|0)==13)return d|0;return 0}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=_m(40)|0;e=l+16|0;dl(e,c);dl(l+28|0,c+12|0);c=a+4|0;d=f[c>>2]|0;do if(d){j=b[l+27>>0]|0;i=j<<24>>24<0;j=i?f[l+20>>2]|0:j&255;i=i?f[e>>2]|0:e;h=d;while(1){d=h+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[h+20>>2]|0:e&255;c=e>>>0>>0?e:j;if((c|0)!=0?(k=il(i,g?f[d>>2]|0:d,c)|0,(k|0)!=0):0)if((k|0)<0)g=7;else g=9;else if(j>>>0>>0)g=7;else g=9;if((g|0)==7){c=f[h>>2]|0;if(!c){g=8;break}}else if((g|0)==9){d=h+4|0;c=f[d>>2]|0;if(!c){g=11;break}}h=c}if((g|0)==8){e=h;d=h;break}else if((g|0)==11){e=h;break}}else{e=c;d=c}while(0);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=e;f[d>>2]=l;c=f[f[a>>2]>>2]|0;if(!c){k=l;j=a+4|0;j=f[j>>2]|0;Je(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}f[a>>2]=c;k=f[d>>2]|0;j=a+4|0;j=f[j>>2]|0;Je(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;jl(h);h=a+52|0;jl(h);h=a+32|0;jl(h);a=a+12|0;jl(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);h=a+72|0;jl(h);h=a+52|0;jl(h);h=a+32|0;jl(h);a=a+12|0;jl(a);return}function hf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+152|0;b=f[g>>2]|0;if(b|0){h=a+156|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+128>>2]|0;if(b|0){d=a+132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+104>>2]|0;if(!b){h=a+84|0;jl(h);h=a+64|0;jl(h);h=a+44|0;jl(h);a=a+12|0;oj(a);return}d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);h=a+84|0;jl(h);h=a+64|0;jl(h);h=a+44|0;jl(h);a=a+12|0;oj(a);return}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)dm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}h=_m(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+40+(h*12|0)+4|0;Mh(f[c>>2]|0,b)|0;if(f[c>>2]|0){an(i);Wk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+40+(h*12|0)|0;do{d=0;while(1){m=d+c|0;Ui(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}Pc(i,b);oj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;u=l;return 1}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)dm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}h=_m(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c;j=d-l|0;k=a+8|0;e=f[k>>2]|0;i=f[a>>2]|0;m=i;if(j>>>0>e-i>>2>>>0){h=i;if(i){g=a+4|0;e=f[g>>2]|0;if((e|0)!=(m|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(h);f[k>>2]=0;f[g>>2]=0;f[a>>2]=0;e=0}if(j>>>0>1073741823){Wo(a);g=f[a>>2]|0;e=f[k>>2]|0}else g=0;m=e-g|0;g=m>>1;g=m>>2>>>0<536870911?(g>>>0>>0?j:g):1073741823;if(g>>>0>1073741823){Wo(a);d=Ha(4)|0;Pp(d);sa(d|0,1096,107)}e=_m(g<<2)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[k>>2]=e+(g<<2);if((c|0)==(d|0))return;do{f[e>>2]=b[c>>0];c=c+1|0;e=e+4|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{k=a+4|0;g=f[k>>2]|0;h=g-i>>2;i=j>>>0>h>>>0;j=c+h|0;h=i?j:d;if((h|0)==(c|0))c=m;else{e=m;while(1){f[e>>2]=b[c>>0];c=c+1|0;if((c|0)==(h|0))break;else e=e+4|0}c=m+(h-l<<2)|0}if(!i){if((g|0)==(c|0))return;f[k>>2]=g+(~((g+-4-c|0)>>>2)<<2);return}if((h|0)==(d|0))return;e=f[k>>2]|0;c=j;do{f[e>>2]=b[c>>0];c=c+1|0;e=e+4|0;f[k>>2]=e}while((c|0)!=(d|0));return}}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+60+(h*12|0)+4|0;Mh(f[c>>2]|0,b)|0;if(f[c>>2]|0){an(i);Wk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+60+(h*12|0)|0;do{d=0;while(1){m=d+c|0;Ui(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}Pc(i,b);oj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;u=l;return 1}function of(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ie(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ie(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;wm(c);b=a+32|0;wm(b);m=a+52|0;wm(m);n=a+72|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];kb(a,i,k);gg(c,e);gg(b,e);gg(m,e);gg(n,e);u=l;return 1} -function Fb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=Ka,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function Gb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;n=F+76|0;o=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);m=f[(f[h>>2]|0)+28>>2]|0;l=f[m+(c<<2)>>2]|0;m=f[m+(g<<2)>>2]|0;g=a+36|0;h=f[g>>2]|0;c=f[h+4>>2]|0;k=f[h>>2]|0;if(c-k>>2>>>0>l>>>0){i=c;j=h;g=k;c=k}else{Vo(h);c=f[g>>2]|0;i=f[c+4>>2]|0;j=c;g=f[h>>2]|0;c=f[c>>2]|0}w=f[g+(l<<2)>>2]|0;if(i-c>>2>>>0<=m>>>0){Vo(j);c=f[j>>2]|0}h=f[c+(m<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){z=w<<1;v=f[d+(z<<2)>>2]|0;y=((v|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(v|0)|(s|0)!=(z|0))){f[a+8>>2]=v;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;i=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,i,B)|0;n=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=Dn(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=Dn(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Zm(n|0,o|0,n|0,o|0)|0;x=I;B=Zm(p|0,q|0,p|0,q|0)|0;x=Zn(B|0,I|0,C|0,x|0)|0;C=I;B=Zm(l|0,m|0,l|0,m|0)|0;B=Zn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=Dn(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=Dn(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=Dn(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Zm(K|0,J|0,n|0,o|0)|0;D=I;g=Zm(H|0,G|0,p|0,q|0)|0;D=Zn(g|0,I|0,k|0,D|0)|0;k=I;g=Zm(h|0,i|0,l|0,m|0)|0;g=Zn(D|0,k|0,g|0,I|0)|0;k=I;D=Dn(r|0,((r|0)<0)<<31>>31|0,v|0,y|0)|0;c=I;w=Dn(s|0,((s|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;s=Zm(B|0,C|0,v|0,y|0)|0;r=I;v=Zm(B|0,C|0,z|0,A|0)|0;t=I;A=Zm(g|0,k|0,D|0,c|0)|0;z=I;j=Zm(g|0,k|0,w|0,x|0)|0;y=I;r=Zn(A|0,z|0,s|0,r|0)|0;s=I;t=Zn(j|0,y|0,v|0,t|0)|0;v=I;y=Zm(g|0,k|0,n|0,o|0)|0;j=I;z=Zm(g|0,k|0,p|0,q|0)|0;A=I;m=Zm(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=Dn(K|0,J|0,j|0,l|0)|0;j=I;z=Dn(H|0,G|0,A|0,z|0)|0;A=I;m=Dn(h|0,i|0,k|0,m|0)|0;k=I;j=Zm(l|0,j|0,l|0,j|0)|0;l=I;A=Zm(z|0,A|0,z|0,A|0)|0;l=Zn(A|0,I|0,j|0,l|0)|0;j=I;k=Zm(m|0,k|0,m|0,k|0)|0;k=Zn(l|0,j|0,k|0,I|0)|0;j=I;l=Dn(0,0,D|0,c|0)|0;m=I;j=Zm(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=24}break}case 1:{if(!c){g=1;c=0;E=25}else{g=1;c=0;h=j;i=k;E=24}break}default:{g=1;c=0;h=j;i=k;E=24}}if((E|0)==24)while(1){g=tn(g|0,c|0,1)|0;c=I;K=h;h=yn(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=25;break}else{i=I;E=24}}if((E|0)==25)while(1){K=Oo(j|0,k|0,g|0,c|0)|0;g=Zn(K|0,I|0,g|0,c|0)|0;g=yn(g|0,I|0,1)|0;c=I;K=Zm(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=25;else break}o=Zm(g|0,c|0,w|0,x|0)|0;K=I;n=Zm(g|0,c|0,l|0,m|0)|0;l=I;J=Zn(o|0,K|0,r|0,s|0)|0;g=I;k=Zn(n|0,l|0,t|0,v|0)|0;c=I;g=kk(J|0,g|0,B|0,C|0)|0;J=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;K=Dn(r|0,s|0,o|0,K|0)|0;o=I;l=Dn(t|0,v|0,n|0,l|0)|0;n=I;o=kk(K|0,o|0,B|0,C|0)|0;K=I;n=kk(l|0,n|0,B|0,C|0)|0;l=I;h=e<<1;j=f[d+(h<<2)>>2]|0;H=((j|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;m=((h|0)<0)<<31>>31;J=Dn(j|0,H|0,g|0,J|0)|0;G=I;k=Dn(h|0,m|0,c|0,k|0)|0;i=I;G=Zm(J|0,G|0,J|0,G|0)|0;J=I;i=Zm(k|0,i|0,k|0,i|0)|0;J=Zn(i|0,I|0,G|0,J|0)|0;G=I;K=Dn(j|0,H|0,o|0,K|0)|0;H=I;l=Dn(h|0,m|0,n|0,l|0)|0;m=I;H=Zm(K|0,H|0,K|0,H|0)|0;K=I;m=Zm(l|0,m|0,l|0,m|0)|0;K=Zn(m|0,I|0,H|0,K|0)|0;H=I;m=a+16|0;l=a+20|0;h=f[l>>2]|0;j=a+24|0;i=f[j>>2]|0;k=(h|0)==(i<<5|0);if(G>>>0>>0|(G|0)==(H|0)&J>>>0>>0){if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;K=(f[m>>2]|0)+(h>>>5<<2)|0;f[K>>2]=f[K>>2]|1<<(h&31)}else{if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;g=(f[m>>2]|0)+(h>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(h&31));g=o;c=n}f[a+8>>2]=g;f[a+12>>2]=c;u=F;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function Hb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;A=B+16|0;z=B+4|0;x=B;f[a+36>>2]=b;y=a+24|0;w=a+28|0;d=f[w>>2]|0;c=f[y>>2]|0;g=d-c>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(e=c+(b<<2)|0,(d|0)!=(e|0)):0)f[w>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else Pg(y,b-g|0,6012);f[A>>2]=0;v=A+4|0;f[v>>2]=0;t=A+8|0;f[t>>2]=0;if(b|0){if((b|0)<0)Wo(A);c=((b+-1|0)>>>5)+1|0;s=_m(c<<2)|0;f[A>>2]=s;f[t>>2]=c;f[v>>2]=b;c=b>>>5;Xi(s|0,0,c<<2|0)|0;d=b-(c<<5)|0;c=s+(c<<2)|0;if(d|0)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}s=a+4|0;c=(f[s>>2]|0)-(f[a>>2]|0)|0;g=c>>2;f[z>>2]=0;e=z+4|0;f[e>>2]=0;d=z+8|0;f[d>>2]=0;if(g){if((c|0)<0)Wo(z);c=((g+-1|0)>>>5)+1|0;h=_m(c<<2)|0;f[z>>2]=h;f[d>>2]=c;f[e>>2]=g;c=g>>>5;Xi(h|0,0,c<<2|0)|0;d=g-(c<<5)|0;c=h+(c<<2)|0;if(d)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}else h=0;c=f[a>>2]|0;a:do if((f[s>>2]|0)-c>>2>>>0>2){n=a+12|0;q=a+32|0;o=a+52|0;p=a+56|0;r=a+48|0;m=0;d=b;b:while(1){l=m*3|0;if((m|0)>=0){b=f[c+(l<<2)>>2]|0;e=l+1|0;e=((e|0)%3|0|0)==0?l+-2|0:e;if((e|0)<0)g=-1073741824;else g=f[c+(e<<2)>>2]|0;e=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((e|0)<0)c=-1073741824;else c=f[c+(e<<2)>>2]|0;if((b|0)!=(g|0)?!((b|0)==(c|0)|(g|0)==(c|0)):0){k=0;do{g=k+l|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){c=f[(f[a>>2]|0)+(g<<2)>>2]|0;f[x>>2]=c;e=f[A>>2]|0;if(!(f[e+(c>>>5<<2)>>2]&1<<(c&31)))b=0;else{c=f[w>>2]|0;if((c|0)==(f[q>>2]|0))zi(y,6012);else{f[c>>2]=-1073741824;f[w>>2]=c+4}c=f[o>>2]|0;if((c|0)==(f[p>>2]|0))zi(r,x);else{f[c>>2]=f[x>>2];f[o>>2]=c+4}c=f[v>>2]|0;e=f[t>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){Wo(A);e=f[t>>2]|0}j=e<<6;c=c+32&-32;bi(A,e<<5>>>0<1073741823?(j>>>0>>0?c:j):2147483647);c=f[v>>2]|0}f[v>>2]=c+1;e=f[A>>2]|0;b=e+(c>>>5<<2)|0;f[b>>2]=f[b>>2]&~(1<<(c&31));f[x>>2]=d;c=d;b=1;d=d+1|0}j=e+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);c:do if(b){c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);e=f[x>>2]|0;f[(f[y>>2]|0)+(e<<2)>>2]=c;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}else{c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);f[(f[y>>2]|0)+(f[x>>2]<<2)>>2]=c;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}while(0);do if((e|0)==67){e=0;if((g|0)==-1073741824){c=-1073741824;e=74}}else if((e|0)==68)if((g|0)>=0){c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=74;break}if(!((c>>>0)%3|0)){c=c+2|0;e=74;break}else{c=c+-1|0;e=74;break}}else e=74}else{c=g;e=74}while(0);d:do if((e|0)==74){h=f[z>>2]|0;g=h+(c>>>5<<2)|0;i=1<<(c&31);e=(c|0)<0;if((c|0)!=-1073741824){if(!b){b=c;c=i;while(1){if(e)break b;f[g>>2]=f[g>>2]|c;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);h=f[z>>2]|0;if((c|0)==-1073741824)break d;else{b=c;g=h+(c>>>5<<2)|0;e=(c|0)<0;c=1<<(c&31)}}}j=f[a>>2]|0;b=g;h=e;e=i;while(1){g=j+(c<<2)|0;do{f[b>>2]=f[b>>2]|e;f[g>>2]=f[x>>2]}while(h);c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=c;break}if(!((c>>>0)%3|0)){e=c+2|0;break}else{e=c+-1|0;break}}else e=c;while(0);h=f[z>>2]|0;if((e|0)==-1073741824)break;else{c=e;b=h+(e>>>5<<2)|0;h=(e|0)<0;e=1<<(e&31)}}}}while(0)}k=k+1|0}while((k|0)<3)}}m=m+1|0;c=f[a>>2]|0;if((m|0)>=(((f[s>>2]|0)-c>>2>>>0)/3|0|0))break a}while(1){}}while(0);j=a+44|0;f[j>>2]=0;c=f[A>>2]|0;b=f[v>>2]|0;y=b>>>5;i=c+(y<<2)|0;b=b&31;e=(y|0)!=0;e:do if(y|b|0){if(!b){g=c;d=0;while(1){f:do if(e){e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break;else e=e+1|0}}else{e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break f;e=e+1|0;if(!e)break e}}while(0);g=g+4|0;if((g|0)==(i|0))break e;else e=1}}if(e){g=c;d=0;e=0;do{h=0;while(1){if(!(f[g>>2]&1<>2]=e;d=e}if((h|0)==31)break;else h=h+1|0}g=g+4|0}while((g|0)!=(i|0))}else{g=c;d=0}e=0;do{if(!(f[g>>2]&1<>2]=d}e=e+1|0}while((e|0)!=(b|0))}while(0);d=f[z>>2]|0;if(d){mq(d);c=f[A>>2]|0}if(!c){u=B;return 1}mq(c);u=B;return 1}function Ib(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;Xn(c)|0;if((I|0)<0){C=1;A=21062;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?21063:21068):21065}Xn(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+Up(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=ok(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[21093+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Rk(a,32,d,j,g);zo(a,p,o);Rk(a,48,d,j,g^65536);zo(a,F,C);Rk(a,48,D-C|0,0,0);zo(a,n,E);Rk(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=tn(f[j>>2]|0,0,o|0)|0;x=Zn(x|0,I|0,l|0,0)|0;y=I;v=Sm(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=Oo(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=ok(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Rk(a,32,d,j,g);zo(a,A,C);Rk(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=ok(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){Xi(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}zo(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)zo(a,21109,1);if(m>>>0>>0&(k|0)>0)while(1){l=ok(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){Xi(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}zo(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Rk(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=ok(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;zo(a,l,1);if(e&(k|0)<1){l=m;break}zo(a,21109,1);l=m}else{if(l>>>0<=F>>>0)break;Xi(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;zo(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Rk(a,48,k+18|0,18,0);zo(a,v,D-v|0)}Rk(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Rk(a,32,d,j,g&-65537);zo(a,A,C);zo(a,c!=c|0.0!=0.0?(F?23012:21089):F?21081:21085,3);Rk(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function Jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0.0;H=u;u=u+512|0;E=H;F=d+c|0;G=0-F|0;B=a+4|0;C=a+100|0;j=b;m=0;a:while(1){switch(j|0){case 46:{A=6;break a}case 48:break;default:{l=0;b=0;p=0;break a}}b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0;m=1;continue}else{j=Pi(a)|0;m=1;continue}}if((A|0)==6){b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0}else j=Pi(a)|0;if((j|0)==48){j=0;b=0;while(1){l=Zn(j|0,b|0,-1,-1)|0;b=I;j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Pi(a)|0;if((j|0)==48)j=l;else{m=1;p=1;break}}}else{l=0;b=0;p=1}}f[E>>2]=0;v=j+-48|0;n=(j|0)==46;b:do if(n|v>>>0<10){A=E+496|0;y=l;z=0;t=0;w=n;o=0;l=0;n=0;c:while(1){do if(w)if(!p){y=z;b=t;p=1}else break c;else{w=Zn(z|0,t|0,1,0)|0;t=I;x=(j|0)!=48;if((l|0)>=125){if(!x){z=w;break}f[A>>2]=f[A>>2]|1;z=w;break}m=E+(l<<2)|0;if(!o)j=v;else j=j+-48+((f[m>>2]|0)*10|0)|0;f[m>>2]=j;o=o+1|0;v=(o|0)==9;z=w;m=1;o=v?0:o;l=(v&1)+l|0;n=x?w:n}while(0);j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Pi(a)|0;v=j+-48|0;w=(j|0)==46;if(!(w|v>>>0<10)){w=y;v=z;A=29;break b}}v=z;p=y;j=(m|0)!=0;A=37}else{w=l;v=0;t=0;o=0;l=0;n=0;A=29}while(0);do if((A|0)==29){z=(p|0)==0;p=z?v:w;b=z?t:b;w=(m|0)!=0;if(!(w&(j|32|0)==101))if((j|0)>-1){j=w;A=37;break}else{m=t;j=w;A=39;break}m=$e(a,g)|0;j=I;if((m|0)==0&(j|0)==-2147483648){if(!g){Lm(a,0);i=0.0;break}if(!(f[C>>2]|0)){m=0;j=0}else{f[B>>2]=(f[B>>2]|0)+-1;m=0;j=0}}y=Zn(m|0,j|0,p|0,b|0)|0;p=v;b=I;m=t;A=41}while(0);if((A|0)==37)if(f[C>>2]|0){f[B>>2]=(f[B>>2]|0)+-1;if(j){y=p;p=v;m=t;A=41}else A=40}else{m=t;A=39}if((A|0)==39)if(j){y=p;p=v;A=41}else A=40;do if((A|0)==40){G=aq()|0;f[G>>2]=22;Lm(a,0);i=0.0}else if((A|0)==41){j=f[E>>2]|0;if(!j){i=+(e|0)*0.0;break}if(((m|0)<0|(m|0)==0&p>>>0<10)&((y|0)==(p|0)&(b|0)==(m|0))?(c|0)>30|(j>>>c|0)==0:0){i=+(e|0)*+(j>>>0);break}a=(d|0)/-2|0;C=((a|0)<0)<<31>>31;if((b|0)>(C|0)|(b|0)==(C|0)&y>>>0>a>>>0){G=aq()|0;f[G>>2]=34;i=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=d+-106|0;C=((a|0)<0)<<31>>31;if((b|0)<(C|0)|(b|0)==(C|0)&y>>>0>>0){G=aq()|0;f[G>>2]=34;i=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(o){if((o|0)<9){m=E+(l<<2)|0;b=o;j=f[m>>2]|0;do{j=j*10|0;b=b+1|0}while((b|0)!=9);f[m>>2]=j}l=l+1|0}if((n|0)<9?(n|0)<=(y|0)&(y|0)<18:0){b=f[E>>2]|0;if((y|0)==9){i=+(e|0)*+(b>>>0);break}if((y|0)<9){i=+(e|0)*+(b>>>0)/+(f[6596+(8-y<<2)>>2]|0);break}a=c+27+(X(y,-3)|0)|0;if((a|0)>30|(b>>>a|0)==0){i=+(e|0)*+(b>>>0)*+(f[6596+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){m=0;b=0}else{t=(y|0)>-1?b:b+9|0;m=f[6596+(8-t<<2)>>2]|0;if(l){o=1e9/(m|0)|0;b=0;n=0;p=0;j=y;do{B=E+(p<<2)|0;C=f[B>>2]|0;a=((C>>>0)/(m>>>0)|0)+n|0;f[B>>2]=a;n=X(o,(C>>>0)%(m>>>0)|0)|0;a=(p|0)==(b|0)&(a|0)==0;j=a?j+-9|0:j;b=a?b+1&127:b;p=p+1|0}while((p|0)!=(l|0));if(n){f[E+(l<<2)>>2]=n;l=l+1|0}}else{b=0;j=y;l=0}m=b;b=0;y=9-t+j|0}d:while(1){v=(y|0)<18;w=(y|0)==18;t=E+(m<<2)|0;while(1){if(!v){if(!w){j=y;break d}if((f[t>>2]|0)>>>0>=9007199){j=18;break d}}n=0;j=l+127|0;x=l;while(1){p=j&127;o=E+(p<<2)|0;j=tn(f[o>>2]|0,0,29)|0;j=Zn(j|0,I|0,n|0,0)|0;l=I;if(l>>>0>0|(l|0)==0&j>>>0>1e9){n=Oo(j|0,l|0,1e9,0)|0;j=Sm(j|0,l|0,1e9,0)|0}else n=0;f[o>>2]=j;a=(p|0)==(m|0);x=(j|0)==0&(((p|0)!=(x+127&127|0)|a)^1)?p:x;if(a)break;else j=p+-1|0}b=b+-29|0;if(n|0)break;else l=x}m=m+127&127;l=x+127&127;j=E+((x+126&127)<<2)|0;if((m|0)==(x|0))f[j>>2]=f[j>>2]|f[E+(l<<2)>>2];else l=x;f[E+(m<<2)>>2]=n;y=y+9|0}e:while(1){x=l+1&127;y=E+((l+127&127)<<2)|0;v=j;while(1){o=(v|0)==18;w=(v|0)>27?9:1;z=m;while(1){j=0;while(1){m=j+z&127;if((m|0)==(l|0)){D=2;A=88;break}m=f[E+(m<<2)>>2]|0;n=f[6628+(j<<2)>>2]|0;if(m>>>0>>0){D=2;A=88;break}if(m>>>0>n>>>0)break;j=j+1|0;if((j|0)>=2){D=j;A=88;break}}if((A|0)==88?(A=0,o&(D|0)==2):0){n=0;i=0.0;break e}b=w+b|0;if((z|0)==(l|0))z=l;else break}t=(1<>>w;m=z;o=0;n=z;j=v;do{B=E+(n<<2)|0;C=f[B>>2]|0;a=(C>>>w)+o|0;f[B>>2]=a;o=X(C&t,p)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(!o){v=j;continue}if((x|0)!=(m|0))break;f[y>>2]=f[y>>2]|1;v=j}f[E+(l<<2)>>2]=o;l=x}while(1){m=n+z&127;j=l+1&127;if((m|0)==(l|0))f[E+(j+-1<<2)>>2]=0;else j=l;i=i*1.0e9+ +((f[E+(m<<2)>>2]|0)>>>0);n=n+1|0;if((n|0)==2)break;else l=j}s=+(e|0);k=s*i;m=b+53|0;p=m-d|0;o=(p|0)<(c|0);n=o?((p|0)>0?p:0):c;if((n|0)<53){J=+Sp(+Qj(1.0,105-n|0),k);q=+bq(k,+Qj(1.0,53-n|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=z+2&127;if((l|0)!=(j|0)){l=f[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=s*.75+i;break}if((z+3&127|0)==(j|0)){i=s*.5+i;break}else{i=s*.75+i;break}}else{if((l|0)==0?(z+3&127|0)==(j|0):0)break;i=s*.25+i}while(0);if((53-n|0)>1?!(+bq(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((m&2147483647|0)>(-2-F|0)){F=!(+K(+i)>=9007199254740992.0);b=((F^1)&1)+b|0;i=F?i:i*.5;if((b+50|0)<=(G|0)?!(k!=0.0&(o&((n|0)!=(p|0)|F))):0)break;G=aq()|0;f[G>>2]=34}while(0);i=+Tp(i,b)}while(0);u=H;return +i}function Kb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=aq()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)zo(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=em(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=em(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(20581+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Re(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Cm(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=21045;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=Dn(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=21045;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?21045:21047):21046;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=21045;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=21045;i=x;break}case 109:{i=aq()|0;i=Fo(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:21055;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Rk(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=Ib(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=21045;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=im(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?21045:21045+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=ok(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=Yh(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=21045;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Eo(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Rk(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Eo(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}zo(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Rk(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Rk(a,32,i,l,n);zo(a,j,k);Rk(a,48,i,l,n^65536);Rk(a,48,q,r,0);zo(a,o,r);Rk(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Re(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function Lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2])>>>0;f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3]>>>0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function Mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function Nb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+48|0;z=B+36|0;v=B+24|0;y=B+12|0;w=B;if(!(ah(a,c,d)|0)){A=0;u=B;return A|0}e=f[c+4>>2]|0;if((d|0)<=-1)Fa(20410,20426,59,20517);g=f[e+8>>2]|0;if(((f[e+12>>2]|0)-g>>2|0)<=(d|0))Fa(20527,20426,60,20517);l=f[g+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){A=0;u=B;return A|0}s=c+48|0;i=f[s>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;Kj(z,17755,17);j=i+16|0;g=f[j>>2]|0;if(g){e=j;c=g;a:while(1){g=c;while(1){if((f[g+16>>2]|0)>=(d|0))break;g=f[g+4>>2]|0;if(!g)break a}c=f[g>>2]|0;if(!c){e=g;break}else e=g}if(((e|0)!=(j|0)?(k=e+20|0,(f[e+16>>2]|0)<=(d|0)):0)?(Kh(k,z)|0)!=0:0)t=Ck(k,z,-1)|0;else A=16}else A=16;if((A|0)==16)t=Ck(i,z,-1)|0;_n(z);if((t|0)<1){A=0;u=B;return A|0}e=f[s>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;Kj(z,17698,19);j=e+16|0;c=f[j>>2]|0;if(c){g=j;b:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break b;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=25}else A=25;if(Kh(e,z)|0){e=f[s>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;Kj(v,17718,18);j=e+16|0;c=f[j>>2]|0;if(c){g=j;c:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break c;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=35}else A=35;p=(Kh(e,v)|0)==0;_n(v);_n(z);if(!p){o=l+24|0;e=b[o>>0]|0;g=e<<24>>24;f[y>>2]=0;p=y+4|0;f[p>>2]=0;f[y+8>>2]=0;do if(e<<24>>24)if(e<<24>>24<0){Wo(y);B=Ha(4)|0;Pp(B);sa(B|0,1096,107)}else{l=g<<2;k=_m(l)|0;f[y>>2]=k;m=k+(g<<2)|0;f[y+8>>2]=m;Xi(k|0,0,l|0)|0;f[p>>2]=m;break}while(0);j=f[s>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;Kj(w,17698,19);k=b[o>>0]|0;m=k<<24>>24;l=f[y>>2]|0;i=j+16|0;e=f[i>>2]|0;if(e){g=i;d:while(1){c=e;while(1){if((f[c+16>>2]|0)>=(d|0))break;e=f[c+4>>2]|0;if(!e)break d;else c=e}e=f[c>>2]|0;if(!e){g=c;break}else g=c}if(((g|0)!=(i|0)?(f[g+16>>2]|0)<=(d|0):0)?(q=g+20|0,(Kh(q,w)|0)!=0):0){e=Dg(q,w)|0;if((e|0)!=(g+24|0)){dl(z,e+28|0);q=b[z+11>>0]|0;e=q<<24>>24<0;if((e?f[z+4>>2]|0:q&255)|0)e:do if(k<<24>>24>0){e=e?f[z>>2]|0:z;g=0;do{h=$(Gp(e,v));q=e;e=f[v>>2]|0;if((q|0)==(e|0))break e;n[l+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(m|0))}while(0);_n(z)}}else A=57}else A=57;if((A|0)==57?(r=Dg(j,w)|0,(r|0)!=(j+4|0)):0){dl(z,r+28|0);r=b[z+11>>0]|0;e=r<<24>>24<0;if((e?f[z+4>>2]|0:r&255)|0)f:do if(k<<24>>24>0){e=e?f[z>>2]|0:z;g=0;do{h=$(Gp(e,v));r=e;e=f[v>>2]|0;if((r|0)==(e|0))break f;n[l+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(m|0))}while(0);_n(z)}_n(w);i=f[s>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;Kj(z,17718,18);j=i+16|0;g=f[j>>2]|0;if(g){e=j;g:while(1){c=g;while(1){if((f[c+16>>2]|0)>=(d|0))break;g=f[c+4>>2]|0;if(!g)break g;else c=g}g=f[c>>2]|0;if(!g){e=c;break}else e=c}if(((e|0)!=(j|0)?(x=e+20|0,(f[e+16>>2]|0)<=(d|0)):0)?(Kh(x,z)|0)!=0:0)h=$(wk(x,z,$(1.0)));else A=74}else A=74;if((A|0)==74)h=$(wk(i,z,$(1.0)));_n(z);ul(a+40|0,t,f[y>>2]|0,b[o>>0]|0,h);e=f[y>>2]|0;if(e|0){g=f[p>>2]|0;if((g|0)!=(e|0))f[p>>2]=g+(~((g+-4-e|0)>>>2)<<2);mq(e)}A=1;u=B;return A|0}}else _n(z);Md(a+40|0,l,t)|0;A=1;u=B;return A|0}function Ob(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+352|0;if(b[k>>0]|0?(z=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))zi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{Pg(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))Fa(20527,20426,60,20517);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=_m(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3436;n=h+12|0;f[n>>2]=3460;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3460;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3460;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Kg(x+8|0,g,y);Oa[f[(f[x>>2]|0)+8>>2]&127](x);sf(v,x);sf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;eg(g,y)|0;f[y>>2]=3460;d=f[y+20>>2]|0;if(d|0)mq(d);d=f[y+8>>2]|0;if(d|0)mq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3460;d=f[v+20>>2]|0;if(d|0)mq(d);d=f[v+8>>2]|0;if(d|0)mq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];eg(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;vf(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}f[r>>2]=3460;d=f[w+24>>2]|0;if(d|0)mq(d);d=f[w+12>>2]|0;if(d|0)mq(d);f[x>>2]=3460;d=f[x+20>>2]|0;if(d|0)mq(d);d=f[x+8>>2]|0;if(d|0)mq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((bj(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Oe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Kd(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=_m(76)|0;f[A>>2]=h;ml(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))zi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else pg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Pb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+288|0;if(b[k>>0]|0?(z=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))zi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{Pg(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))Fa(20527,20426,60,20517);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=_m(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3436;n=h+12|0;f[n>>2]=3460;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3460;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3460;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Kg(x+8|0,g,y);Oa[f[(f[x>>2]|0)+8>>2]&127](x);sf(v,x);sf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;eg(g,y)|0;f[y>>2]=3460;d=f[y+20>>2]|0;if(d|0)mq(d);d=f[y+8>>2]|0;if(d|0)mq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3460;d=f[v+20>>2]|0;if(d|0)mq(d);d=f[v+8>>2]|0;if(d|0)mq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];eg(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;vf(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}f[r>>2]=3460;d=f[w+24>>2]|0;if(d|0)mq(d);d=f[w+12>>2]|0;if(d|0)mq(d);f[x>>2]=3460;d=f[x+20>>2]|0;if(d|0)mq(d);d=f[x+8>>2]|0;if(d|0)mq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((bj(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Oe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Kd(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=_m(76)|0;f[A>>2]=h;ml(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))zi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else pg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=Ka,m=Ka,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+16|0;B=F;x=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[x>>2]=$(1.0);E=a+20|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[a+36>>2]=$(1.0);d=f[c+8>>2]|0;a:do if(d|0){z=a+4|0;A=a+12|0;y=a+8|0;e=d;w=d;while(1){v=e+8|0;s=b[v+11>>0]|0;r=s<<24>>24<0;t=r?f[v>>2]|0:v;s=r?f[e+12>>2]|0:s&255;if(s>>>0>3){e=t;d=s;g=s;while(1){r=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;d=(X(r>>>24^r,1540483477)|0)^(X(d,1540483477)|0);g=g+-4|0;if(g>>>0<=3)break;else e=e+4|0}r=s+-4|0;e=r&-4;g=t+(e+4)|0;e=r-e|0}else{g=t;d=s;e=s}switch(e|0){case 3:{d=h[g+2>>0]<<16^d;D=8;break}case 2:{D=8;break}case 1:{D=9;break}default:{}}if((D|0)==8){d=h[g+1>>0]<<8^d;D=9}if((D|0)==9){D=0;d=X(h[g>>0]^d,1540483477)|0}r=X(d>>>13^d,1540483477)|0;r=r>>>15^r;i=f[z>>2]|0;q=(i|0)==0;b:do if(!q){p=i+-1|0;g=(p&i|0)==0;if(g)e=r&p;else e=(r>>>0)%(i>>>0)|0;d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(C=f[d>>2]|0,(C|0)!=0):0){d=(s|0)==0;if(g){if(d){d=C;while(1){if((f[d+4>>2]&p|0)!=(e|0)){D=43;break b}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break b;d=f[d>>2]|0;if(!d){D=43;break b}}}else o=C;while(1){if((f[o+4>>2]&p|0)!=(e|0)){D=43;break b}d=o+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[o+12>>2]|0:j)|0)==(s|0)){g=f[d>>2]|0;if(k)if(!(il(g,t,s)|0))break b;else break;if((g&255)<<24>>24==(b[t>>0]|0)){g=t;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){D=43;break}}}else{if(d){d=C;while(1){if((((f[d+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){D=43;break b}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break b;d=f[d>>2]|0;if(!d){D=43;break b}}}else o=C;while(1){if((((f[o+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){D=43;break b}d=o+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[o+12>>2]|0:j)|0)==(s|0)){g=f[d>>2]|0;if(k)if(!(il(g,t,s)|0))break b;else break;if((g&255)<<24>>24==(b[t>>0]|0)){g=t;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){D=43;break}}}}else D=43}else{e=0;D=43}while(0);if((D|0)==43){D=0;Qh(B,a,r,v);m=$(((f[A>>2]|0)+1|0)>>>0);G=$(i>>>0);l=$(n[x>>2]);do if(q|m>$(G*l)){d=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(m/l)))>>>0;Rh(a,d>>>0>>0?e:d);d=f[z>>2]|0;e=d+-1|0;if(!(e&d)){i=d;e=e&r;break}else{i=d;e=(r>>>0)%(d>>>0)|0;break}}while(0);d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if(!d){f[f[B>>2]>>2]=f[y>>2];f[y>>2]=f[B>>2];f[(f[a>>2]|0)+(e<<2)>>2]=y;g=f[B>>2]|0;d=f[g>>2]|0;if(d|0){d=f[d+4>>2]|0;e=i+-1|0;if(!(e&i))d=d&e;else d=(d>>>0)%(i>>>0)|0;f[(f[a>>2]|0)+(d<<2)>>2]=g}}else{f[f[B>>2]>>2]=f[d>>2];f[d>>2]=f[B>>2]}f[A>>2]=(f[A>>2]|0)+1}d=f[w>>2]|0;if(!d)break a;else{e=d;w=d}}}while(0);d=f[c+28>>2]|0;if(!d){u=F;return}do{D=d;a=_m(40)|0;Qb(a,f[D+20>>2]|0);D=zc(E,D+8|0)|0;k=f[D>>2]|0;f[D>>2]=a;if(k|0){e=f[k+28>>2]|0;if(e|0)do{D=e;e=f[e>>2]|0;Zh(D+8|0);mq(D)}while((e|0)!=0);D=k+20|0;e=f[D>>2]|0;f[D>>2]=0;if(e|0)mq(e);e=f[k+8>>2]|0;if(e|0)do{j=e;e=f[e>>2]|0;g=f[j+20>>2]|0;if(g|0){i=j+24|0;if((f[i>>2]|0)!=(g|0))f[i>>2]=g;mq(g)}_n(j+8|0);mq(j)}while((e|0)!=0);e=f[k>>2]|0;f[k>>2]=0;if(e|0)mq(e);mq(k)}d=f[d>>2]|0}while((d|0)!=0);u=F;return}function Rb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=a+8|0;f[J>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{H=f[b+(i<<2)>>2]|0;G=(H|0)<(g|0);g=G?H:g;h=G?h:(H|0)>(h|0)?H:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;H=1-g+h|0;f[a+20>>2]=H;g=(H|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(H&1))f[h>>2]=g+-1}r=f[a+48>>2]|0;s=f[a+52>>2]|0;x=e>>>0>1073741823?-1:e<<2;G=jq(x)|0;Xi(G|0,0,x|0)|0;H=jq(x)|0;Xi(H|0,0,x|0)|0;x=a+56|0;i=f[x>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){w=(e|0)>0;A=a+16|0;v=a+32|0;C=a+12|0;B=a+28|0;z=a+20|0;y=a+24|0;u=r+12|0;t=e<<2;p=j>>2;while(1){q=p+-1|0;if(h-g>>2>>>0<=q>>>0){Vo(i);g=f[i>>2]|0}o=f[g+(q<<2)>>2]|0;if(w)Xi(G|0,0,t|0)|0;if((o|0)>-1){n=f[u>>2]|0;m=o;d=0;while(1){h=f[n+(m<<2)>>2]|0;if((h|0)>=0){i=f[r>>2]|0;j=f[s>>2]|0;l=f[j+(f[i+(h<<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=f[i+(g<<2)>>2]|0;k=f[j+(g<<2)>>2]|0;g=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;g=f[j+(g<<2)>>2]|0;if((l|0)<(q|0)&(k|0)<(q|0)&(g|0)<(q|0)){j=X(l,e)|0;i=X(k,e)|0;h=X(g,e)|0;if(w){g=0;do{f[H+(g<<2)>>2]=(f[b+(g+h<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(w){g=0;do{l=G+(g<<2)|0;f[l>>2]=(f[l>>2]|0)+(f[H+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}i=d+1|0}else i=d}else i=d;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else d=i}h=X(q,e)|0;if(i){if(w){g=0;do{o=G+(g<<2)|0;f[o>>2]=(f[o>>2]|0)/(i|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[J>>2]|0;if((g|0)>0){k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[A>>2]|0;if((g|0)>(h|0)){g=f[v>>2]|0;f[g+(j<<2)>>2]=h}else{n=f[C>>2]|0;o=f[v>>2]|0;f[o+(j<<2)>>2]=(g|0)<(n|0)?n:g;g=o}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[v>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[B>>2]|0)){if((g|0)>(f[y>>2]|0)){g=g-(f[z>>2]|0)|0;K=69}}else{g=(f[z>>2]|0)+g|0;K=69}if((K|0)==69){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0))}}else{I=h;K=42}}else{I=X(q,e)|0;K=42}if((K|0)==42?(K=0,E=b+(I<<2)|0,F=c+(I<<2)|0,D=f[J>>2]|0,(D|0)>0):0){h=D;k=0;j=b+((X(p+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[A>>2]|0;if((g|0)>(h|0)){g=f[v>>2]|0;f[g+(i<<2)>>2]=h}else{o=f[C>>2]|0;p=f[v>>2]|0;f[p+(i<<2)>>2]=(g|0)<(o|0)?o:g;g=p}i=i+1|0}while((i|0)<(f[J>>2]|0))}else g=f[v>>2]|0;h=(f[E+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=F+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[B>>2]|0)){if((h|0)>(f[y>>2]|0)){h=h-(f[z>>2]|0)|0;K=54}}else{h=(f[z>>2]|0)+h|0;K=54}if((K|0)==54){K=0;f[i>>2]=h}k=k+1|0;h=f[J>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((q|0)<=1)break a;i=f[x>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;p=q}}while(0);if((e|0)>0)Xi(G|0,0,e<<2|0)|0;g=f[J>>2]|0;if((g|0)<=0){kq(H);kq(G);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{e=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(e|0)?e:g;g=a}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;K=84}}else{g=(f[m>>2]|0)+g|0;K=84}if((K|0)==84){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0));kq(H);kq(G);return 1}function Sb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=a+8|0;f[M>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{J=f[b+(i<<2)>>2]|0;I=(J|0)<(g|0);g=I?J:g;h=I?h:(J|0)>(h|0)?J:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;J=1-g+h|0;f[a+20>>2]=J;g=(J|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(J&1))f[h>>2]=g+-1}p=f[a+48>>2]|0;q=f[a+52>>2]|0;w=e>>>0>1073741823?-1:e<<2;I=jq(w)|0;Xi(I|0,0,w|0)|0;J=jq(w)|0;Xi(J|0,0,w|0)|0;w=a+56|0;i=f[w>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){u=(e|0)>0;z=a+16|0;t=a+32|0;B=a+12|0;A=a+28|0;y=a+20|0;x=a+24|0;v=p+64|0;s=p+28|0;r=e<<2;n=j>>2;while(1){o=n+-1|0;if(h-g>>2>>>0<=o>>>0){Vo(i);g=f[i>>2]|0}m=f[g+(o<<2)>>2]|0;if(u)Xi(I|0,0,r|0)|0;if((m|0)>-1){d=f[p>>2]|0;l=m;k=0;do{if(((f[d+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(L=f[(f[(f[v>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(L|0)>=0):0)?(E=f[s>>2]|0,j=f[q>>2]|0,C=f[j+(f[E+(L<<2)>>2]<<2)>>2]|0,D=L+1|0,D=f[j+(f[E+((((D|0)%3|0|0)==0?L+-2|0:D)<<2)>>2]<<2)>>2]|0,E=f[j+(f[E+((((L>>>0)%3|0|0)==0?2:-1)+L<<2)>>2]<<2)>>2]|0,(C|0)<(o|0)&(D|0)<(o|0)&(E|0)<(o|0)):0){h=X(C,e)|0;i=X(D,e)|0;j=X(E,e)|0;if(u){g=0;do{f[J+(g<<2)>>2]=(f[b+(g+j<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+h<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(u){g=0;do{j=I+(g<<2)|0;f[j>>2]=(f[j>>2]|0)+(f[J+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}k=k+1|0}g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if(!(f[d+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[v>>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);l=(g|0)==(m|0)?-1073741824:g}while((l|0)>-1);h=X(o,e)|0;if(k){if(u){g=0;do{m=I+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(k|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[M>>2]|0;if((g|0)>0){k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[z>>2]|0;if((g|0)>(h|0)){g=f[t>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[B>>2]|0;m=f[t>>2]|0;f[m+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=m}j=j+1|0}while((j|0)<(f[M>>2]|0));i=g}else i=f[t>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[A>>2]|0)){if((g|0)>(f[x>>2]|0)){g=g-(f[y>>2]|0)|0;N=67}}else{g=(f[y>>2]|0)+g|0;N=67}if((N|0)==67){N=0;f[h>>2]=g}k=k+1|0;g=f[M>>2]|0}while((k|0)<(g|0))}}else{K=h;N=40}}else{K=X(o,e)|0;N=40}if((N|0)==40?(N=0,G=b+(K<<2)|0,H=c+(K<<2)|0,F=f[M>>2]|0,(F|0)>0):0){h=F;k=0;j=b+((X(n+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[z>>2]|0;if((g|0)>(h|0)){g=f[t>>2]|0;f[g+(i<<2)>>2]=h}else{m=f[B>>2]|0;n=f[t>>2]|0;f[n+(i<<2)>>2]=(g|0)<(m|0)?m:g;g=n}i=i+1|0}while((i|0)<(f[M>>2]|0))}else g=f[t>>2]|0;h=(f[G+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=H+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[A>>2]|0)){if((h|0)>(f[x>>2]|0)){h=h-(f[y>>2]|0)|0;N=52}}else{h=(f[y>>2]|0)+h|0;N=52}if((N|0)==52){N=0;f[i>>2]=h}k=k+1|0;h=f[M>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((o|0)<=1)break a;i=f[w>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;n=o}}while(0);if((e|0)>0)Xi(I|0,0,e<<2|0)|0;g=f[M>>2]|0;if((g|0)<=0){kq(J);kq(I);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{L=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(L|0)?L:g;g=a}j=j+1|0}while((j|0)<(f[M>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;N=82}}else{g=(f[m>>2]|0)+g|0;N=82}if((N|0)==82){N=0;f[h>>2]=g}k=k+1|0;g=f[M>>2]|0}while((k|0)<(g|0));kq(J);kq(I);return 1}function Tb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;P=u;u=u+48|0;O=P+12|0;K=P+32|0;N=P;G=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[G>>2]=$(1.0);M=a+80|0;yk(N,f[M>>2]|0);h=f[M>>2]|0;a:do if((h|0)>0){D=c+48|0;E=c+40|0;B=K+2|0;C=K+4|0;x=O+4|0;A=O+12|0;y=O+8|0;F=a+40|0;z=a+64|0;w=f[e>>2]|0;r=0;v=0;t=0;while(1){l=w+v|0;j=D;k=f[j>>2]|0;j=f[j+4>>2]|0;s=E;l=Zm(f[s>>2]|0,f[s+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;j=Zn(l|0,I|0,k|0,j|0)|0;j=(f[f[c>>2]>>2]|0)+j|0;b[K>>0]=b[j>>0]|0;b[K+1>>0]=b[j+1>>0]|0;b[K+2>>0]=b[j+2>>0]|0;b[K+3>>0]=b[j+3>>0]|0;b[K+4>>0]=b[j+4>>0]|0;b[K+5>>0]=b[j+5>>0]|0;j=d[K>>1]|0;k=d[B>>1]|0;l=d[C>>1]|0;s=(((j^318)&65535)+239^k&65535)+239^l&65535;q=(r|0)==0;b:do if(!q){h=r+-1|0;g=(h&r|0)==0;if(g)i=s&h;else i=(s>>>0)%(r>>>0)|0;e=f[(f[O>>2]|0)+(i<<2)>>2]|0;do if(e|0?(J=f[e>>2]|0,J|0):0){c:do if(g){e=J;while(1){if((f[e+4>>2]&h|0)!=(i|0)){i=22;break c}if(((d[e+8>>1]|0)==j<<16>>16?(d[e+10>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0){i=21;break c}e=f[e>>2]|0;if(!e){i=22;break}}}else{e=J;while(1){if((((f[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(i|0)){i=22;break c}if(((d[e+8>>1]|0)==j<<16>>16?(d[e+10>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0){i=21;break c}e=f[e>>2]|0;if(!e){i=22;break}}}while(0);if((i|0)==21){i=0;f[(f[N>>2]|0)+(v<<2)>>2]=f[e+16>>2];g=t;break b}else if((i|0)==22)if(q){e=0;i=39;break b}else break}while(0);i=r+-1|0;h=(i&r|0)==0;if(h)e=i&s;else e=(s>>>0)%(r>>>0)|0;g=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(H=f[g>>2]|0,(H|0)!=0):0)if(h){g=H;while(1){if((f[g+4>>2]&i|0)!=(e|0)){i=39;break b}if(((d[g+8>>1]|0)==j<<16>>16?(d[g+10>>1]|0)==k<<16>>16:0)?(d[g+12>>1]|0)==l<<16>>16:0){i=52;break b}g=f[g>>2]|0;if(!g){i=39;break}}}else{g=H;while(1){if((((f[g+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(e|0)){i=39;break b}if(((d[g+8>>1]|0)==j<<16>>16?(d[g+10>>1]|0)==k<<16>>16:0)?(d[g+12>>1]|0)==l<<16>>16:0){i=52;break b}g=f[g>>2]|0;if(!g){i=39;break}}}else i=39}else{e=0;i=39}while(0);if((i|0)==39){i=0;m=_m(20)|0;d[m+8>>1]=j;d[m+10>>1]=k;d[m+12>>1]=l;f[m+16>>2]=t;f[m+4>>2]=s;f[m>>2]=0;p=$(((f[A>>2]|0)+1|0)>>>0);Q=$(r>>>0);o=$(n[G>>2]);do if(q|p>$(Q*o)){e=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;g=~~$(W($(p/o)))>>>0;xh(O,e>>>0>>0?g:e);e=f[x>>2]|0;g=e+-1|0;if(!(g&e)){h=e;e=g&s;break}else{h=e;e=(s>>>0)%(e>>>0)|0;break}}else h=r;while(0);g=(f[O>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[m>>2]=f[y>>2];f[y>>2]=m;f[g>>2]=y;e=f[m>>2]|0;if(e|0){e=f[e+4>>2]|0;g=h+-1|0;if(!(g&h))e=e&g;else e=(e>>>0)%(h>>>0)|0;e=(f[O>>2]|0)+(e<<2)|0;i=50}}else{f[m>>2]=f[e>>2];i=50}if((i|0)==50)f[e>>2]=m;f[A>>2]=(f[A>>2]|0)+1;i=52}if((i|0)==52){s=F;g=f[s>>2]|0;s=Zm(g|0,f[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Eg((f[f[z>>2]>>2]|0)+s|0,K|0,g|0)|0;f[(f[N>>2]|0)+(v<<2)>>2]=t;g=t+1|0}e=v+1|0;h=f[M>>2]|0;if((e|0)>=(h|0)){m=g;break a}r=f[x>>2]|0;v=e;t=g}}else m=0;while(0);if((m|0)!=(h|0)){l=a+84|0;if(!(b[l>>0]|0)){h=f[a+68>>2]|0;e=(f[a+72>>2]|0)-h|0;if((e|0)>0){i=f[N>>2]|0;g=e>>2;e=0;do{a=h+(e<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;g=f[i>>2]|0;e=f[j>>2]|0;k=g-e>>2;if(h>>>0<=k>>>0){if(h>>>0>>0?(L=e+(h<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}else{Pg(j,h-k|0,1204);h=f[M>>2]|0}if((h|0)>0){i=f[N>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[i+(g<<2)>>2];g=g+1|0}while((g|0)<(h|0))}}f[M>>2]=m}h=f[N>>2]|0;if(h|0){g=N+4|0;e=f[g>>2]|0;if((e|0)!=(h|0))f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);mq(h)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;mq(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return m|0}mq(e);u=P;return m|0}function Ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+12|0;J=O+32|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);g=f[L>>2]|0;a:do if((g|0)>0){C=c+48|0;D=c+40|0;A=J+1|0;B=J+2|0;w=N+4|0;z=N+12|0;x=N+8|0;E=a+40|0;y=a+64|0;v=f[d>>2]|0;q=0;t=0;s=0;while(1){k=v+t|0;i=C;j=f[i>>2]|0;i=f[i+4>>2]|0;r=D;k=Zm(f[r>>2]|0,f[r+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;i=Zn(k|0,I|0,j|0,i|0)|0;i=(f[f[c>>2]>>2]|0)+i|0;b[J>>0]=b[i>>0]|0;b[J+1>>0]=b[i+1>>0]|0;b[J+2>>0]=b[i+2>>0]|0;i=b[J>>0]|0;j=b[A>>0]|0;k=b[B>>0]|0;r=((i&255^318)+239^j&255)+239^k&255;p=(q|0)==0;b:do if(!p){g=q+-1|0;e=(g&q|0)==0;if(e)h=r&g;else h=(r>>>0)%(q>>>0)|0;d=f[(f[N>>2]|0)+(h<<2)>>2]|0;do if(d|0?(H=f[d>>2]|0,H|0):0){c:do if(e){d=H;while(1){if((f[d+4>>2]&g|0)!=(h|0)){h=22;break c}if(((b[d+8>>0]|0)==i<<24>>24?(b[d+9>>0]|0)==j<<24>>24:0)?(b[d+10>>0]|0)==k<<24>>24:0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}else{d=H;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(h|0)){h=22;break c}if(((b[d+8>>0]|0)==i<<24>>24?(b[d+9>>0]|0)==j<<24>>24:0)?(b[d+10>>0]|0)==k<<24>>24:0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}while(0);if((h|0)==21){h=0;f[(f[M>>2]|0)+(t<<2)>>2]=f[d+12>>2];e=s;break b}else if((h|0)==22)if(p){d=0;h=39;break b}else break}while(0);h=q+-1|0;g=(h&q|0)==0;if(g)d=h&r;else d=(r>>>0)%(q>>>0)|0;e=f[(f[N>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0)if(g){e=G;while(1){if((f[e+4>>2]&h|0)!=(d|0)){h=39;break b}if(((b[e+8>>0]|0)==i<<24>>24?(b[e+9>>0]|0)==j<<24>>24:0)?(b[e+10>>0]|0)==k<<24>>24:0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else{e=G;while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(d|0)){h=39;break b}if(((b[e+8>>0]|0)==i<<24>>24?(b[e+9>>0]|0)==j<<24>>24:0)?(b[e+10>>0]|0)==k<<24>>24:0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else h=39}else{d=0;h=39}while(0);if((h|0)==39){h=0;l=_m(16)|0;b[l+8>>0]=i;b[l+9>>0]=j;b[l+10>>0]=k;f[l+12>>2]=s;f[l+4>>2]=r;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);P=$(q>>>0);m=$(n[F>>2]);do if(p|o>$(P*m)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(o/m)))>>>0;Eh(N,d>>>0>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=q;while(0);e=(f[N>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[x>>2];f[x>>2]=l;f[e>>2]=x;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[N>>2]|0)+(d<<2)|0;h=50}}else{f[l>>2]=f[d>>2];h=50}if((h|0)==50)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;h=52}if((h|0)==52){r=E;e=f[r>>2]|0;r=Zm(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+r|0,J|0,e|0)|0;f[(f[M>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[L>>2]|0;if((d|0)>=(g|0)){l=e;break a}q=f[w>>2]|0;t=d;s=e}}else l=0;while(0);if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[M>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=d+(g<<2)|0,(e|0)!=(K|0)):0)f[h>>2]=e+(~((e+-4-K|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[L>>2]=l}g=f[M>>2]|0;if(g|0){e=M+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;mq(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}mq(d);u=O;return l|0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+24|0;J=O+12|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);g=f[L>>2]|0;a:do if((g|0)>0){C=c+48|0;D=c+40|0;A=J+4|0;B=J+8|0;w=N+4|0;z=N+12|0;x=N+8|0;E=a+40|0;y=a+64|0;v=f[d>>2]|0;r=0;t=0;s=0;while(1){g=v+t|0;e=C;d=f[e>>2]|0;e=f[e+4>>2]|0;q=D;g=Zm(f[q>>2]|0,f[q+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Zn(g|0,I|0,d|0,e|0)|0;d=J;e=(f[f[c>>2]>>2]|0)+e|0;g=d+12|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));i=f[J>>2]|0;j=f[A>>2]|0;k=f[B>>2]|0;q=((i^318)+239^j)+239^k;p=(r|0)==0;b:do if(!p){g=r+-1|0;e=(g&r|0)==0;if(e)h=q&g;else h=(q>>>0)%(r>>>0)|0;d=f[(f[N>>2]|0)+(h<<2)>>2]|0;do if(d|0?(H=f[d>>2]|0,H|0):0){c:do if(e){d=H;while(1){if((f[d+4>>2]&g|0)!=(h|0)){h=22;break c}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}else{d=H;while(1){if((((f[d+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(h|0)){h=22;break c}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}while(0);if((h|0)==21){h=0;f[(f[M>>2]|0)+(t<<2)>>2]=f[d+20>>2];e=s;break b}else if((h|0)==22)if(p){d=0;h=39;break b}else break}while(0);h=r+-1|0;g=(h&r|0)==0;if(g)d=h&q;else d=(q>>>0)%(r>>>0)|0;e=f[(f[N>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0)if(g){e=G;while(1){if((f[e+4>>2]&h|0)!=(d|0)){h=39;break b}if(((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else{e=G;while(1){if((((f[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(d|0)){h=39;break b}if(((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else h=39}else{d=0;h=39}while(0);if((h|0)==39){h=0;l=_m(24)|0;f[l+8>>2]=i;f[l+12>>2]=j;f[l+16>>2]=k;f[l+20>>2]=s;f[l+4>>2]=q;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);P=$(r>>>0);m=$(n[F>>2]);do if(p|o>$(P*m)){d=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;e=~~$(W($(o/m)))>>>0;Bh(N,d>>>0>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&q;break}else{g=d;d=(q>>>0)%(d>>>0)|0;break}}else g=r;while(0);e=(f[N>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[x>>2];f[x>>2]=l;f[e>>2]=x;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[N>>2]|0)+(d<<2)|0;h=50}}else{f[l>>2]=f[d>>2];h=50}if((h|0)==50)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;h=52}if((h|0)==52){r=E;e=f[r>>2]|0;r=Zm(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+r|0,J|0,e|0)|0;f[(f[M>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[L>>2]|0;if((d|0)>=(g|0)){l=e;break a}r=f[w>>2]|0;t=d;s=e}}else l=0;while(0);if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[M>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=d+(g<<2)|0,(e|0)!=(K|0)):0)f[h>>2]=e+(~((e+-4-K|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[L>>2]=l}g=f[M>>2]|0;if(g|0){e=M+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;mq(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}mq(d);u=O;return l|0}function Wb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;v=B+4|0;w=B;o=B+16|0;z=a+52|0;p=f[z>>2]|0;p=(f[p+100>>2]|0)-(f[p+96>>2]|0)|0;A=(p|0)/12|0;x=a+44|0;Mh(A,f[x>>2]|0)|0;Mh(f[(f[z>>2]|0)+80>>2]|0,f[x>>2]|0)|0;q=f[a+48>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;Kj(v,18858,21);q=Pj(q,v,0)|0;_n(v);c=f[x>>2]|0;if(q){b[o>>0]=0;A=c+16|0;z=f[A+4>>2]|0;if(!((z|0)>0|(z|0)==0&(f[A>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,o+1|0)|0}Ke(a)|0;u=B;return 1}b[o>>0]=1;q=c+16|0;m=f[q+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[q>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,o+1|0)|0}q=f[z>>2]|0;m=f[q+80>>2]|0;if((m|0)<256){if((p|0)<=0){u=B;return 1}h=o+1|0;j=o+1|0;i=o+1|0;c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){e=c;k=0}else Fa(19877,19795,64,19872);while(1){a=f[x>>2]|0;b[o>>0]=f[e+(k*12|0)>>2];c=a+16|0;g=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[a+4>>2];f[v>>2]=f[w>>2];Ie(a,v,o,i)|0;a=f[x>>2]|0;g=a+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[o>>0]=f[e+(k*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[a+4>>2];f[v>>2]=f[w>>2];Ie(a,v,o,j)|0;a=f[x>>2]|0;g=a+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[o>>0]=f[e+(k*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[a+4>>2];f[v>>2]=f[w>>2];Ie(a,v,o,h)|0}k=k+1|0;if((k|0)>=(A|0)){c=44;break}g=f[z>>2]|0;e=f[g+96>>2]|0;if((k|0)>=(((f[g+100>>2]|0)-e|0)/12|0|0)){c=10;break}}if((c|0)==10)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}}if((m|0)<65536){if((p|0)<=0){u=B;return 1}j=o+2|0;h=o+2|0;i=o+2|0;c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){l=c;n=0}else Fa(19877,19795,64,19872);while(1){g=l;c=f[x>>2]|0;d[o>>1]=f[g+(n*12|0)>>2];a=c+16|0;e=f[a>>2]|0;a=f[a+4>>2]|0;if(!((a|0)>0|(a|0)==0&e>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,i)|0;c=f[x>>2]|0;e=c+16|0;a=f[e+4>>2]|0;e=f[e>>2]|0}d[o>>1]=f[g+(n*12|0)+4>>2];if(!((a|0)>0|(a|0)==0&e>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,h)|0;c=f[x>>2]|0;e=c+16|0;a=f[e+4>>2]|0;e=f[e>>2]|0}d[o>>1]=f[g+(n*12|0)+8>>2];if(!((a|0)>0|(a|0)==0&e>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,j)|0}n=n+1|0;if((n|0)>=(A|0)){c=44;break}k=f[z>>2]|0;l=f[k+96>>2]|0;if((n|0)>=(((f[k+100>>2]|0)-l|0)/12|0|0)){c=22;break}}if((c|0)==22)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}}a=(p|0)>0;if((m|0)<2097152){if(!a){u=B;return 1}c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){r=c;s=0}else Fa(19877,19795,64,19872);while(1){Mh(f[r+(s*12|0)>>2]|0,f[x>>2]|0)|0;Mh(f[r+(s*12|0)+4>>2]|0,f[x>>2]|0)|0;Mh(f[r+(s*12|0)+8>>2]|0,f[x>>2]|0)|0;s=s+1|0;if((s|0)>=(A|0)){c=44;break}p=f[z>>2]|0;r=f[p+96>>2]|0;if((s|0)>=(((f[p+100>>2]|0)-r|0)/12|0|0)){c=36;break}}if((c|0)==36)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}}if(!a){u=B;return 1}c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){t=c;y=0}else Fa(19877,19795,64,19872);while(1){a=t+(y*12|0)|0;c=f[x>>2]|0;t=c+16|0;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,a,a+12|0)|0}y=y+1|0;if((y|0)>=(A|0)){c=44;break}s=f[z>>2]|0;t=f[s+96>>2]|0;if((y|0)>=(((f[s+100>>2]|0)-t|0)/12|0|0)){c=39;break}}if((c|0)==39)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}return 0}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;M=u;u=u+48|0;L=M+24|0;J=M+12|0;z=M;if(!b){L=0;u=M;return L|0}I=a+12|0;A=a+4|0;k=f[A>>2]|0;c=f[a>>2]|0;i=k-c>>2;g=a+16|0;e=f[g>>2]|0;d=f[I>>2]|0;j=e-d>>2;l=c;if(i>>>0<=j>>>0)if(i>>>0>>0?(h=d+(i<<2)|0,(e|0)!=(h|0)):0){f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);g=c}else g=c;else{Pg(I,i-j|0,6012);l=f[a>>2]|0;g=l;k=f[A>>2]|0}f[L>>2]=0;H=L+4|0;f[H>>2]=0;f[L+8>>2]=0;e=k-g|0;d=e>>2;c=L+8|0;do if(d)if(d>>>0>1073741823){M=Ha(4)|0;Pp(M);sa(M|0,1096,107)}else{i=_m(e)|0;h=i;f[L>>2]=h;f[H>>2]=h;f[c>>2]=i+(d<<2);break}else{i=0;h=0}while(0);if((e|0)>0){v=i;w=k;x=g;d=h;o=h;p=i;q=i;r=i;s=h;j=h;n=g;e=i;t=0;while(1){l=f[l+(t<<2)>>2]|0;c=f[H>>2]|0;if((l|0)<(c-d>>2|0)){g=v;h=w;i=x;m=e;c=n}else{e=l+1|0;f[J>>2]=0;g=c-d>>2;if(e>>>0<=g>>>0)if(e>>>0>>0?(y=d+(e<<2)|0,(c|0)!=(y|0)):0){f[H>>2]=c+(~((c+-4-y|0)>>>2)<<2);d=v;e=w;c=x}else{d=v;e=w;c=x}else{Pg(L,e-g|0,J);d=f[L>>2]|0;e=f[A>>2]|0;c=f[a>>2]|0}j=d;g=d;h=e;i=c;o=j;p=d;q=d;r=d;s=j;m=d;k=e}G=m+(l<<2)|0;f[G>>2]=(f[G>>2]|0)+1;t=t+1|0;if((t|0)>=(k-c>>2|0)){l=s;i=q;break}else{v=g;w=h;x=i;l=c;d=m;n=c;e=m}}}else{c=g;j=h;l=h;r=i;o=h;p=i}c=k-c|0;h=c>>2;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;if(!h){d=0;e=0}else{if(h>>>0>536870911){Wo(J);M=Ha(4)|0;Pp(M);sa(M|0,1096,107)}g=_m(c<<1)|0;f[G>>2]=g;f[J>>2]=g;f[J+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){F=e;f[F>>2]=-1;f[F+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[G>>2]=g+(h<<3);d=g;e=g}F=f[H>>2]|0;g=F-j|0;c=g>>2;f[z>>2]=0;E=z+4|0;f[E>>2]=0;f[z+8>>2]=0;do if(c)if(c>>>0>1073741823){Wo(z);M=Ha(4)|0;Pp(M);sa(M|0,1096,107)}else{D=_m(g)|0;f[z>>2]=D;C=D+(c<<2)|0;f[z+8>>2]=C;Xi(D|0,0,g|0)|0;f[E>>2]=C;B=D;break}else{B=0;C=0;D=0}while(0);if((F|0)!=(l|0)){h=F-r>>2;c=0;g=0;do{f[B+(c<<2)>>2]=g;g=(f[r+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}z=f[a>>2]|0;c=(f[A>>2]|0)-z|0;A=z;if((c|0)>0){z=a+40|0;y=c>>2;k=i;m=B;j=0;v=e;t=e;w=e;s=e;x=e;while(1){i=(j|0)<0;c=j+1|0;if(!i){c=((c|0)%3|0|0)==0?j+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[A+(c<<2)>>2]|0;c=(j>>>0)%3|0;g=((c|0)==0?2:-1)+j|0;if((g|0)<0){r=-1073741824;q=h}else{r=f[A+(g<<2)>>2]|0;q=h}}else{c=(j>>>0)%3|0;r=-1073741824;q=-1073741824}if((j|0)==((i?-1073741824:j-c|0)|0)){if(i)c=-1073741824;else c=f[A+(j<<2)>>2]|0;if((q|0)==(r|0)|((c|0)==(q|0)|(c|0)==(r|0))){f[z>>2]=(f[z>>2]|0)+1;j=j+2|0;c=v;g=t;l=w;h=s;i=x}else K=60}else K=60;a:do if((K|0)==60){K=0;n=f[k+(r<<2)>>2]|0;b:do if((n|0)>0){c=0;i=f[m+(r<<2)>>2]|0;while(1){g=f[s+(i<<3)>>2]|0;if((g|0)<0){c=v;g=t;h=s;break b}if((g|0)==(q|0))break;c=c+1|0;if((c|0)<(n|0))i=i+1|0;else{c=v;g=t;h=s;break b}}l=f[s+(i<<3)+4>>2]|0;h=t;while(1){c=c+1|0;if((c|0)>=(n|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[v+(i<<3)>>2]|0)<0)break;else{i=g;h=v}}f[w+(i<<3)>>2]=-1;if((l|0)<0){c=w;g=w;h=w}else{c=f[I>>2]|0;f[c+(j<<2)>>2]=l;f[c+(l<<2)>>2]=j;c=w;g=w;l=w;h=w;i=x;break a}}else{c=v;g=t;h=s}while(0);i=f[p+(q<<2)>>2]|0;if((i|0)>0){h=0;c=f[B+(q<<2)>>2]|0;while(1){g=x+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){m=B;k=p;c=x;g=x;l=x;h=x;i=x;break a}else c=c+1|0}f[g>>2]=r;f[e+(c<<3)+4>>2]=j;m=B;k=p;c=e;g=e;l=e;h=e;i=e}else{k=p;l=w;i=x}}while(0);j=j+1|0;if((j|0)>=(y|0))break;else{v=c;t=g;w=l;s=h;x=i}}}f[b>>2]=F-o>>2;if(B){if((C|0)!=(B|0))f[E>>2]=C+(~((C+-4-B|0)>>>2)<<2);mq(D);d=f[J>>2]|0;e=d}if(e|0){c=f[G>>2]|0;if((c|0)!=(e|0))f[G>>2]=c+(~((c+-8-e|0)>>>3)<<3);mq(d)}c=f[L>>2]|0;if(c|0){d=f[H>>2]|0;if((d|0)!=(c|0))f[H>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}L=1;u=M;return L|0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=Ka;M=u;u=u+48|0;L=M+20|0;G=M;K=M+8|0;D=L+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;n[D>>2]=$(1.0);J=a+80|0;yk(K,f[J>>2]|0);g=f[J>>2]|0;a:do if((g|0)>0){A=c+48|0;B=c+40|0;x=L+4|0;z=L+12|0;w=L+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;q=0;t=0;s=0;while(1){p=v+t|0;k=A;j=f[k>>2]|0;k=f[k+4>>2]|0;r=B;r=Zm(p|0,((p|0)<0)<<31>>31|0,f[r>>2]|0,f[r+4>>2]|0)|0;k=Zn(r|0,I|0,j|0,k|0)|0;k=(f[f[c>>2]>>2]|0)+k|0;j=k;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;k=k+4|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;r=G;f[r>>2]=j;f[r+4>>2]=k;r=(j^318)+239^k;p=(q|0)==0;b:do if(!p){g=q+-1|0;e=(g&q|0)==0;if(e)i=r&g;else i=(r>>>0)%(q>>>0)|0;d=f[(f[L>>2]|0)+(i<<2)>>2]|0;do if(d|0?(F=f[d>>2]|0,F|0):0){c:do if(e){d=F;while(1){if((f[d+4>>2]&g|0)!=(i|0)){i=20;break c}if((f[d+8>>2]|0)==(j|0)?(f[d+12>>2]|0)==(k|0):0){i=19;break c}d=f[d>>2]|0;if(!d){i=20;break}}}else{d=F;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(i|0)){i=20;break c}if((f[d+8>>2]|0)==(j|0)?(f[d+12>>2]|0)==(k|0):0){i=19;break c}d=f[d>>2]|0;if(!d){i=20;break}}}while(0);if((i|0)==19){i=0;f[(f[K>>2]|0)+(t<<2)>>2]=f[d+16>>2];e=s;break b}else if((i|0)==20)if(p){d=0;i=35;break b}else break}while(0);i=q+-1|0;g=(i&q|0)==0;if(g)d=i&r;else d=(r>>>0)%(q>>>0)|0;e=f[(f[L>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(E=f[e>>2]|0,(E|0)!=0):0)if(g){e=E;while(1){if((f[e+4>>2]&i|0)!=(d|0)){i=35;break b}if((f[e+8>>2]|0)==(j|0)?(f[e+12>>2]|0)==(k|0):0){i=48;break b}e=f[e>>2]|0;if(!e){i=35;break}}}else{e=E;while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(d|0)){i=35;break b}if((f[e+8>>2]|0)==(j|0)?(f[e+12>>2]|0)==(k|0):0){i=48;break b}e=f[e>>2]|0;if(!e){i=35;break}}}else i=35}else{d=0;i=35}while(0);if((i|0)==35){i=0;l=_m(20)|0;g=l+8|0;f[g>>2]=j;f[g+4>>2]=k;f[l+16>>2]=s;f[l+4>>2]=r;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);N=$(q>>>0);m=$(n[D>>2]);do if(p|o>$(N*m)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(o/m)))>>>0;Ch(L,d>>>0>>0?e:d);d=f[x>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=q;while(0);e=(f[L>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[w>>2];f[w>>2]=l;f[e>>2]=w;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[L>>2]|0)+(d<<2)|0;i=46}}else{f[l>>2]=f[d>>2];i=46}if((i|0)==46)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;i=48}if((i|0)==48){r=C;e=f[r>>2]|0;r=Zm(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+r|0,G|0,e|0)|0;f[(f[K>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[J>>2]|0;if((d|0)>=(g|0)){p=e;break a}q=f[x>>2]|0;t=d;s=e}}else p=0;while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[K>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(H=d+(g<<2)|0,(e|0)!=(H|0)):0)f[i>>2]=e+(~((e+-4-H|0)>>>2)<<2)}else{Pg(j,g-k|0,1204);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[J>>2]=p}g=f[K>>2]|0;if(g|0){e=K+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[L+8>>2]|0;if(d|0)do{K=d;d=f[d>>2]|0;mq(K)}while((d|0)!=0);d=f[L>>2]|0;f[L>>2]=0;if(!d){u=M;return p|0}mq(d);u=M;return p|0}function Zb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+16|0;J=O+12|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);i=f[L>>2]|0;a:do if((i|0)>0){C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;s=0;w=0;v=0;while(1){l=x+w|0;m=C;k=f[m>>2]|0;m=f[m+4>>2]|0;t=D;t=Zm(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=Zn(t|0,I|0,k|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[J>>2]=m;k=m&65535;t=m>>>16;l=t&65535;t=(m&65535^318)+239^t;r=(s|0)==0;b:do if(!r){i=s+-1|0;g=(i&s|0)==0;if(g)j=t&i;else j=(t>>>0)%(s>>>0)|0;e=f[(f[N>>2]|0)+(j<<2)>>2]|0;do if(e|0?(H=f[e>>2]|0,H|0):0){c:do if(g){e=H;while(1){if((f[e+4>>2]&i|0)!=(j|0)){q=20;break c}if((d[e+8>>1]|0)==k<<16>>16?(d[e+10>>1]|0)==l<<16>>16:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}else{e=H;while(1){if((((f[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(j|0)){q=20;break c}if((d[e+8>>1]|0)==k<<16>>16?(d[e+10>>1]|0)==l<<16>>16:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}while(0);if((q|0)==19){q=0;f[(f[M>>2]|0)+(w<<2)>>2]=f[e+12>>2];g=v;break b}else if((q|0)==20)if(r){e=0;q=35;break b}else break}while(0);j=s+-1|0;i=(j&s|0)==0;if(i)e=j&t;else e=(t>>>0)%(s>>>0)|0;g=f[(f[N>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(G=f[g>>2]|0,(G|0)!=0):0)if(i){g=G;while(1){if((f[g+4>>2]&j|0)!=(e|0)){q=35;break b}if((d[g+8>>1]|0)==k<<16>>16?(d[g+10>>1]|0)==l<<16>>16:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else{g=G;while(1){if((((f[g+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(e|0)){q=35;break b}if((d[g+8>>1]|0)==k<<16>>16?(d[g+10>>1]|0)==l<<16>>16:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else q=35}else{e=0;q=35}while(0);if((q|0)==35){q=0;j=_m(16)|0;l=j+8|0;d[l>>1]=m;d[l+2>>1]=m>>>16;f[j+12>>2]=v;f[j+4>>2]=t;f[j>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);P=$(s>>>0);o=$(n[F>>2]);do if(r|p>$(P*o)){e=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;g=~~$(W($(p/o)))>>>0;yh(N,e>>>0>>0?g:e);e=f[z>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&t;break}else{i=e;e=(t>>>0)%(e>>>0)|0;break}}else i=s;while(0);g=(f[N>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[y>>2];f[y>>2]=j;f[g>>2]=y;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[N>>2]|0)+(e<<2)|0;q=46}}else{f[j>>2]=f[e>>2];q=46}if((q|0)==46)f[e>>2]=j;f[B>>2]=(f[B>>2]|0)+1;q=48}if((q|0)==48){t=E;g=f[t>>2]|0;t=Zm(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Eg((f[f[A>>2]>>2]|0)+t|0,J|0,g|0)|0;f[(f[M>>2]|0)+(w<<2)>>2]=v;g=v+1|0}e=w+1|0;i=f[L>>2]|0;if((e|0)>=(i|0)){q=g;break a}s=f[z>>2]|0;w=e;v=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[M>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(K=e+(i<<2)|0,(g|0)!=(K|0)):0)f[j>>2]=g+(~((g+-4-K|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[L>>2]=q}i=f[M>>2]|0;if(i|0){g=M+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;mq(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}mq(e);u=O;return q|0}function _b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+12|0;J=O+32|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);i=f[L>>2]|0;a:do if((i|0)>0){C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;s=0;w=0;v=0;while(1){l=x+w|0;m=C;k=f[m>>2]|0;m=f[m+4>>2]|0;t=D;t=Zm(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=Zn(t|0,I|0,k|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8;d[J>>1]=m;k=m&255;t=(m&65535)>>>8;l=t&255;t=((m&255^318)+239<<16>>16^t)&65535;r=(s|0)==0;b:do if(!r){i=s+-1|0;g=(i&s|0)==0;if(g)j=t&i;else j=(t>>>0)%(s>>>0)|0;e=f[(f[N>>2]|0)+(j<<2)>>2]|0;do if(e|0?(H=f[e>>2]|0,H|0):0){c:do if(g){e=H;while(1){if((f[e+4>>2]&i|0)!=(j|0)){q=20;break c}if((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}else{e=H;while(1){if((((f[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(j|0)){q=20;break c}if((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}while(0);if((q|0)==19){q=0;f[(f[M>>2]|0)+(w<<2)>>2]=f[e+12>>2];g=v;break b}else if((q|0)==20)if(r){e=0;q=35;break b}else break}while(0);j=s+-1|0;i=(j&s|0)==0;if(i)e=j&t;else e=(t>>>0)%(s>>>0)|0;g=f[(f[N>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(G=f[g>>2]|0,(G|0)!=0):0)if(i){g=G;while(1){if((f[g+4>>2]&j|0)!=(e|0)){q=35;break b}if((b[g+8>>0]|0)==k<<24>>24?(b[g+9>>0]|0)==l<<24>>24:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else{g=G;while(1){if((((f[g+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(e|0)){q=35;break b}if((b[g+8>>0]|0)==k<<24>>24?(b[g+9>>0]|0)==l<<24>>24:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else q=35}else{e=0;q=35}while(0);if((q|0)==35){q=0;j=_m(16)|0;l=j+8|0;b[l>>0]=m;b[l+1>>0]=m>>8;f[j+12>>2]=v;f[j+4>>2]=t;f[j>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);P=$(s>>>0);o=$(n[F>>2]);do if(r|p>$(P*o)){e=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;g=~~$(W($(p/o)))>>>0;Fh(N,e>>>0>>0?g:e);e=f[z>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&t;break}else{i=e;e=(t>>>0)%(e>>>0)|0;break}}else i=s;while(0);g=(f[N>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[y>>2];f[y>>2]=j;f[g>>2]=y;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[N>>2]|0)+(e<<2)|0;q=46}}else{f[j>>2]=f[e>>2];q=46}if((q|0)==46)f[e>>2]=j;f[B>>2]=(f[B>>2]|0)+1;q=48}if((q|0)==48){t=E;g=f[t>>2]|0;t=Zm(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Eg((f[f[A>>2]>>2]|0)+t|0,J|0,g|0)|0;f[(f[M>>2]|0)+(w<<2)>>2]=v;g=v+1|0}e=w+1|0;i=f[L>>2]|0;if((e|0)>=(i|0)){q=g;break a}s=f[z>>2]|0;w=e;v=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[M>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(K=e+(i<<2)|0,(g|0)!=(K|0)):0)f[j>>2]=g+(~((g+-4-K|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[L>>2]=q}i=f[M>>2]|0;if(i|0){g=M+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;mq(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}mq(e);u=O;return q|0}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;g=k+16|0;e=k+12|0;i=k+8|0;j=k+4|0;h=k;switch(f[c+28>>2]|0){case 9:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=oc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Yb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Vb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=jc(a,c,g)|0;break}default:d=0}break}case 1:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=mc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=_b(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Ub(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 11:case 2:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=mc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=_b(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Ub(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 4:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=kc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Zb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Tb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=cc(a,c,g)|0;break}default:d=0}break}case 3:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=kc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Zb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Tb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=cc(a,c,g)|0;break}default:d=0}break}case 6:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=oc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Yb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Vb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=jc(a,c,g)|0;break}default:d=0}break}case 5:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=oc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Yb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Vb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=jc(a,c,g)|0;break}default:d=0}break}default:{a=-1;u=k;return a|0}}a=(d|0)==0?-1:d;u=k;return a|0}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))zi(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];qg(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];qg(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];qg(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];qg(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))zi(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))zi(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=Ka,l=Ka,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Ka;A=u;u=u+48|0;e=A+24|0;z=A;j=Dd(a,c)|0;if(j|0){f[z>>2]=j;f[e>>2]=f[z>>2];Lf(a,e)|0}dl(z,c);y=z+12|0;dl(y,d);w=b[z+11>>0]|0;v=w<<24>>24<0;x=v?f[z>>2]|0:z;w=v?f[z+4>>2]|0:w&255;if(w>>>0>3){j=x;m=w;c=w;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else j=j+4|0}v=w+-4|0;c=v&-4;d=x+(c+4)|0;j=m;c=v-c|0}else{d=x;j=w;c=w}switch(c|0){case 3:{o=h[d+2>>0]<<16^j;r=8;break}case 2:{o=j;r=8;break}case 1:{p=j;r=9;break}default:q=j}if((r|0)==8){p=h[d+1>>0]<<8^o;r=9}if((r|0)==9)q=X(h[d>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;s=a+4|0;c=f[s>>2]|0;t=(c|0)==0;a:do if(!t){p=c+-1|0;d=(p&c|0)==0;if(d)q=v&p;else q=(v>>>0)%(c>>>0)|0;j=f[(f[a>>2]|0)+(q<<2)>>2]|0;if((j|0)!=0?(g=f[j>>2]|0,(g|0)!=0):0){j=(w|0)==0;if(d){if(j){while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);_n(z);u=A;return}b:while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break b}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break b}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);_n(z);u=A;return}}else{if(j){while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);_n(z);u=A;return}c:while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break c}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break c}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);_n(z);u=A;return}}}else i=q}else i=0;while(0);Oh(e,a,v,z);d=a+12|0;l=$(((f[d>>2]|0)+1|0)>>>0);B=$(c>>>0);k=$(n[a+16>>2]);do if(t|l>$(B*k)){g=(c>>>0<3|(c+-1&c|0)!=0)&1|c<<1;i=~~$(W($(l/k)))>>>0;Rh(a,g>>>0>>0?i:g);g=f[s>>2]|0;i=g+-1|0;if(!(i&g)){c=g;i=i&v;break}else{c=g;i=(v>>>0)%(g>>>0)|0;break}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=c+-1|0;if(!(i&c))g=g&i;else g=(g>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;_n(y);_n(z);u=A;return}function cc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ka;T=u;u=u+48|0;S=T+28|0;N=T+8|0;O=T;R=T+16|0;L=S+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;n[L>>2]=$(1.0);Q=a+80|0;yk(R,f[Q>>2]|0);i=f[Q>>2]|0;if((i|0)>0){B=f[e>>2]|0;G=c+48|0;H=c+40|0;E=S+4|0;F=S+12|0;D=S+8|0;J=a+40|0;C=a+64|0;K=0;z=0;while(1){w=B+K|0;y=G;x=f[y>>2]|0;y=f[y+4>>2]|0;e=H;e=Zm(w|0,((w|0)<0)<<31>>31|0,f[e>>2]|0,f[e+4>>2]|0)|0;y=Zn(e|0,I|0,x|0,y|0)|0;y=(f[f[c>>2]>>2]|0)+y|0;x=y;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;e=N;f[e>>2]=x;f[e+4>>2]=y;e=O;f[e>>2]=x;f[e+4>>2]=y;e=Vf(S,O)|0;if(!e){t=O;s=f[t>>2]|0;t=f[t+4>>2]|0;l=s&65535;y=yn(s|0,t|0,16)|0;m=y&65535;q=t&65535;v=yn(s|0,t|0,48)|0;w=I;r=v&65535;y=((((l^318)&65535)+239^y&65535)+239^t&65535)+239^v;i=f[E>>2]|0;x=(i|0)==0;a:do if(!x){k=i+-1|0;j=(k&i|0)==0;if(j)e=y&k;else e=(y>>>0)%(i>>>0)|0;g=f[(f[S>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(M=f[g>>2]|0,(M|0)!=0):0)if(j){g=M;while(1){if((f[g+4>>2]&k|0)!=(e|0)){A=25;break a}if((((d[g+8>>1]|0)==l<<16>>16?(d[g+10>>1]|0)==m<<16>>16:0)?(d[g+12>>1]|0)==q<<16>>16:0)?(d[g+14>>1]|0)==r<<16>>16:0)break a;g=f[g>>2]|0;if(!g){A=25;break}}}else{g=M;while(1){if((((f[g+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){A=25;break a}if((((d[g+8>>1]|0)==l<<16>>16?(d[g+10>>1]|0)==m<<16>>16:0)?(d[g+12>>1]|0)==q<<16>>16:0)?(d[g+14>>1]|0)==r<<16>>16:0)break a;g=f[g>>2]|0;if(!g){A=25;break}}}else A=25}else{e=0;A=25}while(0);if((A|0)==25){A=0;j=_m(20)|0;v=tn(v|0,w|0,48)|0;s=s|v;v=t&65535|I;w=j+8|0;t=w;d[t>>1]=s;d[t+2>>1]=s>>>16;w=w+4|0;d[w>>1]=v;d[w+2>>1]=v>>>16;f[j+16>>2]=z;f[j+4>>2]=y;f[j>>2]=0;p=$(((f[F>>2]|0)+1|0)>>>0);U=$(i>>>0);o=$(n[L>>2]);do if(x|p>$(U*o)){e=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;g=~~$(W($(p/o)))>>>0;wh(S,e>>>0>>0?g:e);e=f[E>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&y;break}else{i=e;e=(y>>>0)%(e>>>0)|0;break}}while(0);g=(f[S>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[D>>2];f[D>>2]=j;f[g>>2]=D;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[S>>2]|0)+(e<<2)|0;A=36}}else{f[j>>2]=f[e>>2];A=36}if((A|0)==36){A=0;f[e>>2]=j}f[F>>2]=(f[F>>2]|0)+1}y=J;e=f[y>>2]|0;y=Zm(e|0,f[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Eg((f[f[C>>2]>>2]|0)+y|0,N|0,e|0)|0;f[(f[R>>2]|0)+(K<<2)>>2]=z;e=z+1|0}else{f[(f[R>>2]|0)+(K<<2)>>2]=f[e+16>>2];e=z}K=K+1|0;i=f[Q>>2]|0;if((K|0)>=(i|0)){q=e;break}else z=e}}else q=0;if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[R>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(P=e+(i<<2)|0,(g|0)!=(P|0)):0)f[j>>2]=g+(~((g+-4-P|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[Q>>2]|0}if((i|0)>0){j=f[R>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[Q>>2]=q}i=f[R>>2]|0;if(i|0){g=R+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[S+8>>2]|0;if(e|0)do{R=e;e=f[e>>2]|0;mq(R)}while((e|0)!=0);e=f[S>>2]|0;f[S>>2]=0;if(!e){u=T;return q|0}mq(e);u=T;return q|0}function dc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;F=R+48|0;L=R+36|0;K=R+24|0;H=R+16|0;J=R+8|0;G=R;E=R+32|0;M=a+8|0;d=f[M>>2]|0;if((d|0)<=1)Fa(11796,13875,79,11922);if((d|0)>=31)Fa(11942,13875,80,11922);f[a+72>>2]=d;D=1<>2]=D+-1;D=D+-2|0;C=a+80|0;f[C>>2]=D;A=a+84|0;f[A>>2]=(D|0)/2|0;D=a+40|0;f[a+48>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(13062,13875,99,14032);if((e|0)!=2)Fa(14056,13875,101,14032);z=a+88|0;Wk(z);x=a+36|0;d=f[x>>2]|0;w=(f[d+4>>2]|0)-(f[d>>2]|0)|0;y=w>>2;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;v=K;f[v>>2]=0;f[v+4>>2]=0;v=H;f[v>>2]=0;f[v+4>>2]=0;v=J;f[v>>2]=0;f[v+4>>2]=0;v=G;f[v>>2]=0;f[v+4>>2]=0;if((w|0)<=0){u=R;return 1}v=L+4|0;w=L+8|0;q=K+4|0;r=H+4|0;t=J+4|0;s=G+4|0;g=0;while(1){e=f[d>>2]|0;if((f[d+4>>2]|0)-e>>2>>>0>g>>>0)d=e;else{Vo(d);d=f[d>>2]|0}f[E>>2]=f[d+(g<<2)>>2];f[F>>2]=f[E>>2];xc(D,F,L);d=f[L>>2]|0;h=(d|0)>-1?d:0-d|0;e=f[v>>2]|0;a=(e|0)>-1?e:0-e|0;h=Zn(a|0,((a|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;a=f[w>>2]|0;i=(a|0)>-1;a=i?a:0-a|0;a=Zn(h|0,I|0,a|0,((a|0)<0)<<31>>31|0)|0;h=I;p=f[A>>2]|0;if((a|0)==0&(h|0)==0){e=L;d=p}else{n=((p|0)<0)<<31>>31;o=Zm(p|0,n|0,d|0,((d|0)<0)<<31>>31|0)|0;o=kk(o|0,I|0,a|0,h|0)|0;f[L>>2]=o;d=Zm(p|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,a|0,h|0)|0;f[v>>2]=d;d=p-((o|0)>-1?o:0-o|0)-((d|0)>-1?d:0-d|0)|0;e=w;d=i?d:0-d|0}f[e>>2]=d;l=f[L>>2]|0;e=(l|0)>-1;n=0-l|0;m=f[v>>2]|0;j=0-m|0;h=(m|0)>-1?m:j;o=f[w>>2]|0;k=0-o|0;d=(o|0)>-1?o:k;if((h+(e?l:n)+d|0)!=(p|0)){d=18;break}if(!e){if((m|0)>=0)d=(f[C>>2]|0)-d|0;if((o|0)<0){a=d;e=h}else{a=d;e=(f[C>>2]|0)-h|0}}else{a=p+m|0;e=p+o|0}h=(a|0)==0;i=(e|0)==0;d=f[C>>2]|0;do if((e|a|0)!=0?(O=(d|0)==(e|0),Q=(d|0)==(a|0),!(h&O|i&Q)):0){if(h&(p|0)<(e|0)){a=0;e=(p<<1)-e|0;break}if((p|0)>(e|0)&Q){e=(p<<1)-e|0;break}if((p|0)>(a|0)&O){a=(p<<1)-a|0;break}else{a=(p|0)<(a|0)&i?(p<<1)-a|0:a;break}}else{a=d;e=d}while(0);f[K>>2]=a;f[q>>2]=e;f[L>>2]=n;f[v>>2]=j;f[w>>2]=k;h=(l|0)<1;a=(m|0)<1?j:m;e=(o|0)<1?k:o;if((a+(h?n:l)+e|0)!=(p|0)){d=35;break}if(h){i=p-m|0;h=p-o|0}else{i=(m|0)>0?e:d-e|0;h=(o|0)>0?a:d-a|0}e=(i|0)==0;a=(h|0)==0;do if((h|i|0)!=0?(N=(d|0)==(h|0),P=(d|0)==(i|0),!(e&N|a&P)):0){if(e&(p|0)<(h|0)){e=0;d=(p<<1)-h|0;break}if((p|0)>(h|0)&P){e=d;d=(p<<1)-h|0;break}if((p|0)>(i|0)&N){e=(p<<1)-i|0;break}else{e=(p|0)<(i|0)&a?(p<<1)-i|0:i;d=h;break}}else e=d;while(0);f[H>>2]=e;f[r>>2]=d;j=g<<1;d=b+(j<<2)|0;Xh(M,d,K,J);Xh(M,d,H,G);d=f[J>>2]|0;i=f[A>>2]|0;if((i|0)>=(d|0)){if((d|0)<(0-i|0))d=(f[B>>2]|0)+d|0}else d=d-(f[B>>2]|0)|0;f[J>>2]=d;e=f[t>>2]|0;if((i|0)>=(e|0)){if((e|0)<(0-i|0))e=(f[B>>2]|0)+e|0}else e=e-(f[B>>2]|0)|0;f[t>>2]=e;a=f[G>>2]|0;if((i|0)>=(a|0)){if((a|0)<(0-i|0))a=(f[B>>2]|0)+a|0}else a=a-(f[B>>2]|0)|0;f[G>>2]=a;h=f[s>>2]|0;if((i|0)>=(h|0)){if((h|0)<(0-i|0))h=(f[B>>2]|0)+h|0}else h=h-(f[B>>2]|0)|0;f[s>>2]=h;if((((e|0)>-1?e:0-e|0)+((d|0)>-1?d:0-d|0)|0)<(((a|0)>-1?a:0-a|0)+((h|0)>-1?h:0-h|0)|0)){Ui(z,0);a=J}else{Ui(z,1);a=G}d=f[a>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=68;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;e=c+(j<<2)|0;f[e>>2]=d;d=f[a+4>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=72;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;f[e+4>>2]=d;g=g+1|0;if((g|0)>=(y|0)){d=11;break}d=f[x>>2]|0}if((d|0)==11){u=R;return 1}else if((d|0)==18)Fa(14080,13875,119,14032);else if((d|0)==35)Fa(14147,11807,99,14235);else if((d|0)==68)Fa(12682,11807,313,12716);else if((d|0)==72)Fa(12682,11807,313,12716);return 0}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;F=R+48|0;L=R+36|0;K=R+24|0;H=R+16|0;J=R+8|0;G=R;E=R+32|0;M=a+8|0;d=f[M>>2]|0;if((d|0)<=1)Fa(11796,13875,79,11922);if((d|0)>=31)Fa(11942,13875,80,11922);f[a+72>>2]=d;D=1<>2]=D+-1;D=D+-2|0;C=a+80|0;f[C>>2]=D;A=a+84|0;f[A>>2]=(D|0)/2|0;D=a+40|0;f[a+48>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(13062,13875,99,14032);if((e|0)!=2)Fa(14056,13875,101,14032);z=a+88|0;Wk(z);x=a+36|0;d=f[x>>2]|0;w=(f[d+4>>2]|0)-(f[d>>2]|0)|0;y=w>>2;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;v=K;f[v>>2]=0;f[v+4>>2]=0;v=H;f[v>>2]=0;f[v+4>>2]=0;v=J;f[v>>2]=0;f[v+4>>2]=0;v=G;f[v>>2]=0;f[v+4>>2]=0;if((w|0)<=0){u=R;return 1}v=L+4|0;w=L+8|0;q=K+4|0;r=H+4|0;t=J+4|0;s=G+4|0;g=0;while(1){e=f[d>>2]|0;if((f[d+4>>2]|0)-e>>2>>>0>g>>>0)d=e;else{Vo(d);d=f[d>>2]|0}f[E>>2]=f[d+(g<<2)>>2];f[F>>2]=f[E>>2];yc(D,F,L);d=f[L>>2]|0;h=(d|0)>-1?d:0-d|0;e=f[v>>2]|0;a=(e|0)>-1?e:0-e|0;h=Zn(a|0,((a|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;a=f[w>>2]|0;i=(a|0)>-1;a=i?a:0-a|0;a=Zn(h|0,I|0,a|0,((a|0)<0)<<31>>31|0)|0;h=I;p=f[A>>2]|0;if((a|0)==0&(h|0)==0){e=L;d=p}else{n=((p|0)<0)<<31>>31;o=Zm(p|0,n|0,d|0,((d|0)<0)<<31>>31|0)|0;o=kk(o|0,I|0,a|0,h|0)|0;f[L>>2]=o;d=Zm(p|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,a|0,h|0)|0;f[v>>2]=d;d=p-((o|0)>-1?o:0-o|0)-((d|0)>-1?d:0-d|0)|0;e=w;d=i?d:0-d|0}f[e>>2]=d;l=f[L>>2]|0;e=(l|0)>-1;n=0-l|0;m=f[v>>2]|0;j=0-m|0;h=(m|0)>-1?m:j;o=f[w>>2]|0;k=0-o|0;d=(o|0)>-1?o:k;if((h+(e?l:n)+d|0)!=(p|0)){d=18;break}if(!e){if((m|0)>=0)d=(f[C>>2]|0)-d|0;if((o|0)<0){a=d;e=h}else{a=d;e=(f[C>>2]|0)-h|0}}else{a=p+m|0;e=p+o|0}h=(a|0)==0;i=(e|0)==0;d=f[C>>2]|0;do if((e|a|0)!=0?(O=(d|0)==(e|0),Q=(d|0)==(a|0),!(h&O|i&Q)):0){if(h&(p|0)<(e|0)){a=0;e=(p<<1)-e|0;break}if((p|0)>(e|0)&Q){e=(p<<1)-e|0;break}if((p|0)>(a|0)&O){a=(p<<1)-a|0;break}else{a=(p|0)<(a|0)&i?(p<<1)-a|0:a;break}}else{a=d;e=d}while(0);f[K>>2]=a;f[q>>2]=e;f[L>>2]=n;f[v>>2]=j;f[w>>2]=k;h=(l|0)<1;a=(m|0)<1?j:m;e=(o|0)<1?k:o;if((a+(h?n:l)+e|0)!=(p|0)){d=35;break}if(h){i=p-m|0;h=p-o|0}else{i=(m|0)>0?e:d-e|0;h=(o|0)>0?a:d-a|0}e=(i|0)==0;a=(h|0)==0;do if((h|i|0)!=0?(N=(d|0)==(h|0),P=(d|0)==(i|0),!(e&N|a&P)):0){if(e&(p|0)<(h|0)){e=0;d=(p<<1)-h|0;break}if((p|0)>(h|0)&P){e=d;d=(p<<1)-h|0;break}if((p|0)>(i|0)&N){e=(p<<1)-i|0;break}else{e=(p|0)<(i|0)&a?(p<<1)-i|0:i;d=h;break}}else e=d;while(0);f[H>>2]=e;f[r>>2]=d;j=g<<1;d=b+(j<<2)|0;Xh(M,d,K,J);Xh(M,d,H,G);d=f[J>>2]|0;i=f[A>>2]|0;if((i|0)>=(d|0)){if((d|0)<(0-i|0))d=(f[B>>2]|0)+d|0}else d=d-(f[B>>2]|0)|0;f[J>>2]=d;e=f[t>>2]|0;if((i|0)>=(e|0)){if((e|0)<(0-i|0))e=(f[B>>2]|0)+e|0}else e=e-(f[B>>2]|0)|0;f[t>>2]=e;a=f[G>>2]|0;if((i|0)>=(a|0)){if((a|0)<(0-i|0))a=(f[B>>2]|0)+a|0}else a=a-(f[B>>2]|0)|0;f[G>>2]=a;h=f[s>>2]|0;if((i|0)>=(h|0)){if((h|0)<(0-i|0))h=(f[B>>2]|0)+h|0}else h=h-(f[B>>2]|0)|0;f[s>>2]=h;if((((e|0)>-1?e:0-e|0)+((d|0)>-1?d:0-d|0)|0)<(((a|0)>-1?a:0-a|0)+((h|0)>-1?h:0-h|0)|0)){Ui(z,0);a=J}else{Ui(z,1);a=G}d=f[a>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=68;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;e=c+(j<<2)|0;f[e>>2]=d;d=f[a+4>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=72;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;f[e+4>>2]=d;g=g+1|0;if((g|0)>=(y|0)){d=11;break}d=f[x>>2]|0}if((d|0)==11){u=R;return 1}else if((d|0)==18)Fa(14080,13875,119,14032);else if((d|0)==35)Fa(14147,11807,99,14235);else if((d|0)==68)Fa(12682,11807,313,12716);else if((d|0)==72)Fa(12682,11807,313,12716);return 0}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=Ka,l=Ka,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Ka;A=u;u=u+48|0;e=A+24|0;z=A;j=Dd(a,c)|0;if(j|0){f[z>>2]=j;f[e>>2]=f[z>>2];Lf(a,e)|0}dl(z,c);p[z+16>>3]=+p[d>>3];x=b[z+11>>0]|0;w=x<<24>>24<0;y=w?f[z>>2]|0:z;x=w?f[z+4>>2]|0:x&255;if(x>>>0>3){j=y;m=x;c=x;while(1){w=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(w>>>24^w,1540483477)|0)^(X(m,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else j=j+4|0}w=x+-4|0;c=w&-4;d=y+(c+4)|0;j=m;c=w-c|0}else{d=y;j=x;c=x}switch(c|0){case 3:{o=h[d+2>>0]<<16^j;s=8;break}case 2:{o=j;s=8;break}case 1:{q=j;s=9;break}default:r=j}if((s|0)==8){q=h[d+1>>0]<<8^o;s=9}if((s|0)==9)r=X(h[d>>0]^q,1540483477)|0;w=X(r>>>13^r,1540483477)|0;w=w>>>15^w;t=a+4|0;c=f[t>>2]|0;v=(c|0)==0;a:do if(!v){q=c+-1|0;d=(q&c|0)==0;if(d)r=w&q;else r=(w>>>0)%(c>>>0)|0;j=f[(f[a>>2]|0)+(r<<2)>>2]|0;if((j|0)!=0?(g=f[j>>2]|0,(g|0)!=0):0){j=(x|0)==0;if(d){if(j){while(1){if((f[g+4>>2]&q|0)!=(r|0)){i=r;break a}y=b[g+8+11>>0]|0;if(!((y<<24>>24<0?f[g+12>>2]|0:y&255)|0))break;g=f[g>>2]|0;if(!g){i=r;break a}}_n(z);u=A;return}b:while(1){if((f[g+4>>2]&q|0)!=(r|0)){i=r;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(x|0)){d=f[j>>2]|0;if(o)if(!(il(d,y,x)|0)){s=55;break b}else break;if((d&255)<<24>>24==(b[y>>0]|0)){d=y;do{m=m+-1|0;j=j+1|0;if(!m){s=55;break b}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=r;break a}}if((s|0)==55){_n(z);u=A;return}}else{if(j){while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(r|0)){i=r;break a}y=b[g+8+11>>0]|0;if(!((y<<24>>24<0?f[g+12>>2]|0:y&255)|0))break;g=f[g>>2]|0;if(!g){i=r;break a}}_n(z);u=A;return}c:while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(r|0)){i=r;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(x|0)){d=f[j>>2]|0;if(o)if(!(il(d,y,x)|0)){s=55;break c}else break;if((d&255)<<24>>24==(b[y>>0]|0)){d=y;do{m=m+-1|0;j=j+1|0;if(!m){s=55;break c}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=r;break a}}if((s|0)==55){_n(z);u=A;return}}}else i=r}else i=0;while(0);eh(e,a,w,z);d=a+12|0;l=$(((f[d>>2]|0)+1|0)>>>0);B=$(c>>>0);k=$(n[a+16>>2]);do if(v|l>$(B*k)){g=(c>>>0<3|(c+-1&c|0)!=0)&1|c<<1;i=~~$(W($(l/k)))>>>0;Rh(a,g>>>0>>0?i:g);g=f[t>>2]|0;i=g+-1|0;if(!(i&g)){c=g;i=i&w;break}else{c=g;i=(w>>>0)%(g>>>0)|0;break}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=c+-1|0;if(!(i&c))g=g&i;else g=(g>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;_n(z);u=A;return}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=Ka,l=Ka,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=Ka;z=u;u=u+32|0;e=z+16|0;y=z;j=Dd(a,c)|0;if(j|0){f[y>>2]=j;f[e>>2]=f[y>>2];Lf(a,e)|0}dl(y,c);f[y+12>>2]=f[d>>2];w=b[y+11>>0]|0;v=w<<24>>24<0;x=v?f[y>>2]|0:y;w=v?f[y+4>>2]|0:w&255;if(w>>>0>3){j=x;m=w;c=w;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else j=j+4|0}v=w+-4|0;c=v&-4;d=x+(c+4)|0;j=m;c=v-c|0}else{d=x;j=w;c=w}switch(c|0){case 3:{o=h[d+2>>0]<<16^j;r=8;break}case 2:{o=j;r=8;break}case 1:{p=j;r=9;break}default:q=j}if((r|0)==8){p=h[d+1>>0]<<8^o;r=9}if((r|0)==9)q=X(h[d>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;s=a+4|0;c=f[s>>2]|0;t=(c|0)==0;a:do if(!t){p=c+-1|0;d=(p&c|0)==0;if(d)q=v&p;else q=(v>>>0)%(c>>>0)|0;j=f[(f[a>>2]|0)+(q<<2)>>2]|0;if((j|0)!=0?(g=f[j>>2]|0,(g|0)!=0):0){j=(w|0)==0;if(d){if(j){while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);u=z;return}b:while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break b}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break b}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);u=z;return}}else{if(j){while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);u=z;return}c:while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break c}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break c}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);u=z;return}}}else i=q}else i=0;while(0);ii(e,a,v,y);d=a+12|0;l=$(((f[d>>2]|0)+1|0)>>>0);A=$(c>>>0);k=$(n[a+16>>2]);do if(t|l>$(A*k)){g=(c>>>0<3|(c+-1&c|0)!=0)&1|c<<1;i=~~$(W($(l/k)))>>>0;Rh(a,g>>>0>>0?i:g);g=f[s>>2]|0;i=g+-1|0;if(!(i&g)){c=g;i=i&v;break}else{c=g;i=(v>>>0)%(g>>>0)|0;break}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=c+-1|0;if(!(i&c))g=g&i;else g=(g>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;_n(y);u=z;return}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=Ka;S=u;u=u+48|0;R=S+20|0;M=S+16|0;N=S+12|0;Q=S;K=R+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;n[K>>2]=$(1.0);P=a+80|0;yk(Q,f[P>>2]|0);g=f[P>>2]|0;if((g|0)>0){A=f[d>>2]|0;F=c+48|0;G=c+40|0;D=R+4|0;E=R+12|0;C=R+8|0;H=a+40|0;B=a+64|0;J=0;y=0;while(1){v=A+J|0;d=F;x=f[d>>2]|0;d=f[d+4>>2]|0;w=G;w=Zm(v|0,((v|0)<0)<<31>>31|0,f[w>>2]|0,f[w+4>>2]|0)|0;d=Zn(w|0,I|0,x|0,d|0)|0;d=(f[f[c>>2]>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[M>>2]=d;f[N>>2]=d;d=Xf(R,N)|0;if(!d){t=f[N>>2]|0;k=t&255;r=t>>>8;l=r&255;s=t>>>16;p=s&255;v=t>>>24;q=v&255;t=t&255;r=r&255;s=s&255;x=(((t^318)+239^r)+239^s)+239^v;g=f[D>>2]|0;w=(g|0)==0;a:do if(!w){j=g+-1|0;i=(j&g|0)==0;if(i)d=x&j;else d=(x>>>0)%(g>>>0)|0;e=f[(f[R>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(L=f[e>>2]|0,(L|0)!=0):0)if(i){e=L;while(1){if((f[e+4>>2]&j|0)!=(d|0)){z=25;break a}if((((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0)?(b[e+10>>0]|0)==p<<24>>24:0)?(b[e+11>>0]|0)==q<<24>>24:0)break a;e=f[e>>2]|0;if(!e){z=25;break}}}else{e=L;while(1){if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){z=25;break a}if((((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0)?(b[e+10>>0]|0)==p<<24>>24:0)?(b[e+11>>0]|0)==q<<24>>24:0)break a;e=f[e>>2]|0;if(!e){z=25;break}}}else z=25}else{d=0;z=25}while(0);if((z|0)==25){z=0;i=_m(16)|0;q=i+8|0;v=v<<24|t|s<<16|r<<8;b[q>>0]=v;b[q+1>>0]=v>>8;b[q+2>>0]=v>>16;b[q+3>>0]=v>>24;f[i+12>>2]=y;f[i+4>>2]=x;f[i>>2]=0;o=$(((f[E>>2]|0)+1|0)>>>0);T=$(g>>>0);m=$(n[K>>2]);do if(w|o>$(T*m)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(o/m)))>>>0;Dh(R,d>>>0>>0?e:d);d=f[D>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&x;break}else{g=d;d=(x>>>0)%(d>>>0)|0;break}}while(0);e=(f[R>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[i>>2]=f[C>>2];f[C>>2]=i;f[e>>2]=C;d=f[i>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[R>>2]|0)+(d<<2)|0;z=36}}else{f[i>>2]=f[d>>2];z=36}if((z|0)==36){z=0;f[d>>2]=i}f[E>>2]=(f[E>>2]|0)+1}x=H;d=f[x>>2]|0;x=Zm(d|0,f[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Eg((f[f[B>>2]>>2]|0)+x|0,M|0,d|0)|0;f[(f[Q>>2]|0)+(J<<2)>>2]=y;d=y+1|0}else{f[(f[Q>>2]|0)+(J<<2)>>2]=f[d+12>>2];d=y}J=J+1|0;g=f[P>>2]|0;if((J|0)>=(g|0)){p=d;break}else y=d}}else p=0;if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[Q>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(O=d+(g<<2)|0,(e|0)!=(O|0)):0)f[i>>2]=e+(~((e+-4-O|0)>>>2)<<2)}else{Pg(j,g-k|0,1204);g=f[P>>2]|0}if((g|0)>0){i=f[Q>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[P>>2]=p}g=f[Q>>2]|0;if(g|0){e=Q+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[R+8>>2]|0;if(d|0)do{Q=d;d=f[d>>2]|0;mq(Q)}while((d|0)!=0);d=f[R>>2]|0;f[R>>2]=0;if(!d){u=S;return p|0}mq(d);u=S;return p|0}function ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=a+8|0;f[F>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{D=f[b+(i<<2)>>2]|0;z=(D|0)<(g|0);g=z?D:g;h=z?h:(D|0)>(h|0)?D:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;D=1-g+h|0;f[a+20>>2]=D;g=(D|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(D&1))f[h>>2]=g+-1}p=e>>>0>1073741823?-1:e<<2;D=jq(p)|0;Xi(D|0,0,p|0)|0;p=f[a+48>>2]|0;u=a+56|0;i=f[u>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){q=f[a+52>>2]|0;x=a+16|0;s=a+32|0;z=a+12|0;y=a+28|0;w=a+20|0;v=a+24|0;r=p+12|0;t=(e|0)>0;n=j>>2;while(1){o=n+-1|0;if(h-g>>2>>>0<=o>>>0){Vo(i);g=f[i>>2]|0}g=f[g+(o<<2)>>2]|0;m=X(o,e)|0;if((g|0)>=0?(E=f[(f[r>>2]|0)+(g<<2)>>2]|0,(E|0)>=0):0){h=f[p>>2]|0;i=f[q>>2]|0;j=f[i+(f[h+(E<<2)>>2]<<2)>>2]|0;g=E+1|0;g=((g|0)%3|0|0)==0?E+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;k=f[i+(g<<2)>>2]|0;g=(((E>>>0)%3|0|0)==0?2:-1)+E|0;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;g=f[i+(g<<2)>>2]|0;if((j|0)<(o|0)&(k|0)<(o|0)&(g|0)<(o|0)){j=X(j,e)|0;i=X(k,e)|0;h=X(g,e)|0;if(t){g=0;do{f[D+(g<<2)>>2]=(f[b+(g+h<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(m<<2)|0;d=c+(m<<2)|0;g=f[F>>2]|0;if((g|0)>0){k=0;i=D;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[x>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(j<<2)>>2]=h}else{H=f[z>>2]|0;h=f[s>>2]|0;f[h+(j<<2)>>2]=(g|0)<(H|0)?H:g;g=h}j=j+1|0}while((j|0)<(f[F>>2]|0));i=g}else i=f[s>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[y>>2]|0)){if((g|0)>(f[v>>2]|0)){g=g-(f[w>>2]|0)|0;G=54}}else{g=(f[w>>2]|0)+g|0;G=54}if((G|0)==54){G=0;f[h>>2]=g}k=k+1|0;g=f[F>>2]|0}while((k|0)<(g|0))}}else G=27}else G=27;if((G|0)==27?(G=0,B=b+(m<<2)|0,C=c+(m<<2)|0,A=f[F>>2]|0,(A|0)>0):0){h=A;k=0;j=b+((X(n+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[x>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(i<<2)>>2]=h}else{n=f[z>>2]|0;H=f[s>>2]|0;f[H+(i<<2)>>2]=(g|0)<(n|0)?n:g;g=H}i=i+1|0}while((i|0)<(f[F>>2]|0))}else g=f[s>>2]|0;h=(f[B+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=C+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[y>>2]|0)){if((h|0)>(f[v>>2]|0)){h=h-(f[w>>2]|0)|0;G=41}}else{h=(f[w>>2]|0)+h|0;G=41}if((G|0)==41){G=0;f[i>>2]=h}k=k+1|0;h=f[F>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((o|0)<=1)break a;i=f[u>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;n=o}}while(0);if((e|0)>0)Xi(D|0,0,e<<2|0)|0;g=f[F>>2]|0;if((g|0)<=0){kq(D);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=D;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;H=f[d>>2]|0;f[H+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=H}j=j+1|0}while((j|0)<(f[F>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;G=68}}else{g=(f[m>>2]|0)+g|0;G=68}if((G|0)==68){G=0;f[h>>2]=g}k=k+1|0;g=f[F>>2]|0}while((k|0)<(g|0));kq(D);return 1}function jc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Ka;Q=u;u=u+80|0;P=Q+48|0;K=Q+32|0;L=Q+16|0;O=Q;H=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[H>>2]=$(1.0);N=a+80|0;yk(O,f[N>>2]|0);g=f[N>>2]|0;if((g|0)>0){v=f[d>>2]|0;A=c+48|0;B=c+40|0;E=L+4|0;F=L+8|0;G=L+12|0;y=P+4|0;z=P+12|0;x=P+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){g=v+D|0;d=A;e=f[d>>2]|0;d=f[d+4>>2]|0;h=B;g=Zm(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Zn(g|0,I|0,e|0,d|0)|0;d=(f[f[c>>2]>>2]|0)+d|0;e=K;g=d;h=e+16|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));dm(L|0,d|0,16)|0;d=dg(P,L)|0;if(!d){i=f[L>>2]|0;j=f[E>>2]|0;k=f[F>>2]|0;l=f[G>>2]|0;r=(((i^318)+239^j)+239^k)+239^l;p=f[y>>2]|0;q=(p|0)==0;a:do if(!q){h=p+-1|0;g=(h&p|0)==0;if(g)d=r&h;else d=(r>>>0)%(p>>>0)|0;e=f[(f[P>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(J=f[e>>2]|0,(J|0)!=0):0)if(g){e=J;while(1){if((f[e+4>>2]&h|0)!=(d|0)){t=25;break a}if((((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0)?(f[e+20>>2]|0)==(l|0):0)break a;e=f[e>>2]|0;if(!e){t=25;break}}}else{e=J;while(1){if((((f[e+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(d|0)){t=25;break a}if((((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0)?(f[e+20>>2]|0)==(l|0):0)break a;e=f[e>>2]|0;if(!e){t=25;break}}}else t=25}else{d=0;t=25}while(0);if((t|0)==25){t=0;h=_m(28)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=l;f[h+24>>2]=s;f[h+4>>2]=r;f[h>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);R=$(p>>>0);m=$(n[H>>2]);do if(q|o>$(R*m)){d=(p>>>0<3|(p+-1&p|0)!=0)&1|p<<1;e=~~$(W($(o/m)))>>>0;Ah(P,d>>>0>>0?e:d);d=f[y>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=p;while(0);e=(f[P>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[h>>2]=f[x>>2];f[x>>2]=h;f[e>>2]=x;d=f[h>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[P>>2]|0)+(d<<2)|0;t=36}}else{f[h>>2]=f[d>>2];t=36}if((t|0)==36){t=0;f[d>>2]=h}f[z>>2]=(f[z>>2]|0)+1}r=C;d=f[r>>2]|0;r=Zm(d|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[w>>2]>>2]|0)+r|0,K|0,d|0)|0;f[(f[O>>2]|0)+(D<<2)>>2]=s;d=s+1|0}else{f[(f[O>>2]|0)+(D<<2)>>2]=f[d+24>>2];d=s}D=D+1|0;g=f[N>>2]|0;if((D|0)>=(g|0)){l=d;break}else s=d}}else l=0;if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[O>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(M=d+(g<<2)|0,(e|0)!=(M|0)):0)f[h>>2]=e+(~((e+-4-M|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[N>>2]|0}if((g|0)>0){h=f[O>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[N>>2]=l}g=f[O>>2]|0;if(g|0){e=O+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[P+8>>2]|0;if(d|0)do{O=d;d=f[d>>2]|0;mq(O)}while((d|0)!=0);d=f[P>>2]|0;f[P>>2]=0;if(!d){u=Q;return l|0}mq(d);u=Q;return l|0}function kc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=Ka;K=u;u=u+48|0;J=K+12|0;E=K+32|0;H=K;D=J+16|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;n[D>>2]=$(1.0);G=a+80|0;yk(H,f[G>>2]|0);i=f[G>>2]|0;a:do if((i|0)>0){A=c+48|0;B=c+40|0;x=J+4|0;z=J+12|0;w=J+8|0;C=a+40|0;y=a+64|0;v=f[e>>2]|0;i=0;t=0;s=0;while(1){k=v+t|0;m=A;q=f[m>>2]|0;m=f[m+4>>2]|0;l=B;l=Zm(k|0,((k|0)<0)<<31>>31|0,f[l>>2]|0,f[l+4>>2]|0)|0;m=Zn(l|0,I|0,q|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8;d[E>>1]=m;q=(m^318)&65535;b:do if(i){l=i+-1|0;k=(l&i|0)==0;if(k)g=l&q;else g=(q>>>0)%(i>>>0)|0;j=f[J>>2]|0;e=f[j+(g<<2)>>2]|0;c:do if(e|0){if(k)do{e=f[e>>2]|0;if(!e)break c;if((f[e+4>>2]&l|0)!=(g|0))break c}while((d[e+8>>1]|0)!=m<<16>>16);else do{e=f[e>>2]|0;if(!e)break c;if((((f[e+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(g|0))break c}while((d[e+8>>1]|0)!=m<<16>>16);f[(f[H>>2]|0)+(t<<2)>>2]=f[e+12>>2];g=s;break b}while(0);if(k)e=l&q;else e=(q>>>0)%(i>>>0)|0;g=f[j+(e<<2)>>2]|0;if(g)if(k)while(1){g=f[g>>2]|0;if(!g){g=0;r=28;break b}if((f[g+4>>2]&l|0)!=(e|0)){g=0;r=28;break b}if((d[g+8>>1]|0)==m<<16>>16){r=41;break}}else while(1){g=f[g>>2]|0;if(!g){g=0;r=28;break b}if((((f[g+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){g=0;r=28;break b}if((d[g+8>>1]|0)==m<<16>>16){r=41;break}}else{g=0;r=28}}else{i=0;e=0;g=1;r=28}while(0);if((r|0)==28){r=0;j=_m(16)|0;d[j+8>>1]=m;f[j+12>>2]=s;f[j+4>>2]=q;f[j>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);L=$(i>>>0);o=$(n[D>>2]);do if(g|p>$(L*o)){e=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;g=~~$(W($(p/o)))>>>0;zh(J,e>>>0>>0?g:e);e=f[x>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&q;break}else{i=e;e=(q>>>0)%(e>>>0)|0;break}}while(0);g=(f[J>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[w>>2];f[w>>2]=j;f[g>>2]=w;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[J>>2]|0)+(e<<2)|0;r=39}}else{f[j>>2]=f[e>>2];r=39}if((r|0)==39)f[e>>2]=j;f[z>>2]=(f[z>>2]|0)+1;r=41}if((r|0)==41){r=0;q=C;g=f[q>>2]|0;q=Zm(g|0,f[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+q|0,E|0,g|0)|0;f[(f[H>>2]|0)+(t<<2)>>2]=s;g=s+1|0}e=t+1|0;i=f[G>>2]|0;if((e|0)>=(i|0)){q=g;break a}i=f[x>>2]|0;t=e;s=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[H>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(F=e+(i<<2)|0,(g|0)!=(F|0)):0)f[j>>2]=g+(~((g+-4-F|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[G>>2]|0}if((i|0)>0){j=f[H>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[G>>2]=q}i=f[H>>2]|0;if(i|0){g=H+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[J+8>>2]|0;if(e|0)do{H=e;e=f[e>>2]|0;mq(H)}while((e|0)!=0);e=f[J>>2]|0;f[J>>2]=0;if(!e){u=K;return q|0}mq(e);u=K;return q|0}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;J=a+8|0;f[J>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{H=f[b+(i<<2)>>2]|0;A=(H|0)<(g|0);g=A?H:g;h=A?h:(H|0)>(h|0)?H:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;H=1-g+h|0;f[a+20>>2]=H;g=(H|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(H&1))f[h>>2]=g+-1}p=e>>>0>1073741823?-1:e<<2;H=jq(p)|0;Xi(H|0,0,p|0)|0;p=f[a+48>>2]|0;v=a+56|0;i=f[v>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){q=f[a+52>>2]|0;y=a+16|0;s=a+32|0;A=a+12|0;z=a+28|0;x=a+20|0;w=a+24|0;u=p+64|0;r=p+28|0;t=(e|0)>0;n=j>>2;while(1){o=n+-1|0;if(h-g>>2>>>0<=o>>>0){Vo(i);g=f[i>>2]|0}g=f[g+(o<<2)>>2]|0;m=X(o,e)|0;if((!((g|0)<0?1:(1<<(g&31)&f[(f[p>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(I=f[(f[(f[u>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(I|0)>=0):0)?(D=f[r>>2]|0,d=f[q>>2]|0,B=f[d+(f[D+(I<<2)>>2]<<2)>>2]|0,C=I+1|0,C=f[d+(f[D+((((C|0)%3|0|0)==0?I+-2|0:C)<<2)>>2]<<2)>>2]|0,D=f[d+(f[D+((((I>>>0)%3|0|0)==0?2:-1)+I<<2)>>2]<<2)>>2]|0,(B|0)<(o|0)&(C|0)<(o|0)&(D|0)<(o|0)):0){h=X(B,e)|0;i=X(C,e)|0;j=X(D,e)|0;if(t){g=0;do{f[H+(g<<2)>>2]=(f[b+(g+j<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+h<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(m<<2)|0;d=c+(m<<2)|0;g=f[J>>2]|0;if((g|0)>0){k=0;i=H;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[y>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(j<<2)>>2]=h}else{L=f[A>>2]|0;h=f[s>>2]|0;f[h+(j<<2)>>2]=(g|0)<(L|0)?L:g;g=h}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[s>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[z>>2]|0)){if((g|0)>(f[w>>2]|0)){g=g-(f[x>>2]|0)|0;K=50}}else{g=(f[x>>2]|0)+g|0;K=50}if((K|0)==50){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0))}}else K=23;if((K|0)==23?(K=0,F=b+(m<<2)|0,G=c+(m<<2)|0,E=f[J>>2]|0,(E|0)>0):0){h=E;k=0;j=b+((X(n+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[y>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(i<<2)>>2]=h}else{n=f[A>>2]|0;L=f[s>>2]|0;f[L+(i<<2)>>2]=(g|0)<(n|0)?n:g;g=L}i=i+1|0}while((i|0)<(f[J>>2]|0))}else g=f[s>>2]|0;h=(f[F+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=G+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[z>>2]|0)){if((h|0)>(f[w>>2]|0)){h=h-(f[x>>2]|0)|0;K=37}}else{h=(f[x>>2]|0)+h|0;K=37}if((K|0)==37){K=0;f[i>>2]=h}k=k+1|0;h=f[J>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((o|0)<=1)break a;i=f[v>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;n=o}}while(0);if((e|0)>0)Xi(H|0,0,e<<2|0)|0;g=f[J>>2]|0;if((g|0)<=0){kq(H);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=H;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;L=f[d>>2]|0;f[L+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=L}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;K=64}}else{g=(f[m>>2]|0)+g|0;K=64}if((K|0)==64){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0));kq(H);return 1}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=Ka,m=Ka,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=Ka;H=u;u=u+48|0;G=H+12|0;C=H+32|0;F=H;B=G+16|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;n[B>>2]=$(1.0);E=a+80|0;yk(F,f[E>>2]|0);g=f[E>>2]|0;a:do if((g|0)>0){y=c+48|0;z=c+40|0;v=G+4|0;x=G+12|0;t=G+8|0;A=a+40|0;w=a+64|0;s=f[d>>2]|0;g=0;r=0;q=0;while(1){i=s+r|0;k=y;o=f[k>>2]|0;k=f[k+4>>2]|0;j=z;j=Zm(i|0,((i|0)<0)<<31>>31|0,f[j>>2]|0,f[j+4>>2]|0)|0;k=Zn(j|0,I|0,o|0,k|0)|0;k=b[(f[f[c>>2]>>2]|0)+k>>0]|0;b[C>>0]=k;o=k&255^318;b:do if(g){j=g+-1|0;i=(j&g|0)==0;if(i)e=j&o;else e=(o>>>0)%(g>>>0)|0;h=f[G>>2]|0;d=f[h+(e<<2)>>2]|0;c:do if(d|0){if(i)do{d=f[d>>2]|0;if(!d)break c;if((f[d+4>>2]&j|0)!=(e|0))break c}while((b[d+8>>0]|0)!=k<<24>>24);else do{d=f[d>>2]|0;if(!d)break c;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(e|0))break c}while((b[d+8>>0]|0)!=k<<24>>24);f[(f[F>>2]|0)+(r<<2)>>2]=f[d+12>>2];e=q;break b}while(0);if(i)d=j&o;else d=(o>>>0)%(g>>>0)|0;e=f[h+(d<<2)>>2]|0;if(e)if(i)while(1){e=f[e>>2]|0;if(!e){e=0;p=28;break b}if((f[e+4>>2]&j|0)!=(d|0)){e=0;p=28;break b}if((b[e+8>>0]|0)==k<<24>>24){p=41;break}}else while(1){e=f[e>>2]|0;if(!e){e=0;p=28;break b}if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){e=0;p=28;break b}if((b[e+8>>0]|0)==k<<24>>24){p=41;break}}else{e=0;p=28}}else{g=0;d=0;e=1;p=28}while(0);if((p|0)==28){p=0;h=_m(16)|0;b[h+8>>0]=k;f[h+12>>2]=q;f[h+4>>2]=o;f[h>>2]=0;m=$(((f[x>>2]|0)+1|0)>>>0);J=$(g>>>0);l=$(n[B>>2]);do if(e|m>$(J*l)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(m/l)))>>>0;Gh(G,d>>>0>>0?e:d);d=f[v>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&o;break}else{g=d;d=(o>>>0)%(d>>>0)|0;break}}while(0);e=(f[G>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[h>>2]=f[t>>2];f[t>>2]=h;f[e>>2]=t;d=f[h>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[G>>2]|0)+(d<<2)|0;p=39}}else{f[h>>2]=f[d>>2];p=39}if((p|0)==39)f[d>>2]=h;f[x>>2]=(f[x>>2]|0)+1;p=41}if((p|0)==41){p=0;o=A;e=f[o>>2]|0;o=Zm(e|0,f[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;Eg((f[f[w>>2]>>2]|0)+o|0,C|0,e|0)|0;f[(f[F>>2]|0)+(r<<2)>>2]=q;e=q+1|0}d=r+1|0;g=f[E>>2]|0;if((d|0)>=(g|0)){o=e;break a}g=f[v>>2]|0;r=d;q=e}}else o=0;while(0);if((o|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[F>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(D=d+(g<<2)|0,(e|0)!=(D|0)):0)f[h>>2]=e+(~((e+-4-D|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[E>>2]|0}if((g|0)>0){h=f[F>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[E>>2]=o}g=f[F>>2]|0;if(g|0){e=F+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[G+8>>2]|0;if(d|0)do{F=d;d=f[d>>2]|0;mq(F)}while((d|0)!=0);d=f[G>>2]|0;f[G>>2]=0;if(!d){u=H;return o|0}mq(d);u=H;return o|0}function nc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=0,s=Ka,t=Ka,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+28|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)v=-1073741824;else v=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;v=-1073741824}g=a+32|0;m=f[g>>2]|0;i=f[m+4>>2]|0;r=f[m>>2]|0;if(i-r>>2>>>0>c>>>0){g=r;k=i;l=m;i=r}else{Vo(m);l=f[g>>2]|0;g=f[l>>2]|0;k=f[l+4>>2]|0;i=f[m>>2]|0}c=f[i+(c<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+52|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}r=a+52|0;v=f[r>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+48>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+40|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;t=$(n[D>>2]);q=$(n[C>>2]);t=$(t-q);s=$(n[D+4>>2]);j=$(n[C+4>>2]);s=$(s-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(t*t)+$(0.0))+$(s*s))+$(p*p));if(o>$(0.0)){G=$($($($($(t*q)+$(0.0))+$(s*j))+$(p*h))/o);t=$(q-$(t*G));s=$(j-$(s*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(s*s)+$($(t*t)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[r>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+56|0;l=a+60|0;c=f[l>>2]|0;i=a+64|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=Ka;J=u;u=u+48|0;H=J+16|0;D=J+12|0;G=J;C=H+16|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;n[C>>2]=$(1.0);F=a+80|0;yk(G,f[F>>2]|0);g=f[F>>2]|0;a:do if((g|0)>0){z=c+48|0;A=c+40|0;w=H+4|0;y=H+12|0;v=H+8|0;B=a+40|0;x=a+64|0;t=f[d>>2]|0;g=0;s=0;r=0;while(1){j=t+s|0;l=z;p=f[l>>2]|0;l=f[l+4>>2]|0;k=A;k=Zm(j|0,((j|0)<0)<<31>>31|0,f[k>>2]|0,f[k+4>>2]|0)|0;l=Zn(k|0,I|0,p|0,l|0)|0;l=(f[f[c>>2]>>2]|0)+l|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[D>>2]=l;p=l^318;b:do if(g){k=g+-1|0;j=(k&g|0)==0;if(j)e=k&p;else e=(p>>>0)%(g>>>0)|0;i=f[H>>2]|0;d=f[i+(e<<2)>>2]|0;c:do if(d|0){if(j)do{d=f[d>>2]|0;if(!d)break c;if((f[d+4>>2]&k|0)!=(e|0))break c}while((f[d+8>>2]|0)!=(l|0));else do{d=f[d>>2]|0;if(!d)break c;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(e|0))break c}while((f[d+8>>2]|0)!=(l|0));f[(f[G>>2]|0)+(s<<2)>>2]=f[d+12>>2];e=r;break b}while(0);if(j)d=k&p;else d=(p>>>0)%(g>>>0)|0;e=f[i+(d<<2)>>2]|0;if(e)if(j)while(1){e=f[e>>2]|0;if(!e){e=0;q=28;break b}if((f[e+4>>2]&k|0)!=(d|0)){e=0;q=28;break b}if((f[e+8>>2]|0)==(l|0)){q=41;break}}else while(1){e=f[e>>2]|0;if(!e){e=0;q=28;break b}if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){e=0;q=28;break b}if((f[e+8>>2]|0)==(l|0)){q=41;break}}else{e=0;q=28}}else{g=0;d=0;e=1;q=28}while(0);if((q|0)==28){q=0;i=_m(16)|0;f[i+8>>2]=l;f[i+12>>2]=r;f[i+4>>2]=p;f[i>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);K=$(g>>>0);m=$(n[C>>2]);do if(e|o>$(K*m)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(o/m)))>>>0;si(H,d>>>0>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&p;break}else{g=d;d=(p>>>0)%(d>>>0)|0;break}}while(0);e=(f[H>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[i>>2]=f[v>>2];f[v>>2]=i;f[e>>2]=v;d=f[i>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[H>>2]|0)+(d<<2)|0;q=39}}else{f[i>>2]=f[d>>2];q=39}if((q|0)==39)f[d>>2]=i;f[y>>2]=(f[y>>2]|0)+1;q=41}if((q|0)==41){q=0;p=B;e=f[p>>2]|0;p=Zm(e|0,f[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Eg((f[f[x>>2]>>2]|0)+p|0,D|0,e|0)|0;f[(f[G>>2]|0)+(s<<2)>>2]=r;e=r+1|0}d=s+1|0;g=f[F>>2]|0;if((d|0)>=(g|0)){p=e;break a}g=f[w>>2]|0;s=d;r=e}}else p=0;while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[G>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(E=d+(g<<2)|0,(e|0)!=(E|0)):0)f[i>>2]=e+(~((e+-4-E|0)>>>2)<<2)}else{Pg(j,g-k|0,1204);g=f[F>>2]|0}if((g|0)>0){i=f[G>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[F>>2]=p}g=f[G>>2]|0;if(g|0){e=G+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[H+8>>2]|0;if(d|0)do{G=d;d=f[d>>2]|0;mq(G)}while((d|0)!=0);d=f[H>>2]|0;f[H>>2]=0;if(!d){u=J;return p|0}mq(d);u=J;return p|0}function pc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=0,s=Ka,t=Ka,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+48|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)v=-1073741824;else v=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;v=-1073741824}g=a+52|0;m=f[g>>2]|0;i=f[m+4>>2]|0;r=f[m>>2]|0;if(i-r>>2>>>0>c>>>0){g=r;k=i;l=m;i=r}else{Vo(m);l=f[g>>2]|0;g=f[l>>2]|0;k=f[l+4>>2]|0;i=f[m>>2]|0}c=f[i+(c<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+72|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}r=a+72|0;v=f[r>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+68>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+60|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;t=$(n[D>>2]);q=$(n[C>>2]);t=$(t-q);s=$(n[D+4>>2]);j=$(n[C+4>>2]);s=$(s-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(t*t)+$(0.0))+$(s*s))+$(p*p));if(o>$(0.0)){G=$($($($($(t*q)+$(0.0))+$(s*j))+$(p*h))/o);t=$(q-$(t*G));s=$(j-$(s*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(s*s)+$($(t*t)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[r>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+76|0;l=a+80|0;c=f[l>>2]|0;i=a+84|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function qc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=Ka,s=Ka,t=0,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+28|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);v=f[(f[i>>2]|0)+28>>2]|0;t=f[v+(c<<2)>>2]|0;v=f[v+(g<<2)>>2]|0;g=a+32|0;i=f[g>>2]|0;c=f[i+4>>2]|0;m=f[i>>2]|0;if(c-m>>2>>>0>t>>>0){k=c;l=i;c=m;g=m}else{Vo(i);g=f[g>>2]|0;k=f[g+4>>2]|0;l=g;c=f[i>>2]|0;g=f[g>>2]|0}c=f[c+(t<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+52|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}t=a+52|0;v=f[t>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+48>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+40|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;s=$(n[D>>2]);q=$(n[C>>2]);s=$(s-q);r=$(n[D+4>>2]);j=$(n[C+4>>2]);r=$(r-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(s*s)+$(0.0))+$(r*r))+$(p*p));if(o>$(0.0)){G=$($($($($(s*q)+$(0.0))+$(r*j))+$(p*h))/o);s=$(q-$(s*G));r=$(j-$(r*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[t>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+56|0;l=a+60|0;c=f[l>>2]|0;i=a+64|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function rc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[5982]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[5983]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[5980]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[5978]=f[5978]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=24216+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5979]=f[5979]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[5983]|0;if((k|0)==(f[5984]|0)){k=(f[5981]|0)+b|0;f[5981]=k;f[5984]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[5983]=0;f[5980]=0;return}if((k|0)==(a|0)){k=(f[5980]|0)+b|0;f[5980]=k;f[5983]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[5978]=f[5978]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=24216+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5979]=f[5979]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[5983]|0)){f[5980]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=23952+(a<<1<<2)|0;b=f[5978]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=24216+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[5979]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[5979]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[5986]|0)+-1|0;f[5986]=k;if(!k)a=24368;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[5986]=-1;return}function sc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=Ka,s=Ka,t=0,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+48|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);v=f[(f[i>>2]|0)+28>>2]|0;t=f[v+(c<<2)>>2]|0;v=f[v+(g<<2)>>2]|0;g=a+52|0;i=f[g>>2]|0;c=f[i+4>>2]|0;m=f[i>>2]|0;if(c-m>>2>>>0>t>>>0){k=c;l=i;c=m;g=m}else{Vo(i);g=f[g>>2]|0;k=f[g+4>>2]|0;l=g;c=f[i>>2]|0;g=f[g>>2]|0}c=f[c+(t<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+72|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}t=a+72|0;v=f[t>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+68>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+60|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;s=$(n[D>>2]);q=$(n[C>>2]);s=$(s-q);r=$(n[D+4>>2]);j=$(n[C+4>>2]);r=$(r-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(s*s)+$(0.0))+$(r*r))+$(p*p));if(o>$(0.0)){G=$($($($($(s*q)+$(0.0))+$(r*j))+$(p*h))/o);s=$(q-$(s*G));r=$(j-$(r*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[t>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+76|0;l=a+80|0;c=f[l>>2]|0;i=a+84|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))zi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];qg(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];qg(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;d=d+(i>>>5<<2)|0;f[d>>2]=1<<(i&31)|f[d>>2];d=f[b>>2]|0;i=f[(f[e+28>>2]|0)+(d<<2)>>2]|0;c=f[(f[e+40>>2]|0)+(i<<2)>>2]|0;if((c|0)<0)j=1;else{j=f[(f[f[e+64>>2]>>2]|0)+(c<<2)>>2]|0;j=(1<<(j&31)&f[(f[e+12>>2]|0)+(j>>>5<<2)>>2]|0)!=0}g=(f[n>>2]|0)+(i>>>5<<2)|0;h=1<<(i&31);c=f[g>>2]|0;if(!(c&h)){f[g>>2]=c|h;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];qg(k,t,w);e=f[a>>2]|0;c=f[b>>2]|0;if(j){d=c;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)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}}else y=40;if((y|0)==40){y=0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){zi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))zi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];qg(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];qg(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){e=(c|0)/3|0;g=d+(e>>>5<<2)|0;f[g>>2]=1<<(e&31)|f[g>>2];g=f[b>>2]|0;e=f[a>>2]|0;if((g|0)<0)j=-1073741824;else j=f[(f[e>>2]|0)+(g<<2)>>2]|0;d=f[(f[e+24>>2]|0)+(j<<2)>>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){d=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;c=d+1|0;if((d|0)<0)i=d;else i=((c|0)%3|0|0)==0?d+-2|0:c}else i=c}else i=d;d=(f[n>>2]|0)+(j>>>5<<2)|0;h=1<<(j&31);c=f[d>>2]|0;if(!(c&h)){f[d>>2]=c|h;f[s>>2]=j;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];qg(k,t,w);d=f[a>>2]|0;c=f[b>>2]|0;if((i|0)<0){g=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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((g|0)<0){y=44;break}c=g+1|0;c=((c|0)%3|0|0)==0?g+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=49;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(g){y=51;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=51;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==44){f[w>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){zi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function vc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+48|0;v=w+24|0;t=w+12|0;s=w;q=a+32|0;r=a+8|0;o=a+12|0;b=f[o>>2]|0;c=f[r>>2]|0;i=b-c>>2;g=a+36|0;e=f[g>>2]|0;d=f[q>>2]|0;j=e-d>>2;if(i>>>0<=j>>>0){if(i>>>0>>0?(h=d+(i<<2)|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else{gi(q,i-j|0);c=f[r>>2]|0;b=f[o>>2]|0}e=b-c|0;d=e>>2;f[v>>2]=0;c=v+4|0;f[c>>2]=0;b=v+8|0;f[b>>2]=0;if(d|0){if((e|0)<0)Wo(v);l=((d+-1|0)>>>5)+1|0;m=_m(l<<2)|0;f[v>>2]=m;f[b>>2]=l;f[c>>2]=d;b=d>>>5;Xi(m|0,0,b<<2|0)|0;c=d-(b<<5)|0;b=m+(b<<2)|0;if(c|0)f[b>>2]=f[b>>2]&~(-1>>>(32-c|0))}m=a+20|0;b=f[r>>2]|0;d=b;c=f[o>>2]|0;e=0;while(1){if(e>>>0>2>>>0){g=0;l=0}else{n=25;break}while(1){j=l>>>5;k=1<<(l&31);do if(!(f[(f[v>>2]|0)+(j<<2)>>2]&k)){c=f[b+(l<<2)>>2]|0;if((f[c+8>>2]|0)!=(f[c+4>>2]|0)){d=1;i=0;do{h=f[(f[c+4>>2]|0)+(i<<2)>>2]|0;c=0;while(1){b=f[b+(l<<2)>>2]|0;if((c|0)>=(Va[f[(f[b>>2]|0)+24>>2]&127](b,h)|0))break;b=f[(f[r>>2]|0)+(l<<2)>>2]|0;b=Ma[f[(f[b>>2]|0)+28>>2]&31](b,h,c)|0;if((b|0)!=(l|0)?(b=f[(f[m>>2]|0)+(b<<2)>>2]|0,(1<<(b&31)&f[(f[v>>2]|0)+(b>>>5<<2)>>2]|0)==0):0){d=0;break}b=f[r>>2]|0;c=c+1|0}i=i+1|0;b=f[r>>2]|0;c=f[b+(l<<2)>>2]|0}while(i>>>0<(f[c+8>>2]|0)-(f[c+4>>2]|0)>>2>>>0);if(!d){d=b;h=e;break}}else b=d;f[(f[q>>2]|0)+(e<<2)>>2]=l;d=(f[v>>2]|0)+(j<<2)|0;f[d>>2]=f[d>>2]|k;d=b;g=1;h=e+1|0}else h=e;while(0);l=l+1|0;c=f[o>>2]|0;e=c-d>>2;b=d;if(l>>>0>=e>>>0)break;else e=h}if(h>>>0>>0&(g^1)){c=0;break}else e=h}if((n|0)==25){f[t>>2]=0;n=t+4|0;f[n>>2]=0;f[t+8>>2]=0;e=f[a+4>>2]|0;e=(f[e+12>>2]|0)-(f[e+8>>2]|0)|0;d=e>>2;f[s>>2]=0;c=s+4|0;f[c>>2]=0;b=s+8|0;f[b>>2]=0;if(d|0){if((e|0)<0)Wo(s);m=((d+-1|0)>>>5)+1|0;a=_m(m<<2)|0;f[s>>2]=a;f[b>>2]=m;f[c>>2]=d;b=d>>>5;Xi(a|0,0,b<<2|0)|0;c=d-(b<<5)|0;b=a+(b<<2)|0;if(c|0)f[b>>2]=f[b>>2]&~(-1>>>(32-c|0))}b=f[o>>2]|0;c=f[r>>2]|0;a:do if((b|0)==(c|0))c=1;else{a=0;while(1){l=f[(f[q>>2]|0)+(a<<2)>>2]|0;k=f[c+(l<<2)>>2]|0;k=(f[k+8>>2]|0)-(f[k+4>>2]|0)|0;m=k>>2;if((k|0)>=8){c=f[n>>2]|0;b=f[t>>2]|0;d=c-b>>2;if(m>>>0<=d>>>0)if(m>>>0>>0?(p=b+(m<<2)|0,(c|0)!=(p|0)):0){f[n>>2]=c+(~((c+-4-p|0)>>>2)<<2);b=0}else b=0;else{gi(t,m-d|0);b=0}while(1){if((b|0)<(m|0)){c=0;k=0}else break;do{d=f[(f[r>>2]|0)+(l<<2)>>2]|0;h=f[(f[d+4>>2]|0)+(k<<2)>>2]|0;i=k>>>5;j=1<<(k&31);if(!(f[(f[s>>2]|0)+(i<<2)>>2]&j)){e=d;d=1;g=0;while(1){if((g|0)>=(Va[f[(f[e>>2]|0)+24>>2]&127](e,h)|0))break;e=f[(f[r>>2]|0)+(l<<2)>>2]|0;e=Ma[f[(f[e>>2]|0)+28>>2]&31](e,h,g)|0;e=(f[(f[s>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0)!=0;d=d&e;if(!e)break;e=f[(f[r>>2]|0)+(l<<2)>>2]|0;g=g+1|0}if(d){f[(f[t>>2]|0)+(b<<2)>>2]=k;c=(f[s>>2]|0)+(i<<2)|0;f[c>>2]=f[c>>2]|j;c=1;b=b+1|0}}k=k+1|0}while((k|0)<(m|0));if(!(c|(b|0)>=(m|0))){c=0;break a}}lg(f[(f[r>>2]|0)+(l<<2)>>2]|0,t);c=f[r>>2]|0;b=f[o>>2]|0}a=a+1|0;if(a>>>0>=b-c>>2>>>0){c=1;break}}}while(0);b=f[s>>2]|0;if(b|0)mq(b);b=f[t>>2]|0;if(b|0){d=f[n>>2]|0;if((d|0)!=(b|0))f[n>>2]=d+(~((d+-4-b|0)>>>2)<<2);mq(b)}}b=f[v>>2]|0;if(!b){u=w;return c|0}mq(b);u=w;return c|0}function wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;o=r+16|0;p=r+12|0;g=r+29|0;q=r;k=r+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){q=1;u=r;return q|0}b[g>>0]=-2;n=a+36|0;e=f[n>>2]|0;if(e)if(Va[f[(f[a>>2]|0)+40>>2]&127](a,e)|0){j=f[n>>2]|0;j=(Ra[f[(f[j>>2]|0)+8>>2]&127](j)|0)&255;b[g>>0]=j;j=5}else e=0;else j=5;if((j|0)==5){m=d+16|0;l=m;i=f[l+4>>2]|0;if(!((i|0)>0|(i|0)==0&(f[l>>2]|0)>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,g,g+1|0)|0}e=f[n>>2]|0;if(e|0?(l=(Ra[f[(f[e>>2]|0)+36>>2]&127](e)|0)&255,b[q>>0]=l,l=m,i=f[l+4>>2]|0,!((i|0)>0|(i|0)==0&(f[l>>2]|0)>>>0>0)):0){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,q,q+1|0)|0}e=f[a+32>>2]|0;i=b[e+24>>0]|0;l=X(i,f[e+80>>2]|0)|0;e=(f[f[e>>2]>>2]|0)+(f[e+48>>2]|0)|0;yk(q,l);g=f[n>>2]|0;if((g|0)!=0?(Qa[f[(f[g>>2]|0)+44>>2]&31](g,e,f[q>>2]|0,l,i,f[c>>2]|0)|0,h=f[n>>2]|0,(h|0)!=0):0){if(!(Ra[f[(f[h>>2]|0)+32>>2]&127](h)|0)){g=q;e=(f[n>>2]|0)==0?e:f[q>>2]|0;j=16}}else{g=q;j=16}if((j|0)==16)nm(e,l,f[g>>2]|0);e=f[a+4>>2]|0;do if((e|0)!=0?(j=f[e+48>>2]|0,f[o>>2]=0,f[o+4>>2]=0,f[o+8>>2]=0,Kj(o,11500,34),j=Pj(j,o,1)|0,_n(o),!j):0){i=(l|0)==0;if(!i){e=f[q>>2]|0;g=0;h=0;do{h=f[e+(g<<2)>>2]|h;g=g+1|0}while((g|0)!=(l|0));if(h)a=((_(h|0)|0)>>>3^3)+1|0;else a=1}else a=1;b[k>>0]=0;e=m;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,k,k+1|0)|0;g=m;e=f[g+4>>2]|0;g=f[g>>2]|0}b[k>>0]=a;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,k,k+1|0)|0}if((a|0)==(Ql(5)|0)){e=f[q>>2]|0;k=f[m+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[m>>2]|0)>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,e,e+(l<<2)|0)|0}j=40;break}if(i)j=40;else{e=d+4|0;h=0;do{g=(f[q>>2]|0)+(h<<2)|0;k=m;j=f[k+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){f[p>>2]=f[e>>2];f[o>>2]=f[p>>2];Ie(d,o,g,g+a|0)|0}h=h+1|0}while(h>>>0>>0);j=40}}else j=21;while(0);if((j|0)==21){b[k>>0]=1;l=f[m+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[m>>2]|0)>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,k,k+1|0)|0}if(Nc(f[q>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,d)|0)j=40;else e=0}if((j|0)==40){e=f[n>>2]|0;if(!e)e=1;else{Va[f[(f[e>>2]|0)+40>>2]&127](e,d)|0;e=1}}i=f[q>>2]|0;if(i|0){h=q+4|0;g=f[h>>2]|0;if((g|0)!=(i|0))f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2);mq(i)}}q=e;u=r;return q|0}function xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Fa(13062,13084,46,13248);if(!(f[a+8>>2]|0))Fa(13062,13084,46,13248);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Bg(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Bg(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Bg(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=Dn(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=Dn(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=Dn(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=Dn(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=Dn(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Zm(H|0,J|0,i|0,h|0)|0;M=I;P=Zm(T|0,S|0,K|0,L|0)|0;O=I;L=Zm(R|0,Q|0,K|0,L|0)|0;K=I;J=Zm(H|0,J|0,n|0,j|0)|0;H=I;j=Zm(T|0,S|0,n|0,j|0)|0;n=I;h=Zm(R|0,Q|0,i|0,h|0)|0;i=I;l=Dn(l|0,k|0,P|0,O|0)|0;l=Zn(l|0,I|0,N|0,M|0)|0;k=I;g=Zn(L|0,K|0,g|0,m|0)|0;g=Dn(g|0,I|0,J|0,H|0)|0;m=I;c=Dn(c|0,e|0,h|0,i|0)|0;c=Zn(c|0,I|0,j|0,n|0)|0;e=I;xf(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=Dn(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=Dn(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=Dn(0,0,c|0,e|0)|0;S=Zn((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Zn(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=yn(h|0,i|0,29)|0;T=T&7;i=kk(l|0,k|0,T|0,0)|0;j=I;g=kk(g|0,m|0,T|0,0)|0;h=I;c=kk(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=yn(h|0,i|0,29)|0;T=I;i=kk(l|0,k|0,S|0,T|0)|0;j=I;g=kk(g|0,m|0,S|0,T|0)|0;h=I;c=kk(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=Dn(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=Dn(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=Dn(0,0,c|0,e|0)|0;Q=Zn((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Zn(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Fa(13270,13084,95,13248)}function yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Fa(13062,13084,46,13248);if(!(f[a+8>>2]|0))Fa(13062,13084,46,13248);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Gg(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Gg(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Gg(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=Dn(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=Dn(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=Dn(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=Dn(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=Dn(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Zm(H|0,J|0,i|0,h|0)|0;M=I;P=Zm(T|0,S|0,K|0,L|0)|0;O=I;L=Zm(R|0,Q|0,K|0,L|0)|0;K=I;J=Zm(H|0,J|0,n|0,j|0)|0;H=I;j=Zm(T|0,S|0,n|0,j|0)|0;n=I;h=Zm(R|0,Q|0,i|0,h|0)|0;i=I;l=Dn(l|0,k|0,P|0,O|0)|0;l=Zn(l|0,I|0,N|0,M|0)|0;k=I;g=Zn(L|0,K|0,g|0,m|0)|0;g=Dn(g|0,I|0,J|0,H|0)|0;m=I;c=Dn(c|0,e|0,h|0,i|0)|0;c=Zn(c|0,I|0,j|0,n|0)|0;e=I;Lg(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=Dn(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=Dn(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=Dn(0,0,c|0,e|0)|0;S=Zn((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Zn(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=yn(h|0,i|0,29)|0;T=T&7;i=kk(l|0,k|0,T|0,0)|0;j=I;g=kk(g|0,m|0,T|0,0)|0;h=I;c=kk(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=yn(h|0,i|0,29)|0;T=I;i=kk(l|0,k|0,S|0,T|0)|0;j=I;g=kk(g|0,m|0,S|0,T|0)|0;h=I;c=kk(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=Dn(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=Dn(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=Dn(0,0,c|0,e|0)|0;Q=Zn((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Zn(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Fa(13270,13084,95,13248)}function zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=Ka,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=Ka;t=b[c+11>>0]|0;v=t<<24>>24<0;u=v?f[c>>2]|0:c;t=v?f[c+4>>2]|0:t&255;if(t>>>0>3){j=u;m=t;k=t;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}v=t+-4|0;k=v&-4;l=u+(k+4)|0;j=m;k=v-k|0}else{l=u;j=t;k=t}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;x=6;break}case 2:{o=j;x=6;break}case 1:{p=j;x=7;break}default:q=j}if((x|0)==6){p=h[l+1>>0]<<8^o;x=7}if((x|0)==7)q=X(h[l>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;r=a+4|0;q=f[r>>2]|0;s=(q|0)==0;a:do if(!s){o=q+-1|0;k=(o&q|0)==0;if(k)p=v&o;else p=(v>>>0)%(q>>>0)|0;j=f[(f[a>>2]|0)+(p<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){j=(t|0)==0;if(k){if(j){while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}u=b[e+8+11>>0]|0;if(!((u<<24>>24<0?f[e+12>>2]|0:u&255)|0))break;e=f[e>>2]|0;if(!e){d=p;break a}}a=e+20|0;return a|0}b:while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(il(k,u,t)|0)){x=54;break b}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break b}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}else{if(j){d=e;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}u=b[d+8+11>>0]|0;if(!((u<<24>>24<0?f[d+12>>2]|0:u&255)|0)){e=d;break}d=f[d>>2]|0;if(!d){d=p;break a}}a=e+20|0;return a|0}c:while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(il(k,u,t)|0)){x=54;break c}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}}else d=p}else d=0;while(0);l=_m(24)|0;dl(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=v;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);y=$(q>>>0);g=$(n[a+16>>2]);do if(s|i>$(y*g)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(i/g)))>>>0;Rh(a,d>>>0>>0?e:d);d=f[r>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&v;break}else{j=d;d=(v>>>0)%(d>>>0)|0;break}}else j=q;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;w=(f[a>>2]|0)+(d<<2)|0;x=52}}else{f[l>>2]=f[d>>2];w=d;x=52}if((x|0)==52)f[w>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else zi(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))zi(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else zi(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){zi(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)Fa(19877,19795,64,19872);else if((C|0)==33)Fa(19877,19795,64,19872)}function Bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=u;u=u+16|0;A=B+4|0;z=B;if(!(Ci(a,d)|0)){a=0;u=B;return a|0}v=a+64|0;d=f[v>>2]|0;a:do if(((f[d+4>>2]|0)-(f[d>>2]|0)|0)>0){s=a+12|0;w=c+96|0;t=c+100|0;x=e+84|0;r=e+68|0;y=a+24|0;q=0;b:while(1){f[z>>2]=(q>>>0)/3|0;f[A>>2]=f[z>>2];p=Cj(d,A)|0;d=f[v>>2]|0;do if(!p){p=f[(f[d+12>>2]|0)+(q<<2)>>2]|0;if((p|0)<0){g=(f[a>>2]|0)+(q>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(q&31);g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;p=(f[s>>2]|0)+(g>>>5<<2)|0;f[p>>2]=f[p>>2]|1<<(g&31);g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;p=(f[s>>2]|0)+(g>>>5<<2)|0;f[p>>2]=f[p>>2]|1<<(g&31);break}if((p|0)>=(q|0)){o=q+1|0;k=((o|0)%3|0|0)==0?q+-2|0:o;i=p+(((p>>>0)%3|0|0)==0?2:-1)|0;h=(k|0)/3|0;if((k|0)<=-3){d=17;break b}g=f[w>>2]|0;n=((f[t>>2]|0)-g|0)/12|0;if((h|0)>=(n|0)){d=19;break b}m=g;j=f[m+(h*12|0)+(((k|0)%3|0)<<2)>>2]|0;g=(i|0)/3|0;if((i|0)<=-3){d=21;break b}if((g|0)>=(n|0)){d=23;break b}g=f[m+(g*12|0)+(((i|0)%3|0)<<2)>>2]|0;l=(b[x>>0]|0)==0;if(l){C=f[r>>2]|0;h=f[C+(g<<2)>>2]|0;g=f[C+(j<<2)>>2]|0}else{h=g;g=j}if((g|0)==(h|0)){g=k+1|0;if((k|0)<0)h=k;else h=((g|0)%3|0|0)==0?k+-2|0:g;do if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}while(0);g=(h|0)/3|0;if((h|0)<=-3){d=17;break b}if((g|0)>=(n|0)){d=19;break b}g=f[m+(g*12|0)+(((h|0)%3|0)<<2)>>2]|0;h=(i|0)/3|0;if((i|0)<=-3){d=21;break b}if((h|0)>=(n|0)){d=23;break b}h=f[m+(h*12|0)+(((i|0)%3|0)<<2)>>2]|0;if(l){C=f[r>>2]|0;h=f[C+(h<<2)>>2]|0;g=f[C+(g<<2)>>2]|0}if((g|0)==(h|0))break}b[y>>0]=0;g=f[a>>2]|0;C=g+(q>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(q&31);g=g+(p>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(p&31);g=((o|0)%3|0|0)==0?q+-2|0:o;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31);g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31);g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31);g=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31)}}while(0);q=q+1|0;if((q|0)>=((f[d+4>>2]|0)-(f[d>>2]|0)>>2|0))break a}if((d|0)==17)Fa(19770,19795,63,19872);else if((d|0)==19)Fa(19877,19795,64,19872);else if((d|0)==21)Fa(19770,19795,63,19872);else if((d|0)==23)Fa(19877,19795,64,19872)}while(0);if((c|0)!=0&(e|0)!=0){Ac(a,c,e);C=1;u=B;return C|0}else{Mc(a,0,0);C=1;u=B;return C|0}return 0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+32|0;t=v+12|0;q=v+8|0;p=v+4|0;r=v;s=a+8|0;a:do if(f[s>>2]|0?(o=f[a>>2]|0,n=a+4|0,f[a>>2]=n,f[(f[n>>2]|0)+8>>2]=0,f[n>>2]=0,f[s>>2]=0,d=f[o+4>>2]|0,d=(d|0)==0?o:d,d|0):0){o=a+4|0;g=f[b>>2]|0;e=g;m=d;while(1){if((g|0)==(f[c>>2]|0))break;h=m+16|0;f[h>>2]=f[g+16>>2];if((m|0)!=(g|0)){f[p>>2]=f[g+20>>2];f[r>>2]=g+24;f[q>>2]=f[p>>2];f[t>>2]=f[r>>2];Kc(m+20|0,q,t)}j=m+8|0;g=f[j>>2]|0;do if(g){d=f[g>>2]|0;if((d|0)==(m|0)){f[g>>2]=0;d=f[g+4>>2]|0;if(!d){l=g;break}while(1){g=f[d>>2]|0;if(g|0){d=g;continue}g=f[d+4>>2]|0;if(!g)break;else d=g}l=d;break}else{f[g+4>>2]=0;if(!d){l=g;break}while(1){g=f[d>>2]|0;if(g|0){d=g;continue}g=f[d+4>>2]|0;if(!g)break;else d=g}l=d;break}}else l=0;while(0);d=f[n>>2]|0;do if(d){h=f[h>>2]|0;i=d;while(1){if((h|0)<(f[i+16>>2]|0)){d=f[i>>2]|0;if(!d){k=22;break}}else{g=i+4|0;d=f[g>>2]|0;if(!d){k=25;break}}i=d}if((k|0)==22){d=i;g=i;break}else if((k|0)==25){d=i;break}}else{d=n;g=n}while(0);f[m>>2]=0;f[m+4>>2]=0;f[j>>2]=d;f[g>>2]=m;d=f[f[a>>2]>>2]|0;if(!d)d=m;else{f[a>>2]=d;d=f[g>>2]|0}Je(f[o>>2]|0,d);f[s>>2]=(f[s>>2]|0)+1;d=f[e+4>>2]|0;if(!d)while(1){d=f[e+8>>2]|0;if((f[d>>2]|0)==(e|0))break;else e=d}else while(1){e=f[d>>2]|0;if(!e)break;else d=e}f[b>>2]=d;if(!l)break a;else{e=d;g=d;m=l}}d=f[m+8>>2]|0;if(!d)d=m;else while(1){e=f[d+8>>2]|0;if(!e)break;else d=e}tj(a,d)}while(0);d=f[b>>2]|0;l=f[c>>2]|0;if((d|0)==(l|0)){u=v;return}m=a+4|0;n=a+4|0;g=d;e=d;while(1){Ig(t,a,g+16|0);g=f[m>>2]|0;do if(g){d=f[t>>2]|0;i=f[d+16>>2]|0;j=g;while(1){if((i|0)<(f[j+16>>2]|0)){g=f[j>>2]|0;if(!g){k=41;break}}else{h=j+4|0;g=f[h>>2]|0;if(!g){k=44;break}}j=g}if((k|0)==41){g=j;h=j;break}else if((k|0)==44){g=j;break}}else{d=f[t>>2]|0;g=m;h=m}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=g;f[h>>2]=d;g=f[f[a>>2]>>2]|0;if(g){f[a>>2]=g;d=f[h>>2]|0}Je(f[n>>2]|0,d);f[s>>2]=(f[s>>2]|0)+1;d=f[e+4>>2]|0;if(!d)while(1){d=f[e+8>>2]|0;if((f[d>>2]|0)==(e|0))break;else e=d}else while(1){e=f[d>>2]|0;if(!e)break;else d=e}f[b>>2]=d;if((d|0)==(l|0))break;else{g=d;e=d}}u=v;return}function Dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))Fa(20527,20426,68,20517);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);mq(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(e)}mq(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}mq(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){Gi(d);mq(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){Gi(c);mq(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){dm(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function Ec(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+4|0;i=f[w>>2]|0;v=a+100|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=0}else{i=Pi(a)|0;k=0}a:while(1){switch(i|0){case 46:{o=8;break a}case 48:break;default:{u=0;n=0;q=0;j=0;r=k;t=0;s=0;m=1.0;k=0;g=0.0;break a}}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=1;continue}else{i=Pi(a)|0;k=1;continue}}if((o|0)==8){i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Pi(a)|0;if((i|0)==48){k=0;j=0;do{i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Pi(a)|0;k=Zn(k|0,j|0,-1,-1)|0;j=I}while((i|0)==48);u=0;n=0;q=k;r=1;t=1;s=0;m=1.0;k=0;g=0.0}else{u=0;n=0;q=0;j=0;r=k;t=1;s=0;m=1.0;k=0;g=0.0}}while(1){p=i+-48|0;o=(i|0)==46;if(p>>>0>=10?!(o|((i|32)+-97|0)>>>0<6):0)break;if(o)if(!t){q=n;j=u;p=u;t=1;o=s;l=m}else{i=46;break}else{i=(i|0)>57?(i|32)+-87|0:p;do if(!((u|0)<0|(u|0)==0&n>>>0<8))if((u|0)<0|(u|0)==0&n>>>0<14){m=m*.0625;o=s;l=m;g=g+m*+(i|0);break}else{r=(s|0)!=0|(i|0)==0;o=r?s:1;l=m;g=r?g:g+m*.5;break}else{o=s;l=m;k=i+(k<<4)|0}while(0);n=Zn(n|0,u|0,1,0)|0;p=I;r=1}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;u=p;i=h[i>>0]|0;s=o;m=l;continue}else{u=p;i=Pi(a)|0;s=o;m=l;continue}}do if(!r){i=f[v>>2]|0;j=(i|0)!=0;if(j)f[w>>2]=(f[w>>2]|0)+-1;if(e){if(j)f[w>>2]=(f[w>>2]|0)+-1;if(!((t|0)==0|(i|0)==0))f[w>>2]=(f[w>>2]|0)+-1}else Lm(a,0);g=+(d|0)*0.0}else{o=(t|0)==0;p=o?n:q;o=o?u:j;if((u|0)<0|(u|0)==0&n>>>0<8){j=u;do{k=k<<4;n=Zn(n|0,j|0,1,0)|0;j=I}while((j|0)<0|(j|0)==0&n>>>0<8)}if((i|32|0)==112){j=$e(a,e)|0;i=I;if((j|0)==0&(i|0)==-2147483648){if(!e){Lm(a,0);g=0.0;break}if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}}}else if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}w=tn(p|0,o|0,2)|0;w=Zn(w|0,I|0,-32,-1)|0;i=Zn(w|0,I|0,j|0,i|0)|0;j=I;if(!k){g=+(d|0)*0.0;break}w=0-c|0;e=((w|0)<0)<<31>>31;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>w>>>0){b=aq()|0;f[b>>2]=34;g=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}w=c+-106|0;e=((w|0)<0)<<31>>31;if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0){b=aq()|0;f[b>>2]=34;g=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((k|0)>-1){do{w=!(g>=.5);k=k<<1|(w^1)&1;g=g+(w?g:g+-1.0);i=Zn(i|0,j|0,-1,-1)|0;j=I}while((k|0)>-1);n=i;m=g}else{n=i;m=g}w=((b|0)<0)<<31>>31;i=Dn(32,0,c|0,((c|0)<0)<<31>>31|0)|0;i=Zn(i|0,I|0,n|0,j|0)|0;c=I;if((w|0)>(c|0)|(w|0)==(c|0)&b>>>0>i>>>0)if((i|0)>0)o=59;else{j=0;i=84;o=61}else{i=b;o=59}if((o|0)==59)if((i|0)<53){j=i;i=84-i|0;o=61}else{l=0.0;g=+(d|0)}if((o|0)==61){g=+(d|0);l=+Sp(+Qj(1.0,i),g);i=j}d=(k&1|0)==0&(m!=0.0&(i|0)<32);g=g*(d?0.0:m)+(l+g*+(((d&1)+k|0)>>>0))-l;if(!(g!=0.0)){d=aq()|0;f[d>>2]=34}g=+Tp(g,n)}while(0);return +g}function Fc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=Ka,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=Ka;E=u;u=u+112|0;x=E+104|0;y=E+64|0;o=E+24|0;A=E+16|0;p=E+92|0;r=E+80|0;q=E+68|0;z=E;B=E+52|0;C=E+40|0;D=E+28|0;f[o>>2]=0;m=f[a>>2]|0;v=a+4|0;h=f[v>>2]|0;w=c+4|0;if((h|0)==(f[w>>2]|0))g=$(0.0);else{l=m+84|0;i=m+68|0;j=r+4|0;k=q+8|0;g=$(0.0);do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,p)|0;F=$(K($(n[p>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,r)|0;F=$(K($(n[j>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,q)|0;F=$(K($(n[k>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;h=h+1|0;g=(f[s>>2]=t,$(n[s>>2]))}while((h|0)!=(f[w>>2]|0))}t=(1<>2])+-1|0;dp(A);no(A,g,t);n[d+4>>2]=g;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;d=f[a>>2]|0;h=f[v>>2]|0;if((h|0)==(f[w>>2]|0)){D=f[e>>2]|0;u=E;return D|0}r=d+84|0;l=d+68|0;a=A+4|0;q=C+4|0;p=z+4|0;o=D+8|0;m=z+8|0;c=f[e>>2]|0;j=c+4|0;k=c+8|0;i=h;do{f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,B)|0;F=$(n[B>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[z>>2]=(v?0-e|0:e)+t;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,C)|0;F=$(n[q>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[p>>2]=(v?0-e|0:e)+t;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,D)|0;F=$(n[o>>2]);e=F<$(0.0);g=$(-F);F=$((e?g:F)/$(n[A>>2]));h=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[m>>2]=(e?0-h|0:h)+t;h=f[j>>2]|0;if((h|0)==(f[k>>2]|0))_g(c,z);else{f[h>>2]=f[z>>2];f[h+4>>2]=f[p>>2];f[h+8>>2]=f[m>>2];f[j>>2]=h+12}i=i+1|0}while((i|0)!=(f[w>>2]|0));u=E;return c|0}function Gc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2004;e=b;f[a>>2]=e;return}case 2:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2060;e=b;f[a>>2]=e;return}case 4:{b=_m(112)|0;f[b>>2]=1528;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2116;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(88)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2172;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(104)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2228;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(140)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2284;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2340;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Hc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1640;e=b;f[a>>2]=e;return}case 2:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1696;e=b;f[a>>2]=e;return}case 4:{b=_m(112)|0;f[b>>2]=1528;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1752;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(88)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1808;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(104)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1864;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(140)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1920;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1976;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Ic(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>203){f[c>>2]=b+-204;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{dm(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}g=_m(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){mq(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}d=_m(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=_m(4080)|0;f[j>>2]=e;sg(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;ng(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)mq(d);u=o;return}if((c|0)!=(b|0)){n=_m(4080)|0;f[k>>2]=n;sg(a,k);u=o;return}j=_m(4080)|0;f[k>>2]=j;ng(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{dm(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}g=_m(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){mq(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function Jc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;F=u;u=u+352|0;C=F+340|0;B=F+336|0;l=F+80|0;E=F+48|0;D=F;Xi(l|0,0,256)|0;i=f[e+4>>2]|0;j=f[e>>2]|0;k=j;if((i|0)!=(j|0)){j=i-j>>2;i=0;do{A=l+(f[k+(i<<2)>>2]<<3)|0;z=A;z=Zn(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;f[A>>2]=z;f[A+4>>2]=I;i=i+1|0}while(i>>>0>>0)}jn(E);w=c<<5;y=D+40|0;z=y;f[z>>2]=0;f[z+4>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;bd(D,l,32,g)|0;z=D+16|0;z=tn(f[z>>2]|0,f[z+4>>2]|0,1)|0;A=g+4|0;x=(f[A>>2]|0)-(f[g>>2]|0)|0;v=y;f[v>>2]=x;f[v+4>>2]=0;z=Zn(z|0,I|0,39,0)|0;z=yn(z|0,I|0,3)|0;z=Zn(z|0,I|0,8,0)|0;x=Zn(z|0,I|0,x|0,0)|0;sl(g,x,I);x=D+24|0;f[x>>2]=(f[g>>2]|0)+(f[y>>2]|0);y=D+28|0;f[y>>2]=0;z=D+32|0;f[z>>2]=16384;qi(E,w,((w|0)<0)<<31>>31,0)|0;w=c-d|0;a:do if((w|0)>-1){t=(d|0)>0;s=E+16|0;r=E+12|0;v=w;b:while(1){j=f[e>>2]|0;l=f[j+(((v|0)/(d|0)|0)<<2)>>2]|0;c=f[D>>2]|0;m=f[c+(l<<3)>>2]|0;i=f[z>>2]|0;k=m<<10;if(i>>>0>=k>>>0){do{p=f[x>>2]|0;q=f[y>>2]|0;f[y>>2]=q+1;b[p+q>>0]=i;i=(f[z>>2]|0)>>>8;f[z>>2]=i}while(i>>>0>=k>>>0);j=f[e>>2]|0}f[z>>2]=(((i>>>0)/(m>>>0)|0)<<12)+((i>>>0)%(m>>>0)|0)+(f[c+(l<<3)+4>>2]|0);q=w-v|0;j=f[j+(((q|0)/(d|0)|0)<<2)>>2]|0;c:do if(t){o=(j|0)<33;p=(j|0)>0;if((j|0)>-1)n=0;else{i=s;j=f[i+4>>2]|0;i=(j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0;j=0;while(1){if(i){i=21;break b}j=j+1|0;if((j|0)>=(d|0))break c}}do{k=f[a+(n+q<<2)>>2]|0;m=s;c=f[m+4>>2]|0;if((c|0)>0|(c|0)==0&(f[m>>2]|0)>>>0>0){l=f[r>>2]|0;if(!o){i=22;break b}if(p){m=l+4|0;i=f[m>>2]|0;c=0;do{G=i>>>3;H=i&7;J=(f[l>>2]|0)+G|0;b[J>>0]=(h[J>>0]|0)&(1<>2]|0)+G|0;b[G>>0]=h[G>>0]|0|(k>>>c&1)<>2]|0)+1|0;f[m>>2]=i;c=c+1|0}while((c|0)!=(j|0))}}n=n+1|0}while((n|0)<(d|0))}while(0);v=v-d|0;if((v|0)<=-1)break a}if((i|0)==21)Fa(19299,19314,88,19401);else if((i|0)==22)Fa(19409,19314,89,19401)}while(0);ig(D,g);Of(E);i=f[E>>2]|0;l=E+4|0;J=g+16|0;H=f[J+4>>2]|0;if(!((H|0)>0|(H|0)==0&(f[J>>2]|0)>>>0>0)){J=(f[l>>2]|0)-i|0;f[B>>2]=f[A>>2];f[C>>2]=f[B>>2];Ie(g,C,i,i+J|0)|0}k=f[D>>2]|0;if(k|0){j=D+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-8-k|0)>>>3)<<3);mq(k)}J=E+12|0;i=f[J>>2]|0;f[J>>2]=0;if(i|0)mq(i);i=f[E>>2]|0;if(!i){u=F;return 1}if((f[l>>2]|0)!=(i|0))f[l>>2]=i;mq(i);u=F;return 1}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=a+8|0;a:do if(f[r>>2]|0?(t=f[a>>2]|0,s=a+4|0,f[a>>2]=s,f[(f[s>>2]|0)+8>>2]=0,f[s>>2]=0,f[r>>2]=0,e=f[t+4>>2]|0,e=(e|0)==0?t:e,e|0):0){q=s;t=a+4|0;h=f[c>>2]|0;g=h;p=e;while(1){if((h|0)==(f[d>>2]|0))break;i=p+16|0;Ul(i,h+16|0)|0;Ul(p+28|0,h+28|0)|0;n=p+8|0;h=f[n>>2]|0;do if(h){e=f[h>>2]|0;if((e|0)==(p|0)){f[h>>2]=0;e=f[h+4>>2]|0;if(!e){o=h;break}while(1){h=f[e>>2]|0;if(h|0){e=h;continue}h=f[e+4>>2]|0;if(!h)break;else e=h}o=e;break}else{f[h+4>>2]=0;if(!e){o=h;break}while(1){h=f[e>>2]|0;if(h|0){e=h;continue}h=f[e+4>>2]|0;if(!h)break;else e=h}o=e;break}}else o=0;while(0);e=f[s>>2]|0;do if(e){m=b[i+11>>0]|0;l=m<<24>>24<0;m=l?f[p+20>>2]|0:m&255;l=l?f[i>>2]|0:i;k=e;while(1){h=k+16|0;i=b[h+11>>0]|0;j=i<<24>>24<0;i=j?f[k+20>>2]|0:i&255;e=i>>>0>>0?i:m;if((e|0)!=0?(u=il(l,j?f[h>>2]|0:h,e)|0,(u|0)!=0):0)if((u|0)<0)i=22;else i=24;else if(m>>>0>>0)i=22;else i=24;if((i|0)==22){e=f[k>>2]|0;if(!e){i=23;break}}else if((i|0)==24){h=k+4|0;e=f[h>>2]|0;if(!e){i=26;break}}k=e}if((i|0)==23){e=k;h=k;break}else if((i|0)==26){e=k;break}}else{e=q;h=s}while(0);f[p>>2]=0;f[p+4>>2]=0;f[n>>2]=e;f[h>>2]=p;e=f[f[a>>2]>>2]|0;if(!e)e=p;else{f[a>>2]=e;e=f[h>>2]|0}Je(f[t>>2]|0,e);f[r>>2]=(f[r>>2]|0)+1;e=f[g+4>>2]|0;if(!e)while(1){e=f[g+8>>2]|0;if((f[e>>2]|0)==(g|0))break;else g=e}else while(1){g=f[e>>2]|0;if(!g)break;else e=g}f[c>>2]=e;if(!o)break a;else{g=e;h=e;p=o}}e=f[p+8>>2]|0;if(!e)e=p;else while(1){g=f[e+8>>2]|0;if(!g)break;else e=g}mj(a,e)}while(0);e=f[c>>2]|0;i=f[d>>2]|0;if((e|0)==(i|0))return;h=e;g=e;while(1){ff(a,h+16|0)|0;e=f[g+4>>2]|0;if(!e)while(1){e=f[g+8>>2]|0;if((f[e>>2]|0)==(g|0))break;else g=e}else while(1){g=f[e>>2]|0;if(!g)break;else e=g}f[c>>2]=e;if((e|0)==(i|0))break;else{h=e;g=e}}return} -function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[5978]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=23952+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[5978]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[5980]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=23952+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[5983]|0;b=l>>>3;c=23952+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5980]=g;f[5983]=e;w=h;u=x;return w|0}i=f[5979]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[24216+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=24216+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[5979]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[5983]|0;b=l>>>3;c=23952+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5980]=j;f[5983]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[5979]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[24216+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[24216+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[5980]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=24216+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=23952+(b<<1<<2)|0;a=f[5978]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=24216+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[5980]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[5983]|0;if(a>>>0>15){w=b+m|0;f[5983]=w;f[5980]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[5980]=0;f[5983]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[5981]|0;if(h>>>0>m>>>0){t=h-m|0;f[5981]=t;w=f[5984]|0;v=w+m|0;f[5984]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[6096]|0)){f[6098]=4096;f[6097]=4096;f[6099]=-1;f[6100]=-1;f[6101]=0;f[6089]=0;a=n&-16^1431655768;f[n>>2]=a;f[6096]=a;a=4096}else a=f[6098]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[6088]|0;if(a|0?(l=f[6086]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[6089]&4)){c=f[5984]|0;c:do if(c){e=24360;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=vl(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=vl(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[6097]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[6086]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[6088]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=vl(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[6098]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((vl(a|0)|0)==(-1|0)){vl(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[6089]=f[6089]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=vl(k|0)|0,q=vl(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[6086]|0)+g|0;f[6086]=b;if(b>>>0>(f[6087]|0)>>>0)f[6087]=b;j=f[5984]|0;do if(j){e=24360;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[5981]|0)+(g-w)|0;f[5984]=v;f[5981]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5985]=f[6100];break}if(h>>>0<(f[5982]|0)>>>0)f[5982]=h;c=h+g|0;a=24360;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[5983]|0)){w=(f[5980]|0)+i|0;f[5980]=w;f[5983]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[5978]=f[5978]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=24216+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[5979]=f[5979]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=23952+(b<<1<<2)|0;a=f[5978]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=24216+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[5979]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[5981]|0)+i|0;f[5981]=w;f[5984]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=24360;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[5984]=v;f[5981]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[5985]=f[6100];c=a+4|0;f[c>>2]=27;f[b>>2]=f[6090];f[b+4>>2]=f[6091];f[b+8>>2]=f[6092];f[b+12>>2]=f[6093];f[6090]=h;f[6091]=g;f[6093]=0;f[6092]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=23952+(b<<1<<2)|0;a=f[5978]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=24216+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[5979]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[5982]|0;if((w|0)==0|h>>>0>>0)f[5982]=h;f[6090]=h;f[6091]=g;f[6093]=0;f[5987]=f[6096];f[5986]=-1;b=0;do{w=23952+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[5984]=v;f[5981]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5985]=f[6100]}while(0);b=f[5981]|0;if(b>>>0>m>>>0){t=b-m|0;f[5981]=t;w=f[5984]|0;v=w+m|0;f[5984]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=aq()|0;f[w>>2]=12;w=0;u=x;return w|0}function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(xl(6828,7020,c,b)|0)-6828>>2;a=e;e=0;a:while(1){b=(f[6828+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[6636+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=xl(6636,6828,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function Za(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=u;u=u+112|0;Z=ja+100|0;W=ja+96|0;ia=ja+48|0;ga=ja+32|0;$=ja+104|0;_=ja+8|0;V=ja+4|0;Y=ja;fa=a+8|0;f[fa>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else gi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{U=f[c+(k<<2)>>2]|0;T=(U|0)<(i|0);i=T?U:i;j=T?j:(U|0)>(j|0)?U:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;U=1-i+j|0;f[a+20>>2]=U;i=(U|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(U&1))f[j>>2]=i+-1}T=f[a+48>>2]|0;U=f[a+52>>2]|0;i=ia;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{gi(ia,g);i=f[ia+12>>2]|0;j=f[ia+16>>2]|0}k=ia+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else gi(ia+12|0,g-l|0);l=ia+24|0;k=ia+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else gi(l,g-m|0);l=ia+36|0;k=ia+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else gi(l,g-m|0);yk(ga,g);K=a+56|0;k=f[K>>2]|0;j=f[k+4>>2]|0;i=f[k>>2]|0;l=j-i|0;a:do if((l|0)>4){J=T+64|0;C=T+28|0;H=(g|0)>0;I=_+4|0;R=_+8|0;S=_+12|0;O=a+16|0;E=a+32|0;Q=a+12|0;P=a+28|0;N=a+20|0;M=a+24|0;D=_+12|0;F=_+16|0;G=ga+4|0;L=$+1|0;B=g<<2;v=l>>2;while(1){A=v+-1|0;if(j-i>>2>>>0<=A>>>0){Vo(k);i=f[k>>2]|0}p=f[i+(A<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;j=0;b:while(1){do{if((i|0)<=-1){y=j;break b}k=f[ia+(j*12|0)>>2]|0;if(((f[(f[T>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(ea=f[(f[(f[J>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(ea|0)>=0):0)?(da=f[C>>2]|0,z=f[U>>2]|0,ba=f[z+(f[da+(ea<<2)>>2]<<2)>>2]|0,ca=ea+1|0,ca=f[z+(f[da+((((ca|0)%3|0|0)==0?ea+-2|0:ca)<<2)>>2]<<2)>>2]|0,da=f[z+(f[da+((((ea>>>0)%3|0|0)==0?2:-1)+ea<<2)>>2]<<2)>>2]|0,(ba|0)<(A|0)&(ca|0)<(A|0)&(da|0)<(A|0)):0){m=X(ba,g)|0;n=X(ca,g)|0;e=X(da,g)|0;if(H){l=0;do{f[k+(l<<2)>>2]=(f[c+(l+e<<2)>>2]|0)+(f[c+(l+n<<2)>>2]|0)-(f[c+(l+m<<2)>>2]|0);l=l+1|0}while((l|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break b}}do if(o){k=i+1|0;i=((k|0)%3|0|0)==0?i+-2|0:k;k=f[T>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[J>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;l=i+1|0;if((i|0)>=0)i=((l|0)%3|0|0)==0?i+-2|0:l}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;k=f[T>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[J>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){y=j;break b}}while(!(o&(i|0)<0));i=(t&f[k+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[J>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}z=X(A,g)|0;f[_>>2]=2147483647;b[I>>0]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;k=X(v+-2|0,g)|0;if(H){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[_>>2]=i;b[I>>0]=0;f[R>>2]=0;x=c+(k<<2)|0;lf(S,x,x+(g<<2)|0);if((y|0)>=1){p=$+y|0;v=p+-1|0;r=(v|0)==($|0);t=p+-2|0;q=L>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>$>>>0;w=0;x=1;while(1){w=w+1|0;Xi($|0,1,o|0)|0;Xi($|0,0,w|0)|0;c:while(1){if(H){Xi(f[ga>>2]|0,0,B|0)|0;l=f[ga>>2]|0;i=0;m=0;do{if(!(b[$+m>>0]|0)){j=f[ia+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[_>>2]|0)){f[_>>2]=j;b[I>>0]=i;f[R>>2]=x;f[V>>2]=f[ga>>2];f[Y>>2]=f[G>>2];f[W>>2]=f[V>>2];f[Z>>2]=f[Y>>2];cf(S,W,Z)}if(r)break;aa=b[v>>0]|0;m=aa;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==($|0)){ha=76;break c}else n=i}i=p+n|0;if((m&255)<(aa&255)){k=aa;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue c}}if(((ha|0)==76?(ha=0,s):0)?(e=b[$>>0]|0,b[$>>0]=aa,b[v>>0]=e,q):0){i=t;j=L;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[I>>0]&1<>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){Wo(n);j=f[l>>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[fa>>2]|0;if((j|0)>0){i=f[S>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[O>>2]|0;if((j|0)>(k|0)){j=f[E>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[Q>>2]|0;z=f[E>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[fa>>2]|0));l=j}else l=f[E>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[P>>2]|0)){if((j|0)>(f[M>>2]|0)){j=j-(f[N>>2]|0)|0;ha=93}}else{j=(f[N>>2]|0)+j|0;ha=93}if((ha|0)==93){ha=0;f[k>>2]=j}n=n+1|0;j=f[fa>>2]|0}while((n|0)<(j|0))}else i=f[D>>2]|0;if(i|0){j=f[F>>2]|0;if((j|0)!=(i|0))f[F>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;k=f[K>>2]|0;i=f[k>>2]|0;j=f[k+4>>2]|0;v=A}}while(0);k=f[ia>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[fa>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[fa>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ha=125}}else{i=(f[o>>2]|0)+i|0;ha=125}if((ha|0)==125){ha=0;f[j>>2]=i}m=m+1|0;i=f[fa>>2]|0}while((m|0)<(i|0))}k=f[ga>>2]|0;if(k|0){j=ga+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k)}i=f[ia+36>>2]|0;if(i|0){k=ia+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[ia+24>>2]|0;if(i|0){k=ia+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[ia+12>>2]|0;if(i|0){k=ia+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}k=f[ia>>2]|0;if(!k){u=ja;return 1}j=ia+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k);u=ja;return 1}function _a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=u;u=u+112|0;Y=ea+100|0;V=ea+96|0;da=ea+48|0;ba=ea+32|0;_=ea+104|0;Z=ea+8|0;U=ea+4|0;W=ea;aa=a+8|0;f[aa>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else gi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{T=f[c+(k<<2)>>2]|0;S=(T|0)<(i|0);i=S?T:i;j=S?j:(T|0)>(j|0)?T:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;T=1-i+j|0;f[a+20>>2]=T;i=(T|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(T&1))f[j>>2]=i+-1}S=f[a+48>>2]|0;T=f[a+52>>2]|0;i=da;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{gi(da,g);i=f[da+12>>2]|0;j=f[da+16>>2]|0}k=da+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else gi(da+12|0,g-l|0);l=da+24|0;k=da+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else gi(l,g-m|0);l=da+36|0;k=da+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else gi(l,g-m|0);yk(ba,g);J=a+56|0;k=f[J>>2]|0;j=f[k+4>>2]|0;i=f[k>>2]|0;l=j-i|0;a:do if((l|0)>4){C=S+12|0;H=(g|0)>0;I=Z+4|0;Q=Z+8|0;R=Z+12|0;N=a+16|0;E=a+32|0;P=a+12|0;O=a+28|0;M=a+20|0;L=a+24|0;D=Z+12|0;F=Z+16|0;G=ba+4|0;K=_+1|0;B=g<<2;x=l>>2;while(1){A=x+-1|0;if(j-i>>2>>>0<=A>>>0){Vo(k);i=f[k>>2]|0}t=f[i+(A<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;j=0;b:while(1){do{if((i|0)<=-1){y=j;break b}p=f[da+(j*12|0)>>2]|0;q=f[C>>2]|0;l=f[q+(i<<2)>>2]|0;if((l|0)>=0){m=f[S>>2]|0;n=f[T>>2]|0;o=f[n+(f[m+(l<<2)>>2]<<2)>>2]|0;k=l+1|0;k=((k|0)%3|0|0)==0?l+-2|0:k;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;e=f[n+(k<<2)>>2]|0;k=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;k=f[n+(k<<2)>>2]|0;if((o|0)<(A|0)&(e|0)<(A|0)&(k|0)<(A|0)){n=X(o,g)|0;m=X(e,g)|0;l=X(k,g)|0;if(H){k=0;do{f[p+(k<<2)>>2]=(f[c+(k+l<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+n<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break b}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){y=j;break b}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}z=X(A,g)|0;f[Z>>2]=2147483647;b[I>>0]=0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;k=X(x+-2|0,g)|0;if(H){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[Z>>2]=i;b[I>>0]=0;f[Q>>2]=0;x=c+(k<<2)|0;lf(R,x,x+(g<<2)|0);if((y|0)>=1){p=_+y|0;v=p+-1|0;r=(v|0)==(_|0);t=p+-2|0;q=K>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>_>>>0;w=0;x=1;while(1){w=w+1|0;Xi(_|0,1,o|0)|0;Xi(_|0,0,w|0)|0;c:while(1){if(H){Xi(f[ba>>2]|0,0,B|0)|0;l=f[ba>>2]|0;i=0;m=0;do{if(!(b[_+m>>0]|0)){j=f[da+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[Z>>2]|0)){f[Z>>2]=j;b[I>>0]=i;f[Q>>2]=x;f[U>>2]=f[ba>>2];f[W>>2]=f[G>>2];f[V>>2]=f[U>>2];f[Y>>2]=f[W>>2];cf(R,V,Y)}if(r)break;$=b[v>>0]|0;m=$;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==(_|0)){ca=77;break c}else n=i}i=p+n|0;if((m&255)<($&255)){k=$;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue c}}if(((ca|0)==77?(ca=0,s):0)?(e=b[_>>0]|0,b[_>>0]=$,b[v>>0]=e,q):0){i=t;j=K;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[I>>0]&1<>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){Wo(n);j=f[l>>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[aa>>2]|0;if((j|0)>0){i=f[R>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[N>>2]|0;if((j|0)>(k|0)){j=f[E>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[P>>2]|0;z=f[E>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[aa>>2]|0));l=j}else l=f[E>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[O>>2]|0)){if((j|0)>(f[L>>2]|0)){j=j-(f[M>>2]|0)|0;ca=94}}else{j=(f[M>>2]|0)+j|0;ca=94}if((ca|0)==94){ca=0;f[k>>2]=j}n=n+1|0;j=f[aa>>2]|0}while((n|0)<(j|0))}else i=f[D>>2]|0;if(i|0){j=f[F>>2]|0;if((j|0)!=(i|0))f[F>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;k=f[J>>2]|0;i=f[k>>2]|0;j=f[k+4>>2]|0;x=A}}while(0);k=f[da>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[aa>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[aa>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ca=126}}else{i=(f[o>>2]|0)+i|0;ca=126}if((ca|0)==126){ca=0;f[j>>2]=i}m=m+1|0;i=f[aa>>2]|0}while((m|0)<(i|0))}k=f[ba>>2]|0;if(k|0){j=ba+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k)}i=f[da+36>>2]|0;if(i|0){k=da+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[da+24>>2]|0;if(i|0){k=da+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[da+12>>2]|0;if(i|0){k=da+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}k=f[da>>2]|0;if(!k){u=ea;return 1}j=da+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k);u=ea;return 1}function $a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;la=u;u=u+32|0;ha=la+8|0;ja=la;ga=la+4|0;ia=a+16|0;e=f[ia>>2]|0;fa=a+20|0;d=f[fa>>2]|0;if((d|0)==(e|0))d=e;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;f[fa>>2]=d}_=a+24|0;if((d|0)==(f[_>>2]|0)){zi(ia,c);e=f[ia>>2]|0;g=f[fa>>2]|0}else{f[d>>2]=f[c>>2];g=d+4|0;f[fa>>2]=g}d=f[a+8>>2]|0;d=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;Z=(d|0)/12|0;if((e|0)==(g|0)){u=la;return 1}Y=a+28|0;G=(d|0)>0;I=a+164|0;F=a+12|0;A=a+76|0;E=a+80|0;O=a+72|0;W=a+200|0;X=a+320|0;y=a+152|0;s=a+84|0;M=a+324|0;x=a+292|0;t=a+304|0;N=a+316|0;K=a+328|0;w=a+336|0;J=a+332|0;B=a+124|0;C=a+120|0;T=ha+4|0;Q=ha+8|0;z=a+112|0;D=a+116|0;V=a+108|0;S=ha+4|0;P=ha+8|0;U=ha+4|0;R=ha+8|0;L=a+168|0;v=a+140|0;H=a+120|0;d=g;do{e=f[d+-4>>2]|0;f[c>>2]=e;a:do if((e|0)>=0?(r=(e>>>0)/3|0,$=f[Y>>2]|0,(f[$+(r>>>5<<2)>>2]&1<<(r&31)|0)==0):0){if(G){e=$;d=0;while(1){r=d+1|0;f[I>>2]=(f[I>>2]|0)+1;p=f[c>>2]|0;p=(p|0)<0?-1073741824:(p>>>0)/3|0;d=e+(p>>>5<<2)|0;f[d>>2]=1<<(p&31)|f[d>>2];d=f[A>>2]|0;if((d|0)==(f[E>>2]|0))zi(O,c);else{f[d>>2]=f[c>>2];f[A>>2]=d+4}f[X>>2]=f[c>>2];e=f[c>>2]|0;if((e|0)<0)o=-1073741824;else o=f[(f[f[F>>2]>>2]|0)+(e<<2)>>2]|0;n=(f[(f[y>>2]|0)+(o<<2)>>2]|0)!=-1;g=(f[s>>2]|0)+(o>>>5<<2)|0;h=1<<(o&31);d=f[g>>2]|0;do if(!(d&h)){f[g>>2]=d|h;if(n){e=f[c>>2]|0;ka=38;break}f[M>>2]=(f[M>>2]|0)+1;e=f[X>>2]|0;d=e+1|0;do if((e|0)>=0){d=((d|0)%3|0|0)==0?e+-2|0:d;if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else d=e;while(0);g=f[x>>2]|0;q=f[t>>2]|0;p=q+(f[g+(d<<2)>>2]<<2)|0;d=f[p>>2]|0;f[p>>2]=d+-1;g=q+(f[g+(e<<2)>>2]<<2)|0;f[g>>2]=(f[g>>2]|0)+-1;g=f[N>>2]|0;if((g|0)!=-1){e=f[K>>2]|0;if((d|0)<(e|0))d=e;else{q=f[J>>2]|0;d=(d|0)>(q|0)?q:d}i=d-e|0;h=f[w>>2]|0;d=f[3596+(g<<2)>>2]|0;f[ha>>2]=d;g=h+(i*12|0)+4|0;e=f[g>>2]|0;if(e>>>0<(f[h+(i*12|0)+8>>2]|0)>>>0){f[e>>2]=d;f[g>>2]=e+4}else zi(h+(i*12|0)|0,ha)}f[N>>2]=0;d=f[c>>2]|0;e=d+1|0;if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;if((d|0)>=0)d=f[(f[(f[F>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}f[c>>2]=d}else ka=38;while(0);if((ka|0)==38){ka=0;m=(e|0)<0;j=e+1|0;if(!m){d=((j|0)%3|0|0)==0?e+-2|0:j;if((d|0)<0)g=d;else g=f[(f[(f[F>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;f[ja>>2]=g;d=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((d|0)>=0)d=f[(f[(f[F>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;i=(g|0)<0;l=i?-1073741824:(g>>>0)/3|0;h=(d|0)<0;k=h?-1073741824:(d>>>0)/3|0;g=((j|0)%3|0|0)==0?e+-2|0:j;if((g|0)<0)q=h;else{q=h;g=f[(f[(f[F>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}}else{f[ja>>2]=e;q=1;i=1;d=e;k=-1073741824;l=-1073741824;g=e}if((g|0)!=-1073741824?(j=(g|0)<0?-1073741824:(g>>>0)/3|0,aa=f[Y>>2]|0,(f[aa+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!m){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[F>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)!=-1073741824?(m=(e|0)<0?-1073741824:(e>>>0)/3|0,(f[aa+(m>>>5<<2)>>2]&1<<(m&31)|0)==0):0){ka=115;break}b:do if(!q){j=f[I>>2]|0;g=f[B>>2]|0;if(!g)break;h=g+-1|0;e=(h&g|0)==0;if(e)i=h&k;else i=(k>>>0)%(g>>>0)|0;d=f[(f[C>>2]|0)+(i<<2)>>2]|0;if(!d)break;if(e)do{d=f[d>>2]|0;if(!d)break b;if((f[d+4>>2]&h|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break b;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)==-1)break;f[ha>>2]=d;f[S>>2]=j;b[P>>0]=0;d=f[z>>2]|0;if((d|0)==(f[D>>2]|0))$h(V,ha);else{f[d>>2]=f[ha>>2];f[d+4>>2]=f[ha+4>>2];f[d+8>>2]=f[ha+8>>2];f[z>>2]=(f[z>>2]|0)+12}}while(0);Oc(W,3);d=f[ja>>2]|0}else{c:do if(!i?(ba=f[I>>2]|0,ca=f[B>>2]|0,(ca|0)!=0):0){i=ca+-1|0;h=(i&ca|0)==0;if(h)j=i&l;else j=(l>>>0)%(ca>>>0)|0;g=f[(f[C>>2]|0)+(j<<2)>>2]|0;if(!g)break;if(h)do{g=f[g>>2]|0;if(!g)break c;if((f[g+4>>2]&i|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));else do{g=f[g>>2]|0;if(!g)break c;if((((f[g+4>>2]|0)>>>0)%(ca>>>0)|0|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));g=f[g+12>>2]|0;if((g|0)==-1)break;f[ha>>2]=g;f[T>>2]=ba;b[Q>>0]=1;g=f[z>>2]|0;if((g|0)==(f[D>>2]|0)){$h(V,ha);e=f[c>>2]|0}else{f[g>>2]=f[ha>>2];f[g+4>>2]=f[ha+4>>2];f[g+8>>2]=f[ha+8>>2];f[z>>2]=(f[z>>2]|0)+12}}while(0);if((e|0)>=0){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[F>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)==-1073741824){ka=71;break}p=(e|0)<0?-1073741824:(e>>>0)/3|0;if(f[(f[Y>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0){ka=71;break}Oc(W,5)}f[c>>2]=d}if((r|0)>=(Z|0))break a;e=f[Y>>2]|0;d=r}do if((ka|0)==71){ka=0;d:do if(!q?(da=f[I>>2]|0,ea=f[B>>2]|0,ea|0):0){g=ea+-1|0;e=(g&ea|0)==0;if(e)h=g&k;else h=(k>>>0)%(ea>>>0)|0;d=f[(f[C>>2]|0)+(h<<2)>>2]|0;if(d|0){if(e)do{d=f[d>>2]|0;if(!d)break d;if((f[d+4>>2]&g|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break d;if((((f[d+4>>2]|0)>>>0)%(ea>>>0)|0|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)!=-1){f[ha>>2]=d;f[U>>2]=da;b[R>>0]=0;d=f[z>>2]|0;if((d|0)==(f[D>>2]|0))$h(V,ha);else{f[d>>2]=f[ha>>2];f[d+4>>2]=f[ha+4>>2];f[d+8>>2]=f[ha+8>>2];f[z>>2]=(f[z>>2]|0)+12}}}}while(0);Oc(W,7);f[fa>>2]=(f[fa>>2]|0)+-4}else if((ka|0)==115){ka=0;Oc(W,1);f[L>>2]=(f[L>>2]|0)+1;if(n?(r=f[(f[y>>2]|0)+(o<<2)>>2]|0,(1<<(r&31)&f[(f[v>>2]|0)+(r>>>5<<2)>>2]|0)==0):0){f[ga>>2]=f[c>>2];f[ha>>2]=f[ga>>2];He(a,ha,0)|0}r=f[I>>2]|0;f[ha>>2]=p;e=Fe(H,ha)|0;f[e>>2]=r;e=f[fa>>2]|0;f[e+-4>>2]=d;if((e|0)==(f[_>>2]|0)){zi(ia,ja);break}else{f[e>>2]=f[ja>>2];f[fa>>2]=e+4;break}}while(0)}}else ka=11;while(0);if((ka|0)==11){ka=0;f[fa>>2]=d+-4}d=f[fa>>2]|0}while((f[ia>>2]|0)!=(d|0));u=la;return 1}function ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=Ka;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=Zm(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=Zn(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=Zm(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=Zn(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function bb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=u;u=u+112|0;T=da+100|0;R=da+96|0;ca=da+48|0;W=da+32|0;V=da+104|0;U=da+8|0;Q=da+4|0;S=da;O=f[a+28>>2]|0;P=f[a+32>>2]|0;i=ca;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{gi(ca,g);i=f[ca+12>>2]|0;e=f[ca+16>>2]|0}j=ca+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else gi(ca+12|0,g-k|0);k=ca+24|0;j=ca+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else gi(k,g-l|0);k=ca+36|0;j=ca+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else gi(k,g-l|0);yk(W,g);J=a+36|0;j=f[J>>2]|0;e=f[j+4>>2]|0;i=f[j>>2]|0;k=e-i|0;a:do if((k|0)>4){I=O+64|0;C=O+28|0;G=(g|0)>0;H=U+4|0;L=U+8|0;M=U+12|0;N=a+8|0;D=U+12|0;E=U+16|0;F=W+4|0;K=V+1|0;B=g<<2;v=k>>2;while(1){A=v+-1|0;if(e-i>>2>>>0<=A>>>0){Vo(j);i=f[j>>2]|0}p=f[i+(A<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;e=0;b:while(1){do{if((i|0)<=-1){z=e;break b}j=f[ca+(e*12|0)>>2]|0;if(((f[(f[O>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(aa=f[(f[(f[I>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(aa|0)>=0):0)?($=f[C>>2]|0,z=f[P>>2]|0,Z=f[z+(f[$+(aa<<2)>>2]<<2)>>2]|0,_=aa+1|0,_=f[z+(f[$+((((_|0)%3|0|0)==0?aa+-2|0:_)<<2)>>2]<<2)>>2]|0,$=f[z+(f[$+((((aa>>>0)%3|0|0)==0?2:-1)+aa<<2)>>2]<<2)>>2]|0,(Z|0)<(A|0)&(_|0)<(A|0)&($|0)<(A|0)):0){l=X(Z,g)|0;m=X(_,g)|0;n=X($,g)|0;if(G){k=0;do{f[j+(k<<2)>>2]=(f[c+(k+n<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+l<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break b}}do if(o){j=i+1|0;i=((j|0)%3|0|0)==0?i+-2|0:j;j=f[O>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[I>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;j=f[O>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[I>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){z=e;break b}}while(!(o&(i|0)<0));i=(t&f[j+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[I>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}y=X(A,g)|0;f[U>>2]=2147483647;b[H>>0]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;j=X(v+-2|0,g)|0;if(G){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[U>>2]=i;b[H>>0]=0;f[L>>2]=0;x=c+(j<<2)|0;lf(M,x,x+(g<<2)|0);if((z|0)>=1){p=V+z|0;v=p+-1|0;r=(v|0)==(V|0);t=p+-2|0;q=K>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>V>>>0;w=0;x=1;while(1){w=w+1|0;Xi(V|0,1,o|0)|0;Xi(V|0,0,w|0)|0;c:while(1){if(G){Xi(f[W>>2]|0,0,B|0)|0;k=f[W>>2]|0;i=0;l=0;do{if(!(b[V+l>>0]|0)){e=f[ca+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[U>>2]|0)){f[U>>2]=e;b[H>>0]=i;f[L>>2]=x;f[Q>>2]=f[W>>2];f[S>>2]=f[F>>2];f[R>>2]=f[Q>>2];f[T>>2]=f[S>>2];cf(M,R,T)}if(r)break;Y=b[v>>0]|0;l=Y;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(V|0)){ba=67;break c}else m=i}i=p+m|0;if((l&255)<(Y&255)){j=Y;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue c}}if(((ba|0)==67?(ba=0,s):0)?(n=b[V>>0]|0,b[V>>0]=Y,b[v>>0]=n,q):0){i=t;e=K;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[H>>0]&1<>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){Wo(m);e=f[k>>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}Xh(N,c+(y<<2)|0,f[M>>2]|0,d+(y<<2)|0);i=f[D>>2]|0;if(i|0){e=f[E>>2]|0;if((e|0)!=(i|0))f[E>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;j=f[J>>2]|0;i=f[j>>2]|0;e=f[j+4>>2]|0;v=A}}while(0);if((g|0)>0)Xi(f[ca>>2]|0,0,g<<2|0)|0;Xh(a+8|0,c,f[ca>>2]|0,d);j=f[W>>2]|0;if(j|0){e=W+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j)}i=f[ca+36>>2]|0;if(i|0){j=ca+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}i=f[ca+24>>2]|0;if(i|0){j=ca+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}i=f[ca+12>>2]|0;if(i|0){j=ca+16|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}j=f[ca>>2]|0;if(!j){u=da;return 1}e=ca+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j);u=da;return 1}function cb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;fa=u;u=u+32|0;ba=fa+8|0;da=fa;aa=fa+4|0;ca=a+16|0;e=f[ca>>2]|0;$=a+20|0;d=f[$>>2]|0;if((d|0)==(e|0))d=e;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;f[$>>2]=d}U=a+24|0;if((d|0)==(f[U>>2]|0)){zi(ca,c);e=f[ca>>2]|0;g=f[$>>2]|0}else{f[d>>2]=f[c>>2];g=d+4|0;f[$>>2]=g}d=f[a+8>>2]|0;d=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;T=(d|0)/12|0;if((e|0)==(g|0)){u=fa;return 1}S=a+28|0;F=(d|0)>0;H=a+164|0;E=a+12|0;y=a+76|0;D=a+80|0;J=a+72|0;v=a+152|0;s=a+84|0;x=a+272|0;C=a+276|0;Q=a+268|0;z=a+124|0;A=a+120|0;P=ba+4|0;M=ba+8|0;w=a+112|0;B=a+116|0;R=a+108|0;N=ba+4|0;K=ba+8|0;O=ba+4|0;L=ba+8|0;I=a+168|0;t=a+140|0;G=a+120|0;d=g;do{e=f[d+-4>>2]|0;f[c>>2]=e;a:do if((e|0)>=0?(r=(e>>>0)/3|0,V=f[S>>2]|0,(f[V+(r>>>5<<2)>>2]&1<<(r&31)|0)==0):0){if(F){e=V;d=0;while(1){r=d+1|0;f[H>>2]=(f[H>>2]|0)+1;p=f[c>>2]|0;p=(p|0)<0?-1073741824:(p>>>0)/3|0;d=e+(p>>>5<<2)|0;f[d>>2]=1<<(p&31)|f[d>>2];d=f[y>>2]|0;if((d|0)==(f[D>>2]|0))zi(J,c);else{f[d>>2]=f[c>>2];f[y>>2]=d+4}e=f[c>>2]|0;if((e|0)<0)o=-1073741824;else o=f[(f[f[E>>2]>>2]|0)+(e<<2)>>2]|0;n=(f[(f[v>>2]|0)+(o<<2)>>2]|0)!=-1;g=(f[s>>2]|0)+(o>>>5<<2)|0;h=1<<(o&31);d=f[g>>2]|0;do if(!(d&h)){f[g>>2]=d|h;if(n){e=f[c>>2]|0;ea=30;break}f[ba>>2]=0;d=f[x>>2]|0;if((d|0)==(f[C>>2]|0))zi(Q,ba);else{f[d>>2]=0;f[x>>2]=d+4}d=f[c>>2]|0;e=d+1|0;if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;if((d|0)>=0)d=f[(f[(f[E>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}f[c>>2]=d}else ea=30;while(0);if((ea|0)==30){ea=0;m=(e|0)<0;j=e+1|0;if(!m){d=((j|0)%3|0|0)==0?e+-2|0:j;if((d|0)<0)g=d;else g=f[(f[(f[E>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;f[da>>2]=g;d=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((d|0)>=0)d=f[(f[(f[E>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;i=(g|0)<0;l=i?-1073741824:(g>>>0)/3|0;h=(d|0)<0;k=h?-1073741824:(d>>>0)/3|0;g=((j|0)%3|0|0)==0?e+-2|0:j;if((g|0)<0)q=h;else{q=h;g=f[(f[(f[E>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}}else{f[da>>2]=e;q=1;i=1;d=e;k=-1073741824;l=-1073741824;g=e}if((g|0)!=-1073741824?(j=(g|0)<0?-1073741824:(g>>>0)/3|0,W=f[S>>2]|0,(f[W+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!m){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[E>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)!=-1073741824?(m=(e|0)<0?-1073741824:(e>>>0)/3|0,(f[W+(m>>>5<<2)>>2]&1<<(m&31)|0)==0):0){ea=116;break}b:do if(!q){j=f[H>>2]|0;g=f[z>>2]|0;if(!g)break;h=g+-1|0;e=(h&g|0)==0;if(e)i=h&k;else i=(k>>>0)%(g>>>0)|0;d=f[(f[A>>2]|0)+(i<<2)>>2]|0;if(!d)break;if(e)do{d=f[d>>2]|0;if(!d)break b;if((f[d+4>>2]&h|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break b;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)==-1)break;f[ba>>2]=d;f[N>>2]=j;b[K>>0]=0;d=f[w>>2]|0;if((d|0)==(f[B>>2]|0))$h(R,ba);else{f[d>>2]=f[ba>>2];f[d+4>>2]=f[ba+4>>2];f[d+8>>2]=f[ba+8>>2];f[w>>2]=(f[w>>2]|0)+12}}while(0);f[ba>>2]=3;d=f[x>>2]|0;if((d|0)==(f[C>>2]|0))zi(Q,ba);else{f[d>>2]=3;f[x>>2]=d+4}d=f[da>>2]|0}else{c:do if(!i?(X=f[H>>2]|0,Y=f[z>>2]|0,(Y|0)!=0):0){i=Y+-1|0;h=(i&Y|0)==0;if(h)j=i&l;else j=(l>>>0)%(Y>>>0)|0;g=f[(f[A>>2]|0)+(j<<2)>>2]|0;if(!g)break;if(h)do{g=f[g>>2]|0;if(!g)break c;if((f[g+4>>2]&i|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));else do{g=f[g>>2]|0;if(!g)break c;if((((f[g+4>>2]|0)>>>0)%(Y>>>0)|0|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));g=f[g+12>>2]|0;if((g|0)==-1)break;f[ba>>2]=g;f[P>>2]=X;b[M>>0]=1;g=f[w>>2]|0;if((g|0)==(f[B>>2]|0)){$h(R,ba);e=f[c>>2]|0}else{f[g>>2]=f[ba>>2];f[g+4>>2]=f[ba+4>>2];f[g+8>>2]=f[ba+8>>2];f[w>>2]=(f[w>>2]|0)+12}}while(0);if((e|0)>=0){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[E>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)==-1073741824){ea=63;break}p=(e|0)<0?-1073741824:(e>>>0)/3|0;if(f[(f[S>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0){ea=63;break}f[ba>>2]=5;e=f[x>>2]|0;if((e|0)==(f[C>>2]|0))zi(Q,ba);else{f[e>>2]=5;f[x>>2]=e+4}}f[c>>2]=d}if((r|0)>=(T|0))break a;e=f[S>>2]|0;d=r}do if((ea|0)==63){ea=0;d:do if(!q?(Z=f[H>>2]|0,_=f[z>>2]|0,_|0):0){g=_+-1|0;e=(g&_|0)==0;if(e)h=g&k;else h=(k>>>0)%(_>>>0)|0;d=f[(f[A>>2]|0)+(h<<2)>>2]|0;if(d|0){if(e)do{d=f[d>>2]|0;if(!d)break d;if((f[d+4>>2]&g|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break d;if((((f[d+4>>2]|0)>>>0)%(_>>>0)|0|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)!=-1){f[ba>>2]=d;f[O>>2]=Z;b[L>>0]=0;d=f[w>>2]|0;if((d|0)==(f[B>>2]|0))$h(R,ba);else{f[d>>2]=f[ba>>2];f[d+4>>2]=f[ba+4>>2];f[d+8>>2]=f[ba+8>>2];f[w>>2]=(f[w>>2]|0)+12}}}}while(0);f[ba>>2]=7;d=f[x>>2]|0;if((d|0)==(f[C>>2]|0))zi(Q,ba);else{f[d>>2]=7;f[x>>2]=d+4}f[$>>2]=(f[$>>2]|0)+-4}else if((ea|0)==116){ea=0;f[ba>>2]=1;e=f[x>>2]|0;if((e|0)==(f[C>>2]|0))zi(Q,ba);else{f[e>>2]=1;f[x>>2]=e+4}f[I>>2]=(f[I>>2]|0)+1;if(n?(r=f[(f[v>>2]|0)+(o<<2)>>2]|0,(1<<(r&31)&f[(f[t>>2]|0)+(r>>>5<<2)>>2]|0)==0):0){f[aa>>2]=f[c>>2];f[ba>>2]=f[aa>>2];He(a,ba,0)|0}r=f[H>>2]|0;f[ba>>2]=p;e=Fe(G,ba)|0;f[e>>2]=r;e=f[$>>2]|0;f[e+-4>>2]=d;if((e|0)==(f[U>>2]|0)){zi(ca,da);break}else{f[e>>2]=f[da>>2];f[$>>2]=e+4;break}}while(0)}}else ea=11;while(0);if((ea|0)==11){ea=0;f[$>>2]=d+-4}d=f[$>>2]|0}while((f[ca>>2]|0)!=(d|0));u=fa;return 1}function db(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;_=u;u=u+112|0;S=_+100|0;Q=_+96|0;Z=_+48|0;V=_+32|0;U=_+104|0;T=_+8|0;P=_+4|0;R=_;N=f[a+28>>2]|0;O=f[a+32>>2]|0;i=Z;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{gi(Z,g);i=f[Z+12>>2]|0;e=f[Z+16>>2]|0}j=Z+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else gi(Z+12|0,g-k|0);k=Z+24|0;j=Z+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else gi(k,g-l|0);k=Z+36|0;j=Z+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else gi(k,g-l|0);yk(V,g);I=a+36|0;j=f[I>>2]|0;e=f[j+4>>2]|0;i=f[j>>2]|0;k=e-i|0;a:do if((k|0)>4){C=N+12|0;G=(g|0)>0;H=T+4|0;K=T+8|0;L=T+12|0;M=a+8|0;D=T+12|0;E=T+16|0;F=V+4|0;J=U+1|0;B=g<<2;x=k>>2;while(1){A=x+-1|0;if(e-i>>2>>>0<=A>>>0){Vo(j);i=f[j>>2]|0}t=f[i+(A<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;e=0;b:while(1){do{if((i|0)<=-1){z=e;break b}p=f[Z+(e*12|0)>>2]|0;q=f[C>>2]|0;k=f[q+(i<<2)>>2]|0;if((k|0)>=0){l=f[N>>2]|0;m=f[O>>2]|0;o=f[m+(f[l+(k<<2)>>2]<<2)>>2]|0;j=k+1|0;j=((j|0)%3|0|0)==0?k+-2|0:j;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;n=f[m+(j<<2)>>2]|0;j=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;j=f[m+(j<<2)>>2]|0;if((o|0)<(A|0)&(n|0)<(A|0)&(j|0)<(A|0)){m=X(o,g)|0;l=X(n,g)|0;k=X(j,g)|0;if(G){j=0;do{f[p+(j<<2)>>2]=(f[c+(j+k<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+m<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break b}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;j=i+1|0;if((i|0)>=0)i=((j|0)%3|0|0)==0?i+-2|0:j}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){z=e;break b}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}y=X(A,g)|0;f[T>>2]=2147483647;b[H>>0]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;j=X(x+-2|0,g)|0;if(G){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[T>>2]=i;b[H>>0]=0;f[K>>2]=0;x=c+(j<<2)|0;lf(L,x,x+(g<<2)|0);if((z|0)>=1){p=U+z|0;v=p+-1|0;r=(v|0)==(U|0);t=p+-2|0;q=J>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>U>>>0;w=0;x=1;while(1){w=w+1|0;Xi(U|0,1,o|0)|0;Xi(U|0,0,w|0)|0;c:while(1){if(G){Xi(f[V>>2]|0,0,B|0)|0;k=f[V>>2]|0;i=0;l=0;do{if(!(b[U+l>>0]|0)){e=f[Z+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[T>>2]|0)){f[T>>2]=e;b[H>>0]=i;f[K>>2]=x;f[P>>2]=f[V>>2];f[R>>2]=f[F>>2];f[Q>>2]=f[P>>2];f[S>>2]=f[R>>2];cf(L,Q,S)}if(r)break;W=b[v>>0]|0;l=W;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(U|0)){Y=68;break c}else m=i}i=p+m|0;if((l&255)<(W&255)){j=W;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue c}}if(((Y|0)==68?(Y=0,s):0)?(n=b[U>>0]|0,b[U>>0]=W,b[v>>0]=n,q):0){i=t;e=J;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[H>>0]&1<>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){Wo(m);e=f[k>>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}Xh(M,c+(y<<2)|0,f[L>>2]|0,d+(y<<2)|0);i=f[D>>2]|0;if(i|0){e=f[E>>2]|0;if((e|0)!=(i|0))f[E>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;j=f[I>>2]|0;i=f[j>>2]|0;e=f[j+4>>2]|0;x=A}}while(0);if((g|0)>0)Xi(f[Z>>2]|0,0,g<<2|0)|0;Xh(a+8|0,c,f[Z>>2]|0,d);j=f[V>>2]|0;if(j|0){e=V+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j)}i=f[Z+36>>2]|0;if(i|0){j=Z+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}i=f[Z+24>>2]|0;if(i|0){j=Z+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[Z+12>>2]|0;if(e|0){j=Z+16|0;i=f[j>>2]|0;if((i|0)!=(e|0))f[j>>2]=i+(~((i+-4-e|0)>>>2)<<2);mq(e)}j=f[Z>>2]|0;if(!j){u=_;return 1}e=Z+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j);u=_;return 1}function eb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=u;u=u+64|0;T=W+56|0;U=W+52|0;N=W+48|0;i=W+60|0;V=W;F=W+44|0;G=W+40|0;C=W+36|0;D=W+32|0;E=W+28|0;M=W+24|0;O=W+20|0;P=W+16|0;R=W+12|0;if(!(b[a+288>>0]|0)){tg(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){lj(d);mq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){lj(d);mq(d)}}else f[T>>2]=0}else{ai(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){lj(d);mq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){lj(d);mq(d)}}else f[T>>2]=0}A=a+12|0;d=f[A>>2]|0;if(!d){V=0;u=W;return V|0}K=a+200|0;f[a+264>>2]=a;S=a+4|0;Mh(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2)-(f[d+44>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=f[A>>2]|0;Mh((((f[I+4>>2]|0)-(f[I>>2]|0)>>2>>>0)/3|0)-(f[I+40>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=a+28|0;H=a+8|0;h=f[H>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[T>>0]=0;Kg(I,h,T);h=f[A>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[T>>2]=-1;yf(a+52|0,h,T);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);z=f[A>>2]|0;z=(f[z+4>>2]|0)-(f[z>>2]|0)>>2;Fj(h,z-((z>>>0)%3|0)|0);z=a+84|0;y=f[A>>2]|0;y=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2;b[T>>0]=0;Kg(z,y,T);y=a+96|0;d=f[y>>2]|0;x=a+100|0;e=f[x>>2]|0;if((e|0)!=(d|0))f[x>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;B=a+168|0;f[B>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{w=d;d=f[d>>2]|0;mq(w)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[A>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[T>>2]=-1;yf(a+152|0,v,T);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);w=f[A>>2]|0;Fj(v,((f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(_d(a)|0)){V=0;u=W;return V|0}if(!(Jf(a)|0)){V=0;u=W;return V|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[S>>2]|0)+44>>2]|0;w=e+16|0;t=f[w+4>>2]|0;if(!((t|0)>0|(t|0)==0&(f[w>>2]|0)>>>0>0)){f[U>>2]=f[e+4>>2];f[T>>2]=f[U>>2];Ie(e,T,i,i+1|0)|0;d=b[i>>0]|0}t=a+284|0;f[t>>2]=d&255;o=f[A>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Fi(K);f[V>>2]=0;w=V+4|0;f[w>>2]=0;f[V+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=V+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[I>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[A>>2]|0,f[F>>2]=d,f[T>>2]=f[F>>2],!(Cj(l,T)|0)):0){f[U>>2]=0;f[G>>2]=d;f[T>>2]=f[G>>2];i=Le(a,T,U)|0;Ui(K,i);d=f[U>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[A>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[z>>2]|0;X=i+(e>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[T>>2]=1;e=f[x>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[x>>2]=e+4}else zi(y,T);h=(f[I>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[T>>2]=g;e=f[w>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[w>>2]=e+4}else zi(V,T);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[A>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;X=(e|0)<0;d=X?-1073741824:(e>>>0)/3|0;if(X)break;if(f[(f[I>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[C>>2]=e;f[T>>2]=f[C>>2];if(!(cb(a,T)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[D>>2]=d;f[T>>2]=f[D>>2];He(a,T,1)|0;f[E>>2]=f[U>>2];f[T>>2]=f[E>>2];if(!(cb(a,T)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){J=61;break a}}e=0}else J=61;while(0);if((J|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{X=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=X;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[V>>2];f[P>>2]=f[w>>2];f[N>>2]=f[M>>2];f[U>>2]=f[O>>2];f[T>>2]=f[P>>2];Td(v,N,U,T)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[H>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[T>>0]=0,Kg(I,c,T),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[T>>2]=f[R>>2];cg(a,T)|0;c=c+4|0}while((c|0)!=(Q|0));Og(K);e=a+232|0;Pc(K,e);d=a+280|0;c=f[d>>2]|0;if((c|0?(f[t>>2]|0)>0:0)?(Pc(c,e),(f[t>>2]|0)>1):0){c=1;do{Pc((f[d>>2]|0)+(c<<5)|0,e);c=c+1|0}while((c|0)<(f[t>>2]|0))}Mh((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[S>>2]|0)+44>>2]|0)|0;Mh(f[B>>2]|0,f[(f[S>>2]|0)+44>>2]|0)|0;if(zg(a)|0){d=f[(f[S>>2]|0)+44>>2]|0;c=f[e>>2]|0;X=d+16|0;S=f[X+4>>2]|0;if(!((S|0)>0|(S|0)==0&(f[X>>2]|0)>>>0>0)){X=(f[a+236>>2]|0)-c|0;f[U>>2]=f[d+4>>2];f[T>>2]=f[U>>2];Ie(d,T,c,c+X|0)|0}e=1}else e=0}c=f[V>>2]|0;if(c|0){d=f[w>>2]|0;if((d|0)!=(c|0))f[w>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}X=e;u=W;return X|0}function fb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+1328|0;x=z+1304|0;w=z+1296|0;y=z;g=z+1284|0;n=z+1280|0;t=z+1316|0;p=z+1288|0;q=z+72|0;o=z+1268|0;i=z+64|0;l=z+56|0;m=z+80|0;d=f[a+4>>2]|0;if(((f[a+8>>2]|0)-d|0)!=4){y=0;u=z;return y|0}j=f[d>>2]|0;s=a+28|0;e=f[s>>2]|0;d=f[e+4>>2]|0;if((j|0)<=-1)Fa(20410,20426,59,20517);a=f[d+8>>2]|0;if(((f[d+12>>2]|0)-a>>2|0)<=(j|0))Fa(20527,20426,60,20517);r=f[a+(j<<2)>>2]|0;if((b[r+24>>0]|0)!=3){y=0;u=z;return y|0}e=10-(bj(f[e+48>>2]|0)|0)|0;e=(e|0)<6?e:6;b[t>>0]=e;if((e&255)>>>0>=7)Fa(7530,7557,92,7675);a:do switch(f[r+28>>2]|0){case 9:{g=f[(f[s>>2]|0)+48>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;Kj(x,17755,17);i=g+16|0;a=f[i>>2]|0;if(a){d=i;b:while(1){e=a;while(1){if((f[e+16>>2]|0)>=(j|0))break;a=f[e+4>>2]|0;if(!a)break b;else e=a}a=f[e>>2]|0;if(!a){d=e;break}else d=e}if(((d|0)!=(i|0)?(k=d+20|0,(j|0)>=(f[d+16>>2]|0)):0)?(Kh(k,x)|0)!=0:0)e=Ck(k,x,-1)|0;else v=19}else v=19;if((v|0)==19)e=Ck(g,x,-1)|0;_n(x);if((e|0)>=1){b[y>>0]=0;g=c+16|0;d=g;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,t,t+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}f[y>>2]=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2];if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+4|0)|0}Gl(y,1,e,h[t>>0]|0);f[p>>2]=r;f[p+4>>2]=0;t=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2]|0;s=q;f[s>>2]=r;f[s+4>>2]=0;f[q+4>>2]=t;f[w>>2]=f[p>>2];f[w+4>>2]=f[p+4>>2];f[x>>2]=f[q>>2];f[x+4>>2]=f[q+4>>2];if(vd(y,w,x)|0){d=f[y+16>>2]|0;t=g;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[y+20>>2]|0)-d|0;f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,d,d+t|0)|0}e=0}else e=1;c=y+28|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)mq(d);a=f[y+16>>2]|0;if(a|0){d=y+20|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;mq(a)}if(!e)v=62;else d=0}else d=0;break}case 6:{b[y>>0]=1;e=c+16|0;d=e;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+1|0)|0;a=e;d=f[a+4>>2]|0;a=f[a>>2]|0}if((d|0)>0|(d|0)==0&a>>>0>0)e=d;else{f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,t,t+1|0)|0;a=e;e=f[a+4>>2]|0;a=f[a>>2]|0}d=f[s>>2]|0;f[y>>2]=f[(f[d+4>>2]|0)+80>>2];if(!((e|0)>0|(e|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+4|0)|0;d=f[s>>2]|0}f[i>>2]=r;f[i+4>>2]=0;v=f[(f[d+4>>2]|0)+80>>2]|0;s=l;f[s>>2]=r;f[s+4>>2]=0;f[l+4>>2]=v;f[w>>2]=f[i>>2];f[w+4>>2]=f[i+4>>2];f[x>>2]=f[l>>2];f[x+4>>2]=f[l+4>>2];mg(o,w,x);switch(b[t>>0]|0){case 6:{bh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=We(m,w,x,n,c)|0;Ve(m);if(y)v=52;else v=57;break}case 5:{bh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(m,w,x,n,c)|0;Ve(m);if(y)v=52;else v=57;break}case 4:{bh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(m,w,x,n,c)|0;Ve(m);if(y)v=52;else v=57;break}case 3:{uh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(m,w,x,n,c)|0;hf(m);if(y)v=52;else v=57;break}case 2:{uh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(m,w,x,n,c)|0;hf(m);if(y)v=52;else v=57;break}case 1:{th(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=of(m,w,x,n,c)|0;gf(m);if(y)v=52;else v=57;break}case 0:{th(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=of(m,w,x,n,c)|0;gf(m);if(y)v=52;else v=57;break}default:v=57}if((v|0)==52){e=f[o>>2]|0;if(e|0){a=o+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);mq(e)}v=62;break a}else if((v|0)==57){e=f[o>>2]|0;if(e|0){a=o+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);mq(e)}d=0;break a}break}default:d=0}while(0);if((v|0)==62)d=1;y=d;u=z;return y|0}function gb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=u;u=u+64|0;S=V+56|0;T=V+52|0;N=V+48|0;i=V+60|0;U=V;E=V+44|0;F=V+40|0;B=V+36|0;C=V+32|0;D=V+28|0;M=V+24|0;O=V+20|0;P=V+16|0;R=V+12|0;if(!(b[a+352>>0]|0)){tg(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){lj(d);mq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){lj(d);mq(d)}}else f[S>>2]=0}else{ai(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){lj(d);mq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){lj(d);mq(d)}}else f[S>>2]=0}z=a+12|0;if(!(f[z>>2]|0)){U=0;u=V;return U|0}K=a+200|0;ge(K,a)|0;H=f[z>>2]|0;J=a+4|0;Mh(((f[H+28>>2]|0)-(f[H+24>>2]|0)>>2)-(f[H+44>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=f[z>>2]|0;Mh((((f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)/3|0)-(f[H+40>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=a+28|0;G=a+8|0;h=f[G>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[S>>0]=0;Kg(H,h,S);h=f[z>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[S>>2]=-1;yf(a+52|0,h,S);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);y=f[z>>2]|0;y=(f[y+4>>2]|0)-(f[y>>2]|0)>>2;Fj(h,y-((y>>>0)%3|0)|0);y=a+84|0;x=f[z>>2]|0;x=(f[x+28>>2]|0)-(f[x+24>>2]|0)>>2;b[S>>0]=0;Kg(y,x,S);x=a+96|0;d=f[x>>2]|0;w=a+100|0;e=f[w>>2]|0;if((e|0)!=(d|0))f[w>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;A=a+168|0;f[A>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{v=d;d=f[d>>2]|0;mq(v)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[z>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[S>>2]=-1;yf(a+152|0,v,S);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);t=f[z>>2]|0;Fj(v,((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(_d(a)|0)){U=0;u=V;return U|0}if(!(If(a)|0)){U=0;u=V;return U|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[J>>2]|0)+44>>2]|0;t=e+16|0;p=f[t+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[t>>2]|0)>>>0>0)){f[T>>2]=f[e+4>>2];f[S>>2]=f[T>>2];Ie(e,S,i,i+1|0)|0;d=b[i>>0]|0}f[a+284>>2]=d&255;o=f[z>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Fi(K);f[U>>2]=0;t=U+4|0;f[t>>2]=0;f[U+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=U+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[H>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[z>>2]|0,f[E>>2]=d,f[S>>2]=f[E>>2],!(Cj(l,S)|0)):0){f[T>>2]=0;f[F>>2]=d;f[S>>2]=f[F>>2];i=Le(a,S,T)|0;Ui(K,i);d=f[T>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[z>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[y>>2]|0;W=i+(e>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[S>>2]=1;e=f[w>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[w>>2]=e+4}else zi(x,S);h=(f[H>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[S>>2]=g;e=f[t>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[t>>2]=e+4}else zi(U,S);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;W=(e|0)<0;d=W?-1073741824:(e>>>0)/3|0;if(W)break;if(f[(f[H>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[B>>2]=e;f[S>>2]=f[B>>2];if(!($a(a,S)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[C>>2]=d;f[S>>2]=f[C>>2];He(a,S,1)|0;f[D>>2]=f[T>>2];f[S>>2]=f[D>>2];if(!($a(a,S)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){I=61;break a}}e=0}else I=61;while(0);if((I|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{W=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=W;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[U>>2];f[P>>2]=f[t>>2];f[N>>2]=f[M>>2];f[T>>2]=f[O>>2];f[S>>2]=f[P>>2];Td(v,N,T,S)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[G>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[S>>0]=0,Kg(H,c,S),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[S>>2]=f[R>>2];cg(a,S)|0;c=c+4|0}while((c|0)!=(Q|0));ji(K);Mh(f[a+324>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;Mh(f[A>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;if(zg(a)|0){c=f[(f[J>>2]|0)+44>>2]|0;d=f[a+232>>2]|0;W=c+16|0;R=f[W+4>>2]|0;if(!((R|0)>0|(R|0)==0&(f[W>>2]|0)>>>0>0)){W=(f[a+236>>2]|0)-d|0;f[T>>2]=f[c+4>>2];f[S>>2]=f[T>>2];Ie(c,S,d,d+W|0)|0}e=1}else e=0}c=f[U>>2]|0;if(c|0){d=f[t>>2]|0;if((d|0)!=(c|0))f[t>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}W=e;u=V;return W|0}function hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;I=Q+36|0;G=Q+32|0;P=Q;F=Q+28|0;H=Q+24|0;J=a+8|0;E=f[J>>2]|0;f[G>>2]=0;Jj(I,E,G);E=a+1164|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];D=f[J>>2]|0;f[G>>2]=0;Jj(I,D,G);D=a+1176|0;h=f[D>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;K=P+20|0;Ic(P);d=f[N>>2]|0;e=(f[K>>2]|0)+(f[M>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[K>>2]|0)+1|0;f[K>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[M>>2]|0;e=d+-1|0;t=s+e|0;v=f[N>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;j=r+(t*20|0)|0;n=f[j>>2]|0;j=f[j+4>>2]|0;h=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[K>>2]=e;e=f[O>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[O>>2]=(f[O>>2]|0)+-4}f[b>>2]=n;f[c>>2]=j;k=f[E>>2]|0;l=k+(t*12|0)|0;m=(f[D>>2]|0)+(t*12|0)|0;f[F>>2]=n;f[H>>2]=j;g=j;i=n;f[G>>2]=f[F>>2];f[I>>2]=f[H>>2];e=Sd(a,G,I,l,m,h)|0;j=j-n|0;s=(j|0)/12|0;d=(f[a>>2]|0)-(f[(f[m>>2]|0)+(e<<2)>>2]|0)|0;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}if(!j){L=69;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[m>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[J>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){L=69;break c}}}m=1<>2]|0;d=f[l>>2]|0;k=d;j=f[(f[E>>2]|0)+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+m|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[O>>2]|0;i=f[N>>2]|0;s=j-i>>2;d=f[M>>2]|0;h=f[K>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(P);d=f[M>>2]|0;h=f[K>>2]|0;j=f[O>>2]|0;i=f[N>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[K>>2]=(f[K>>2]|0)+1}if((g|0)!=(n|0)){i=f[O>>2]|0;h=f[N>>2]|0;t=i-h>>2;d=f[M>>2]|0;g=f[K>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(P);d=f[M>>2]|0;g=f[K>>2]|0;i=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[K>>2]|0)+1|0;f[K>>2]=d}else L=69}else L=69;while(0);if((L|0)==69){L=0;d=f[K>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[N>>2]|0;e=f[M>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[O>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[K>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[N>>2]|0)+4|0;f[N>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;L=83;break}case 2:{e=204;L=83;break}default:{}}if((L|0)==83)f[M>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[N>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}mq(d);u=Q;return}function ib(a){a=a|0;var c=0,d=0,e=0,g=Ka,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ka;T=u;u=u+64|0;S=T+28|0;Q=T+16|0;O=T+4|0;L=T;R=a;M=a+80|0;c=f[M>>2]|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[S+16>>2]=R;H=S+20|0;n[H>>2]=$(1.0);f[S+24>>2]=R;nh(S,c);c=f[M>>2]|0;f[Q>>2]=0;R=Q+4|0;f[R>>2]=0;f[Q+8>>2]=0;do if(c|0)if(c>>>0>1073741823){Wo(Q);T=Ha(4)|0;Pp(T);sa(T|0,1096,107)}else{G=c<<2;F=_m(G)|0;f[Q>>2]=F;P=F+(c<<2)|0;f[Q+8>>2]=P;Xi(F|0,0,G|0)|0;f[R>>2]=P;break}while(0);f[O>>2]=0;P=O+4|0;f[P>>2]=0;f[O+8>>2]=0;f[L>>2]=0;a:do if((c|0)>0){F=S+16|0;C=S+4|0;E=S+12|0;B=S+8|0;D=O+8|0;G=S+24|0;c=0;z=0;b:while(1){w=f[F>>2]|0;k=f[w+8>>2]|0;w=(f[w+12>>2]|0)-k|0;v=(w|0)>0;if(v){i=k;l=w>>>2;d=0;j=0;do{e=f[i+(j<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;j=j+1|0}while((j|0)<(l|0))}else d=0;x=f[C>>2]|0;y=(x|0)==0;c:do if(!y){q=x+-1|0;e=(q&x|0)==0;if(e)t=q&d;else t=(d>>>0)%(x>>>0)|0;d=f[(f[S>>2]|0)+(t<<2)>>2]|0;if((d|0)!=0?(K=f[d>>2]|0,(K|0)!=0):0){r=f[G>>2]|0;s=r+8|0;r=r+12|0;d:do if(e){d=K;while(1){if((f[d+4>>2]&q|0)!=(t|0)){A=45;break c}p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){A=39;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break;if((m|0)>=(o|0)){A=43;break d}}d=f[d>>2]|0;if(!d){A=45;break c}}}else{d=K;while(1){if((((f[d+4>>2]|0)>>>0)%(x>>>0)|0|0)!=(t|0)){A=45;break c}p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){A=39;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break;if((m|0)>=(o|0)){A=43;break d}}d=f[d>>2]|0;if(!d){A=45;break c}}}while(0);if((A|0)==43){A=0;if(!d){A=45;break}}f[(f[Q>>2]|0)+(c<<2)>>2]=f[d+12>>2];e=z}else A=45}else A=45;while(0);do if((A|0)==45){A=0;if(v){j=w>>>2;d=0;i=0;do{e=f[k+(i<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;i=i+1|0}while((i|0)<(j|0));t=d}else t=0;e:do if(!y){p=x+-1|0;e=(p&x|0)==0;if(e)s=p&t;else s=(t>>>0)%(x>>>0)|0;d=f[(f[S>>2]|0)+(s<<2)>>2]|0;if((d|0)!=0?(J=f[d>>2]|0,(J|0)!=0):0){q=f[G>>2]|0;r=q+8|0;q=q+12|0;if(e){m=J;while(1){if((f[m+4>>2]&p|0)!=(s|0)){d=s;A=80;break e}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break e;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){A=76;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break e}m=f[m>>2]|0;if(!m){d=s;A=80;break}}}else{m=J;while(1){if((((f[m+4>>2]|0)>>>0)%(x>>>0)|0|0)!=(s|0)){d=s;A=80;break e}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break e;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){A=76;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break e}m=f[m>>2]|0;if(!m){d=s;A=80;break}}}}else{d=s;A=80}}else{d=0;A=80}while(0);if((A|0)==80){A=0;i=_m(16)|0;f[i+8>>2]=c;f[i+12>>2]=z;f[i+4>>2]=t;f[i>>2]=0;h=$(((f[E>>2]|0)+1|0)>>>0);U=$(x>>>0);g=$(n[H>>2]);do if(y|h>$(U*g)){c=(x>>>0<3|(x+-1&x|0)!=0)&1|x<<1;d=~~$(W($(h/g)))>>>0;nh(S,c>>>0>>0?d:c);c=f[C>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&t;break}else{e=c;c=(t>>>0)%(c>>>0)|0;break}}else{e=x;c=d}while(0);d=(f[S>>2]|0)+(c<<2)|0;c=f[d>>2]|0;if(!c){f[i>>2]=f[B>>2];f[B>>2]=i;f[d>>2]=B;c=f[i>>2]|0;if(c|0){c=f[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(f[S>>2]|0)+(c<<2)|0;A=91}}else{f[i>>2]=f[c>>2];A=91}if((A|0)==91){A=0;f[c>>2]=i}f[E>>2]=(f[E>>2]|0)+1;c=f[L>>2]|0}e=z+1|0;f[(f[Q>>2]|0)+(c<<2)>>2]=z;c=f[P>>2]|0;if((c|0)==(f[D>>2]|0)){zi(O,L);break}else{f[c>>2]=f[L>>2];f[P>>2]=c+4;break}}while(0);c=(f[L>>2]|0)+1|0;f[L>>2]=c;d=f[M>>2]|0;if((c|0)>=(d|0)){I=d;N=e;break a}else z=e}if((A|0)==39)Fa(20527,20426,68,20517);else if((A|0)==76)Fa(20527,20426,68,20517)}else{I=0;N=0}while(0);if((N|0)!=(I|0)){Sa[f[(f[a>>2]|0)+24>>2]&15](a,Q,O);f[M>>2]=N}c=f[O>>2]|0;if(c|0){d=f[P>>2]|0;if((d|0)!=(c|0))f[P>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}c=f[Q>>2]|0;if(c|0){d=f[R>>2]|0;if((d|0)!=(c|0))f[R>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}c=f[S+8>>2]|0;if(c|0)do{R=c;c=f[c>>2]|0;mq(R)}while((c|0)!=0);c=f[S>>2]|0;f[S>>2]=0;if(!c){u=T;return}mq(c);u=T;return}function jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;M=u;u=u+32|0;L=M+8|0;i=M;F=a+8|0;E=f[F>>2]|0;f[i>>2]=0;Jj(L,E,i);E=a+1164|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[L>>2];f[g>>2]=f[L+4>>2];f[d>>2]=f[L+8>>2];D=f[F>>2]|0;f[i>>2]=0;Jj(L,D,i);D=a+1176|0;h=f[D>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[L>>2];f[g>>2]=f[L+4>>2];f[d>>2]=f[L+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;K=L+8|0;J=L+4|0;I=L+16|0;G=L+20|0;Ic(L);d=f[J>>2]|0;e=(f[G>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[G>>2]|0)+1|0;f[G>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[I>>2]|0;e=d+-1|0;t=s+e|0;v=f[J>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[G>>2]=e;e=f[K>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[E>>2]|0;j=m+(t*12|0)|0;e=((f[F>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[D>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[F>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[F>>2]|0}while(g>>>0>>0)}if(!k){H=69;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[F>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){H=69;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[K>>2]|0;i=f[J>>2]|0;s=j-i>>2;d=f[I>>2]|0;h=f[G>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(L);d=f[I>>2]|0;h=f[G>>2]|0;j=f[K>>2]|0;i=f[J>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[G>>2]=(f[G>>2]|0)+1}if((g|0)!=(n|0)){i=f[K>>2]|0;h=f[J>>2]|0;t=i-h>>2;d=f[I>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(L);d=f[I>>2]|0;g=f[G>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[G>>2]|0)+1|0;f[G>>2]=d}else H=69}else H=69;while(0);if((H|0)==69){H=0;d=f[G>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[J>>2]|0;e=f[I>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[K>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[G>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[J>>2]|0)+4|0;f[J>>2]=d;g=f[K>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;H=83;break}case 2:{e=204;H=83;break}default:{}}if((H|0)==83)f[I>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[J>>2]|0;e=f[K>>2]|0;if((e|0)!=(d|0))f[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[L>>2]|0;if(!d){u=M;return}mq(d);u=M;return}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N+8|0;i=N;G=a+8|0;F=f[G>>2]|0;f[i>>2]=0;Jj(M,F,i);F=a+128|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];E=f[G>>2]|0;f[i>>2]=0;Jj(M,E,i);E=a+140|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;L=M+8|0;K=M+4|0;J=M+16|0;H=M+20|0;Ic(M);d=f[K>>2]|0;e=(f[H>>2]|0)+(f[J>>2]|0)|0;if((f[L>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[H>>2]|0)+1|0;f[H>>2]=d;a:do if(d|0){x=a+116|0;D=a+32|0;C=a+12|0;w=a+88|0;B=a+84|0;y=a+76|0;z=a+80|0;A=a+72|0;b:while(1){s=f[J>>2]|0;e=d+-1|0;t=s+e|0;v=f[K>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[H>>2]=e;e=f[L>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[L>>2]=(f[L>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[F>>2]|0;j=m+(t*12|0)|0;e=((f[G>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[G>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[G>>2]|0}while(g>>>0>>0)}if(!k){I=65;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[G>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){I=65;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)oi(C,i,d-o|0);else oi(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[L>>2]|0;i=f[K>>2]|0;s=j-i>>2;d=f[J>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(M);d=f[J>>2]|0;h=f[H>>2]|0;j=f[L>>2]|0;i=f[K>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[H>>2]=(f[H>>2]|0)+1}if((g|0)!=(n|0)){i=f[L>>2]|0;h=f[K>>2]|0;t=i-h>>2;d=f[J>>2]|0;g=f[H>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(M);d=f[J>>2]|0;g=f[H>>2]|0;i=f[L>>2]|0;h=f[K>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[H>>2]|0)+1|0;f[H>>2]=d}else I=65}else I=65;while(0);if((I|0)==65){I=0;d=f[H>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[K>>2]|0;e=f[J>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[L>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[H>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[K>>2]|0)+4|0;f[K>>2]=d;g=f[L>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;I=79;break}case 2:{e=204;I=79;break}default:{}}if((I|0)==79)f[J>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[K>>2]|0;e=f[L>>2]|0;if((e|0)!=(d|0))f[L>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}mq(d);u=N;return}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N+8|0;i=N;G=a+8|0;F=f[G>>2]|0;f[i>>2]=0;Jj(M,F,i);F=a+140|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];E=f[G>>2]|0;f[i>>2]=0;Jj(M,E,i);E=a+152|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;L=M+8|0;K=M+4|0;J=M+16|0;H=M+20|0;Ic(M);d=f[K>>2]|0;e=(f[H>>2]|0)+(f[J>>2]|0)|0;if((f[L>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[H>>2]|0)+1|0;f[H>>2]=d;a:do if(d|0){x=a+128|0;D=a+44|0;C=a+12|0;w=a+100|0;B=a+96|0;y=a+88|0;z=a+92|0;A=a+84|0;b:while(1){s=f[J>>2]|0;e=d+-1|0;t=s+e|0;v=f[K>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[H>>2]=e;e=f[L>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[L>>2]=(f[L>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[F>>2]|0;j=m+(t*12|0)|0;e=((f[G>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[G>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[G>>2]|0}while(g>>>0>>0)}if(!k){I=65;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[G>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){I=65;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)Kf(C,i,d-o|0);else Kf(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[L>>2]|0;i=f[K>>2]|0;s=j-i>>2;d=f[J>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(M);d=f[J>>2]|0;h=f[H>>2]|0;j=f[L>>2]|0;i=f[K>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[H>>2]=(f[H>>2]|0)+1}if((g|0)!=(n|0)){i=f[L>>2]|0;h=f[K>>2]|0;t=i-h>>2;d=f[J>>2]|0;g=f[H>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(M);d=f[J>>2]|0;g=f[H>>2]|0;i=f[L>>2]|0;h=f[K>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[H>>2]|0)+1|0;f[H>>2]=d}else I=65}else I=65;while(0);if((I|0)==65){I=0;d=f[H>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[K>>2]|0;e=f[J>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[L>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[H>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[K>>2]|0)+4|0;f[K>>2]=d;g=f[L>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;I=79;break}case 2:{e=204;I=79;break}default:{}}if((I|0)==79)f[J>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[K>>2]|0;e=f[L>>2]|0;if((e|0)!=(d|0))f[L>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}mq(d);u=N;return}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}mb(a,n,c);a=n+4|0}if((s|0)==104){s=0;mb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}nb(a,n,c);a=n+4|0}if((s|0)==104){s=0;nb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}ob(a,n,c);a=n+4|0}if((s|0)==104){s=0;ob(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}pb(a,n,c);a=n+4|0}if((s|0)==104){s=0;pb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function qb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}qb(a,n,c);a=n+4|0}if((s|0)==104){s=0;qb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}rb(a,n,c);a=n+4|0}if((s|0)==104){s=0;rb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}sb(a,n,c);a=n+4|0}if((s|0)==104){s=0;sb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}tb(a,n,c);a=n+4|0}if((s|0)==104){s=0;tb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}ub(a,n,c);a=n+4|0}if((s|0)==104){s=0;ub(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}vb(a,n,c);a=n+4|0}if((s|0)==104){s=0;vb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}wb(a,n,c);a=n+4|0}if((s|0)==104){s=0;wb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}xb(a,n,c);a=n+4|0}if((s|0)==104){s=0;xb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}yb(a,n,c);a=n+4|0}if((s|0)==104){s=0;yb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}zb(a,n,c);a=n+4|0}if((s|0)==104){s=0;zb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Ab(a,n,c);a=n+4|0}if((s|0)==104){s=0;Ab(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Bb(a,n,c);a=n+4|0}if((s|0)==104){s=0;Bb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Cb(a,n,c);a=n+4|0}if((s|0)==104){s=0;Cb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Db(a,n,c);a=n+4|0}if((s|0)==104){s=0;Db(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Eb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;n=F+76|0;o=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0){l=c;m=-1073741824}else{l=c;m=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}}else{l=-1073741824;m=-1073741824}c=a+36|0;j=f[c>>2]|0;g=f[j+4>>2]|0;k=f[j>>2]|0;if(g-k>>2>>>0>l>>>0){c=k;h=g;i=j;g=k}else{Vo(j);i=f[c>>2]|0;c=f[i>>2]|0;h=f[i+4>>2]|0;g=f[j>>2]|0}w=f[g+(l<<2)>>2]|0;if(h-c>>2>>>0<=m>>>0){Vo(i);c=f[i>>2]|0}h=f[c+(m<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){z=w<<1;v=f[d+(z<<2)>>2]|0;y=((v|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(v|0)|(s|0)!=(z|0))){f[a+8>>2]=v;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;i=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,i,B)|0;n=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=Dn(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=Dn(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Zm(n|0,o|0,n|0,o|0)|0;x=I;B=Zm(p|0,q|0,p|0,q|0)|0;x=Zn(B|0,I|0,C|0,x|0)|0;C=I;B=Zm(l|0,m|0,l|0,m|0)|0;B=Zn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=Dn(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=Dn(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=Dn(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Zm(K|0,J|0,n|0,o|0)|0;D=I;g=Zm(H|0,G|0,p|0,q|0)|0;D=Zn(g|0,I|0,k|0,D|0)|0;k=I;g=Zm(h|0,i|0,l|0,m|0)|0;g=Zn(D|0,k|0,g|0,I|0)|0;k=I;D=Dn(r|0,((r|0)<0)<<31>>31|0,v|0,y|0)|0;c=I;w=Dn(s|0,((s|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;s=Zm(B|0,C|0,v|0,y|0)|0;r=I;v=Zm(B|0,C|0,z|0,A|0)|0;t=I;A=Zm(g|0,k|0,D|0,c|0)|0;z=I;j=Zm(g|0,k|0,w|0,x|0)|0;y=I;r=Zn(A|0,z|0,s|0,r|0)|0;s=I;t=Zn(j|0,y|0,v|0,t|0)|0;v=I;y=Zm(g|0,k|0,n|0,o|0)|0;j=I;z=Zm(g|0,k|0,p|0,q|0)|0;A=I;m=Zm(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=Dn(K|0,J|0,j|0,l|0)|0;j=I;z=Dn(H|0,G|0,A|0,z|0)|0;A=I;m=Dn(h|0,i|0,k|0,m|0)|0;k=I;j=Zm(l|0,j|0,l|0,j|0)|0;l=I;A=Zm(z|0,A|0,z|0,A|0)|0;l=Zn(A|0,I|0,j|0,l|0)|0;j=I;k=Zm(m|0,k|0,m|0,k|0)|0;k=Zn(l|0,j|0,k|0,I|0)|0;j=I;l=Dn(0,0,D|0,c|0)|0;m=I;j=Zm(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=25}break}case 1:{if(!c){g=1;c=0;E=26}else{g=1;c=0;h=j;i=k;E=25}break}default:{g=1;c=0;h=j;i=k;E=25}}if((E|0)==25)while(1){g=tn(g|0,c|0,1)|0;c=I;K=h;h=yn(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=26;break}else{i=I;E=25}}if((E|0)==26)while(1){K=Oo(j|0,k|0,g|0,c|0)|0;g=Zn(K|0,I|0,g|0,c|0)|0;g=yn(g|0,I|0,1)|0;c=I;K=Zm(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=26;else break}o=Zm(g|0,c|0,w|0,x|0)|0;K=I;n=Zm(g|0,c|0,l|0,m|0)|0;l=I;J=Zn(o|0,K|0,r|0,s|0)|0;g=I;k=Zn(n|0,l|0,t|0,v|0)|0;c=I;g=kk(J|0,g|0,B|0,C|0)|0;J=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;K=Dn(r|0,s|0,o|0,K|0)|0;o=I;l=Dn(t|0,v|0,n|0,l|0)|0;n=I;o=kk(K|0,o|0,B|0,C|0)|0;K=I;n=kk(l|0,n|0,B|0,C|0)|0;l=I;h=e<<1;j=f[d+(h<<2)>>2]|0;H=((j|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;m=((h|0)<0)<<31>>31;J=Dn(j|0,H|0,g|0,J|0)|0;G=I;k=Dn(h|0,m|0,c|0,k|0)|0;i=I;G=Zm(J|0,G|0,J|0,G|0)|0;J=I;i=Zm(k|0,i|0,k|0,i|0)|0;J=Zn(i|0,I|0,G|0,J|0)|0;G=I;K=Dn(j|0,H|0,o|0,K|0)|0;H=I;l=Dn(h|0,m|0,n|0,l|0)|0;m=I;H=Zm(K|0,H|0,K|0,H|0)|0;K=I;m=Zm(l|0,m|0,l|0,m|0)|0;K=Zn(m|0,I|0,H|0,K|0)|0;H=I;m=a+16|0;l=a+20|0;h=f[l>>2]|0;j=a+24|0;i=f[j>>2]|0;k=(h|0)==(i<<5|0);if(G>>>0>>0|(G|0)==(H|0)&J>>>0>>0){if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;K=(f[m>>2]|0)+(h>>>5<<2)|0;f[K>>2]=f[K>>2]|1<<(h&31)}else{if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;g=(f[m>>2]|0)+(h>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(h&31));g=o;c=n}f[a+8>>2]=g;f[a+12>>2]=c;u=F;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return} -function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;j=n+12|0;k=n+8|0;d=n+4|0;g=n;if(!b){c=_m(76)|0;b=_m(12)|0;e=f[(f[a+4>>2]|0)+80>>2]|0;f[b+4>>2]=0;f[b>>2]=3780;f[b+8>>2]=e;f[g>>2]=b;ml(c,g,0);f[d>>2]=c;b=a+12|0;e=f[b>>2]|0;if(e>>>0<(f[a+16>>2]|0)>>>0){f[d>>2]=0;f[e>>2]=c;f[b>>2]=e+4}else pg(a+8|0,d);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0;f[g>>2]=0;if(!c){u=n;return 1}Oa[f[(f[c>>2]|0)+4>>2]&127](c);u=n;return 1}e=f[f[a+8>>2]>>2]|0;f[j>>2]=b;m=e+4|0;l=e+8|0;c=f[l>>2]|0;if((c|0)==(f[e+12>>2]|0))zi(m,j);else{f[c>>2]=b;f[l>>2]=c+4}d=f[j>>2]|0;h=e+16|0;b=e+20|0;e=f[b>>2]|0;c=f[h>>2]|0;g=e-c>>2;if((d|0)>=(g|0)){a=d+1|0;f[k>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(i=c+(a<<2)|0,(e|0)!=(i|0)):0)f[b>>2]=e+(~((e+-4-i|0)>>>2)<<2)}else{Pg(h,a-g|0,k);d=f[j>>2]|0;c=f[h>>2]|0}}f[c+(d<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;u=n;return 1}function qf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ie(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ie(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;Wk(c);b=a+44|0;wm(b);m=a+64|0;wm(m);n=a+84|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];lb(a,i,k);Pc(c,e);gg(b,e);gg(m,e);gg(n,e);u=l;return 1}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;g=f[l>>2]|0;e=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Xi(g|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}c=f[a>>2]|0;h=((g-c|0)/12|0)+b|0;if(h>>>0>357913941){Wo(a);g=f[l>>2]|0;c=f[a>>2]|0;e=g;d=f[m>>2]|0}k=c;d=(d-c|0)/12|0;i=d<<1;i=d>>>0<178956970?(i>>>0>>0?h:i):357913941;d=(g-c|0)/12|0;do if(i)if(i>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{h=_m(i*12|0)|0;break}else h=0;while(0);g=h+(d*12|0)|0;d=g;j=h+(i*12|0)|0;Xi(g|0,0,b*12|0)|0;h=g+(b*12|0)|0;if((e|0)==(k|0))i=c;else{c=d;do{b=g+-12|0;i=e;e=e+-12|0;f[b>>2]=0;d=g+-8|0;f[d>>2]=0;f[g+-4>>2]=0;f[b>>2]=f[e>>2];b=i+-8|0;f[d>>2]=f[b>>2];i=i+-4|0;f[g+-4>>2]=f[i>>2];f[i>>2]=0;f[b>>2]=0;f[e>>2]=0;g=c+-12|0;c=g}while((e|0)!=(k|0));d=c;i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=j;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);mq(g)}}while((e|0)!=(h|0));if(!i)return;mq(i);return}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3460;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)Wo(h);c=((c+-1|0)>>>5)+1|0;o=_m(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Wo(h);o=((c+-1|0)>>>5)+1|0;a=_m(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m);u=n;return}function tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3508;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)Wo(h);c=((c+-1|0)>>>5)+1|0;o=_m(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Wo(h);o=((c+-1|0)>>>5)+1|0;a=_m(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m);u=n;return}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o+4|0;n=o;k=o+8|0;i=d+11|0;j=b[i>>0]|0;g=j<<24>>24<0;if(g){a=f[d+4>>2]|0;if(a>>>0>255){c=0;u=o;return c|0}}else a=j&255;if(!a){b[k>>0]=0;d=c+16|0;l=f[d+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[d>>2]|0)>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ie(c,m,k,k+1|0)|0}c=1;u=o;return c|0}l=d+4|0;e=f[l>>2]|0;b[k>>0]=g?e:j&255;a=c+16|0;g=a;h=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&h>>>0>0)i=g;else{f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ie(c,m,k,k+1|0)|0;h=a;j=b[i>>0]|0;i=f[h+4>>2]|0;h=f[h>>2]|0;e=f[l>>2]|0}g=j<<24>>24<0;a=g?f[d>>2]|0:d;if(!((i|0)>0|(i|0)==0&h>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ie(c,m,a,a+(g?e:j&255)|0)|0}c=1;u=o;return c|0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[i>>2]|0}else c=0;l=d-c|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){Wo(a);b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}e=_m(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Eg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Eg(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;e=f[k>>2]|0;if(d-e>>2>>>0>=b>>>0){Xi(e|0,0,b<<2|0)|0;f[k>>2]=e+(b<<2);u=n;return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[l>>2]|0;e=f[k>>2]|0}i=d-c|0;j=i>>1;g=i>>2>>>0<536870911?(j>>>0>>0?g:j):1073741823;c=e-c>>2;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(g)if(g>>>0>1073741823){n=Ha(4)|0;Pp(n);sa(n|0,1096,107)}else{d=_m(g<<2)|0;break}else d=0;while(0);f[m>>2]=d;c=d+(c<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=c;j=m+12|0;f[j>>2]=d+(g<<2);Xi(c|0,0,b<<2|0)|0;f[i>>2]=c+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];Uh(m);u=n;return}function xf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;j=d-e|0;d=j>>1;d=j>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(d>>>0>1073741823){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}h=_m(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function zf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;r=u;u=u+48|0;n=r+24|0;o=r+8|0;p=r+4|0;q=r;h=c+4|0;if((f[h>>2]|0)==-1)Fa(7347,7128,57,7476);m=e+4|0;ri(a,c,(f[m>>2]|0)-(f[e>>2]|0)>>2,2,g,d);l=f[a>>2]|0;l=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;a=f[h>>2]|0;if((a|0)<=1)Fa(11796,11807,60,11922);if((a|0)>=31)Fa(11942,11807,61,11922);f[o>>2]=a;a=1<>2]=a+-1;a=a+-2|0;f[o+8>>2]=a;f[o+12>>2]=(a|0)/2|0;a=f[e>>2]|0;if((f[m>>2]|0)==(a|0)){u=r;return}k=d+84|0;h=d+68|0;i=d+48|0;j=d+40|0;g=0;c=0;while(1){a=f[a+(c<<2)>>2]|0;if(!(b[k>>0]|0))a=f[(f[h>>2]|0)+(a<<2)>>2]|0;t=i;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j;s=f[w>>2]|0;a=Zm(s|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Zn(a|0,I|0,v|0,t|0)|0;Eg(n|0,(f[f[d>>2]>>2]|0)+a|0,s|0)|0;Gf(o,n,p,q);f[l+(g<<2)>>2]=f[p>>2];f[l+((g|1)<<2)>>2]=f[q>>2];c=c+1|0;a=f[e>>2]|0;if(c>>>0>=(f[m>>2]|0)-a>>2>>>0)break;else g=g+2|0}u=r;return}function Af(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=u;u=u+80|0;j=i;g=i+64|0;Al(j);k=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Ql(5)|0,d)|0;qj(j,k,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=_m(96)|0;ql(h,j);gj(h,c)|0;f[g>>2]=h;Hi(a,g);h=f[g>>2]|0;f[g>>2]=0;if(h|0){k=h+88|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d+8>>2]|0;if(c|0){g=d+12|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;mq(c)}mq(d)}c=f[h+68>>2]|0;if(c|0){g=h+72|0;d=f[g>>2]|0;if((d|0)!=(c|0))f[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}k=h+64|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){g=d+4|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;mq(c)}mq(d)}mq(h)}if(!e){u=i;return}a=f[a+32>>2]|0;b[a+84>>0]=0;c=a+68|0;a=a+72|0;h=f[a>>2]|0;d=f[c>>2]|0;g=h-d>>2;if(g>>>0>>0){Pg(c,e-g|0,1516);u=i;return}if(g>>>0<=e>>>0){u=i;return}d=d+(e<<2)|0;if((h|0)==(d|0)){u=i;return}f[a>>2]=h+(~((h+-4-d|0)>>>2)<<2);u=i;return}function Bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=4194303)Fa(19224,19631,356,19254);if(e>>>0>=1073741824)Fa(19264,19631,357,19254);d=e+-4194304|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-4177920|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+4194304|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1077936128|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=2097151)Fa(19224,19631,356,19254);if(e>>>0>=536870912)Fa(19264,19631,357,19254);d=e+-2097152|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-2080768|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+6291456|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1075838976|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=1048575)Fa(19224,19631,356,19254);if(e>>>0>=268435456)Fa(19264,19631,357,19254);d=e+-1048576|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-1032192|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+7340032|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074790400|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=262143)Fa(19224,19631,356,19254);if(e>>>0>=67108864)Fa(19264,19631,357,19254);d=e+-262144|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-245760|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8126464|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074003968|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=131071)Fa(19224,19631,356,19254);if(e>>>0>=33554432)Fa(19264,19631,357,19254);d=e+-131072|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-114688|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8257536|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1073872896|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=Ka,p=Ka,q=0.0,r=Ka;r=$(n[b>>2]);m=+$(K($(r)));p=$(n[b+4>>2]);m=m+ +$(K($(p)));o=$(n[b+8>>2]);m=m+ +$(K($(o)));h=m>1.0e-06;m=1.0/m;l=f[a+12>>2]|0;q=+(l|0);k=~~+J(+(q*(h?+r*m:1.0)+.5));g=~~+J(+(q*(h?+p*m:0.0)+.5));e=(k|0)>-1;k=e?k:0-k|0;i=l-k-((g|0)>-1?g:0-g|0)|0;b=(i|0)<0;g=(b?((g|0)>0?i:0-i|0):0)+g|0;i=b?0:i;i=(h?+o*m:0.0)<0.0?0-i|0:i;h=(g|0)>-1?g:0-g|0;b=(i|0)>-1?i:0-i|0;if((h+k+b|0)!=(l|0))Fa(14147,11807,99,14235);if(!e){if((g|0)>=0)b=(f[a+8>>2]|0)-b|0;if((i|0)<0)k=h;else k=(f[a+8>>2]|0)-h|0}else{b=l+g|0;k=l+i|0}i=(b|0)==0;j=(k|0)==0;e=f[a+8>>2]|0;if(!(k|b)){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}g=(e|0)==(k|0);h=(e|0)==(b|0);if(i&g|j&h){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}if(i&(l|0)<(k|0)){a=0;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(k|0)&h){a=b;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(b|0)&g){a=(l<<1)-b|0;l=k;f[c>>2]=a;f[d>>2]=l;return}else{a=(l|0)<(b|0)&j?(l<<1)-b|0:b;l=k;f[c>>2]=a;f[d>>2]=l;return}}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=32767)Fa(19224,19631,356,19254);if(e>>>0>=8388608)Fa(19264,19631,357,19254);d=e+-32768|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-16384|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8355840|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{i=e+-1073774592|0;b[a>>0]=i;b[a+1>>0]=i>>>8;b[a+2>>0]=i>>>16;i=4;e=a+3|0;a=h;d=192;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function If(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+352>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;ui(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Fj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;yf(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;Bc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)Fa(20527,20426,60,20517);else if((a|0)==11){u=o;return 1}return 0}function Jf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+288>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;ui(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Fj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;yf(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;Bc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)Fa(20527,20426,60,20517);else if((a|0)==11){u=o;return 1}return 0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)Fa(19425,19449,46,19550);if((b|0)<=0)Fa(19579,19449,47,19550);g=c>>>1&1431655765|c<<1&-1431655766;g=g>>>2&858993459|g<<2&-858993460;g=g>>>4&252645135|g<<4&-252645136;g=g>>>8&16711935|g<<8&-16711936;c=32-b|0;g=(g>>>16|g<<16)>>>c;d=g-(g>>>1&1431655765)|0;d=(d>>>2&858993459)+(d&858993459)|0;d=(X((d>>>4)+d&252645135,16843009)|0)>>>24;i=b-d|0;j=f[a>>2]|0;h=j;i=Zn(f[h>>2]|0,f[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;h=j;f[h>>2]=i;f[h+4>>2]=I;j=j+8|0;h=j;d=Zn(f[h>>2]|0,f[h+4>>2]|0,d|0,0)|0;f[j>>2]=d;f[j+4>>2]=I;j=a+28|0;d=f[j>>2]|0;h=32-d|0;i=a+24|0;do if((h|0)>=(b|0)){e=-1>>>c<>2]&~e|e&g<>2]=e;b=d+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0)){zi(a+12|0,i);d=0;c=0;break}else{f[c>>2]=e;f[d>>2]=c+4;d=0;c=0;break}}else{e=-1>>>d<>2]&~e|e&g<>2]=e;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0))zi(a+12|0,i);else{f[c>>2]=e;f[d>>2]=c+4}c=b-h|0;d=c;c=-1>>>(32-c|0)&g>>>h}while(0);f[i>>2]=c;f[j>>2]=d;return}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=f[b>>2]|0;l=f[k>>2]|0;e=f[a+4>>2]|0;b=f[k+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(i)g=h&b;else g=(b>>>0)%(e>>>0)|0;c=(f[a>>2]|0)+(g<<2)|0;j=f[c>>2]|0;while(1){b=f[j>>2]|0;if((b|0)==(k|0))break;else j=b}if((j|0)!=(a+8|0)){b=f[j+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;d=18}else d=11}else d=11;do if((d|0)==11){if(l|0){b=f[l+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;b=l;d=19;break}}f[c>>2]=0;c=f[k>>2]|0;d=18}while(0);if((d|0)==18){b=c;if(c)d=19}if((d|0)==19){c=f[c+4>>2]|0;if(i)c=c&h;else c=(c>>>0)%(e>>>0)|0;if((c|0)!=(g|0)){f[(f[a>>2]|0)+(c<<2)>>2]=j;b=f[k>>2]|0}}f[j>>2]=b;f[k>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!k)return l|0;b=f[k+20>>2]|0;if(b|0){c=k+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;mq(b)}_n(k+8|0);mq(k);return l|0}function Mf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;c=f[d>>2]|0;b=f[g>>2]|0;i=c-b>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=b+(h<<2)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2)}else Pg(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];ac(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];ac(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function Nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+8|0;Wd(a,a+4|0,e,c)|0;d=a+12|0;if((d|0)==(b|0))return;while(1){k=f[d>>2]|0;m=f[e>>2]|0;g=f[c>>2]|0;i=f[g+4>>2]|0;h=f[g>>2]|0;if(i-h>>3>>>0>k>>>0){l=g;j=h;g=h}else{Vo(g);i=f[c>>2]|0;l=i;j=f[g>>2]|0;g=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-g>>3>>>0<=m>>>0){Vo(l);g=f[l>>2]|0}if(h>>>0<(f[g+(m<<3)>>2]|0)>>>0){m=f[d>>2]|0;g=d;while(1){f[g>>2]=f[e>>2];if((e|0)==(a|0)){e=a;break}l=e+-4|0;k=f[l>>2]|0;j=f[c>>2]|0;h=f[j+4>>2]|0;g=f[j>>2]|0;if(h-g>>3>>>0>m>>>0)i=g;else{Vo(j);n=f[c>>2]|0;i=f[j>>2]|0;g=f[n>>2]|0;h=f[n+4>>2]|0;j=n}i=f[i+(m<<3)>>2]|0;if(h-g>>3>>>0<=k>>>0){Vo(j);g=f[j>>2]|0}if(i>>>0<(f[g+(k<<3)>>2]|0)>>>0){g=e;e=l}else break}f[e>>2]=m}e=d+4|0;if((e|0)==(b|0))break;else{n=d;d=e;e=n}}return}function Of(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+32|0;e=m;l=a+16|0;d=l;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){u=m;return}i=Zn(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;i=yn(i|0,I|0,3)|0;j=I;if(!(b[a+24>>0]|0)){h=a+4|0;e=h}else{n=f[a>>2]|0;g=a+4|0;n=n+((f[g>>2]|0)-n)|0;h=Zn(c|0,d|0,8,0)|0;h=n+(0-h)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;b[e+24>>0]=0;ch(i,j,e)|0;d=e+4|0;c=(f[d>>2]|0)-(f[e>>2]|0)|0;dm(h+c|0,h+8|0,i|0)|0;Eg(h|0,f[e>>2]|0,c|0)|0;h=l;c=Zn(f[h>>2]|0,f[h+4>>2]|0,8-c|0,0)|0;h=l;f[h>>2]=c;f[h+4>>2]=I;h=e+12|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)mq(c);c=f[e>>2]|0;if(c|0){if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}d=l;e=g;c=f[d>>2]|0;d=f[d+4>>2]|0;h=g}e=f[e>>2]|0;n=f[a>>2]|0;g=e-n|0;c=Dn(i|0,j|0,c|0,d|0)|0;c=Zn(c|0,I|0,g|0,0)|0;d=n;if(c>>>0<=g>>>0){if(c>>>0>>0?(k=d+c|0,(e|0)!=(k|0)):0)f[h>>2]=k}else ki(a,c-g|0);n=l;f[n>>2]=0;f[n+4>>2]=0;u=m;return}function Pf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;l=a+36|0;j=a+4|0;i=a+8|0;d=(f[i>>2]|0)-(f[j>>2]|0)>>2;g=a+40|0;b=f[g>>2]|0;c=f[l>>2]|0;e=b-c>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=c+(d<<2)|0,(b|0)!=(h|0)):0)do{e=b+-4|0;f[g>>2]=e;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[g>>2]|0}while((b|0)!=(h|0))}else bg(l,d-e|0);if((f[i>>2]|0)==(f[j>>2]|0)){a=1;u=m;return a|0}d=a+52|0;c=a+48|0;e=0;while(1){Sa[f[(f[a>>2]|0)+56>>2]&15](k,a,e);h=(f[l>>2]|0)+(e<<2)|0;g=f[k>>2]|0;f[k>>2]=0;b=f[h>>2]|0;f[h>>2]=g;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[k>>2]|0;f[k>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[(f[l>>2]|0)+(e<<2)>>2]|0;if(!b){b=0;c=19;break}if(e>>>0<(f[d>>2]|0)>>>0?f[(f[c>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0:0)ep(b);e=e+1|0;if(e>>>0>=(f[i>>2]|0)-(f[j>>2]|0)>>2>>>0){b=1;c=19;break}}if((c|0)==19){u=m;return b|0}return 0}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;j=l+4|0;i=l;Mh(f[c+12>>2]|0,b)|0;d=f[c+8>>2]|0;a:do if(d|0){k=b+16|0;h=b+4|0;while(1){e=d;if(!(uf(0,b,e+8|0)|0)){d=0;break}m=e+20|0;g=(f[e+24>>2]|0)-(f[m>>2]|0)|0;Mh(g,b)|0;e=f[m>>2]|0;m=k;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[h>>2];f[j>>2]=f[i>>2];Ie(b,j,e,e+g|0)|0}d=f[d>>2]|0;if(!d)break a}u=l;return d|0}while(0);Mh(f[c+32>>2]|0,b)|0;d=f[c+28>>2]|0;if(!d){n=1;u=l;return n|0}while(1){e=d;if(!(uf(0,b,e+8|0)|0)){d=0;e=10;break}Qf(a,b,f[e+20>>2]|0)|0;d=f[d>>2]|0;if(!d){d=1;e=10;break}}if((e|0)==10){u=l;return d|0}return 0}function Rf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Bk(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Bk(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Bk(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)dm(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Eg(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);mq(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[h>>2]|0}else c=0;m=d-c|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){Wo(a);b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}e=_m(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Eg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];fe(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=c>>>5;dm(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function Uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=f[d>>2]|0;m=f[d+4>>2]|0;a:do if((e|0)==(m|0)){n=a+8|0;o=a+12|0;q=0}else{k=f[c>>2]|0;l=a+8|0;j=a+12|0;d=0;b:while(1){h=f[e>>2]|0;i=f[k+(h<<2)>>2]|0;if((i|0)>=(d|0)){d=f[l>>2]|0;c=(f[j>>2]|0)-d|0;if((c|0)>0){g=c>>2;a=0;do{c=f[d+(a<<2)>>2]|0;if(b[c+84>>0]|0)break b;c=f[c+68>>2]|0;f[c+(i<<2)>>2]=f[c+(h<<2)>>2];a=a+1|0}while((a|0)<(g|0))}d=i+1|0}e=e+4|0;if((e|0)==(m|0)){n=l;o=j;q=d;break a}}Fa(19931,19950,89,20044)}while(0);c=f[o>>2]|0;d=f[n>>2]|0;if((c-d|0)>0)j=0;else return;do{g=f[d+(j<<2)>>2]|0;b[g+84>>0]=0;h=g+68|0;g=g+72|0;e=f[g>>2]|0;a=f[h>>2]|0;i=e-a>>2;if(q>>>0<=i>>>0){if(q>>>0>>0?(p=a+(q<<2)|0,(e|0)!=(p|0)):0)f[g>>2]=e+(~((e+-4-p|0)>>>2)<<2)}else{Pg(h,q-i|0,6092);d=f[n>>2]|0;c=f[o>>2]|0}j=j+1|0}while((j|0)<(c-d>>2|0));return}function Vf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=d[b>>1]|0;k=d[b+2>>1]|0;l=d[b+4>>1]|0;i=d[b+6>>1]|0;b=((((j^318)&65535)+239^k&65535)+239^l&65535)+239^i&65535;e=f[a+4>>2]|0;if(!e){l=0;return l|0}h=e+-1|0;c=(h&e|0)==0;if(c)g=b&h;else g=(b>>>0)%(e>>>0)|0;b=f[(f[a>>2]|0)+(g<<2)>>2]|0;if(!b){l=0;return l|0}b=f[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((f[b+4>>2]&h|0)!=(g|0)){b=0;a=20;break}if((((d[b+8>>1]|0)==j<<16>>16?(d[b+10>>1]|0)==k<<16>>16:0)?(d[b+12>>1]|0)==l<<16>>16:0)?(d[b+14>>1]|0)==i<<16>>16:0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((f[b+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(g|0)){b=0;a=20;break}if((((d[b+8>>1]|0)==j<<16>>16?(d[b+10>>1]|0)==k<<16>>16:0)?(d[b+12>>1]|0)==l<<16>>16:0)?(d[b+14>>1]|0)==i<<16>>16:0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function Wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q;if(!b){c=0;u=q;return c|0}n=b+96|0;m=b+100|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;b=f[m>>2]|0;a=f[n>>2]|0;e=(b-a|0)/12|0;if(e>>>0>=c>>>0){if(e>>>0>c>>>0?(g=a+(c*12|0)|0,(b|0)!=(g|0)):0)f[m>>2]=b+(~(((b+-12-g|0)>>>0)/12|0)*12|0)}else hg(n,c-e|0,o);if((c|0)<=0){c=1;u=q;return c|0}a=f[n>>2]|0;k=0;do{h=k*3|0;i=f[d+(h<<2)>>2]|0;j=f[d+(h+1<<2)>>2]|0;h=f[d+(h+2<<2)>>2]|0;e=f[m>>2]|0;g=(e-a|0)/12|0;b=a;l=k;k=k+1|0;if((l|0)>=(g|0)){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if(k>>>0<=g>>>0){if(k>>>0>>0?(p=b+(k*12|0)|0,(e|0)!=(p|0)):0)f[m>>2]=e+(~(((e+-12-p|0)>>>0)/12|0)*12|0)}else{hg(n,k-g|0,o);a=f[n>>2]|0;b=a}}f[b+(l*12|0)>>2]=i;f[b+(l*12|0)+4>>2]=j;f[b+(l*12|0)+8>>2]=h}while((k|0)!=(c|0));a=1;u=q;return a|0}function Xf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=b[c>>0]|0;k=b[c+1>>0]|0;l=b[c+2>>0]|0;i=b[c+3>>0]|0;c=(((j&255^318)+239^k&255)+239^l&255)+239^i&255;e=f[a+4>>2]|0;if(!e){l=0;return l|0}h=e+-1|0;d=(h&e|0)==0;if(d)g=c&h;else g=(c>>>0)%(e>>>0)|0;c=f[(f[a>>2]|0)+(g<<2)>>2]|0;if(!c){l=0;return l|0}c=f[c>>2]|0;if(!c){l=0;return l|0}if(d){while(1){if((f[c+4>>2]&h|0)!=(g|0)){c=0;a=20;break}if((((b[c+8>>0]|0)==j<<24>>24?(b[c+9>>0]|0)==k<<24>>24:0)?(b[c+10>>0]|0)==l<<24>>24:0)?(b[c+11>>0]|0)==i<<24>>24:0){a=20;break}c=f[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}else{while(1){if((((f[c+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(g|0)){c=0;a=20;break}if((((b[c+8>>0]|0)==j<<24>>24?(b[c+9>>0]|0)==k<<24>>24:0)?(b[c+10>>0]|0)==l<<24>>24:0)?(b[c+11>>0]|0)==i<<24>>24:0){a=20;break}c=f[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}return 0}function Yf(a){a=a|0;Wk(a);Wk(a+32|0);Wk(a+64|0);Wk(a+96|0);Wk(a+128|0);Wk(a+160|0);Wk(a+192|0);Wk(a+224|0);Wk(a+256|0);Wk(a+288|0);Wk(a+320|0);Wk(a+352|0);Wk(a+384|0);Wk(a+416|0);Wk(a+448|0);Wk(a+480|0);Wk(a+512|0);Wk(a+544|0);Wk(a+576|0);Wk(a+608|0);Wk(a+640|0);Wk(a+672|0);Wk(a+704|0);Wk(a+736|0);Wk(a+768|0);Wk(a+800|0);Wk(a+832|0);Wk(a+864|0);Wk(a+896|0);Wk(a+928|0);Wk(a+960|0);Wk(a+992|0);Wk(a+1024|0);return}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)Fa(20061,20073,110,20165);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))lh(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){zi(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;mq(e)}mq(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;mq(e)}mq(d)}mq(b);u=j;return}function _f(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;mq(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0){Wo(a);e=f[i>>2]|0;g=f[a>>2]|0}else g=0;k=e-g|0;g=k<<1;g=k>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Wo(a);e=_m(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)dm(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function $f(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;if(!(ah(a,c,d)|0)){l=0;u=m;return l|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){l=0;u=m;return l|0}h=f[c+48>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kj(k,17755,17);i=h+16|0;e=f[i>>2]|0;if(e){c=i;a:while(1){g=e;while(1){if((f[g+16>>2]|0)>=(d|0))break;e=f[g+4>>2]|0;if(!e)break a;else g=e}e=f[g>>2]|0;if(!e){c=g;break}else c=g}if(((c|0)!=(i|0)?(j=c+20|0,(f[c+16>>2]|0)<=(d|0)):0)?(Kh(j,k)|0)!=0:0)c=Ck(j,k,-1)|0;else l=12}else l=12;if((l|0)==12)c=Ck(h,k,-1)|0;_n(k);if((c|0)<1){l=0;u=m;return l|0}No(a+40|0,c);l=1;u=m;return l|0}function ag(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;s=u;u=u+16|0;r=s+4|0;q=s;n=a+8|0;g=f[n>>2]|0;a=f[g+40>>2]|0;p=jq((a|0)>-1?a:-1)|0;l=c+4|0;h=f[l>>2]|0;e=f[c>>2]|0;if((h|0)==(e|0)){kq(p);u=s;return 1}o=d+16|0;m=d+4|0;k=p+a|0;i=g;j=g;g=0;while(1){a=f[e+(g<<2)>>2]|0;if(!(b[i+84>>0]|0))a=f[(f[i+68>>2]|0)+(a<<2)>>2]|0;t=j+48|0;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j+40|0;i=f[w>>2]|0;a=Zm(i|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Zn(a|0,I|0,v|0,t|0)|0;Eg(p|0,(f[f[j>>2]>>2]|0)+a|0,i|0)|0;j=o;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)a=h;else{f[q>>2]=f[m>>2];f[r>>2]=f[q>>2];Ie(d,r,p,k)|0;e=f[c>>2]|0;a=f[l>>2]|0}g=g+1|0;if(g>>>0>=a-e>>2>>>0)break;j=f[n>>2]|0;i=j;h=a}kq(p);u=s;return 1}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;e=f[n>>2]|0;m=a+4|0;d=f[m>>2]|0;if(e-d>>2>>>0>=b>>>0){Xi(d|0,0,b<<2|0)|0;f[m>>2]=d+(b<<2);return}c=f[a>>2]|0;h=(d-c>>2)+b|0;if(h>>>0>1073741823){Wo(a);g=f[a>>2]|0;d=f[m>>2]|0;e=f[n>>2]|0}else g=c;c=d;l=g;k=e-g|0;j=k>>1;h=k>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;j=d-g>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;Xi(e|0,0,b<<2|0)|0;d=e;k=i+(h<<2)|0;h=i+(j+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));g=f[a>>2]|0;c=f[m>>2]|0}f[a>>2]=d;f[m>>2]=h;f[n>>2]=k;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;mq(g);return}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p;d=f[b>>2]|0;f[n>>2]=d;l=a+12|0;c=(d|0)<0;b=d+1|0;do if(!c){f[n+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[n+4>>2]=d;b=d}while(0);f[n+8>>2]=b;j=c?-1073741824:(d>>>0)/3|0;i=a+28|0;k=(f[i>>2]|0)+(j>>>5<<2)|0;f[k>>2]=1<<(j&31)|f[k>>2];k=a+172|0;j=a+176|0;h=a+280|0;c=d;b=0;while(1){if((((c|0)>=0?(o=f[(f[(f[l>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(o|0)>=0):0)?(g=(o>>>0)/3|0,(f[(f[i>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0)?(m=f[k>>2]|0,(f[j>>2]|0)!=(m|0)):0){g=c>>>5;e=1<<(c&31);c=m;a=0;do{d=(f[h>>2]|0)+(a<<5)|0;if(!(e&f[(f[c+(a*108|0)+4>>2]|0)+(g<<2)>>2]))Ui(d,0);else Ui(d,1);a=a+1|0;c=f[k>>2]|0}while(a>>>0<(((f[j>>2]|0)-c|0)/108|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[n+(b<<2)>>2]|0}u=p;return 1}function dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=f[b>>2]|0;j=f[b+4>>2]|0;k=f[b+8>>2]|0;h=f[b+12>>2]|0;b=(((i^318)+239^j)+239^k)+239^h;d=f[a+4>>2]|0;if(!d){k=0;return k|0}g=d+-1|0;c=(g&d|0)==0;if(c)e=b&g;else e=(b>>>0)%(d>>>0)|0;b=f[(f[a>>2]|0)+(e<<2)>>2]|0;if(!b){k=0;return k|0}b=f[b>>2]|0;if(!b){k=0;return k|0}if(c){while(1){if((f[b+4>>2]&g|0)!=(e|0)){b=0;a=20;break}if((((f[b+8>>2]|0)==(i|0)?(f[b+12>>2]|0)==(j|0):0)?(f[b+16>>2]|0)==(k|0):0)?(f[b+20>>2]|0)==(h|0):0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((f[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(e|0)){b=0;a=20;break}if((((f[b+8>>2]|0)==(i|0)?(f[b+12>>2]|0)==(j|0):0)?(f[b+16>>2]|0)==(k|0):0)?(f[b+20>>2]|0)==(h|0):0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;f[a+4>>2]=f[b+4>>2];g=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;h=b+12|0;c=f[h>>2]|0;if(!c)c=0;else{e=a+16|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[g>>2]|0;if(d){mq(d);f[g>>2]=0;f[e>>2]=0;f[a+12>>2]=0;c=f[h>>2]|0}if((c|0)<0)Wo(g);d=((c+-1|0)>>>5)+1|0;c=_m(d<<2)|0;f[g>>2]=c;f[a+12>>2]=0;f[e>>2]=d;d=f[h>>2]|0}else{d=c;c=f[g>>2]|0}dm(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[h>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){mq(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Wo(h);d=((c+-1|0)>>>5)+1|0;c=_m(d<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[e>>2]=d;d=f[g>>2]|0}else{d=c;c=f[h>>2]|0}dm(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+16|0;e=o;j=c+1|0;f[e>>2]=0;n=e+4|0;f[n>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823){Wo(e);o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}else{l=_m(j<<2)|0;f[e>>2]=l;m=l+(j<<2)|0;f[e+8>>2]=m;Xi(l|0,0,(c<<2)+4|0)|0;f[n>>2]=m;k=l;break}else{k=0;l=0;m=0}while(0);if((b|0)>0){e=0;do{p=l+(f[a+(e<<2)>>2]<<2)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+1|0}while((e|0)!=(b|0))}i=+(b|0);if((c|0)<0){e=0;g=0.0}else{b=0;e=0;g=0.0;do{p=f[l+(b<<2)>>2]|0;h=+(p|0);if((p|0)>0){e=e+1|0;g=g+h*+Mg(h/i)}b=b+1|0}while((b|0)!=(j|0))}if(d|0)f[d>>2]=e;i=-g;e=~~i>>>0;b=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;if(!l){I=b;u=o;return e|0}if((m|0)!=(l|0))f[n>>2]=m+(~((m+-4-l|0)>>>2)<<2);mq(k);I=b;u=o;return e|0}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;h=l+8|0;i=l+4|0;g=l;k=a+12|0;j=a+4|0;c=f[j>>2]|0;if((c|0)==(f[a+8>>2]|0)){zi(a,k);c=f[j>>2]|0}else{f[c>>2]=f[k>>2];c=c+4|0;f[j>>2]=c}d=f[a>>2]|0;f[g>>2]=c-d;e=b+16|0;c=e;m=f[c+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ie(b,h,g,g+4|0)|0;d=f[a>>2]|0;c=f[g>>2]|0;m=e;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ie(b,h,d,d+c|0)|0;d=f[a>>2]|0}}c=f[j>>2]|0;if((c|0)==(d|0)){f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}f[j>>2]=c+(~((c+-4-d|0)>>>2)<<2);f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((g-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;h=((d-e|0)/12|0)+b|0;if(h>>>0>357913941){Wo(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=(g-e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0>>0?h:g):357913941;d=(d-e|0)/12|0;do if(g)if(g>>>0>357913941){k=Ha(4)|0;Pp(k);sa(k|0,1096,107)}else{e=_m(g*12|0)|0;break}else e=0;while(0);i=e+(d*12|0)|0;h=e+(g*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Eg(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;mq(d);return}function ig(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;e=a+24|0;i=f[a+32>>2]|0;if(i>>>0<=16383)Fa(19224,19631,356,19254);if(i>>>0>=4194304)Fa(19264,19631,357,19254);d=i+-16384|0;do if(d>>>0>=64){g=a+28|0;a=(f[e>>2]|0)+(f[g>>2]|0)|0;if(d>>>0<16384){b[a>>0]=i;h=2;e=a+1|0;a=g;d=i>>>8;break}else{d=i+8372224|0;b[a>>0]=d;b[a+1>>0]=d>>>8;h=3;e=a+2|0;a=g;d=d>>>16;break}}else{a=a+28|0;h=1;e=(f[e>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+h|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function jg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;i=m+4|0;j=m;l=m+8|0;k=a+4|0;if((f[k>>2]|0)==-1){l=0;u=m;return l|0}g=f[a+8>>2]|0;h=c+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){e=(f[a+12>>2]|0)-g|0;f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,g,g+e|0)|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;g=a+20|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,g,g+4|0)|0;d=h;e=f[d+4>>2]|0;d=f[d>>2]|0}}b[l>>0]=f[k>>2];if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,l,l+1|0)|0}l=1;u=m;return l|0}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];eg(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{vf(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);vf(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);vf(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Sf(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;o=r+4|0;q=r;p=a+4|0;c=f[p>>2]|0;m=a+8|0;d=f[m>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[m>>2]=c}l=a+16|0;j=f[l>>2]|0;k=a+20|0;d=f[k>>2]|0;e=j;if((d|0)!=(j|0))f[k>>2]=d+(~((d+-4-e|0)>>>2)<<2);d=f[b>>2]|0;j=f[b+4>>2]|0;if((d|0)==(j|0)){u=r;return}i=a+12|0;h=d;do{d=f[h>>2]|0;f[o>>2]=d;if((c|0)==(f[i>>2]|0)){zi(p,o);e=f[l>>2]|0}else{f[c>>2]=d;f[m>>2]=c+4}d=f[o>>2]|0;b=f[k>>2]|0;g=b-e>>2;c=e;if((d|0)<(g|0))b=c;else{a=d+1|0;f[q>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(n=c+(a<<2)|0,(b|0)!=(n|0)):0)f[k>>2]=b+(~((b+-4-n|0)>>>2)<<2)}else{Pg(l,a-g|0,q);e=f[l>>2]|0;d=f[o>>2]|0;c=e}b=c}c=f[m>>2]|0;f[b+(d<<2)>>2]=(c-(f[p>>2]|0)>>2)+-1;h=h+4|0}while((h|0)!=(j|0));u=r;return}function mg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;o=q+16|0;n=q+12|0;p=q;f[a>>2]=0;m=a+4|0;f[m>>2]=0;f[a+8>>2]=0;k=c;e=f[k>>2]|0;k=f[k+4>>2]|0;l=f[d+4>>2]|0;c=l-k|0;if(!c){u=q;return}if(c>>>0>357913941){Wo(a);q=Ha(4)|0;Pp(q);sa(q|0,1096,107)}d=_m(c*12|0)|0;f[m>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(c*12|0);if((l|0)==(k|0)){u=q;return}j=e+84|0;g=e+68|0;h=p+4|0;i=p+8|0;a=k;do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[j>>0]|0))c=f[(f[g>>2]|0)+(a<<2)>>2]|0;else c=a;f[n>>2]=c;f[o>>2]=f[n>>2];Lb(e,o,3,p)|0;f[d>>2]=f[p>>2];f[d+4>>2]=f[h>>2];f[d+8>>2]=f[i>>2];a=a+1|0;d=(f[m>>2]|0)+12|0;f[m>>2]=d}while((a|0)!=(l|0));u=q;return}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{dm(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}h=_m(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{mq(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=6064;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}Vh(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Gi(c);mq(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}mq(b)}Gi(e);mq(e);return}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{e=_m(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;mq(g);return}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)Fa(19770,19795,63,19872);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))Fa(19877,19795,64,19872);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))zi(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){zi(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function rg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;o=p+4|0;n=p;f[a+52>>2]=e;f[a+44>>2]=g;l=jq(e>>>0>1073741823?-1:e<<2)|0;m=a+48|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)kq(d);k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;j=g-d|0;if((j|0)<=0){u=p;return 1}l=a+8|0;i=g;g=(j>>>2)+-1|0;while(1){if(i-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[n>>2]=f[d+(g<<2)>>2];f[o>>2]=f[n>>2];qc(a,o,b,g);j=X(g,e)|0;Xh(l,b+(j<<2)|0,f[m>>2]|0,c+(j<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0}u=p;return 1}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{dm(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}h=_m(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){mq(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function tg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;d=fl(c,0)|0;if(!d){f[a>>2]=0;u=n;return}l=c+96|0;e=c+100|0;vj(m,((f[e>>2]|0)-(f[l>>2]|0)|0)/12|0);c=f[l>>2]|0;e=(f[e>>2]|0)-c|0;if((e|0)>0){l=d+68|0;k=f[m>>2]|0;j=(b[d+84>>0]|0)==0;i=(e|0)/12|0;h=0;do{d=c+(h*12|0)|0;if(j){o=f[l>>2]|0;e=o+(f[c+(h*12|0)+8>>2]<<2)|0;g=o+(f[c+(h*12|0)+4>>2]<<2)|0;d=o+(f[d>>2]<<2)|0}else{e=c+(h*12|0)+8|0;g=c+(h*12|0)+4|0}g=f[g>>2]|0;o=f[e>>2]|0;f[k+(h*12|0)>>2]=f[d>>2];f[k+(h*12|0)+4>>2]=g;f[k+(h*12|0)+8>>2]=o;h=h+1|0}while((h|0)<(i|0))}jk(a,m);e=f[m>>2]|0;if(e|0){d=m+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0);mq(e)}u=n;return}function ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;qe(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=c>>>5;dm(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{e=_m(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){Gi(d);mq(d)}}while((c|0)!=(e|0));if(!g)return;mq(g);return}function wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;Zf(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}mq(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){Ug(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=a+4|0;e=f[a>>2]|0;if(!e){f[c>>2]=a;n=a;return n|0}l=b[d+11>>0]|0;k=l<<24>>24<0;l=k?f[d+4>>2]|0:l&255;k=k?f[d>>2]|0:d;while(1){g=e+16|0;d=b[g+11>>0]|0;i=d<<24>>24<0;d=i?f[e+20>>2]|0:d&255;h=d>>>0>>0;a=h?d:l;if((a|0)!=0?(n=il(k,i?f[g>>2]|0:g,a)|0,(n|0)!=0):0)if((n|0)<0)j=7;else j=9;else if(l>>>0>>0)j=7;else j=9;if((j|0)==7){a=f[e>>2]|0;if(!a){j=8;break}}else if((j|0)==9){j=0;a=l>>>0>>0?l:d;if((a|0)!=0?(m=il(i?f[g>>2]|0:g,k,a)|0,(m|0)!=0):0){if((m|0)>=0){j=16;break}}else j=11;if((j|0)==11?(0,!h):0){j=16;break}d=e+4|0;a=f[d>>2]|0;if(!a){j=15;break}}e=a}if((j|0)==8){f[c>>2]=e;n=e;return n|0}else if((j|0)==15){f[c>>2]=e;n=d;return n|0}else if((j|0)==16){f[c>>2]=e;n=c;return n|0}return 0}function yg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;o=p+4|0;n=p;f[a+52>>2]=e;f[a+44>>2]=g;l=jq(e>>>0>1073741823?-1:e<<2)|0;m=a+48|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)kq(d);k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;j=g-d|0;if((j|0)<=0){u=p;return 1}l=a+8|0;i=g;g=(j>>>2)+-1|0;while(1){if(i-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[n>>2]=f[d+(g<<2)>>2];f[o>>2]=f[n>>2];nc(a,o,b,g);j=X(g,e)|0;Xh(l,b+(j<<2)|0,f[m>>2]|0,c+(j<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0}u=p;return 1}function zg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;i=a+108|0;d=(f[a+112>>2]|0)-(f[i>>2]|0)|0;g=(d|0)/12|0;e=a+4|0;Mh(g,f[(f[e>>2]|0)+44>>2]|0)|0;if(!d)return 1;a=0;c=0;while(1){j=f[i>>2]|0;d=j+(a*12|0)+4|0;Mh((f[d>>2]|0)-c|0,f[(f[e>>2]|0)+44>>2]|0)|0;Mh((f[d>>2]|0)-(f[j+(a*12|0)>>2]|0)|0,f[(f[e>>2]|0)+44>>2]|0)|0;a=a+1|0;if(a>>>0>=g>>>0)break;else c=f[d>>2]|0}qi(f[(f[e>>2]|0)+44>>2]|0,g,0,0)|0;c=0;do{a=f[(f[e>>2]|0)+44>>2]|0;j=a+16|0;d=f[j+4>>2]|0;if((d|0)>0|(d|0)==0&(f[j>>2]|0)>>>0>0){l=f[a+12>>2]|0;j=l+4|0;a=f[j>>2]|0;k=b[(f[i>>2]|0)+(c*12|0)+8>>0]&1;d=a>>>3;a=a&7;m=(f[l>>2]|0)+d|0;b[m>>0]=(h[m>>0]|0)&(1<>2]|0)+d|0;b[d>>0]=h[d>>0]|0|k<>2]=(f[j>>2]|0)+1}c=c+1|0}while(c>>>0>>0);Of(f[(f[e>>2]|0)+44>>2]|0);return 1}function Ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+80|0;g=e+36|0;h=e;Kn(g,c);Ae(h,b,c);rh(g,h);mj(h+24|0,f[h+28>>2]|0);tj(h+12|0,f[h+16>>2]|0);mj(h,f[h+4>>2]|0);_i(a,g,d);mj(g+24|0,f[g+28>>2]|0);tj(g+12|0,f[g+16>>2]|0);mj(g,f[g+4>>2]|0);u=e;return}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+4|0;l=n;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(13062,13305,70,13469);h=c+8|0;if(!(f[h>>2]|0))Fa(13062,13305,70,13469);i=f[(f[(f[c+16>>2]|0)+28>>2]|0)+(f[d>>2]<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=i>>>0){Vo(d);c=f[d>>2]|0;d=f[g>>2]|0;if(!d)Fa(13062,13305,62,13490);else{k=d;j=c}}else{k=e;j=c}d=f[h>>2]|0;if(!d)Fa(13062,13305,62,13490);d=f[d+(f[j+(i<<2)>>2]<<2)>>2]|0;if(!(b[k+84>>0]|0))d=f[(f[k+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[l>>2]=d;j=b[k+24>>0]|0;f[m>>2]=f[l>>2];Fb(k,m,j,a)|0;u=n;return}function Cg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))Fa(20527,20426,60,20517);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=hi(c,d)|0;if((b|0)==-2)b=0;else{do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ze(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_m(44)|0;f[b>>2]=1528;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);f[b>>2]=1584}f[a>>2]=b;return}function Dg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=il(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=il(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Aa(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Fg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];tc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];tc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Gg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(13062,13305,70,13469);i=c+8|0;if(!(f[i>>2]|0))Fa(13062,13305,70,13469);d=f[d>>2]|0;if((d|0)<0)h=-1073741824;else h=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;c=f[c+20>>2]|0;d=f[c>>2]|0;if((f[c+4>>2]|0)-d>>2>>>0<=h>>>0){Vo(c);e=f[g>>2]|0;d=f[c>>2]|0}c=f[d+(h<<2)>>2]|0;if(!e)Fa(13062,13305,62,13490);d=f[i>>2]|0;if(!d)Fa(13062,13305,62,13490);d=f[d+(c<<2)>>2]|0;if(!(b[e+84>>0]|0))d=f[(f[e+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[j>>2]=d;i=b[e+24>>0]|0;f[k>>2]=f[j>>2];Fb(e,k,i,a)|0;u=l;return}function Hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=co(ya(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=co(ya(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+4;h=a+8|0;b[h>>0]=0;f[g+16>>2]=f[d>>2];i=g+20|0;f[g+24>>2]=0;f[g+28>>2]=0;a=g+24|0;f[i>>2]=a;c=f[d+4>>2]|0;g=d+8|0;if((c|0)==(g|0)){b[h>>0]=1;u=l;return}e=a;d=c;while(1){a=d+16|0;f[j>>2]=e;f[k>>2]=f[j>>2];Sg(i,k,a,a)|0;a=f[c+4>>2]|0;if(!a)while(1){a=f[c+8>>2]|0;if((f[a>>2]|0)==(c|0))break;else c=a}else while(1){c=f[a>>2]|0;if(!c)break;else a=c}if((a|0)==(g|0))break;else{d=a;c=a}}b[h>>0]=1;u=l;return}function Jg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];uc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];uc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Kg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l;i=a+4|0;f[i>>2]=0;if(!c){u=l;return}h=a+8|0;e=f[h>>2]|0;if(e<<5>>>0>>0){f[k>>2]=0;j=k+4|0;f[j>>2]=0;g=k+8|0;f[g>>2]=0;if((c|0)<0){Wo(a);e=f[h>>2]|0}m=e<<6;n=c+31&-32;bi(k,e<<5>>>0<1073741823?(m>>>0>>0?n:m):2147483647);e=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=e;k=f[i>>2]|0;f[i>>2]=c;f[j>>2]=k;k=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=k;if(e|0)mq(e)}else f[i>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){Xi(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=l;return}else{Xi(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=l;return}}function Lg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function Mg(a){a=+a;var b=0,c=0,d=0,e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;p[s>>3]=a;c=f[s>>2]|0;b=f[s+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;b=f[s+4>>2]|0;d=f[s>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;f[s>>2]=d;f[s+4>>2]=(e&1048575)+1072079006;k=+p[s>>3]+-1.0;i=k*k*.5;h=k/(k+2.0);j=h*h;a=j*j;p[s>>3]=k-i;d=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=d;g=+p[s>>3];a=k-g-i+h*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+j*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));j=g*1.4426950407214463;i=+(c+(e>>>20)|0);h=i+j;a=h+(j+(i-h)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function Ng(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(Ko(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Ko(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Na[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Ua[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else ym(0,c,d,e);while(0);return}function Og(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=a+32|0;m=f[a+64>>2]|0;m=(Ra[f[(f[m>>2]|0)+40>>2]&127](m)|0)+52|0;m=f[m>>2]|0;m=(((f[m+100>>2]|0)-(f[m+96>>2]|0)|0)/12|0)*3|0;qi(n,m,((m|0)<0)<<31>>31,1)|0;m=a+68|0;c=f[m>>2]|0;d=(f[a+72>>2]|0)-c|0;if((d|0)<=0){Of(n);return}l=a+48|0;j=a+44|0;a=(d>>>2)+-1|0;while(1){c=f[c+(a<<2)>>2]|0;d=f[3396+(c<<2)>>2]|0;i=l;g=f[i+4>>2]|0;if((g|0)>0|(g|0)==0&(f[i>>2]|0)>>>0>0?(k=f[j>>2]|0,171>>>c&1|0):0){i=k+4|0;e=f[i>>2]|0;g=0;do{o=e>>>3;p=e&7;q=(f[k>>2]|0)+o|0;b[q>>0]=(h[q>>0]|0)&(1<>2]|0)+o|0;b[o>>0]=h[o>>0]|0|(c>>>g&1)<>2]|0)+1|0;f[i>>2]=e;g=g+1|0}while((g|0)!=(d|0))}a=a+-1|0;if((a|0)<=-1)break;c=f[m>>2]|0}Of(n);return}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=f[k>>2]|0;l=a+4|0;h=f[l>>2]|0;g=h;if(e-h>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[l>>2]=g+(b<<2);return}d=f[a>>2]|0;g=(h-d>>2)+b|0;if(g>>>0>1073741823){Wo(a);d=f[a>>2]|0;e=f[k>>2]|0;j=f[l>>2]|0}else j=h;i=e-d|0;e=i>>1;g=i>>2>>>0<536870911?(e>>>0>>0?g:e):1073741823;e=j-d>>2;do if(g)if(g>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}else{h=_m(g<<2)|0;break}else h=0;while(0);i=h+(e<<2)|0;h=h+(g<<2)|0;e=i;g=b;while(1){f[e>>2]=f[c>>2];g=g+-1|0;if(!g)break;else e=e+4|0}g=j-d|0;e=i+(0-(g>>2)<<2)|0;if((g|0)>0)Eg(e|0,d|0,g|0)|0;f[a>>2]=e;f[l>>2]=i+(b<<2);f[k>>2]=h;if(!d)return;mq(d);return}function Qg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;m=p;o=a+40|0;f[a+44>>2]=g;k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;i=g-d|0;if((i|0)<=0){u=p;return 1}l=a+8|0;j=a+48|0;a=g;g=(i>>>2)+-1|0;while(1){if(a-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Gb(o,n,b,g);i=X(g,e)|0;Xh(l,b+(i<<2)|0,j,c+(i<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;e=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(e-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=f[a>>2]|0;g=(c-d>>3)+b|0;if(g>>>0>536870911){Wo(a);d=f[a>>2]|0;e=f[i>>2]|0;c=f[j>>2]|0}h=e-d|0;e=h>>2;e=h>>3>>>0<268435455?(e>>>0>>0?g:e):536870911;c=c-d>>3;do if(e)if(e>>>0>536870911){j=Ha(4)|0;Pp(j);sa(j|0,1096,107)}else{d=_m(e<<3)|0;break}else d=0;while(0);h=d+(c<<3)|0;g=d+(e<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Eg(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;mq(c);return}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+8|0;g=h+4|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=zd(a,e,g,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=_m(40)|0;dl(e+16|0,d);dl(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}Je(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function Tg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))Fa(20527,20426,60,20517);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=hi(c,d)|0;if((b|0)==-2)b=0;else{do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ue(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_m(24)|0;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b>>2]=2432}f[a>>2]=b;return}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;d=f[j>>2]|0;k=a+4|0;g=f[k>>2]|0;e=g;if(d-g>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[k>>2]=e+(b<<2);return}c=f[a>>2]|0;e=(g-c>>2)+b|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[j>>2]|0;i=f[k>>2]|0}else i=g;h=d-c|0;d=h>>1;e=h>>2>>>0<536870911?(d>>>0>>0?e:d):1073741823;d=i-c>>2;do if(e)if(e>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}else{g=_m(e<<2)|0;break}else g=0;while(0);h=g+(d<<2)|0;g=g+(e<<2)|0;d=h;e=b;while(1){f[d>>2]=1;e=e+-1|0;if(!e)break;else d=d+4|0}e=i-c|0;d=h+(0-(e>>2)<<2)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=h+(b<<2);f[j>>2]=g;if(!c)return;mq(c);return}function Vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;d=a+4|0;i=f[d>>2]|0;i=(f[i+12>>2]|0)-(f[i+8>>2]|0)|0;b=i>>2;a:do if((i|0)>0){c=0;while(1){if(!(Va[f[(f[a>>2]|0)+36>>2]&127](a,c)|0)){b=0;break}c=c+1|0;b=f[d>>2]|0;b=(f[b+12>>2]|0)-(f[b+8>>2]|0)>>2;if((c|0)>=(b|0))break a}return b|0}while(0);i=a+20|0;e=a+24|0;c=f[e>>2]|0;d=f[i>>2]|0;g=c-d>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=d+(b<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else gi(i,b-g|0);c=f[a+12>>2]|0;b=f[a+8>>2]|0;a=b;if((c|0)==(b|0)){i=1;return i|0}h=c-b>>2;g=0;do{c=f[a+(g<<2)>>2]|0;b=f[c+8>>2]|0;c=f[c+4>>2]|0;d=c;if((b|0)!=(c|0)){e=f[i>>2]|0;c=b-c>>2;b=0;do{f[e+(f[d+(b<<2)>>2]<<2)>>2]=g;b=b+1|0}while(b>>>0>>0)}g=g+1|0}while(g>>>0>>0);b=1;return b|0}function Wg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=a+4|0;f[h>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);c=f[c+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);c=(Kh(c,i)|0)==0;_n(i);d=f[(f[h>>2]|0)+48>>2]|0;if(c){i=(bj(d)|0)>5&1;b[a+352>>0]=i;u=j;return 1}else{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);h=(Pj(d,i,0)|0)&1;b[a+352>>0]=h;_n(i);u=j;return 1}return 0}function Xg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;m=p;o=a+40|0;f[a+44>>2]=g;k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;i=g-d|0;if((i|0)<=0){u=p;return 1}l=a+8|0;j=a+48|0;a=g;g=(i>>>2)+-1|0;while(1){if(a-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Eb(o,n,b,g);i=X(g,e)|0;Xh(l,b+(i<<2)|0,j,c+(i<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function Yg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=a+4|0;f[h>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);c=f[c+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);c=(Kh(c,i)|0)==0;_n(i);d=f[(f[h>>2]|0)+48>>2]|0;if(c){i=(bj(d)|0)>5&1;b[a+288>>0]=i;u=j;return 1}else{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);h=(Pj(d,i,0)|0)&1;b[a+288>>0]=h;_n(i);u=j;return 1}return 0}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;k=o+4|0;l=o;f[a>>2]=1216;n=a+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;f[n+24>>2]=0;f[n+28>>2]=0;f[k>>2]=b;n=a+4|0;m=a+8|0;zi(n,k);c=f[k>>2]|0;h=a+20|0;d=f[h>>2]|0;i=a+16|0;b=f[i>>2]|0;g=d-b>>2;if((c|0)<(g|0)){k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}e=c+1|0;f[l>>2]=-1;a=d;if(e>>>0<=g>>>0){if(e>>>0>>0?(j=b+(e<<2)|0,(a|0)!=(j|0)):0)f[h>>2]=a+(~((a+-4-j|0)>>>2)<<2)}else{Pg(i,e-g|0,l);c=f[k>>2]|0;b=f[i>>2]|0}k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}function _g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;c=f[m>>2]|0;d=f[a>>2]|0;g=((c-d|0)/12|0)+1|0;if(g>>>0>357913941){Wo(a);c=f[m>>2]|0;d=f[a>>2]|0}k=d;e=c;l=a+8|0;j=((f[l>>2]|0)-d|0)/12|0;i=j<<1;g=j>>>0<178956970?(i>>>0>>0?g:i):357913941;i=(c-d|0)/12|0;do if(g)if(g>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{h=_m(g*12|0)|0;break}else h=0;while(0);c=h+(i*12|0)|0;j=h+(g*12|0)|0;f[c>>2]=f[b>>2];f[h+(i*12|0)+4>>2]=f[b+4>>2];f[h+(i*12|0)+8>>2]=f[b+8>>2];g=c+12|0;if((e|0)!=(k|0))do{b=e;e=e+-12|0;f[c+-12>>2]=f[e>>2];f[c+-8>>2]=f[b+-8>>2];f[c+-4>>2]=f[b+-4>>2];c=c+-12|0}while((e|0)!=(k|0));f[a>>2]=c;f[m>>2]=g;f[l>>2]=j;if(!d)return;mq(d);return}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+88|0;Pc(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;a=a+88|0;Pc(a,b);u=j;return 1}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;d=e;if(!(Yk(a,b,c)|0)){a=0;u=e;return a|0}if((Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){a=0;u=e;return a|0}b=Th(c,f[b+48>>2]|0)|0;Sa[f[(f[a>>2]|0)+48>>2]&15](d,a,b);b=a+36|0;g=f[d>>2]|0;f[d>>2]=0;c=f[b>>2]|0;f[b>>2]=g;if(c){Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c)}else f[d>>2]=0;c=f[b>>2]|0;if(!c){g=1;u=e;return g|0}if(Va[f[(f[a>>2]|0)+36>>2]&127](a,c)|0){g=1;u=e;return g|0}c=f[b>>2]|0;f[b>>2]=0;if(!c){g=1;u=e;return g|0}Oa[f[(f[c>>2]|0)+4>>2]&127](c);g=1;u=e;return g|0}function bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;qh(a+12|0);an(a+1036|0);Tn(a+1068|0);Tn(a+1088|0);Tn(a+1108|0);f[i>>2]=0;Jj(a+1128|0,b,i);f[i>>2]=0;Jj(a+1140|0,b,i);f[i>>2]=0;Jj(a+1152|0,b,i);g=b<<5|1;f[h>>2]=0;Jj(i,b,h);Gj(a+1164|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}f[h>>2]=0;Jj(i,b,h);Gj(a+1176|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);u=j;return}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+4|0;g=j;i=j+8|0;e=a&255;b[i>>0]=e&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=e|-128;e=d+16|0;k=f[e+4>>2]|0;if((k|0)>0|(k|0)==0&(f[e>>2]|0)>>>0>0){a=0;break}else{f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ie(d,h,i,i+1|0)|0;a=yn(a|0,c|0,7)|0;a=ch(a,I,d)|0;break}}else{k=d+16|0;e=f[k+4>>2]|0;if((e|0)>0|(e|0)==0&(f[k>>2]|0)>>>0>0){a=0;break}f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ie(d,h,i,i+1|0)|0;k=1;u=j;return k|0}while(0);k=a;u=j;return k|0}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Sa[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);mq(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}mq(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function eh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;i=g+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=g+20|0;f[i>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;ki(i,8);g=e+16|0;j=g;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=f[i>>2]|0;i=e;b[i>>0]=j;b[i+1>>0]=j>>8;b[i+2>>0]=j>>16;b[i+3>>0]=j>>24;e=e+4|0;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+108|0;Pc(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;a=a+108|0;Pc(a,b);u=j;return 1}function gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((Kb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=sq(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=Kb(a,c,m,p,q)|0;if(d){Ma[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=Kb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)rq(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function hh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Ko(m,e,0)|0){f[o+48>>2]=1;Ua[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Na[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function ih(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=$(g);var h=0,i=0,j=0;h=u;u=u+16|0;j=h;i=h+4|0;f[j>>2]=b;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17755,17);hj(xd(a,j)|0,i,c);_n(i);f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17698,19);ci(xd(a,j)|0,i,e,d);_n(i);f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17718,18);aj(xd(a,j)|0,i,g);_n(i);u=h;return}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{gi(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(Xb(a,n)|0)){a=0;u=o;return a|0}Hb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;g=h;if((c|0)<0|((b|0)==0|(d|0)==0)){d=0;u=h;return d|0}a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0)){d=0;u=h;return d|0}e=b+4|0;if(!(f[e>>2]|0)){i=_m(52)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);j=i+20|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[i+36>>2]=$(1.0);f[i+40>>2]=0;f[i+44>>2]=0;f[i+48>>2]=0;f[b+4>>2]=i}if((c|0)<=-1)Fa(20410,20426,67,20517);a=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;j=_m(44)|0;Qb(j,d);f[j+40>>2]=a;a=f[e>>2]|0;f[g>>2]=j;Yj(a,g)|0;a=f[g>>2]|0;f[g>>2]=0;if(!a){j=1;u=h;return j|0}Gi(a);mq(a);j=1;u=h;return j|0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){wf(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;mq(d)}mq(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;mq(d)}mq(c)}mq(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function mh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{gi(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Nd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+20>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Nd(a,b);return}function oh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)So(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{eo(a,d,(e&255)+1|0)|0;mq(d);g=15}}else{c=_m(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{eo(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){eo(c,d,(f[a+4>>2]|0)+1|0)|0;mq(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function ph(a){a=a|0;oj(a+992|0);oj(a+960|0);oj(a+928|0);oj(a+896|0);oj(a+864|0);oj(a+832|0);oj(a+800|0);oj(a+768|0);oj(a+736|0);oj(a+704|0);oj(a+672|0);oj(a+640|0);oj(a+608|0);oj(a+576|0);oj(a+544|0);oj(a+512|0);oj(a+480|0);oj(a+448|0);oj(a+416|0);oj(a+384|0);oj(a+352|0);oj(a+320|0);oj(a+288|0);oj(a+256|0);oj(a+224|0);oj(a+192|0);oj(a+160|0);oj(a+128|0);oj(a+96|0);oj(a+64|0);oj(a+32|0);oj(a);return}function qh(a){a=a|0;an(a);an(a+32|0);an(a+64|0);an(a+96|0);an(a+128|0);an(a+160|0);an(a+192|0);an(a+224|0);an(a+256|0);an(a+288|0);an(a+320|0);an(a+352|0);an(a+384|0);an(a+416|0);an(a+448|0);an(a+480|0);an(a+512|0);an(a+544|0);an(a+576|0);an(a+608|0);an(a+640|0);an(a+672|0);an(a+704|0);an(a+736|0);an(a+768|0);an(a+800|0);an(a+832|0);an(a+864|0);an(a+896|0);an(a+928|0);an(a+960|0);an(a+992|0);return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i+12|0;d=i+8|0;c=i+4|0;e=i;h=(a|0)==(b|0);if(!h){f[c>>2]=f[b>>2];f[e>>2]=b+4;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a,d,g)}if(!h){f[c>>2]=f[b+12>>2];f[e>>2]=b+16;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Cc(a+12|0,d,g)}if(h){u=i;return}f[c>>2]=f[b+24>>2];f[e>>2]=b+28;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a+24|0,d,g);u=i;return}function sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=Lo(f[a+8>>2]|0,o)|0;e=Lo(f[a+12>>2]|0,o)|0;g=Lo(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=Lo(f[a+(g<<2)>>2]|0,o)|0;g=Lo(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Fl(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=Lo(f[a+(e<<2)>>2]|0,o)|0;e=Lo(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;Tn(a+12|0);Tn(a+32|0);Tn(a+52|0);Tn(a+72|0);f[i>>2]=0;Jj(a+92|0,b,i);f[i>>2]=0;Jj(a+104|0,b,i);f[i>>2]=0;Jj(a+116|0,b,i);g=b<<5|1;f[h>>2]=0;Jj(i,b,h);Gj(a+128|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}f[h>>2]=0;Jj(i,b,h);Gj(a+140|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);u=j;return}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;an(a+12|0);Tn(a+44|0);Tn(a+64|0);Tn(a+84|0);f[i>>2]=0;Jj(a+104|0,b,i);f[i>>2]=0;Jj(a+116|0,b,i);f[i>>2]=0;Jj(a+128|0,b,i);g=b<<5|1;f[h>>2]=0;Jj(i,b,h);Gj(a+140|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}f[h>>2]=0;Jj(i,b,h);Gj(a+152|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);u=j;return}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;be(g,a+40|0,f[a+8>>2]|0,b,c);Hi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}mq(d);u=e;return 1}function wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){md(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;md(a,b);return}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){sd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;sd(a,b);return}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Bd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Bd(a,b);return}function zh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Qd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Qd(a,b);return}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){nd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;nd(a,b);return}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){td(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;td(a,b);return}function Ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ed(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ed(a,b);return}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){od(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;od(a,b);return}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){ud(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ud(a,b);return}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Fd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Fd(a,b);return}function Gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Rd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Rd(a,b);return}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;zf(g,a+40|0,f[a+8>>2]|0,b,c);Hi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}mq(d);u=e;return 1}function Ih(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1392;e=a+72|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+60>>2]|0;if(b|0){d=a+64|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+48>>2]|0;if(b|0)mq(b);d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}mq(b)}f[a>>2]=1216;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function Jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=u;u=u+48|0;a=i+36|0;h=i+24|0;e=i+12|0;g=i;if(!b){b=0;u=i;return b|0}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;Kj(a,c,Tj(c)|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,d,Tj(d)|0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,c,Tj(c)|0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Kj(g,d,Tj(d)|0);Tm(b,e,g);_n(g);_n(e);_n(h);_n(a);b=1;u=i;return b|0}function Kh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=il(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=il(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))Fa(12729,11807,259,12753);d=f[c>>2]|0;if((d|0)>(e|0))Fa(12767,11807,260,12753);a=0-e|0;if((i|0)<(a|0))Fa(12791,11807,261,12753);if((d|0)<(a|0))Fa(12816,11807,262,12753);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function Mh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;b[g>>0]=a&127;do if(a>>>0>127){b[g>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){d=0;break}else{f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ie(c,e,g,g+1|0)|0;d=Mh(a>>>7,c)|0;break}}else{j=c+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){d=0;break}f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ie(c,e,g,g+1|0)|0;j=1;u=h;return j|0}while(0);j=d;u=h;return j|0}function Nh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;l=o+4|0;k=o;j=f[a+8>>2]|0;n=j+24|0;m=b[n>>0]|0;e=c+4|0;Af(a,(f[e>>2]|0)-(f[c>>2]|0)>>2,m,d);i=f[a+32>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;d=f[c>>2]|0;e=f[e>>2]|0;if((d|0)==(e|0)){n=1;u=o;return n|0}h=j+84|0;g=j+68|0;c=0;while(1){a=f[d>>2]|0;if(!(b[h>>0]|0))a=f[(f[g>>2]|0)+(a<<2)>>2]|0;f[k>>2]=a;a=b[n>>0]|0;f[l>>2]=f[k>>2];if(!(Mb(j,l,a,i+(c<<2)|0)|0)){d=0;a=7;break}d=d+4|0;if((d|0)==(e|0)){d=1;a=7;break}else c=c+m|0}if((a|0)==7){u=o;return d|0}return 0}function Oh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=_m(32)|0;f[a>>2]=h;f[a+4>>2]=c+8;k=a+8|0;b[k>>0]=0;j=h+8|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=h+20|0;l=e+12|0;f[j>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;h=l+11|0;g=b[h>>0]|0;i=e+16|0;e=f[i>>2]|0;c=g<<24>>24<0?e:g&255;if(!c)c=0;else{ki(j,c);g=b[h>>0]|0;e=f[i>>2]|0;c=f[j>>2]|0}j=g<<24>>24<0;Eg(c|0,(j?f[l>>2]|0:l)|0,(j?e:g&255)|0)|0;b[k>>0]=1;a=f[a>>2]|0;f[a+4>>2]=d;f[a>>2]=0;return}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;b=f[b>>2]|0;if((b|0)==-1073741824){h=-1;return h|0}g=f[(f[a+24>>2]|0)+(b<<2)>>2]|0;if((g|0)<0){h=0;return h|0}e=a+12|0;b=0;d=0;a=g;a:while(1){while(1){b=b+1|0;if(d){h=10;break}c=a+1|0;a=((c|0)%3|0|0)==0?a+-2|0:c;if((a|0)<0){a=g;break}c=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=c+1|0;if((c|0)<0){a=g;break}a=((a|0)%3|0|0)==0?c+-2|0:a;if((a|0)<0){a=g;break}if((a|0)==(g|0)){h=16;break a}}do if((h|0)==10){h=0;a=(((a>>>0)%3|0|0)==0?2:-1)+a|0;if((a|0)<0){h=16;break a}a=f[(f[e>>2]|0)+(a<<2)>>2]|0;if((a|0)<0){h=16;break a}if(!((a>>>0)%3|0)){a=a+2|0;break}else{a=a+-1|0;break}}while(0);if((a|0)<0){h=16;break}else d=1}if((h|0)==16)return b|0;return 0}function Qh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;dl(g+8|0,e);j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Eg(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}ki(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Eg(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function Rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){rd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;rd(a,b);return}function Sh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;k=n+4|0;j=n;l=n+8|0;if(!(Yd(a,c)|0)){m=0;u=n;return m|0}m=a+36|0;e=a+40|0;a=f[m>>2]|0;if((f[e>>2]|0)==(a|0)){m=1;u=n;return m|0}i=c+16|0;g=c+4|0;h=l+1|0;d=0;do{a=f[a+(d<<2)>>2]|0;a=Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[l>>0]=a;a=i;o=f[a+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[a>>2]|0)>>>0>0)){f[j>>2]=f[g>>2];f[k>>2]=f[j>>2];Ie(c,k,l,h)|0}d=d+1|0;a=f[m>>2]|0}while(d>>>0<(f[e>>2]|0)-a>>2>>>0);a=1;u=n;return a|0}function Th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;i=k;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17650,17);g=b+16|0;d=f[g>>2]|0;if(d){c=g;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(a|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if(((c|0)!=(g|0)?(h=c+20|0,(f[c+16>>2]|0)<=(a|0)):0)?(Kh(h,i)|0)!=0:0)b=h;else j=9}else j=9;j=Ck(b,i,-1)|0;_n(i);u=k;return ((j|0)==-1?-1:j>>>0>6?-2:j)|0}function Uh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}mq(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;mq(b);return}function Vh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}mq(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}mq(b);return}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+48|0;e=g;d=g+32|0;if(!b){e=0;u=g;return e|0}jn(e);if((($l(b,0)|0)!=-1?Ra[f[(f[b>>2]|0)+16>>2]&127](b)|0:0)?(Oa[f[(f[b>>2]|0)+20>>2]&127](b),Ag(d,a,b,e),a=(f[d>>2]|0)==0,_n(d+4|0),a):0){a=f[e>>2]|0;d=e+4|0;mf(c,a,a+((f[d>>2]|0)-a)|0);d=(f[d>>2]|0)-(f[e>>2]|0)|0}else d=0;a=e+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);b=f[e>>2]|0;if(b|0){c=e+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;mq(b)}e=d;u=g;return e|0}function Xh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+16|0;i=m+8|0;j=m;h=f[c>>2]|0;l=f[a+12>>2]<<1;if((h|0)>(l|0))Fa(12112,12157,81,12335);e=f[c+4>>2]|0;if((e|0)>(l|0))Fa(12353,12157,82,12335);g=f[b>>2]|0;if((g|0)>(l|0))Fa(12398,12157,83,12335);c=f[b+4>>2]|0;if((c|0)>(l|0))Fa(12443,12157,84,12335);if((h|0)<=-1)Fa(12488,12157,85,12335);if((e|0)<=-1)Fa(12510,12157,86,12335);if((g|0)<=-1)Fa(12532,12157,87,12335);if((c|0)>-1){f[i>>2]=g;f[i+4>>2]=c;f[j>>2]=h;f[j+4>>2]=e;Ge(k,a,i,j);f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];u=m;return}else Fa(12554,12157,88,12335)}function Yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function Zh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+12|0;g=f[e>>2]|0;f[e>>2]=0;if(!g){_n(a);return}b=f[g+28>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;Zh(e+8|0);mq(e)}while((b|0)!=0);e=g+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)mq(b);b=f[g+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}_n(e+8|0);mq(e)}while((b|0)!=0);b=f[g>>2]|0;f[g>>2]=0;if(b|0)mq(b);mq(g);_n(a);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;u=j;return 1}function $h(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=((d-c|0)/12|0)+1|0;if(e>>>0>357913941){Wo(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=((f[j>>2]|0)-c|0)/12|0;h=i<<1;h=i>>>0<178956970?(h>>>0>>0?e:h):357913941;e=(d-c|0)/12|0;do if(h)if(h>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h*12|0)|0;break}else i=0;while(0);g=i+(e*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];e=d-c|0;d=g+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+12;f[j>>2]=i+(h*12|0);if(!c)return;mq(c);return}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;g=h;e=b+96|0;c=b+100|0;vj(g,((f[c>>2]|0)-(f[e>>2]|0)|0)/12|0);b=f[e>>2]|0;c=(f[c>>2]|0)-b|0;if((c|0)>0){e=f[g>>2]|0;d=(c|0)/12|0;c=0;do{j=f[b+(c*12|0)+4>>2]|0;i=f[b+(c*12|0)+8>>2]|0;f[e+(c*12|0)>>2]=f[b+(c*12|0)>>2];f[e+(c*12|0)+4>>2]=j;f[e+(c*12|0)+8>>2]=i;c=c+1|0}while((c|0)<(d|0))}jk(a,g);d=f[g>>2]|0;if(!d){u=h;return}c=g+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);mq(d);u=h;return}function bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)Wo(i);l=((b+-1|0)>>>5)+1|0;k=_m(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;ug(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)mq(b);u=j;return}function ci(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;l=u;u=u+32|0;j=l+12|0;k=l;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((e|0)>0){g=k+11|0;h=k+4|0;i=0;do{if((i|0)>0)en(j,17737)|0;_k(k,$(n[d+(i<<2)>>2]));m=b[g>>0]|0;o=m<<24>>24<0;Ni(j,o?f[k>>2]|0:k,o?f[h>>2]|0:m&255)|0;_n(k);i=i+1|0}while((i|0)<(e|0))}Ul(ni(a,c)|0,j)|0;_n(j);u=l;return}function di(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3552;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);c=a+140|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[a+164>>2]=-1;c=a+168|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;an(a+200|0);jn(a+232|0);c=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[c>>2]=-1;f[a+320>>2]=-1073741824;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;u=j;return 1}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;i=l;if((Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){k=1;u=l;return k|0}j=a+4|0;g=a+20|0;h=a+24|0;e=a+16|0;d=0;while(1){c=f[(f[j>>2]|0)+4>>2]|0;c=$l(c,Va[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;f[i>>2]=c;if((c|0)==-1)break;a=f[g>>2]|0;if((a|0)==(f[h>>2]|0))zi(e,i);else{f[a>>2]=c;f[g>>2]=a+4}al(f[j>>2]|0,f[i>>2]|0)|0;d=d+1|0;if((d|0)>=(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;k=9;break}}if((k|0)==9){u=l;return a|0}k=0;u=l;return k|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;d=f[k>>2]|0;j=a+4|0;e=f[j>>2]|0;if(d-e>>2>>>0>=b>>>0){Xi(e|0,0,b<<2|0)|0;f[j>>2]=e+(b<<2);return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[k>>2]|0;e=f[j>>2]|0}d=d-c|0;h=d>>1;h=d>>2>>>0<536870911?(h>>>0>>0?g:h):1073741823;d=e-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h<<2)|0;break}else i=0;while(0);g=i+(d<<2)|0;Xi(g|0,0,b<<2|0)|0;e=e-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[j>>2]=g+(b<<2);f[k>>2]=i+(h<<2);if(!c)return;mq(c);return}function hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+48|0;if((bj(f[e>>2]|0)|0)>9){e=0;return e|0}if((Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){e=0;return e|0}d=b+4|0;b=f[d>>2]|0;if((a|0)<=-1)Fa(20410,20426,59,20517);c=f[b+8>>2]|0;if(((f[b+12>>2]|0)-c>>2|0)<=(a|0))Fa(20527,20426,60,20517);c=(f[c+(a<<2)>>2]|0)+56|0;b=f[c>>2]|0;do if((b|0)==3)if((bj(f[e>>2]|0)|0)<4){e=5;return e|0}else{b=f[c>>2]|0;break}while(0);c=bj(f[e>>2]|0)|0;if((b|0)==1){e=(c|0)<4?6:0;return e|0}if((c|0)>7){e=0;return e|0}if((bj(f[e>>2]|0)|0)>1){e=1;return e|0}else return ((f[(f[d>>2]|0)+80>>2]|0)<40?1:4)|0;return 0}function ii(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;i=g+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=g+20|0;f[i>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;ki(i,4);g=e+12|0;e=f[i>>2]|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function ji(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+32|0;Pc(a,h);c=a+80|0;b=f[c>>2]|0;if((b|0?(d=a+84|0,(f[d>>2]|0)>0):0)?(Pc(b,h),(f[d>>2]|0)>1):0){b=1;do{Pc((f[c>>2]|0)+(b<<5)|0,h);b=b+1|0}while((b|0)<(f[d>>2]|0))}g=a+136|0;e=a+140|0;b=f[g>>2]|0;if((f[e>>2]|0)==(b|0))return;a=0;do{Mh((f[b+(a*12|0)+4>>2]|0)-(f[b+(a*12|0)>>2]|0)>>2,h)|0;b=f[g>>2]|0;c=f[b+(a*12|0)>>2]|0;d=(f[b+(a*12|0)+4>>2]|0)-c>>2;if(d){Nc(c,d,1,h)|0;b=f[g>>2]|0}a=a+1|0}while(a>>>0<(((f[e>>2]|0)-b|0)/12|0)>>>0);return}function ki(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((g-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}e=f[a>>2]|0;h=d-e+c|0;if((h|0)<0){Wo(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=g-e|0;g=i<<1;g=i>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if(!g)h=0;else h=_m(g)|0;i=h+(d-e)|0;h=h+g|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Eg(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;mq(d);return}function li(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)So(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=_m(l)|0;if(g|0)eo(k,m,g)|0;if(i|0)eo(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)eo(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)mq(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;_o(k+m|0,n);u=o;return}function mi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(pl(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Ma[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Ma[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Eg(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=xg(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=_m(40)|0;dl(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}Je(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)Fa(19425,7898,49,19550);if((b|0)<=0)Fa(19579,7898,50,19550);j=a+16|0;g=f[j>>2]|0;h=32-g|0;e=32-b|0;c=c<>2]|0;if((h|0)<(b|0)){g=c>>>e;e=b-h|0;f[j>>2]=e;e=g>>>e|d;f[i>>2]=e;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))zi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=g<<32-(f[j>>2]|0);return}e=d|c>>>g;f[i>>2]=e;b=g+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))zi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=0;f[j>>2]=0;return}function pi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+136|0;b=f[g>>2]|0;if(b|0){h=a+140|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+92>>2]|0;if(!b){Zi(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);Zi(a);return}function qi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=a+16|0;j=g;i=f[j+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)){a=0;return a|0}b[a+24>>0]=e&1;l=Zn(c|0,d|0,7,0)|0;l=kk(l|0,I|0,8,0)|0;d=I;h=g;f[h>>2]=l;f[h+4>>2]=d;h=a+4|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c|0;j=Zn(i|0,0,8,0)|0;j=e?j:i;d=Zn(j|0,(e?I:0)|0,l|0,d|0)|0;if(d>>>0<=i>>>0){if(d>>>0>>0?(k=c+d|0,(g|0)!=(k|0)):0)f[h>>2]=k}else{ki(a,d-i|0);c=f[a>>2]|0}k=_m(8)|0;f[k>>2]=c+j;f[k+4>>2]=0;l=a+12|0;c=f[l>>2]|0;f[l>>2]=k;if(!c){l=1;return l|0}mq(c);l=1;return l|0}function ri(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+64|0;j=i;Al(j);h=f[h+56>>2]|0;c=X(Ql(5)|0,e)|0;qj(j,h,0,e&255,5,0,c,((c|0)<0)<<31>>31,0,0);c=_m(96)|0;ql(c,j);f[a>>2]=c;gj(c,d)|0;if(!g){u=i;return}b[c+84>>0]=0;d=c+68|0;a=c+72|0;e=f[a>>2]|0;c=f[d>>2]|0;h=e-c>>2;if(h>>>0>>0){Pg(d,g-h|0,1200);u=i;return}if(h>>>0<=g>>>0){u=i;return}c=c+(g<<2)|0;if((e|0)==(c|0)){u=i;return}f[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);u=i;return}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ud(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ud(a,b);return}function ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=u;u=u+16|0;e=h;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17739,15);g=Ck(b,e,-1)|0;_n(e);switch(g|0){case -1:{if((bj(b)|0)==10)g=4;else g=3;break}case 1:{g=3;break}default:g=4}if((g|0)==3){e=_m(60)|0;oo(e)}else if((g|0)==4){e=_m(56)|0;Zo(e)}Wn(e,c);pd(a,e,b,d);Oa[f[(f[e>>2]|0)+4>>2]&127](e);u=h;return}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/108|0;if(d>>>0>>0){ce(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*108|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-108;c=f[e+-20>>2]|0;if(c|0){d=e+-16|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}c=f[e+-32>>2]|0;if(c|0){d=e+-28|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}xj(e+-104|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function vi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Xm()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1756];wn(23427,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Ma[f[(f[258]|0)+16>>2]&31](1032,d,e)|0;b=f[1756]|0;if(d){i=f[e>>2]|0;i=Ra[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;wn(23341,g)}else{f[i>>2]=b;f[i+4>>2]=a;wn(23386,i)}}wn(23465,h)}function wi(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0.0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=c+11|0;g=b[i>>0]|0;if(g<<24>>24<0)e=f[c+4>>2]|0;else e=g&255;h=+d;while(1){if(g<<24>>24<0)g=f[c>>2]|0;else g=c;p[j>>3]=h;g=fn(g,e+1|0,23338,j)|0;if((g|0)>-1)if(g>>>0>e>>>0)e=g;else break;else e=e<<1|1;sj(c,e,0);g=b[i>>0]|0}sj(c,g,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=k;return}function xi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1336;d=a+32|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}mq(e)}d=f[a+16>>2]|0;if(!d)return;c=a+20|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function yi(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+4>>2]=3508;b=f[a+24>>2]|0;if(b|0)mq(b);b=f[a+12>>2]|0;if(!b)return;mq(b);return}function zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=(f[j>>2]|0)-c|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;e=d-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h<<2)|0;break}else i=0;while(0);g=i+(e<<2)|0;f[g>>2]=f[b>>2];e=d-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+4;f[j>>2]=i+(h<<2);if(!c)return;mq(c);return}function Ai(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=fn(e,g+1|0,23335,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;sj(c,g,0);e=b[h>>0]|0}sj(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function Bi(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(iq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=aq()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=aq()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Ci(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;Kg(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;Kg(a+12|0,j,d);yf(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,6052);Fj(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Fj(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function Di(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3352;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);g=a+140|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[a+164>>2]=-1;g=a+168|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;an(a+200|0);jn(a+232|0);g=a+264|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;b[g+24>>0]=0;return}function Ei(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=a+8|0;b=f[j>>2]|0;if((b|0)<0){j=0;return j|0}i=a+4|0;a=f[i>>2]|0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+(b<<2)|0,(d|0)!=(h|0)):0)f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2)}else{gi(a,b-g|0);b=f[j>>2]|0}if((b|0)>0)d=0;else{j=1;return j|0}do{a=f[i>>2]|0;c=f[a>>2]|0;if((f[a+4>>2]|0)-c>>2>>>0<=d>>>0){Vo(a);c=f[a>>2]|0;b=f[j>>2]|0}f[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(b|0));b=1;return b|0}function Fi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;Wk(a);g=a+84|0;b=f[g>>2]|0;if((b|0)<=0)return;d=b<<5;d=jq(b>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<5)|0;b=d;do{an(b);b=b+32|0}while((b|0)!=(c|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){c=a+-4|0;b=f[c>>2]|0;if(b|0){b=a+(b<<5)|0;do{b=b+-32|0;oj(b)}while((b|0)!=(a|0))}kq(c)}if((f[g>>2]|0)>0)b=0;else return;do{Wk((f[e>>2]|0)+(b<<5)|0);b=b+1|0}while((b|0)<(f[g>>2]|0));return}function Gi(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+28>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;e=c+20|0;d=f[e>>2]|0;f[e>>2]=0;if(d|0){Gi(d);mq(d)}_n(c+8|0);mq(c)}while((b|0)!=0);e=a+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)mq(b);b=f[a+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}_n(e+8|0);mq(e)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)return;mq(b);return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);mq(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}mq(d);return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;g=f[b+12>>2]|0;b=f[b+4>>2]|0;d=h;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));Cg(i,c,g,b,h);e=f[h+24>>2]|0;if(!e){i=f[i>>2]|0;f[a>>2]=i;u=j;return}d=h+28|0;b=f[d>>2]|0;if((b|0)!=(e|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);mq(e);i=f[i>>2]|0;f[a>>2]=i;u=j;return}function Ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}k=f[i>>2]|0;e=_m(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;mq(g);return}function Ki(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=6472;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=aq()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=gh(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function Li(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!b){e=0;return e|0}if(f[b+4>>2]|0){e=0;return e|0}a=_m(52)|0;Qb(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;d=b+4|0;e=f[d>>2]|0;f[d>>2]=a;if(!e){e=1;return e|0}a=e+40|0;b=f[a>>2]|0;if(b|0){d=e+44|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[d>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Gi(c);mq(c)}c=f[d>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}mq(b)}Gi(e);mq(e);g=1;return g|0}function Mi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;bo(e,c,d)|0;b[j>>0]=0;_o(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;li(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;j=a+11|0;e=b[j>>0]|0;i=e<<24>>24<0;if(i){h=f[a+4>>2]|0;e=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;e=10}g=h+d|0;if((e-h|0)>>>0>=d>>>0){if(d|0){if(i)e=f[a>>2]|0;else e=a;eo(e+h|0,c,d)|0;if((b[j>>0]|0)<0)f[a+4>>2]=g;else b[j>>0]=g;b[k>>0]=0;_o(e+g|0,k)}}else li(a,e,g-e|0,h,h,0,d,c);u=l;return a|0}function Oi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){cj(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;rn(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;_o(e+i|0,k)}u=l;return a|0}function Pi(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;d=a+104|0;j=f[d>>2]|0;if((j|0)!=0?(f[a+108>>2]|0)>=(j|0):0)k=4;else{c=Om(a)|0;if((c|0)>=0){e=f[d>>2]|0;d=a+8|0;if(e){i=f[d>>2]|0;j=f[a+4>>2]|0;d=a+108|0;e=e-(f[d>>2]|0)|0;g=i;if((i-j|0)<(e|0)){i=g;e=j}else{i=j+(e+-1)|0;e=j}}else{g=f[d>>2]|0;i=g;e=f[a+4>>2]|0;d=a+108|0}f[a+100>>2]=i;if(g|0)f[d>>2]=g+1-e+(f[d>>2]|0);d=e+-1|0;if((h[d>>0]|0|0)!=(c|0))b[d>>0]=c}else k=4}if((k|0)==4){f[a+100>>2]=0;c=-1}return c|0}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=$l(a,Va[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=$k(f[c>>2]|0,a)|0;d=d+1|0;if(!(Va[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function Ri(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}xj(c+-104|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}mq(b);return}function Si(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;Qo(a);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;Kj(c,17798,20);dj(a,c,1);_n(c);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;Kj(c,17819,22);dj(a,c,1);_n(c);u=b;return}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!(Jn(a,b,c)|0)){b=0;return b|0}if(!(Ra[f[(f[a>>2]|0)+52>>2]&127](a)|0)){b=0;return b|0}g=a+4|0;e=a+8|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){b=1;return b|0}d=a+36|0;a=0;while(1){h=f[(f[d>>2]|0)+(a<<2)>>2]|0;if(!(Ma[f[(f[h>>2]|0)+8>>2]&31](h,b,f[c+(a<<2)>>2]|0)|0)){c=0;a=7;break}a=a+1|0;c=f[g>>2]|0;if(a>>>0>=(f[e>>2]|0)-c>>2>>>0){c=1;a=7;break}}if((a|0)==7)return c|0;return 0}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;if(b){e=c+8|0;c=e;c=Zn(f[c>>2]|0,f[c+4>>2]|0,1,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0;d=a+24|0;f[d>>2]=f[d>>2]|1<>2]|0,f[d+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0}d=c+1|0;f[e>>2]=d;if((d|0)!=32)return;d=a+24|0;b=a+16|0;c=f[b>>2]|0;if((c|0)==(f[a+20>>2]|0))zi(a+12|0,d);else{f[c>>2]=f[d>>2];f[b>>2]=c+4}f[e>>2]=0;f[d>>2]=0;return}function Vi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3804;b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}mq(b);return}function Wi(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Ko(a,f[c+8>>2]|0,g)|0)){if(Ko(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else ym(0,c,d,e);while(0);return}function Xi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function Yi(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function Zi(a){a=a|0;var b=0,c=0,d=0;d=a+80|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<5)|0;do{b=b+-32|0;oj(b)}while((b|0)!=(c|0))}kq(d)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=a+44|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)mq(b);b=f[a+32>>2]|0;if(!b){oj(a);return}c=a+36|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;mq(b);oj(a);return}function _i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;d=g;e=f[b+36>>2]|0;if(!e){f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,18966,23);f[a>>2]=-1;dl(a+4|0,d);_n(d);u=g;return}d=f[b+40>>2]|0;if(!d){wd(a,b,e,c);u=g;return}else{ti(a,b,d,c);u=g;return}}function $i(a,b){a=a|0;b=b|0;if(!b)return;else{$i(a,f[b>>2]|0);$i(a,f[b+4>>2]|0);mj(b+20|0,f[b+24>>2]|0);mq(b);return}}function aj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0;g=u;u=u+16|0;e=g;_k(e,d);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}oh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;_n(e);u=g;return}function bj(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,17668,14);c=Ck(a,d,-1)|0;_n(d);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,17683,14);a=Ck(a,d,-1)|0;_n(d);a=(c|0)<(a|0)?a:c;u=b;return ((a|0)==-1?5:a)|0}function cj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)So(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=_m(k)|0;if(g|0)eo(j,l,g)|0;d=e-h-g|0;if(d|0)eo(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)mq(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function dj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;cl(e,d&1);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}oh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;_n(e);u=g;return}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Uf(a,b,c);d=f[a+96>>2]|0;a=(f[a+100>>2]|0)-d|0;if((a|0)<=0)return;b=f[b>>2]|0;c=(a>>>0)/12|0;a=0;do{e=d+(a*12|0)|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+4|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+8|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){ki(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else _f(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Zn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function gj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=_m(32)|0,hn(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;mq(e)}mq(d)}e=Ql(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Zm(e|0,d|0,c|0,0)|0;if(!(fj(i,0,g,I)|0)){i=0;return i|0}vk(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;cl(e,d);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}oh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;_n(e);u=g;return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(Ko(a,b,0)|0))if((b|0)!=0?(e=hh(b,1056,1040,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Wa[f[(f[e>>2]|0)+28>>2]&3](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17668,14);hj(a,e,b);_n(e);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17683,14);hj(a,e,c);_n(e);u=d;return}function kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+16|0;c=g;if(b|0){a=0;u=g;return a|0}b=_m(36)|0;lo(b,0);f[c>>2]=b;e=a+12|0;d=f[e>>2]|0;if(d>>>0<(f[a+16>>2]|0)>>>0){f[c>>2]=0;f[d>>2]=b;f[e>>2]=d+4}else pg(a+8|0,c);b=f[c>>2]|0;f[c>>2]=0;if(!b){a=1;u=g;return a|0}Oa[f[(f[b>>2]|0)+4>>2]&127](b);a=1;u=g;return a|0}function lj(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function mj(a,b){a=a|0;b=b|0;if(!b)return;else{mj(a,f[b>>2]|0);mj(a,f[b+4>>2]|0);_n(b+28|0);_n(b+16|0);mq(b);return}}function nj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!c){a=0;return a|0}d=c+40|0;g=c+44|0;Mh((f[g>>2]|0)-(f[d>>2]|0)>>2,b)|0;d=f[d>>2]|0;g=f[g>>2]|0;if((d|0)!=(g|0))do{e=f[d>>2]|0;if(e|0){Mh(f[e+40>>2]|0,b)|0;Qf(a,b,e)|0}d=d+4|0}while((d|0)!=(g|0));Qf(a,b,c)|0;a=1;return a|0}function oj(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e;d=c;f[d>>2]=0;f[d+4>>2]=0;Te(a,2,c);c=f[a+12>>2]|0;d=a+16|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}d=f[a>>2]|0;if(!d){u=e;return}c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-8-d|0)>>>3)<<3);mq(d);u=e;return}function pj(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;f=d-e|0;a=a+8|0;if((f|0)>0){d=0-e|0;do{g=b+(f<<2)|0;Xh(a,g,g+(d<<2)|0,c+(f<<2)|0);f=f-e|0}while((f|0)>0)}e=e>>>0>1073741823?-1:e<<2;g=jq(e)|0;Xi(g|0,0,e|0)|0;Xh(a,b,g,c);kq(g);return 1}function qj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function rj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}mq(a);return}function sj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;_o(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;_o(a+c|0,h);b[g>>0]=c;break}else Oi(a,c-e|0,d)|0;while(0);u=j;return}function tj(a,b){a=a|0;b=b|0;if(!b)return;else{tj(a,f[b>>2]|0);tj(a,f[b+4>>2]|0);mj(b+20|0,f[b+24>>2]|0);mq(b);return}}function uj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;a=f[a+4>>2]|0;if((a|0)==-1){g=0;u=h;return g|0}b[g>>0]=a;a=c+16|0;i=f[a+4>>2]|0;if(!((i|0)>0|(i|0)==0&(f[a>>2]|0)>>>0>0)){f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ie(c,e,g,g+1|0)|0}i=1;u=h;return i|0}function vj(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}d=_m(b*12|0)|0;f[c>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(b*12|0);a=d;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=(f[c>>2]|0)+12|0;f[c>>2]=a;b=b+-1|0}while((b|0)!=0);return}function wj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>536870911){Wo(a);e=Ha(4)|0;Pp(e);sa(e|0,1096,107)}g=_m(b<<3)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<3)|0;f[a+8>>2]=e;a=g;while(1){i=c;h=f[i+4>>2]|0;g=a;f[g>>2]=f[i>>2];f[g+4>>2]=h;b=b+-1|0;if(!b)break;else a=a+8|0}f[d>>2]=e;return}function xj(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+12>>2]|0;if(b|0)mq(b);b=f[a>>2]|0;if(!b)return;mq(b);return}function yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){Wo(a);h=Ha(4)|0;Pp(h);sa(h|0,1096,107)}g=_m(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Eg(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function zj(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}b=f[c+(b<<2)>>2]|0;if((b|0)<0){a=0;return a|0}c=a+48|0;if((f[a+52>>2]|0)>>>0<=b>>>0)De(c,b+1|0,0);c=(f[c>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(b&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=b>>>0){a=1;return a|0}ep(f[c+(b<<2)>>2]|0);a=1;return a|0}function Aj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(pl(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Ma[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Bj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;e=u;u=u+16|0;c=e+8|0;b=e+4|0;d=e;f[d>>2]=f[(f[a+4>>2]|0)+80>>2];a=f[a+44>>2]|0;g=a+16|0;h=f[g+4>>2]|0;if((h|0)>0|(h|0)==0&(f[g>>2]|0)>>>0>0){u=e;return 1}f[b>>2]=f[a+4>>2];f[c>>2]=f[b>>2];Ie(a,c,d,d+4|0)|0;u=e;return 1}function Cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;b=f[b>>2]|0;if((b|0)==-1073741824)return 1;c=(b|0)<0?-1073741824:b*3|0;if((c|0)<0)return 1;a=f[a>>2]|0;e=f[a+(c<<2)>>2]|0;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[a+(b<<2)>>2]|0;b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=f[a+(b<<2)>>2]|0;if((e|0)==(d|0))return 1;else return (e|0)==(b|0)|(d|0)==(b|0)|0;return 0}function Dj(a){a=a|0;if(!a)return;mj(a+24|0,f[a+28>>2]|0);$i(a+12|0,f[a+16>>2]|0);mj(a,f[a+4>>2]|0);mq(a);return}function Ej(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(sq(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Aj(c,a)|0;rq(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Aj(c,a)|0}while(0);return d|0}function Fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}j=(f[d>>2]|0)-c|0;h=j>>2;i=_m(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Eg(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;mq(c);return}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}e=_m(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{yj(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Hj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2116;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c){mq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);mq(a);return}function Ij(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1752;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c){mq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);mq(a);return}function Jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){Wo(a);e=Ha(4)|0;Pp(e);sa(e|0,1096,107)}g=_m(b<<2)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<2)|0;f[a+8>>2]=e;a=g;while(1){f[a>>2]=f[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}f[d>>2]=e;return}function Kj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h;if(d>>>0<=4294967279)if(d>>>0<11)b[a+11>>0]=d;else g=5;else{So(a);g=5}if((g|0)==5){i=d+16&-16;g=_m(i)|0;f[a>>2]=g;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;a=g}eo(a,c,d)|0;b[e>>0]=0;_o(a+d|0,e);u=h;return}function Lj(a){a=a|0;var b=0,c=0;f[a>>2]=2116;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Mj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Ep(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Nj(a){a=a|0;var b=0,c=0;f[a>>2]=1752;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+36|0;e=a+40|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){g=1;return g|0}d=a+60|0;a=c;c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Ma[f[(f[a>>2]|0)+20>>2]&31](a,d,b)|0)){a=0;c=5;break}a=f[g>>2]|0;if(c>>>0>=(f[e>>2]|0)-a>>2>>>0){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Pj(a,c,d){a=a|0;c=c|0;d=d|0;c=Dg(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Qj(a,b){a=+a;b=b|0;var c=0,d=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;c=(d|0)<-1022;b=b+2044|0;b=c?((b|0)>-1022?b:-1022):d;a=c?a*2.2250738585072014e-308:a}}else{a=a*8988465674311579538646525.0e283;c=b+-1023|0;d=(c|0)>1023;b=b+-2046|0;b=d?((b|0)<1023?b:1023):c;a=d?a*8988465674311579538646525.0e283:a}c=tn(b+1023|0,0,52)|0;d=I;f[s>>2]=c;f[s+4>>2]=d;return +(a*+p[s>>3])}function Rj(a){a=a|0;var b=0,c=0,d=0;if(!(f[a+80>>2]|0)){d=0;return d|0}d=a+8|0;c=a+12|0;a=f[d>>2]|0;if(((f[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(wl(a,a)|0)){a=0;b=5;break}a=f[d>>2]|0;if((b|0)>=((f[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function Sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+36|0;d=a+40|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Va[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){a=0;c=4;break}a=f[e>>2]|0;if(c>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;c=4;break}}if((c|0)==4)return a|0;return 0}function Tj(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Uj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a+176>>2]|0;a=f[a+172>>2]|0;g=a;if((d|0)==(a|0))return 0;e=(d-a|0)/108|0;d=0;while(1){if((f[g+(d*108|0)>>2]|0)==(c|0)){a=4;break}a=d+1|0;if(a>>>0>>0)d=a;else{a=6;break}}if((a|0)==4)return ((b[g+(d*108|0)+72>>0]|0)==0?0:g+(d*108|0)+4|0)|0;else if((a|0)==6)return 0;return 0}function Vj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3436;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3460;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Wj(a,b){a=a|0;b=b|0;var c=0;c=f[a+72>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+60;if(!(Ra[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}if(!(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Va[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Xj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;f[a+40>>2]=1180;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a>>2]=1460;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){xi(a);mq(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);mq(a);return}function Yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{vg(a+40|0,b);a=1;return a|0}return 0}function Zj(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+36|0;d=a+40|0;b=f[e>>2]|0;if((f[d>>2]|0)==(b|0)){e=1;return e|0}c=a+60|0;a=b;b=0;while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(Va[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){a=0;b=5;break}a=f[e>>2]|0;if(b>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;g=d;e=d+4|0;f[g>>2]=b;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17755,17);hj(xd(a,g)|0,e,c);_n(e);u=d;return}function $j(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=yn(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+$j(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function ak(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3484;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3508;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function bk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2172;b=f[a+76>>2]|0;if(b|0)mq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)kq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function ck(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0;e=u;u=u+16|0;a=e;if(!b){b=0;u=e;return b|0}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;Kj(a,c,Tj(c)|0);Rl(b,a,d);_n(a);b=1;u=e;return b|0}function dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=u;u=u+16|0;a=e;if(!b){b=0;u=e;return b|0}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;Kj(a,c,Tj(c)|0);Tl(b,a,d);_n(a);b=1;u=e;return b|0}function ek(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[21111+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=21199;e=5;break}}if((e|0)==2)if(!d)d=21199;else{a=21199;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return Ip(d,f[c+20>>2]|0)|0}function fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3436;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3460;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b)return;mq(b);return}function gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1808;b=f[a+76>>2]|0;if(b|0)mq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)kq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;f[a+40>>2]=1180;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a>>2]=1460;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){xi(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);return}function ik(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3484;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3508;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b)return;mq(b);return}function jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=_m(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=jh(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;lj(a);mq(a);return}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Dn(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return Dn((Ad(h,g,Dn(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function lk(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Bk(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function mk(a){a=a|0;var b=0,c=0;f[a>>2]=2172;b=f[a+76>>2]|0;if(b|0)mq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)kq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0;i=u;u=u+128|0;h=i;e=h;g=e+124|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=h+4|0;f[e>>2]=a;g=h+8|0;f[g>>2]=-1;f[h+44>>2]=a;f[h+76>>2]=-1;Lm(h,0);d=+Lc(h,c,1);c=(f[e>>2]|0)-(f[g>>2]|0)+(f[h+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=i;return +d}function ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Sm(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=Oo(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6024;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+84>>2]|0;if(!b){og(a);mq(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);og(a);mq(a);return}function qk(a){a=a|0;var c=0,d=0;d=a+74|0;c=b[d>>0]|0;b[d>>0]=c+255|c;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Ma[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;c=f[a>>2]|0;if(!(c&4)){d=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=d;f[a+4>>2]=d;c=c<<27>>31}else{f[a>>2]=c|32;c=-1}return c|0}function rk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Dc(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){dm(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function tk(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}d=a+8|0;a=a+44|0;while(1){e=f[(f[d>>2]|0)+(f[b>>2]<<2)>>2]|0;b=b+4|0;if(!(Va[f[(f[e>>2]|0)+20>>2]&127](e,f[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 uk(a){a=a|0;var b=0,c=0;f[a>>2]=1808;b=f[a+76>>2]|0;if(b|0)mq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)kq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function vk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function wk(a,c,d){a=a|0;c=c|0;d=$(d);c=Dg(a,c)|0;if((c|0)==(a+4|0))return $(d);c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;d=$(+gq(c));return $(d)}function xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){d=(c-d|0)/108|0;c=0;while(1){if((f[e+(c*108|0)>>2]|0)==(b|0))break;c=c+1|0;if(c>>>0>=d>>>0)break a}a=e+(c*108|0)+76|0;return a|0}while(0);a=a+40|0;return a|0}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){Wo(a);a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}d=b<<2;e=_m(d)|0;f[a>>2]=e;b=e+(b<<2)|0;f[a+8>>2]=b;Xi(e|0,0,d|0)|0;f[c>>2]=b;return}function zk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6024;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+84>>2]|0;if(!b){og(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);og(a);return}function Ak(a,c){a=a|0;c=c|0;c=Dg(a,c)|0;if((c|0)==(a+4|0)){a=0;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=((Mj(c)|0)+1|0)>>>0>1;return a|0}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else ki(a,b-g|0);a=a+24|0;h=a;h=Zn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Ck(a,c,d){a=a|0;c=c|0;d=d|0;c=Dg(a,c)|0;if((c|0)==(a+4|0)){a=d;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;return a|0}function Dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2228;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Ek(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1864;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Fk(a){a=a|0;var b=0;f[a>>2]=2964;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2284;oj(a+108|0);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1216;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+4>>2]|0;if(!b){mq(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Ik(a){a=a|0;var b=0;f[a>>2]=2600;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Jk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Ko(a,f[b+8>>2]|0,g)|0)Yi(0,b,c,d,e);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Kk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1920;oj(a+108|0);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Lk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function Mk(a){a=a|0;var b=0,c=0;f[a>>2]=2228;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Nk(a){a=a|0;var b=0;f[a>>2]=2964;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b)return;mq(b);return}function Ok(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;sj(a,c,0);return}function Pk(a){a=a|0;var b=0,c=0;f[a>>2]=1864;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Qk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1216;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function Rk(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Xi(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{zo(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}zo(a,f,e)}u=g;return}function Sk(a){a=a|0;var b=0;f[a>>2]=2600;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b)return;mq(b);return}function Tk(a){a=a|0;var b=0,c=0;f[a>>2]=2284;oj(a+108|0);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function Uk(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Vk(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,17739,15);hj(a,d,b);_n(d);u=c;return}function Wk(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e;d=b;f[d>>2]=0;f[d+4>>2]=0;Te(a,2,b);b=f[a+12>>2]|0;d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+24>>2]=0;f[a+28>>2]=0;u=e;return}function Xk(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}c=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;b=f[c+32>>2]|0;if(b|0){a=b;return a|0}a=f[c+8>>2]|0;return a|0}function Yk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else Fa(20527,20426,60,20517);return 0}function Zk(a){a=a|0;var b=0,c=0;f[a>>2]=1920;oj(a+108|0);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function _k(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;Ok(d);wi(a,d,b);_n(d);u=c;return}function $k(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Va[f[(f[c>>2]|0)+36>>2]&127](c,b)|0;return c|0}function al(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Va[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ko(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function cl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Ok(d);Ai(a,d,b);_n(d);u=c;return}function dl(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0)Kj(a,f[c>>2]|0,f[c+4>>2]|0);else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}return}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((co(Ca(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function fl(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function gl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function hl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){a=-1;return a|0}d=f[d+(b<<2)>>2]|0;if((d|0)<0){a=-1;return a|0}a=f[(f[(f[(f[a+36>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return a|0}function il(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function jl(a){a=a|0;var b=0,c=0,d=0;c=f[a>>2]|0;d=a+4|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+12>>2]=0;f[a+16>>2]=0;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function kl(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;a=(f[a+20>>2]|0)-(f[a+16>>2]|0)>>2;return a|0}function ll(a){a=a|0;if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}a=(f[a+36>>2]|0)!=0;return a|0}function ml(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;Zg(a,c);f[a>>2]=1392;d=a+72|0;c=a+36|0;a=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(a|0));a=f[b>>2]|0;f[b>>2]=0;f[d>>2]=a;return}function nl(a){a=a|0;var b=0,c=0;f[a>>2]=3020;b=f[a+56>>2]|0;if(b|0)mq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){mq(a);return}kq(b);mq(a);return}function ol(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function pl(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function ql(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function rl(a){a=a|0;var b=0,c=0;f[a>>2]=2656;b=f[a+56>>2]|0;if(b|0)mq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){mq(a);return}kq(b);mq(a);return}function sl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=e-c|0;if(b>>>0>d>>>0){ki(a,b-d|0);return}if(b>>>0>=d>>>0)return;c=c+b|0;if((e|0)==(c|0))return;f[g>>2]=c;return}function tl(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function ul(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;jf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function vl(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;va(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;va(12);return -1}return b|0}function wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];a=$b(a,b,d)|0;u=c;return a|0}function xl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function yl(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(sq(d)|0)==0;a=mi(a,e,d)|0;if(!g)rq(d)}else a=mi(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function Al(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Bl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Cl(a,b){a=a|0;b=b|0;if(!(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Va[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Dl(a){a=a|0;var b=0;f[a>>2]=3020;b=f[a+56>>2]|0;if(b|0)mq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;kq(b);return}function El(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+40>>2]=c;a=1;return a|0}function Fl(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a+8>>2]=b;f[a+12>>2]=0;jn(a+16|0);f[a+48>>2]=d;if(d>>>0<7){f[a>>2]=c;n[a+4>>2]=$(0.0);return}else Fa(20199,20227,38,20356)}function Hl(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Ko(a,f[b+8>>2]|0,g)|0)Yi(0,b,c,d,e);return}function Il(a){a=a|0;var b=0;f[a>>2]=2656;b=f[a+56>>2]|0;if(b|0)mq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;kq(b);return}function Jl(a){a=a|0;var b=0,c=0;f[a>>2]=1460;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){xi(a);mq(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);mq(a);return}function Kl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Ll(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Ml(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Kg(a+20|0,e,d);u=c;return}function Nl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+60>>2]=c;a=1;return a|0}function Ol(){var a=0,b=0;a=_m(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Pl(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Kg(a+20|0,e,d);u=c;return}function Ql(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 Rl(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;fc(a,b,e);u=d;return}function Sl(a){a=a|0;f[a>>2]=3528;yi(a+8|0);mq(a);return}function Tl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;gc(a,b,e);u=d;return}function Ul(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Mi(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Vl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Wl(a){a=a|0;var b=0,c=0;f[a>>2]=3280;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Vi(a);mq(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Vi(a);mq(a);return}function Xl(a,b){a=+a;b=+b;var c=0,d=0;p[s>>3]=a;d=f[s>>2]|0;c=f[s+4>>2]|0;p[s>>3]=b;c=f[s+4>>2]&-2147483648|c&2147483647;f[s>>2]=d;f[s+4>>2]=c;return +(+p[s>>3])}function Yl(a){a=a|0;var b=0,c=0;f[a>>2]=1460;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){xi(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);return}function Zl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(11954,8800,76,17755);return 0}function _l(a){a=a|0;f[a>>2]=3528;yi(a+8|0);return}function $l(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function am(a){a=a|0;var b=0,c=0;f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ko(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);return}function cm(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function dm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Eg(a,c,d)|0;return a|0}function em(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function fm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1180;b=f[a+8>>2]|0;if(!b){mq(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function gm(a){a=a|0;var b=0;f[a>>2]=3076;b=f[a+56>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function hm(a){a=a|0;var b=0,c=0;f[a>>2]=3280;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Vi(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Vi(a);return}function im(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[21093+(a&15)>>0]|0|e;a=yn(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function jm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Ma[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function km(){var a=0,b=0;b=Xm()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)io(f[a+12>>2]|0);io(rp()|0)}function lm(a){a=a|0;var b=0;f[a>>2]=2712;b=f[a+56>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function mm(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function nm(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function om(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}mq(a);return}function pm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function qm(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function rm(a){a=a|0;Yn(a);f[a>>2]=3216;f[a+40>>2]=1180;f[a+44>>2]=-1;a=a+48|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function sm(a){a=a|0;var b=0,c=0;f[a>>2]=1180;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function tm(a){a=a|0;var c=0;f[a>>2]=1336;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function um(a){a=a|0;f[a>>2]=3076;a=f[a+56>>2]|0;if(!a)return;mq(a);return}function vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);ih(a,b,c,d,e,f);return}function wm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function xm(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14276,14647,64,14287);return 0}function ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function zm(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14276,13875,63,14287);return 0}function Am(a){a=a|0;f[a>>2]=2712;a=f[a+56>>2]|0;if(!a)return;mq(a);return}function Bm(a){a=a|0;var b=0;f[a>>2]=3460;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Cm(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=yn(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Eg(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Em(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-8-c|0)>>>3)<<3);mq(c);return}function Fm(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function Gm(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14276,14985,68,14287);return 0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;return Ma[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Im(a){a=a|0;var c=0;Al(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Jm(a){a=a|0;f[a>>2]=3132;oj(a+88|0);mq(a);return}function Km(a){a=a|0;var b=0;f[a>>2]=3508;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function Mm(a,b){a=a|0;b=b|0;b=f[b>>2]|0;return (1<<(b&31)&f[(f[a+28>>2]|0)+(b>>>5<<2)>>2]|0)!=0|0}function Nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);vm(a,b,c,d,e,f);return}function Om(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;if((qk(a)|0)==0?(Ma[f[a+32>>2]&31](a,b,1)|0)==1:0)b=h[b>>0]|0;else b=-1;u=c;return b|0}function Pm(a){a=a|0;f[a>>2]=2768;oj(a+88|0);mq(a);return}function Qm(a){a=a|0;f[a>>2]=3132;oj(a+88|0);return}function Rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return af(a,b,c,d,e,f)|0}function Sm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Ad(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;bc(a,b,c);return}function Um(a){a=a|0;var b=0;f[a>>2]=3460;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b)return;mq(b);return}function Vm(a){a=a|0;f[a>>2]=2768;oj(a+88|0);return}function Wm(a){a=a|0;Gn(a);f[a>>2]=6024;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Xm(){var a=0,b=0;a=u;u=u+16|0;if(!(za(24472,3)|0)){b=qa(f[6119]|0)|0;u=a;return b|0}else wn(23616,a);return 0}function Ym(a){a=a|0;var b=0;f[a>>2]=3508;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b)return;mq(b);return}function Zm(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=Vl(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function _m(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0)break;a=pp()|0;if(!a){a=0;break}Ta[a&3]()}return a|0}function $m(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=pq(f[a+60>>2]|0)|0;f[c>>2]=a;a=co(ua(6,c|0)|0)|0;u=b;return a|0}function an(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function bn(a){a=a|0;var b=0;b=u;u=u+16|0;rc(a);if(!(ra(f[6119]|0,0)|0)){u=b;return}else wn(23715,b)}function cn(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function dn(a,b){a=a|0;b=b|0;return jg(a+40|0,b)|0}function en(a,b){a=a|0;b=b|0;return Ni(a,b,Lp(b)|0)|0}function fn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Ki(a,b,c,g)|0;u=e;return d|0}function gn(a,b){a=a|0;b=b|0;return uj(a+40|0,b)|0}function hn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function jn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function kn(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 Qa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kh(a,b,c,d)|0}function mn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Va[f[(f[a>>2]|0)+24>>2]&127](a,b)|0}function nn(){var a=0;a=u;u=u+16|0;if(!(ta(24476,109)|0)){u=a;return}else wn(23665,a)}function on(a,b,c){a=a|0;b=b|0;c=c|0;_j(a,b,c);return}function pn(a){a=a|0;Pe(a);mq(a);return}function qn(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;Ua[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function rn(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Xi(a|0,(Kp(c)|0)&255|0,b|0)|0;return a|0}function sn(a){a=a|0;return 4}function tn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Va[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function vn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Va[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function wn(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[1525]|0;gh(b,a,c)|0;Ej(10,b)|0;wa()}function xn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Va[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function yn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function zn(a){a=a|0;var b=0;f[a>>2]=3804;a=a+4|0;b=a+44|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function An(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jh(a,b,c,d)|0}function Bn(a){a=a|0;Qe(a);mq(a);return}function Cn(){}function Dn(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 (I=d,a-c>>>0|0)|0}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ck(a,b,c,d)|0}function Fn(a){a=a|0;return 5}function Gn(a){a=a|0;var b=0;f[a>>2]=6064;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Hn(a){a=a|0;return 6}function In(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dk(a,b,c,d)|0}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Kn(a,b){a=a|0;b=b|0;Si(a);f[a+36>>2]=b;f[a+40>>2]=b;return}function Ln(a,b){a=a|0;b=b|0;if(!b)b=0;else b=sh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Mn(a,b,c){a=a|0;b=b|0;c=c|0;on(a,b,c);return}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wf(a,b,c,d)|0}function On(a,b,c){a=a|0;b=b|0;c=c|0;return Wh(a,b,c)|0}function Pn(a,b,c){a=a|0;b=b|0;c=c|0;return Li(a,b,c)|0}function Qn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Na[a&3](b|0,c|0,d|0,e|0,f|0)}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;jj(a,b,c);return}function Sn(a){a=a|0;a=f[a+56>>2]|0;return Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Tn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Un(a){a=a|0;a=f[a+56>>2]|0;return Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0}function Vn(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Wn(a,b){a=a|0;b=b|0;f[a+52>>2]=b;No(a,b);return}function Xn(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Yn(a){a=a|0;tm(a);f[a>>2]=1460;f[a+36>>2]=0;return}function Zn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function _n(a){a=a|0;if((b[a+11>>0]|0)<0)mq(f[a>>2]|0);return}function $n(a){a=a|0;if(!a)return;Oa[f[(f[a>>2]|0)+4>>2]&127](a);return}function ao(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Wa[a&3](b|0,c|0,d|0,e|0)}function bo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)dm(a|0,b|0,c|0)|0;return a|0}function co(a){a=a|0;var b=0;if(a>>>0>4294963200){b=aq()|0;f[b>>2]=0-a;a=-1}return a|0}function eo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Eg(a|0,b|0,c|0)|0;return a|0}function fo(a,b){a=a|0;b=b|0;return -1}function go(a,b){a=a|0;b=b|0;jo(a,b);return}function ho(a){a=a|0;if(!a)a=0;else a=(hh(a,1056,1128,0)|0)!=0;return a&1|0}function io(a){a=a|0;var b=0;b=u;u=u+16|0;Ta[a&3]();wn(23768,b)}function jo(a,b){a=a|0;b=b|0;Vk(a,b);return}function ko(a){a=a|0;Ih(a);mq(a);return}function lo(a,b){a=a|0;b=b|0;Zg(a,b);f[a>>2]=1276;return}function mo(a,b,c){a=a|0;b=b|0;c=c|0;ro(a,b,c);return}function no(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function oo(a){a=a|0;uo(a);f[a>>2]=3280;f[a+56>>2]=0;return}function po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ma[a&31](b|0,c|0,d|0)|0}function qo(a){a=a|0;return f[a+12>>2]|0}function ro(a,b,c){a=a|0;b=b|0;c=c|0;Rn(a,b,c);return}function so(){var a=0;a=_m(64)|0;Al(a);return a|0}function to(a,b){a=a|0;b=b|0;return $(yo(a,b))}function uo(a){a=a|0;zn(a);f[a>>2]=3636;f[a+52>>2]=0;return}function vo(a){a=a|0;if(!a)return;Gi(a);mq(a);return}function wo(a){a=a|0;return Ra[f[(f[a>>2]|0)+60>>2]&127](a)|0}function xo(a){a=a|0;return f[a+4>>2]|0}function yo(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function zo(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))mi(b,c,a)|0;return}function Ao(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&15](b|0,c|0,d|0)}function Bo(){var a=0;a=_m(96)|0;Im(a);return a|0}function Co(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Do(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Eo(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Bi(a,b,0)|0;return a|0}function Fo(a){a=a|0;var b=0;b=(iq()|0)+188|0;return ek(a,f[b>>2]|0)|0}function Go(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(4);return 0}function Ho(a,b){a=a|0;b=b|0;return Po(a,b)|0}function Io(){var a=0;a=_m(12)|0;To(a);return a|0}function Jo(a){a=a|0;xi(a);mq(a);return}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Lo(a,b){a=a|0;b=b|0;var c=0;c=Yo(a|0)|0;return ((b|0)==0?a:c)|0}function Mo(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function No(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ad(a,b,c,d,0)|0}function Po(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Qo(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Ro(){var a=0;a=_m(84)|0;Gn(a);return a|0}function So(a){a=a|0;Fa(23184,23213,1183,23314)}function To(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Uo(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Vo(a){a=a|0;Fa(23140,23039,315,23163)}function Wo(a){a=a|0;Fa(23016,23039,304,23314)}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;return Va[a&127](b|0,c|0)|0}function Yo(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Zo(a){a=a|0;uo(a);f[a>>2]=3708;return}function _o(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function $o(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(8)}function ap(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function bp(a){a=a|0;if(!a)return;mq(a);return}function cp(){var a=0;a=_m(1)|0;rq(a);return a|0}function dp(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function ep(a){a=a|0;b[a+28>>0]=1;return}function fp(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function gp(a){a=a|0;Si(a);return}function hp(a,b){a=a|0;b=b|0;return 1}function ip(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function jp(a,b,c){a=a|0;b=b|0;c=c|0;Pa[a&7](b|0,c|0)}function kp(){var a=0;a=_m(36)|0;Rp(a);return a|0}function lp(){var a=0;a=_m(108)|0;Wm(a);return a|0}function mp(a){a=a|0;Vi(a);mq(a);return}function np(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function op(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(1)}function pp(){var a=0;a=f[6120]|0;f[6120]=a+0;return a|0}function qp(a){a=a|0;return f[a+56>>2]|0}function rp(){var a=0;a=f[1755]|0;f[1755]=a+0;return a|0}function sp(a){a=a|0;og(a);mq(a);return}function tp(a){a=a|0;return b[a+24>>0]|0}function up(a,b){a=a|0;b=b|0;return 0}function vp(a){a=a|0;return f[a+40>>2]|0}function wp(a){a=a|0;return f[a+48>>2]|0}function xp(a,b){a=a|0;b=b|0;return Ra[a&127](b|0)|0}function yp(a){a=a|0;return f[a+60>>2]|0}function zp(a){a=a|0;return f[a+28>>2]|0}function Ap(a){a=a|0;xa(a|0)|0;km()}function Bp(a){a=a|0;return 3}function Cp(a,b){a=a|0;b=b|0;u=a;v=b}function Dp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(10)}function Ep(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Fp(a){a=a|0;return f[a+80>>2]|0}function Gp(a,b){a=a|0;b=b|0;return $(+nk(a,b,0))}function Hp(a,b){a=a|0;b=b|0;Oa[a&127](b|0)}function Ip(a,b){a=a|0;b=b|0;return Ln(a,b)|0}function Jp(a){a=a|0;rq(a);mq(a);return}function Kp(a){a=a|0;return a&255|0}function Lp(a){a=a|0;return Tj(a)|0}function Mp(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function Np(a){a=a|0;return 2}function Op(a,b){a=a|0;b=b|0;return +(+nk(a,b,1))}function Pp(a){a=a|0;f[a>>2]=7116;return}function Qp(a){a=a|0;return 1}function Rp(a){a=a|0;gp(a);return}function Sp(a,b){a=+a;b=+b;return +(+Xl(a,b))}function Tp(a,b){a=+a;b=b|0;return +(+Qj(a,b))}function Up(a,b){a=+a;b=b|0;return +(+$j(a,b))}function Vp(){return 3}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function Xp(){return 0}function Yp(){return -1}function Zp(){return 4}function _p(){return 1}function $p(){return 2}function aq(){return (iq()|0)+64|0}function bq(a,b){a=+a;b=+b;return +(+Pd(a,b))}function cq(a,b){a=a|0;b=b|0;aa(9);return 0}function dq(a){a=a|0;return 23808}function eq(a){a=a|0;Ta[a&3]()}function fq(){Ga()}function gq(a){a=a|0;return +(+Op(a,0))}function hq(a,b){a=a|0;b=b|0;aa(3)}function iq(){return wq()|0}function jq(a){a=a|0;return _m(a)|0}function kq(a){a=a|0;mq(a);return}function lq(a){a=a|0;u=a}function mq(a){a=a|0;rc(a);return}function nq(a){a=a|0;I=a}function oq(){return 24408}function pq(a){a=a|0;return a|0}function qq(a){a=a|0;aa(5);return 0}function rq(a){a=a|0;return}function sq(a){a=a|0;return 0}function tq(){return I|0}function uq(){return u|0}function vq(a){a=a|0;aa(2)}function wq(){return 6228}function xq(){aa(7)} +function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>65536){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;wb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>16384){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;yb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>32768){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;xb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>8192){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*524288.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==524288){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;zb(n,o,p);a:do if((i|0)<524288){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=524288-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>524288;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-524288|0;g=i;while(1){e=524288.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==524288){g=524288;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=524288){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*1.9073486328125e-06)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>4096){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*262144.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==262144){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Ab(n,o,p);a:do if((i|0)<262144){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=262144-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>262144;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-262144|0;g=i;while(1){e=262144.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==262144){g=262144;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=262144){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*3.814697265625e-06)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>2048){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*65536.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==65536){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Bb(n,o,p);a:do if((i|0)<65536){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=65536-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>65536;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-65536|0;g=i;while(1){e=65536.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==65536){g=65536;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=65536){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.0000152587890625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>1024){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*32768.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==32768){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Cb(n,o,p);a:do if((i|0)<32768){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=32768-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>32768;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-32768|0;g=i;while(1){e=32768.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==32768){g=32768;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=32768){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000030517578125)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>512){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*8192.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==8192){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Db(n,o,p);a:do if((i|0)<8192){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=8192-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>8192;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-8192|0;g=i;while(1){e=8192.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==8192){g=8192;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=8192){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.0001220703125)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>256){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Eb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>128){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Fb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>64){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Gb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>32){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Hb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>16){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Lb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>8){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Ib(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>4){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Jb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>2){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Kb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function ed(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+32|0;r=x;s=x+20|0;q=x+24|0;v=x+8|0;n=f[a>>2]|0;d=n+8|0;t=f[n>>2]|0;n=f[n+4>>2]|0;d=Mn(t|0,n|0,f[d>>2]|0,f[d+4>>2]|0)|0;g=I;g=Mn((d|0)==0&(g|0)==0&1|0,0,d|0,g|0)|0;g=~~((+(t>>>0)+4294967296.0*+(n>>>0))/(+(g>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;g=g>>>0<255?g:255;g=((g|0)==0&1)+g&255;b[q>>0]=g;n=a+12|0;t=a+16|0;d=((f[t>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[v>>2]=0;w=v+4|0;f[w>>2]=0;f[v+8>>2]=0;if(!d)o=0;else{if((d|0)<0)Fp(v);e=an(d)|0;f[w>>2]=e;f[v>>2]=e;f[v+8>>2]=e+d;do{b[e>>0]=0;e=(f[w>>2]|0)+1|0;f[w>>2]=e;d=d+-1|0}while((d|0)!=0);o=f[v>>2]|0}p=a+28|0;d=(f[p>>2]|0)+-1|0;a:do if((d|0)>-1){k=a+24|0;e=4096;h=0;while(1){i=256-(g&255)|0;j=(f[k>>2]&1<>>0>=g<<12>>>0){b[o+h>>0]=e;e=e>>>8;h=h+1|0}$m(f[3980+(g<<3)>>2]|0,0,e|0,0)|0;e=e+(j?0:i&255)+(X((I+e|0)>>>(f[3980+(g<<3)+4>>2]|0),256-g|0)|0)|0;d=d+-1|0;if((d|0)<=-1)break a;g=b[q>>0]|0}}else{e=4096;h=0}while(0);d=f[t>>2]|0;if((d|0)==(f[n>>2]|0))g=e;else{g=h;while(1){d=d+-4|0;m=f[d>>2]|0;j=31;while(1){i=b[q>>0]|0;k=256-(i&255)|0;l=(1<>>0>>0)h=g;else{b[o+g>>0]=e;e=e>>>8;h=g+1|0}$m(f[3980+(i<<3)>>2]|0,0,e|0,0)|0;e=e+(l?0:k&255)+(X((I+e|0)>>>(f[3980+(i<<3)+4>>2]|0),256-i|0)|0)|0;if((j|0)<=0)break;else{g=h;j=j+-1|0}}if((d|0)==(f[n>>2]|0)){g=e;break}else g=h}}if(g>>>0<=4095)ra(19718,19748,132,19830);if(g>>>0>=1048576)ra(19844,19748,133,19830);d=g+-4096|0;do if(d>>>0>=64){e=o+h|0;if(d>>>0<16384){d=g+12288|0;b[e>>0]=d;g=2;e=e+1|0;d=d>>>8;break}else{d=g+8384512|0;b[e>>0]=d;b[e+1>>0]=d>>>8;g=3;e=e+2|0;d=d>>>16;break}}else{g=1;e=o+h|0}while(0);b[e>>0]=d;e=g+h|0;g=c+16|0;o=g;n=f[o+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ke(c,r,q,q+1|0)|0}Rh(e,c)|0;d=f[v>>2]|0;q=g;o=f[q+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[q>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ke(c,r,d,d+e|0)|0}d=r;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,r);d=f[a+12>>2]|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+24>>2]=0;f[p>>2]=0;d=f[v>>2]|0;if(!d){u=x;return}if((f[w>>2]|0)!=(d|0))f[w>>2]=d;pq(d);u=x;return}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+16|0;v=w+8|0;l=w+4|0;p=w;q=a+124|0;f[q>>2]=(f[q>>2]|0)+1;q=a+88|0;m=a+120|0;j=f[m>>2]|0;c=j+1|0;do if((j|0)>=0){c=((c|0)%3|0|0)==0?j+-2|0:c;if(!((j>>>0)%3|0)){h=j+2|0;break}else{h=j+-1|0;break}}else{c=j;h=j}while(0);r=a+104|0;o=a+92|0;e=f[o>>2]|0;i=e+(c<<2)|0;g=f[r>>2]|0;d=g+(f[i>>2]<<2)|0;t=f[d>>2]|0;switch(b|0){case 1:case 0:{f[d>>2]=t+-1;j=g+(f[e+(h<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+-1;if((b|0)==1){if((h|0)>=0?(k=f[(f[(f[q>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(k|0)>-1):0){g=a+64|0;e=k;d=1;do{k=f[g>>2]|0;j=f[(f[k>>2]|0)+36>>2]|0;f[l>>2]=(e>>>0)/3|0;f[v>>2]=f[l>>2];if(Na[j&127](k,v)|0)break;k=e+1|0;e=((k|0)%3|0|0)==0?e+-2|0:k;if((e|0)<0){s=12;break}e=f[(f[(f[q>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;d=d+1|0}while((e|0)>-1);if((s|0)==12)d=d+1|0;g=f[r>>2]|0;e=f[o>>2]|0}else d=1;f[g+(f[e+(f[m>>2]<<2)>>2]<<2)>>2]=d;h=a+108|0;d=f[h>>2]|0;g=d-g>>2;if((c|0)>=0?(n=f[(f[(f[q>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(n|0)>-1):0){e=a+64|0;d=n;c=1;do{n=f[e>>2]|0;m=f[(f[n>>2]|0)+36>>2]|0;f[p>>2]=(d>>>0)/3|0;f[v>>2]=f[p>>2];if(Na[m&127](n,v)|0)break;n=d+1|0;f[(f[o>>2]|0)+((((n|0)%3|0|0)==0?d+-2|0:n)<<2)>>2]=g;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0){s=20;break}d=f[(f[(f[q>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;c=c+1|0}while((d|0)>-1);if((s|0)==20)c=c+1|0;d=f[h>>2]|0}else c=1;f[v>>2]=c;if(d>>>0<(f[a+112>>2]|0)>>>0){f[d>>2]=c;f[h>>2]=d+4}else Gi(r,v)}break}case 5:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}case 3:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;break}case 7:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}default:{}}i=a+116|0;e=f[i>>2]|0;if((e|0)==-1){f[i>>2]=b;u=w;return}d=f[a+128>>2]|0;if((t|0)<(d|0))c=d;else{c=f[a+132>>2]|0;c=(t|0)>(c|0)?c:t}h=c-d|0;g=f[a+136>>2]|0;c=f[3612+(e<<2)>>2]|0;f[v>>2]=c;e=g+(h*12|0)+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+(h*12|0)+8>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else Gi(g+(h*12|0)|0,v);f[i>>2]=b;u=w;return}function gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=f[a+28>>2]|0;v=f[a+32>>2]|0;w=e>>>0>1073741823?-1:e<<2;x=mq(w)|0;cj(x|0,0,w|0)|0;y=mq(w)|0;cj(y|0,0,w|0)|0;w=a+36|0;h=f[w>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;r=(e|0)>0;t=a+8|0;q=u+12|0;p=e<<2;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;s=d;z=g}else{o=h;Fp(o)}while(1){o=f[k+(z<<2)>>2]|0;if(r)cj(x|0,0,p|0)|0;if((o|0)>-1){n=f[q>>2]|0;m=o;l=0;while(1){d=f[n+(m<<2)>>2]|0;if((d|0)>=0){h=f[u>>2]|0;i=f[v>>2]|0;k=f[i+(f[h+(d<<2)>>2]<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;j=f[i+(g<<2)>>2]|0;g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;g=f[i+(g<<2)>>2]|0;if((k|0)<(z|0)&(j|0)<(z|0)&(g|0)<(z|0)){i=X(k,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(r){g=0;do{f[y+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(r){g=0;do{k=x+(g<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[y+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else l=h}g=X(z,e)|0;if(!h)A=30;else{if(r){d=0;do{s=x+(d<<2)|0;f[s>>2]=(f[s>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}ai(t,b+(g<<2)|0,x,c+(g<<2)|0)}}else{g=X(z,e)|0;A=30}if((A|0)==30){A=0;ai(t,b+(g<<2)|0,b+((X(s+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((z|0)<=1)break a;g=f[w>>2]|0;k=f[g>>2]|0;d=z+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{s=z;z=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,x,c);nq(y);nq(x);return 1}cj(x|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,x,c);nq(y);nq(x);return 1}function hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;t=f[a+28>>2]|0;u=f[a+32>>2]|0;v=e>>>0>1073741823?-1:e<<2;w=mq(v)|0;cj(w|0,0,v|0)|0;x=mq(v)|0;cj(x|0,0,v|0)|0;v=a+36|0;h=f[v>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;p=(e|0)>0;s=a+8|0;q=t+64|0;o=t+28|0;n=e<<2;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;r=d;B=g}else{m=h;Fp(m)}while(1){m=f[k+(B<<2)>>2]|0;if(p)cj(w|0,0,n|0)|0;if((m|0)>-1){l=f[t>>2]|0;k=m;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(C=f[(f[(f[q>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(C|0)>=0):0)?(A=f[o>>2]|0,i=f[u>>2]|0,y=f[i+(f[A+(C<<2)>>2]<<2)>>2]|0,z=C+1|0,z=f[i+(f[A+((((z|0)%3|0|0)==0?C+-2|0:z)<<2)>>2]<<2)>>2]|0,A=f[i+(f[A+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(y|0)<(B|0)&(z|0)<(B|0)&(A|0)<(B|0)):0){d=X(y,e)|0;h=X(z,e)|0;i=X(A,e)|0;if(p){g=0;do{f[x+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(p){g=0;do{i=w+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[x+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}j=j+1|0}g=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[q>>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);k=(g|0)==(m|0)?-1073741824:g}while((k|0)>-1);g=X(B,e)|0;if(!j)D=28;else{if(p){d=0;do{r=w+(d<<2)|0;f[r>>2]=(f[r>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}ai(s,b+(g<<2)|0,w,c+(g<<2)|0)}}else{g=X(B,e)|0;D=28}if((D|0)==28){D=0;ai(s,b+(g<<2)|0,b+((X(r+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((B|0)<=1)break a;g=f[v>>2]|0;k=f[g>>2]|0;d=B+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{r=B;B=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,w,c);nq(x);nq(w);return 1}cj(w|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,w,c);nq(x);nq(w);return 1}function id(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=an(16)|0;f[m>>2]=g;f[m+8>>2]=-2147483632;f[m+4>>2]=15;i=g;h=17844;j=i+15|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+15>>0]=0;k=Bk(c,m,-1)|0;if((b[m+11>>0]|0)<0)pq(f[m>>2]|0);switch(k|0){case 0:{g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3932;break}case -1:{if((fi(c)|0)==10){g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3932}else n=7;break}default:n=7}a:do if((n|0)==7){g=cl(d,0)|0;b:do if(((g|0?((f[d+12>>2]|0)-(f[d+8>>2]|0)|0)==4:0)?(f[g+56>>2]|0)==0:0)?(b[g+24>>0]|0)==3:0){switch(f[g+28>>2]|0){case 9:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=an(32)|0;f[m>>2]=g;f[m+8>>2]=-2147483616;f[m+4>>2]=17;i=g;h=17860;j=i+17|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+17>>0]=0;j=c+16|0;h=f[j>>2]|0;if(h){g=j;i=h;c:while(1){h=i;while(1){if((f[h+16>>2]|0)>=0)break;h=f[h+4>>2]|0;if(!h)break c}i=f[h>>2]|0;if(!i){g=h;break}else g=h}if(((g|0)!=(j|0)?(f[g+16>>2]|0)<=0:0)?(l=g+20|0,(Oh(l,m)|0)!=0):0)g=Bk(l,m,-1)|0;else n=21}else n=21;if((n|0)==21)g=Bk(c,m,-1)|0;if((b[m+11>>0]|0)<0)pq(f[m>>2]|0);if((g|0)<1)break b;break}case 6:break;default:break b}g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3876;break a}while(0);if((k|0)!=1){g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3932;break}f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=an(32)|0;f[m>>2]=g;f[m+8>>2]=-2147483616;f[m+4>>2]=24;i=g;h=17878;j=i+24|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+24>>0]=0;f[a>>2]=-1;dj(a+4|0,m);if((b[m+11>>0]|0)<0)pq(f[m>>2]|0);u=o;return}while(0);f[g>>2]=h;Oo(g,d);yd(a,g,c,e);Ra[f[(f[g>>2]|0)+4>>2]&127](g);u=o;return}function jd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}r=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=r;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;q=b+-1|0;r=(q&b|0)==0;if(!r){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&q;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){p=e;b:while(1){c:do if(r){e=g;while(1){o=f[e+4>>2]&q;if((o|0)==(c|0))break c;h=(f[a>>2]|0)+(o<<2)|0;if(!(f[h>>2]|0)){c=o;break b}h=e+8|0;n=h+2|0;l=e+12|0;m=h+6|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=d[h>>1]|0;h=e;while(1){j=g+8|0;if(k<<16>>16!=(d[j>>1]|0)){g=h;break d}if((d[n>>1]|0)!=(d[j+2>>1]|0)){g=h;break d}if((d[l>>1]|0)!=(d[g+12>>1]|0)){g=h;break d}if((d[m>>1]|0)!=(d[j+6>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[p>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=43;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}j=e+8|0;o=j+2|0;m=e+12|0;n=j+6|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=d[j>>1]|0;j=e;while(1){k=h+8|0;if(l<<16>>16!=(d[k>>1]|0)){h=j;break e}if((d[o>>1]|0)!=(d[k+2>>1]|0)){h=j;break e}if((d[m>>1]|0)!=(d[h+12>>1]|0)){h=j;break e}if((d[n>>1]|0)!=(d[k+6>>1]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=43;break a}}}while(0);g=f[e>>2]|0;if(!g){c=43;break a}else{i=e;p=e}}f[h>>2]=p;g=f[e>>2]|0;if(!g){c=43;break}else i=e}if((c|0)==43)return}function kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}r=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=r;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;q=c+-1|0;r=(q&c|0)==0;if(!r){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&q;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){p=e;b:while(1){c:do if(r){e=g;while(1){o=f[e+4>>2]&q;if((o|0)==(d|0))break c;h=(f[a>>2]|0)+(o<<2)|0;if(!(f[h>>2]|0)){d=o;break b}h=e+8|0;n=h+1|0;l=h+2|0;m=h+3|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;h=e;while(1){j=g+8|0;if(k<<24>>24!=(b[j>>0]|0)){g=h;break d}if((b[n>>0]|0)!=(b[j+1>>0]|0)){g=h;break d}if((b[l>>0]|0)!=(b[j+2>>0]|0)){g=h;break d}if((b[m>>0]|0)!=(b[j+3>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[p>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=43;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}j=e+8|0;o=j+1|0;m=j+2|0;n=j+3|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[j>>0]|0;j=e;while(1){k=h+8|0;if(l<<24>>24!=(b[k>>0]|0)){h=j;break e}if((b[o>>0]|0)!=(b[k+1>>0]|0)){h=j;break e}if((b[m>>0]|0)!=(b[k+2>>0]|0)){h=j;break e}if((b[n>>0]|0)!=(b[k+3>>0]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=43;break a}}}while(0);g=f[e>>2]|0;if(!g){d=43;break a}else{i=e;p=e}}f[h>>2]=p;g=f[e>>2]|0;if(!g){d=43;break}else i=e}if((d|0)==43)return}function ld(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+8|0;i=m+4|0;k=m;l=m+12|0;f[k>>2]=0;if(!d)if((c|0)>0){g=0;h=0;while(1){d=f[a+(h<<2)>>2]|0;if(d>>>0>g>>>0)f[k>>2]=d;else d=g;h=h+1|0;if((h|0)==(c|0)){g=7;break}else g=d}}else d=1;else{d=f[d>>2]|0;f[k>>2]=d;g=7}if((g|0)==7){g=((_(d|0)|0)^31)+1|0;if(d)if(g>>>0>18){e=0;u=m;return e|0}else d=g;else d=1}b[l>>0]=d;h=e+16|0;g=f[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)){f[i>>2]=f[e+4>>2];f[j>>2]=f[i>>2];Ke(e,j,l,l+1|0)|0}do switch(d|0){case 1:case 0:{e=ne(a,c,k,e)|0;u=m;return e|0}case 2:{e=me(a,c,k,e)|0;u=m;return e|0}case 3:{e=le(a,c,k,e)|0;u=m;return e|0}case 4:{e=ke(a,c,k,e)|0;u=m;return e|0}case 5:{e=je(a,c,k,e)|0;u=m;return e|0}case 6:{e=ie(a,c,k,e)|0;u=m;return e|0}case 7:{e=he(a,c,k,e)|0;u=m;return e|0}case 8:{e=ge(a,c,k,e)|0;u=m;return e|0}case 9:{e=fe(a,c,k,e)|0;u=m;return e|0}case 10:{e=ee(a,c,k,e)|0;u=m;return e|0}case 11:{e=de(a,c,k,e)|0;u=m;return e|0}case 12:{e=ce(a,c,k,e)|0;u=m;return e|0}case 13:{e=be(a,c,k,e)|0;u=m;return e|0}case 14:{e=ae(a,c,k,e)|0;u=m;return e|0}case 15:{e=$d(a,c,k,e)|0;u=m;return e|0}case 16:{e=_d(a,c,k,e)|0;u=m;return e|0}case 17:{e=Zd(a,c,k,e)|0;u=m;return e|0}case 18:{e=Yd(a,c,k,e)|0;u=m;return e|0}default:{e=0;u=m;return e|0}}while(0);return 0}function md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}p=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(!p){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&o;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){n=d;b:while(1){c:do if(p){d=e;while(1){m=f[d+4>>2]&o;if((m|0)==(c|0))break c;g=(f[a>>2]|0)+(m<<2)|0;if(!(f[g>>2]|0)){c=m;break b}l=d+12|0;j=d+16|0;k=d+20|0;e=f[d>>2]|0;d:do if(!e)e=d;else{i=f[d+8>>2]|0;g=d;while(1){if((i|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[l>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}if((f[j>>2]|0)!=(f[e+16>>2]|0)){e=g;break d}if((f[k>>2]|0)!=(f[e+20>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{q=e;e=g;g=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=43;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}m=d+12|0;k=d+16|0;l=d+20|0;g=f[d>>2]|0;e:do if(!g)g=d;else{j=f[d+8>>2]|0;i=d;while(1){if((j|0)!=(f[g+8>>2]|0)){g=i;break e}if((f[m>>2]|0)!=(f[g+12>>2]|0)){g=i;break e}if((f[k>>2]|0)!=(f[g+16>>2]|0)){g=i;break e}if((f[l>>2]|0)!=(f[g+20>>2]|0)){g=i;break e}i=f[g>>2]|0;if(!i)break;else{q=g;g=i;i=q}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=43;break a}}}while(0);e=f[d>>2]|0;if(!e){c=43;break a}else{h=d;n=d}}f[g>>2]=n;e=f[d>>2]|0;if(!e){c=43;break}else h=d}if((c|0)==43)return}function nd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2868;e=b;f[a>>2]=e;return}case 2:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2924;e=b;f[a>>2]=e;return}case 4:{b=an(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2980;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3036;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3092;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3148;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=3204;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function od(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2504;e=b;f[a>>2]=e;return}case 2:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2560;e=b;f[a>>2]=e;return}case 4:{b=an(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2616;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2672;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2728;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2784;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=2840;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+1264|0;t=x+1252|0;q=x+1248|0;v=x+16|0;d=x+1244|0;i=x+1240|0;w=x+8|0;r=x+1236|0;e=x+1232|0;g=x+1228|0;h=x+1224|0;j=x+1220|0;k=x+1216|0;l=x+1212|0;m=x+1208|0;n=x+1204|0;o=x+12|0;p=x+4|0;s=x;c=f[a+48>>2]|0;if(c>>>0>=7)ra(20408,20436,45,20594);switch(c|0){case 0:{Oe(v,3);f[d>>2]=f[b>>2];f[i>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[d>>2];f[t>>2]=f[i>>2];qf(v,q,t,w,a+16|0)|0;jf(v);u=x;return 1}case 1:{Oe(v,3);f[r>>2]=f[b>>2];f[e>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[r>>2];f[t>>2]=f[e>>2];qf(v,q,t,w,a+16|0)|0;jf(v);u=x;return 1}case 2:{Ne(v,3);f[g>>2]=f[b>>2];f[h>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[g>>2];f[t>>2]=f[h>>2];rf(v,q,t,w,a+16|0)|0;kf(v);u=x;return 1}case 3:{Ne(v,3);f[j>>2]=f[b>>2];f[k>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[j>>2];f[t>>2]=f[k>>2];rf(v,q,t,w,a+16|0)|0;kf(v);u=x;return 1}case 4:{Me(v,3);f[l>>2]=f[b>>2];f[m>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[l>>2];f[t>>2]=f[m>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}case 5:{Me(v,3);f[n>>2]=f[b>>2];f[o>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[n>>2];f[t>>2]=f[o>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}default:{Me(v,3);f[p>>2]=f[b>>2];f[s>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[p>>2];f[t>>2]=f[s>>2];We(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}}return 0}function qd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}q=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(!q){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&p;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){o=e;b:while(1){c:do if(q){e=g;while(1){n=f[e+4>>2]&p;if((n|0)==(c|0))break c;h=(f[a>>2]|0)+(n<<2)|0;if(!(f[h>>2]|0)){c=n;break b}h=e+8|0;m=e+12|0;g=f[e>>2]|0;d:do if(!g)g=e;else{l=d[h>>1]|0;k=h+2|0;h=e;while(1){j=g+8|0;if(l<<16>>16!=(d[j>>1]|0)){g=h;break d}if((d[k>>1]|0)!=(d[j+2>>1]|0)){g=h;break d}if((d[m>>1]|0)!=(d[g+12>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[o>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=41;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}j=e+8|0;n=e+12|0;h=f[e>>2]|0;e:do if(!h)h=e;else{m=d[j>>1]|0;l=j+2|0;j=e;while(1){k=h+8|0;if(m<<16>>16!=(d[k>>1]|0)){h=j;break e}if((d[l>>1]|0)!=(d[k+2>>1]|0)){h=j;break e}if((d[n>>1]|0)!=(d[h+12>>1]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[o>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=41;break a}}}while(0);g=f[e>>2]|0;if(!g){c=41;break a}else{i=e;o=e}}f[h>>2]=o;g=f[e>>2]|0;if(!g){c=41;break}else i=e}if((c|0)==41)return}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(q|0)==(m|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(fl(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(c|0)==(m|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(fl(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}q=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=q;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;p=c+-1|0;q=(p&c|0)==0;if(!q){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&p;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){o=e;b:while(1){c:do if(q){e=g;while(1){n=f[e+4>>2]&p;if((n|0)==(d|0))break c;h=(f[a>>2]|0)+(n<<2)|0;if(!(f[h>>2]|0)){d=n;break b}h=e+8|0;m=h+1|0;l=h+2|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;h=e;while(1){j=g+8|0;if(k<<24>>24!=(b[j>>0]|0)){g=h;break d}if((b[m>>0]|0)!=(b[j+1>>0]|0)){g=h;break d}if((b[l>>0]|0)!=(b[j+2>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[o>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=41;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}j=e+8|0;n=j+1|0;m=j+2|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[j>>0]|0;j=e;while(1){k=h+8|0;if(l<<24>>24!=(b[k>>0]|0)){h=j;break e}if((b[n>>0]|0)!=(b[k+1>>0]|0)){h=j;break e}if((b[m>>0]|0)!=(b[k+2>>0]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[o>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=41;break a}}}while(0);g=f[e>>2]|0;if(!g){d=41;break a}else{i=e;o=e}}f[h>>2]=o;g=f[e>>2]|0;if(!g){d=41;break}else i=e}if((d|0)==41)return}function td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}s=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(!s){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&r;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;else{h=g;i=e;e=g}a:while(1){q=h;g=i;p=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!s){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&r;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{n=e+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[e+12>>2]|0:m;l=(o|0)==0;if(k){i=e;while(1){j=h+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[h+12>>2]|0:m&255)|0)){h=i;break c}if(!l?fl(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{m=h;h=i;i=m}}}if(l){i=e;while(1){o=b[h+8+11>>0]|0;if((o<<24>>24<0?f[h+12>>2]|0:o&255)|0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{o=h;h=i;i=o}}}l=e;while(1){i=h+8|0;k=b[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[h+12>>2]|0:k&255)|0)){h=l;break c}i=j?f[i>>2]|0:i;if((f[n>>2]&255)<<24>>24==(b[i>>0]|0)){j=m;k=n}else{h=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((b[k>>0]|0)!=(b[i>>0]|0)){h=l;break c}}i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[q>>2]|0;if(!e){d=43;break a}}g=f[e>>2]|0;if(!g){d=43;break a}else{q=e;p=e}}f[h>>2]=p;i=f[e>>2]|0;if(!i){d=43;break}else{h=e;d=g}}if((d|0)==43)return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}o=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(!o){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&n;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){m=d;b:while(1){c:do if(o){d=e;while(1){l=f[d+4>>2]&n;if((l|0)==(c|0))break c;g=(f[a>>2]|0)+(l<<2)|0;if(!(f[g>>2]|0)){c=l;break b}k=d+12|0;j=d+16|0;e=f[d>>2]|0;d:do if(!e)e=d;else{i=f[d+8>>2]|0;g=d;while(1){if((i|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[k>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}if((f[j>>2]|0)!=(f[e+16>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{p=e;e=g;g=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=41;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}l=d+12|0;k=d+16|0;g=f[d>>2]|0;e:do if(!g)g=d;else{j=f[d+8>>2]|0;i=d;while(1){if((j|0)!=(f[g+8>>2]|0)){g=i;break e}if((f[l>>2]|0)!=(f[g+12>>2]|0)){g=i;break e}if((f[k>>2]|0)!=(f[g+16>>2]|0)){g=i;break e}i=f[g>>2]|0;if(!i)break;else{p=g;g=i;i=p}}}while(0);f[m>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=41;break a}}}while(0);e=f[d>>2]|0;if(!e){c=41;break a}else{h=d;m=d}}f[g>>2]=m;e=f[d>>2]|0;if(!e){c=41;break}else h=d}if((c|0)==41)return}function vd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=a+4|0;t=f[c>>2]|0;c=t;do if((t|0)!=(o|0)){j=t+16|0;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[t+20>>2]|0:i&255;q=b[g+11>>0]|0;r=q<<24>>24<0;q=r?f[g+4>>2]|0:q&255;l=i>>>0>>0;h=l?i:q;if((h|0)!=0?(k=fl(r?f[g>>2]|0:g,m?f[j>>2]|0:j,h)|0,(k|0)!=0):0){if((k|0)<0)break}else u=4;if((u|0)==4?q>>>0>>0:0)break;h=q>>>0>>0?q:i;if((h|0)!=0?(n=fl(m?f[j>>2]|0:j,r?f[g>>2]|0:g,h)|0,(n|0)!=0):0){if((n|0)>=0)u=36}else u=20;if((u|0)==20?!l:0)u=36;if((u|0)==36){f[d>>2]=c;f[e>>2]=c;d=e;return d|0}m=t+4|0;h=f[m>>2]|0;if(!h){i=t+8|0;h=f[i>>2]|0;if((f[h>>2]|0)!=(t|0))do{p=f[i>>2]|0;i=p+8|0;h=f[i>>2]|0}while((f[h>>2]|0)!=(p|0))}else while(1){i=f[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(o|0)){j=h+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;k=l?f[h+20>>2]|0:k&255;i=k>>>0>>0?k:q;if((i|0)!=0?(s=fl(r?f[g>>2]|0:g,l?f[j>>2]|0:j,i)|0,(s|0)!=0):0){if((s|0)<0)break}else u=30;if((u|0)==30?q>>>0>>0:0)break;d=lg(a,d,g)|0;return d|0}while(0);if(!(f[t+4>>2]|0)){f[d>>2]=c;d=m;return d|0}else{f[d>>2]=h;d=h;return d|0}}while(0);e=f[t>>2]|0;do if((t|0)!=(f[a>>2]|0)){if(!e){h=t;while(1){c=f[h+8>>2]|0;if((f[c>>2]|0)==(h|0))h=c;else{h=c;break}}}else{h=e;while(1){c=f[h+4>>2]|0;if(!c)break;else h=c}}c=h;j=h+16|0;k=b[g+11>>0]|0;l=k<<24>>24<0;k=l?f[g+4>>2]|0:k&255;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[h+20>>2]|0:i&255;h=k>>>0>>0?k:i;if((h|0)!=0?(p=fl(m?f[j>>2]|0:j,l?f[g>>2]|0:g,h)|0,(p|0)!=0):0){if((p|0)<0)break}else u=12;if((u|0)==12?i>>>0>>0:0)break;d=lg(a,d,g)|0;return d|0}while(0);if(!e){f[d>>2]=t;d=t;return d|0}else{u=c;f[d>>2]=u;d=u+4|0;return d|0}return 0}function wd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;u=a+8|0;f[u>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}else d=0;g=d-e|0;if((g|0)>0){o=0-e|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;d=f[u>>2]|0;do{l=b+(g<<2)|0;m=c+(g<<2)|0;if((d|0)>0){k=0;j=l+(o<<2)|0;while(1){if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[r>>2]|0;if((d|0)>(h|0)){d=f[n>>2]|0;f[d+(i<<2)>>2]=h}else{w=f[t>>2]|0;h=f[n>>2]|0;f[h+(i<<2)>>2]=(d|0)<(w|0)?w:d;d=h}i=i+1|0}while((i|0)<(f[u>>2]|0));i=d}else i=f[n>>2]|0;d=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=m+(k<<2)|0;f[h>>2]=d;if((d|0)>=(f[s>>2]|0)){if((d|0)>(f[p>>2]|0)){d=d-(f[q>>2]|0)|0;v=41}}else{d=(f[q>>2]|0)+d|0;v=41}if((v|0)==41){v=0;f[h>>2]=d}k=k+1|0;d=f[u>>2]|0;if((k|0)>=(d|0))break;else j=i}}g=g-e|0}while((g|0)>0)}else d=f[u>>2]|0;w=e>>>0>1073741823?-1:e<<2;m=mq(w)|0;cj(m|0,0,w|0)|0;if((d|0)<=0){nq(m);return 1}o=a+16|0;l=a+32|0;q=a+12|0;p=a+28|0;n=a+20|0;k=a+24|0;j=0;h=m;do{if((d|0)>0){i=0;do{d=f[h+(i<<2)>>2]|0;g=f[o>>2]|0;if((d|0)>(g|0)){d=f[l>>2]|0;f[d+(i<<2)>>2]=g}else{a=f[q>>2]|0;w=f[l>>2]|0;f[w+(i<<2)>>2]=(d|0)<(a|0)?a:d;d=w}i=i+1|0}while((i|0)<(f[u>>2]|0));h=d}else h=f[l>>2]|0;d=(f[b+(j<<2)>>2]|0)-(f[h+(j<<2)>>2]|0)|0;g=c+(j<<2)|0;f[g>>2]=d;if((d|0)>=(f[p>>2]|0)){if((d|0)>(f[k>>2]|0)){d=d-(f[n>>2]|0)|0;v=26}}else{d=(f[n>>2]|0)+d|0;v=26}if((v|0)==26){v=0;f[g>>2]=d}j=j+1|0;d=f[u>>2]|0}while((j|0)<(d|0));nq(m);return 1}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;i=r+20|0;j=r+12|0;p=r;g=r+16|0;h=r+24|0;k=a+16|0;en(k);e=(f[d+4>>2]|0)-(f[c+4>>2]|0)|0;m=a+12|0;f[m>>2]=e;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;Mi(p,e);f[g>>2]=p;f[i>>2]=f[g>>2];Fc(c,d,a,i)|0;g=a+32|0;c=g;d=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,6112,6116)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}e=a+8|0;b[h>>0]=f[e>>2];if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,h,h+1|0)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}if(!((c|0)>0|(c|0)==0&d>>>0>0)?(f[j>>2]=f[a+20>>2],f[i>>2]=f[j>>2],Ke(k,i,a,a+4|0)|0,h=g,d=f[h+4>>2]|0,n=a+4|0,!((d|0)>0|(d|0)==0&(f[h>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,n,n+4|0)|0;n=g;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,m,m+4|0)|0}}else o=9;if((f[e>>2]|0)==1?(l=a+48|0,o=g,n=f[o+4>>2]|0,!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,l,l+4|0)|0}do if(f[m>>2]|0)if((f[e>>2]|0)==1){e=pd(a,p)|0;break}else{wl(8103,23,1,f[1529]|0)|0;e=0;break}else e=1;while(0);c=f[p>>2]|0;if(!c){u=r;return e|0}d=f[q>>2]|0;if((d|0)!=(c|0))f[q>>2]=d+(~(((d+-12-c|0)>>>0)/12|0)*12|0);pq(c);u=r;return e|0}function yd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;g=c+12|0;d=f[g>>2]|0;if((d|0)!=(e|0))do{h=d+-4|0;f[g>>2]=h;d=f[h>>2]|0;f[h>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[g>>2]|0}while((d|0)!=(e|0));d=f[c+20>>2]|0;g=c+24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+32>>2]|0;g=c+36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);if(!(f[c+4>>2]|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=23;e=d;g=19071;c=e+23|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+23>>0]=0;f[a>>2]=-1;dj(a+4|0,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}Md(a,c);if(f[a>>2]|0){u=j;return}h=a+4|0;d=h+11|0;if((b[d>>0]|0)<0)pq(f[h>>2]|0);Fi(a,c);if(f[a>>2]|0){u=j;return}if((b[d>>0]|0)<0)pq(f[h>>2]|0);if(!(Ma[f[(f[c>>2]|0)+16>>2]&127](c)|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=29;e=d;g=19095;c=e+29|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+29>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}if(!(Ma[f[(f[c>>2]|0)+20>>2]&127](c)|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=31;e=d;g=19125;c=e+31|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+31>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}if(!(Ma[f[(f[c>>2]|0)+24>>2]&127](c)|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=31;e=d;g=19157;c=e+31|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+31>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}if(Ma[f[(f[c>>2]|0)+28>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=j;return}d=an(48)|0;f[i>>2]=d;f[i+8>>2]=-2147483600;f[i+4>>2]=34;e=d;g=19189;c=e+34|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+34>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}function zd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}p=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(!p){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&o;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){m=i;n=e;b:while(1){c:do if(p){e=g;while(1){l=f[e+4>>2]&o;if((l|0)==(c|0))break c;h=(f[a>>2]|0)+(l<<2)|0;if(!(f[h>>2]|0)){c=l;break b}h=e+8|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=d[h>>1]|0;j=h+2|0;h=e;while(1){i=g+8|0;if(k<<16>>16!=(d[i>>1]|0)){g=h;break d}if((d[j>>1]|0)!=(d[i+2>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{i=g;g=h;h=i}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){c=39;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}i=e+8|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=d[i>>1]|0;k=i+2|0;i=e;while(1){j=h+8|0;if(l<<16>>16!=(d[j>>1]|0)){h=i;break e}if((d[k>>1]|0)!=(d[j+2>>1]|0)){h=i;break e}i=f[h>>2]|0;if(!i)break;else{j=h;h=i;i=j}}}while(0);f[n>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){c=39;break a}}}while(0);g=f[e>>2]|0;if(!g){c=39;break a}else{m=e;n=e}}f[h>>2]=n;g=f[e>>2]|0;if(!g){c=39;break}else i=e}if((c|0)==39)return}function Ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}p=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=p;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;o=c+-1|0;p=(o&c|0)==0;if(!p){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&o;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){m=i;n=e;b:while(1){c:do if(p){e=g;while(1){l=f[e+4>>2]&o;if((l|0)==(d|0))break c;h=(f[a>>2]|0)+(l<<2)|0;if(!(f[h>>2]|0)){d=l;break b}h=e+8|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;j=h+1|0;h=e;while(1){i=g+8|0;if(k<<24>>24!=(b[i>>0]|0)){g=h;break d}if((b[j>>0]|0)!=(b[i+1>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{i=g;g=h;h=i}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){d=39;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}i=e+8|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[i>>0]|0;k=i+1|0;i=e;while(1){j=h+8|0;if(l<<24>>24!=(b[j>>0]|0)){h=i;break e}if((b[k>>0]|0)!=(b[j+1>>0]|0)){h=i;break e}i=f[h>>2]|0;if(!i)break;else{j=h;h=i;i=j}}}while(0);f[n>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){d=39;break a}}}while(0);g=f[e>>2]|0;if(!g){d=39;break a}else{m=e;n=e}}f[h>>2]=n;g=f[e>>2]|0;if(!g){d=39;break}else i=e}if((d|0)==39)return}function Bd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=mq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)nq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;z=g}else{d=h;Fp(d)}while(1){f[x>>2]=f[t+(z<<2)>>2];f[y>>2]=f[x>>2];vc(a,y,b,z);d=X(z,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=f[w>>2]|0;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[n>>2]|0)){g=g-(f[o>>2]|0)|0;B=31}}else{g=(f[o>>2]|0)+g|0;B=31}if((B|0)==31){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}z=z+-1|0;if((z|0)<=-1){B=15;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=z>>>0){B=16;break}}if((B|0)==15){u=A;return 1}else if((B|0)==16)Fp(g);return 0}function Cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=mq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)nq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;z=g}else{d=h;Fp(d)}while(1){f[x>>2]=f[t+(z<<2)>>2];f[y>>2]=f[x>>2];tc(a,y,b,z);d=X(z,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=f[w>>2]|0;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[n>>2]|0)){g=g-(f[o>>2]|0)|0;B=31}}else{g=(f[o>>2]|0)+g|0;B=31}if((B|0)==31){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}z=z+-1|0;if((z|0)<=-1){B=15;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=z>>>0){B=16;break}}if((B|0)==15){u=A;return 1}else if((B|0)==16)Fp(g);return 0}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;i=q+32|0;h=q+28|0;o=q+16|0;p=q;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){p=c;p=p+20|0;u=q;return p|0}}Qo(o);f[p>>2]=f[b>>2];l=p+4|0;f[p+8>>2]=0;k=p+12|0;f[k>>2]=0;m=p+8|0;f[l>>2]=m;c=f[o>>2]|0;n=o+4|0;if((c|0)!=(n|0)){g=m;do{d=c+16|0;f[h>>2]=g;f[i>>2]=f[h>>2];Xg(l,i,d,d)|0;d=f[c+4>>2]|0;if(!d){d=c+8|0;e=f[d>>2]|0;if((f[e>>2]|0)==(c|0))c=e;else do{b=f[d>>2]|0;d=b+8|0;c=f[d>>2]|0}while((f[c>>2]|0)!=(b|0))}else{c=d;while(1){d=f[c>>2]|0;if(!d)break;else c=d}}}while((c|0)!=(n|0))}i=a+12|0;c=f[j>>2]|0;do if(c){g=f[p>>2]|0;e=a+16|0;while(1){d=f[c+16>>2]|0;if((g|0)<(d|0)){d=f[c>>2]|0;if(!d){d=23;break}else e=c}else{if((d|0)>=(g|0)){d=27;break}e=c+4|0;d=f[e>>2]|0;if(!d){d=26;break}}c=d}if((d|0)==23){h=c;e=c;break}else if((d|0)==26){h=c;break}else if((d|0)==27){h=c;break}}else{h=j;e=j}while(0);c=f[e>>2]|0;if(!c){c=an(32)|0;f[c+16>>2]=f[p>>2];b=c+20|0;f[b>>2]=f[l>>2];g=c+24|0;d=f[p+8>>2]|0;f[g>>2]=d;j=f[k>>2]|0;f[c+28>>2]=j;if(!j)f[b>>2]=g;else{f[d+8>>2]=g;f[l>>2]=m;f[m>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[e>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[e>>2]|0}He(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}lj(p+4|0,f[m>>2]|0);lj(o,f[n>>2]|0);p=c;p=p+20|0;u=q;return p|0}function Ed(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+4|0;m=q;p=q+16|0;l=a+48|0;c=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=20;i=d;j=17903;k=i+20|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+20>>0]=0;h=zk(c+24|0,n)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);c=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=22;i=d;j=17924;k=i+22|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+22>>0]=0;g=zk(c+24|0,n)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);o=a+56|0;c=f[o>>2]|0;f[o>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);e=f[a+52>>2]|0;e=((f[e+100>>2]|0)-(f[e+96>>2]|0)|0)<12e3;c=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=18;i=d;j=17947;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+18>>0]=0;c=Bk(c,n,-1)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);switch(c|0){case -1:{if(h?e|((fi(f[l>>2]|0)|0)>4|g^1):0)e=13;else e=17;break}case 0:{if(h)e=13;else e=21;break}case 2:{e=17;break}default:e=21}if((e|0)==13){c=f[a+44>>2]|0;b[p>>0]=0;l=c+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[m>>2]=f[c+4>>2];f[n>>2]=f[m>>2];Ke(c,n,p,p+1|0)|0}c=an(296)|0;Hi(c);d=f[o>>2]|0;f[o>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);e=21}}else if((e|0)==17){c=f[a+44>>2]|0;b[p>>0]=2;l=c+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[m>>2]=f[c+4>>2];f[n>>2]=f[m>>2];Ke(c,n,p,p+1|0)|0}c=an(360)|0;hi(c);d=f[o>>2]|0;f[o>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);e=21}}if((e|0)==21){c=f[o>>2]|0;if(!c){a=0;u=q;return a|0}}a=Na[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;u=q;return a|0}function Fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}n=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(!n){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&m;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){k=h;l=d;b:while(1){c:do if(n){d=e;while(1){j=f[d+4>>2]&m;if((j|0)==(c|0))break c;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+12|0;e=f[d>>2]|0;d:do if(!e)e=d;else{h=f[d+8>>2]|0;g=d;while(1){if((h|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[i>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{o=e;e=g;g=o}}}while(0);f[l>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=39;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}j=d+12|0;g=f[d>>2]|0;e:do if(!g)g=d;else{i=f[d+8>>2]|0;h=d;while(1){if((i|0)!=(f[g+8>>2]|0)){g=h;break e}if((f[j>>2]|0)!=(f[g+12>>2]|0)){g=h;break e}h=f[g>>2]|0;if(!h)break;else{o=g;g=h;h=o}}}while(0);f[l>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=39;break a}}}while(0);e=f[d>>2]|0;if(!e){c=39;break a}else{k=d;l=d}}f[g>>2]=l;e=f[d>>2]|0;if(!e){c=39;break}else h=d}if((c|0)==39)return}function Gd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=km(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((km(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Mn(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;_n(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=_n(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function Hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;z=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;n=a+68|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;a=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;y=g}else{d=h;Fp(d)}while(1){f[w>>2]=f[t+(y<<2)>>2];f[x>>2]=f[w>>2];nb(z,x,b,y);d=X(y,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=n;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[a>>2]|0)){g=g-(f[o>>2]|0)|0;B=28}}else{g=(f[o>>2]|0)+g|0;B=28}if((B|0)==28){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}y=y+-1|0;if((y|0)<=-1){B=13;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=y>>>0){B=14;break}}if((B|0)==13){u=A;return 1}else if((B|0)==14)Fp(g);return 0}function Id(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;z=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;n=a+68|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;a=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;y=g}else{d=h;Fp(d)}while(1){f[w>>2]=f[t+(y<<2)>>2];f[x>>2]=f[w>>2];mb(z,x,b,y);d=X(y,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=n;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[a>>2]|0)){g=g-(f[o>>2]|0)|0;B=28}}else{g=(f[o>>2]|0)+g|0;B=28}if((B|0)==28){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}y=y+-1|0;if((y|0)<=-1){B=13;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=y>>>0){B=14;break}}if((B|0)==13){u=A;return 1}else if((B|0)==14)Fp(g);return 0}function Jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{j=d;d=d+-108|0;f[g+-108>>2]=f[d>>2];l=j+-104|0;f[g+-104>>2]=f[l>>2];k=j+-100|0;f[g+-100>>2]=f[k>>2];m=j+-96|0;f[g+-96>>2]=f[m>>2];f[l>>2]=0;f[k>>2]=0;f[m>>2]=0;m=j+-92|0;f[g+-92>>2]=f[m>>2];k=j+-88|0;f[g+-88>>2]=f[k>>2];l=j+-84|0;f[g+-84>>2]=f[l>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;b[g+-80>>0]=b[j+-80>>0]|0;l=g+-76|0;k=j+-76|0;f[l>>2]=0;m=g+-72|0;f[m>>2]=0;f[g+-68>>2]=0;f[l>>2]=f[k>>2];l=j+-72|0;f[m>>2]=f[l>>2];m=j+-68|0;f[g+-68>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;k=g+-64|0;l=j+-64|0;f[k>>2]=0;m=g+-60|0;f[m>>2]=0;f[g+-56>>2]=0;f[k>>2]=f[l>>2];k=j+-60|0;f[m>>2]=f[k>>2];m=j+-56|0;f[g+-56>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-52|0;k=j+-52|0;f[l>>2]=0;m=g+-48|0;f[m>>2]=0;f[g+-44>>2]=0;f[l>>2]=f[k>>2];l=j+-48|0;f[m>>2]=f[l>>2];m=j+-44|0;f[g+-44>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-40>>2]=f[j+-40>>2];b[g+-36>>0]=b[j+-36>>0]|0;k=g+-32|0;l=j+-32|0;f[k>>2]=0;m=g+-28|0;f[m>>2]=0;f[g+-24>>2]=0;f[k>>2]=f[l>>2];k=j+-28|0;f[m>>2]=f[k>>2];m=j+-24|0;f[g+-24>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-20|0;k=j+-20|0;f[l>>2]=0;m=g+-16|0;f[m>>2]=0;f[g+-12>>2]=0;f[l>>2]=f[k>>2];l=j+-16|0;f[m>>2]=f[l>>2];m=j+-12|0;f[g+-12>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-8>>2]=f[j+-8>>2];f[g+-4>>2]=f[j+-4>>2];g=(f[h>>2]|0)+-108|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}v=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=v;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;u=c+-1|0;v=(u&c|0)==0;if(!v){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&u;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;t=a+24|0;h=g;i=e;e=g;a:while(1){s=h;g=i;r=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!v){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&u;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{p=f[e+8>>2]|0;n=f[t>>2]|0;o=f[n+8>>2]|0;n=(f[n+12>>2]|0)-o|0;q=n>>>2;if((n|0)>0)l=e;else while(1){i=f[h>>2]|0;if(!i)break c;else h=i}while(1){m=f[h+8>>2]|0;n=0;do{i=f[o+(n<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)k=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else k=p;if((q|0)<=(n|0)){d=37;break a}if(j)i=f[(f[i+68>>2]|0)+(m<<2)>>2]|0;else i=m;n=n+1|0;if((k|0)!=(i|0)){h=l;break c}}while((n|0)<(q|0));i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[r>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[s>>2]|0;if(!e){d=42;break a}}g=f[e>>2]|0;if(!g){d=42;break a}else{s=e;r=e}}f[h>>2]=r;i=f[e>>2]|0;if(!i){d=42;break}else{h=e;d=g}}if((d|0)==37)ra(20748,20641,68,20738);else if((d|0)==42)return}function Ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+176|0;i=x+136|0;w=x+104|0;v=x;l=x+72|0;q=an(88)|0;j=f[c+8>>2]|0;f[q+4>>2]=0;f[q>>2]=3500;m=q+12|0;f[m>>2]=3524;o=q+64|0;f[o>>2]=0;f[q+68>>2]=0;f[q+72>>2]=0;g=q+16|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[q+76>>2]=j;f[q+80>>2]=d;r=q+84|0;f[r>>2]=0;n=q;f[w>>2]=3524;e=w+4|0;k=e+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=f[c+12>>2]|0;s=v+4|0;f[s>>2]=3524;p=v+56|0;f[p>>2]=0;t=v+60|0;f[t>>2]=0;f[v+64>>2]=0;g=v+8|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=k;f[e>>2]=g;g=((f[g+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;Zg(w+8|0,g,i);Ra[f[(f[w>>2]|0)+8>>2]&127](w);mf(l,w);mf(i,l);f[v>>2]=f[i+4>>2];g=v+4|0;Xf(g,i)|0;f[i>>2]=3524;e=f[i+20>>2]|0;if(e|0)pq(e);e=f[i+8>>2]|0;if(e|0)pq(e);f[v+36>>2]=k;f[v+40>>2]=d;f[v+44>>2]=j;f[v+48>>2]=q;f[l>>2]=3524;e=f[l+20>>2]|0;if(e|0)pq(e);e=f[l+8>>2]|0;if(e|0)pq(e);f[r>>2]=c+72;f[q+8>>2]=f[v>>2];Xf(m,g)|0;e=q+44|0;c=v+36|0;f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];f[e+12>>2]=f[c+12>>2];b[e+16>>0]=b[c+16>>0]|0;_f(o,f[p>>2]|0,f[t>>2]|0);f[a>>2]=n;e=f[p>>2]|0;if(e|0){g=f[t>>2]|0;if((g|0)!=(e|0))f[t>>2]=g+(~((g+-4-e|0)>>>2)<<2);pq(e)}f[s>>2]=3524;e=f[v+24>>2]|0;if(e|0)pq(e);e=f[v+12>>2]|0;if(e|0)pq(e);f[w>>2]=3524;e=f[w+20>>2]|0;if(e|0)pq(e);e=f[w+8>>2]|0;if(!e){u=x;return}pq(e);u=x;return}function Md(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q+4|0;n=q;j=q+12|0;k=q+11|0;l=q+10|0;p=q+8|0;m=c+44|0;e=f[m>>2]|0;g=e+16|0;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>0|(g|0)==0&h>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,19251,19256)|0;e=f[m>>2]|0;h=e+16|0;g=f[h+4>>2]|0;h=f[h>>2]|0}b[j>>0]=2;b[k>>0]=2;if(!((g|0)>0|(g|0)==0&h>>>0>0)?(f[n>>2]=f[e+4>>2],f[o>>2]=f[n>>2],Ke(e,o,j,j+1|0)|0,i=f[m>>2]|0,j=i+16|0,h=f[j+4>>2]|0,!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)):0){f[n>>2]=f[i+4>>2];f[o>>2]=f[n>>2];Ke(i,o,k,k+1|0)|0}e=(Ma[f[(f[c>>2]|0)+8>>2]&127](c)|0)&255;b[l>>0]=e;e=f[m>>2]|0;k=e+16|0;j=f[k+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,l,l+1|0)|0;e=f[m>>2]|0}l=Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[p>>0]=l;l=e+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,p,p+1|0)|0}d[p>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;e=f[m>>2]|0;c=e+16|0;m=f[c+4>>2]|0;if((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,p,p+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}function Nd(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;i=y;g=a+4|0;if((f[g>>2]|0)!=-1){x=0;u=y;return x|0}f[g>>2]=d;v=b[c+24>>0]|0;w=v<<24>>24;x=a+20|0;n[x>>2]=$(0.0);f[i>>2]=0;d=i+4|0;f[d>>2]=0;f[i+8>>2]=0;do if(v<<24>>24)if(v<<24>>24<0)Fp(i);else{k=w<<2;j=an(k)|0;f[i>>2]=j;l=j+(w<<2)|0;f[i+8>>2]=l;cj(j|0,0,k|0)|0;k=j+(w<<2)|0;f[d>>2]=k;break}else{j=0;k=0;l=0}while(0);t=a+8|0;d=f[t>>2]|0;i=a+12|0;if(!d)d=a+16|0;else{g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d);d=a+16|0;f[d>>2]=0;f[i>>2]=0;f[t>>2]=0}f[t>>2]=j;f[i>>2]=k;f[d>>2]=l;s=w>>>0>1073741823?-1:w<<2;r=mq(s)|0;s=mq(s)|0;m=c+48|0;o=f[m>>2]|0;p=c+40|0;l=f[p>>2]|0;q=f[c>>2]|0;Rg(s|0,(f[q>>2]|0)+o|0,l|0)|0;Rg(f[t>>2]|0,(f[q>>2]|0)+o|0,l|0)|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=f[p>>2]|0;p=f[p+4>>2]|0;q=f[c>>2]|0;Rg(r|0,(f[q>>2]|0)+l|0,o|0)|0;k=f[c+80>>2]|0;a:do if((k|0)>1){if(v<<24>>24<=0){d=1;while(1){c=$m(o|0,p|0,d|0,((d|0)<0)<<31>>31|0)|0;c=Mn(c|0,I|0,l|0,m|0)|0;Rg(s|0,(f[q>>2]|0)+c|0,o|0)|0;d=d+1|0;if((d|0)>=(k|0))break a}}i=f[t>>2]|0;j=1;do{a=$m(o|0,p|0,j|0,((j|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,l|0,m|0)|0;Rg(s|0,(f[q>>2]|0)+a|0,o|0)|0;a=0;do{g=i+(a<<2)|0;h=$(n[g>>2]);d=s+(a<<2)|0;e=$(n[d>>2]);if(h>e){n[g>>2]=e;e=$(n[d>>2])}d=r+(a<<2)|0;if($(n[d>>2])>2]=e;a=a+1|0}while((a|0)!=(w|0));j=j+1|0}while((j|0)<(k|0))}while(0);if(v<<24>>24>0){d=f[t>>2]|0;e=$(n[x>>2]);g=0;do{h=$(n[r+(g<<2)>>2]);h=$(h-$(n[d+(g<<2)>>2]));if(h>e){n[x>>2]=h;e=h}g=g+1|0}while((g|0)!=(w|0))}nq(s);nq(r);x=1;u=y;return x|0}function Od(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;p[s>>3]=a;c=f[s>>2]|0;k=f[s+4>>2]|0;p[s>>3]=b;l=f[s>>2]|0;m=f[s+4>>2]|0;d=An(c|0,k|0,52)|0;d=d&2047;h=An(l|0,m|0,52)|0;h=h&2047;n=k&-2147483648;j=vn(l|0,m|0,1)|0;i=I;a:do if(!((j|0)==0&(i|0)==0)?(g=Zn(b)|0,e=I&2147483647,!((d|0)==2047|(e>>>0>2146435072|(e|0)==2146435072&g>>>0>0))):0){e=vn(c|0,k|0,1)|0;g=I;if(!(g>>>0>i>>>0|(g|0)==(i|0)&e>>>0>j>>>0))return +((e|0)==(j|0)&(g|0)==(i|0)?a*0.0:a);if(!d){d=vn(c|0,k|0,12)|0;e=I;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){g=d;d=0;do{d=d+-1|0;g=vn(g|0,e|0,1)|0;e=I}while((e|0)>-1|(e|0)==-1&g>>>0>4294967295)}else d=0;c=vn(c|0,k|0,1-d|0)|0;i=I}else i=k&1048575|1048576;if(!h){e=vn(l|0,m|0,12)|0;g=I;if((g|0)>-1|(g|0)==-1&e>>>0>4294967295){h=0;do{h=h+-1|0;e=vn(e|0,g|0,1)|0;g=I}while((g|0)>-1|(g|0)==-1&e>>>0>4294967295)}else h=0;l=vn(l|0,m|0,1-h|0)|0;k=I}else k=m&1048575|1048576;j=_n(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;b:do if((d|0)>(h|0)){while(1){if(g)if((j|0)==0&(e|0)==0)break;else c=j;else e=i;c=vn(c|0,e|0,1)|0;i=I;d=d+-1|0;j=_n(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;if((d|0)<=(h|0)){h=j;break b}}b=a*0.0;break a}else h=j;while(0);if(g)if((h|0)==0&(e|0)==0){b=a*0.0;break}else c=h;else e=i;if(e>>>0<1048576|(e|0)==1048576&c>>>0<0)do{c=vn(c|0,e|0,1)|0;e=I;d=d+-1|0}while(e>>>0<1048576|(e|0)==1048576&c>>>0<0);if((d|0)>0){m=Mn(c|0,e|0,0,-1048576)|0;c=I;d=vn(d|0,0,52)|0;c=c|I;d=m|d}else{d=An(c|0,e|0,1-d|0)|0;c=I}f[s>>2]=d;f[s+4>>2]=c|n;b=+p[s>>3]}else o=3;while(0);if((o|0)==3){b=a*b;b=b/b}return +b}function Pd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}n=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(!n){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&m;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{j=h;g=e;i=h}a:while(1){b:do if(n){l=j;while(1){e=g;while(1){k=f[e+4>>2]&m;if((k|0)==(c|0))break;h=(f[a>>2]|0)+(k<<2)|0;if(!(f[h>>2]|0)){c=k;break b}j=e+8|0;h=e;while(1){g=f[h>>2]|0;if(!g)break;if((d[j>>1]|0)==(d[g+8>>1]|0))h=g;else break}f[i>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){c=37;break a}}g=f[e>>2]|0;if(!g){c=37;break a}else{l=e;i=e}}}else{l=j;k=i;while(1){e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){i=k;c=g;break b}j=e+8|0;i=e;while(1){h=f[i>>2]|0;if(!h)break;if((d[j>>1]|0)==(d[h+8>>1]|0))i=h;else break}f[k>>2]=h;f[i>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){c=37;break a}}g=f[e>>2]|0;if(!g){c=37;break a}else{l=e;k=e}}}while(0);f[h>>2]=i;g=f[e>>2]|0;if(!g){c=37;break}else{j=e;i=e}}if((c|0)==37)return}function Qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}n=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=n;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;m=c+-1|0;n=(m&c|0)==0;if(!n){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&m;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{j=h;g=e;i=h}a:while(1){b:do if(n){l=j;while(1){e=g;while(1){k=f[e+4>>2]&m;if((k|0)==(d|0))break;h=(f[a>>2]|0)+(k<<2)|0;if(!(f[h>>2]|0)){d=k;break b}j=e+8|0;h=e;while(1){g=f[h>>2]|0;if(!g)break;if((b[j>>0]|0)==(b[g+8>>0]|0))h=g;else break}f[i>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){d=37;break a}}g=f[e>>2]|0;if(!g){d=37;break a}else{l=e;i=e}}}else{l=j;k=i;while(1){e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){i=k;d=g;break b}j=e+8|0;i=e;while(1){h=f[i>>2]|0;if(!h)break;if((b[j>>0]|0)==(b[h+8>>0]|0))i=h;else break}f[k>>2]=h;f[i>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){d=37;break a}}g=f[e>>2]|0;if(!g){d=37;break a}else{l=e;k=e}}}while(0);f[h>>2]=i;g=f[e>>2]|0;if(!g){d=37;break}else{j=e;i=e}}if((d|0)==37)return}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}m=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(!m){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&l;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{i=g;e=d;h=g}a:while(1){b:do if(m){k=i;while(1){d=e;while(1){j=f[d+4>>2]&l;if((j|0)==(c|0))break;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+8|0;g=d;while(1){e=f[g>>2]|0;if(!e)break;if((f[i>>2]|0)==(f[e+8>>2]|0))g=e;else break}f[h>>2]=e;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;h=d}}}else{k=i;j=h;while(1){d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){h=j;c=e;break b}i=d+8|0;h=d;while(1){g=f[h>>2]|0;if(!g)break;if((f[i>>2]|0)==(f[g+8>>2]|0))h=g;else break}f[j>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;j=d}}}while(0);f[g>>2]=h;e=f[d>>2]|0;if(!e){c=37;break}else{i=d;h=d}}if((c|0)==37)return}function Sd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;q=e>>>0>1073741823?-1:e<<2;s=mq(q)|0;cj(s|0,0,q|0)|0;q=f[a+28>>2]|0;r=a+36|0;h=f[r>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;m=f[a+32>>2]|0;p=a+8|0;n=q+12|0;o=(e|0)>0;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;l=d;t=g}else{j=h;Fp(j)}while(1){g=f[k+(t<<2)>>2]|0;k=X(t,e)|0;if((g|0)>=0?(u=f[(f[n>>2]|0)+(g<<2)>>2]|0,(u|0)>=0):0){d=f[q>>2]|0;h=f[m>>2]|0;i=f[h+(f[d+(u<<2)>>2]<<2)>>2]|0;g=u+1|0;g=((g|0)%3|0|0)==0?u+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;j=f[h+(g<<2)>>2]|0;g=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;g=f[h+(g<<2)>>2]|0;if((i|0)<(t|0)&(j|0)<(t|0)&(g|0)<(t|0)){i=X(i,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(o){g=0;do{f[s+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}ai(p,b+(k<<2)|0,s,c+(k<<2)|0)}else v=15}else v=15;if((v|0)==15){v=0;ai(p,b+(k<<2)|0,b+((X(l+-2|0,e)|0)<<2)|0,c+(k<<2)|0)}if((t|0)<=1)break a;g=f[r>>2]|0;k=f[g>>2]|0;d=t+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{l=t;t=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,s,c);nq(s);return 1}cj(s|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,s,c);nq(s);return 1}function Td(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=f[c>>2]|0;l=f[b>>2]|0;b=m-l|0;o=(b|0)/12|0;if(!b)ra(8066,7796,232,8095);n=a+8|0;h=f[n>>2]|0;if((b|0)<768){if(h>>>0<=1){a=0;return a|0}c=f[e>>2]|0;g=1;b=0;do{b=(f[c+(b<<2)>>2]|0)>>>0>(f[c+(g<<2)>>2]|0)>>>0?g:b;g=g+1|0}while(g>>>0>>0);return b|0}if(h){j=f[e>>2]|0;k=f[a+1140>>2]|0;h=f[d>>2]|0;i=f[a+1128>>2]|0;if((l|0)==(m|0)){c=0;do{f[k+(c<<2)>>2]=(f[a>>2]|0)-(f[j+(c<<2)>>2]|0);b=i+(c<<2)|0;l=f[b>>2]|0;m=o-l|0;f[b>>2]=m>>>0>>0?l:m;c=c+1|0;b=f[n>>2]|0}while(c>>>0>>0)}else{d=0;do{g=(f[a>>2]|0)-(f[j+(d<<2)>>2]|0)|0;f[k+(d<<2)>>2]=g;g=(1<>2]|0)|0;e=i+(d<<2)|0;b=l;c=f[e>>2]|0;do{c=c+((f[b+(d<<2)>>2]|0)>>>0>>0&1)|0;f[e>>2]=c;b=b+12|0}while((b|0)!=(m|0));b=o-c|0;f[e>>2]=b>>>0>>0?c:b;d=d+1|0;b=f[n>>2]|0}while(d>>>0>>0)}if(b){e=f[a+1140>>2]|0;h=a+1128|0;c=0;d=0;g=0;do{if(f[e+(d<<2)>>2]|0){o=f[(f[h>>2]|0)+(d<<2)>>2]|0;n=g>>>0>>0;c=n?d:c;g=n?o:g}d=d+1|0}while(d>>>0>>0);i=c}else i=0}else i=0;d=a+1088|0;j=a+1104|0;b=f[j>>2]|0;g=32-b|0;h=a+1100|0;c=f[h>>2]|0;if((g|0)<4){e=i&15;g=4-g|0;f[j>>2]=g;g=e>>>g|c;f[h>>2]=g;c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))Gi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=e<<32-(f[j>>2]|0);a=i;return a|0}g=c|i<<28>>>b;f[h>>2]=g;o=b+4|0;f[j>>2]=o;if((o|0)!=32){a=i;return a|0}c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))Gi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=0;f[j>>2]=0;a=i;return a|0}function Ud(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[a>>2]|0;h=p;n=(f[b>>2]|0)-h|0;b=p+(n>>2<<2)|0;j=f[c>>2]|0;e=f[d>>2]|0;r=e-j|0;k=r>>2;c=j;q=e;if((r|0)<=0){r=b;return r|0}m=a+8|0;g=f[m>>2]|0;r=a+4|0;o=f[r>>2]|0;l=o;if((k|0)<=(g-l>>2|0)){j=b;i=l-j|0;d=i>>2;if((k|0)>(d|0)){d=c+(d<<2)|0;e=d;if((d|0)==(q|0))d=o;else{h=q+-4-e|0;g=o;while(1){f[g>>2]=f[d>>2];d=d+4|0;if((d|0)==(q|0))break;else g=g+4|0}d=o+((h>>>2)+1<<2)|0;f[r>>2]=d}if((i|0)<=0){r=b;return r|0}}else d=o;k=d-(b+(k<<2))>>2;g=b+(k<<2)|0;if(g>>>0>>0){h=(o+(0-k<<2)+~j|0)>>>2;i=d;j=g;while(1){f[i>>2]=f[j>>2];j=j+4|0;if(j>>>0>=o>>>0)break;else i=i+4|0}f[r>>2]=d+(h+1<<2)}if(k|0)do{g=g+-4|0;d=d+-4|0;f[d>>2]=f[g>>2]}while((g|0)!=(b|0));if((c|0)==(e|0)){r=b;return r|0}else d=b;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(e|0))break;else d=d+4|0}return b|0}d=(l-h>>2)+k|0;if(d>>>0>1073741823)Fp(a);g=g-h|0;i=g>>1;d=g>>2>>>0<536870911?(i>>>0>>0?d:i):1073741823;i=b;g=n>>2;do if(d)if(d>>>0>1073741823){r=sa(8)|0;to(r,20196);f[r>>2]=7152;wa(r|0,1112,107)}else{e=an(d<<2)|0;break}else e=0;while(0);k=e+(g<<2)|0;h=e+(d<<2)|0;if((c|0)==(q|0))d=k;else{e=((q+-4-j|0)>>>2)+1|0;d=k;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(q|0))break;else d=d+4|0}d=k+(e<<2)|0}e=k+(0-g<<2)|0;if((n|0)>0)Rg(e|0,p|0,n|0)|0;c=l-i|0;if((c|0)>0){Rg(d|0,b|0,c|0)|0;b=d+(c>>>2<<2)|0}else b=d;f[a>>2]=e;f[r>>2]=b;f[m>>2]=h;if(!p){r=k;return r|0}pq(p);r=k;return r|0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;switch(b-a>>2|0){case 2:{i=b+-4|0;g=f[i>>2]|0;h=f[a>>2]|0;d=f[c>>2]|0;c=f[d>>2]|0;e=(f[d+4>>2]|0)-c>>3;if(e>>>0<=g>>>0)Fp(d);if(e>>>0<=h>>>0)Fp(d);if((f[c+(g<<3)>>2]|0)>>>0>=(f[c+(h<<3)>>2]|0)>>>0){a=1;return a|0}f[a>>2]=g;f[i>>2]=h;a=1;return a|0}case 3:{vg(a,a+4|0,b+-4|0,c)|0;a=1;return a|0}case 4:{Sg(a,a+4|0,a+8|0,b+-4|0,c)|0;a=1;return a|0}case 5:{Nf(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{d=a+8|0;vg(a,a+4|0,d,c)|0;e=a+12|0;a:do if((e|0)!=(b|0)){m=f[c>>2]|0;k=f[m>>2]|0;l=(f[m+4>>2]|0)-k>>3;c=0;b:while(1){j=f[e>>2]|0;g=f[d>>2]|0;if(l>>>0<=j>>>0){c=14;break}if(l>>>0<=g>>>0){c=16;break}i=k+(j<<3)|0;if((f[i>>2]|0)>>>0<(f[k+(g<<3)>>2]|0)>>>0){h=e;while(1){f[h>>2]=g;if((d|0)==(a|0)){d=a;break}h=d+-4|0;g=f[h>>2]|0;if(l>>>0<=g>>>0){c=20;break b}if((f[i>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0)break;else{p=d;d=h;h=p}}f[d>>2]=j;c=c+1|0;if((c|0)==8){n=0;o=(e+4|0)==(b|0);break a}}d=e+4|0;if((d|0)==(b|0)){n=1;o=0;break a}else{p=e;e=d;d=p}}if((c|0)==14)Fp(m);else if((c|0)==16)Fp(m);else if((c|0)==20)Fp(m)}else{n=1;o=0}while(0);p=o|n;return p|0}}return 0}function Wd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;k=a+12|0;b=f[k>>2]|0;p=(f[b+4>>2]|0)-(f[b>>2]|0)|0;o=p>>2;if((p|0)<=0){u=r;return 1}j=a+152|0;p=a+140|0;l=a+144|0;i=a+148|0;a=0;while(1){f[m>>2]=(a>>>0)/3|0;f[n>>2]=f[m>>2];if(!(Dj(b,n)|0)?(f[(f[(f[k>>2]|0)+12>>2]|0)+(a<<2)>>2]|0)==-1073741824:0){b=a+1|0;b=((b|0)%3|0|0)==0?a+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[(f[f[k>>2]>>2]|0)+(b<<2)>>2]|0;c=f[j>>2]|0;if((f[c+(d<<2)>>2]|0)==-1){h=f[l>>2]|0;b=f[i>>2]|0;if((h|0)==(b<<5|0)){if((h+1|0)<0){q=11;break}b=b<<6;c=h+32&-32;gi(p,h>>>0<1073741823?(b>>>0>>0?c:b):2147483647);b=f[l>>2]|0;c=f[j>>2]|0}else b=h;f[l>>2]=b+1;g=(f[p>>2]|0)+(b>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(b&31));b=c+(d<<2)|0;if((f[b>>2]|0)==-1){d=a;while(1){f[b>>2]=h;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;a:do if((b|0)>=0){g=f[k>>2]|0;e=f[g+12>>2]|0;while(1){d=f[e+(b<<2)>>2]|0;if((d|0)==-1073741824)break;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;if((b|0)<0){q=18;break a}}d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)<0){d=-1073741824;e=b}else{d=f[(f[g>>2]|0)+(d<<2)>>2]|0;e=b}}else q=18;while(0);if((q|0)==18){q=0;b=(b|0)==-1073741824;do{}while(!b);d=-1073741824;e=-1073741824}b=c+(d<<2)|0;if((f[b>>2]|0)!=-1)break;else d=e}}}}a=a+1|0;if((a|0)>=(o|0)){q=3;break}b=f[k>>2]|0}if((q|0)==3){u=r;return 1}else if((q|0)==11)Fp(p);return 0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;r=e>>>0>1073741823?-1:e<<2;t=mq(r)|0;cj(t|0,0,r|0)|0;r=f[a+28>>2]|0;s=a+36|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;m=f[a+32>>2]|0;q=a+8|0;p=r+64|0;n=r+28|0;o=(e|0)>0;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;l=d;x=g}else{j=h;Fp(j)}while(1){g=f[k+(x<<2)>>2]|0;j=X(x,e)|0;if((!((g|0)<0?1:(1<<(g&31)&f[(f[r>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(y=f[(f[(f[p>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(y|0)>=0):0)?(w=f[n>>2]|0,k=f[m>>2]|0,u=f[k+(f[w+(y<<2)>>2]<<2)>>2]|0,v=y+1|0,v=f[k+(f[w+((((v|0)%3|0|0)==0?y+-2|0:v)<<2)>>2]<<2)>>2]|0,w=f[k+(f[w+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(u|0)<(x|0)&(v|0)<(x|0)&(w|0)<(x|0)):0){d=X(u,e)|0;h=X(v,e)|0;i=X(w,e)|0;if(o){g=0;do{f[t+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}ai(q,b+(j<<2)|0,t,c+(j<<2)|0)}else ai(q,b+(j<<2)|0,b+((X(l+-2|0,e)|0)<<2)|0,c+(j<<2)|0);if((x|0)<=1)break a;g=f[s>>2]|0;k=f[g>>2]|0;d=x+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{l=x;x=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,t,c);nq(t);return 1}cj(t|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,t,c);nq(t);return 1}function Yd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Oc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function Zd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Pc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function _d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Qc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function $d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Sc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ae(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Rc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function be(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Tc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=2097152;if(g){d=2097152;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<19)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ff(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Uc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=1048576;if(g){d=1048576;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<18)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Gf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function de(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Vc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=262144;if(g){d=262144;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<16)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Hf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Wc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=131072;if(g){d=131072;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<15)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}If(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Xc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=32768;if(g){d=32768;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<13)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Mf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ge(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Yc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Zc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;_c(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;$c(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;ad(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;bd(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;cd(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;dd(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function oe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;p=t+4|0;q=t;s=t+8|0;r=a+4|0;o=a+8|0;Rh((f[o>>2]|0)-(f[r>>2]|0)>>2,c)|0;d=f[r>>2]|0;if((f[o>>2]|0)==(d|0)){u=t;return 1}n=a+32|0;m=c+16|0;h=c+4|0;i=s+1|0;j=s+1|0;l=s+1|0;k=s+1|0;a=d;g=0;while(1){a=f[a+(g<<2)>>2]|0;d=f[n>>2]|0;if((a|0)<=-1){a=5;break}e=f[d+8>>2]|0;if(((f[d+12>>2]|0)-e>>2|0)<=(a|0)){a=7;break}e=f[e+(a<<2)>>2]|0;b[s>>0]=f[e+56>>2];a=m;d=f[a>>2]|0;a=f[a+4>>2]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,k)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=f[e+28>>2];if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,l)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+24>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,j)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+32>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,i)|0}Rh(f[e+60>>2]|0,c)|0;g=g+1|0;a=f[r>>2]|0;if(g>>>0>=(f[o>>2]|0)-a>>2>>>0){a=3;break}}if((a|0)==3){u=t;return 1}else if((a|0)==5)ra(20625,20641,59,20738);else if((a|0)==7)ra(20748,20641,60,20738);return 0}function pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+60|0;Rh(f[g>>2]|0,b)|0;cn(k);Uk(k);c=f[a+56>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;qj(k);u=m;return 1}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+80|0;Rh(f[g>>2]|0,b)|0;cn(k);Uk(k);c=f[a+76>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;qj(k);u=m;return 1}function re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;n=p+8|0;o=p;m=c+4|0;i=f[(f[m>>2]|0)+48>>2]|0;l=c+12|0;h=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=17;c=d;e=17860;g=c+17|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[d+17>>0]=0;g=i+16|0;c=f[g>>2]|0;if(c){d=g;a:while(1){e=c;while(1){if((f[e+16>>2]|0)>=(h|0))break;c=f[e+4>>2]|0;if(!c)break a;else e=c}c=f[e>>2]|0;if(!c){d=e;break}else d=e}if(((d|0)!=(g|0)?(h|0)>=(f[d+16>>2]|0):0)?(j=d+20|0,(Oh(j,n)|0)!=0):0)d=Bk(j,n,-1)|0;else k=10}else k=10;if((k|0)==10)d=Bk(i,n,-1)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);d=(1<>2]=-1;f[n+4>>2]=-1;f[n+8>>2]=-1;f[n+12>>2]=-1;if(((d|0)%2|0|0)!=1)ra(11651,11684,68,11850);c=(_(d|0)|0)^31;d=c+1|0;if(!c)ra(11874,11885,60,12006);if(d>>>0>=31)ra(12026,11885,61,12006);f[n>>2]=d;k=2<>2]=k+-1;k=k+-2|0;f[n+8>>2]=k;f[n+12>>2]=(k|0)/2|0;switch(ki(f[l>>2]|0,f[m>>2]|0)|0){case 6:{ah(o,6,f[l>>2]|0,f[m>>2]|0,n);f[a>>2]=f[o>>2];u=p;return}case 0:{ah(o,0,f[l>>2]|0,f[m>>2]|0,n);f[a>>2]=f[o>>2];u=p;return}default:ra(12038,12044,69,12176)}}function se(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;i=l+4|0;j=l;e=l+9|0;k=l+8|0;c=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[e>>0]=c;g=a+4|0;d=f[(f[g>>2]|0)+44>>2]|0;m=d+16|0;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[j>>2]=f[d+4>>2];f[i>>2]=f[j>>2];Ke(d,i,e,e+1|0)|0;c=b[e>>0]|0}a:do if(c<<24>>24>-1){d=a+172|0;n=f[(f[d>>2]|0)+((c<<24>>24)*108|0)>>2]|0;m=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;e=b[e>>0]|0;c=f[d>>2]|0;d=f[c+(e*108|0)+104>>2]|0;switch(f[(f[(f[m>>2]|0)+84>>2]|0)+(n<<2)>>2]|0){case 0:{h=7;break a}case 1:{if(b[c+(e*108|0)+28>>0]|0){h=7;break a}break}default:{}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=1;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,k,k+1|0)|0}}else{d=f[a+68>>2]|0;h=7}while(0);if((h|0)==7){c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=0;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,k,k+1|0)|0}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=d;n=c+16|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0){u=l;return 1}f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,k,k+1|0)|0;u=l;return 1}function te(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=Ka,B=Ka;y=u;u=u+16|0;x=y;h=c+4|0;if((f[h>>2]|0)==-1)ra(7389,7406,113,7524);q=e+4|0;j=b[d+24>>0]|0;w=j<<24>>24;ui(a,c,(f[q>>2]|0)-(f[e>>2]|0)>>2,w,g,d);o=f[a>>2]|0;o=(f[f[o>>2]>>2]|0)+(f[o+48>>2]|0)|0;v=f[h>>2]|0;cp(x);po(x,$(n[c+20>>2]),(1<>>0>1073741823?-1:w<<2)|0;g=f[q>>2]|0;a=f[e>>2]|0;q=a;if((g|0)==(a|0)){nq(v);u=y;return}r=d+68|0;s=d+48|0;t=d+40|0;k=c+8|0;l=x+4|0;p=(b[d+84>>0]|0)==0;m=g-a>>2;if(j<<24>>24>0){e=0;c=0}else{g=0;do{a=f[q+(g<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;w=s;o=f[w>>2]|0;w=f[w+4>>2]|0;l=t;x=f[l>>2]|0;l=$m(x|0,f[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;w=Mn(l|0,I|0,o|0,w|0)|0;Rg(v|0,(f[f[d>>2]>>2]|0)+w|0,x|0)|0;g=g+1|0}while(g>>>0>>0);nq(v);u=y;return}while(1){a=f[q+(c<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;h=s;j=f[h>>2]|0;h=f[h+4>>2]|0;z=t;g=f[z>>2]|0;a=$m(g|0,f[z+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,j|0,h|0)|0;Rg(v|0,(f[f[d>>2]>>2]|0)+a|0,g|0)|0;a=f[k>>2]|0;i=$(n[x>>2]);g=0;h=e;while(1){A=$(n[v+(g<<2)>>2]);A=$(A-$(n[a+(g<<2)>>2]));j=A<$(0.0);B=$(-A);A=$((j?B:A)/i);z=~~$(J($($($(f[l>>2]|0)*A)+$(.5))));f[o+(h<<2)>>2]=j?0-z|0:z;g=g+1|0;if((g|0)==(w|0))break;else h=h+1|0}c=c+1|0;if(c>>>0>=m>>>0)break;else e=w+e|0}nq(v);u=y;return}function ue(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=Ka,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka;m=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(!c)if(m>>>0>>0)h=m;else h=(m>>>0)%(i>>>0)|0;else h=g&m;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(!b)b=h;else{if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}l=f[b+4>>2]|0;if(!((l|0)==(m|0)|(l&g|0)==(h|0))){b=h;break a}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}do{b=f[b>>2]|0;if(!b){b=h;break a}c=f[b+4>>2]|0;if((c|0)!=(m|0)){if(c>>>0>=i>>>0)c=(c>>>0)%(i>>>0)|0;if((c|0)!=(h|0)){b=h;break a}}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}}else b=0;while(0);l=an(16)|0;f[l+8>>2]=m;f[l+12>>2]=0;f[l+4>>2]=m;f[l>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;vi(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&m;break}if(m>>>0>>0){g=b;b=m}else{g=b;b=(m>>>0)%(b>>>0)|0}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[l>>2]=f[b>>2];f[b>>2]=l;f[c>>2]=b;b=f[l>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(c&g){if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0}else b=b&c;b=(f[a>>2]|0)+(b<<2)|0;o=30}}else{f[l>>2]=f[b>>2];o=30}if((o|0)==30)f[b>>2]=l;f[h>>2]=(f[h>>2]|0)+1;a=l;a=a+12|0;return a|0}function ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if((e|0)<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if((h|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;m=r+4|0;l=r;f[a+64>>2]=b;q=a+128|0;f[q>>2]=2;p=a+132|0;f[p>>2]=7;g=Ma[f[(f[b>>2]|0)+32>>2]&127](b)|0;n=a+88|0;f[n>>2]=g;k=a+104|0;g=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;j=a+108|0;b=f[j>>2]|0;c=f[k>>2]|0;h=b-c>>2;d=c;e=b;if(g>>>0<=h>>>0){if(g>>>0>>0?(i=d+(g<<2)|0,(e|0)!=(i|0)):0){b=e+(~((e+-4-i|0)>>>2)<<2)|0;f[j>>2]=b}}else{qi(k,g-h|0);c=f[k>>2]|0;b=f[j>>2]|0}if((b-c|0)>0){b=0;do{h=f[n>>2]|0;f[l>>2]=b;f[m>>2]=f[l>>2];h=Uh(h,m)|0;i=f[k>>2]|0;f[i+(b<<2)>>2]=h;b=b+1|0}while((b|0)<((f[j>>2]|0)-i>>2|0))}j=a+92|0;d=f[n>>2]|0;b=f[d>>2]|0;i=(f[d+4>>2]|0)-b>>2;g=a+96|0;e=f[g>>2]|0;c=f[j>>2]|0;h=e-c>>2;if(i>>>0<=h>>>0){if(i>>>0>>0?(o=c+(i<<2)|0,(e|0)!=(o|0)):0)f[g>>2]=e+(~((e+-4-o|0)>>>2)<<2)}else{qi(j,i-h|0);b=f[n>>2]|0;d=b;b=f[b>>2]|0}c=f[d+4>>2]|0;if((c-b|0)>0){b=0;do{o=f[d>>2]|0;f[(f[j>>2]|0)+(b<<2)>>2]=f[o+(b<<2)>>2];b=b+1|0}while((b|0)<(c-o>>2|0))}e=(f[p>>2]|0)-(f[q>>2]|0)+1|0;g=a+136|0;h=a+140|0;b=f[h>>2]|0;c=f[g>>2]|0;d=(b-c|0)/12|0;if(e>>>0>d>>>0){Lf(g,e-d|0);u=r;return 1}if(e>>>0>=d>>>0){u=r;return 1}e=c+(e*12|0)|0;if((b|0)==(e|0)){u=r;return 1}do{c=b+-12|0;f[h>>2]=c;d=f[c>>2]|0;if(!d)b=c;else{c=b+-8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);b=f[h>>2]|0}}while((b|0)!=(e|0));u=r;return 1}function xe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;j=k;g=f[a+8>>2]|0;e=a+4|0;d=f[e>>2]|0;if(((g-d|0)/108|0)>>>0>=c>>>0){do{f[d>>2]=-1;am(d+4|0);b[d+72>>0]=1;j=d+76|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;d=(f[e>>2]|0)+108|0;f[e>>2]=d;c=c+-1|0}while((c|0)!=0);u=k;return}e=f[a>>2]|0;h=(d-e|0)/108|0;d=h+c|0;if(d>>>0>39768215)Fp(a);g=(g-e|0)/108|0;i=g<<1;d=g>>>0<19884107?(i>>>0>>0?d:i):39768215;f[j+12>>2]=0;f[j+16>>2]=a+8;do if(d)if(d>>>0>39768215){k=sa(8)|0;to(k,20196);f[k>>2]=7152;wa(k|0,1112,107)}else{e=an(d*108|0)|0;break}else e=0;while(0);f[j>>2]=e;h=e+(h*108|0)|0;i=j+8|0;f[i>>2]=h;g=j+4|0;f[g>>2]=h;f[j+12>>2]=e+(d*108|0);d=h;do{f[d>>2]=-1;am(d+4|0);b[d+72>>0]=1;h=d+76|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;d=(f[i>>2]|0)+108|0;f[i>>2]=d;c=c+-1|0}while((c|0)!=0);Jd(a,j);h=f[g>>2]|0;c=f[i>>2]|0;if((c|0)!=(h|0))do{f[i>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}yj(c+-104|0);c=f[i>>2]|0}while((c|0)!=(h|0));c=f[j>>2]|0;if(c|0)pq(c);u=k;return}function ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;l=n;j=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;e=f[c+28>>2]|0;d=f[e+4>>2]|0;if((j|0)<=-1)ra(20625,20641,59,20738);c=f[d+8>>2]|0;if(((f[d+12>>2]|0)-c>>2|0)<=(j|0))ra(20748,20641,60,20738);i=f[c+(j<<2)>>2]|0;switch(f[i+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{m=an(40)|0;$n(m);f[a>>2]=m;u=n;return}case 9:{m=7;break}default:{}}if((m|0)==7){h=f[e+48>>2]|0;d=an(32)|0;f[l>>2]=d;f[l+8>>2]=-2147483616;f[l+4>>2]=17;e=d;c=17860;g=e+17|0;do{b[e>>0]=b[c>>0]|0;e=e+1|0;c=c+1|0}while((e|0)<(g|0));b[d+17>>0]=0;g=h+16|0;c=f[g>>2]|0;if(c){d=g;a:while(1){e=c;while(1){if((f[e+16>>2]|0)>=(j|0))break;c=f[e+4>>2]|0;if(!c)break a;else e=c}c=f[e>>2]|0;if(!c){d=e;break}else d=e}if(((d|0)!=(g|0)?(j|0)>=(f[d+16>>2]|0):0)?(k=d+20|0,(Oh(k,l)|0)!=0):0)d=Bk(k,l,-1)|0;else m=16}else m=16;if((m|0)==16)d=Bk(h,l,-1)|0;if((b[l+11>>0]|0)<0)pq(f[l>>2]|0);if((d|0)>0)if((f[i+56>>2]|0)==1){d=an(48)|0;e=d;g=e+48|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));$n(d);f[d>>2]=2384;f[d+40>>2]=1168;f[d+44>>2]=-1;m=d;f[a>>2]=m;u=n;return}else{m=an(64)|0;rm(m);f[a>>2]=m;u=n;return}}m=an(36)|0;tm(m);f[a>>2]=m;u=n;return}function ze(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((e|0)>31);h=h&31}if((h|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function Ae(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;h=l+36|0;k=l+24|0;i=l+12|0;j=l;if(!c){m=0;u=l;return m|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;m=7}}else{m=g+16&-16;a=an(m)|0;f[h>>2]=a;f[h+8>>2]=m|-2147483648;f[h+4>>2]=g;m=7}if((m|0)==7)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=Vj(e)|0;if(g>>>0>4294967279)Fp(k);if(g>>>0<11){b[k+11>>0]=g;if(!g)a=k;else{a=k;m=13}}else{m=g+16&-16;a=an(m)|0;f[k>>2]=a;f[k+8>>2]=m|-2147483648;f[k+4>>2]=g;m=13}if((m|0)==13)Rg(a|0,e|0,g|0)|0;b[a+g>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(i);if(g>>>0<11){b[i+11>>0]=g;if(!g)a=i;else{a=i;m=19}}else{m=g+16&-16;a=an(m)|0;f[i>>2]=a;f[i+8>>2]=m|-2147483648;f[i+4>>2]=g;m=19}if((m|0)==19)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=Vj(e)|0;if(g>>>0>4294967279)Fp(j);if(g>>>0<11){b[j+11>>0]=g;if(!g)a=j;else{a=j;m=25}}else{m=g+16&-16;a=an(m)|0;f[j>>2]=a;f[j+8>>2]=m|-2147483648;f[j+4>>2]=g;m=25}if((m|0)==25)Rg(a|0,e|0,g|0)|0;b[a+g>>0]=0;Vm(c,i,j);if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);m=1;u=l;return m|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;p=r+16|0;n=r+12|0;m=r+8|0;o=r+4|0;q=r;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Qo(e);if((a|0)!=(b|0)){f[m>>2]=f[b>>2];f[o>>2]=b+4;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(a,n,p)}d=b+24|0;if((e|0)!=(d|0)){f[m>>2]=f[d>>2];f[o>>2]=b+28;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(e,n,p)}f[q>>2]=0;l=c+8|0;k=c+12|0;d=f[k>>2]|0;e=f[l>>2]|0;if((d-e|0)<=0){u=r;return}j=b+16|0;c=0;while(1){if((c|0)<=-1){d=9;break}i=f[(f[e+(c<<2)>>2]|0)+56>>2]|0;b=f[j>>2]|0;if(b){h=j;g=b;a:while(1){b=g;while(1){if((f[b+16>>2]|0)>=(i|0))break;b=f[b+4>>2]|0;if(!b){b=h;break a}}g=f[b>>2]|0;if(!g)break;else h=b}if((b|0)!=(j|0)?(i|0)>=(f[b+16>>2]|0):0){e=b+20|0;d=Dd(a,q)|0;if((d|0)!=(e|0)){f[m>>2]=f[e>>2];f[o>>2]=b+24;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(d,n,p)}c=f[q>>2]|0;e=f[l>>2]|0;d=f[k>>2]|0}}c=c+1|0;f[q>>2]=c;if((c|0)>=(d-e>>2|0)){d=7;break}}if((d|0)==7){u=r;return}else if((d|0)==9)ra(20625,20641,59,20738)}function Ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+16|0;n=t+4|0;o=t;r=t+8|0;q=a+12|0;Rh(f[q>>2]|0,c)|0;if(!(f[q>>2]|0)){s=1;u=t;return s|0}p=c+16|0;j=c+4|0;k=r+1|0;l=r+1|0;m=r+1|0;d=0;while(1){i=f[a>>2]|0;h=f[i+(d<<3)>>2]|0;if(h>>>0>63)if(h>>>0>16383)if(h>>>0>4194303){d=0;s=20;break}else{g=2;s=13}else{g=1;s=13}else if(!h){g=d+1|0;e=0;do{if(f[i+(g+e<<3)>>2]|0)break;e=e+1|0}while(e>>>0<63);b[r>>0]=e<<2|3;i=p;h=f[i+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ke(c,n,r,m)|0}d=e+d|0}else{g=0;s=13}if((s|0)==13){s=0;b[r>>0]=g|h<<2;i=p;e=f[i+4>>2]|0;if(!((e|0)>0|(e|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ke(c,n,r,l)|0}if(g){e=0;do{e=e+1|0;b[r>>0]=h>>>((e<<3)+-2|0);i=p;v=f[i+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ke(c,n,r,k)|0}}while((e|0)<(g|0))}}d=d+1|0;if(d>>>0>=(f[q>>2]|0)>>>0){d=1;s=20;break}}if((s|0)==20){u=t;return d|0}return 0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;h=e<<5;d=b-g|0;if(h>>>0>>0|g>>>0>(h-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0)Fp(a);e=e<<6;b=b+31&-32;gi(o,h>>>0<1073741823?(e>>>0>>0?b:e):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;bm(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)pq(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;cj(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;cj(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;l=n;h=a+4|0;d=f[h>>2]|0;e=f[(f[a>>2]|0)+52>>2]|0;if(!d){if(!(Oa[e&31](a,c,0)|0)){m=0;u=n;return m|0}}else if(!(Oa[e&31](a,c,f[(f[d+4>>2]|0)+80>>2]|0)|0)){m=0;u=n;return m|0}if(!(b[a+28>>0]|0)){m=1;u=n;return m|0}j=f[a+8>>2]|0;i=f[a+32>>2]|0;d=f[j+80>>2]|0;f[l>>2]=0;k=l+4|0;f[k>>2]=0;f[l+8>>2]=0;do if(d)if(d>>>0>1073741823)Fp(l);else{a=d<<2;g=an(a)|0;f[l>>2]=g;m=g+(d<<2)|0;f[l+8>>2]=m;cj(g|0,0,a|0)|0;f[k>>2]=m;break}else{g=0;m=0}while(0);e=f[c+4>>2]|0;d=f[c>>2]|0;c=d;a:do if((e|0)!=(d|0)){a=e-d>>2;if(b[j+84>>0]|0){d=0;while(1){f[g+(f[c+(d<<2)>>2]<<2)>>2]=d;d=d+1|0;if(d>>>0>=a>>>0)break a}}d=f[j+68>>2]|0;e=0;do{f[g+(f[d+(f[c+(e<<2)>>2]<<2)>>2]<<2)>>2]=e;e=e+1|0}while(e>>>0>>0)}while(0);c=f[(f[(f[h>>2]|0)+4>>2]|0)+80>>2]|0;if((c|0)>0){e=j+68|0;a=(b[i+84>>0]|0)==0;g=f[l>>2]|0;d=i+68|0;if(!(b[j+84>>0]|0)){if(!a)ra(20060,20079,89,20179);a=f[e>>2]|0;d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while((e|0)<(c|0))}else{if(!a)ra(20060,20079,89,20179);d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(e<<2)>>2];e=e+1|0}while((e|0)<(c|0))}}d=f[l>>2]|0;if(d|0){if((m|0)!=(d|0))f[k>>2]=m+(~((m+-4-d|0)>>>2)<<2);pq(d)}m=1;u=n;return m|0}function Fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b+12|0;h=f[m>>2]|0;l=c+4|0;k=(f[l>>2]|0)-h|0;e=c;f[e>>2]=(f[c>>2]|0)-h;f[e+4>>2]=k;e=(f[d>>2]|0)-h|0;k=d+4|0;h=(f[k>>2]|0)-h|0;g=d;f[g>>2]=e;f[g+4>>2]=h;g=f[m>>2]|0;if((g|0)<(e|0))ra(12672,11885,250,12695);if((g|0)<(h|0))ra(12707,11885,251,12695);i=0-g|0;if((e|0)<(i|0))ra(12730,11885,252,12695);if((h|0)<(i|0))ra(12754,11885,253,12695);if((((h|0)>-1?h:0-h|0)+((e|0)>-1?e:0-e|0)|0)>(g|0)){Ph(b,c,l);Ph(b,d,k);e=f[d>>2]|0}if(!e){g=f[k>>2]|0;if(!g)g=0;else j=14}else{g=f[k>>2]|0;if(!((e|0)<0&(g|0)<1))j=14}if((j|0)==14){if(!e)h=(g|0)==0?0:(g|0)>0?3:1;else h=(e|0)>0?(g>>31)+2|0:(g|0)<1?0:3;e=f[c>>2]|0;g=f[l>>2]|0;switch(h|0){case 1:{j=c;f[j>>2]=g;f[j+4>>2]=0-e;e=f[k>>2]|0;g=0-(f[d>>2]|0)|0;break}case 2:{j=c;f[j>>2]=0-e;f[j+4>>2]=0-g;e=0-(f[d>>2]|0)|0;g=0-(f[k>>2]|0)|0;break}case 3:{j=c;f[j>>2]=0-g;f[j+4>>2]=e;e=0-(f[k>>2]|0)|0;g=f[d>>2]|0;break}default:{j=c;f[j>>2]=e;f[j+4>>2]=g;e=f[d>>2]|0;g=f[k>>2]|0}}f[d>>2]=e;f[d+4>>2]=g}e=(f[c>>2]|0)-e|0;f[a>>2]=e;i=(f[l>>2]|0)-g|0;h=a+4|0;f[h>>2]=i;g=f[m>>2]<<1;if((g|0)<(e|0))ra(12778,11885,313,12812);if((e|0)<0)e=(f[b+4>>2]|0)+e|0;f[a>>2]=e;if((g|0)<(i|0))ra(12778,11885,313,12812);if((i|0)>=0){b=i;f[h>>2]=b;return}b=(f[b+4>>2]|0)+i|0;f[h>>2]=b;return}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f[b>>2]|0;l=a+12|0;i=(h|0)<0;do if(!i)if(!((h>>>0)%3|0)){d=h+2|0;break}else{d=h+-1|0;break}else d=h;while(0);a:do if((d|0)<0)m=7;else{g=f[(f[l>>2]|0)+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824){e=0;break a}b=e+1|0;if((e|0)<0)d=e;else d=((b|0)%3|0|0)==0?e+-2|0:b;if((d|0)<0){m=7;break}}}while(0);if((m|0)==7){b=(d|0)==-1073741824;do{}while(!b);e=1;d=-1073741824}if(i)k=-1073741824;else k=f[(f[f[l>>2]>>2]|0)+(h<<2)>>2]|0;if(c){b=(f[a+84>>2]|0)+(k>>>5<<2)|0;f[b>>2]=f[b>>2]|1<<(k&31);b=1}else b=0;i=f[(f[a+152>>2]|0)+(k<<2)>>2]|0;c=(f[a+140>>2]|0)+(i>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(i&31);if(!e?(j=(((d>>>0)%3|0|0)==0?2:-1)+d|0,(j|0)>=0):0)e=f[(f[f[l>>2]>>2]|0)+(j<<2)>>2]|0;else e=-1073741824;if((e|0)==(k|0)){m=b;return m|0}i=a+84|0;do{a=(f[i>>2]|0)+(e>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(e&31);b=b+1|0;e=d+1|0;if((d|0)>=0)d=((e|0)%3|0|0)==0?d+-2|0:e;b:do if((d|0)>=0){h=f[l>>2]|0;g=f[h+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824)break;d=e+1|0;if((e|0)<0)d=e;else d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0){m=26;break b}}e=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((e|0)<0)e=-1073741824;else e=f[(f[h>>2]|0)+(e<<2)>>2]|0}else m=26;while(0);if((m|0)==26){m=0;d=(d|0)==-1073741824;do{}while(!d);e=-1073741824;d=-1073741824}}while((e|0)!=(k|0));return b|0}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){d=23;break}i=h+8|0;e=f[i>>2]|0;d=f[e>>2]|0;if((d|0)==(h|0)){d=f[e+4>>2]|0;if(!d){d=7;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=7;break}}else{if(!d){d=16;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=16;break}}b[g>>0]=1;i=(e|0)==(a|0);b[e+12>>0]=i&1;b[c>>0]=1;if(i){d=23;break}else c=e}if((d|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;d=f[a>>2]|0;c=f[d>>2]|0;f[a>>2]=c;if(!c)c=e;else{f[c+8>>2]=h;c=f[i>>2]|0}f[d+8>>2]=c;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=d;f[d>>2]=h;f[i>>2]=d;c=d;e=f[d+8>>2]|0}b[c+12>>0]=1;b[e+12>>0]=0;c=f[e>>2]|0;g=c+4|0;d=f[g>>2]|0;f[e>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[g>>2]=e;f[i>>2]=c;return}else if((d|0)==16){if((f[h>>2]|0)==(c|0)){g=f[h>>2]|0;d=g+4|0;c=f[d>>2]|0;f[h>>2]=c;if(c){f[c+8>>2]=h;e=f[i>>2]|0}f[g+8>>2]=e;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=g;f[d>>2]=h;f[i>>2]=g;c=g;e=f[g+8>>2]|0}else c=h;b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((d|0)==23)return}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;q=s+4|0;k=s;f[q>>2]=0;r=q+4|0;f[r>>2]=0;f[q+8>>2]=0;m=a+52|0;b=f[m>>2]|0;j=(f[b+100>>2]|0)-(f[b+96>>2]|0)|0;n=(j|0)/12|0;do if((j|0)>0){j=q+8|0;c=f[b+96>>2]|0;if(((f[b+100>>2]|0)-c|0)>0){d=c;l=0;i=0}else ra(20006,19918,64,20001);while(1){g=f[d+(l*12|0)>>2]|0;c=g-i|0;c=((c|0)>-1?c:0-c|0)<<1|c>>>31;f[k>>2]=c;b=f[r>>2]|0;e=f[j>>2]|0;if((b|0)==(e|0)){Gi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[b>>2]=c;c=b+4|0;f[r>>2]=c}h=f[d+(l*12|0)+4>>2]|0;b=h-g|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0)){Gi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[c>>2]=b;c=c+4|0;f[r>>2]=c}i=f[d+(l*12|0)+8>>2]|0;b=i-h|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0))Gi(q,k);else{f[c>>2]=b;f[r>>2]=c+4}l=l+1|0;if((l|0)>=(n|0)){b=3;break}h=f[m>>2]|0;d=f[h+96>>2]|0;if((l|0)>=(((f[h+100>>2]|0)-d|0)/12|0|0)){b=5;break}}if((b|0)==3){o=f[q>>2]|0;p=f[r>>2]|0;break}else if((b|0)==5)ra(20006,19918,64,20001)}else{o=0;p=0}while(0);Lc(o,p-o>>2,1,f[a+44>>2]|0)|0;c=f[q>>2]|0;if(!c){u=s;return 1}b=f[r>>2]|0;if((b|0)!=(c|0))f[r>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);u=s;return 1}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=f[b>>2]|0;b=e*3|0;h=a+12|0;e=(e|0)<0;if(e)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(e)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;g=f[a+152>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!e)b=((d|0)%3|0|0)==0?b+-2|0:d;a=(b|0)<0;if(a)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(a)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!a){b=((d|0)%3|0|0)==0?b+-2|0:d;if((b|0)<0){d=b;a=1}else{d=b;a=0;b=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0}}else{d=b;a=1}if((b|0)==-1073741824){i=0;h=d;f[c>>2]=h;return i|0}if(a)b=-1073741824;else b=f[(f[f[h>>2]>>2]|0)+(d<<2)>>2]|0;if((f[g+(b<<2)>>2]|0)==-1){b=d+1|0;if(a){i=1;h=d;f[c>>2]=h;return i|0}i=1;h=((b|0)%3|0|0)==0?d+-2|0:b;f[c>>2]=h;return i|0}else b=d}}if((b|0)<=-1){i=0;h=b;f[c>>2]=h;return i|0}while(1){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)<0)break;d=f[(f[(f[h>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=11;break}d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((d|0)>-1)b=d;else{i=11;break}}if((i|0)==11?(b|0)<0:0){i=0;h=b;f[c>>2]=h;return i|0}if(!((b>>>0)%3|0)){i=0;h=b+2|0;f[c>>2]=h;return i|0}else{i=0;h=b+-1|0;f[c>>2]=h;return i|0}return 0}function Ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=f[a>>2]|0;i=k;j=(f[c>>2]|0)-i|0;c=k+j|0;l=e-d|0;if((l|0)<=0){o=c;return o|0}n=a+8|0;h=f[n>>2]|0;o=a+4|0;m=f[o>>2]|0;g=m;if((l|0)<=(h-g|0)){i=g-c|0;if((l|0)>(i|0)){j=d+i|0;if((j|0)==(e|0))g=m;else{g=m;h=j;do{b[g>>0]=b[h>>0]|0;h=h+1|0;g=(f[o>>2]|0)+1|0;f[o>>2]=g}while((h|0)!=(e|0))}if((i|0)>0)e=j;else{o=c;return o|0}}else g=m;j=g-(c+l)|0;h=c+j|0;if(h>>>0>>0){i=g;do{b[i>>0]=b[h>>0]|0;h=h+1|0;i=(f[o>>2]|0)+1|0;f[o>>2]=i}while((h|0)!=(m|0))}if(j|0)bm(g+(0-j)|0,c|0,j|0)|0;if((e|0)==(d|0)){o=c;return o|0}else g=c;while(1){b[g>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else g=g+1|0}return c|0}g=g-i+l|0;if((g|0)<0)Fp(a);l=h-i|0;h=l<<1;h=l>>>0<1073741823?(h>>>0>>0?g:h):2147483647;l=c;if(!h)i=0;else i=an(h)|0;m=i+j|0;g=m;j=i+h|0;if((d|0)==(e|0)){d=k;h=g}else{h=m;do{b[h>>0]=b[d>>0]|0;h=g+1|0;g=h;d=d+1|0}while((d|0)!=(e|0));d=f[a>>2]|0;h=g}g=l-d|0;i=m+(0-g)|0;if((g|0)>0)Rg(i|0,d|0,g|0)|0;g=(f[o>>2]|0)-l|0;if((g|0)>0){l=h;Rg(l|0,c|0,g|0)|0;d=f[a>>2]|0;c=l+g|0}else c=h;f[a>>2]=i;f[o>>2]=c;f[n>>2]=j;if(!d){o=m;return o|0}pq(d);o=m;return o|0}function Le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;g=n;if((f[c+56>>2]|0)==-1){e=-1;u=n;return e|0}m=an(96)|0;nl(m,c);f[g>>2]=m;m=hh(a,g)|0;i=f[g>>2]|0;f[g>>2]=0;if(i|0){k=i+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c+8>>2]|0;if(g|0){h=c+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(c)}c=f[i+68>>2]|0;if(c|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(c|0))f[h>>2]=g+(~((g+-4-c|0)>>>2)<<2);pq(c)}k=i+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c>>2]|0;if(g|0){h=c+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(c)}pq(i)}if((m|0)<=-1)ra(20625,20641,67,20738);j=a+8|0;k=a+12|0;c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))ra(20748,20641,68,20738);i=c+(m<<2)|0;c=f[i>>2]|0;do if(!d){d=f[a+80>>2]|0;b[c+84>>0]=0;a=c+68|0;h=c+72|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c>>2;if(d>>>0>i>>>0){lh(a,d-i|0,6108);break}if(d>>>0>>0?(l=c+(d<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{b[c+84>>0]=1;h=f[c+68>>2]|0;g=c+72|0;c=f[g>>2]|0;if((c|0)!=(h|0))f[g>>2]=c+(~((c+-4-h|0)>>>2)<<2);f[(f[i>>2]|0)+80>>2]=f[a+80>>2]}while(0);if((e|0)<=0){e=m;u=n;return e|0}c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))ra(20748,20641,68,20738);kj(f[c+(m<<2)>>2]|0,e)|0;e=m;u=n;return e|0}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;wh(a+12|0);cn(a+1036|0);Vn(a+1068|0);Vn(a+1088|0);Vn(a+1108|0);d=a+1128|0;f[d>>2]=0;c=a+1132|0;f[c>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Fp(d);else{e=b<<2;k=an(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+1136>>2]=g;cj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+1140|0;f[d>>2]=0;c=a+1144|0;f[c>>2]=0;f[a+1148>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+1148>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}d=a+1152|0;f[d>>2]=0;c=a+1156|0;f[c>>2]=0;f[a+1160>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+1160>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=an(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;cj(c|0,0,d|0)|0;f[e>>2]=k}$j(a+1164|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=an(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;cj(d|0,0,h|0)|0;f[e>>2]=k}$j(a+1176|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c);u=j;return}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;cn(a+12|0);Vn(a+44|0);Vn(a+64|0);Vn(a+84|0);d=a+104|0;f[d>>2]=0;c=a+108|0;f[c>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Fp(d);else{e=b<<2;k=an(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+112>>2]=g;cj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+116|0;f[d>>2]=0;c=a+120|0;f[c>>2]=0;f[a+124>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+124>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}d=a+128|0;f[d>>2]=0;c=a+132|0;f[c>>2]=0;f[a+136>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+136>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=an(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;cj(c|0,0,d|0)|0;f[e>>2]=k}$j(a+140|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=an(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;cj(d|0,0,h|0)|0;f[e>>2]=k}$j(a+152|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c);u=j;return}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;Vn(a+12|0);Vn(a+32|0);Vn(a+52|0);Vn(a+72|0);d=a+92|0;f[d>>2]=0;c=a+96|0;f[c>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Fp(d);else{e=b<<2;k=an(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+100>>2]=g;cj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+104|0;f[d>>2]=0;c=a+108|0;f[c>>2]=0;f[a+112>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+112>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}d=a+116|0;f[d>>2]=0;c=a+120|0;f[c>>2]=0;f[a+124>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+124>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=an(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;cj(c|0,0,d|0)|0;f[e>>2]=k}$j(a+128|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=an(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;cj(d|0,0,h|0)|0;f[e>>2]=k}$j(a+140|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c);u=j;return}function Pe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+144|0;m=q+136|0;p=q+104|0;i=q;j=an(124)|0;e=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3544;f[j+12>>2]=3524;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;n=j+16|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[j+112>>2]=e;f[j+116>>2]=d;k=j+120|0;f[k>>2]=0;g=j;f[p>>2]=3524;l=p+4|0;h=l+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;h=f[c+12>>2]|0;f[i+4>>2]=3524;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;n=i+8|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));o=h;f[l>>2]=o;o=((f[o+4>>2]|0)-(f[h>>2]|0)>>2>>>0)/3|0;b[m>>0]=0;Zg(p+8|0,o,m);Ra[f[(f[p>>2]|0)+8>>2]&127](p);f[i>>2]=f[l>>2];Xf(i+4|0,p)|0;f[i+36>>2]=h;f[i+40>>2]=d;f[i+44>>2]=e;f[i+48>>2]=j;f[k>>2]=c+72;ug(j,i);f[a>>2]=g;Ci(i);f[p>>2]=3524;e=f[p+20>>2]|0;if(e|0)pq(e);e=f[p+8>>2]|0;if(!e){u=q;return}pq(e);u=q;return}function Qe(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3568;si(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}Zi(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+140>>2]|0;if(b|0)pq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;pq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)pq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+28>>2]|0;if(b|0)pq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;oj(b);pq(b);return}function Re(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3368;fj(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}Zi(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+140>>2]|0;if(b|0)pq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;pq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)pq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+28>>2]|0;if(b|0)pq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;oj(b);pq(b);return}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Te(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+16|0;h=n+4|0;g=n;i=n+8|0;if(!(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)){a=0;u=n;return a|0}m=a+44|0;d=f[m>>2]|0;k=a+8|0;j=a+12|0;e=f[j>>2]|0;c=f[k>>2]|0;b[i>>0]=(e-c|0)>>>2;o=d+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ke(d,h,i,i+1|0)|0;c=f[k>>2]|0;e=f[j>>2]|0}a:do if((c|0)!=(e|0)){d=a+4|0;while(1){p=f[c>>2]|0;c=c+4|0;if(!(Oa[f[(f[p>>2]|0)+8>>2]&31](p,a,f[d>>2]|0)|0)){c=0;break}if((c|0)==(e|0))break a}u=n;return c|0}while(0);if(!(yc(a)|0)){p=0;u=n;return p|0}e=a+32|0;c=f[e>>2]|0;g=a+36|0;d=f[g>>2]|0;b:do if((c|0)!=(d|0)){do{if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,f[c>>2]|0)|0)){c=0;l=18;break}c=c+4|0}while((c|0)!=(d|0));if((l|0)==18){u=n;return c|0}c=f[e>>2]|0;d=f[g>>2]|0;if((c|0)!=(d|0)){while(1){p=f[(f[k>>2]|0)+(f[c>>2]<<2)>>2]|0;c=c+4|0;if(!(Na[f[(f[p>>2]|0)+12>>2]&127](p,f[m>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}u=n;return c|0}}while(0);p=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=n;return p|0}function Ue(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)ra(20625,20641,59,20738);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(20748,20641,60,20738);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ma[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Na[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Na[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;od(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;nd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+1176|0;b=f[g>>2]|0;if(b|0){h=a+1180|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}g=a+1164|0;b=f[g>>2]|0;if(b|0){h=a+1168|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+1152>>2]|0;if(b|0){d=a+1156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+1140>>2]|0;if(b|0){d=a+1144|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+1128>>2]|0;if(!b){h=a+1108|0;gl(h);h=a+1088|0;gl(h);h=a+1068|0;gl(h);h=a+1036|0;qj(h);a=a+12|0;vh(a);return}d=a+1132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);h=a+1108|0;gl(h);h=a+1088|0;gl(h);h=a+1068|0;gl(h);h=a+1036|0;qj(h);a=a+12|0;vh(a);return}function We(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ke(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ke(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}gg(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];cb(a,k,m);d=0;do{ed(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);ed(a+1036|0,e);ng(g,e);ng(c,e);ng(b,e);u=n;return 1}function Xe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ke(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ke(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}gg(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];gb(a,k,m);d=0;do{ed(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);ed(a+1036|0,e);ng(g,e);ng(c,e);ng(b,e);u=n;return 1}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+60>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,g,g+4|0)|0}cn(k);Uk(k);if((f[g>>2]|0)>0){c=a+56|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;$i(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}ed(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;qj(k);u=m;return 1}function Ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)ra(20625,20641,59,20738);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(20748,20641,60,20738);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ma[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Na[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Na[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;Ic(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;Hc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function _e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+80>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,g,g+4|0)|0}cn(k);Uk(k);if((f[g>>2]|0)>0){c=a+76|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;$i(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}ed(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;qj(k);u=m;return 1}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=a+4|0;c=f[j>>2]|0;i=a+100|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;switch(c|0){case 43:case 45:{d=(c|0)==45&1;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;if((b|0)!=0&(c+-48|0)>>>0>9?(f[i>>2]|0)!=0:0){f[j>>2]=(f[j>>2]|0)+-1;g=d}else g=d;break}default:g=0}if((c+-48|0)>>>0>9)if(!(f[i>>2]|0)){d=-2147483648;c=0}else{f[j>>2]=(f[j>>2]|0)+-1;d=-2147483648;c=0}else{d=0;do{d=c+-48+(d*10|0)|0;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0}while((c+-48|0)>>>0<10&(d|0)<214748364);b=((d|0)<0)<<31>>31;if((c+-48|0)>>>0<10){do{b=$m(d|0,b|0,10,0)|0;d=I;c=Mn(c|0,((c|0)<0)<<31>>31|0,-48,-1)|0;d=Mn(c|0,I|0,b|0,d|0)|0;b=I;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0}while((c+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&d>>>0<2061584302));e=d;d=c}else{e=d;d=c}c=f[i>>2]|0;if((d+-48|0)>>>0<10)do{d=f[j>>2]|0;if(d>>>0>>0){f[j>>2]=d+1;d=h[d>>0]|0}else{d=Xi(a)|0;c=f[i>>2]|0}}while((d+-48|0)>>>0<10);if(c|0)f[j>>2]=(f[j>>2]|0)+-1;j=(g|0)!=0;c=_n(0,0,e|0,b|0)|0;d=j?I:b;c=j?c:e}I=d;return c|0}function af(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=u;u=u+96|0;o=p;if(!c){o=-1;u=p;return o|0}Im(o);sj(o,d,0,g&255,i,0,g<<2,0,0,0);j=Le(c,o,1,e)|0;if((j|0)<=-1)ra(20625,20641,67,20738);a=f[c+8>>2]|0;if(((f[c+12>>2]|0)-a>>2|0)<=(j|0))ra(20748,20641,68,20738);a=f[a+(j<<2)>>2]|0;if((e|0)>0){m=a+84|0;k=a+68|0;l=a+40|0;i=a+64|0;d=0;do{if(!(b[m>>0]|0))a=f[(f[k>>2]|0)+(d<<2)>>2]|0;else a=d;r=h+((X(d,g)|0)<<2)|0;s=l;q=f[s>>2]|0;a=$m(a|0,((a|0)<0)<<31>>31|0,q|0,f[s+4>>2]|0)|0;Rg((f[f[i>>2]>>2]|0)+a|0,r|0,q|0)|0;d=d+1|0}while((d|0)!=(e|0))}i=c+80|0;a=f[i>>2]|0;if(a)if((a|0)==(e|0))n=14;else j=-1;else{f[i>>2]=e;n=14}s=o+88|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){i=f[a+8>>2]|0;if(i|0){d=a+12|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;pq(i)}pq(a)}a=f[o+68>>2]|0;if(a|0){d=o+72|0;i=f[d>>2]|0;if((i|0)!=(a|0))f[d>>2]=i+(~((i+-4-a|0)>>>2)<<2);pq(a)}s=o+64|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){i=f[a>>2]|0;if(i|0){d=a+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;pq(i)}pq(a)}s=j;u=p;return s|0}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)ra(20006,19918,64,20001);else if((e|0)==12)ra(20060,20079,89,20179);else if((e|0)==14)return d|0;return 0}function cf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d[b>>1]|0;n=d[b+2>>1]|0;o=d[b+4>>1]|0;i=d[b+6>>1]|0;l=((((m^318)&65535)+239^n&65535)+239^o&65535)+239^i&65535;j=f[a+4>>2]|0;if(!j){q=0;return q|0}e=j+-1|0;c=(e&j|0)==0;if(!c)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;b=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!b){q=0;return q|0}b=f[b>>2]|0;if(!b){q=0;return q|0}if(c){while(1){h=f[b+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){b=0;h=26;break}if((((a?(g=b+8|0,(d[g>>1]|0)==m<<16>>16):0)?(d[g+2>>1]|0)==n<<16>>16:0)?(d[b+12>>1]|0)==o<<16>>16:0)?(d[g+6>>1]|0)==i<<16>>16:0){h=26;break}b=f[b>>2]|0;if(!b){b=0;h=26;break}}if((h|0)==26)return b|0}else p=b;while(1){b=f[p+4>>2]|0;a=(b|0)==(l|0);if(!a){if(b>>>0>=j>>>0)b=(b>>>0)%(j>>>0)|0;if((b|0)!=(k|0)){b=0;h=26;break}if(a)h=22}else h=22;if(((((h|0)==22?(h=0,q=p+8|0,(d[q>>1]|0)==m<<16>>16):0)?(d[q+2>>1]|0)==n<<16>>16:0)?(d[p+12>>1]|0)==o<<16>>16:0)?(d[q+6>>1]|0)==i<<16>>16:0){b=p;h=26;break}p=f[p>>2]|0;if(!p){b=0;h=26;break}}if((h|0)==26)return b|0;return 0}function df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(20006,19918,64,20001);else if((e|0)==12)ra(20060,20079,89,20179);else if((e|0)==13)return d|0;return 0}function ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=b[c>>0]|0;n=b[c+1>>0]|0;o=b[c+2>>0]|0;i=b[c+3>>0]|0;l=(((m&255^318)+239^n&255)+239^o&255)+239^i&255;j=f[a+4>>2]|0;if(!j){q=0;return q|0}e=j+-1|0;d=(e&j|0)==0;if(!d)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;c=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!c){q=0;return q|0}c=f[c>>2]|0;if(!c){q=0;return q|0}if(d){while(1){h=f[c+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){c=0;h=26;break}if((((a?(g=c+8|0,(b[g>>0]|0)==m<<24>>24):0)?(b[g+1>>0]|0)==n<<24>>24:0)?(b[g+2>>0]|0)==o<<24>>24:0)?(b[g+3>>0]|0)==i<<24>>24:0){h=26;break}c=f[c>>2]|0;if(!c){c=0;h=26;break}}if((h|0)==26)return c|0}else p=c;while(1){c=f[p+4>>2]|0;a=(c|0)==(l|0);if(!a){if(c>>>0>=j>>>0)c=(c>>>0)%(j>>>0)|0;if((c|0)!=(k|0)){c=0;h=26;break}if(a)h=22}else h=22;if(((((h|0)==22?(h=0,q=p+8|0,(b[q>>0]|0)==m<<24>>24):0)?(b[q+1>>0]|0)==n<<24>>24:0)?(b[q+2>>0]|0)==o<<24>>24:0)?(b[q+3>>0]|0)==i<<24>>24:0){c=p;h=26;break}p=f[p>>2]|0;if(!p){c=0;h=26;break}}if((h|0)==26)return c|0;return 0}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(20006,19918,64,20001);else if((e|0)==12)ra(20060,20079,89,20179);else if((e|0)==13)return d|0;return 0}function gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3476;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Fp(h);else{c=((c+-1|0)>>>5)+1|0;o=an(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Fp(h);o=((c+-1|0)>>>5)+1|0;a=an(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);u=n;return}function hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=an(40)|0;e=l+16|0;dj(e,c);dj(l+28|0,c+12|0);c=a+4|0;d=f[c>>2]|0;do if(d){j=b[l+27>>0]|0;i=j<<24>>24<0;j=i?f[l+20>>2]|0:j&255;i=i?f[e>>2]|0:e;h=d;while(1){d=h+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[h+20>>2]|0:e&255;c=e>>>0>>0?e:j;if((c|0)!=0?(k=fl(i,g?f[d>>2]|0:d,c)|0,(k|0)!=0):0)if((k|0)<0)g=7;else g=9;else if(j>>>0>>0)g=7;else g=9;if((g|0)==7){c=f[h>>2]|0;if(!c){g=8;break}}else if((g|0)==9){d=h+4|0;c=f[d>>2]|0;if(!c){g=11;break}}h=c}if((g|0)==8){e=h;d=h;break}else if((g|0)==11){e=h;break}}else{e=c;d=c}while(0);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=e;f[d>>2]=l;c=f[f[a>>2]>>2]|0;if(!c){k=l;j=a+4|0;j=f[j>>2]|0;He(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}f[a>>2]=c;k=f[d>>2]|0;j=a+4|0;j=f[j>>2]|0;He(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;gl(h);h=a+52|0;gl(h);h=a+32|0;gl(h);a=a+12|0;gl(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);h=a+72|0;gl(h);h=a+52|0;gl(h);h=a+32|0;gl(h);a=a+12|0;gl(a);return}function kf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+152|0;b=f[g>>2]|0;if(b|0){h=a+156|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+128>>2]|0;if(b|0){d=a+132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+104>>2]|0;if(!b){h=a+84|0;gl(h);h=a+64|0;gl(h);h=a+44|0;gl(h);a=a+12|0;qj(a);return}d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);h=a+84|0;gl(h);h=a+64|0;gl(h);h=a+44|0;gl(h);a=a+12|0;qj(a);return}function lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+40+(h*12|0)+4|0;Rh(f[c>>2]|0,b)|0;if(f[c>>2]|0){cn(i);Uk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+40+(h*12|0)|0;do{d=0;while(1){m=d+c|0;$i(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}ed(i,b);qj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;u=l;return 1}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3524;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Fp(h);else{c=((c+-1|0)>>>5)+1|0;o=an(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Fp(h);o=((c+-1|0)>>>5)+1|0;a=an(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);u=n;return}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>3>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>3;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){m=c;l=f[m+4>>2]|0;k=e;f[k>>2]=f[m>>2];f[k+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(!g){d=j+(b<<3)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-8-d|0)>>>3)<<3)|0;break}}else{g=b-h|0;d=i;e=g;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=a;d=i+(g<<3)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>536870911)Fp(a);m=d>>2;d=d>>3>>>0<268435455?(m>>>0>>0?b:m):536870911;if(d>>>0>536870911)Fp(a);h=an(d<<3)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<3);d=h;e=b;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=g;d=h+(b<<3)|0}while(0);f[e>>2]=d;return}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+60+(h*12|0)+4|0;Rh(f[c>>2]|0,b)|0;if(f[c>>2]|0){cn(i);Uk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+60+(h*12|0)|0;do{d=0;while(1){m=d+c|0;$i(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}ed(i,b);qj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;u=l;return 1}function pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=f[c>>2]|0;m=f[l>>2]|0;g=f[a+4>>2]|0;c=f[l+4>>2]|0;i=g+-1|0;j=(i&g|0)==0;if(!j)if(c>>>0>>0)h=c;else h=(c>>>0)%(g>>>0)|0;else h=i&c;d=(f[a>>2]|0)+(h<<2)|0;k=f[d>>2]|0;while(1){c=f[k>>2]|0;if((c|0)==(l|0))break;else k=c}if((k|0)!=(a+8|0)){c=f[k+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;e=21}else e=13}else e=13;do if((e|0)==13){if(m|0){c=f[m+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;c=m;e=22;break}}f[d>>2]=0;d=f[l>>2]|0;e=21}while(0);if((e|0)==21){c=d;if(d)e=22}if((e|0)==22){d=f[d+4>>2]|0;if(!j){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0}else d=d&i;if((d|0)!=(h|0)){f[(f[a>>2]|0)+(d<<2)>>2]=k;c=f[l>>2]|0}}f[k>>2]=c;f[l>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!l)return m|0;d=l+8|0;c=f[l+20>>2]|0;if(c|0){e=l+24|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pq(c)}if((b[d+11>>0]|0)<0)pq(f[d>>2]|0);pq(l);return m|0}function qf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ke(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ke(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;wm(c);b=a+32|0;wm(b);m=a+52|0;wm(m);n=a+72|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];ib(a,i,k);ng(c,e);ng(b,e);ng(m,e);ng(n,e);u=l;return 1}function rf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ke(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ke(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;Uk(c);b=a+44|0;wm(b);m=a+64|0;wm(m);n=a+84|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];jb(a,i,k);ed(c,e);ng(b,e);ng(m,e);ng(n,e);u=l;return 1}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;j=n+12|0;k=n+8|0;d=n+4|0;g=n;if(!b){c=an(76)|0;b=an(12)|0;e=f[(f[a+4>>2]|0)+80>>2]|0;f[b+4>>2]=0;f[b>>2]=3796;f[b+8>>2]=e;f[g>>2]=b;jl(c,g,0);f[d>>2]=c;b=a+12|0;e=f[b>>2]|0;if(e>>>0<(f[a+16>>2]|0)>>>0){f[d>>2]=0;f[e>>2]=c;f[b>>2]=e+4}else Lg(a+8|0,d);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0;f[g>>2]=0;if(!c){u=n;return 1}Ra[f[(f[c>>2]|0)+4>>2]&127](c);u=n;return 1}e=f[f[a+8>>2]>>2]|0;f[j>>2]=b;m=e+4|0;l=e+8|0;c=f[l>>2]|0;if((c|0)==(f[e+12>>2]|0))Gi(m,j);else{f[c>>2]=b;f[l>>2]=c+4}d=f[j>>2]|0;h=e+16|0;b=e+20|0;e=f[b>>2]|0;c=f[h>>2]|0;g=e-c>>2;if((d|0)>=(g|0)){a=d+1|0;f[k>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(i=c+(a<<2)|0,(e|0)!=(i|0)):0)f[b>>2]=e+(~((e+-4-i|0)>>>2)<<2)}else{lh(h,a-g|0,k);d=f[j>>2]|0;c=f[h>>2]|0}}f[c+(d<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;u=n;return 1} +function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Ib(t,l,c);a=l+4|0}if((s|0)==82){s=0;Ib(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Jb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Jb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Kb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Kb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Lb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Lb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Mb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+16|0;B=F;x=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[x>>2]=$(1.0);E=a+20|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[a+36>>2]=$(1.0);d=f[c+8>>2]|0;a:do if(d|0){z=a+4|0;A=a+12|0;y=a+8|0;e=d;w=d;while(1){v=e+8|0;r=b[v+11>>0]|0;t=r<<24>>24<0;s=t?f[v>>2]|0:v;r=t?f[e+12>>2]|0:r&255;if(r>>>0>3){e=s;d=r;g=r;while(1){t=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;d=(X(t>>>24^t,1540483477)|0)^(X(d,1540483477)|0);g=g+-4|0;if(g>>>0<=3)break;else e=e+4|0}t=r+-4|0;e=t&-4;g=s+(e+4)|0;e=t-e|0}else{g=s;d=r;e=r}switch(e|0){case 3:{d=h[g+2>>0]<<16^d;D=8;break}case 2:{D=8;break}case 1:{D=9;break}default:{}}if((D|0)==8){d=h[g+1>>0]<<8^d;D=9}if((D|0)==9){D=0;d=X(h[g>>0]^d,1540483477)|0}t=X(d>>>13^d,1540483477)|0;t=t>>>15^t;i=f[z>>2]|0;q=(i|0)==0;b:do if(!q){p=i+-1|0;g=(p&i|0)==0;if(!g)if(t>>>0>>0)e=t;else e=(t>>>0)%(i>>>0)|0;else e=t&p;d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(C=f[d>>2]|0,(C|0)!=0):0){d=(r|0)==0;if(g){if(d){d=C;while(1){s=f[d+4>>2]|0;if(!((s|0)==(t|0)|(s&p|0)==(e|0))){D=50;break b}s=b[d+8+11>>0]|0;if(!((s<<24>>24<0?f[d+12>>2]|0:s&255)|0))break b;d=f[d>>2]|0;if(!d){D=50;break b}}}else l=C;while(1){k=f[l+4>>2]|0;if(!((k|0)==(t|0)|(k&p|0)==(e|0))){D=50;break b}d=l+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[l+12>>2]|0:j)|0)==(r|0)){g=f[d>>2]|0;if(k)if(!(fl(g,s,r)|0))break b;else break;if((g&255)<<24>>24==(b[s>>0]|0)){g=s;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){D=50;break b}}}if(d){g=C;while(1){d=f[g+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0;if((d|0)!=(e|0)){D=50;break b}}s=b[g+8+11>>0]|0;if(!((s<<24>>24<0?f[g+12>>2]|0:s&255)|0))break b;g=f[g>>2]|0;if(!g){D=50;break b}}}else l=C;while(1){d=f[l+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0;if((d|0)!=(e|0)){D=50;break b}}d=l+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[l+12>>2]|0:j)|0)==(r|0)){g=f[d>>2]|0;if(k)if(!(fl(g,s,r)|0))break b;else break;if((g&255)<<24>>24==(b[s>>0]|0)){g=s;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){D=50;break}}}else D=50}else{e=0;D=50}while(0);if((D|0)==50){D=0;Vh(B,a,t,v);o=$(((f[A>>2]|0)+1|0)>>>0);G=$(i>>>0);m=$(n[x>>2]);do if(q|o>$(G*m)){d=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(o/m)))>>>0;Wh(a,d>>>0>>0?e:d);d=f[z>>2]|0;e=d+-1|0;if(!(e&d)){i=d;e=e&t;break}if(t>>>0>>0){i=d;e=t}else{i=d;e=(t>>>0)%(d>>>0)|0}}while(0);d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if(!d){f[f[B>>2]>>2]=f[y>>2];f[y>>2]=f[B>>2];f[(f[a>>2]|0)+(e<<2)>>2]=y;g=f[B>>2]|0;d=f[g>>2]|0;if(d|0){d=f[d+4>>2]|0;e=i+-1|0;if(e&i){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&e;f[(f[a>>2]|0)+(d<<2)>>2]=g}}else{f[f[B>>2]>>2]=f[d>>2];f[d>>2]=f[B>>2]}f[A>>2]=(f[A>>2]|0)+1}d=f[w>>2]|0;if(!d)break a;else{e=d;w=d}}}while(0);d=f[c+28>>2]|0;if(!d){u=F;return}do{D=d;a=an(40)|0;Mb(a,f[D+20>>2]|0);D=xc(E,D+8|0)|0;l=f[D>>2]|0;f[D>>2]=a;if(l|0){e=f[l+28>>2]|0;if(e|0)do{D=e;e=f[e>>2]|0;ei(D+8|0);pq(D)}while((e|0)!=0);D=l+20|0;e=f[D>>2]|0;f[D>>2]=0;if(e|0)pq(e);e=f[l+8>>2]|0;if(e|0)do{j=e;e=f[e>>2]|0;k=j+8|0;g=f[j+20>>2]|0;if(g|0){i=j+24|0;if((f[i>>2]|0)!=(g|0))f[i>>2]=g;pq(g)}if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);pq(j)}while((e|0)!=0);e=f[l>>2]|0;f[l>>2]=0;if(e|0)pq(e);pq(l)}d=f[d>>2]|0}while((d|0)!=0);u=F;return}function Nb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;W=u;u=u+16|0;S=W+8|0;U=W;R=W+4|0;T=a+16|0;d=f[T>>2]|0;Q=a+20|0;c=f[Q>>2]|0;if((c|0)==(d|0))c=d;else{c=c+(~((c+-4-d|0)>>>2)<<2)|0;f[Q>>2]=c}N=a+24|0;if((c|0)==(f[N>>2]|0)){Gi(T,b);d=f[T>>2]|0;e=f[Q>>2]|0}else{f[c>>2]=f[b>>2];e=c+4|0;f[Q>>2]=e}c=f[a+8>>2]|0;c=(f[c+100>>2]|0)-(f[c+96>>2]|0)|0;M=(c|0)/12|0;if((d|0)==(e|0)){u=W;return 1}L=a+28|0;A=(c|0)>0;C=a+164|0;z=a+12|0;x=a+76|0;y=a+80|0;I=a+72|0;J=a+200|0;K=a+320|0;w=a+152|0;q=a+84|0;G=a+324|0;v=a+292|0;r=a+304|0;H=a+316|0;E=a+328|0;s=a+336|0;D=a+332|0;F=a+168|0;t=a+140|0;B=a+120|0;c=e;do{d=f[c+-4>>2]|0;f[b>>2]=d;a:do if((d|0)>=0?(p=(d>>>0)/3|0,O=f[L>>2]|0,(f[O+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){if(A){d=O;c=0;while(1){p=c+1|0;f[C>>2]=(f[C>>2]|0)+1;o=f[b>>2]|0;o=(o|0)<0?-1073741824:(o>>>0)/3|0;c=d+(o>>>5<<2)|0;f[c>>2]=1<<(o&31)|f[c>>2];c=f[x>>2]|0;if((c|0)==(f[y>>2]|0))Gi(I,b);else{f[c>>2]=f[b>>2];f[x>>2]=c+4}f[K>>2]=f[b>>2];d=f[b>>2]|0;if((d|0)<0)n=-1073741824;else n=f[(f[f[z>>2]>>2]|0)+(d<<2)>>2]|0;m=(f[(f[w>>2]|0)+(n<<2)>>2]|0)!=-1;e=(f[q>>2]|0)+(n>>>5<<2)|0;g=1<<(n&31);c=f[e>>2]|0;do if(!(c&g)){f[e>>2]=c|g;if(m){d=f[b>>2]|0;V=38;break}f[G>>2]=(f[G>>2]|0)+1;d=f[K>>2]|0;c=d+1|0;do if((d|0)>=0){c=((c|0)%3|0|0)==0?d+-2|0:c;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else c=d;while(0);e=f[v>>2]|0;o=f[r>>2]|0;n=o+(f[e+(c<<2)>>2]<<2)|0;c=f[n>>2]|0;f[n>>2]=c+-1;e=o+(f[e+(d<<2)>>2]<<2)|0;f[e>>2]=(f[e>>2]|0)+-1;e=f[H>>2]|0;if((e|0)!=-1){d=f[E>>2]|0;if((c|0)<(d|0))c=d;else{o=f[D>>2]|0;c=(c|0)>(o|0)?o:c}h=c-d|0;g=f[s>>2]|0;c=f[3612+(e<<2)>>2]|0;f[S>>2]=c;e=g+(h*12|0)+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+(h*12|0)+8>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else Gi(g+(h*12|0)|0,S)}f[H>>2]=0;c=f[b>>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=f[(f[(f[z>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}f[b>>2]=c}else V=38;while(0);if((V|0)==38){V=0;l=(d|0)<0;j=d+1|0;if(!l){c=((j|0)%3|0|0)==0?d+-2|0:j;if((c|0)<0)e=c;else e=f[(f[(f[z>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;f[U>>2]=e;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[(f[z>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;i=(e|0)<0;h=i?-1073741824:(e>>>0)/3|0;g=(c|0)<0;k=g?-1073741824:(c>>>0)/3|0;e=((j|0)%3|0|0)==0?d+-2|0:j;if((e|0)>=0)e=f[(f[(f[z>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}else{f[U>>2]=d;g=1;i=1;c=d;k=-1073741824;h=-1073741824;e=d}if((e|0)!=-1073741824?(j=(e|0)<0?-1073741824:(e>>>0)/3|0,P=f[L>>2]|0,(f[P+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!l){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)!=-1073741824?(l=(d|0)<0?-1073741824:(d>>>0)/3|0,(f[P+(l>>>5<<2)>>2]&1<<(l&31)|0)==0):0){V=67;break}if(!g)vf(a,f[C>>2]|0,o,0,k);fd(J,3);c=f[U>>2]|0}else{if(!i){vf(a,f[C>>2]|0,o,1,h);d=f[b>>2]|0}if((d|0)>=0){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)==-1073741824){V=55;break}n=(d|0)<0?-1073741824:(d>>>0)/3|0;if(f[(f[L>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0){V=55;break}fd(J,5)}f[b>>2]=c}if((p|0)>=(M|0))break a;d=f[L>>2]|0;c=p}do if((V|0)==55){V=0;if(!g)vf(a,f[C>>2]|0,o,0,k);fd(J,7);f[Q>>2]=(f[Q>>2]|0)+-4}else if((V|0)==67){V=0;fd(J,1);f[F>>2]=(f[F>>2]|0)+1;if(m?(p=f[(f[w>>2]|0)+(n<<2)>>2]|0,(1<<(p&31)&f[(f[t>>2]|0)+(p>>>5<<2)>>2]|0)==0):0){f[R>>2]=f[b>>2];f[S>>2]=f[R>>2];Ge(a,S,0)|0}p=f[C>>2]|0;f[S>>2]=o;d=ue(B,S)|0;f[d>>2]=p;d=f[Q>>2]|0;f[d+-4>>2]=c;if((d|0)==(f[N>>2]|0)){Gi(T,U);break}else{f[d>>2]=f[U>>2];f[Q>>2]=d+4;break}}while(0)}}else V=11;while(0);if((V|0)==11){V=0;f[Q>>2]=c+-4}c=f[Q>>2]|0}while((f[T>>2]|0)!=(c|0));u=W;return 1}function Ob(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;Q=u;u=u+48|0;P=Q+16|0;K=Q+12|0;N=Q;F=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[F>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;a:do if(!g){i=0;o=0}else{if(g>>>0>1073741823)Fp(N);D=g<<2;w=an(D)|0;f[N>>2]=w;C=w+(g<<2)|0;f[N+8>>2]=C;cj(w|0,0,D|0)|0;f[O>>2]=C;C=c+48|0;D=c+40|0;y=P+4|0;B=P+12|0;z=P+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;t=0;e=w;w=0;o=0;while(1){m=x+w|0;r=C;l=f[r>>2]|0;r=f[r+4>>2]|0;v=D;v=$m(m|0,((m|0)<0)<<31>>31|0,f[v>>2]|0,f[v+4>>2]|0)|0;r=Mn(v|0,I|0,l|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;f[K>>2]=r;l=r&65535;v=r>>>16;m=v&65535;v=(r&65535^318)+239^v;s=(t|0)==0;b:do if(!s){j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)k=v;else k=(v>>>0)%(t>>>0)|0;else k=v&j;g=f[(f[P>>2]|0)+(k<<2)>>2]|0;do if(g|0?(H=f[g>>2]|0,H|0):0){c:do if(i){g=H;while(1){R=f[g+4>>2]|0;i=(R|0)==(v|0);if(!(i|(R&j|0)==(k|0))){k=27;break c}if((i?(J=g+8|0,(d[J>>1]|0)==l<<16>>16):0)?(d[J+2>>1]|0)==m<<16>>16:0){k=26;break c}g=f[g>>2]|0;if(!g){k=27;break}}}else{g=H;while(1){i=f[g+4>>2]|0;if((i|0)==(v|0)){R=g+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=26;break c}}else{if(i>>>0>=t>>>0)i=(i>>>0)%(t>>>0)|0;if((i|0)!=(k|0)){k=27;break c}}g=f[g>>2]|0;if(!g){k=27;break}}}while(0);if((k|0)==26){k=0;f[e+(w<<2)>>2]=f[g+12>>2];break b}else if((k|0)==27)if(s){g=0;k=46;break b}else break}while(0);j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)g=v;else g=(v>>>0)%(t>>>0)|0;else g=j&v;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0){if(i){e=G;while(1){R=f[e+4>>2]|0;if(!((R|0)==(v|0)|(R&j|0)==(g|0))){k=46;break b}R=e+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=61;break b}e=f[e>>2]|0;if(!e){k=46;break b}}}else i=G;while(1){e=f[i+4>>2]|0;if((e|0)!=(v|0)){if(e>>>0>=t>>>0)e=(e>>>0)%(t>>>0)|0;if((e|0)!=(g|0)){k=46;break b}}R=i+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=61;break b}i=f[i>>2]|0;if(!i){k=46;break}}}else k=46}else{g=0;k=46}while(0);if((k|0)==46){k=0;j=an(16)|0;R=j+8|0;d[R>>1]=r;d[R+2>>1]=r>>>16;f[j+12>>2]=o;f[j+4>>2]=v;f[j>>2]=0;q=$(((f[B>>2]|0)+1|0)>>>0);S=$(t>>>0);p=$(n[F>>2]);do if(s|q>$(S*p)){g=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;e=~~$(W($(q/p)))>>>0;Ch(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&v;break}if(v>>>0>>0){i=g;g=v}else{i=g;g=(v>>>0)%(g>>>0)|0}}else i=t;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[z>>2];f[z>>2]=j;f[e>>2]=z;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;k=59}}else{f[j>>2]=f[g>>2];k=59}if((k|0)==59)f[g>>2]=j;f[B>>2]=(f[B>>2]|0)+1;k=61}if((k|0)==61){R=E;e=f[R>>2]|0;R=$m(e|0,f[R+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;Rg((f[f[A>>2]>>2]|0)+R|0,K|0,e|0)|0;e=f[N>>2]|0;f[e+(w<<2)>>2]=o;o=o+1|0}g=w+1|0;i=f[M>>2]|0;if((g|0)>=(i|0))break a;t=f[y>>2]|0;w=g}}while(0);if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[N>>2]|0;e=g>>2;g=0;do{R=i+(g<<2)|0;f[R>>2]=f[j+(f[R>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(L=g+(i<<2)|0,(e|0)!=(L|0)):0)f[j>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[M>>2]|0}if((i|0)>0){j=f[N>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[M>>2]=o}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[P+8>>2]|0;if(g|0)do{R=g;g=f[g>>2]|0;pq(R)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return o|0}pq(g);u=Q;return o|0}function Pb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;Q=u;u=u+48|0;P=Q+12|0;K=Q+32|0;N=Q;F=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[F>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;a:do if(!g){i=0;o=0}else{if(g>>>0>1073741823)Fp(N);D=g<<2;w=an(D)|0;f[N>>2]=w;C=w+(g<<2)|0;f[N+8>>2]=C;cj(w|0,0,D|0)|0;f[O>>2]=C;C=c+48|0;D=c+40|0;y=P+4|0;B=P+12|0;z=P+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;t=0;e=w;w=0;o=0;while(1){m=x+w|0;r=C;l=f[r>>2]|0;r=f[r+4>>2]|0;v=D;v=$m(m|0,((m|0)<0)<<31>>31|0,f[v>>2]|0,f[v+4>>2]|0)|0;r=Mn(v|0,I|0,l|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8;d[K>>1]=r;l=r&255;v=(r&65535)>>>8;m=v&255;v=((r&255^318)+239<<16>>16^v)&65535;s=(t|0)==0;b:do if(!s){j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)k=v;else k=(v>>>0)%(t>>>0)|0;else k=v&j;g=f[(f[P>>2]|0)+(k<<2)>>2]|0;do if(g|0?(H=f[g>>2]|0,H|0):0){c:do if(i){g=H;while(1){R=f[g+4>>2]|0;i=(R|0)==(v|0);if(!(i|(R&j|0)==(k|0))){k=27;break c}if((i?(J=g+8|0,(b[J>>0]|0)==l<<24>>24):0)?(b[J+1>>0]|0)==m<<24>>24:0){k=26;break c}g=f[g>>2]|0;if(!g){k=27;break}}}else{g=H;while(1){i=f[g+4>>2]|0;if((i|0)==(v|0)){R=g+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=26;break c}}else{if(i>>>0>=t>>>0)i=(i>>>0)%(t>>>0)|0;if((i|0)!=(k|0)){k=27;break c}}g=f[g>>2]|0;if(!g){k=27;break}}}while(0);if((k|0)==26){k=0;f[e+(w<<2)>>2]=f[g+12>>2];break b}else if((k|0)==27)if(s){g=0;k=46;break b}else break}while(0);j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)g=v;else g=(v>>>0)%(t>>>0)|0;else g=j&v;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0){if(i){e=G;while(1){R=f[e+4>>2]|0;if(!((R|0)==(v|0)|(R&j|0)==(g|0))){k=46;break b}R=e+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=61;break b}e=f[e>>2]|0;if(!e){k=46;break b}}}else i=G;while(1){e=f[i+4>>2]|0;if((e|0)!=(v|0)){if(e>>>0>=t>>>0)e=(e>>>0)%(t>>>0)|0;if((e|0)!=(g|0)){k=46;break b}}R=i+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=61;break b}i=f[i>>2]|0;if(!i){k=46;break}}}else k=46}else{g=0;k=46}while(0);if((k|0)==46){k=0;j=an(16)|0;R=j+8|0;b[R>>0]=r;b[R+1>>0]=r>>8;f[j+12>>2]=o;f[j+4>>2]=v;f[j>>2]=0;q=$(((f[B>>2]|0)+1|0)>>>0);S=$(t>>>0);p=$(n[F>>2]);do if(s|q>$(S*p)){g=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;e=~~$(W($(q/p)))>>>0;Jh(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&v;break}if(v>>>0>>0){i=g;g=v}else{i=g;g=(v>>>0)%(g>>>0)|0}}else i=t;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[z>>2];f[z>>2]=j;f[e>>2]=z;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;k=59}}else{f[j>>2]=f[g>>2];k=59}if((k|0)==59)f[g>>2]=j;f[B>>2]=(f[B>>2]|0)+1;k=61}if((k|0)==61){R=E;e=f[R>>2]|0;R=$m(e|0,f[R+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;Rg((f[f[A>>2]>>2]|0)+R|0,K|0,e|0)|0;e=f[N>>2]|0;f[e+(w<<2)>>2]=o;o=o+1|0}g=w+1|0;i=f[M>>2]|0;if((g|0)>=(i|0))break a;t=f[y>>2]|0;w=g}}while(0);if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[N>>2]|0;e=g>>2;g=0;do{R=i+(g<<2)|0;f[R>>2]=f[j+(f[R>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(L=g+(i<<2)|0,(e|0)!=(L|0)):0)f[j>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[M>>2]|0}if((i|0)>0){j=f[N>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[M>>2]=o}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[P+8>>2]|0;if(g|0)do{R=g;g=f[g>>2]|0;pq(R)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return o|0}pq(g);u=Q;return o|0}function Qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;N=u;u=u+48|0;M=N+20|0;G=N;K=N+8|0;D=M+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;n[D>>2]=$(1.0);J=a+80|0;e=f[J>>2]|0;f[K>>2]=0;L=K+4|0;f[L>>2]=0;f[K+8>>2]=0;a:do if(!e){g=0;m=0}else{if(e>>>0>1073741823)Fp(K);B=e<<2;t=an(B)|0;f[K>>2]=t;A=t+(e<<2)|0;f[K+8>>2]=A;cj(t|0,0,B|0)|0;f[L>>2]=A;A=c+48|0;B=c+40|0;w=M+4|0;z=M+12|0;x=M+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;r=0;d=t;t=0;m=0;while(1){q=v+t|0;l=A;k=f[l>>2]|0;l=f[l+4>>2]|0;s=B;s=$m(q|0,((q|0)<0)<<31>>31|0,f[s>>2]|0,f[s+4>>2]|0)|0;l=Mn(s|0,I|0,k|0,l|0)|0;l=(f[f[c>>2]>>2]|0)+l|0;k=l;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;l=l+4|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;s=G;f[s>>2]=k;f[s+4>>2]=l;s=(k^318)+239^l;q=(r|0)==0;b:do if(!q){i=r+-1|0;g=(i&r|0)==0;if(!g)if(s>>>0>>0)j=s;else j=(s>>>0)%(r>>>0)|0;else j=s&i;e=f[(f[M>>2]|0)+(j<<2)>>2]|0;do if(e|0?(F=f[e>>2]|0,F|0):0){c:do if(g){e=F;while(1){O=f[e+4>>2]|0;g=(O|0)==(s|0);if(!(g|(O&i|0)==(j|0))){j=27;break c}if((g?(f[e+8>>2]|0)==(k|0):0)?(f[e+12>>2]|0)==(l|0):0){j=26;break c}e=f[e>>2]|0;if(!e){j=27;break}}}else{e=F;while(1){g=f[e+4>>2]|0;if((g|0)==(s|0)){if((f[e+8>>2]|0)==(k|0)?(f[e+12>>2]|0)==(l|0):0){j=26;break c}}else{if(g>>>0>=r>>>0)g=(g>>>0)%(r>>>0)|0;if((g|0)!=(j|0)){j=27;break c}}e=f[e>>2]|0;if(!e){j=27;break}}}while(0);if((j|0)==26){j=0;f[d+(t<<2)>>2]=f[e+16>>2];break b}else if((j|0)==27)if(q){e=0;j=46;break b}else break}while(0);i=r+-1|0;g=(i&r|0)==0;if(!g)if(s>>>0>>0)e=s;else e=(s>>>0)%(r>>>0)|0;else e=i&s;d=f[(f[M>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(E=f[d>>2]|0,(E|0)!=0):0){if(g){d=E;while(1){O=f[d+4>>2]|0;if(!((O|0)==(s|0)|(O&i|0)==(e|0))){j=46;break b}if((f[d+8>>2]|0)==(k|0)?(f[d+12>>2]|0)==(l|0):0){j=61;break b}d=f[d>>2]|0;if(!d){j=46;break b}}}else g=E;while(1){d=f[g+4>>2]|0;if((d|0)!=(s|0)){if(d>>>0>=r>>>0)d=(d>>>0)%(r>>>0)|0;if((d|0)!=(e|0)){j=46;break b}}if((f[g+8>>2]|0)==(k|0)?(f[g+12>>2]|0)==(l|0):0){j=61;break b}g=f[g>>2]|0;if(!g){j=46;break}}}else j=46}else{e=0;j=46}while(0);if((j|0)==46){j=0;i=an(20)|0;O=i+8|0;f[O>>2]=k;f[O+4>>2]=l;f[i+16>>2]=m;f[i+4>>2]=s;f[i>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);P=$(r>>>0);o=$(n[D>>2]);do if(q|p>$(P*o)){e=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;d=~~$(W($(p/o)))>>>0;Gh(M,e>>>0>>0?d:e);e=f[w>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&s;break}if(s>>>0>>0){g=e;e=s}else{g=e;e=(s>>>0)%(e>>>0)|0}}else g=r;while(0);d=(f[M>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[x>>2];f[x>>2]=i;f[d>>2]=x;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[M>>2]|0)+(e<<2)|0;j=59}}else{f[i>>2]=f[e>>2];j=59}if((j|0)==59)f[e>>2]=i;f[z>>2]=(f[z>>2]|0)+1;j=61}if((j|0)==61){O=C;d=f[O>>2]|0;O=$m(d|0,f[O+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;Rg((f[f[y>>2]>>2]|0)+O|0,G|0,d|0)|0;d=f[K>>2]|0;f[d+(t<<2)>>2]=m;m=m+1|0}e=t+1|0;g=f[J>>2]|0;if((e|0)>=(g|0))break a;r=f[w>>2]|0;t=e}}while(0);if((m|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[K>>2]|0;d=e>>2;e=0;do{O=g+(e<<2)|0;f[O>>2]=f[i+(f[O>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(H=e+(g<<2)|0,(d|0)!=(H|0)):0)f[i>>2]=d+(~((d+-4-H|0)>>>2)<<2)}else{lh(j,g-k|0,1220);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[J>>2]=m}e=f[K>>2]|0;if(e|0){d=f[L>>2]|0;if((d|0)!=(e|0))f[L>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[M+8>>2]|0;if(e|0)do{O=e;e=f[e>>2]|0;pq(O)}while((e|0)!=0);e=f[M>>2]|0;f[M>>2]=0;if(!e){u=N;return m|0}pq(e);u=N;return m|0}function Rb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+352|0;if(b[k>>0]|0?(z=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))Gi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{lh(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))ra(20748,20641,60,20738);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=an(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3452;n=h+12|0;f[n>>2]=3476;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3476;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3476;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Zg(x+8|0,g,y);Ra[f[(f[x>>2]|0)+8>>2]&127](x);gf(v,x);gf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;Xf(g,y)|0;f[y>>2]=3476;d=f[y+20>>2]|0;if(d|0)pq(d);d=f[y+8>>2]|0;if(d|0)pq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3476;d=f[v+20>>2]|0;if(d|0)pq(d);d=f[v+8>>2]|0;if(d|0)pq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];Xf(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;_f(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}f[r>>2]=3476;d=f[w+24>>2]|0;if(d|0)pq(d);d=f[w+12>>2]|0;if(d|0)pq(d);f[x>>2]=3476;d=f[x+20>>2]|0;if(d|0)pq(d);d=f[x+8>>2]|0;if(d|0)pq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((fi(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Pe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Ld(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=an(76)|0;f[A>>2]=h;jl(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))Gi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else Lg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+288|0;if(b[k>>0]|0?(z=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))Gi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{lh(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))ra(20748,20641,60,20738);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=an(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3452;n=h+12|0;f[n>>2]=3476;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3476;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3476;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Zg(x+8|0,g,y);Ra[f[(f[x>>2]|0)+8>>2]&127](x);gf(v,x);gf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;Xf(g,y)|0;f[y>>2]=3476;d=f[y+20>>2]|0;if(d|0)pq(d);d=f[y+8>>2]|0;if(d|0)pq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3476;d=f[v+20>>2]|0;if(d|0)pq(d);d=f[v+8>>2]|0;if(d|0)pq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];Xf(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;_f(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}f[r>>2]=3476;d=f[w+24>>2]|0;if(d|0)pq(d);d=f[w+12>>2]|0;if(d|0)pq(d);f[x>>2]=3476;d=f[x+20>>2]|0;if(d|0)pq(d);d=f[x+8>>2]|0;if(d|0)pq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((fi(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Pe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Ld(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=an(76)|0;f[A>>2]=h;jl(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))Gi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else Lg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Tb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=a+8|0;f[K>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{H=f[b+(i<<2)>>2]|0;G=(H|0)<(g|0);g=G?H:g;h=G?h:(H|0)>(h|0)?H:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;H=1-g+h|0;f[a+20>>2]=H;g=(H|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(H&1))f[h>>2]=g+-1}y=f[a+48>>2]|0;z=f[a+52>>2]|0;A=e>>>0>1073741823?-1:e<<2;G=mq(A)|0;cj(G|0,0,A|0)|0;H=mq(A)|0;cj(H|0,0,A|0)|0;A=f[a+56>>2]|0;B=A+4|0;i=f[B>>2]|0;j=f[A>>2]|0;g=i-j|0;a:do if((g|0)>4){h=g>>2;s=(e|0)>0;v=a+16|0;r=a+32|0;x=a+12|0;w=a+28|0;u=a+20|0;t=a+24|0;q=y+12|0;p=e<<2;g=h+-1|0;if(i-j>>2>>>0>g>>>0){m=j;C=h;J=g}else Fp(A);while(1){o=f[m+(J<<2)>>2]|0;if(s)cj(G|0,0,p|0)|0;if((o|0)>-1){n=f[q>>2]|0;m=o;d=0;while(1){h=f[n+(m<<2)>>2]|0;if((h|0)>=0){i=f[y>>2]|0;j=f[z>>2]|0;l=f[j+(f[i+(h<<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=f[i+(g<<2)>>2]|0;k=f[j+(g<<2)>>2]|0;g=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;g=f[j+(g<<2)>>2]|0;if((l|0)<(J|0)&(k|0)<(J|0)&(g|0)<(J|0)){j=X(l,e)|0;i=X(k,e)|0;h=X(g,e)|0;if(s){g=0;do{f[H+(g<<2)>>2]=(f[b+(g+h<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(s){g=0;do{l=G+(g<<2)|0;f[l>>2]=(f[l>>2]|0)+(f[H+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}i=d+1|0}else i=d}else i=d;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else d=i}h=X(J,e)|0;if(i){if(s){g=0;do{o=G+(g<<2)|0;f[o>>2]=(f[o>>2]|0)/(i|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[K>>2]|0;if((g|0)>0){k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[v>>2]|0;if((g|0)>(h|0)){g=f[r>>2]|0;f[g+(j<<2)>>2]=h}else{n=f[x>>2]|0;o=f[r>>2]|0;f[o+(j<<2)>>2]=(g|0)<(n|0)?n:g;g=o}j=j+1|0}while((j|0)<(f[K>>2]|0));i=g}else i=f[r>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[w>>2]|0)){if((g|0)>(f[t>>2]|0)){g=g-(f[u>>2]|0)|0;L=67}}else{g=(f[u>>2]|0)+g|0;L=67}if((L|0)==67){L=0;f[h>>2]=g}k=k+1|0;g=f[K>>2]|0}while((k|0)<(g|0))}}else{I=h;L=40}}else{I=X(J,e)|0;L=40}if((L|0)==40?(L=0,E=b+(I<<2)|0,F=c+(I<<2)|0,D=f[K>>2]|0,(D|0)>0):0){h=D;k=0;j=b+((X(C+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[v>>2]|0;if((g|0)>(h|0)){g=f[r>>2]|0;f[g+(i<<2)>>2]=h}else{o=f[x>>2]|0;C=f[r>>2]|0;f[C+(i<<2)>>2]=(g|0)<(o|0)?o:g;g=C}i=i+1|0}while((i|0)<(f[K>>2]|0))}else g=f[r>>2]|0;h=(f[E+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=F+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[w>>2]|0)){if((h|0)>(f[t>>2]|0)){h=h-(f[u>>2]|0)|0;L=52}}else{h=(f[u>>2]|0)+h|0;L=52}if((L|0)==52){L=0;f[i>>2]=h}k=k+1|0;h=f[K>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((J|0)<=1)break a;m=f[A>>2]|0;g=J+-1|0;if((f[B>>2]|0)-m>>2>>>0<=g>>>0)break;else{C=J;J=g}}Fp(A)}while(0);if((e|0)>0)cj(G|0,0,e<<2|0)|0;g=f[K>>2]|0;if((g|0)<=0){nq(H);nq(G);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{J=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(J|0)?J:g;g=a}j=j+1|0}while((j|0)<(f[K>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;L=82}}else{g=(f[m>>2]|0)+g|0;L=82}if((L|0)==82){L=0;f[h>>2]=g}k=k+1|0;g=f[K>>2]|0}while((k|0)<(g|0));nq(H);nq(G);return 1}function Ub(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=a+8|0;f[N>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{J=f[b+(i<<2)>>2]|0;I=(J|0)<(g|0);g=I?J:g;h=I?h:(J|0)>(h|0)?J:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;J=1-g+h|0;f[a+20>>2]=J;g=(J|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(J&1))f[h>>2]=g+-1}x=f[a+48>>2]|0;y=f[a+52>>2]|0;z=e>>>0>1073741823?-1:e<<2;I=mq(z)|0;cj(I|0,0,z|0)|0;J=mq(z)|0;cj(J|0,0,z|0)|0;z=f[a+56>>2]|0;A=z+4|0;i=f[A>>2]|0;j=f[z>>2]|0;g=i-j|0;a:do if((g|0)>4){h=g>>2;q=(e|0)>0;u=a+16|0;p=a+32|0;w=a+12|0;v=a+28|0;t=a+20|0;s=a+24|0;r=x+64|0;o=x+28|0;n=e<<2;g=h+-1|0;if(i-j>>2>>>0>g>>>0){m=j;B=h;L=g}else Fp(z);while(1){m=f[m+(L<<2)>>2]|0;if(q)cj(I|0,0,n|0)|0;if((m|0)>-1){d=f[x>>2]|0;l=m;k=0;do{if(((f[d+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(M=f[(f[(f[r>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(M|0)>=0):0)?(E=f[o>>2]|0,j=f[y>>2]|0,C=f[j+(f[E+(M<<2)>>2]<<2)>>2]|0,D=M+1|0,D=f[j+(f[E+((((D|0)%3|0|0)==0?M+-2|0:D)<<2)>>2]<<2)>>2]|0,E=f[j+(f[E+((((M>>>0)%3|0|0)==0?2:-1)+M<<2)>>2]<<2)>>2]|0,(C|0)<(L|0)&(D|0)<(L|0)&(E|0)<(L|0)):0){h=X(C,e)|0;i=X(D,e)|0;j=X(E,e)|0;if(q){g=0;do{f[J+(g<<2)>>2]=(f[b+(g+j<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+h<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(q){g=0;do{j=I+(g<<2)|0;f[j>>2]=(f[j>>2]|0)+(f[J+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}k=k+1|0}g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if(!(f[d+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[r>>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);l=(g|0)==(m|0)?-1073741824:g}while((l|0)>-1);h=X(L,e)|0;if(k){if(q){g=0;do{m=I+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(k|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[N>>2]|0;if((g|0)>0){k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[u>>2]|0;if((g|0)>(h|0)){g=f[p>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[w>>2]|0;m=f[p>>2]|0;f[m+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=m}j=j+1|0}while((j|0)<(f[N>>2]|0));i=g}else i=f[p>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[v>>2]|0)){if((g|0)>(f[s>>2]|0)){g=g-(f[t>>2]|0)|0;O=65}}else{g=(f[t>>2]|0)+g|0;O=65}if((O|0)==65){O=0;f[h>>2]=g}k=k+1|0;g=f[N>>2]|0}while((k|0)<(g|0))}}else{K=h;O=38}}else{K=X(L,e)|0;O=38}if((O|0)==38?(O=0,G=b+(K<<2)|0,H=c+(K<<2)|0,F=f[N>>2]|0,(F|0)>0):0){h=F;k=0;j=b+((X(B+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[u>>2]|0;if((g|0)>(h|0)){g=f[p>>2]|0;f[g+(i<<2)>>2]=h}else{m=f[w>>2]|0;B=f[p>>2]|0;f[B+(i<<2)>>2]=(g|0)<(m|0)?m:g;g=B}i=i+1|0}while((i|0)<(f[N>>2]|0))}else g=f[p>>2]|0;h=(f[G+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=H+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[v>>2]|0)){if((h|0)>(f[s>>2]|0)){h=h-(f[t>>2]|0)|0;O=50}}else{h=(f[t>>2]|0)+h|0;O=50}if((O|0)==50){O=0;f[i>>2]=h}k=k+1|0;h=f[N>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((L|0)<=1)break a;m=f[z>>2]|0;g=L+-1|0;if((f[A>>2]|0)-m>>2>>>0<=g>>>0)break;else{B=L;L=g}}Fp(z)}while(0);if((e|0)>0)cj(I|0,0,e<<2|0)|0;g=f[N>>2]|0;if((g|0)<=0){nq(J);nq(I);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{M=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(M|0)?M:g;g=a}j=j+1|0}while((j|0)<(f[N>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;O=80}}else{g=(f[m>>2]|0)+g|0;O=80}if((O|0)==80){O=0;f[h>>2]=g}k=k+1|0;g=f[N>>2]|0}while((k|0)<(g|0));nq(J);nq(I);return 1}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;S=u;u=u+96|0;F=S+92|0;G=S+88|0;H=S+72|0;M=S+48|0;N=S+24|0;O=S;L=a+4|0;m=f[L>>2]|0;if(!m)ra(13158,13180,46,13350);K=a+8|0;l=f[K>>2]|0;if(!l)ra(13158,13180,46,13350);J=a+16|0;k=f[J>>2]|0;n=f[c>>2]|0;f[H>>2]=k;f[H+4>>2]=n;D=H+8|0;f[D>>2]=n;b[H+12>>0]=1;k=f[(f[k+28>>2]|0)+(n<<2)>>2]|0;E=a+20|0;i=f[E>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0)Fp(i);c=f[l+(f[c+(k<<2)>>2]<<2)>>2]|0;if(!(b[m+84>>0]|0))c=f[(f[m+68>>2]|0)+(c<<2)>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;f[G>>2]=c;i=b[m+24>>0]|0;f[F>>2]=f[G>>2];lb(m,F,i,M)|0;i=f[D>>2]|0;w=a+28|0;c=(f[w>>2]|0)==0;a:do if((i|0)>=0){A=N+8|0;x=M+8|0;C=N+16|0;y=M+16|0;z=O+8|0;B=O+16|0;k=(n|0)<0;t=n+1|0;v=n+(k?0:((n>>>0)%3|0|0)==0?2:-1)|0;t=k?n:((t|0)%3|0|0)==0?n+-2|0:t;k=0;r=0;l=0;s=0;m=0;o=0;while(1){do if(!c){c=i+1|0;c=((c|0)%3|0|0)==0?i+-2|0:c;if(!((i>>>0)%3|0)){q=i+2|0;break}else{q=i+-1|0;break}}else{c=t;q=v}while(0);p=f[L>>2]|0;if(!p){c=16;break}a=f[K>>2]|0;if(!a){c=16;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(c<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=18;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;f[G>>2]=c;n=b[p+24>>0]|0;f[F>>2]=f[G>>2];lb(p,F,n,N)|0;p=f[L>>2]|0;if(!p){c=23;break}a=f[K>>2]|0;if(!a){c=23;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(q<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=25;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;f[O+16>>2]=0;f[O+20>>2]=0;f[G>>2]=c;i=b[p+24>>0]|0;f[F>>2]=f[G>>2];lb(p,F,i,O)|0;i=N;_=M;Z=f[_>>2]|0;_=f[_+4>>2]|0;i=_n(f[i>>2]|0,f[i+4>>2]|0,Z|0,_|0)|0;c=I;q=A;aa=x;$=f[aa>>2]|0;aa=f[aa+4>>2]|0;q=_n(f[q>>2]|0,f[q+4>>2]|0,$|0,aa|0)|0;p=I;U=C;n=y;T=f[n>>2]|0;n=f[n+4>>2]|0;U=_n(f[U>>2]|0,f[U+4>>2]|0,T|0,n|0)|0;V=I;W=O;_=_n(f[W>>2]|0,f[W+4>>2]|0,Z|0,_|0)|0;Z=I;W=z;aa=_n(f[W>>2]|0,f[W+4>>2]|0,$|0,aa|0)|0;$=I;W=B;n=_n(f[W>>2]|0,f[W+4>>2]|0,T|0,n|0)|0;T=I;W=$m(n|0,T|0,q|0,p|0)|0;a=I;Y=$m(aa|0,$|0,U|0,V|0)|0;X=I;V=$m(_|0,Z|0,U|0,V|0)|0;U=I;T=$m(n|0,T|0,i|0,c|0)|0;n=I;c=$m(aa|0,$|0,i|0,c|0)|0;i=I;p=$m(_|0,Z|0,q|0,p|0)|0;q=I;k=_n(k|0,r|0,Y|0,X|0)|0;k=Mn(k|0,I|0,W|0,a|0)|0;a=I;l=Mn(V|0,U|0,l|0,s|0)|0;l=_n(l|0,I|0,T|0,n|0)|0;n=I;m=_n(m|0,o|0,p|0,q|0)|0;m=Mn(m|0,I|0,c|0,i|0)|0;o=I;yf(H);i=f[D>>2]|0;c=(f[w>>2]|0)==0;if((i|0)<0){j=a;Q=k;R=n;h=l;g=o;e=m;P=c;break a}else{r=a;s=n}}if((c|0)==16)ra(13158,13407,70,13577);else if((c|0)==18)Fp(n);else if((c|0)==23)ra(13158,13407,70,13577);else if((c|0)==25)Fp(n)}else{j=0;Q=0;R=0;h=0;g=0;e=0;P=c}while(0);aa=(j|0)>-1|(j|0)==-1&Q>>>0>4294967295;i=_n(0,0,Q|0,j|0)|0;c=aa?j:I;X=(R|0)>-1|(R|0)==-1&h>>>0>4294967295;Y=_n(0,0,h|0,R|0)|0;Z=X?R:I;$=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;_=_n(0,0,e|0,g|0)|0;$=Mn((X?h:Y)|0,Z|0,($?e:_)|0,($?g:I)|0)|0;c=Mn($|0,I|0,(aa?Q:i)|0,c|0)|0;i=I;if(P)if((c|0)>536870912){aa=An(c|0,i|0,29)|0;aa=aa&7;i=kk(Q|0,j|0,aa|0,0)|0;j=I;h=kk(h|0,R|0,aa|0,0)|0;c=I;e=kk(e|0,g|0,aa|0,0)|0;g=I}else{i=Q;c=R}else if((i|0)>0|(i|0)==0&c>>>0>536870912){$=An(c|0,i|0,29)|0;aa=I;i=kk(Q|0,j|0,$|0,aa|0)|0;j=I;h=kk(h|0,R|0,$|0,aa|0)|0;c=I;e=kk(e|0,g|0,$|0,aa|0)|0;g=I}else{i=Q;c=R}_=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;$=_n(0,0,i|0,j|0)|0;aa=_?j:I;V=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;W=_n(0,0,h|0,c|0)|0;X=V?c:I;Z=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Y=_n(0,0,e|0,g|0)|0;Z=Mn((V?h:W)|0,X|0,(Z?e:Y)|0,(Z?g:I)|0)|0;aa=Mn(Z|0,I|0,(_?i:$)|0,aa|0)|0;$=I;if(($|0)<0|($|0)==0&aa>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=S;return}else ra(13372,13180,95,13350)}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=Ka,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=rd(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];pf(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;xi(B,8);y=d;d=y;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;i=f[B>>2]|0;g=i;b[g>>0]=d;b[g+1>>0]=d>>8;b[g+2>>0]=d>>16;b[g+3>>0]=d>>24;i=i+4|0;b[i>>0]=y;b[i+1>>0]=y>>8;b[i+2>>0]=y>>16;b[i+3>>0]=y>>24;dj(A,c);i=A+12|0;f[i>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;c=f[z>>2]|0;g=f[B>>2]|0;d=c-g|0;if(!d){d=g;g=0}else{xi(i,d);d=f[B>>2]|0;c=f[z>>2]|0;g=f[i>>2]|0}Rg(g|0,d|0,c-d|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){c=t;g=s;d=s;while(1){v=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}v=s+-4|0;c=v&-4;d=t+(c+4)|0;c=v-c|0}else{d=t;g=s;c=s}switch(c|0){case 3:{g=h[d+2>>0]<<16^g;w=10;break}case 2:{w=10;break}case 1:{w=11;break}default:{}}if((w|0)==10){g=h[d+1>>0]<<8^g;w=11}if((w|0)==11)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;i=f[q>>2]|0;r=(i|0)==0;a:do if(!r){p=i+-1|0;d=(p&i|0)==0;if(!d)if(v>>>0>>0)c=v;else c=(v>>>0)%(i>>>0)|0;else c=v&p;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(c|0))){w=52;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=52;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(c|0))){w=52;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=52;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break}}}else w=52}else{c=0;w=52}while(0);if((w|0)==52){kh(e,a,v,A);l=a+12|0;k=$(((f[l>>2]|0)+1|0)>>>0);D=$(i>>>0);j=$(n[a+16>>2]);do if(r|k>$(D*j)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(k/j)))>>>0;Wh(a,g>>>0>>0?c:g);g=f[q>>2]|0;c=g+-1|0;if(!(c&g)){i=g;c=c&v;break}if(v>>>0>>0){i=g;c=v}else{i=g;c=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;c=i+-1|0;if(c&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&c;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;pq(e)}if((b[x>>0]|0)<0)pq(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;pq(e);u=C;return}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=Ka,m=0,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Ka;D=u;u=u+64|0;e=D+40|0;B=D+16|0;C=D;g=rd(a,c)|0;if(g|0){f[B>>2]=g;f[e>>2]=f[B>>2];pf(a,e)|0}f[C>>2]=0;A=C+4|0;f[A>>2]=0;f[C+8>>2]=0;j=d+11|0;i=b[j>>0]|0;m=d+4|0;g=f[m>>2]|0;k=i<<24>>24<0?g:i&255;if(!k){j=i;i=0}else{xi(C,k);j=b[j>>0]|0;g=f[m>>2]|0;i=f[C>>2]|0}k=j<<24>>24<0;Rg(i|0,(k?f[d>>2]|0:d)|0,(k?g:j&255)|0)|0;dj(B,c);k=B+12|0;f[k>>2]=0;z=B+16|0;f[z>>2]=0;f[B+20>>2]=0;i=f[A>>2]|0;g=f[C>>2]|0;j=i-g|0;if(!j){j=g;g=0}else{xi(k,j);j=f[C>>2]|0;i=f[A>>2]|0;g=f[k>>2]|0}Rg(g|0,j|0,i-j|0)|0;x=B+11|0;t=b[x>>0]|0;w=t<<24>>24<0;v=w?f[B>>2]|0:B;t=w?f[B+4>>2]|0:t&255;if(t>>>0>3){i=v;g=t;j=t;while(1){w=X(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,1540483477)|0;g=(X(w>>>24^w,1540483477)|0)^(X(g,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else i=i+4|0}w=t+-4|0;i=w&-4;j=v+(i+4)|0;i=w-i|0}else{j=v;g=t;i=t}switch(i|0){case 3:{g=h[j+2>>0]<<16^g;y=12;break}case 2:{y=12;break}case 1:{y=13;break}default:{}}if((y|0)==12){g=h[j+1>>0]<<8^g;y=13}if((y|0)==13)g=X(h[j>>0]^g,1540483477)|0;w=X(g>>>13^g,1540483477)|0;w=w>>>15^w;q=a+4|0;k=f[q>>2]|0;r=(k|0)==0;a:do if(!r){p=k+-1|0;j=(p&k|0)==0;if(!j)if(w>>>0>>0)i=w;else i=(w>>>0)%(k>>>0)|0;else i=w&p;g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if((g|0)!=0?(s=f[g>>2]|0,(s|0)!=0):0){g=(t|0)==0;if(j){if(g){g=s;while(1){v=f[g+4>>2]|0;if(!((v|0)==(w|0)|(v&p|0)==(i|0))){y=54;break a}v=b[g+8+11>>0]|0;if(!((v<<24>>24<0?f[g+12>>2]|0:v&255)|0))break a;g=f[g>>2]|0;if(!g){y=54;break a}}}else d=s;while(1){s=f[d+4>>2]|0;if(!((s|0)==(w|0)|(s&p|0)==(i|0))){y=54;break a}g=d+8|0;m=b[g+11>>0]|0;c=m<<24>>24<0;m=m&255;do if(((c?f[d+12>>2]|0:m)|0)==(t|0)){j=f[g>>2]|0;if(c)if(!(fl(j,v,t)|0))break a;else break;if((j&255)<<24>>24==(b[v>>0]|0)){j=v;do{m=m+-1|0;g=g+1|0;if(!m)break a;j=j+1|0}while((b[g>>0]|0)==(b[j>>0]|0))}}while(0);d=f[d>>2]|0;if(!d){y=54;break a}}}if(g){j=s;while(1){g=f[j+4>>2]|0;if((g|0)!=(w|0)){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0;if((g|0)!=(i|0)){y=54;break a}}v=b[j+8+11>>0]|0;if(!((v<<24>>24<0?f[j+12>>2]|0:v&255)|0))break a;j=f[j>>2]|0;if(!j){y=54;break a}}}else d=s;while(1){g=f[d+4>>2]|0;if((g|0)!=(w|0)){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0;if((g|0)!=(i|0)){y=54;break a}}g=d+8|0;m=b[g+11>>0]|0;c=m<<24>>24<0;m=m&255;do if(((c?f[d+12>>2]|0:m)|0)==(t|0)){j=f[g>>2]|0;if(c)if(!(fl(j,v,t)|0))break a;else break;if((j&255)<<24>>24==(b[v>>0]|0)){j=v;do{m=m+-1|0;g=g+1|0;if(!m)break a;j=j+1|0}while((b[g>>0]|0)==(b[j>>0]|0))}}while(0);d=f[d>>2]|0;if(!d){y=54;break}}}else y=54}else{i=0;y=54}while(0);if((y|0)==54){kh(e,a,w,B);m=a+12|0;o=$(((f[m>>2]|0)+1|0)>>>0);E=$(k>>>0);l=$(n[a+16>>2]);do if(r|o>$(E*l)){g=(k>>>0<3|(k+-1&k|0)!=0)&1|k<<1;i=~~$(W($(o/l)))>>>0;Wh(a,g>>>0>>0?i:g);g=f[q>>2]|0;i=g+-1|0;if(!(i&g)){k=g;i=i&w;break}if(w>>>0>>0){k=g;i=w}else{k=g;i=(w>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=k+-1|0;if(i&k){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0}else g=g&i;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[m>>2]=(f[m>>2]|0)+1;f[e>>2]=0}e=f[B+12>>2]|0;if(e|0){if((f[z>>2]|0)!=(e|0))f[z>>2]=e;pq(e)}if((b[x>>0]|0)<0)pq(f[B>>2]|0);e=f[C>>2]|0;if(!e){u=D;return}if((f[A>>2]|0)!=(e|0))f[A>>2]=e;pq(e);u=D;return}function Yb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=Ka;U=u;u=u+48|0;T=U+28|0;N=U+8|0;O=U;R=U+16|0;L=T+16|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;n[L>>2]=$(1.0);Q=a+80|0;g=f[Q>>2]|0;f[R>>2]=0;S=R+4|0;f[S>>2]=0;f[R+8>>2]=0;if(!g){i=0;o=0}else{if(g>>>0>1073741823)Fp(R);G=g<<2;H=an(G)|0;f[R>>2]=H;B=H+(g<<2)|0;f[R+8>>2]=B;cj(H|0,0,G|0)|0;f[S>>2]=B;B=f[e>>2]|0;G=c+48|0;H=c+40|0;E=T+4|0;F=T+12|0;D=T+8|0;J=a+40|0;C=a+64|0;K=0;z=0;while(1){w=B+K|0;y=G;x=f[y>>2]|0;y=f[y+4>>2]|0;g=H;g=$m(w|0,((w|0)<0)<<31>>31|0,f[g>>2]|0,f[g+4>>2]|0)|0;y=Mn(g|0,I|0,x|0,y|0)|0;y=(f[f[c>>2]>>2]|0)+y|0;x=y;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;g=N;f[g>>2]=x;f[g+4>>2]=y;g=O;f[g>>2]=x;f[g+4>>2]=y;g=cf(T,O)|0;if(!g){t=O;s=f[t>>2]|0;t=f[t+4>>2]|0;l=s&65535;y=An(s|0,t|0,16)|0;m=y&65535;o=t&65535;v=An(s|0,t|0,48)|0;w=I;r=v&65535;y=((((l^318)&65535)+239^y&65535)+239^t&65535)+239^v;i=f[E>>2]|0;x=(i|0)==0;a:do if(!x){k=i+-1|0;j=(k&i|0)==0;if(!j)if(y>>>0>>0)g=y;else g=(y>>>0)%(i>>>0)|0;else g=y&k;e=f[(f[T>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(M=f[e>>2]|0,(M|0)!=0):0){if(j){e=M;while(1){j=f[e+4>>2]|0;if(!((j|0)==(y|0)|(j&k|0)==(g|0))){A=31;break a}j=e+8|0;if((((d[j>>1]|0)==l<<16>>16?(d[j+2>>1]|0)==m<<16>>16:0)?(d[e+12>>1]|0)==o<<16>>16:0)?(d[j+6>>1]|0)==r<<16>>16:0)break a;e=f[e>>2]|0;if(!e){A=31;break a}}}else j=M;while(1){e=f[j+4>>2]|0;if((e|0)!=(y|0)){if(e>>>0>=i>>>0)e=(e>>>0)%(i>>>0)|0;if((e|0)!=(g|0)){A=31;break a}}k=j+8|0;if((((d[k>>1]|0)==l<<16>>16?(d[k+2>>1]|0)==m<<16>>16:0)?(d[j+12>>1]|0)==o<<16>>16:0)?(d[k+6>>1]|0)==r<<16>>16:0)break a;j=f[j>>2]|0;if(!j){A=31;break}}}else A=31}else{g=0;A=31}while(0);if((A|0)==31){A=0;j=an(20)|0;v=vn(v|0,w|0,48)|0;s=s|v;v=t&65535|I;w=j+8|0;t=w;d[t>>1]=s;d[t+2>>1]=s>>>16;w=w+4|0;d[w>>1]=v;d[w+2>>1]=v>>>16;f[j+16>>2]=z;f[j+4>>2]=y;f[j>>2]=0;q=$(((f[F>>2]|0)+1|0)>>>0);V=$(i>>>0);p=$(n[L>>2]);do if(x|q>$(V*p)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(q/p)))>>>0;Ah(T,g>>>0>>0?e:g);g=f[E>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&y;break}if(y>>>0>>0){i=g;g=y}else{i=g;g=(y>>>0)%(g>>>0)|0}}while(0);e=(f[T>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[D>>2];f[D>>2]=j;f[e>>2]=D;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[T>>2]|0)+(g<<2)|0;A=44}}else{f[j>>2]=f[g>>2];A=44}if((A|0)==44){A=0;f[g>>2]=j}f[F>>2]=(f[F>>2]|0)+1}y=J;g=f[y>>2]|0;y=$m(g|0,f[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Rg((f[f[C>>2]>>2]|0)+y|0,N|0,g|0)|0;f[(f[R>>2]|0)+(K<<2)>>2]=z;g=z+1|0}else{f[(f[R>>2]|0)+(K<<2)>>2]=f[g+16>>2];g=z}K=K+1|0;i=f[Q>>2]|0;if((K|0)>=(i|0)){o=g;break}else z=g}}if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[R>>2]|0;e=g>>2;g=0;do{a=i+(g<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(P=g+(i<<2)|0,(e|0)!=(P|0)):0)f[j>>2]=e+(~((e+-4-P|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[Q>>2]|0}if((i|0)>0){j=f[R>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[Q>>2]=o}g=f[R>>2]|0;if(g|0){e=f[S>>2]|0;if((e|0)!=(g|0))f[S>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[T+8>>2]|0;if(g|0)do{S=g;g=f[g>>2]|0;pq(S)}while((g|0)!=0);g=f[T>>2]|0;f[T>>2]=0;if(!g){u=U;return o|0}pq(g);u=U;return o|0}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+16|0;M=Q+8|0;O=Q;L=Q+4|0;N=a+16|0;d=f[N>>2]|0;K=a+20|0;c=f[K>>2]|0;if((c|0)==(d|0))c=d;else{c=c+(~((c+-4-d|0)>>>2)<<2)|0;f[K>>2]=c}H=a+24|0;if((c|0)==(f[H>>2]|0)){Gi(N,b);d=f[N>>2]|0;e=f[K>>2]|0}else{f[c>>2]=f[b>>2];e=c+4|0;f[K>>2]=e}c=f[a+8>>2]|0;c=(f[c+100>>2]|0)-(f[c+96>>2]|0)|0;G=(c|0)/12|0;if((d|0)==(e|0)){u=Q;return 1}F=a+28|0;z=(c|0)>0;B=a+164|0;y=a+12|0;v=a+76|0;x=a+80|0;D=a+72|0;s=a+152|0;q=a+84|0;t=a+272|0;w=a+276|0;E=a+268|0;C=a+168|0;r=a+140|0;A=a+120|0;c=e;do{d=f[c+-4>>2]|0;f[b>>2]=d;a:do if((d|0)>=0?(p=(d>>>0)/3|0,I=f[F>>2]|0,(f[I+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){if(z){d=I;c=0;while(1){p=c+1|0;f[B>>2]=(f[B>>2]|0)+1;o=f[b>>2]|0;o=(o|0)<0?-1073741824:(o>>>0)/3|0;c=d+(o>>>5<<2)|0;f[c>>2]=1<<(o&31)|f[c>>2];c=f[v>>2]|0;if((c|0)==(f[x>>2]|0))Gi(D,b);else{f[c>>2]=f[b>>2];f[v>>2]=c+4}d=f[b>>2]|0;if((d|0)<0)n=-1073741824;else n=f[(f[f[y>>2]>>2]|0)+(d<<2)>>2]|0;m=(f[(f[s>>2]|0)+(n<<2)>>2]|0)!=-1;e=(f[q>>2]|0)+(n>>>5<<2)|0;g=1<<(n&31);c=f[e>>2]|0;do if(!(c&g)){f[e>>2]=c|g;if(m){d=f[b>>2]|0;P=30;break}f[M>>2]=0;c=f[t>>2]|0;if((c|0)==(f[w>>2]|0))Gi(E,M);else{f[c>>2]=0;f[t>>2]=c+4}c=f[b>>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=f[(f[(f[y>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}f[b>>2]=c}else P=30;while(0);if((P|0)==30){P=0;l=(d|0)<0;j=d+1|0;if(!l){c=((j|0)%3|0|0)==0?d+-2|0:j;if((c|0)<0)e=c;else e=f[(f[(f[y>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;f[O>>2]=e;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[(f[y>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;i=(e|0)<0;h=i?-1073741824:(e>>>0)/3|0;g=(c|0)<0;k=g?-1073741824:(c>>>0)/3|0;e=((j|0)%3|0|0)==0?d+-2|0:j;if((e|0)>=0)e=f[(f[(f[y>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}else{f[O>>2]=d;g=1;i=1;c=d;k=-1073741824;h=-1073741824;e=d}if((e|0)!=-1073741824?(j=(e|0)<0?-1073741824:(e>>>0)/3|0,J=f[F>>2]|0,(f[J+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!l){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)!=-1073741824?(l=(d|0)<0?-1073741824:(d>>>0)/3|0,(f[J+(l>>>5<<2)>>2]&1<<(l&31)|0)==0):0){P=68;break}if(!g)vf(a,f[B>>2]|0,o,0,k);f[M>>2]=3;c=f[t>>2]|0;if((c|0)==(f[w>>2]|0))Gi(E,M);else{f[c>>2]=3;f[t>>2]=c+4}c=f[O>>2]|0}else{if(!i){vf(a,f[B>>2]|0,o,1,h);d=f[b>>2]|0}if((d|0)>=0){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)==-1073741824){P=47;break}n=(d|0)<0?-1073741824:(d>>>0)/3|0;if(f[(f[F>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0){P=47;break}f[M>>2]=5;d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))Gi(E,M);else{f[d>>2]=5;f[t>>2]=d+4}}f[b>>2]=c}if((p|0)>=(G|0))break a;d=f[F>>2]|0;c=p}do if((P|0)==47){P=0;if(!g)vf(a,f[B>>2]|0,o,0,k);f[M>>2]=7;c=f[t>>2]|0;if((c|0)==(f[w>>2]|0))Gi(E,M);else{f[c>>2]=7;f[t>>2]=c+4}f[K>>2]=(f[K>>2]|0)+-4}else if((P|0)==68){P=0;f[M>>2]=1;d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))Gi(E,M);else{f[d>>2]=1;f[t>>2]=d+4}f[C>>2]=(f[C>>2]|0)+1;if(m?(p=f[(f[s>>2]|0)+(n<<2)>>2]|0,(1<<(p&31)&f[(f[r>>2]|0)+(p>>>5<<2)>>2]|0)==0):0){f[L>>2]=f[b>>2];f[M>>2]=f[L>>2];Ge(a,M,0)|0}p=f[B>>2]|0;f[M>>2]=o;d=ue(A,M)|0;f[d>>2]=p;d=f[K>>2]|0;f[d+-4>>2]=c;if((d|0)==(f[H>>2]|0)){Gi(N,O);break}else{f[d>>2]=f[O>>2];f[K>>2]=d+4;break}}while(0)}}else P=11;while(0);if((P|0)==11){P=0;f[K>>2]=c+-4}c=f[K>>2]|0}while((f[N>>2]|0)!=(c|0));u=Q;return 1}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=Ka,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=rd(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];pf(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;xi(B,4);i=f[B>>2]|0;y=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[i>>0]=y;b[i+1>>0]=y>>8;b[i+2>>0]=y>>16;b[i+3>>0]=y>>24;dj(A,c);i=A+12|0;f[i>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;c=f[z>>2]|0;g=f[B>>2]|0;d=c-g|0;if(!d){d=g;g=0}else{xi(i,d);d=f[B>>2]|0;c=f[z>>2]|0;g=f[i>>2]|0}Rg(g|0,d|0,c-d|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){c=t;g=s;d=s;while(1){v=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}v=s+-4|0;c=v&-4;d=t+(c+4)|0;c=v-c|0}else{d=t;g=s;c=s}switch(c|0){case 3:{g=h[d+2>>0]<<16^g;w=10;break}case 2:{w=10;break}case 1:{w=11;break}default:{}}if((w|0)==10){g=h[d+1>>0]<<8^g;w=11}if((w|0)==11)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;i=f[q>>2]|0;r=(i|0)==0;a:do if(!r){p=i+-1|0;d=(p&i|0)==0;if(!d)if(v>>>0>>0)c=v;else c=(v>>>0)%(i>>>0)|0;else c=v&p;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(c|0))){w=52;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=52;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(c|0))){w=52;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=52;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break}}}else w=52}else{c=0;w=52}while(0);if((w|0)==52){kh(e,a,v,A);l=a+12|0;k=$(((f[l>>2]|0)+1|0)>>>0);D=$(i>>>0);j=$(n[a+16>>2]);do if(r|k>$(D*j)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(k/j)))>>>0;Wh(a,g>>>0>>0?c:g);g=f[q>>2]|0;c=g+-1|0;if(!(c&g)){i=g;c=c&v;break}if(v>>>0>>0){i=g;c=v}else{i=g;c=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;c=i+-1|0;if(c&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&c;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;pq(e)}if((b[x>>0]|0)<0)pq(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;pq(e);u=C;return}function $b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;O=u;u=u+48|0;N=O+12|0;H=O+32|0;L=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);K=a+80|0;g=f[K>>2]|0;f[L>>2]=0;M=L+4|0;f[M>>2]=0;f[L+8>>2]=0;a:do if(!g){i=0;q=0}else{if(g>>>0>1073741823)Fp(L);D=g<<2;w=an(D)|0;f[L>>2]=w;C=w+(g<<2)|0;f[L+8>>2]=C;cj(w|0,0,D|0)|0;f[M>>2]=C;C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;r=0;e=w;w=0;j=0;while(1){m=x+w|0;s=C;t=f[s>>2]|0;s=f[s+4>>2]|0;q=D;q=$m(m|0,((m|0)<0)<<31>>31|0,f[q>>2]|0,f[q+4>>2]|0)|0;s=Mn(q|0,I|0,t|0,s|0)|0;s=(f[f[c>>2]>>2]|0)+s|0;s=h[s>>0]|h[s+1>>0]<<8;d[H>>1]=s;t=(s^318)&65535;b:do if(r){q=r+-1|0;m=(q&r|0)==0;if(!m)if(t>>>0>>0)k=t;else k=(t>>>0)%(r>>>0)|0;else k=q&t;l=f[N>>2]|0;g=f[l+(k<<2)>>2]|0;c:do if(g|0?(G=f[g>>2]|0,G|0):0){d:do if(m){g=G;while(1){P=f[g+4>>2]|0;i=(P|0)==(t|0);if(!(i|(P&q|0)==(k|0)))break c;if(i?(d[g+8>>1]|0)==s<<16>>16:0)break d;g=f[g>>2]|0;if(!g)break c}}else{g=G;while(1){i=f[g+4>>2]|0;if((i|0)==(t|0)){if((d[g+8>>1]|0)==s<<16>>16)break d}else{if(i>>>0>=r>>>0)i=(i>>>0)%(r>>>0)|0;if((i|0)!=(k|0))break c}g=f[g>>2]|0;if(!g)break c}}while(0);f[e+(w<<2)>>2]=f[g+12>>2];break b}while(0);if(!m)if(t>>>0>>0)g=t;else g=(t>>>0)%(r>>>0)|0;else g=q&t;e=f[l+(g<<2)>>2]|0;if(!e){i=r;e=0;v=40}else{if(m)while(1){e=f[e>>2]|0;if(!e){i=r;e=0;v=40;break b}P=f[e+4>>2]|0;if(!((P|0)==(t|0)|(P&q|0)==(g|0))){i=r;e=0;v=40;break b}if((d[e+8>>1]|0)==s<<16>>16){v=55;break b}}while(1){e=f[e>>2]|0;if(!e){i=r;e=0;v=40;break b}i=f[e+4>>2]|0;if((i|0)!=(t|0)){if(i>>>0>=r>>>0)i=(i>>>0)%(r>>>0)|0;if((i|0)!=(g|0)){i=r;e=0;v=40;break b}}if((d[e+8>>1]|0)==s<<16>>16){v=55;break}}}}else{i=0;g=0;e=1;v=40}while(0);if((v|0)==40){v=0;k=an(16)|0;d[k+8>>1]=s;f[k+12>>2]=j;f[k+4>>2]=t;f[k>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);Q=$(i>>>0);o=$(n[F>>2]);do if(e|p>$(Q*o)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(p/o)))>>>0;Dh(N,g>>>0>>0?e:g);g=f[z>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&t;break}if(t>>>0>>0){i=g;g=t}else{i=g;g=(t>>>0)%(g>>>0)|0}}while(0);e=(f[N>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[k>>2]=f[y>>2];f[y>>2]=k;f[e>>2]=y;g=f[k>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[N>>2]|0)+(g<<2)|0;v=53}}else{f[k>>2]=f[g>>2];v=53}if((v|0)==53)f[g>>2]=k;f[B>>2]=(f[B>>2]|0)+1;v=55}if((v|0)==55){v=0;P=E;e=f[P>>2]|0;P=$m(e|0,f[P+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;Rg((f[f[A>>2]>>2]|0)+P|0,H|0,e|0)|0;e=f[L>>2]|0;f[e+(w<<2)>>2]=j;j=j+1|0}g=w+1|0;i=f[K>>2]|0;if((g|0)>=(i|0)){q=j;break a}r=f[z>>2]|0;w=g}}while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[L>>2]|0;e=g>>2;g=0;do{P=i+(g<<2)|0;f[P>>2]=f[j+(f[P>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(J=g+(i<<2)|0,(e|0)!=(J|0)):0)f[j>>2]=e+(~((e+-4-J|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[K>>2]|0}if((i|0)>0){j=f[L>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[K>>2]=q}g=f[L>>2]|0;if(g|0){e=f[M>>2]|0;if((e|0)!=(g|0))f[M>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[N+8>>2]|0;if(g|0)do{P=g;g=f[g>>2]|0;pq(P)}while((g|0)!=0);g=f[N>>2]|0;f[N>>2]=0;if(!g){u=O;return q|0}pq(g);u=O;return q|0}function ac(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;v=B+4|0;w=B;p=B+16|0;z=a+52|0;q=f[z>>2]|0;q=(f[q+100>>2]|0)-(f[q+96>>2]|0)|0;A=(q|0)/12|0;x=a+44|0;Rh(A,f[x>>2]|0)|0;Rh(f[(f[z>>2]|0)+80>>2]|0,f[x>>2]|0)|0;c=f[a+48>>2]|0;e=an(32)|0;f[v>>2]=e;f[v+8>>2]=-2147483616;f[v+4>>2]=21;g=e;h=18963;i=g+21|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+21>>0]=0;e=Qj(c,v,0)|0;if((b[v+11>>0]|0)<0)pq(f[v>>2]|0);c=f[x>>2]|0;if(e){b[p>>0]=0;A=c+16|0;z=f[A+4>>2]|0;if(!((z|0)>0|(z|0)==0&(f[A>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ke(c,v,p,p+1|0)|0}Ie(a)|0;u=B;return 1}b[p>>0]=1;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ke(c,v,p,p+1|0)|0}n=f[z>>2]|0;m=f[n+80>>2]|0;if((m|0)<256){if((q|0)<=0){u=B;return 1}i=p+1|0;a=p+1|0;h=p+1|0;c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){j=c;k=0}else ra(20006,19918,64,20001);while(1){e=f[x>>2]|0;b[p>>0]=f[j+(k*12|0)>>2];c=e+16|0;g=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,h)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[p>>0]=f[j+(k*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,a)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[p>>0]=f[j+(k*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,i)|0}k=k+1|0;if((k|0)>=(A|0)){c=46;break}g=f[z>>2]|0;j=f[g+96>>2]|0;if((k|0)>=(((f[g+100>>2]|0)-j|0)/12|0|0)){c=12;break}}if((c|0)==12)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}}if((m|0)<65536){if((q|0)<=0){u=B;return 1}j=p+2|0;i=p+2|0;a=p+2|0;c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){l=c;o=0}else ra(20006,19918,64,20001);while(1){h=l;e=f[x>>2]|0;d[p>>1]=f[h+(o*12|0)>>2];c=e+16|0;g=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,a)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}d[p>>1]=f[h+(o*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,i)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}d[p>>1]=f[h+(o*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,j)|0}o=o+1|0;if((o|0)>=(A|0)){c=46;break}k=f[z>>2]|0;l=f[k+96>>2]|0;if((o|0)>=(((f[k+100>>2]|0)-l|0)/12|0|0)){c=24;break}}if((c|0)==24)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}}e=(q|0)>0;if((m|0)<2097152){if(!e){u=B;return 1}c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){r=c;s=0}else ra(20006,19918,64,20001);while(1){Rh(f[r+(s*12|0)>>2]|0,f[x>>2]|0)|0;Rh(f[r+(s*12|0)+4>>2]|0,f[x>>2]|0)|0;Rh(f[r+(s*12|0)+8>>2]|0,f[x>>2]|0)|0;s=s+1|0;if((s|0)>=(A|0)){c=46;break}q=f[z>>2]|0;r=f[q+96>>2]|0;if((s|0)>=(((f[q+100>>2]|0)-r|0)/12|0|0)){c=38;break}}if((c|0)==38)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}}if(!e){u=B;return 1}c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){t=c;y=0}else ra(20006,19918,64,20001);while(1){e=t+(y*12|0)|0;c=f[x>>2]|0;t=c+16|0;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ke(c,v,e,e+12|0)|0}y=y+1|0;if((y|0)>=(A|0)){c=46;break}s=f[z>>2]|0;t=f[s+96>>2]|0;if((y|0)>=(((f[s+100>>2]|0)-t|0)/12|0|0)){c=41;break}}if((c|0)==41)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}return 0}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=Ka,m=Ka,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=Ka;M=u;u=u+48|0;L=M+12|0;F=M+32|0;J=M;D=L+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;n[D>>2]=$(1.0);H=a+80|0;e=f[H>>2]|0;f[J>>2]=0;K=J+4|0;f[K>>2]=0;f[J+8>>2]=0;a:do if(!e){g=0;o=0}else{if(e>>>0>1073741823)Fp(J);B=e<<2;t=an(B)|0;f[J>>2]=t;A=t+(e<<2)|0;f[J+8>>2]=A;cj(t|0,0,B|0)|0;f[K>>2]=A;A=c+48|0;B=c+40|0;x=L+4|0;z=L+12|0;w=L+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;p=0;d=t;t=0;h=0;while(1){k=v+t|0;q=A;r=f[q>>2]|0;q=f[q+4>>2]|0;o=B;o=$m(k|0,((k|0)<0)<<31>>31|0,f[o>>2]|0,f[o+4>>2]|0)|0;q=Mn(o|0,I|0,r|0,q|0)|0;q=b[(f[f[c>>2]>>2]|0)+q>>0]|0;b[F>>0]=q;r=q&255^318;b:do if(p){o=p+-1|0;k=(o&p|0)==0;if(!k)if(r>>>0

>>0)i=r;else i=(r>>>0)%(p>>>0)|0;else i=o&r;j=f[L>>2]|0;e=f[j+(i<<2)>>2]|0;c:do if(e|0?(E=f[e>>2]|0,E|0):0){d:do if(k){e=E;while(1){N=f[e+4>>2]|0;g=(N|0)==(r|0);if(!(g|(N&o|0)==(i|0)))break c;if(g?(b[e+8>>0]|0)==q<<24>>24:0)break d;e=f[e>>2]|0;if(!e)break c}}else{e=E;while(1){g=f[e+4>>2]|0;if((g|0)==(r|0)){if((b[e+8>>0]|0)==q<<24>>24)break d}else{if(g>>>0>=p>>>0)g=(g>>>0)%(p>>>0)|0;if((g|0)!=(i|0))break c}e=f[e>>2]|0;if(!e)break c}}while(0);f[d+(t<<2)>>2]=f[e+12>>2];break b}while(0);if(!k)if(r>>>0

>>0)e=r;else e=(r>>>0)%(p>>>0)|0;else e=o&r;d=f[j+(e<<2)>>2]|0;if(!d){g=p;d=0;s=40}else{if(k)while(1){d=f[d>>2]|0;if(!d){g=p;d=0;s=40;break b}N=f[d+4>>2]|0;if(!((N|0)==(r|0)|(N&o|0)==(e|0))){g=p;d=0;s=40;break b}if((b[d+8>>0]|0)==q<<24>>24){s=55;break b}}while(1){d=f[d>>2]|0;if(!d){g=p;d=0;s=40;break b}g=f[d+4>>2]|0;if((g|0)!=(r|0)){if(g>>>0>=p>>>0)g=(g>>>0)%(p>>>0)|0;if((g|0)!=(e|0)){g=p;d=0;s=40;break b}}if((b[d+8>>0]|0)==q<<24>>24){s=55;break}}}}else{g=0;e=0;d=1;s=40}while(0);if((s|0)==40){s=0;i=an(16)|0;b[i+8>>0]=q;f[i+12>>2]=h;f[i+4>>2]=r;f[i>>2]=0;m=$(((f[z>>2]|0)+1|0)>>>0);O=$(g>>>0);l=$(n[D>>2]);do if(d|m>$(O*l)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(m/l)))>>>0;Kh(L,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&r;break}if(r>>>0>>0){g=e;e=r}else{g=e;e=(r>>>0)%(e>>>0)|0}}while(0);d=(f[L>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[w>>2];f[w>>2]=i;f[d>>2]=w;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[L>>2]|0)+(e<<2)|0;s=53}}else{f[i>>2]=f[e>>2];s=53}if((s|0)==53)f[e>>2]=i;f[z>>2]=(f[z>>2]|0)+1;s=55}if((s|0)==55){s=0;N=C;d=f[N>>2]|0;N=$m(d|0,f[N+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;Rg((f[f[y>>2]>>2]|0)+N|0,F|0,d|0)|0;d=f[J>>2]|0;f[d+(t<<2)>>2]=h;h=h+1|0}e=t+1|0;g=f[H>>2]|0;if((e|0)>=(g|0)){o=h;break a}p=f[x>>2]|0;t=e}}while(0);if((o|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[J>>2]|0;d=e>>2;e=0;do{N=g+(e<<2)|0;f[N>>2]=f[h+(f[N>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(G=e+(g<<2)|0,(d|0)!=(G|0)):0)f[h>>2]=d+(~((d+-4-G|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[H>>2]|0}if((g|0)>0){h=f[J>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[H>>2]=o}e=f[J>>2]|0;if(e|0){d=f[K>>2]|0;if((d|0)!=(e|0))f[K>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[L+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;pq(N)}while((e|0)!=0);e=f[L>>2]|0;f[L>>2]=0;if(!e){u=M;return o|0}pq(e);u=M;return o|0}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;N=u;u=u+48|0;M=N+16|0;G=N+12|0;K=N;E=M+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;n[E>>2]=$(1.0);J=a+80|0;e=f[J>>2]|0;f[K>>2]=0;L=K+4|0;f[L>>2]=0;f[K+8>>2]=0;a:do if(!e){g=0;p=0}else{if(e>>>0>1073741823)Fp(K);C=e<<2;v=an(C)|0;f[K>>2]=v;B=v+(e<<2)|0;f[K+8>>2]=B;cj(v|0,0,C|0)|0;f[L>>2]=B;B=c+48|0;C=c+40|0;y=M+4|0;A=M+12|0;x=M+8|0;D=a+40|0;z=a+64|0;w=f[d>>2]|0;q=0;d=v;v=0;i=0;while(1){l=w+v|0;r=B;s=f[r>>2]|0;r=f[r+4>>2]|0;p=C;p=$m(l|0,((l|0)<0)<<31>>31|0,f[p>>2]|0,f[p+4>>2]|0)|0;r=Mn(p|0,I|0,s|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;f[G>>2]=r;s=r^318;b:do if(q){p=q+-1|0;l=(p&q|0)==0;if(!l)if(s>>>0>>0)j=s;else j=(s>>>0)%(q>>>0)|0;else j=p&s;k=f[M>>2]|0;e=f[k+(j<<2)>>2]|0;c:do if(e|0?(F=f[e>>2]|0,F|0):0){d:do if(l){e=F;while(1){O=f[e+4>>2]|0;g=(O|0)==(s|0);if(!(g|(O&p|0)==(j|0)))break c;if(g?(f[e+8>>2]|0)==(r|0):0)break d;e=f[e>>2]|0;if(!e)break c}}else{e=F;while(1){g=f[e+4>>2]|0;if((g|0)==(s|0)){if((f[e+8>>2]|0)==(r|0))break d}else{if(g>>>0>=q>>>0)g=(g>>>0)%(q>>>0)|0;if((g|0)!=(j|0))break c}e=f[e>>2]|0;if(!e)break c}}while(0);f[d+(v<<2)>>2]=f[e+12>>2];break b}while(0);if(!l)if(s>>>0>>0)e=s;else e=(s>>>0)%(q>>>0)|0;else e=p&s;d=f[k+(e<<2)>>2]|0;if(!d){g=q;d=0;t=40}else{if(l)while(1){d=f[d>>2]|0;if(!d){g=q;d=0;t=40;break b}O=f[d+4>>2]|0;if(!((O|0)==(s|0)|(O&p|0)==(e|0))){g=q;d=0;t=40;break b}if((f[d+8>>2]|0)==(r|0)){t=55;break b}}while(1){d=f[d>>2]|0;if(!d){g=q;d=0;t=40;break b}g=f[d+4>>2]|0;if((g|0)!=(s|0)){if(g>>>0>=q>>>0)g=(g>>>0)%(q>>>0)|0;if((g|0)!=(e|0)){g=q;d=0;t=40;break b}}if((f[d+8>>2]|0)==(r|0)){t=55;break}}}}else{g=0;e=0;d=1;t=40}while(0);if((t|0)==40){t=0;j=an(16)|0;f[j+8>>2]=r;f[j+12>>2]=i;f[j+4>>2]=s;f[j>>2]=0;o=$(((f[A>>2]|0)+1|0)>>>0);P=$(g>>>0);m=$(n[E>>2]);do if(d|o>$(P*m)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(o/m)))>>>0;vi(M,e>>>0>>0?d:e);e=f[y>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&s;break}if(s>>>0>>0){g=e;e=s}else{g=e;e=(s>>>0)%(e>>>0)|0}}while(0);d=(f[M>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[j>>2]=f[x>>2];f[x>>2]=j;f[d>>2]=x;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[M>>2]|0)+(e<<2)|0;t=53}}else{f[j>>2]=f[e>>2];t=53}if((t|0)==53)f[e>>2]=j;f[A>>2]=(f[A>>2]|0)+1;t=55}if((t|0)==55){t=0;O=D;d=f[O>>2]|0;O=$m(d|0,f[O+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;Rg((f[f[z>>2]>>2]|0)+O|0,G|0,d|0)|0;d=f[K>>2]|0;f[d+(v<<2)>>2]=i;i=i+1|0}e=v+1|0;g=f[J>>2]|0;if((e|0)>=(g|0)){p=i;break a}q=f[y>>2]|0;v=e}}while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[K>>2]|0;d=e>>2;e=0;do{O=g+(e<<2)|0;f[O>>2]=f[i+(f[O>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(H=e+(g<<2)|0,(d|0)!=(H|0)):0)f[i>>2]=d+(~((d+-4-H|0)>>>2)<<2)}else{lh(j,g-k|0,1220);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[J>>2]=p}e=f[K>>2]|0;if(e|0){d=f[L>>2]|0;if((d|0)!=(e|0))f[L>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[M+8>>2]|0;if(e|0)do{O=e;e=f[e>>2]|0;pq(O)}while((e|0)!=0);e=f[M>>2]|0;f[M>>2]=0;if(!e){u=N;return p|0}pq(e);u=N;return p|0}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ka;T=u;u=u+48|0;S=T+20|0;M=T+16|0;N=T+12|0;Q=T;K=S+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;n[K>>2]=$(1.0);P=a+80|0;e=f[P>>2]|0;f[Q>>2]=0;R=Q+4|0;f[R>>2]=0;f[Q+8>>2]=0;if(!e){g=0;m=0}else{if(e>>>0>1073741823)Fp(Q);F=e<<2;G=an(F)|0;f[Q>>2]=G;A=G+(e<<2)|0;f[Q+8>>2]=A;cj(G|0,0,F|0)|0;f[R>>2]=A;A=f[d>>2]|0;F=c+48|0;G=c+40|0;D=S+4|0;E=S+12|0;C=S+8|0;H=a+40|0;B=a+64|0;J=0;y=0;while(1){v=A+J|0;e=F;x=f[e>>2]|0;e=f[e+4>>2]|0;w=G;w=$m(v|0,((v|0)<0)<<31>>31|0,f[w>>2]|0,f[w+4>>2]|0)|0;e=Mn(w|0,I|0,x|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[M>>2]=e;f[N>>2]=e;e=ef(S,N)|0;if(!e){t=f[N>>2]|0;k=t&255;r=t>>>8;l=r&255;s=t>>>16;m=s&255;v=t>>>24;q=v&255;t=t&255;r=r&255;s=s&255;x=(((t^318)+239^r)+239^s)+239^v;g=f[D>>2]|0;w=(g|0)==0;a:do if(!w){j=g+-1|0;i=(j&g|0)==0;if(!i)if(x>>>0>>0)e=x;else e=(x>>>0)%(g>>>0)|0;else e=x&j;d=f[(f[S>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(L=f[d>>2]|0,(L|0)!=0):0){if(i){d=L;while(1){i=f[d+4>>2]|0;if(!((i|0)==(x|0)|(i&j|0)==(e|0))){z=31;break a}i=d+8|0;if((((b[i>>0]|0)==k<<24>>24?(b[i+1>>0]|0)==l<<24>>24:0)?(b[i+2>>0]|0)==m<<24>>24:0)?(b[i+3>>0]|0)==q<<24>>24:0)break a;d=f[d>>2]|0;if(!d){z=31;break a}}}else i=L;while(1){d=f[i+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0;if((d|0)!=(e|0)){z=31;break a}}j=i+8|0;if((((b[j>>0]|0)==k<<24>>24?(b[j+1>>0]|0)==l<<24>>24:0)?(b[j+2>>0]|0)==m<<24>>24:0)?(b[j+3>>0]|0)==q<<24>>24:0)break a;i=f[i>>2]|0;if(!i){z=31;break}}}else z=31}else{e=0;z=31}while(0);if((z|0)==31){z=0;i=an(16)|0;q=i+8|0;v=v<<24|t|s<<16|r<<8;b[q>>0]=v;b[q+1>>0]=v>>8;b[q+2>>0]=v>>16;b[q+3>>0]=v>>24;f[i+12>>2]=y;f[i+4>>2]=x;f[i>>2]=0;p=$(((f[E>>2]|0)+1|0)>>>0);U=$(g>>>0);o=$(n[K>>2]);do if(w|p>$(U*o)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(p/o)))>>>0;Hh(S,e>>>0>>0?d:e);e=f[D>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&x;break}if(x>>>0>>0){g=e;e=x}else{g=e;e=(x>>>0)%(e>>>0)|0}}while(0);d=(f[S>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[C>>2];f[C>>2]=i;f[d>>2]=C;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[S>>2]|0)+(e<<2)|0;z=44}}else{f[i>>2]=f[e>>2];z=44}if((z|0)==44){z=0;f[e>>2]=i}f[E>>2]=(f[E>>2]|0)+1}x=H;e=f[x>>2]|0;x=$m(e|0,f[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Rg((f[f[B>>2]>>2]|0)+x|0,M|0,e|0)|0;f[(f[Q>>2]|0)+(J<<2)>>2]=y;e=y+1|0}else{f[(f[Q>>2]|0)+(J<<2)>>2]=f[e+12>>2];e=y}J=J+1|0;g=f[P>>2]|0;if((J|0)>=(g|0)){m=e;break}else y=e}}if((m|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[Q>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(O=e+(g<<2)|0,(d|0)!=(O|0)):0)f[i>>2]=d+(~((d+-4-O|0)>>>2)<<2)}else{lh(j,g-k|0,1220);g=f[P>>2]|0}if((g|0)>0){i=f[Q>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[P>>2]=m}e=f[Q>>2]|0;if(e|0){d=f[R>>2]|0;if((d|0)!=(e|0))f[R>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[S+8>>2]|0;if(e|0)do{R=e;e=f[e>>2]|0;pq(R)}while((e|0)!=0);e=f[S>>2]|0;f[S>>2]=0;if(!e){u=T;return m|0}pq(e);u=T;return m|0}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;g=k+16|0;e=k+12|0;i=k+8|0;j=k+4|0;h=k;switch(f[c+28>>2]|0){case 9:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Qb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=kc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 1:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=bc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Pb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=ic(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=dc(a,c,g)|0;break}default:d=0}break}case 11:case 2:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=bc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Pb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=ic(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=dc(a,c,g)|0;break}default:d=0}break}case 4:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=$b(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Ob(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=gc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Yb(a,c,g)|0;break}default:d=0}break}case 3:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=$b(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Ob(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=gc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Yb(a,c,g)|0;break}default:d=0}break}case 6:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Qb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=kc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 5:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Qb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=kc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}default:{a=-1;u=k;return a|0}}a=(d|0)==0?-1:d;u=k;return a|0}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))Gi(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ag(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ag(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Ag(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))Gi(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))Gi(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function gc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Ka;Q=u;u=u+48|0;P=Q+12|0;J=Q+38|0;K=Q+32|0;N=Q;G=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[G>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;if(!g){h=0;m=0}else{if(g>>>0>1073741823)Fp(N);A=g<<2;B=an(A)|0;f[N>>2]=B;v=B+(g<<2)|0;f[N+8>>2]=v;cj(B|0,0,A|0)|0;f[O>>2]=v;v=f[e>>2]|0;A=c+48|0;B=c+40|0;E=K+2|0;F=K+4|0;y=P+4|0;z=P+12|0;x=P+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){q=v+D|0;g=A;r=f[g>>2]|0;g=f[g+4>>2]|0;m=B;q=$m(f[m>>2]|0,f[m+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;g=Mn(q|0,I|0,r|0,g|0)|0;g=(f[f[c>>2]>>2]|0)+g|0;b[J>>0]=b[g>>0]|0;b[J+1>>0]=b[g+1>>0]|0;b[J+2>>0]=b[g+2>>0]|0;b[J+3>>0]=b[g+3>>0]|0;b[J+4>>0]=b[g+4>>0]|0;b[J+5>>0]=b[g+5>>0]|0;bm(K|0,g|0,6)|0;g=zf(P,K)|0;if(!g){j=d[K>>1]|0;k=d[E>>1]|0;l=d[F>>1]|0;r=(((j^318)&65535)+239^k&65535)+239^l&65535;m=f[y>>2]|0;q=(m|0)==0;a:do if(!q){i=m+-1|0;h=(i&m|0)==0;if(!h)if(r>>>0>>0)g=r;else g=(r>>>0)%(m>>>0)|0;else g=r&i;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(H=f[e>>2]|0,(H|0)!=0):0){if(h){e=H;while(1){h=f[e+4>>2]|0;if(!((h|0)==(r|0)|(h&i|0)==(g|0))){t=29;break a}h=e+8|0;if(((d[h>>1]|0)==j<<16>>16?(d[h+2>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0)break a;e=f[e>>2]|0;if(!e){t=29;break a}}}else h=H;while(1){e=f[h+4>>2]|0;if((e|0)!=(r|0)){if(e>>>0>=m>>>0)e=(e>>>0)%(m>>>0)|0;if((e|0)!=(g|0)){t=29;break a}}i=h+8|0;if(((d[i>>1]|0)==j<<16>>16?(d[i+2>>1]|0)==k<<16>>16:0)?(d[h+12>>1]|0)==l<<16>>16:0)break a;h=f[h>>2]|0;if(!h){t=29;break}}}else t=29}else{g=0;t=29}while(0);if((t|0)==29){t=0;i=an(20)|0;d[i+8>>1]=j;d[i+10>>1]=k;d[i+12>>1]=l;f[i+16>>2]=s;f[i+4>>2]=r;f[i>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);R=$(m>>>0);o=$(n[G>>2]);do if(q|p>$(R*o)){g=(m>>>0<3|(m+-1&m|0)!=0)&1|m<<1;e=~~$(W($(p/o)))>>>0;Bh(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){h=g;g=e&r;break}if(r>>>0>>0){h=g;g=r}else{h=g;g=(r>>>0)%(g>>>0)|0}}else h=m;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[i>>2]=f[x>>2];f[x>>2]=i;f[e>>2]=x;g=f[i>>2]|0;if(g|0){g=f[g+4>>2]|0;e=h+-1|0;if(e&h){if(g>>>0>=h>>>0)g=(g>>>0)%(h>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;t=42}}else{f[i>>2]=f[g>>2];t=42}if((t|0)==42){t=0;f[g>>2]=i}f[z>>2]=(f[z>>2]|0)+1}r=C;g=f[r>>2]|0;r=$m(g|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Rg((f[f[w>>2]>>2]|0)+r|0,J|0,g|0)|0;f[(f[N>>2]|0)+(D<<2)>>2]=s;g=s+1|0}else{f[(f[N>>2]|0)+(D<<2)>>2]=f[g+16>>2];g=s}D=D+1|0;h=f[M>>2]|0;if((D|0)>=(h|0)){m=g;break}else s=g}}if((m|0)!=(h|0)){l=a+84|0;if(!(b[l>>0]|0)){h=f[a+68>>2]|0;g=(f[a+72>>2]|0)-h|0;if((g|0)>0){i=f[N>>2]|0;e=g>>2;g=0;do{a=h+(g<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;g=f[j>>2]|0;k=e-g>>2;if(h>>>0<=k>>>0){if(h>>>0>>0?(L=g+(h<<2)|0,(e|0)!=(L|0)):0)f[i>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{lh(j,h-k|0,1220);h=f[M>>2]|0}if((h|0)>0){i=f[N>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(h|0))}}f[M>>2]=m}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[P+8>>2]|0;if(g|0)do{O=g;g=f[g>>2]|0;pq(O)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return m|0}pq(g);u=Q;return m|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;R=u;u=u+80|0;Q=R+48|0;K=R+32|0;L=R+16|0;O=R;H=Q+16|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;n[H>>2]=$(1.0);N=a+80|0;e=f[N>>2]|0;f[O>>2]=0;P=O+4|0;f[P>>2]=0;f[O+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Fp(O);A=e<<2;B=an(A)|0;f[O>>2]=B;v=B+(e<<2)|0;f[O+8>>2]=v;cj(B|0,0,A|0)|0;f[P>>2]=v;v=f[d>>2]|0;A=c+48|0;B=c+40|0;E=L+4|0;F=L+8|0;G=L+12|0;y=Q+4|0;z=Q+12|0;x=Q+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){g=v+D|0;e=A;d=f[e>>2]|0;e=f[e+4>>2]|0;h=B;g=$m(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Mn(g|0,I|0,d|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;d=K;g=e;h=d+16|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));bm(L|0,e|0,16)|0;e=wf(Q,L)|0;if(!e){i=f[L>>2]|0;j=f[E>>2]|0;k=f[F>>2]|0;l=f[G>>2]|0;r=(((i^318)+239^j)+239^k)+239^l;p=f[y>>2]|0;q=(p|0)==0;a:do if(!q){h=p+-1|0;g=(h&p|0)==0;if(!g)if(r>>>0

>>0)e=r;else e=(r>>>0)%(p>>>0)|0;else e=r&h;d=f[(f[Q>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(J=f[d>>2]|0,(J|0)!=0):0){if(g){d=J;while(1){g=f[d+4>>2]|0;if(!((g|0)==(r|0)|(g&h|0)==(e|0))){t=31;break a}if((((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0)?(f[d+20>>2]|0)==(l|0):0)break a;d=f[d>>2]|0;if(!d){t=31;break a}}}else g=J;while(1){d=f[g+4>>2]|0;if((d|0)!=(r|0)){if(d>>>0>=p>>>0)d=(d>>>0)%(p>>>0)|0;if((d|0)!=(e|0)){t=31;break a}}if((((f[g+8>>2]|0)==(i|0)?(f[g+12>>2]|0)==(j|0):0)?(f[g+16>>2]|0)==(k|0):0)?(f[g+20>>2]|0)==(l|0):0)break a;g=f[g>>2]|0;if(!g){t=31;break}}}else t=31}else{e=0;t=31}while(0);if((t|0)==31){t=0;h=an(28)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=l;f[h+24>>2]=s;f[h+4>>2]=r;f[h>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);S=$(p>>>0);m=$(n[H>>2]);do if(q|o>$(S*m)){e=(p>>>0<3|(p+-1&p|0)!=0)&1|p<<1;d=~~$(W($(o/m)))>>>0;Eh(Q,e>>>0>>0?d:e);e=f[y>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&r;break}if(r>>>0>>0){g=e;e=r}else{g=e;e=(r>>>0)%(e>>>0)|0}}else g=p;while(0);d=(f[Q>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[x>>2];f[x>>2]=h;f[d>>2]=x;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[Q>>2]|0)+(e<<2)|0;t=44}}else{f[h>>2]=f[e>>2];t=44}if((t|0)==44){t=0;f[e>>2]=h}f[z>>2]=(f[z>>2]|0)+1}r=C;e=f[r>>2]|0;r=$m(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Rg((f[f[w>>2]>>2]|0)+r|0,K|0,e|0)|0;f[(f[O>>2]|0)+(D<<2)>>2]=s;e=s+1|0}else{f[(f[O>>2]|0)+(D<<2)>>2]=f[e+24>>2];e=s}D=D+1|0;g=f[N>>2]|0;if((D|0)>=(g|0)){l=e;break}else s=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[O>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(M=e+(g<<2)|0,(d|0)!=(M|0)):0)f[h>>2]=d+(~((d+-4-M|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[N>>2]|0}if((g|0)>0){h=f[O>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[N>>2]=l}e=f[O>>2]|0;if(e|0){d=f[P>>2]|0;if((d|0)!=(e|0))f[P>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[Q+8>>2]|0;if(e|0)do{P=e;e=f[e>>2]|0;pq(P)}while((e|0)!=0);e=f[Q>>2]|0;f[Q>>2]=0;if(!e){u=R;return l|0}pq(e);u=R;return l|0}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;P=u;u=u+48|0;O=P+12|0;H=P+35|0;J=P+32|0;M=P;F=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;e=f[L>>2]|0;f[M>>2]=0;N=M+4|0;f[N>>2]=0;f[M+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Fp(M);z=e<<2;A=an(z)|0;f[M>>2]=A;t=A+(e<<2)|0;f[M+8>>2]=t;cj(A|0,0,z|0)|0;f[N>>2]=t;t=f[d>>2]|0;z=c+48|0;A=c+40|0;D=J+1|0;E=J+2|0;x=O+4|0;y=O+12|0;w=O+8|0;B=a+40|0;v=a+64|0;C=0;r=0;while(1){p=t+C|0;e=z;q=f[e>>2]|0;e=f[e+4>>2]|0;l=A;p=$m(f[l>>2]|0,f[l+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;e=Mn(p|0,I|0,q|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;b[H>>0]=b[e>>0]|0;b[H+1>>0]=b[e+1>>0]|0;b[H+2>>0]=b[e+2>>0]|0;bm(J|0,e|0,3)|0;e=Cf(O,J)|0;if(!e){i=b[J>>0]|0;j=b[D>>0]|0;k=b[E>>0]|0;q=((i&255^318)+239^j&255)+239^k&255;l=f[x>>2]|0;p=(l|0)==0;a:do if(!p){h=l+-1|0;g=(h&l|0)==0;if(!g)if(q>>>0>>0)e=q;else e=(q>>>0)%(l>>>0)|0;else e=q&h;d=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(G=f[d>>2]|0,(G|0)!=0):0){if(g){d=G;while(1){g=f[d+4>>2]|0;if(!((g|0)==(q|0)|(g&h|0)==(e|0))){s=29;break a}g=d+8|0;if(((b[g>>0]|0)==i<<24>>24?(b[g+1>>0]|0)==j<<24>>24:0)?(b[g+2>>0]|0)==k<<24>>24:0)break a;d=f[d>>2]|0;if(!d){s=29;break a}}}else g=G;while(1){d=f[g+4>>2]|0;if((d|0)!=(q|0)){if(d>>>0>=l>>>0)d=(d>>>0)%(l>>>0)|0;if((d|0)!=(e|0)){s=29;break a}}h=g+8|0;if(((b[h>>0]|0)==i<<24>>24?(b[h+1>>0]|0)==j<<24>>24:0)?(b[h+2>>0]|0)==k<<24>>24:0)break a;g=f[g>>2]|0;if(!g){s=29;break}}}else s=29}else{e=0;s=29}while(0);if((s|0)==29){s=0;h=an(16)|0;b[h+8>>0]=i;b[h+9>>0]=j;b[h+10>>0]=k;f[h+12>>2]=r;f[h+4>>2]=q;f[h>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);Q=$(l>>>0);m=$(n[F>>2]);do if(p|o>$(Q*m)){e=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;d=~~$(W($(o/m)))>>>0;Ih(O,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&q;break}if(q>>>0>>0){g=e;e=q}else{g=e;e=(q>>>0)%(e>>>0)|0}}else g=l;while(0);d=(f[O>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[w>>2];f[w>>2]=h;f[d>>2]=w;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[O>>2]|0)+(e<<2)|0;s=42}}else{f[h>>2]=f[e>>2];s=42}if((s|0)==42){s=0;f[e>>2]=h}f[y>>2]=(f[y>>2]|0)+1}q=B;e=f[q>>2]|0;q=$m(e|0,f[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Rg((f[f[v>>2]>>2]|0)+q|0,H|0,e|0)|0;f[(f[M>>2]|0)+(C<<2)>>2]=r;e=r+1|0}else{f[(f[M>>2]|0)+(C<<2)>>2]=f[e+12>>2];e=r}C=C+1|0;g=f[L>>2]|0;if((C|0)>=(g|0)){l=e;break}else r=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[M>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=e+(g<<2)|0,(d|0)!=(K|0)):0)f[h>>2]=d+(~((d+-4-K|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[L>>2]=l}e=f[M>>2]|0;if(e|0){d=f[N>>2]|0;if((d|0)!=(e|0))f[N>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;pq(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return l|0}pq(e);u=P;return l|0}function jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;E=R+48|0;K=R+36|0;J=R+24|0;G=R+16|0;H=R+8|0;F=R;D=R+32|0;L=a+8|0;d=f[L>>2]|0;if((d|0)<=1)ra(11874,13962,79,12006);if((d|0)>=31)ra(12026,13962,80,12006);f[a+72>>2]=d;C=1<>2]=C+-1;C=C+-2|0;B=a+80|0;f[B>>2]=C;z=a+84|0;f[z>>2]=(C|0)/2|0;C=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(13158,13962,99,14125);if((e|0)!=2)ra(14149,13962,101,14125);y=a+88|0;Uk(y);w=a+36|0;d=f[w>>2]|0;v=(f[d+4>>2]|0)-(f[d>>2]|0)|0;x=v>>2;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;t=J;f[t>>2]=0;f[t+4>>2]=0;t=G;f[t>>2]=0;f[t+4>>2]=0;t=H;f[t>>2]=0;f[t+4>>2]=0;t=F;f[t>>2]=0;f[t+4>>2]=0;if((v|0)<=0){u=R;return 1}t=K+4|0;v=K+8|0;p=J+4|0;q=G+4|0;s=H+4|0;r=F+4|0;g=f[d>>2]|0;if((f[d+4>>2]|0)==(g|0)){o=d;Fp(o)}else{h=g;Q=0}while(1){f[D>>2]=f[h+(Q<<2)>>2];f[E>>2]=f[D>>2];Vb(C,E,K);d=f[K>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[t>>2]|0;e=(g|0)>-1?g:0-g|0;a=Mn(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[v>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Mn(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;o=f[z>>2]|0;if((e|0)==0&(a|0)==0){g=K;d=o}else{m=((o|0)<0)<<31>>31;n=$m(o|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;n=kk(n|0,I|0,e|0,a|0)|0;f[K>>2]=n;d=$m(o|0,m|0,g|0,((g|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,e|0,a|0)|0;f[t>>2]=d;d=o-((n|0)>-1?n:0-n|0)-((d|0)>-1?d:0-d|0)|0;g=v;d=h?d:0-d|0}f[g>>2]=d;k=f[K>>2]|0;g=(k|0)>-1;m=0-k|0;l=f[t>>2]|0;i=0-l|0;a=(l|0)>-1?l:i;n=f[v>>2]|0;j=0-n|0;d=(n|0)>-1?n:j;if((a+(g?k:m)+d|0)!=(o|0)){g=16;break}if(!g){if((l|0)>=0)d=(f[B>>2]|0)-d|0;if((n|0)<0){e=d;g=a}else{e=d;g=(f[B>>2]|0)-a|0}}else{e=o+l|0;g=o+n|0}a=(e|0)==0;h=(g|0)==0;d=f[B>>2]|0;do if((g|e|0)!=0?(N=(d|0)==(g|0),P=(d|0)==(e|0),!(a&N|h&P)):0){if(a&(o|0)<(g|0)){e=0;g=(o<<1)-g|0;break}if((o|0)>(g|0)&P){g=(o<<1)-g|0;break}if((o|0)>(e|0)&N){e=(o<<1)-e|0;break}else{e=(o|0)<(e|0)&h?(o<<1)-e|0:e;break}}else{e=d;g=d}while(0);f[J>>2]=e;f[p>>2]=g;f[K>>2]=m;f[t>>2]=i;f[v>>2]=j;a=(k|0)<1;e=(l|0)<1?i:l;g=(n|0)<1?j:n;if((e+(a?m:k)+g|0)!=(o|0)){g=33;break}if(a){h=o-l|0;a=o-n|0}else{h=(l|0)>0?g:d-g|0;a=(n|0)>0?e:d-e|0}g=(h|0)==0;e=(a|0)==0;do if((a|h|0)!=0?(M=(d|0)==(a|0),O=(d|0)==(h|0),!(g&M|e&O)):0){if(g&(o|0)<(a|0)){g=0;d=(o<<1)-a|0;break}if((o|0)>(a|0)&O){g=d;d=(o<<1)-a|0;break}if((o|0)>(h|0)&M){g=(o<<1)-h|0;break}else{g=(o|0)<(h|0)&e?(o<<1)-h|0:h;d=a;break}}else g=d;while(0);f[G>>2]=g;f[q>>2]=d;i=Q<<1;d=b+(i<<2)|0;ai(L,d,J,H);ai(L,d,G,F);d=f[H>>2]|0;h=f[z>>2]|0;if((h|0)>=(d|0)){if((d|0)<(0-h|0))d=(f[A>>2]|0)+d|0}else d=d-(f[A>>2]|0)|0;f[H>>2]=d;g=f[s>>2]|0;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[A>>2]|0)+g|0}else g=g-(f[A>>2]|0)|0;f[s>>2]=g;e=f[F>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[A>>2]|0)+e|0}else e=e-(f[A>>2]|0)|0;f[F>>2]=e;a=f[r>>2]|0;if((h|0)>=(a|0)){if((a|0)<(0-h|0))a=(f[A>>2]|0)+a|0}else a=a-(f[A>>2]|0)|0;f[r>>2]=a;if((((g|0)>-1?g:0-g|0)+((d|0)>-1?d:0-d|0)|0)<(((e|0)>-1?e:0-e|0)+((a|0)>-1?a:0-a|0)|0)){$i(y,0);e=H}else{$i(y,1);e=F}d=f[e>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=66;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;g=c+(i<<2)|0;f[g>>2]=d;d=f[e+4>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=70;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;f[g+4>>2]=d;Q=Q+1|0;if((Q|0)>=(x|0)){g=11;break}d=f[w>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=Q>>>0){g=12;break}}if((g|0)==11){u=R;return 1}else if((g|0)==12)Fp(d);else if((g|0)==16)ra(14173,13962,119,14125);else if((g|0)==33)ra(14240,11885,99,14328);else if((g|0)==66)ra(12778,11885,313,12812);else if((g|0)==70)ra(12778,11885,313,12812);return 0}function kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;P=u;u=u+64|0;O=P+36|0;H=P+24|0;J=P+12|0;M=P;F=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;e=f[L>>2]|0;f[M>>2]=0;N=M+4|0;f[N>>2]=0;f[M+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Fp(M);z=e<<2;A=an(z)|0;f[M>>2]=A;t=A+(e<<2)|0;f[M+8>>2]=t;cj(A|0,0,z|0)|0;f[N>>2]=t;t=f[d>>2]|0;z=c+48|0;A=c+40|0;D=J+4|0;E=J+8|0;x=O+4|0;y=O+12|0;w=O+8|0;B=a+40|0;v=a+64|0;C=0;r=0;while(1){g=t+C|0;e=z;d=f[e>>2]|0;e=f[e+4>>2]|0;h=A;g=$m(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Mn(g|0,I|0,d|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;d=H;g=e;h=d+12|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));bm(J|0,e|0,12)|0;e=Sf(O,J)|0;if(!e){i=f[J>>2]|0;j=f[D>>2]|0;k=f[E>>2]|0;q=((i^318)+239^j)+239^k;l=f[x>>2]|0;p=(l|0)==0;a:do if(!p){h=l+-1|0;g=(h&l|0)==0;if(!g)if(q>>>0>>0)e=q;else e=(q>>>0)%(l>>>0)|0;else e=q&h;d=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(G=f[d>>2]|0,(G|0)!=0):0){if(g){d=G;while(1){g=f[d+4>>2]|0;if(!((g|0)==(q|0)|(g&h|0)==(e|0))){s=29;break a}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0)break a;d=f[d>>2]|0;if(!d){s=29;break a}}}else g=G;while(1){d=f[g+4>>2]|0;if((d|0)!=(q|0)){if(d>>>0>=l>>>0)d=(d>>>0)%(l>>>0)|0;if((d|0)!=(e|0)){s=29;break a}}if(((f[g+8>>2]|0)==(i|0)?(f[g+12>>2]|0)==(j|0):0)?(f[g+16>>2]|0)==(k|0):0)break a;g=f[g>>2]|0;if(!g){s=29;break}}}else s=29}else{e=0;s=29}while(0);if((s|0)==29){s=0;h=an(24)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=r;f[h+4>>2]=q;f[h>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);Q=$(l>>>0);m=$(n[F>>2]);do if(p|o>$(Q*m)){e=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;d=~~$(W($(o/m)))>>>0;Fh(O,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&q;break}if(q>>>0>>0){g=e;e=q}else{g=e;e=(q>>>0)%(e>>>0)|0}}else g=l;while(0);d=(f[O>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[w>>2];f[w>>2]=h;f[d>>2]=w;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[O>>2]|0)+(e<<2)|0;s=42}}else{f[h>>2]=f[e>>2];s=42}if((s|0)==42){s=0;f[e>>2]=h}f[y>>2]=(f[y>>2]|0)+1}q=B;e=f[q>>2]|0;q=$m(e|0,f[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Rg((f[f[v>>2]>>2]|0)+q|0,H|0,e|0)|0;f[(f[M>>2]|0)+(C<<2)>>2]=r;e=r+1|0}else{f[(f[M>>2]|0)+(C<<2)>>2]=f[e+20>>2];e=r}C=C+1|0;g=f[L>>2]|0;if((C|0)>=(g|0)){l=e;break}else r=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[M>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=e+(g<<2)|0,(d|0)!=(K|0)):0)f[h>>2]=d+(~((d+-4-K|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[L>>2]=l}e=f[M>>2]|0;if(e|0){d=f[N>>2]|0;if((d|0)!=(e|0))f[N>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;pq(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return l|0}pq(e);u=P;return l|0}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;E=R+48|0;K=R+36|0;J=R+24|0;G=R+16|0;H=R+8|0;F=R;D=R+32|0;L=a+8|0;d=f[L>>2]|0;if((d|0)<=1)ra(11874,13962,79,12006);if((d|0)>=31)ra(12026,13962,80,12006);f[a+72>>2]=d;C=1<>2]=C+-1;C=C+-2|0;B=a+80|0;f[B>>2]=C;z=a+84|0;f[z>>2]=(C|0)/2|0;C=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(13158,13962,99,14125);if((e|0)!=2)ra(14149,13962,101,14125);y=a+88|0;Uk(y);w=a+36|0;d=f[w>>2]|0;v=(f[d+4>>2]|0)-(f[d>>2]|0)|0;x=v>>2;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;t=J;f[t>>2]=0;f[t+4>>2]=0;t=G;f[t>>2]=0;f[t+4>>2]=0;t=H;f[t>>2]=0;f[t+4>>2]=0;t=F;f[t>>2]=0;f[t+4>>2]=0;if((v|0)<=0){u=R;return 1}t=K+4|0;v=K+8|0;p=J+4|0;q=G+4|0;s=H+4|0;r=F+4|0;g=f[d>>2]|0;if((f[d+4>>2]|0)==(g|0)){o=d;Fp(o)}else{h=g;Q=0}while(1){f[D>>2]=f[h+(Q<<2)>>2];f[E>>2]=f[D>>2];Ac(C,E,K);d=f[K>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[t>>2]|0;e=(g|0)>-1?g:0-g|0;a=Mn(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[v>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Mn(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;o=f[z>>2]|0;if((e|0)==0&(a|0)==0){g=K;d=o}else{m=((o|0)<0)<<31>>31;n=$m(o|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;n=kk(n|0,I|0,e|0,a|0)|0;f[K>>2]=n;d=$m(o|0,m|0,g|0,((g|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,e|0,a|0)|0;f[t>>2]=d;d=o-((n|0)>-1?n:0-n|0)-((d|0)>-1?d:0-d|0)|0;g=v;d=h?d:0-d|0}f[g>>2]=d;k=f[K>>2]|0;g=(k|0)>-1;m=0-k|0;l=f[t>>2]|0;i=0-l|0;a=(l|0)>-1?l:i;n=f[v>>2]|0;j=0-n|0;d=(n|0)>-1?n:j;if((a+(g?k:m)+d|0)!=(o|0)){g=16;break}if(!g){if((l|0)>=0)d=(f[B>>2]|0)-d|0;if((n|0)<0){e=d;g=a}else{e=d;g=(f[B>>2]|0)-a|0}}else{e=o+l|0;g=o+n|0}a=(e|0)==0;h=(g|0)==0;d=f[B>>2]|0;do if((g|e|0)!=0?(N=(d|0)==(g|0),P=(d|0)==(e|0),!(a&N|h&P)):0){if(a&(o|0)<(g|0)){e=0;g=(o<<1)-g|0;break}if((o|0)>(g|0)&P){g=(o<<1)-g|0;break}if((o|0)>(e|0)&N){e=(o<<1)-e|0;break}else{e=(o|0)<(e|0)&h?(o<<1)-e|0:e;break}}else{e=d;g=d}while(0);f[J>>2]=e;f[p>>2]=g;f[K>>2]=m;f[t>>2]=i;f[v>>2]=j;a=(k|0)<1;e=(l|0)<1?i:l;g=(n|0)<1?j:n;if((e+(a?m:k)+g|0)!=(o|0)){g=33;break}if(a){h=o-l|0;a=o-n|0}else{h=(l|0)>0?g:d-g|0;a=(n|0)>0?e:d-e|0}g=(h|0)==0;e=(a|0)==0;do if((a|h|0)!=0?(M=(d|0)==(a|0),O=(d|0)==(h|0),!(g&M|e&O)):0){if(g&(o|0)<(a|0)){g=0;d=(o<<1)-a|0;break}if((o|0)>(a|0)&O){g=d;d=(o<<1)-a|0;break}if((o|0)>(h|0)&M){g=(o<<1)-h|0;break}else{g=(o|0)<(h|0)&e?(o<<1)-h|0:h;d=a;break}}else g=d;while(0);f[G>>2]=g;f[q>>2]=d;i=Q<<1;d=b+(i<<2)|0;ai(L,d,J,H);ai(L,d,G,F);d=f[H>>2]|0;h=f[z>>2]|0;if((h|0)>=(d|0)){if((d|0)<(0-h|0))d=(f[A>>2]|0)+d|0}else d=d-(f[A>>2]|0)|0;f[H>>2]=d;g=f[s>>2]|0;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[A>>2]|0)+g|0}else g=g-(f[A>>2]|0)|0;f[s>>2]=g;e=f[F>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[A>>2]|0)+e|0}else e=e-(f[A>>2]|0)|0;f[F>>2]=e;a=f[r>>2]|0;if((h|0)>=(a|0)){if((a|0)<(0-h|0))a=(f[A>>2]|0)+a|0}else a=a-(f[A>>2]|0)|0;f[r>>2]=a;if((((g|0)>-1?g:0-g|0)+((d|0)>-1?d:0-d|0)|0)<(((e|0)>-1?e:0-e|0)+((a|0)>-1?a:0-a|0)|0)){$i(y,0);e=H}else{$i(y,1);e=F}d=f[e>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=66;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;g=c+(i<<2)|0;f[g>>2]=d;d=f[e+4>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=70;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;f[g+4>>2]=d;Q=Q+1|0;if((Q|0)>=(x|0)){g=11;break}d=f[w>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=Q>>>0){g=12;break}}if((g|0)==11){u=R;return 1}else if((g|0)==12)Fp(d);else if((g|0)==16)ra(14173,13962,119,14125);else if((g|0)==33)ra(14240,11885,99,14328);else if((g|0)==66)ra(12778,11885,313,12812);else if((g|0)==70)ra(12778,11885,313,12812);return 0}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))Gi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ag(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ag(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;g=d+(i>>>5<<2)|0;f[g>>2]=1<<(i&31)|f[g>>2];g=f[(f[e+28>>2]|0)+(f[b>>2]<<2)>>2]|0;d=(f[n>>2]|0)+(g>>>5<<2)|0;i=1<<(g&31);c=f[d>>2]|0;do if(!(i&c)){h=f[(f[e+40>>2]|0)+(g<<2)>>2]|0;if((h|0)<0){f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(k,t,w);y=40;break}m=f[(f[f[e+64>>2]>>2]|0)+(h<<2)>>2]|0;m=(1<<(m&31)&f[(f[e+12>>2]|0)+(m>>>5<<2)>>2]|0)==0;f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(k,t,w);if(m){e=f[a>>2]|0;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}else y=40}else y=40;while(0);if((y|0)==40){y=0;e=f[a>>2]|0;d=f[b>>2]|0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){Gi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+32|0;q=v+16|0;r=v+12|0;g=v+29|0;t=v;m=v+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){t=1;u=v;return t|0}b[g>>0]=-2;p=a+36|0;e=f[p>>2]|0;if(e)if(Na[f[(f[a>>2]|0)+40>>2]&127](a,e)|0){j=f[p>>2]|0;j=(Ma[f[(f[j>>2]|0)+8>>2]&127](j)|0)&255;b[g>>0]=j;j=5}else e=0;else j=5;if((j|0)==5){o=d+16|0;s=o;n=f[s+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[s>>2]|0)>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,g,g+1|0)|0}e=f[p>>2]|0;if(e|0?(s=(Ma[f[(f[e>>2]|0)+36>>2]&127](e)|0)&255,b[t>>0]=s,s=o,n=f[s+4>>2]|0,!((n|0)>0|(n|0)==0&(f[s>>2]|0)>>>0>0)):0){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,t,t+1|0)|0}h=f[a+32>>2]|0;k=b[h+24>>0]|0;n=X(k,f[h+80>>2]|0)|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;f[t>>2]=0;s=t+4|0;f[s>>2]=0;f[t+8>>2]=0;l=(n|0)==0;do if(!l)if(n>>>0>1073741823)Fp(t);else{e=n<<2;i=an(e)|0;f[t>>2]=i;g=i+(n<<2)|0;f[t+8>>2]=g;cj(i|0,0,e|0)|0;f[s>>2]=g;break}else i=0;while(0);e=f[p>>2]|0;do if(e){Pa[f[(f[e>>2]|0)+44>>2]&31](e,h,i,n,k,f[c>>2]|0)|0;e=f[p>>2]|0;if(!e){g=f[t>>2]|0;e=h;j=20;break}if(!(Ma[f[(f[e>>2]|0)+32>>2]&127](e)|0)){e=f[t>>2]|0;g=e;e=f[p>>2]|0?e:h;j=20}}else{g=i;e=h;j=20}while(0);if((j|0)==20)lm(e,n,g);e=f[a+4>>2]|0;do if(e){e=f[e+48>>2]|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;g=an(48)|0;f[q>>2]=g;f[q+8>>2]=-2147483600;f[q+4>>2]=34;h=g;i=11572;a=h+34|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(a|0));b[g+34>>0]=0;e=Qj(e,q,1)|0;if((b[q+11>>0]|0)<0)pq(f[q>>2]|0);if(!e){if(!l){e=f[t>>2]|0;g=0;h=0;do{h=f[e+(g<<2)>>2]|h;g=g+1|0}while((g|0)!=(n|0));if(h)i=((_(h|0)|0)>>>3^3)+1|0;else i=1}else i=1;b[m>>0]=0;e=o;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,m,m+1|0)|0;g=o;e=f[g+4>>2]|0;g=f[g>>2]|0}b[m>>0]=i;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,m,m+1|0)|0}if((i|0)==(Nl(5)|0)){e=f[t>>2]|0;m=f[o+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[o>>2]|0)>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,e,e+(n<<2)|0)|0}j=46;break}if(l)j=46;else{e=d+4|0;h=0;do{g=(f[t>>2]|0)+(h<<2)|0;m=o;l=f[m+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[m>>2]|0)>>>0>0)){f[r>>2]=f[e>>2];f[q>>2]=f[r>>2];Ke(d,q,g,g+i|0)|0}h=h+1|0}while(h>>>0>>0);j=46}}else j=27}else j=27;while(0);if((j|0)==27){b[m>>0]=1;n=f[o+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,m,m+1|0)|0}if(Lc(f[t>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,k)|0,k,d)|0)j=46;else e=0}if((j|0)==46){e=f[p>>2]|0;if(!e)e=1;else{Na[f[(f[e>>2]|0)+40>>2]&127](e,d)|0;e=1}}g=f[t>>2]|0;if(g|0){h=f[s>>2]|0;if((h|0)!=(g|0))f[s>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}}t=e;u=v;return t|0}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=a+8|0;f[H>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{F=f[b+(i<<2)>>2]|0;B=(F|0)<(g|0);g=B?F:g;h=B?h:(F|0)>(h|0)?F:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;F=1-g+h|0;f[a+20>>2]=F;g=(F|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(F&1))f[h>>2]=g+-1}q=e>>>0>1073741823?-1:e<<2;F=mq(q)|0;cj(F|0,0,q|0)|0;q=f[a+48>>2]|0;r=f[a+56>>2]|0;g=f[r>>2]|0;A=(f[r+4>>2]|0)-g|0;B=A>>2;a:do if((A|0)>4){s=f[a+52>>2]|0;y=a+16|0;u=a+32|0;A=a+12|0;z=a+28|0;x=a+20|0;w=a+24|0;t=q+12|0;v=(e|0)>0;p=B;while(1){o=p;p=p+-1|0;if(B>>>0<=p>>>0)break;h=f[g+(p<<2)>>2]|0;n=X(p,e)|0;if((h|0)>=0?(G=f[(f[t>>2]|0)+(h<<2)>>2]|0,(G|0)>=0):0){i=f[q>>2]|0;j=f[s>>2]|0;k=f[j+(f[i+(G<<2)>>2]<<2)>>2]|0;h=G+1|0;h=((h|0)%3|0|0)==0?G+-2|0:h;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;l=f[j+(h<<2)>>2]|0;h=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;h=f[j+(h<<2)>>2]|0;if((k|0)<(p|0)&(l|0)<(p|0)&(h|0)<(p|0)){k=X(k,e)|0;j=X(l,e)|0;i=X(h,e)|0;if(v){h=0;do{f[F+(h<<2)>>2]=(f[b+(h+i<<2)>>2]|0)+(f[b+(h+j<<2)>>2]|0)-(f[b+(h+k<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}d=b+(n<<2)|0;m=c+(n<<2)|0;h=f[H>>2]|0;if((h|0)>0){l=0;j=F;do{if((h|0)>0){k=0;do{h=f[j+(k<<2)>>2]|0;i=f[y>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(k<<2)>>2]=i}else{J=f[A>>2]|0;i=f[u>>2]|0;f[i+(k<<2)>>2]=(h|0)<(J|0)?J:h;h=i}k=k+1|0}while((k|0)<(f[H>>2]|0));j=h}else j=f[u>>2]|0;h=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=h;if((h|0)>=(f[z>>2]|0)){if((h|0)>(f[w>>2]|0)){h=h-(f[x>>2]|0)|0;I=52}}else{h=(f[x>>2]|0)+h|0;I=52}if((I|0)==52){I=0;f[i>>2]=h}l=l+1|0;h=f[H>>2]|0}while((l|0)<(h|0))}}else I=26}else I=26;if((I|0)==26?(I=0,D=b+(n<<2)|0,E=c+(n<<2)|0,C=f[H>>2]|0,(C|0)>0):0){i=C;l=0;k=b+((X(o+-2|0,e)|0)<<2)|0;while(1){if((i|0)>0){j=0;do{h=f[k+(j<<2)>>2]|0;i=f[y>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(j<<2)>>2]=i}else{o=f[A>>2]|0;J=f[u>>2]|0;f[J+(j<<2)>>2]=(h|0)<(o|0)?o:h;h=J}j=j+1|0}while((j|0)<(f[H>>2]|0))}else h=f[u>>2]|0;i=(f[D+(l<<2)>>2]|0)-(f[h+(l<<2)>>2]|0)|0;j=E+(l<<2)|0;f[j>>2]=i;if((i|0)>=(f[z>>2]|0)){if((i|0)>(f[w>>2]|0)){i=i-(f[x>>2]|0)|0;I=39}}else{i=(f[x>>2]|0)+i|0;I=39}if((I|0)==39){I=0;f[j>>2]=i}l=l+1|0;i=f[H>>2]|0;if((l|0)>=(i|0))break;else k=h}}if((p|0)<=1)break a}Fp(r)}while(0);if((e|0)>0)cj(F|0,0,e<<2|0)|0;g=f[H>>2]|0;if((g|0)<=0){nq(F);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=F;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;J=f[d>>2]|0;f[J+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=J}j=j+1|0}while((j|0)<(f[H>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;I=66}}else{g=(f[m>>2]|0)+g|0;I=66}if((I|0)==66){I=0;f[h>>2]=g}k=k+1|0;g=f[H>>2]|0}while((k|0)<(g|0));nq(F);return 1}function pc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[5958]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[5959]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[5956]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[5954]=f[5954]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=24120+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5955]=f[5955]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[5959]|0;if((k|0)==(f[5960]|0)){k=(f[5957]|0)+b|0;f[5957]=k;f[5960]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[5959]=0;f[5956]=0;return}if((k|0)==(a|0)){k=(f[5956]|0)+b|0;f[5956]=k;f[5959]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[5954]=f[5954]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=24120+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5955]=f[5955]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[5959]|0)){f[5956]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=23856+(a<<1<<2)|0;b=f[5954]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=24120+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[5955]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[5955]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[5962]|0)+-1|0;f[5962]=k;if(!k)a=24272;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[5962]=-1;return}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=a+8|0;f[L>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{J=f[b+(i<<2)>>2]|0;C=(J|0)<(g|0);g=C?J:g;h=C?h:(J|0)>(h|0)?J:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;J=1-g+h|0;f[a+20>>2]=J;g=(J|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(J&1))f[h>>2]=g+-1}q=e>>>0>1073741823?-1:e<<2;J=mq(q)|0;cj(J|0,0,q|0)|0;q=f[a+48>>2]|0;r=f[a+56>>2]|0;g=f[r>>2]|0;B=(f[r+4>>2]|0)-g|0;C=B>>2;a:do if((B|0)>4){s=f[a+52>>2]|0;z=a+16|0;u=a+32|0;B=a+12|0;A=a+28|0;y=a+20|0;x=a+24|0;w=q+64|0;t=q+28|0;v=(e|0)>0;p=C;while(1){o=p;p=p+-1|0;if(C>>>0<=p>>>0)break;h=f[g+(p<<2)>>2]|0;n=X(p,e)|0;if((!((h|0)<0?1:(1<<(h&31)&f[(f[q>>2]|0)+(h>>>5<<2)>>2]|0)!=0)?(K=f[(f[(f[w>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(K|0)>=0):0)?(F=f[t>>2]|0,m=f[s>>2]|0,D=f[m+(f[F+(K<<2)>>2]<<2)>>2]|0,E=K+1|0,E=f[m+(f[F+((((E|0)%3|0|0)==0?K+-2|0:E)<<2)>>2]<<2)>>2]|0,F=f[m+(f[F+((((K>>>0)%3|0|0)==0?2:-1)+K<<2)>>2]<<2)>>2]|0,(D|0)<(p|0)&(E|0)<(p|0)&(F|0)<(p|0)):0){i=X(D,e)|0;j=X(E,e)|0;k=X(F,e)|0;if(v){h=0;do{f[J+(h<<2)>>2]=(f[b+(h+k<<2)>>2]|0)+(f[b+(h+j<<2)>>2]|0)-(f[b+(h+i<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}d=b+(n<<2)|0;m=c+(n<<2)|0;h=f[L>>2]|0;if((h|0)>0){l=0;j=J;do{if((h|0)>0){k=0;do{h=f[j+(k<<2)>>2]|0;i=f[z>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(k<<2)>>2]=i}else{N=f[B>>2]|0;i=f[u>>2]|0;f[i+(k<<2)>>2]=(h|0)<(N|0)?N:h;h=i}k=k+1|0}while((k|0)<(f[L>>2]|0));j=h}else j=f[u>>2]|0;h=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=h;if((h|0)>=(f[A>>2]|0)){if((h|0)>(f[x>>2]|0)){h=h-(f[y>>2]|0)|0;M=48}}else{h=(f[y>>2]|0)+h|0;M=48}if((M|0)==48){M=0;f[i>>2]=h}l=l+1|0;h=f[L>>2]|0}while((l|0)<(h|0))}}else M=22;if((M|0)==22?(M=0,H=b+(n<<2)|0,I=c+(n<<2)|0,G=f[L>>2]|0,(G|0)>0):0){i=G;l=0;k=b+((X(o+-2|0,e)|0)<<2)|0;while(1){if((i|0)>0){j=0;do{h=f[k+(j<<2)>>2]|0;i=f[z>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(j<<2)>>2]=i}else{o=f[B>>2]|0;N=f[u>>2]|0;f[N+(j<<2)>>2]=(h|0)<(o|0)?o:h;h=N}j=j+1|0}while((j|0)<(f[L>>2]|0))}else h=f[u>>2]|0;i=(f[H+(l<<2)>>2]|0)-(f[h+(l<<2)>>2]|0)|0;j=I+(l<<2)|0;f[j>>2]=i;if((i|0)>=(f[A>>2]|0)){if((i|0)>(f[x>>2]|0)){i=i-(f[y>>2]|0)|0;M=35}}else{i=(f[y>>2]|0)+i|0;M=35}if((M|0)==35){M=0;f[j>>2]=i}l=l+1|0;i=f[L>>2]|0;if((l|0)>=(i|0))break;else k=h}}if((p|0)<=1)break a}Fp(r)}while(0);if((e|0)>0)cj(J|0,0,e<<2|0)|0;g=f[L>>2]|0;if((g|0)<=0){nq(J);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=J;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;N=f[d>>2]|0;f[N+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=N}j=j+1|0}while((j|0)<(f[L>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;M=62}}else{g=(f[m>>2]|0)+g|0;M=62}if((M|0)==62){M=0;f[h>>2]=g}k=k+1|0;g=f[L>>2]|0}while((k|0)<(g|0));nq(J);return 1}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+48|0;I=J+24|0;G=J+12|0;m=J;if(!b){I=0;u=J;return I|0}F=a+12|0;n=a+4|0;c=f[n>>2]|0;d=f[a>>2]|0;j=c-d>>2;h=a+16|0;g=f[h>>2]|0;e=f[F>>2]|0;k=g-e>>2;if(j>>>0<=k>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(F,j-k|0,6028);d=f[a>>2]|0;c=f[n>>2]|0}f[I>>2]=0;B=I+4|0;f[B>>2]=0;f[I+8>>2]=0;Jj(I,c-d>>2);c=f[n>>2]|0;d=f[a>>2]|0;if((c-d|0)>0){j=0;do{k=f[d+(j<<2)>>2]|0;g=f[B>>2]|0;e=f[I>>2]|0;i=g-e>>2;if((k|0)>=(i|0)){h=k+1|0;f[G>>2]=0;if(h>>>0<=i>>>0){if(h>>>0>>0?(l=e+(h<<2)|0,(g|0)!=(l|0)):0)f[B>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{lh(I,h-i|0,G);c=f[n>>2]|0;d=f[a>>2]|0}}A=(f[I>>2]|0)+(k<<2)|0;f[A>>2]=(f[A>>2]|0)+1;j=j+1|0}while((j|0)<(c-d>>2|0))}c=c-d|0;h=c>>2;f[G>>2]=0;A=G+4|0;f[A>>2]=0;f[G+8>>2]=0;if(!h){e=0;d=0}else{if(h>>>0>536870911)Fp(G);g=an(c<<1)|0;f[A>>2]=g;f[G>>2]=g;f[G+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){z=e;f[z>>2]=-1;f[z+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[A>>2]=g+(h<<3);e=g;d=g}c=f[B>>2]|0;g=f[I>>2]|0;h=c-g|0;z=h>>2;f[m>>2]=0;y=m+4|0;f[y>>2]=0;f[m+8>>2]=0;x=g;do if(z)if(z>>>0>1073741823)Fp(m);else{E=an(h)|0;f[m>>2]=E;D=E+(z<<2)|0;f[m+8>>2]=D;cj(E|0,0,h|0)|0;f[y>>2]=D;C=E;break}else{C=0;D=0;E=0}while(0);if((c|0)!=(g|0)){c=0;g=0;do{f[C+(c<<2)>>2]=g;g=(f[x+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}w=f[a>>2]|0;c=(f[n>>2]|0)-w|0;if((c|0)>0){v=a+40|0;t=c>>2;l=C;r=0;j=e;p=e;q=e;o=e;s=e;while(1){i=(r|0)<0;c=r+1|0;if(!i){c=((c|0)%3|0|0)==0?r+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[w+(c<<2)>>2]|0;c=(r>>>0)%3|0;g=((c|0)==0?2:-1)+r|0;if((g|0)<0){a=-1073741824;n=h}else{a=f[w+(g<<2)>>2]|0;n=h}}else{c=(r>>>0)%3|0;a=-1073741824;n=-1073741824}if((r|0)==((i?-1073741824:r-c|0)|0)){if(i)c=-1073741824;else c=f[w+(r<<2)>>2]|0;if((n|0)==(a|0)|((c|0)==(n|0)|(c|0)==(a|0))){f[v>>2]=(f[v>>2]|0)+1;i=r+2|0;h=p;k=q;c=o;g=s}else H=55}else H=55;a:do if((H|0)==55){H=0;m=f[x+(a<<2)>>2]|0;b:do if((m|0)>0){c=0;i=f[l+(a<<2)>>2]|0;while(1){g=f[o+(i<<3)>>2]|0;if((g|0)<0){g=j;h=p;c=o;break b}if((g|0)==(n|0))break;c=c+1|0;if((c|0)<(m|0))i=i+1|0;else{g=j;h=p;c=o;break b}}k=f[o+(i<<3)+4>>2]|0;h=p;while(1){c=c+1|0;if((c|0)>=(m|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[j+(i<<3)>>2]|0)<0)break;else{i=g;h=j}}f[q+(i<<3)>>2]=-1;if((k|0)<0){g=q;h=q;c=q}else{i=f[F>>2]|0;f[i+(r<<2)>>2]=k;f[i+(k<<2)>>2]=r;i=r;j=q;h=q;k=q;c=q;g=s;break a}}else{g=j;h=p;c=o}while(0);i=f[x+(n<<2)>>2]|0;if((i|0)>0){h=0;c=f[C+(n<<2)>>2]|0;while(1){g=s+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){l=C;i=r;j=s;h=s;k=s;c=s;g=s;break a}else c=c+1|0}f[g>>2]=a;f[e+(c<<3)+4>>2]=r;l=C;i=r;j=e;h=e;k=e;c=e;g=e}else{i=r;j=g;k=q;g=s}}while(0);r=i+1|0;if((r|0)>=(t|0))break;else{p=h;q=k;o=c;s=g}}}f[b>>2]=z;if(C){if((D|0)!=(C|0))f[y>>2]=D+(~((D+-4-C|0)>>>2)<<2);pq(E);d=f[G>>2]|0;e=d}if(e|0){c=f[A>>2]|0;if((c|0)!=(e|0))f[A>>2]=c+(~((c+-8-e|0)>>>3)<<3);pq(d)}c=f[I>>2]|0;if(c|0){d=f[B>>2]|0;if((d|0)!=(c|0))f[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}I=1;u=J;return I|0}function sc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=Ka,q=Ka,r=Ka,s=0,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+28|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)k=-1073741824;else k=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;k=-1073741824}i=f[a+32>>2]|0;g=f[i>>2]|0;l=(f[i+4>>2]|0)-g>>2;if(l>>>0<=c>>>0)Fp(i);c=f[g+(c<<2)>>2]|0;if(l>>>0<=k>>>0)Fp(i);l=f[g+(k<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+52|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+52|0;s=f[y>>2]|0;k=X(s,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);s=X(s,l)|0;t=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+48>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;s=a+40|0;i=f[s>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;s=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,s,C)|0;r=$(n[C>>2]);p=$(n[B>>2]);r=$(r-p);q=$(n[C+4>>2]);j=$(n[B+4>>2]);q=$(q-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);p=$($(n[D>>2])-p);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(r*r)+$(0.0))+$(q*q))+$(o*o));if(m>$(0.0)){H=$($($($($(r*p)+$(0.0))+$(q*j))+$(o*h))/m);r=$(p-$(r*H));q=$(j-$(q*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(q*q)+$($(r*r)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+56|0;i=a+60|0;c=f[i>>2]|0;g=f[a+64>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function tc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=Ka,q=Ka,r=Ka,s=0,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+48|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)k=-1073741824;else k=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;k=-1073741824}i=f[a+52>>2]|0;g=f[i>>2]|0;l=(f[i+4>>2]|0)-g>>2;if(l>>>0<=c>>>0)Fp(i);c=f[g+(c<<2)>>2]|0;if(l>>>0<=k>>>0)Fp(i);l=f[g+(k<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+72|0;s=f[y>>2]|0;k=X(s,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);s=X(s,l)|0;t=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+68>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;s=a+60|0;i=f[s>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;s=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,s,C)|0;r=$(n[C>>2]);p=$(n[B>>2]);r=$(r-p);q=$(n[C+4>>2]);j=$(n[B+4>>2]);q=$(q-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);p=$($(n[D>>2])-p);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(r*r)+$(0.0))+$(q*q))+$(o*o));if(m>$(0.0)){H=$($($($($(r*p)+$(0.0))+$(q*j))+$(o*h))/m);r=$(p-$(r*H));q=$(j-$(q*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(q*q)+$($(r*r)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+76|0;i=a+80|0;c=f[i>>2]|0;g=f[a+84>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function uc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=0,q=Ka,r=Ka,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+28|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);l=f[(f[i>>2]|0)+28>>2]|0;k=f[l+(c<<2)>>2]|0;l=f[l+(g<<2)>>2]|0;i=f[a+32>>2]|0;c=f[i>>2]|0;p=(f[i+4>>2]|0)-c>>2;if(p>>>0<=k>>>0)Fp(i);g=c;c=f[g+(k<<2)>>2]|0;if(p>>>0<=l>>>0)Fp(i);l=f[g+(l<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+52|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+52|0;p=f[y>>2]|0;k=X(p,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);p=X(p,l)|0;t=$(f[d+(p<<2)>>2]|0);w=$(f[d+(p+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+48>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;p=a+40|0;i=f[p>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;p=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,p,C)|0;s=$(n[C>>2]);q=$(n[B>>2]);s=$(s-q);r=$(n[C+4>>2]);j=$(n[B+4>>2]);r=$(r-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);q=$($(n[D>>2])-q);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(s*s)+$(0.0))+$(r*r))+$(o*o));if(m>$(0.0)){H=$($($($($(s*q)+$(0.0))+$(r*j))+$(o*h))/m);s=$(q-$(s*H));r=$(j-$(r*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+56|0;i=a+60|0;c=f[i>>2]|0;g=f[a+64>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function vc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=0,q=Ka,r=Ka,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+48|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);l=f[(f[i>>2]|0)+28>>2]|0;k=f[l+(c<<2)>>2]|0;l=f[l+(g<<2)>>2]|0;i=f[a+52>>2]|0;c=f[i>>2]|0;p=(f[i+4>>2]|0)-c>>2;if(p>>>0<=k>>>0)Fp(i);g=c;c=f[g+(k<<2)>>2]|0;if(p>>>0<=l>>>0)Fp(i);l=f[g+(l<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+72|0;p=f[y>>2]|0;k=X(p,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);p=X(p,l)|0;t=$(f[d+(p<<2)>>2]|0);w=$(f[d+(p+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+68>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;p=a+60|0;i=f[p>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;p=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,p,C)|0;s=$(n[C>>2]);q=$(n[B>>2]);s=$(s-q);r=$(n[C+4>>2]);j=$(n[B+4>>2]);r=$(r-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);q=$($(n[D>>2])-q);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(s*s)+$(0.0))+$(r*r))+$(o*o));if(m>$(0.0)){H=$($($($($(s*q)+$(0.0))+$(r*j))+$(o*h))/m);s=$(q-$(s*H));r=$(j-$(r*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+76|0;i=a+80|0;c=f[i>>2]|0;g=f[a+84>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))Gi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ag(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ag(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){m=(c|0)/3|0;d=d+(m>>>5<<2)|0;f[d>>2]=1<<(m&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)i=-1073741824;else i=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;h=(f[n>>2]|0)+(i>>>5<<2)|0;j=1<<(i&31);g=f[h>>2]|0;do if(!(j&g)){e=f[a>>2]|0;c=f[(f[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=f[(f[e+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}}f[h>>2]=g|j;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(k,t,w);if((c|0)<0){d=f[b>>2]|0;y=42;break}d=f[a>>2]|0;c=f[b>>2]|0;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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}else y=42;while(0);if((y|0)==42){y=0;e=f[a>>2]|0;if((d|0)<0){y=45;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=50;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=55;break a}}else y=50;while(0);if((y|0)==50){y=0;if(g){y=52;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=52;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==45){f[w>>2]=-1073741824;y=52}else if((y|0)==55){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){Gi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==52){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=Ka,i=Ka,j=0,k=0,l=0,m=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=Ka;v=b[c+11>>0]|0;x=v<<24>>24<0;w=x?f[c>>2]|0:c;v=x?f[c+4>>2]|0:v&255;if(v>>>0>3){j=w;m=v;k=v;while(1){x=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(x>>>24^x,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}x=v+-4|0;k=x&-4;l=w+(k+4)|0;j=m;k=x-k|0}else{l=w;j=v;k=v}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;z=6;break}case 2:{o=j;z=6;break}case 1:{p=j;z=7;break}default:q=j}if((z|0)==6){p=h[l+1>>0]<<8^o;z=7}if((z|0)==7)q=X(h[l>>0]^p,1540483477)|0;x=X(q>>>13^q,1540483477)|0;x=x>>>15^x;t=a+4|0;s=f[t>>2]|0;u=(s|0)==0;a:do if(!u){q=s+-1|0;k=(q&s|0)==0;if(!k)if(x>>>0>>0)r=x;else r=(x>>>0)%(s>>>0)|0;else r=x&q;j=f[(f[a>>2]|0)+(r<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){p=(v|0)==0;if(k){if(p){d=e;while(1){w=f[d+4>>2]|0;if(!((w|0)==(x|0)|(w&q|0)==(r|0))){d=r;break a}w=b[d+8+11>>0]|0;if(!((w<<24>>24<0?f[d+12>>2]|0:w&255)|0)){j=d;break}d=f[d>>2]|0;if(!d){d=r;break a}}a=j+20|0;return a|0}else j=e;b:while(1){o=f[j+4>>2]|0;if(!((o|0)==(x|0)|(o&q|0)==(r|0))){d=r;break a}k=j+8|0;m=b[k+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[j+12>>2]|0:m)|0)==(v|0)){l=f[k>>2]|0;if(o)if(!(fl(l,w,v)|0)){z=63;break b}else break;if((l&255)<<24>>24==(b[w>>0]|0)){l=w;do{m=m+-1|0;k=k+1|0;if(!m){z=63;break b}l=l+1|0}while((b[k>>0]|0)==(b[l>>0]|0))}}while(0);j=f[j>>2]|0;if(!j){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}if(p){while(1){d=f[e+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=s>>>0)d=(d>>>0)%(s>>>0)|0;if((d|0)!=(r|0)){d=r;break a}}w=b[e+8+11>>0]|0;if(!((w<<24>>24<0?f[e+12>>2]|0:w&255)|0)){j=e;break}e=f[e>>2]|0;if(!e){d=r;break a}}a=j+20|0;return a|0}c:while(1){j=f[e+4>>2]|0;if((j|0)!=(x|0)){if(j>>>0>=s>>>0)j=(j>>>0)%(s>>>0)|0;if((j|0)!=(r|0)){d=r;break a}}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(v|0)){k=f[j>>2]|0;if(m)if(!(fl(k,w,v)|0)){j=e;z=63;break c}else break;if((k&255)<<24>>24==(b[w>>0]|0)){k=w;do{l=l+-1|0;j=j+1|0;if(!l){j=e;z=63;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}else d=r}else d=0;while(0);l=an(24)|0;dj(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=x;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);A=$(s>>>0);g=$(n[a+16>>2]);do if(u|i>$(A*g)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~$(W($(i/g)))>>>0;Wh(a,d>>>0>>0?e:d);d=f[t>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&x;break}if(x>>>0>>0){j=d;d=x}else{j=d;d=(x>>>0)%(d>>>0)|0}}else j=s;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(e&j){if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0}else d=d&e;y=(f[a>>2]|0)+(d<<2)|0;z=61}}else{f[l>>2]=f[d>>2];y=d;z=61}if((z|0)==61)f[y>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x+24|0;v=x+12|0;t=x;r=a+32|0;s=a+8|0;p=a+12|0;b=f[p>>2]|0;d=f[s>>2]|0;j=b-d>>2;h=a+36|0;g=f[h>>2]|0;e=f[r>>2]|0;k=g-e>>2;c=d;if(j>>>0<=k>>>0)if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0){f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2);i=d}else i=d;else{qi(r,j-k|0);c=f[s>>2]|0;i=c;b=f[p>>2]|0}h=b-i|0;g=h>>2;f[w>>2]=0;e=w+4|0;f[e>>2]=0;d=w+8|0;f[d>>2]=0;if(g|0){if((h|0)<0)Fp(w);m=((g+-1|0)>>>5)+1|0;n=an(m<<2)|0;f[w>>2]=n;f[d>>2]=m;f[e>>2]=g;d=g>>>5;cj(n|0,0,d<<2|0)|0;e=g-(d<<5)|0;d=n+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0))}n=a+20|0;d=0;while(1){if(d>>>0>2>>>0){e=i;g=0;m=0}else{o=25;break}while(1){k=m>>>5;l=1<<(m&31);do if(!(f[(f[w>>2]|0)+(k<<2)>>2]&l)){b=f[c+(m<<2)>>2]|0;if((f[b+8>>2]|0)!=(f[b+4>>2]|0)){e=1;j=0;do{i=f[(f[b+4>>2]|0)+(j<<2)>>2]|0;h=0;while(1){c=f[c+(m<<2)>>2]|0;if((h|0)>=(Na[f[(f[c>>2]|0)+24>>2]&127](c,i)|0))break;b=f[(f[s>>2]|0)+(m<<2)>>2]|0;b=Oa[f[(f[b>>2]|0)+28>>2]&31](b,i,h)|0;if((b|0)!=(m|0)?(c=f[(f[n>>2]|0)+(b<<2)>>2]|0,(1<<(c&31)&f[(f[w>>2]|0)+(c>>>5<<2)>>2]|0)==0):0){e=0;break}c=f[s>>2]|0;h=h+1|0}j=j+1|0;c=f[s>>2]|0;b=f[c+(m<<2)>>2]|0}while(j>>>0<(f[b+8>>2]|0)-(f[b+4>>2]|0)>>2>>>0);if(!e){e=c;h=d;break}}else c=e;f[(f[r>>2]|0)+(d<<2)>>2]=m;e=(f[w>>2]|0)+(k<<2)|0;f[e>>2]=f[e>>2]|l;e=c;g=1;h=d+1|0}else h=d;while(0);m=m+1|0;b=f[p>>2]|0;d=b-e>>2;c=e;if(m>>>0>=d>>>0)break;else d=h}if(h>>>0>>0&(g^1)){c=0;break}else{i=e;d=h}}if((o|0)==25){f[v>>2]=0;o=v+4|0;f[o>>2]=0;f[v+8>>2]=0;h=f[a+4>>2]|0;h=(f[h+12>>2]|0)-(f[h+8>>2]|0)|0;g=h>>2;f[t>>2]=0;e=t+4|0;f[e>>2]=0;d=t+8|0;f[d>>2]=0;if(g|0){if((h|0)<0)Fp(t);n=((g+-1|0)>>>5)+1|0;a=an(n<<2)|0;f[t>>2]=a;f[d>>2]=n;f[e>>2]=g;d=g>>>5;cj(a|0,0,d<<2|0)|0;e=g-(d<<5)|0;d=a+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0))}a:do if((b|0)==(i|0))c=1;else{d=i;n=0;while(1){m=f[(f[r>>2]|0)+(n<<2)>>2]|0;a=f[c+(m<<2)>>2]|0;a=(f[a+8>>2]|0)-(f[a+4>>2]|0)|0;l=a>>2;if((a|0)<8)c=d;else{c=f[o>>2]|0;b=f[v>>2]|0;d=c-b>>2;if(l>>>0<=d>>>0)if(l>>>0>>0?(q=b+(l<<2)|0,(c|0)!=(q|0)):0){f[o>>2]=c+(~((c+-4-q|0)>>>2)<<2);b=0}else b=0;else{qi(v,l-d|0);b=0}while(1){if((b|0)<(l|0)){c=0;k=0}else break;do{d=f[(f[s>>2]|0)+(m<<2)>>2]|0;h=f[(f[d+4>>2]|0)+(k<<2)>>2]|0;i=k>>>5;j=1<<(k&31);if(!(f[(f[t>>2]|0)+(i<<2)>>2]&j)){e=d;d=1;g=0;while(1){if((g|0)>=(Na[f[(f[e>>2]|0)+24>>2]&127](e,h)|0))break;a=f[(f[s>>2]|0)+(m<<2)>>2]|0;a=Oa[f[(f[a>>2]|0)+28>>2]&31](a,h,g)|0;a=(f[(f[t>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)!=0;d=d&a;if(!a)break;e=f[(f[s>>2]|0)+(m<<2)>>2]|0;g=g+1|0}if(d){f[(f[v>>2]|0)+(b<<2)>>2]=k;c=(f[t>>2]|0)+(i<<2)|0;f[c>>2]=f[c>>2]|j;c=1;b=b+1|0}}k=k+1|0}while((k|0)<(l|0));if(!(c|(b|0)>=(l|0))){c=0;break a}}wg(f[(f[s>>2]|0)+(m<<2)>>2]|0,v);c=f[s>>2]|0;b=f[p>>2]|0}n=n+1|0;if(n>>>0>=b-c>>2>>>0){c=1;break}else d=c}}while(0);b=f[t>>2]|0;if(b|0)pq(b);b=f[v>>2]|0;if(b|0){d=f[o>>2]|0;if((d|0)!=(b|0))f[o>>2]=d+(~((d+-4-b|0)>>>2)<<2);pq(b)}}b=f[w>>2]|0;if(!b){u=x;return c|0}pq(b);u=x;return c|0}function zc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+16|0;y=z+4|0;x=z;if(!(Ri(a,d)|0)){a=0;u=z;return a|0}s=a+64|0;d=f[s>>2]|0;a:do if(((f[d+4>>2]|0)-(f[d>>2]|0)|0)>0){q=a+12|0;v=e+84|0;p=e+68|0;t=c+96|0;r=c+100|0;w=a+24|0;o=0;b:while(1){f[x>>2]=(o>>>0)/3|0;f[y>>2]=f[x>>2];n=Dj(d,y)|0;d=f[s>>2]|0;do if(!n){n=f[(f[d+12>>2]|0)+(o<<2)>>2]|0;if((n|0)<0){g=(f[a>>2]|0)+(o>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(o&31);g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;n=(f[q>>2]|0)+(g>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(g&31);g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;n=(f[q>>2]|0)+(g>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(g&31);break}if((n|0)>=(o|0)){m=o+1|0;k=((m|0)%3|0|0)==0?o+-2|0:m;j=n+(((n>>>0)%3|0|0)==0?2:-1)|0;if((k|0)==-1073741824)g=-1073741824;else{h=(k|0)/3|0;if((k|0)<=-3){d=18;break b}g=f[t>>2]|0;if((h|0)>=(((f[r>>2]|0)-g|0)/12|0|0)){d=20;break b}g=f[g+(h*12|0)+(((k|0)%3|0)<<2)>>2]|0}i=(j|0)/3|0;if((j|0)<=-3){d=23;break b}h=f[t>>2]|0;if((i|0)>=(((f[r>>2]|0)-h|0)/12|0|0)){d=25;break b}h=f[h+(i*12|0)+(((j|0)%3|0)<<2)>>2]|0;l=(b[v>>0]|0)==0;if(l){i=f[p>>2]|0;h=f[i+(h<<2)>>2]|0;g=f[i+(g<<2)>>2]|0}if((g|0)==(h|0)){g=k+1|0;if((k|0)<0)i=k;else i=((g|0)%3|0|0)==0?k+-2|0:g;do if((j|0)>=0)if(!((j>>>0)%3|0)){j=j+2|0;break}else{j=j+-1|0;break}while(0);if((i|0)==-1073741824)g=-1073741824;else{h=(i|0)/3|0;if((i|0)<=-3){d=18;break b}g=f[t>>2]|0;if((h|0)>=(((f[r>>2]|0)-g|0)/12|0|0)){d=20;break b}g=f[g+(h*12|0)+(((i|0)%3|0)<<2)>>2]|0}if((j|0)==-1073741824)h=-1073741824;else{i=(j|0)/3|0;if((j|0)<=-3){d=23;break b}h=f[t>>2]|0;if((i|0)>=(((f[r>>2]|0)-h|0)/12|0|0)){d=25;break b}h=f[h+(i*12|0)+(((j|0)%3|0)<<2)>>2]|0}if(l){l=f[p>>2]|0;h=f[l+(h<<2)>>2]|0;g=f[l+(g<<2)>>2]|0}if((g|0)==(h|0))break}b[w>>0]=0;g=f[a>>2]|0;l=g+(o>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(o&31);g=g+(n>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(n&31);g=((m|0)%3|0|0)==0?o+-2|0:m;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;m=(f[q>>2]|0)+(g>>>5<<2)|0;f[m>>2]=f[m>>2]|1<<(g&31);g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;m=(f[q>>2]|0)+(g>>>5<<2)|0;f[m>>2]=f[m>>2]|1<<(g&31);g=n+1|0;g=((g|0)%3|0|0)==0?n+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;m=(f[q>>2]|0)+(g>>>5<<2)|0;f[m>>2]=f[m>>2]|1<<(g&31);g=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;n=(f[q>>2]|0)+(g>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(g&31)}}while(0);o=o+1|0;if((o|0)>=((f[d+4>>2]|0)-(f[d>>2]|0)>>2|0))break a}if((d|0)==18)ra(19893,19918,63,20001);else if((d|0)==20)ra(20006,19918,64,20001);else if((d|0)==23)ra(19893,19918,63,20001);else if((d|0)==25)ra(20006,19918,64,20001)}while(0);if((c|0)!=0&(e|0)!=0){Bc(a,c,e);a=1;u=z;return a|0}else{Nc(a,0,0);a=1;u=z;return a|0}return 0}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))ra(13158,13180,46,13350);if(!(f[a+8>>2]|0))ra(13158,13180,46,13350);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Lh(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Lh(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Lh(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=_n(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=_n(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=_n(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=_n(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=_n(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=_n(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=$m(H|0,J|0,i|0,h|0)|0;M=I;P=$m(T|0,S|0,K|0,L|0)|0;O=I;L=$m(R|0,Q|0,K|0,L|0)|0;K=I;J=$m(H|0,J|0,n|0,j|0)|0;H=I;j=$m(T|0,S|0,n|0,j|0)|0;n=I;h=$m(R|0,Q|0,i|0,h|0)|0;i=I;l=_n(l|0,k|0,P|0,O|0)|0;l=Mn(l|0,I|0,N|0,M|0)|0;k=I;g=Mn(L|0,K|0,g|0,m|0)|0;g=_n(g|0,I|0,J|0,H|0)|0;m=I;c=_n(c|0,e|0,h|0,i|0)|0;c=Mn(c|0,I|0,j|0,n|0)|0;e=I;Vg(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=_n(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=_n(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=_n(0,0,c|0,e|0)|0;S=Mn((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Mn(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=An(h|0,i|0,29)|0;T=T&7;i=kk(l|0,k|0,T|0,0)|0;j=I;g=kk(g|0,m|0,T|0,0)|0;h=I;c=kk(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=An(h|0,i|0,29)|0;T=I;i=kk(l|0,k|0,S|0,T|0)|0;j=I;g=kk(g|0,m|0,S|0,T|0)|0;h=I;c=kk(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=_n(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=_n(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=_n(0,0,c|0,e|0)|0;Q=Mn((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Mn(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else ra(13372,13180,95,13350)}function Bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Gi(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))Gi(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Gi(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){Gi(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)ra(20006,19918,64,20001);else if((C|0)==33)ra(20006,19918,64,20001)}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+32|0;t=v+12|0;q=v+8|0;p=v+4|0;r=v;s=a+8|0;a:do if(f[s>>2]|0?(o=f[a>>2]|0,n=a+4|0,f[a>>2]=n,f[(f[n>>2]|0)+8>>2]=0,f[n>>2]=0,f[s>>2]=0,d=f[o+4>>2]|0,d=(d|0)==0?o:d,d|0):0){o=a+4|0;m=f[b>>2]|0;l=d;while(1){if((m|0)==(f[c>>2]|0))break;g=l+16|0;f[g>>2]=f[m+16>>2];if((l|0)!=(m|0)){f[p>>2]=f[m+20>>2];f[r>>2]=m+24;f[q>>2]=f[p>>2];f[t>>2]=f[r>>2];Kc(l+20|0,q,t)}j=l+8|0;e=f[j>>2]|0;do if(e){d=f[e>>2]|0;if((d|0)==(l|0)){f[e>>2]=0;d=f[e+4>>2]|0;if(!d){k=e;break}while(1){e=f[d>>2]|0;if(e|0){d=e;continue}e=f[d+4>>2]|0;if(!e)break;else d=e}k=d;break}else{f[e+4>>2]=0;if(!d){k=e;break}while(1){e=f[d>>2]|0;if(e|0){d=e;continue}e=f[d+4>>2]|0;if(!e)break;else d=e}k=d;break}}else k=0;while(0);d=f[n>>2]|0;do if(d){g=f[g>>2]|0;h=d;while(1){if((g|0)<(f[h+16>>2]|0)){d=f[h>>2]|0;if(!d){i=24;break}}else{e=h+4|0;d=f[e>>2]|0;if(!d){i=27;break}}h=d}if((i|0)==24){d=h;e=h;break}else if((i|0)==27){d=h;break}}else{d=n;e=n}while(0);f[l>>2]=0;f[l+4>>2]=0;f[j>>2]=d;f[e>>2]=l;d=f[f[a>>2]>>2]|0;if(!d)d=l;else{f[a>>2]=d;d=f[e>>2]|0}He(f[o>>2]|0,d);f[s>>2]=(f[s>>2]|0)+1;d=f[m+4>>2]|0;if(!d){e=m+8|0;d=f[e>>2]|0;if((f[d>>2]|0)!=(m|0))do{m=f[e>>2]|0;e=m+8|0;d=f[e>>2]|0}while((f[d>>2]|0)!=(m|0))}else while(1){e=f[d>>2]|0;if(!e)break;else d=e}f[b>>2]=d;if(!k)break a;else{m=d;l=k}}d=f[l+8>>2]|0;if(!d)d=l;else while(1){e=f[d+8>>2]|0;if(!e)break;else d=e}vj(a,d)}while(0);d=f[b>>2]|0;k=f[c>>2]|0;if((d|0)==(k|0)){u=v;return}l=a+4|0;m=a+4|0;do{Gg(t,a,d+16|0);g=f[l>>2]|0;do if(g){e=f[t>>2]|0;i=f[e+16>>2]|0;j=g;while(1){if((i|0)<(f[j+16>>2]|0)){g=f[j>>2]|0;if(!g){i=45;break}}else{h=j+4|0;g=f[h>>2]|0;if(!g){i=48;break}}j=g}if((i|0)==45){g=j;h=j;break}else if((i|0)==48){g=j;break}}else{e=f[t>>2]|0;g=l;h=l}while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=g;f[h>>2]=e;g=f[f[a>>2]>>2]|0;if(g){f[a>>2]=g;e=f[h>>2]|0}He(f[m>>2]|0,e);f[s>>2]=(f[s>>2]|0)+1;e=f[d+4>>2]|0;if(!e){e=d+8|0;g=f[e>>2]|0;if((f[g>>2]|0)==(d|0))d=g;else do{c=f[e>>2]|0;e=c+8|0;d=f[e>>2]|0}while((f[d>>2]|0)!=(c|0))}else{d=e;while(1){e=f[d>>2]|0;if(!e)break;else d=e}}f[b>>2]=d}while((d|0)!=(k|0));u=v;return}function Dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))ra(20748,20641,68,20738);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);pq(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(e)}pq(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}pq(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){Ji(d);pq(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){Ji(c);pq(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){bm(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function Ec(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+4|0;i=f[w>>2]|0;v=a+100|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=0}else{i=Xi(a)|0;k=0}a:while(1){switch(i|0){case 46:{o=8;break a}case 48:break;default:{u=0;n=0;q=0;j=0;r=k;t=0;s=0;m=1.0;k=0;g=0.0;break a}}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=1;continue}else{i=Xi(a)|0;k=1;continue}}if((o|0)==8){i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Xi(a)|0;if((i|0)==48){k=0;j=0;do{i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Xi(a)|0;k=Mn(k|0,j|0,-1,-1)|0;j=I}while((i|0)==48);u=0;n=0;q=k;r=1;t=1;s=0;m=1.0;k=0;g=0.0}else{u=0;n=0;q=0;j=0;r=k;t=1;s=0;m=1.0;k=0;g=0.0}}while(1){p=i+-48|0;o=(i|0)==46;if(p>>>0>=10?!(o|((i|32)+-97|0)>>>0<6):0)break;if(o)if(!t){q=n;j=u;p=u;t=1;o=s;l=m}else{i=46;break}else{i=(i|0)>57?(i|32)+-87|0:p;do if(!((u|0)<0|(u|0)==0&n>>>0<8))if((u|0)<0|(u|0)==0&n>>>0<14){m=m*.0625;o=s;l=m;g=g+m*+(i|0);break}else{r=(s|0)!=0|(i|0)==0;o=r?s:1;l=m;g=r?g:g+m*.5;break}else{o=s;l=m;k=i+(k<<4)|0}while(0);n=Mn(n|0,u|0,1,0)|0;p=I;r=1}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;u=p;i=h[i>>0]|0;s=o;m=l;continue}else{u=p;i=Xi(a)|0;s=o;m=l;continue}}do if(!r){i=f[v>>2]|0;j=(i|0)!=0;if(j)f[w>>2]=(f[w>>2]|0)+-1;if(e){if(j)f[w>>2]=(f[w>>2]|0)+-1;if(!((t|0)==0|(i|0)==0))f[w>>2]=(f[w>>2]|0)+-1}else Lm(a,0);g=+(d|0)*0.0}else{o=(t|0)==0;p=o?n:q;o=o?u:j;if((u|0)<0|(u|0)==0&n>>>0<8){j=u;do{k=k<<4;n=Mn(n|0,j|0,1,0)|0;j=I}while((j|0)<0|(j|0)==0&n>>>0<8)}if((i|32|0)==112){j=$e(a,e)|0;i=I;if((j|0)==0&(i|0)==-2147483648){if(!e){Lm(a,0);g=0.0;break}if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}}}else if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}w=vn(p|0,o|0,2)|0;w=Mn(w|0,I|0,-32,-1)|0;i=Mn(w|0,I|0,j|0,i|0)|0;j=I;if(!k){g=+(d|0)*0.0;break}w=0-c|0;e=((w|0)<0)<<31>>31;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>w>>>0){b=eq()|0;f[b>>2]=34;g=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}w=c+-106|0;e=((w|0)<0)<<31>>31;if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0){b=eq()|0;f[b>>2]=34;g=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((k|0)>-1){do{w=!(g>=.5);k=k<<1|(w^1)&1;g=g+(w?g:g+-1.0);i=Mn(i|0,j|0,-1,-1)|0;j=I}while((k|0)>-1);n=i;m=g}else{n=i;m=g}w=((b|0)<0)<<31>>31;i=_n(32,0,c|0,((c|0)<0)<<31>>31|0)|0;i=Mn(i|0,I|0,n|0,j|0)|0;c=I;if((w|0)>(c|0)|(w|0)==(c|0)&b>>>0>i>>>0)if((i|0)>0)o=59;else{j=0;i=84;o=61}else{i=b;o=59}if((o|0)==59)if((i|0)<53){j=i;i=84-i|0;o=61}else{l=0.0;g=+(d|0)}if((o|0)==61){g=+(d|0);l=+Wp(+Rj(1.0,i),g);i=j}d=(k&1|0)==0&(m!=0.0&(i|0)<32);g=g*(d?0.0:m)+(l+g*+(((d&1)+k|0)>>>0))-l;if(!(g!=0.0)){d=eq()|0;f[d>>2]=34}g=+Xp(g,n)}while(0);return +g}function Fc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=Ka,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=Ka;E=u;u=u+112|0;x=E+104|0;y=E+64|0;o=E+24|0;A=E+16|0;p=E+92|0;r=E+80|0;q=E+68|0;z=E;B=E+52|0;C=E+40|0;D=E+28|0;f[o>>2]=0;m=f[a>>2]|0;v=a+4|0;h=f[v>>2]|0;w=c+4|0;if((h|0)==(f[w>>2]|0))g=$(0.0);else{l=m+84|0;i=m+68|0;j=r+4|0;k=q+8|0;g=$(0.0);do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,p)|0;F=$(K($(n[p>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,r)|0;F=$(K($(n[j>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,q)|0;F=$(K($(n[k>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;h=h+1|0;g=(f[s>>2]=t,$(n[s>>2]))}while((h|0)!=(f[w>>2]|0))}t=(1<>2])+-1|0;cp(A);po(A,g,t);n[d+4>>2]=g;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;d=f[a>>2]|0;h=f[v>>2]|0;if((h|0)==(f[w>>2]|0)){D=f[e>>2]|0;u=E;return D|0}r=d+84|0;l=d+68|0;a=A+4|0;q=C+4|0;p=z+4|0;o=D+8|0;m=z+8|0;c=f[e>>2]|0;j=c+4|0;k=c+8|0;i=h;do{f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,B)|0;F=$(n[B>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[z>>2]=(v?0-e|0:e)+t;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,C)|0;F=$(n[q>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[p>>2]=(v?0-e|0:e)+t;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,D)|0;F=$(n[o>>2]);e=F<$(0.0);g=$(-F);F=$((e?g:F)/$(n[A>>2]));h=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[m>>2]=(e?0-h|0:h)+t;h=f[j>>2]|0;if((h|0)==(f[k>>2]|0))qh(c,z);else{f[h>>2]=f[z>>2];f[h+4>>2]=f[p>>2];f[h+8>>2]=f[m>>2];f[j>>2]=h+12}i=i+1|0}while((i|0)!=(f[w>>2]|0));u=E;return c|0}function Gc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>203){f[c>>2]=b+-204;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{bm(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=sa(8)|0;to(o,20196);f[o>>2]=7152;wa(o|0,1112,107)}g=an(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){pq(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=sa(8)|0;to(o,20196);f[o>>2]=7152;wa(o|0,1112,107)}d=an(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=an(4080)|0;f[j>>2]=e;tg(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;mg(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)pq(d);u=o;return}if((c|0)!=(b|0)){n=an(4080)|0;f[k>>2]=n;tg(a,k);u=o;return}j=an(4080)|0;f[k>>2]=j;mg(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{bm(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=sa(8)|0;to(o,20196);f[o>>2]=7152;wa(o|0,1112,107)}g=an(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){pq(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function Hc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2020;e=b;f[a>>2]=e;return}case 2:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2076;e=b;f[a>>2]=e;return}case 4:{b=an(112)|0;f[b>>2]=1544;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2132;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(88)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2188;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(104)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2244;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(140)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2300;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2356;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Ic(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1656;e=b;f[a>>2]=e;return}case 2:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1712;e=b;f[a>>2]=e;return}case 4:{b=an(112)|0;f[b>>2]=1544;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1768;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(88)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1824;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(104)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1880;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(140)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1936;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1992;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Jc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;F=u;u=u+352|0;C=F+340|0;B=F+336|0;l=F+80|0;E=F+48|0;D=F;cj(l|0,0,256)|0;i=f[e+4>>2]|0;j=f[e>>2]|0;k=j;if((i|0)!=(j|0)){j=i-j>>2;i=0;do{A=l+(f[k+(i<<2)>>2]<<3)|0;z=A;z=Mn(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;f[A>>2]=z;f[A+4>>2]=I;i=i+1|0}while(i>>>0>>0)}ln(E);w=c<<5;y=D+40|0;z=y;f[z>>2]=0;f[z+4>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;$c(D,l,32,g)|0;z=D+16|0;z=vn(f[z>>2]|0,f[z+4>>2]|0,1)|0;A=g+4|0;x=(f[A>>2]|0)-(f[g>>2]|0)|0;v=y;f[v>>2]=x;f[v+4>>2]=0;z=Mn(z|0,I|0,39,0)|0;z=An(z|0,I|0,3)|0;z=Mn(z|0,I|0,8,0)|0;x=Mn(z|0,I|0,x|0,0)|0;pl(g,x,I);x=D+24|0;f[x>>2]=(f[g>>2]|0)+(f[y>>2]|0);y=D+28|0;f[y>>2]=0;z=D+32|0;f[z>>2]=16384;ti(E,w,((w|0)<0)<<31>>31,0)|0;w=c-d|0;a:do if((w|0)>-1){t=(d|0)>0;s=E+16|0;r=E+12|0;v=w;b:while(1){j=f[e>>2]|0;l=f[j+(((v|0)/(d|0)|0)<<2)>>2]|0;c=f[D>>2]|0;m=f[c+(l<<3)>>2]|0;i=f[z>>2]|0;k=m<<10;if(i>>>0>=k>>>0){do{p=f[x>>2]|0;q=f[y>>2]|0;f[y>>2]=q+1;b[p+q>>0]=i;i=(f[z>>2]|0)>>>8;f[z>>2]=i}while(i>>>0>=k>>>0);j=f[e>>2]|0}f[z>>2]=(((i>>>0)/(m>>>0)|0)<<12)+((i>>>0)%(m>>>0)|0)+(f[c+(l<<3)+4>>2]|0);q=w-v|0;j=f[j+(((q|0)/(d|0)|0)<<2)>>2]|0;c:do if(t){o=(j|0)<33;p=(j|0)>0;if((j|0)>-1)n=0;else{i=s;j=f[i+4>>2]|0;i=(j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0;j=0;while(1){if(i){i=21;break b}j=j+1|0;if((j|0)>=(d|0))break c}}do{k=f[a+(n+q<<2)>>2]|0;m=s;c=f[m+4>>2]|0;if((c|0)>0|(c|0)==0&(f[m>>2]|0)>>>0>0){l=f[r>>2]|0;if(!o){i=22;break b}if(p){m=l+4|0;i=f[m>>2]|0;c=0;do{G=i>>>3;H=i&7;J=(f[l>>2]|0)+G|0;b[J>>0]=(h[J>>0]|0)&(1<>2]|0)+G|0;b[G>>0]=h[G>>0]|0|(k>>>c&1)<>2]|0)+1|0;f[m>>2]=i;c=c+1|0}while((c|0)!=(j|0))}}n=n+1|0}while((n|0)<(d|0))}while(0);v=v-d|0;if((v|0)<=-1)break a}if((i|0)==21)ra(19404,19419,88,19512);else if((i|0)==22)ra(19520,19419,89,19512)}while(0);qg(D,g);Tf(E);i=f[E>>2]|0;l=E+4|0;J=g+16|0;H=f[J+4>>2]|0;if(!((H|0)>0|(H|0)==0&(f[J>>2]|0)>>>0>0)){J=(f[l>>2]|0)-i|0;f[B>>2]=f[A>>2];f[C>>2]=f[B>>2];Ke(g,C,i,i+J|0)|0}k=f[D>>2]|0;if(k|0){j=D+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-8-k|0)>>>3)<<3);pq(k)}J=E+12|0;i=f[J>>2]|0;f[J>>2]=0;if(i|0)pq(i);i=f[E>>2]|0;if(!i){u=F;return 1}if((f[l>>2]|0)!=(i|0))f[l>>2]=i;pq(i);u=F;return 1}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+8|0;a:do if(f[q>>2]|0?(s=f[a>>2]|0,r=a+4|0,f[a>>2]=r,f[(f[r>>2]|0)+8>>2]=0,f[r>>2]=0,f[q>>2]=0,e=f[s+4>>2]|0,e=(e|0)==0?s:e,e|0):0){s=a+4|0;p=f[c>>2]|0;o=e;while(1){if((p|0)==(f[d>>2]|0))break;h=o+16|0;Rl(h,p+16|0)|0;Rl(o+28|0,p+28|0)|0;m=o+8|0;g=f[m>>2]|0;do if(g){e=f[g>>2]|0;if((e|0)==(o|0)){f[g>>2]=0;e=f[g+4>>2]|0;if(!e){n=g;break}while(1){g=f[e>>2]|0;if(g|0){e=g;continue}g=f[e+4>>2]|0;if(!g)break;else e=g}n=e;break}else{f[g+4>>2]=0;if(!e){n=g;break}while(1){g=f[e>>2]|0;if(g|0){e=g;continue}g=f[e+4>>2]|0;if(!g)break;else e=g}n=e;break}}else n=0;while(0);e=f[r>>2]|0;do if(e){l=b[h+11>>0]|0;k=l<<24>>24<0;l=k?f[o+20>>2]|0:l&255;k=k?f[h>>2]|0:h;j=e;while(1){g=j+16|0;h=b[g+11>>0]|0;i=h<<24>>24<0;h=i?f[j+20>>2]|0:h&255;e=h>>>0>>0?h:l;if((e|0)!=0?(t=fl(k,i?f[g>>2]|0:g,e)|0,(t|0)!=0):0)if((t|0)<0)h=24;else h=26;else if(l>>>0>>0)h=24;else h=26;if((h|0)==24){e=f[j>>2]|0;if(!e){h=25;break}}else if((h|0)==26){g=j+4|0;e=f[g>>2]|0;if(!e){h=28;break}}j=e}if((h|0)==25){e=j;g=j;break}else if((h|0)==28){e=j;break}}else{e=r;g=r}while(0);f[o>>2]=0;f[o+4>>2]=0;f[m>>2]=e;f[g>>2]=o;e=f[f[a>>2]>>2]|0;if(!e)e=o;else{f[a>>2]=e;e=f[g>>2]|0}He(f[s>>2]|0,e);f[q>>2]=(f[q>>2]|0)+1;e=f[p+4>>2]|0;if(!e){g=p+8|0;e=f[g>>2]|0;if((f[e>>2]|0)!=(p|0))do{p=f[g>>2]|0;g=p+8|0;e=f[g>>2]|0}while((f[e>>2]|0)!=(p|0))}else while(1){g=f[e>>2]|0;if(!g)break;else e=g}f[c>>2]=e;if(!n)break a;else{p=e;o=n}}e=f[o+8>>2]|0;if(!e)e=o;else while(1){g=f[e+8>>2]|0;if(!g)break;else e=g}lj(a,e)}while(0);e=f[c>>2]|0;i=f[d>>2]|0;if((e|0)==(i|0))return;do{hf(a,e+16|0)|0;g=f[e+4>>2]|0;if(!g){g=e+8|0;h=f[g>>2]|0;if((f[h>>2]|0)==(e|0))e=h;else do{d=f[g>>2]|0;g=d+8|0;e=f[g>>2]|0}while((f[e>>2]|0)!=(d|0))}else{e=g;while(1){g=f[e>>2]|0;if(!g)break;else e=g}}f[c>>2]=e}while((e|0)!=(i|0));return}function Lc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+48|0;p=v+32|0;o=v+28|0;s=v+4|0;q=v;m=v+16|0;r=v+36|0;if((c|0)<0){t=0;u=v;return t|0}if(!c){t=1;u=v;return t|0}k=(d|0)>1;n=k?d:1;f[s>>2]=0;t=s+4|0;f[t>>2]=0;f[s+8>>2]=0;Jj(s,c);f[q>>2]=0;j=s+8|0;a:do if(k){h=0;do{d=1;g=f[a+(h<<2)>>2]|0;do{k=f[a+(d+h<<2)>>2]|0;g=g>>>0>>0?k:g;d=d+1|0}while((d|0)!=(n|0));d=(_(g|0)|0)^31;if(g>>>0>(f[q>>2]|0)>>>0)f[q>>2]=g;g=(g|0)==0?1:d+1|0;f[p>>2]=g;d=f[t>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=g;f[t>>2]=d+4}else Gi(s,p);h=h+n|0}while((h|0)<(c|0))}else{i=0;d=0;while(1){g=f[a+(d<<2)>>2]|0;h=(_(g|0)|0)^31;if(g>>>0>i>>>0)f[q>>2]=g;h=(g|0)==0?1:h+1|0;f[p>>2]=h;g=f[t>>2]|0;if(g>>>0<(f[j>>2]|0)>>>0){f[g>>2]=h;f[t>>2]=g+4}else Gi(s,p);d=d+n|0;if((d|0)>=(c|0))break a;i=f[q>>2]|0}}while(0);f[m>>2]=0;k=m+4|0;f[k>>2]=0;f[m+8>>2]=0;g=f[s>>2]|0;h=(f[t>>2]|0)-g|0;d=h>>2;if(d){if(d>>>0>1073741823)Fp(m);j=an(h)|0;f[k>>2]=j;f[m>>2]=j;f[m+8>>2]=j+(d<<2);d=j;if((h|0)>0){i=j+(h>>>2<<2)|0;Rg(j|0,g|0,h|0)|0;f[k>>2]=i;d=i-d>>2;if((i|0)==(j|0)){i=d;d=j;h=0;g=0}else{h=0;g=0;i=0;do{h=Mn(f[j+(i<<2)>>2]|0,0,h|0,g|0)|0;g=I;i=i+1|0}while(i>>>0>>0);i=d;d=j}}else l=23}else{d=0;l=23}if((l|0)==23){i=0;h=0;g=0}j=Mg(d,i,32,p)|0;l=I;d=f[p>>2]<<3;d=vn(d|0,((d|0)<0)<<31>>31|0,1)|0;i=I;h=$m(h|0,g|0,n|0,0)|0;h=Mn(j|0,l|0,h|0,I|0)|0;h=Mn(h|0,I|0,d|0,i|0)|0;i=I;d=f[m>>2]|0;if(d|0){g=f[k>>2]|0;if((g|0)!=(d|0))f[k>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}m=f[q>>2]|0;k=Mg(a,c,m,p)|0;j=f[p>>2]|0;l=((m-j|0)/64|0)+j<<3;j=j<<3;k=Mn(j|0,((j|0)<0)<<31>>31|0,k|0,I|0)|0;l=Mn(k|0,I|0,l|0,((l|0)<0)<<31>>31|0)|0;k=I;if((i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0|((_((m>>>0>1?m:1)|0)|0)^30)>>>0>17){b[r>>0]=0;q=e+16|0;m=f[q+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[q>>2]|0)>>>0>0)){f[o>>2]=f[e+4>>2];f[p>>2]=f[o>>2];Ke(e,p,r,r+1|0)|0}h=Jc(a,c,n,s,e)|0}else{b[r>>0]=1;n=e+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[o>>2]=f[e+4>>2];f[p>>2]=f[o>>2];Ke(e,p,r,r+1|0)|0}h=ld(a,c,q,e)|0}d=f[s>>2]|0;if(d|0){g=f[t>>2]|0;if((g|0)!=(d|0))f[t>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}t=h;u=v;return t|0}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(c|0){case 0:{l=24;m=-149;i=4;break}case 1:{l=53;m=-1074;i=4;break}case 2:{l=53;m=-1074;i=4;break}default:e=0.0}a:do if((i|0)==4){o=a+4|0;n=a+100|0;do{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0}while((Ip(c)|0)!=0);b:do switch(c|0){case 43:case 45:{g=1-(((c|0)==45&1)<<1)|0;c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0;k=g;break b}else{c=Xi(a)|0;k=g;break b}}default:k=1}while(0);g=c;c=0;do{if((g|32|0)!=(b[23224+c>>0]|0))break;do if(c>>>0<7){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Xi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<8);c:do switch(c|0){case 8:break;case 3:{i=23;break}default:{j=(d|0)!=0;if(j&c>>>0>3)if((c|0)==8)break c;else{i=23;break c}d:do if(!c){c=0;do{if((g|32|0)!=(b[23233+c>>0]|0))break d;do if(c>>>0<2){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Xi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<3)}while(0);switch(c|0){case 3:{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;if((c|0)==40)c=1;else{if(!(f[n>>2]|0)){e=B;break a}f[o>>2]=(f[o>>2]|0)+-1;e=B;break a}while(1){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0}else g=Xi(a)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;c=c+1|0}if((g|0)==41){e=B;break a}g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!j){o=eq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}if(!c){e=B;break a}while(1){c=c+-1|0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!c){e=B;break a}}}case 0:{if((g|0)==48){c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;if((c|32|0)==120){e=+Ec(a,l,m,k,d);break a}if(!(f[n>>2]|0))c=48;else{f[o>>2]=(f[o>>2]|0)+-1;c=48}}else c=g;e=+pb(a,c,l,m,k,d);break a}default:{if(f[n>>2]|0)f[o>>2]=(f[o>>2]|0)+-1;o=eq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}}}}while(0);if((i|0)==23){g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if((d|0)!=0&c>>>0>3)do{if(!g)f[o>>2]=(f[o>>2]|0)+-1;c=c+-1|0}while(c>>>0>3)}e=+$($(k|0)*$(C))}while(0);return +e}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Gi(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))Gi(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Gi(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){Gi(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Oc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>262144){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;ub(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Pc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>131072){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;vb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0} +function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[5954]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=23856+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[5954]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[5956]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=23856+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[5959]|0;b=l>>>3;c=23856+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5956]=g;f[5959]=e;w=h;u=x;return w|0}i=f[5955]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[24120+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=24120+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[5955]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[5959]|0;b=l>>>3;c=23856+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5956]=j;f[5959]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[5955]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[24120+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[24120+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[5956]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=24120+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=23856+(b<<1<<2)|0;a=f[5954]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=24120+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[5956]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[5959]|0;if(a>>>0>15){w=b+m|0;f[5959]=w;f[5956]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[5956]=0;f[5959]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[5957]|0;if(h>>>0>m>>>0){t=h-m|0;f[5957]=t;w=f[5960]|0;v=w+m|0;f[5960]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[6072]|0)){f[6074]=4096;f[6073]=4096;f[6075]=-1;f[6076]=-1;f[6077]=0;f[6065]=0;a=n&-16^1431655768;f[n>>2]=a;f[6072]=a;a=4096}else a=f[6074]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[6064]|0;if(a|0?(l=f[6062]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[6065]&4)){c=f[5960]|0;c:do if(c){e=24264;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=sl(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=sl(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[6073]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[6062]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[6064]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=sl(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[6074]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((sl(a|0)|0)==(-1|0)){sl(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[6065]=f[6065]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=sl(k|0)|0,q=sl(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[6062]|0)+g|0;f[6062]=b;if(b>>>0>(f[6063]|0)>>>0)f[6063]=b;j=f[5960]|0;do if(j){e=24264;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[5957]|0)+(g-w)|0;f[5960]=v;f[5957]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5961]=f[6076];break}if(h>>>0<(f[5958]|0)>>>0)f[5958]=h;c=h+g|0;a=24264;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[5959]|0)){w=(f[5956]|0)+i|0;f[5956]=w;f[5959]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[5954]=f[5954]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=24120+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[5955]=f[5955]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=23856+(b<<1<<2)|0;a=f[5954]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=24120+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[5955]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[5957]|0)+i|0;f[5957]=w;f[5960]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=24264;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[5960]=v;f[5957]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[5961]=f[6076];c=a+4|0;f[c>>2]=27;f[b>>2]=f[6066];f[b+4>>2]=f[6067];f[b+8>>2]=f[6068];f[b+12>>2]=f[6069];f[6066]=h;f[6067]=g;f[6069]=0;f[6068]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=23856+(b<<1<<2)|0;a=f[5954]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=24120+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[5955]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[5958]|0;if((w|0)==0|h>>>0>>0)f[5958]=h;f[6066]=h;f[6067]=g;f[6069]=0;f[5963]=f[6072];f[5962]=-1;b=0;do{w=23856+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[5960]=v;f[5957]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5961]=f[6076]}while(0);b=f[5957]|0;if(b>>>0>m>>>0){t=b-m|0;f[5957]=t;w=f[5960]|0;v=w+m|0;f[5960]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=eq()|0;f[w>>2]=12;w=0;u=x;return w|0}function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(ul(6844,7036,c,b)|0)-6844>>2;a=e;e=0;a:while(1){b=(f[6844+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[6652+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=ul(6652,6844,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function Za(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=u;u=u+112|0;Y=ja+100|0;V=ja+96|0;ia=ja+48|0;fa=ja+32|0;_=ja+104|0;Z=ja+8|0;U=ja+4|0;W=ja;ga=a+8|0;f[ga>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else qi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{T=f[c+(k<<2)>>2]|0;S=(T|0)<(i|0);i=S?T:i;j=S?j:(T|0)>(j|0)?T:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;T=1-i+j|0;f[a+20>>2]=T;i=(T|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(T&1))f[j>>2]=i+-1}R=f[a+48>>2]|0;S=f[a+52>>2]|0;i=ia;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{qi(ia,g);i=f[ia+12>>2]|0;j=f[ia+16>>2]|0}k=ia+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else qi(ia+12|0,g-l|0);l=ia+24|0;k=ia+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else qi(l,g-m|0);l=ia+36|0;k=ia+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else qi(l,g-m|0);f[fa>>2]=0;T=fa+4|0;f[T>>2]=0;f[fa+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(fa);else{P=g<<2;O=an(P)|0;f[fa>>2]=O;Q=O+(g<<2)|0;f[fa+8>>2]=Q;cj(O|0,0,P|0)|0;f[T>>2]=Q;break}while(0);Q=a+56|0;k=f[Q>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;i=l-m|0;a:do if((i|0)>4){j=i>>2;H=R+64|0;B=R+28|0;F=(g|0)>0;G=Z+4|0;O=Z+8|0;P=Z+12|0;L=a+16|0;D=a+32|0;N=a+12|0;M=a+28|0;K=a+20|0;J=a+24|0;C=Z+12|0;E=Z+16|0;I=_+1|0;A=g<<2;i=j+-1|0;if(l-m>>2>>>0>i>>>0){r=m;v=j;da=i}else{z=k;Fp(z)}b:while(1){p=f[r+(da<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;j=0;c:while(1){do{if((i|0)<=-1){y=j;break c}k=f[ia+(j*12|0)>>2]|0;if(((f[(f[R>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(ea=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(ea|0)>=0):0)?(ca=f[B>>2]|0,z=f[S>>2]|0,aa=f[z+(f[ca+(ea<<2)>>2]<<2)>>2]|0,ba=ea+1|0,ba=f[z+(f[ca+((((ba|0)%3|0|0)==0?ea+-2|0:ba)<<2)>>2]<<2)>>2]|0,ca=f[z+(f[ca+((((ea>>>0)%3|0|0)==0?2:-1)+ea<<2)>>2]<<2)>>2]|0,(aa|0)<(da|0)&(ba|0)<(da|0)&(ca|0)<(da|0)):0){m=X(aa,g)|0;n=X(ba,g)|0;e=X(ca,g)|0;if(F){l=0;do{f[k+(l<<2)>>2]=(f[c+(l+e<<2)>>2]|0)+(f[c+(l+n<<2)>>2]|0)-(f[c+(l+m<<2)>>2]|0);l=l+1|0}while((l|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break c}}do if(o){k=i+1|0;i=((k|0)%3|0|0)==0?i+-2|0:k;k=f[R>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;l=i+1|0;if((i|0)>=0)i=((l|0)%3|0|0)==0?i+-2|0:l}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;k=f[R>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){y=j;break c}}while(!(o&(i|0)<0));i=(t&f[k+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[H>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}z=X(da,g)|0;f[Z>>2]=2147483647;b[G>>0]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;k=X(v+-2|0,g)|0;if(F){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[Z>>2]=i;b[G>>0]=0;f[O>>2]=0;x=c+(k<<2)|0;Qf(P,x,x+(g<<2)|0);if((y|0)>=1){p=_+y|0;v=p+-1|0;r=(v|0)==(_|0);t=p+-2|0;q=I>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>_>>>0;w=0;x=1;while(1){w=w+1|0;cj(_|0,1,o|0)|0;cj(_|0,0,w|0)|0;d:while(1){if(F){cj(f[fa>>2]|0,0,A|0)|0;l=f[fa>>2]|0;i=0;m=0;do{if(!(b[_+m>>0]|0)){j=f[ia+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[Z>>2]|0)){f[Z>>2]=j;b[G>>0]=i;f[O>>2]=x;f[U>>2]=f[fa>>2];f[W>>2]=f[T>>2];f[V>>2]=f[U>>2];f[Y>>2]=f[W>>2];Df(P,V,Y)}if(r)break;$=b[v>>0]|0;m=$;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==(_|0)){ha=78;break d}else n=i}i=p+n|0;if((m&255)<($&255)){k=$;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue d}}if(((ha|0)==78?(ha=0,s):0)?(e=b[_>>0]|0,b[_>>0]=$,b[v>>0]=e,q):0){i=t;j=I;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[G>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){ha=105;break b}x=j<<6;w=i+32&-32;gi(n,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[ga>>2]|0;if((j|0)>0){i=f[P>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[L>>2]|0;if((j|0)>(k|0)){j=f[D>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[N>>2]|0;z=f[D>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[ga>>2]|0));l=j}else l=f[D>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[M>>2]|0)){if((j|0)>(f[J>>2]|0)){j=j-(f[K>>2]|0)|0;ha=95}}else{j=(f[K>>2]|0)+j|0;ha=95}if((ha|0)==95){ha=0;f[k>>2]=j}n=n+1|0;j=f[ga>>2]|0}while((n|0)<(j|0))}else i=f[C>>2]|0;if(i|0){j=f[E>>2]|0;if((j|0)!=(i|0))f[E>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}if((da|0)<=1)break a;i=f[Q>>2]|0;r=f[i>>2]|0;j=da+-1|0;if((f[i+4>>2]|0)-r>>2>>>0<=j>>>0){ha=20;break}else{v=da;da=j}}if((ha|0)==20)Fp(i);else if((ha|0)==100)Fp(n);else if((ha|0)==105)Fp(n)}while(0);k=f[ia>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[ga>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[ga>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ha=127}}else{i=(f[o>>2]|0)+i|0;ha=127}if((ha|0)==127){ha=0;f[j>>2]=i}m=m+1|0;i=f[ga>>2]|0}while((m|0)<(i|0))}i=f[fa>>2]|0;if(i|0){j=f[T>>2]|0;if((j|0)!=(i|0))f[T>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[ia+36>>2]|0;if(i|0){k=ia+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[ia+24>>2]|0;if(i|0){k=ia+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[ia+12>>2]|0;if(i|0){k=ia+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}k=f[ia>>2]|0;if(!k){u=ja;return 1}j=ia+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);pq(k);u=ja;return 1}function _a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=u;u=u+112|0;W=ea+100|0;U=ea+96|0;da=ea+48|0;aa=ea+32|0;Z=ea+104|0;Y=ea+8|0;T=ea+4|0;V=ea;ba=a+8|0;f[ba>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else qi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{S=f[c+(k<<2)>>2]|0;R=(S|0)<(i|0);i=R?S:i;j=R?j:(S|0)>(j|0)?S:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;S=1-i+j|0;f[a+20>>2]=S;i=(S|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(S&1))f[j>>2]=i+-1}Q=f[a+48>>2]|0;R=f[a+52>>2]|0;i=da;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{qi(da,g);i=f[da+12>>2]|0;j=f[da+16>>2]|0}k=da+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else qi(da+12|0,g-l|0);l=da+24|0;k=da+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else qi(l,g-m|0);l=da+36|0;k=da+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else qi(l,g-m|0);f[aa>>2]=0;S=aa+4|0;f[S>>2]=0;f[aa+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(aa);else{O=g<<2;N=an(O)|0;f[aa>>2]=N;P=N+(g<<2)|0;f[aa+8>>2]=P;cj(N|0,0,O|0)|0;f[S>>2]=P;break}while(0);P=a+56|0;k=f[P>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;i=l-m|0;a:do if((i|0)>4){j=i>>2;B=Q+12|0;F=(g|0)>0;G=Y+4|0;N=Y+8|0;O=Y+12|0;K=a+16|0;D=a+32|0;M=a+12|0;L=a+28|0;J=a+20|0;I=a+24|0;C=Y+12|0;E=Y+16|0;H=Z+1|0;A=g<<2;i=j+-1|0;if(l-m>>2>>>0>i>>>0){r=m;x=j;$=i}else{z=k;Fp(z)}b:while(1){t=f[r+($<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;j=0;c:while(1){do{if((i|0)<=-1){y=j;break c}p=f[da+(j*12|0)>>2]|0;q=f[B>>2]|0;l=f[q+(i<<2)>>2]|0;if((l|0)>=0){m=f[Q>>2]|0;n=f[R>>2]|0;o=f[n+(f[m+(l<<2)>>2]<<2)>>2]|0;k=l+1|0;k=((k|0)%3|0|0)==0?l+-2|0:k;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;e=f[n+(k<<2)>>2]|0;k=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;k=f[n+(k<<2)>>2]|0;if((o|0)<($|0)&(e|0)<($|0)&(k|0)<($|0)){n=X(o,g)|0;m=X(e,g)|0;l=X(k,g)|0;if(F){k=0;do{f[p+(k<<2)>>2]=(f[c+(k+l<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+n<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break c}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){y=j;break c}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}z=X($,g)|0;f[Y>>2]=2147483647;b[G>>0]=0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;k=X(x+-2|0,g)|0;if(F){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[Y>>2]=i;b[G>>0]=0;f[N>>2]=0;x=c+(k<<2)|0;Qf(O,x,x+(g<<2)|0);if((y|0)>=1){p=Z+y|0;v=p+-1|0;r=(v|0)==(Z|0);t=p+-2|0;q=H>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>Z>>>0;w=0;x=1;while(1){w=w+1|0;cj(Z|0,1,o|0)|0;cj(Z|0,0,w|0)|0;d:while(1){if(F){cj(f[aa>>2]|0,0,A|0)|0;l=f[aa>>2]|0;i=0;m=0;do{if(!(b[Z+m>>0]|0)){j=f[da+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[Y>>2]|0)){f[Y>>2]=j;b[G>>0]=i;f[N>>2]=x;f[T>>2]=f[aa>>2];f[V>>2]=f[S>>2];f[U>>2]=f[T>>2];f[W>>2]=f[V>>2];Df(O,U,W)}if(r)break;_=b[v>>0]|0;m=_;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==(Z|0)){ca=79;break d}else n=i}i=p+n|0;if((m&255)<(_&255)){k=_;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue d}}if(((ca|0)==79?(ca=0,s):0)?(e=b[Z>>0]|0,b[Z>>0]=_,b[v>>0]=e,q):0){i=t;j=H;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[G>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){ca=106;break b}x=j<<6;w=i+32&-32;gi(n,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[ba>>2]|0;if((j|0)>0){i=f[O>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[K>>2]|0;if((j|0)>(k|0)){j=f[D>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[M>>2]|0;z=f[D>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[ba>>2]|0));l=j}else l=f[D>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[L>>2]|0)){if((j|0)>(f[I>>2]|0)){j=j-(f[J>>2]|0)|0;ca=96}}else{j=(f[J>>2]|0)+j|0;ca=96}if((ca|0)==96){ca=0;f[k>>2]=j}n=n+1|0;j=f[ba>>2]|0}while((n|0)<(j|0))}else i=f[C>>2]|0;if(i|0){j=f[E>>2]|0;if((j|0)!=(i|0))f[E>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}if(($|0)<=1)break a;i=f[P>>2]|0;r=f[i>>2]|0;j=$+-1|0;if((f[i+4>>2]|0)-r>>2>>>0<=j>>>0){ca=20;break}else{x=$;$=j}}if((ca|0)==20)Fp(i);else if((ca|0)==101)Fp(n);else if((ca|0)==106)Fp(n)}while(0);k=f[da>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[ba>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[ba>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ca=128}}else{i=(f[o>>2]|0)+i|0;ca=128}if((ca|0)==128){ca=0;f[j>>2]=i}m=m+1|0;i=f[ba>>2]|0}while((m|0)<(i|0))}i=f[aa>>2]|0;if(i|0){j=f[S>>2]|0;if((j|0)!=(i|0))f[S>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[da+36>>2]|0;if(i|0){k=da+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[da+24>>2]|0;if(i|0){k=da+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[da+12>>2]|0;if(i|0){k=da+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}k=f[da>>2]|0;if(!k){u=ea;return 1}j=da+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);pq(k);u=ea;return 1}function $a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=u;u=u+112|0;S=da+100|0;Q=da+96|0;ca=da+48|0;V=da+32|0;U=da+104|0;T=da+8|0;P=da+4|0;R=da;N=f[a+28>>2]|0;O=f[a+32>>2]|0;i=ca;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{qi(ca,g);i=f[ca+12>>2]|0;e=f[ca+16>>2]|0}j=ca+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else qi(ca+12|0,g-k|0);k=ca+24|0;j=ca+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else qi(k,g-l|0);k=ca+36|0;j=ca+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else qi(k,g-l|0);f[V>>2]=0;M=V+4|0;f[M>>2]=0;f[V+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(V);else{K=g<<2;J=an(K)|0;f[V>>2]=J;L=J+(g<<2)|0;f[V+8>>2]=L;cj(J|0,0,K|0)|0;f[M>>2]=L;break}while(0);L=a+36|0;j=f[L>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;i=k-l|0;a:do if((i|0)>4){e=i>>2;G=N+64|0;B=N+28|0;E=(g|0)>0;F=T+4|0;I=T+8|0;J=T+12|0;K=a+8|0;C=T+12|0;D=T+16|0;H=U+1|0;A=g<<2;i=e+-1|0;if(k-l>>2>>>0>i>>>0){o=l;v=e;$=i}else{z=j;Fp(z)}b:while(1){p=f[o+($<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;e=0;c:while(1){do{if((i|0)<=-1){z=e;break c}j=f[ca+(e*12|0)>>2]|0;if(((f[(f[N>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(aa=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(aa|0)>=0):0)?(_=f[B>>2]|0,z=f[O>>2]|0,Y=f[z+(f[_+(aa<<2)>>2]<<2)>>2]|0,Z=aa+1|0,Z=f[z+(f[_+((((Z|0)%3|0|0)==0?aa+-2|0:Z)<<2)>>2]<<2)>>2]|0,_=f[z+(f[_+((((aa>>>0)%3|0|0)==0?2:-1)+aa<<2)>>2]<<2)>>2]|0,(Y|0)<($|0)&(Z|0)<($|0)&(_|0)<($|0)):0){l=X(Y,g)|0;m=X(Z,g)|0;n=X(_,g)|0;if(E){k=0;do{f[j+(k<<2)>>2]=(f[c+(k+n<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+l<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break c}}do if(o){j=i+1|0;i=((j|0)%3|0|0)==0?i+-2|0:j;j=f[N>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;j=f[N>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){z=e;break c}}while(!(o&(i|0)<0));i=(t&f[j+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[G>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}y=X($,g)|0;f[T>>2]=2147483647;b[F>>0]=0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;j=X(v+-2|0,g)|0;if(E){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[T>>2]=i;b[F>>0]=0;f[I>>2]=0;x=c+(j<<2)|0;Qf(J,x,x+(g<<2)|0);if((z|0)>=1){p=U+z|0;v=p+-1|0;r=(v|0)==(U|0);t=p+-2|0;q=H>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>U>>>0;w=0;x=1;while(1){w=w+1|0;cj(U|0,1,o|0)|0;cj(U|0,0,w|0)|0;d:while(1){if(E){cj(f[V>>2]|0,0,A|0)|0;k=f[V>>2]|0;i=0;l=0;do{if(!(b[U+l>>0]|0)){e=f[ca+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[T>>2]|0)){f[T>>2]=e;b[F>>0]=i;f[I>>2]=x;f[P>>2]=f[V>>2];f[R>>2]=f[M>>2];f[Q>>2]=f[P>>2];f[S>>2]=f[R>>2];Df(J,Q,S)}if(r)break;W=b[v>>0]|0;l=W;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(U|0)){ba=69;break d}else m=i}i=p+m|0;if((l&255)<(W&255)){j=W;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue d}}if(((ba|0)==69?(ba=0,s):0)?(n=b[U>>0]|0,b[U>>0]=W,b[v>>0]=n,q):0){i=t;e=H;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[F>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){ba=82;break b}x=e<<6;w=i+32&-32;gi(m,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}ai(K,c+(y<<2)|0,f[J>>2]|0,d+(y<<2)|0);i=f[C>>2]|0;if(i|0){e=f[D>>2]|0;if((e|0)!=(i|0))f[D>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}if(($|0)<=1)break a;i=f[L>>2]|0;o=f[i>>2]|0;e=$+-1|0;if((f[i+4>>2]|0)-o>>2>>>0<=e>>>0){ba=11;break}else{v=$;$=e}}if((ba|0)==11)Fp(i);else if((ba|0)==77)Fp(m);else if((ba|0)==82)Fp(m)}while(0);if((g|0)>0)cj(f[ca>>2]|0,0,g<<2|0)|0;ai(a+8|0,c,f[ca>>2]|0,d);i=f[V>>2]|0;if(i|0){e=f[M>>2]|0;if((e|0)!=(i|0))f[M>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[ca+36>>2]|0;if(i|0){j=ca+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[ca+24>>2]|0;if(i|0){j=ca+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[ca+12>>2]|0;if(i|0){j=ca+16|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}j=f[ca>>2]|0;if(!j){u=da;return 1}e=ca+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);pq(j);u=da;return 1}function ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=Ka;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=$m(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=Mn(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=$m(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=Mn(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function bb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;_=u;u=u+112|0;R=_+100|0;P=_+96|0;Z=_+48|0;U=_+32|0;T=_+104|0;S=_+8|0;O=_+4|0;Q=_;M=f[a+28>>2]|0;N=f[a+32>>2]|0;i=Z;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{qi(Z,g);i=f[Z+12>>2]|0;e=f[Z+16>>2]|0}j=Z+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else qi(Z+12|0,g-k|0);k=Z+24|0;j=Z+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else qi(k,g-l|0);k=Z+36|0;j=Z+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else qi(k,g-l|0);f[U>>2]=0;L=U+4|0;f[L>>2]=0;f[U+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(U);else{J=g<<2;I=an(J)|0;f[U>>2]=I;K=I+(g<<2)|0;f[U+8>>2]=K;cj(I|0,0,J|0)|0;f[L>>2]=K;break}while(0);K=a+36|0;j=f[K>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;i=k-l|0;a:do if((i|0)>4){e=i>>2;B=M+12|0;E=(g|0)>0;F=S+4|0;H=S+8|0;I=S+12|0;J=a+8|0;C=S+12|0;D=S+16|0;G=T+1|0;A=g<<2;i=e+-1|0;if(k-l>>2>>>0>i>>>0){o=l;x=e;W=i}else{z=j;Fp(z)}b:while(1){t=f[o+(W<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;e=0;c:while(1){do{if((i|0)<=-1){z=e;break c}p=f[Z+(e*12|0)>>2]|0;q=f[B>>2]|0;k=f[q+(i<<2)>>2]|0;if((k|0)>=0){l=f[M>>2]|0;m=f[N>>2]|0;o=f[m+(f[l+(k<<2)>>2]<<2)>>2]|0;j=k+1|0;j=((j|0)%3|0|0)==0?k+-2|0:j;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;n=f[m+(j<<2)>>2]|0;j=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;j=f[m+(j<<2)>>2]|0;if((o|0)<(W|0)&(n|0)<(W|0)&(j|0)<(W|0)){m=X(o,g)|0;l=X(n,g)|0;k=X(j,g)|0;if(E){j=0;do{f[p+(j<<2)>>2]=(f[c+(j+k<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+m<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break c}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;j=i+1|0;if((i|0)>=0)i=((j|0)%3|0|0)==0?i+-2|0:j}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){z=e;break c}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}y=X(W,g)|0;f[S>>2]=2147483647;b[F>>0]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;j=X(x+-2|0,g)|0;if(E){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[S>>2]=i;b[F>>0]=0;f[H>>2]=0;x=c+(j<<2)|0;Qf(I,x,x+(g<<2)|0);if((z|0)>=1){p=T+z|0;v=p+-1|0;r=(v|0)==(T|0);t=p+-2|0;q=G>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>T>>>0;w=0;x=1;while(1){w=w+1|0;cj(T|0,1,o|0)|0;cj(T|0,0,w|0)|0;d:while(1){if(E){cj(f[U>>2]|0,0,A|0)|0;k=f[U>>2]|0;i=0;l=0;do{if(!(b[T+l>>0]|0)){e=f[Z+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[S>>2]|0)){f[S>>2]=e;b[F>>0]=i;f[H>>2]=x;f[O>>2]=f[U>>2];f[Q>>2]=f[L>>2];f[P>>2]=f[O>>2];f[R>>2]=f[Q>>2];Df(I,P,R)}if(r)break;V=b[v>>0]|0;l=V;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(T|0)){Y=70;break d}else m=i}i=p+m|0;if((l&255)<(V&255)){j=V;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue d}}if(((Y|0)==70?(Y=0,s):0)?(n=b[T>>0]|0,b[T>>0]=V,b[v>>0]=n,q):0){i=t;e=G;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[F>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){Y=83;break b}x=e<<6;w=i+32&-32;gi(m,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}ai(J,c+(y<<2)|0,f[I>>2]|0,d+(y<<2)|0);i=f[C>>2]|0;if(i|0){e=f[D>>2]|0;if((e|0)!=(i|0))f[D>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}if((W|0)<=1)break a;i=f[K>>2]|0;o=f[i>>2]|0;e=W+-1|0;if((f[i+4>>2]|0)-o>>2>>>0<=e>>>0){Y=11;break}else{x=W;W=e}}if((Y|0)==11)Fp(i);else if((Y|0)==78)Fp(m);else if((Y|0)==83)Fp(m)}while(0);if((g|0)>0)cj(f[Z>>2]|0,0,g<<2|0)|0;ai(a+8|0,c,f[Z>>2]|0,d);i=f[U>>2]|0;if(i|0){e=f[L>>2]|0;if((e|0)!=(i|0))f[L>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[Z+36>>2]|0;if(i|0){j=Z+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[Z+24>>2]|0;if(i|0){j=Z+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[Z+12>>2]|0;if(i|0){j=Z+16|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}j=f[Z>>2]|0;if(!j){u=_;return 1}e=Z+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);pq(j);u=_;return 1}function cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;L=Q+36|0;J=Q+32|0;P=Q;I=Q+28|0;K=Q+24|0;M=a+8|0;i=f[M>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{N=i<<2;e=an(N)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;cj(e|0,0,N|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);H=a+1164|0;m=f[H>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[M>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{N=i<<2;g=an(N)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;cj(g|0,0,N|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);D=a+1176|0;j=f[D>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;G=P+4|0;F=P+16|0;E=P+20|0;Gc(P);d=f[G>>2]|0;e=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[E>>2]|0)+1|0;f[E>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[F>>2]|0;e=d+-1|0;t=s+e|0;v=f[G>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;j=r+(t*20|0)|0;n=f[j>>2]|0;j=f[j+4>>2]|0;h=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[E>>2]=e;e=f[N>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}f[b>>2]=n;f[c>>2]=j;k=f[H>>2]|0;l=k+(t*12|0)|0;m=(f[D>>2]|0)+(t*12|0)|0;f[I>>2]=n;f[K>>2]=j;g=j;i=n;f[J>>2]=f[I>>2];f[L>>2]=f[K>>2];e=Td(a,J,L,l,m,h)|0;j=j-n|0;s=(j|0)/12|0;d=(f[a>>2]|0)-(f[(f[m>>2]|0)+(e<<2)>>2]|0)|0;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[M>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[M>>2]|0}while(g>>>0>>0)}if(!j){O=77;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[m>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[M>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){O=77;break c}}}m=1<>2]|0;d=f[l>>2]|0;k=d;j=f[(f[H>>2]|0)+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+m|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[N>>2]|0;i=f[G>>2]|0;s=j-i>>2;d=f[F>>2]|0;h=f[E>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(P);d=f[F>>2]|0;h=f[E>>2]|0;j=f[N>>2]|0;i=f[G>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[E>>2]=(f[E>>2]|0)+1}if((g|0)!=(n|0)){i=f[N>>2]|0;h=f[G>>2]|0;t=i-h>>2;d=f[F>>2]|0;g=f[E>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(P);d=f[F>>2]|0;g=f[E>>2]|0;i=f[N>>2]|0;h=f[G>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[E>>2]|0)+1|0;f[E>>2]=d}else O=77}else O=77;while(0);if((O|0)==77){O=0;d=f[E>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[G>>2]|0;e=f[F>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[N>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[E>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[G>>2]|0)+4|0;f[G>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;O=91;break}case 2:{e=204;O=91;break}default:{}}if((O|0)==91)f[F>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[G>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}pq(d);u=Q;return}function db(a){a=a|0;var c=0,d=0,e=0,g=Ka,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=Ka;U=u;u=u+64|0;T=U+28|0;R=U+16|0;P=U+4|0;M=U;S=a;N=a+80|0;c=f[N>>2]|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;f[T+16>>2]=S;I=T+20|0;n[I>>2]=$(1.0);f[T+24>>2]=S;th(T,c);c=f[N>>2]|0;f[R>>2]=0;S=R+4|0;f[S>>2]=0;f[R+8>>2]=0;do if(c|0)if(c>>>0>1073741823)Fp(R);else{H=c<<2;G=an(H)|0;f[R>>2]=G;Q=G+(c<<2)|0;f[R+8>>2]=Q;cj(G|0,0,H|0)|0;f[S>>2]=Q;break}while(0);f[P>>2]=0;Q=P+4|0;f[Q>>2]=0;f[P+8>>2]=0;f[M>>2]=0;a:do if((c|0)>0){G=T+16|0;E=T+4|0;F=T+12|0;D=T+8|0;C=P+8|0;H=T+24|0;c=0;A=0;b:while(1){x=f[G>>2]|0;k=f[x+8>>2]|0;x=(f[x+12>>2]|0)-k|0;w=(x|0)>0;if(w){i=k;l=x>>>2;d=0;j=0;do{e=f[i+(j<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;j=j+1|0}while((j|0)<(l|0));v=d}else v=0;y=f[E>>2]|0;z=(y|0)==0;c:do if(!z){q=y+-1|0;e=(q&y|0)==0;if(!e)if(v>>>0>>0)t=v;else t=(v>>>0)%(y>>>0)|0;else t=q&v;d=f[(f[T>>2]|0)+(t<<2)>>2]|0;if((d|0)!=0?(L=f[d>>2]|0,(L|0)!=0):0){r=f[H>>2]|0;s=r+8|0;r=r+12|0;d:do if(e){d=L;while(1){p=f[d+4>>2]|0;e=(p|0)==(v|0);if(!(e|(p&q|0)==(t|0))){B=50;break c}e:do if(e){p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){B=44;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break e;if((m|0)>=(o|0)){B=48;break d}}}while(0);d=f[d>>2]|0;if(!d){B=50;break c}}}else{d=L;while(1){e=f[d+4>>2]|0;f:do if((e|0)!=(v|0)){if(e>>>0>=y>>>0)e=(e>>>0)%(y>>>0)|0;if((e|0)!=(t|0)){B=50;break c}}else{p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){B=44;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break f;if((m|0)>=(o|0)){B=48;break d}}}while(0);d=f[d>>2]|0;if(!d){B=50;break c}}}while(0);if((B|0)==48){B=0;if(!d){B=50;break}}f[(f[R>>2]|0)+(c<<2)>>2]=f[d+12>>2];e=A}else B=50}else B=50;while(0);do if((B|0)==50){B=0;if(w){j=x>>>2;d=0;i=0;do{e=f[k+(i<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;i=i+1|0}while((i|0)<(j|0));t=d}else t=0;g:do if(!z){p=y+-1|0;e=(p&y|0)==0;if(!e)if(t>>>0>>0)s=t;else s=(t>>>0)%(y>>>0)|0;else s=p&t;d=f[(f[T>>2]|0)+(s<<2)>>2]|0;if((d|0)!=0?(K=f[d>>2]|0,(K|0)!=0):0){q=f[H>>2]|0;r=q+8|0;q=q+12|0;if(e){m=K;while(1){x=f[m+4>>2]|0;if(!((x|0)==(t|0)|(x&p|0)==(s|0))){d=s;B=89;break g}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break g;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){B=85;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break g}m=f[m>>2]|0;if(!m){d=s;B=89;break g}}}else o=K;while(1){d=f[o+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=y>>>0)d=(d>>>0)%(y>>>0)|0;if((d|0)!=(s|0)){d=s;B=89;break g}}m=f[o+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break g;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(m<<2)>>2]|0;else j=m;if((l|0)<=(k|0)){B=85;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break g}o=f[o>>2]|0;if(!o){d=s;B=89;break}}}else{d=s;B=89}}else{d=0;B=89}while(0);if((B|0)==89){B=0;i=an(16)|0;f[i+8>>2]=c;f[i+12>>2]=A;f[i+4>>2]=t;f[i>>2]=0;h=$(((f[F>>2]|0)+1|0)>>>0);V=$(y>>>0);g=$(n[I>>2]);do if(z|h>$(V*g)){c=(y>>>0<3|(y+-1&y|0)!=0)&1|y<<1;d=~~$(W($(h/g)))>>>0;th(T,c>>>0>>0?d:c);c=f[E>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&t;break}if(t>>>0>>0){e=c;c=t}else{e=c;c=(t>>>0)%(c>>>0)|0}}else{e=y;c=d}while(0);d=(f[T>>2]|0)+(c<<2)|0;c=f[d>>2]|0;if(!c){f[i>>2]=f[D>>2];f[D>>2]=i;f[d>>2]=D;c=f[i>>2]|0;if(c|0){c=f[c+4>>2]|0;d=e+-1|0;if(d&e){if(c>>>0>=e>>>0)c=(c>>>0)%(e>>>0)|0}else c=c&d;c=(f[T>>2]|0)+(c<<2)|0;B=102}}else{f[i>>2]=f[c>>2];B=102}if((B|0)==102){B=0;f[c>>2]=i}f[F>>2]=(f[F>>2]|0)+1;c=f[M>>2]|0}e=A+1|0;f[(f[R>>2]|0)+(c<<2)>>2]=A;c=f[Q>>2]|0;if((c|0)==(f[C>>2]|0)){Gi(P,M);break}else{f[c>>2]=f[M>>2];f[Q>>2]=c+4;break}}while(0);c=(f[M>>2]|0)+1|0;f[M>>2]=c;d=f[N>>2]|0;if((c|0)>=(d|0)){J=d;O=e;break a}else A=e}if((B|0)==44)ra(20748,20641,68,20738);else if((B|0)==85)ra(20748,20641,68,20738)}else{J=0;O=0}while(0);if((O|0)!=(J|0)){Ta[f[(f[a>>2]|0)+24>>2]&15](a,R,P);f[N>>2]=O}c=f[P>>2]|0;if(c|0){d=f[Q>>2]|0;if((d|0)!=(c|0))f[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}c=f[R>>2]|0;if(c|0){d=f[S>>2]|0;if((d|0)!=(c|0))f[S>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}c=f[T+8>>2]|0;if(c|0)do{S=c;c=f[c>>2]|0;pq(S)}while((c|0)!=0);c=f[T>>2]|0;f[T>>2]=0;if(!c){u=U;return}pq(c);u=U;return}function eb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=u;u=u+64|0;T=W+56|0;U=W+52|0;N=W+48|0;i=W+60|0;V=W;F=W+44|0;G=W+40|0;C=W+36|0;D=W+32|0;E=W+28|0;M=W+24|0;O=W+20|0;P=W+16|0;R=W+12|0;if(!(b[a+288>>0]|0)){tf(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){oj(d);pq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){oj(d);pq(d)}}else f[T>>2]=0}else{Qh(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){oj(d);pq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){oj(d);pq(d)}}else f[T>>2]=0}A=a+12|0;d=f[A>>2]|0;if(!d){V=0;u=W;return V|0}K=a+200|0;f[a+264>>2]=a;S=a+4|0;Rh(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2)-(f[d+44>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=f[A>>2]|0;Rh((((f[I+4>>2]|0)-(f[I>>2]|0)>>2>>>0)/3|0)-(f[I+40>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=a+28|0;H=a+8|0;h=f[H>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[T>>0]=0;Zg(I,h,T);h=f[A>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[T>>2]=-1;bg(a+52|0,h,T);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);z=f[A>>2]|0;z=(f[z+4>>2]|0)-(f[z>>2]|0)>>2;Jj(h,z-((z>>>0)%3|0)|0);z=a+84|0;y=f[A>>2]|0;y=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2;b[T>>0]=0;Zg(z,y,T);y=a+96|0;d=f[y>>2]|0;x=a+100|0;e=f[x>>2]|0;if((e|0)!=(d|0))f[x>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;B=a+168|0;f[B>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{w=d;d=f[d>>2]|0;pq(w)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[A>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[T>>2]=-1;bg(a+152|0,v,T);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);w=f[A>>2]|0;Jj(v,((f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Wd(a)|0)){V=0;u=W;return V|0}if(!(Uf(a)|0)){V=0;u=W;return V|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[S>>2]|0)+44>>2]|0;w=e+16|0;t=f[w+4>>2]|0;if(!((t|0)>0|(t|0)==0&(f[w>>2]|0)>>>0>0)){f[U>>2]=f[e+4>>2];f[T>>2]=f[U>>2];Ke(e,T,i,i+1|0)|0;d=b[i>>0]|0}t=a+284|0;f[t>>2]=d&255;o=f[A>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Ki(K);f[V>>2]=0;w=V+4|0;f[w>>2]=0;f[V+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=V+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[I>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[A>>2]|0,f[F>>2]=d,f[T>>2]=f[F>>2],!(Dj(l,T)|0)):0){f[U>>2]=0;f[G>>2]=d;f[T>>2]=f[G>>2];i=Je(a,T,U)|0;$i(K,i);d=f[U>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[A>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[z>>2]|0;X=i+(e>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[T>>2]=1;e=f[x>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[x>>2]=e+4}else Gi(y,T);h=(f[I>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[T>>2]=g;e=f[w>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[w>>2]=e+4}else Gi(V,T);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[A>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;X=(e|0)<0;d=X?-1073741824:(e>>>0)/3|0;if(X)break;if(f[(f[I>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[C>>2]=e;f[T>>2]=f[C>>2];if(!(Zb(a,T)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[D>>2]=d;f[T>>2]=f[D>>2];Ge(a,T,1)|0;f[E>>2]=f[U>>2];f[T>>2]=f[E>>2];if(!(Zb(a,T)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){J=61;break a}}e=0}else J=61;while(0);if((J|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{X=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=X;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[V>>2];f[P>>2]=f[w>>2];f[N>>2]=f[M>>2];f[U>>2]=f[O>>2];f[T>>2]=f[P>>2];Ud(v,N,U,T)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[H>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[T>>0]=0,Zg(I,c,T),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[T>>2]=f[R>>2];kg(a,T)|0;c=c+4|0}while((c|0)!=(Q|0));$g(K);e=a+232|0;ed(K,e);d=a+280|0;c=f[d>>2]|0;if((c|0?(f[t>>2]|0)>0:0)?(ed(c,e),(f[t>>2]|0)>1):0){c=1;do{ed((f[d>>2]|0)+(c<<5)|0,e);c=c+1|0}while((c|0)<(f[t>>2]|0))}Rh((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[S>>2]|0)+44>>2]|0)|0;Rh(f[B>>2]|0,f[(f[S>>2]|0)+44>>2]|0)|0;if(Ig(a)|0){d=f[(f[S>>2]|0)+44>>2]|0;c=f[e>>2]|0;X=d+16|0;S=f[X+4>>2]|0;if(!((S|0)>0|(S|0)==0&(f[X>>2]|0)>>>0>0)){X=(f[a+236>>2]|0)-c|0;f[U>>2]=f[d+4>>2];f[T>>2]=f[U>>2];Ke(d,T,c,c+X|0)|0}e=1}else e=0}c=f[V>>2]|0;if(c|0){d=f[w>>2]|0;if((d|0)!=(c|0))f[w>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}X=e;u=W;return X|0}function fb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+1328|0;x=z+1304|0;w=z+1296|0;y=z;g=z+1284|0;l=z+1280|0;t=z+1316|0;p=z+1288|0;q=z+72|0;n=z+1268|0;i=z+64|0;j=z+56|0;k=z+80|0;d=f[a+4>>2]|0;if(((f[a+8>>2]|0)-d|0)!=4){y=0;u=z;return y|0}m=f[d>>2]|0;s=a+28|0;e=f[s>>2]|0;d=f[e+4>>2]|0;if((m|0)<=-1)ra(20625,20641,59,20738);a=f[d+8>>2]|0;if(((f[d+12>>2]|0)-a>>2|0)<=(m|0))ra(20748,20641,60,20738);r=f[a+(m<<2)>>2]|0;if((b[r+24>>0]|0)!=3){y=0;u=z;return y|0}e=10-(fi(f[e+48>>2]|0)|0)|0;e=(e|0)<6?e:6;b[t>>0]=e;if((e&255)>>>0>=7)ra(7578,7605,92,7729);a:do switch(f[r+28>>2]|0){case 9:{i=f[(f[s>>2]|0)+48>>2]|0;d=an(32)|0;f[x>>2]=d;f[x+8>>2]=-2147483616;f[x+4>>2]=17;a=d;e=17860;g=a+17|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));b[d+17>>0]=0;g=i+16|0;a=f[g>>2]|0;if(a){d=g;b:while(1){e=a;while(1){if((f[e+16>>2]|0)>=(m|0))break;a=f[e+4>>2]|0;if(!a)break b;else e=a}a=f[e>>2]|0;if(!a){d=e;break}else d=e}if(((d|0)!=(g|0)?(m|0)>=(f[d+16>>2]|0):0)?(o=d+20|0,(Oh(o,x)|0)!=0):0)e=Bk(o,x,-1)|0;else v=19}else v=19;if((v|0)==19)e=Bk(i,x,-1)|0;if((b[x+11>>0]|0)<0)pq(f[x>>2]|0);if((e|0)>=1){b[y>>0]=0;g=c+16|0;d=g;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,t,t+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}f[y>>2]=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2];if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+4|0)|0}Dl(y,1,e,h[t>>0]|0);f[p>>2]=r;f[p+4>>2]=0;t=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2]|0;s=q;f[s>>2]=r;f[s+4>>2]=0;f[q+4>>2]=t;f[w>>2]=f[p>>2];f[w+4>>2]=f[p+4>>2];f[x>>2]=f[q>>2];f[x+4>>2]=f[q+4>>2];if(xd(y,w,x)|0){d=f[y+16>>2]|0;t=g;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[y+20>>2]|0)-d|0;f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,d,d+t|0)|0}e=0}else e=1;c=y+28|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)pq(d);a=f[y+16>>2]|0;if(a|0){d=y+20|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;pq(a)}if(!e)v=64;else d=0}else d=0;break}case 6:{b[y>>0]=1;e=c+16|0;d=e;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+1|0)|0;a=e;d=f[a+4>>2]|0;a=f[a>>2]|0}if((d|0)>0|(d|0)==0&a>>>0>0)e=d;else{f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,t,t+1|0)|0;a=e;e=f[a+4>>2]|0;a=f[a>>2]|0}d=f[s>>2]|0;f[y>>2]=f[(f[d+4>>2]|0)+80>>2];if(!((e|0)>0|(e|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+4|0)|0;d=f[s>>2]|0}f[i>>2]=r;f[i+4>>2]=0;v=f[(f[d+4>>2]|0)+80>>2]|0;s=j;f[s>>2]=r;f[s+4>>2]=0;f[j+4>>2]=v;f[w>>2]=f[i>>2];f[w+4>>2]=f[i+4>>2];f[x>>2]=f[j>>2];f[x+4>>2]=f[j+4>>2];Og(n,w,x);switch(b[t>>0]|0){case 6:{Me(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=We(k,w,x,l,c)|0;Ve(k);if(y)v=54;else v=59;break}case 5:{Me(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(k,w,x,l,c)|0;Ve(k);if(y)v=54;else v=59;break}case 4:{Me(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(k,w,x,l,c)|0;Ve(k);if(y)v=54;else v=59;break}case 3:{Ne(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=rf(k,w,x,l,c)|0;kf(k);if(y)v=54;else v=59;break}case 2:{Ne(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=rf(k,w,x,l,c)|0;kf(k);if(y)v=54;else v=59;break}case 1:{Oe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(k,w,x,l,c)|0;jf(k);if(y)v=54;else v=59;break}case 0:{Oe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(k,w,x,l,c)|0;jf(k);if(y)v=54;else v=59;break}default:v=59}if((v|0)==54){e=f[n>>2]|0;if(e|0){a=n+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);pq(e)}v=64;break a}else if((v|0)==59){e=f[n>>2]|0;if(e|0){a=n+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);pq(e)}d=0;break a}break}default:d=0}while(0);if((v|0)==64)d=1;y=d;u=z;return y|0}function gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;M=u;u=u+32|0;L=M;I=a+8|0;i=f[I>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{J=i<<2;e=an(J)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;cj(e|0,0,J|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);H=a+1164|0;m=f[H>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[I>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{J=i<<2;g=an(J)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;cj(g|0,0,J|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);D=a+1176|0;j=f[D>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;J=L+8|0;G=L+4|0;F=L+16|0;E=L+20|0;Gc(L);d=f[G>>2]|0;e=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[J>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[E>>2]|0)+1|0;f[E>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[F>>2]|0;e=d+-1|0;t=s+e|0;v=f[G>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[E>>2]=e;e=f[J>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[J>>2]=(f[J>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[H>>2]|0;j=m+(t*12|0)|0;e=((f[I>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[D>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[I>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[I>>2]|0}while(g>>>0>>0)}if(!k){K=77;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[I>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){K=77;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[J>>2]|0;i=f[G>>2]|0;s=j-i>>2;d=f[F>>2]|0;h=f[E>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(L);d=f[F>>2]|0;h=f[E>>2]|0;j=f[J>>2]|0;i=f[G>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[E>>2]=(f[E>>2]|0)+1}if((g|0)!=(n|0)){i=f[J>>2]|0;h=f[G>>2]|0;t=i-h>>2;d=f[F>>2]|0;g=f[E>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(L);d=f[F>>2]|0;g=f[E>>2]|0;i=f[J>>2]|0;h=f[G>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[E>>2]|0)+1|0;f[E>>2]=d}else K=77}else K=77;while(0);if((K|0)==77){K=0;d=f[E>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[G>>2]|0;e=f[F>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[J>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[E>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[G>>2]|0)+4|0;f[G>>2]=d;g=f[J>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;K=91;break}case 2:{e=204;K=91;break}default:{}}if((K|0)==91)f[F>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[G>>2]|0;e=f[J>>2]|0;if((e|0)!=(d|0))f[J>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[L>>2]|0;if(!d){u=M;return}pq(d);u=M;return}function hb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=u;u=u+64|0;S=V+56|0;T=V+52|0;N=V+48|0;i=V+60|0;U=V;E=V+44|0;F=V+40|0;B=V+36|0;C=V+32|0;D=V+28|0;M=V+24|0;O=V+20|0;P=V+16|0;R=V+12|0;if(!(b[a+352>>0]|0)){tf(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){oj(d);pq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){oj(d);pq(d)}}else f[S>>2]=0}else{Qh(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){oj(d);pq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){oj(d);pq(d)}}else f[S>>2]=0}z=a+12|0;if(!(f[z>>2]|0)){U=0;u=V;return U|0}K=a+200|0;we(K,a)|0;H=f[z>>2]|0;J=a+4|0;Rh(((f[H+28>>2]|0)-(f[H+24>>2]|0)>>2)-(f[H+44>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=f[z>>2]|0;Rh((((f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)/3|0)-(f[H+40>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=a+28|0;G=a+8|0;h=f[G>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[S>>0]=0;Zg(H,h,S);h=f[z>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[S>>2]=-1;bg(a+52|0,h,S);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);y=f[z>>2]|0;y=(f[y+4>>2]|0)-(f[y>>2]|0)>>2;Jj(h,y-((y>>>0)%3|0)|0);y=a+84|0;x=f[z>>2]|0;x=(f[x+28>>2]|0)-(f[x+24>>2]|0)>>2;b[S>>0]=0;Zg(y,x,S);x=a+96|0;d=f[x>>2]|0;w=a+100|0;e=f[w>>2]|0;if((e|0)!=(d|0))f[w>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;A=a+168|0;f[A>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{v=d;d=f[d>>2]|0;pq(v)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[z>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[S>>2]=-1;bg(a+152|0,v,S);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);t=f[z>>2]|0;Jj(v,((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Wd(a)|0)){U=0;u=V;return U|0}if(!(Rf(a)|0)){U=0;u=V;return U|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[J>>2]|0)+44>>2]|0;t=e+16|0;p=f[t+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[t>>2]|0)>>>0>0)){f[T>>2]=f[e+4>>2];f[S>>2]=f[T>>2];Ke(e,S,i,i+1|0)|0;d=b[i>>0]|0}f[a+284>>2]=d&255;o=f[z>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Ki(K);f[U>>2]=0;t=U+4|0;f[t>>2]=0;f[U+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=U+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[H>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[z>>2]|0,f[E>>2]=d,f[S>>2]=f[E>>2],!(Dj(l,S)|0)):0){f[T>>2]=0;f[F>>2]=d;f[S>>2]=f[F>>2];i=Je(a,S,T)|0;$i(K,i);d=f[T>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[z>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[y>>2]|0;W=i+(e>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[S>>2]=1;e=f[w>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[w>>2]=e+4}else Gi(x,S);h=(f[H>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[S>>2]=g;e=f[t>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[t>>2]=e+4}else Gi(U,S);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;W=(e|0)<0;d=W?-1073741824:(e>>>0)/3|0;if(W)break;if(f[(f[H>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[B>>2]=e;f[S>>2]=f[B>>2];if(!(Nb(a,S)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[C>>2]=d;f[S>>2]=f[C>>2];Ge(a,S,1)|0;f[D>>2]=f[T>>2];f[S>>2]=f[D>>2];if(!(Nb(a,S)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){I=61;break a}}e=0}else I=61;while(0);if((I|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{W=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=W;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[U>>2];f[P>>2]=f[t>>2];f[N>>2]=f[M>>2];f[T>>2]=f[O>>2];f[S>>2]=f[P>>2];Ud(v,N,T,S)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[G>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[S>>0]=0,Zg(H,c,S),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[S>>2]=f[R>>2];kg(a,S)|0;c=c+4|0}while((c|0)!=(Q|0));mi(K);Rh(f[a+324>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;Rh(f[A>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;if(Ig(a)|0){c=f[(f[J>>2]|0)+44>>2]|0;d=f[a+232>>2]|0;W=c+16|0;R=f[W+4>>2]|0;if(!((R|0)>0|(R|0)==0&(f[W>>2]|0)>>>0>0)){W=(f[a+236>>2]|0)-d|0;f[T>>2]=f[c+4>>2];f[S>>2]=f[T>>2];Ke(c,S,d,d+W|0)|0}e=1}else e=0}c=f[U>>2]|0;if(c|0){d=f[t>>2]|0;if((d|0)!=(c|0))f[t>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}W=e;u=V;return W|0}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N;J=a+8|0;i=f[J>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;e=an(K)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;cj(e|0,0,K|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);I=a+128|0;m=f[I>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[J>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;g=an(K)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;cj(g|0,0,K|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);E=a+140|0;j=f[E>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;H=M+4|0;G=M+16|0;F=M+20|0;Gc(M);d=f[H>>2]|0;e=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[K>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[F>>2]|0)+1|0;f[F>>2]=d;a:do if(d|0){x=a+116|0;D=a+32|0;C=a+12|0;w=a+88|0;B=a+84|0;y=a+76|0;z=a+80|0;A=a+72|0;b:while(1){s=f[G>>2]|0;e=d+-1|0;t=s+e|0;v=f[H>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[F>>2]=e;e=f[K>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[I>>2]|0;j=m+(t*12|0)|0;e=((f[J>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}if(!k){L=73;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[J>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){L=73;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)ri(C,i,d-o|0);else ri(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;d=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(M);d=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[F>>2]=(f[F>>2]|0)+1}if((g|0)!=(n|0)){i=f[K>>2]|0;h=f[H>>2]|0;t=i-h>>2;d=f[G>>2]|0;g=f[F>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(M);d=f[G>>2]|0;g=f[F>>2]|0;i=f[K>>2]|0;h=f[H>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[F>>2]|0)+1|0;f[F>>2]=d}else L=73}else L=73;while(0);if((L|0)==73){L=0;d=f[F>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[H>>2]|0;e=f[G>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[K>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[F>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[H>>2]|0)+4|0;f[H>>2]=d;g=f[K>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;L=87;break}case 2:{e=204;L=87;break}default:{}}if((L|0)==87)f[G>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[H>>2]|0;e=f[K>>2]|0;if((e|0)!=(d|0))f[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}pq(d);u=N;return}function jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N;J=a+8|0;i=f[J>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;e=an(K)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;cj(e|0,0,K|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);I=a+140|0;m=f[I>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[J>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;g=an(K)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;cj(g|0,0,K|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);E=a+152|0;j=f[E>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;H=M+4|0;G=M+16|0;F=M+20|0;Gc(M);d=f[H>>2]|0;e=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[K>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[F>>2]|0)+1|0;f[F>>2]=d;a:do if(d|0){x=a+128|0;D=a+44|0;C=a+12|0;w=a+100|0;B=a+96|0;y=a+88|0;z=a+92|0;A=a+84|0;b:while(1){s=f[G>>2]|0;e=d+-1|0;t=s+e|0;v=f[H>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[F>>2]=e;e=f[K>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[I>>2]|0;j=m+(t*12|0)|0;e=((f[J>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}if(!k){L=73;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[J>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){L=73;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)Of(C,i,d-o|0);else Of(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;d=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(M);d=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[F>>2]=(f[F>>2]|0)+1}if((g|0)!=(n|0)){i=f[K>>2]|0;h=f[H>>2]|0;t=i-h>>2;d=f[G>>2]|0;g=f[F>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(M);d=f[G>>2]|0;g=f[F>>2]|0;i=f[K>>2]|0;h=f[H>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[F>>2]|0)+1|0;f[F>>2]=d}else L=73}else L=73;while(0);if((L|0)==73){L=0;d=f[F>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[H>>2]|0;e=f[G>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[K>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[F>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[H>>2]|0)+4|0;f[H>>2]=d;g=f[K>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;L=87;break}case 2:{e=204;L=87;break}default:{}}if((L|0)==87)f[G>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[H>>2]|0;e=f[K>>2]|0;if((e|0)!=(d|0))f[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}pq(d);u=N;return}function kb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+32|0;E=F+16|0;D=F+4|0;A=F;f[a+36>>2]=b;B=a+24|0;z=a+28|0;e=f[z>>2]|0;d=f[B>>2]|0;h=e-d>>2;if(h>>>0>=b>>>0){if(h>>>0>b>>>0?(g=d+(b<<2)|0,(e|0)!=(g|0)):0)f[z>>2]=e+(~((e+-4-g|0)>>>2)<<2)}else lh(B,b-h|0,6028);f[E>>2]=0;y=E+4|0;f[y>>2]=0;x=E+8|0;f[x>>2]=0;if(b){if((b|0)<0)Fp(E);d=((b+-1|0)>>>5)+1|0;h=an(d<<2)|0;f[E>>2]=h;f[x>>2]=d;f[y>>2]=b;d=b>>>5;cj(h|0,0,d<<2|0)|0;e=b-(d<<5)|0;d=h+(d<<2)|0;g=h;if(!e)k=b;else{f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));k=b}}else{k=0;g=0;h=0}w=a+4|0;l=f[a>>2]|0;d=(f[w>>2]|0)-l|0;j=d>>2;f[D>>2]=0;i=D+4|0;f[i>>2]=0;e=D+8|0;f[e>>2]=0;do if(j){if((d|0)<0)Fp(D);d=((j+-1|0)>>>5)+1|0;m=an(d<<2)|0;f[D>>2]=m;f[e>>2]=d;f[i>>2]=j;d=j>>>5;cj(m|0,0,d<<2|0)|0;e=j-(d<<5)|0;d=m+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));if(j>>>0>2){q=a+12|0;t=a+32|0;r=a+52|0;s=a+56|0;v=a+48|0;j=l;e=m;p=0;d=b;a:while(1){o=p*3|0;if((p|0)>=0){l=f[j+(o<<2)>>2]|0;i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;if((i|0)<0)k=-1073741824;else k=f[j+(i<<2)>>2]|0;i=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((i|0)<0)i=-1073741824;else i=f[j+(i<<2)>>2]|0;if((l|0)!=(k|0)?!((l|0)==(i|0)|(k|0)==(i|0)):0){i=d;n=0;while(1){j=n+o|0;if(!(f[e+(j>>>5<<2)>>2]&1<<(j&31))){d=f[(f[a>>2]|0)+(j<<2)>>2]|0;f[A>>2]=d;if(!(f[h+(d>>>5<<2)>>2]&1<<(d&31))){k=0;b=i}else{d=f[z>>2]|0;if((d|0)==(f[t>>2]|0))Gi(B,6028);else{f[d>>2]=-1073741824;f[z>>2]=d+4}d=f[r>>2]|0;if((d|0)==(f[s>>2]|0))Gi(v,A);else{f[d>>2]=f[A>>2];f[r>>2]=d+4}d=f[y>>2]|0;e=f[x>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){i=52;break a}b=e<<6;m=d+32&-32;gi(E,d>>>0<1073741823?(b>>>0>>0?m:b):2147483647);d=f[y>>2]|0}f[y>>2]=d+1;k=(f[E>>2]|0)+(d>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(d&31));f[A>>2]=i;d=i;k=1;b=i+1|0}h=f[E>>2]|0;g=h+(d>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(d&31);g=h;b:do if(k){d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);i=f[A>>2]|0;f[(f[B>>2]|0)+(i<<2)>>2]=d;f[(f[a>>2]|0)+(d<<2)>>2]=i;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}else{d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);f[(f[B>>2]|0)+(f[A>>2]<<2)>>2]=d;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}while(0);do if((i|0)==68){i=0;if((j|0)==-1073741824){d=-1073741824;i=75}}else if((i|0)==69){if((j|0)<0){d=j;i=75;break}d=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((d|0)<0){i=75;break}d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=75;break}if(!((d>>>0)%3|0)){d=d+2|0;i=75;break}else{d=d+-1|0;i=75;break}}while(0);c:do if((i|0)==75){e=f[D>>2]|0;i=e+(d>>>5<<2)|0;l=1<<(d&31);j=(d|0)<0;if((d|0)==-1073741824)break;if(!k){k=d;e=j;d=l;while(1){if(e){i=87;break a}f[i>>2]=f[i>>2]|d;d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);e=f[D>>2]|0;if((d|0)==-1073741824)break c;else{k=d;i=e+(d>>>5<<2)|0;e=(d|0)<0;d=1<<(d&31)}}}m=f[a>>2]|0;k=i;e=l;while(1){i=m+(d<<2)|0;do{f[k>>2]=f[k>>2]|e;f[i>>2]=f[A>>2]}while(j);d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=d;break}if(!((d>>>0)%3|0)){i=d+2|0;break}else{i=d+-1|0;break}}else i=d;while(0);e=f[D>>2]|0;if((i|0)==-1073741824)break;else{d=i;k=e+(i>>>5<<2)|0;j=(i|0)<0;e=1<<(i&31)}}}while(0);d=b}else d=i;n=n+1|0;if((n|0)>=3)break;else i=d}}}p=p+1|0;j=f[a>>2]|0;if((p|0)>=(((f[w>>2]|0)-j>>2>>>0)/3|0|0)){i=18;break}}if((i|0)==18){c=g;C=f[y>>2]|0;break}else if((i|0)==52)Fp(E);else if((i|0)==87)while(1)i=87}else{c=g;C=k}}else{c=g;C=k}while(0);j=a+44|0;f[j>>2]=0;B=C>>>5;i=c+(B<<2)|0;h=C&31;d=(B|0)!=0;d:do if(B|h|0){if(!h){e=c;c=0;while(1){e:do if(d){d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break;else d=d+1|0}}else{d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break e;d=d+1|0;if(!d)break d}}while(0);e=e+4|0;if((e|0)==(i|0))break d;else d=1}}if(d){e=c;c=0;d=0;do{g=0;while(1){if(!(f[e>>2]&1<>2]=d;c=d}if((g|0)==31)break;else g=g+1|0}e=e+4|0}while((e|0)!=(i|0))}else{e=c;c=0}d=0;do{if(!(f[e>>2]&1<>2]=c}d=d+1|0}while((d|0)!=(h|0))}while(0);c=f[D>>2]|0;if(c|0)pq(c);c=f[E>>2]|0;if(!c){u=F;return 1}pq(c);u=F;return 1}function lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=Ka,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function mb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;H=u;u=u+80|0;k=H+76|0;l=H+72|0;D=H+48|0;m=H+24|0;x=H;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)i=-1073741824;else i=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;i=-1073741824}h=f[a+36>>2]|0;g=f[h>>2]|0;j=(f[h+4>>2]|0)-g>>2;if(j>>>0<=c>>>0)Fp(h);w=f[g+(c<<2)>>2]|0;if(j>>>0<=i>>>0)Fp(h);h=f[g+(i<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){z=w<<1;v=f[d+(z<<2)>>2]|0;y=((v|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(v|0)|(s|0)!=(z|0))){f[a+8>>2]=v;f[a+12>>2]=z;u=H;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;n=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,n,x)|0;n=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;n=_n(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=_n(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=_n(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=$m(n|0,o|0,n|0,o|0)|0;x=I;B=$m(p|0,q|0,p|0,q|0)|0;x=Mn(B|0,I|0,C|0,x|0)|0;C=I;B=$m(l|0,m|0,l|0,m|0)|0;B=Mn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;M=D;M=_n(f[M>>2]|0,f[M+4>>2]|0,h|0,i|0)|0;L=I;K=D+8|0;K=_n(f[K>>2]|0,f[K+4>>2]|0,j|0,k|0)|0;J=I;h=D+16|0;h=_n(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=$m(M|0,L|0,n|0,o|0)|0;D=I;g=$m(K|0,J|0,p|0,q|0)|0;D=Mn(g|0,I|0,k|0,D|0)|0;k=I;g=$m(h|0,i|0,l|0,m|0)|0;g=Mn(D|0,k|0,g|0,I|0)|0;k=I;D=_n(r|0,((r|0)<0)<<31>>31|0,v|0,y|0)|0;c=I;w=_n(s|0,((s|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;s=$m(B|0,C|0,v|0,y|0)|0;r=I;v=$m(B|0,C|0,z|0,A|0)|0;t=I;A=$m(g|0,k|0,D|0,c|0)|0;z=I;j=$m(g|0,k|0,w|0,x|0)|0;y=I;r=Mn(A|0,z|0,s|0,r|0)|0;s=I;t=Mn(j|0,y|0,v|0,t|0)|0;v=I;y=$m(g|0,k|0,n|0,o|0)|0;j=I;z=$m(g|0,k|0,p|0,q|0)|0;A=I;m=$m(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=_n(M|0,L|0,j|0,l|0)|0;j=I;z=_n(K|0,J|0,A|0,z|0)|0;A=I;m=_n(h|0,i|0,k|0,m|0)|0;k=I;j=$m(l|0,j|0,l|0,j|0)|0;l=I;A=$m(z|0,A|0,z|0,A|0)|0;l=Mn(A|0,I|0,j|0,l|0)|0;j=I;k=$m(m|0,k|0,m|0,k|0)|0;k=Mn(l|0,j|0,k|0,I|0)|0;j=I;l=_n(0,0,D|0,c|0)|0;m=I;j=$m(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=23}break}case 1:{if(!c){g=1;c=0;E=24}else{g=1;c=0;h=j;i=k;E=23}break}default:{g=1;c=0;h=j;i=k;E=23}}if((E|0)==23)while(1){g=vn(g|0,c|0,1)|0;c=I;M=h;h=An(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&M>>>0>7)){E=24;break}else{i=I;E=23}}if((E|0)==24)while(1){M=Po(j|0,k|0,g|0,c|0)|0;g=Mn(M|0,I|0,g|0,c|0)|0;g=An(g|0,I|0,1)|0;c=I;M=$m(g|0,c|0,g|0,c|0)|0;L=I;if(L>>>0>k>>>0|(L|0)==(k|0)&M>>>0>j>>>0)E=24;else break}n=$m(g|0,c|0,w|0,x|0)|0;M=I;m=$m(g|0,c|0,l|0,m|0)|0;j=I;L=Mn(n|0,M|0,r|0,s|0)|0;g=I;k=Mn(m|0,j|0,t|0,v|0)|0;c=I;g=kk(L|0,g|0,B|0,C|0)|0;L=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;M=_n(r|0,s|0,n|0,M|0)|0;n=I;j=_n(t|0,v|0,m|0,j|0)|0;m=I;n=kk(M|0,n|0,B|0,C|0)|0;M=I;m=kk(j|0,m|0,B|0,C|0)|0;j=I;h=e<<1;i=f[d+(h<<2)>>2]|0;K=((i|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;l=((h|0)<0)<<31>>31;L=_n(i|0,K|0,g|0,L|0)|0;J=I;d=_n(h|0,l|0,c|0,k|0)|0;k=I;J=$m(L|0,J|0,L|0,J|0)|0;L=I;k=$m(d|0,k|0,d|0,k|0)|0;L=Mn(k|0,I|0,J|0,L|0)|0;J=I;M=_n(i|0,K|0,n|0,M|0)|0;K=I;j=_n(h|0,l|0,m|0,j|0)|0;l=I;K=$m(M|0,K|0,M|0,K|0)|0;M=I;l=$m(j|0,l|0,j|0,l|0)|0;M=Mn(l|0,I|0,K|0,M|0)|0;K=I;l=a+16|0;j=a+20|0;h=f[j>>2]|0;i=f[a+24>>2]|0;k=(h|0)==(i<<5|0);if(J>>>0>>0|(J|0)==(K|0)&L>>>0>>0){do if(k)if((h+1|0)<0)Fp(l);else{F=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(F>>>0>>0?M:F):2147483647);F=f[j>>2]|0;break}else F=h;while(0);f[j>>2]=F+1;M=(f[l>>2]|0)+(F>>>5<<2)|0;f[M>>2]=f[M>>2]|1<<(F&31)}else{do if(k)if((h+1|0)<0)Fp(l);else{G=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(G>>>0>>0?M:G):2147483647);G=f[j>>2]|0;break}else G=h;while(0);f[j>>2]=G+1;g=(f[l>>2]|0)+(G>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(G&31));g=n;c=m}f[a+8>>2]=g;f[a+12>>2]=c;u=H;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}M=a+8|0;f[M>>2]=0;f[M+4>>2]=0;u=H;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=H;return}function nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;H=u;u=u+80|0;k=H+76|0;l=H+72|0;D=H+48|0;m=H+24|0;x=H;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);i=f[(f[h>>2]|0)+28>>2]|0;h=f[i+(c<<2)>>2]|0;i=f[i+(g<<2)>>2]|0;g=f[a+36>>2]|0;c=f[g>>2]|0;j=(f[g+4>>2]|0)-c>>2;if(j>>>0<=h>>>0)Fp(g);w=f[c+(h<<2)>>2]|0;if(j>>>0<=i>>>0)Fp(g);h=f[c+(i<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){y=w<<1;A=f[d+(y<<2)>>2]|0;v=((A|0)<0)<<31>>31;y=f[d+((y|1)<<2)>>2]|0;z=((y|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(A|0)|(s|0)!=(y|0))){f[a+8>>2]=A;f[a+12>>2]=y;u=H;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;n=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,n,x)|0;n=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;n=_n(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=_n(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=_n(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=$m(n|0,o|0,n|0,o|0)|0;x=I;B=$m(p|0,q|0,p|0,q|0)|0;x=Mn(B|0,I|0,C|0,x|0)|0;C=I;B=$m(l|0,m|0,l|0,m|0)|0;B=Mn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;M=D;M=_n(f[M>>2]|0,f[M+4>>2]|0,h|0,i|0)|0;L=I;K=D+8|0;K=_n(f[K>>2]|0,f[K+4>>2]|0,j|0,k|0)|0;J=I;h=D+16|0;h=_n(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=$m(M|0,L|0,n|0,o|0)|0;D=I;g=$m(K|0,J|0,p|0,q|0)|0;D=Mn(g|0,I|0,k|0,D|0)|0;k=I;g=$m(h|0,i|0,l|0,m|0)|0;g=Mn(D|0,k|0,g|0,I|0)|0;k=I;D=_n(r|0,((r|0)<0)<<31>>31|0,A|0,v|0)|0;c=I;w=_n(s|0,((s|0)<0)<<31>>31|0,y|0,z|0)|0;x=I;s=$m(B|0,C|0,A|0,v|0)|0;r=I;v=$m(B|0,C|0,y|0,z|0)|0;t=I;A=$m(g|0,k|0,D|0,c|0)|0;z=I;j=$m(g|0,k|0,w|0,x|0)|0;y=I;r=Mn(A|0,z|0,s|0,r|0)|0;s=I;t=Mn(j|0,y|0,v|0,t|0)|0;v=I;y=$m(g|0,k|0,n|0,o|0)|0;j=I;z=$m(g|0,k|0,p|0,q|0)|0;A=I;m=$m(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=_n(M|0,L|0,j|0,l|0)|0;j=I;z=_n(K|0,J|0,A|0,z|0)|0;A=I;m=_n(h|0,i|0,k|0,m|0)|0;k=I;j=$m(l|0,j|0,l|0,j|0)|0;l=I;A=$m(z|0,A|0,z|0,A|0)|0;l=Mn(A|0,I|0,j|0,l|0)|0;j=I;k=$m(m|0,k|0,m|0,k|0)|0;k=Mn(l|0,j|0,k|0,I|0)|0;j=I;l=_n(0,0,D|0,c|0)|0;m=I;j=$m(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=22}break}case 1:{if(!c){g=1;c=0;E=23}else{g=1;c=0;h=j;i=k;E=22}break}default:{g=1;c=0;h=j;i=k;E=22}}if((E|0)==22)while(1){g=vn(g|0,c|0,1)|0;c=I;M=h;h=An(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&M>>>0>7)){E=23;break}else{i=I;E=22}}if((E|0)==23)while(1){M=Po(j|0,k|0,g|0,c|0)|0;g=Mn(M|0,I|0,g|0,c|0)|0;g=An(g|0,I|0,1)|0;c=I;M=$m(g|0,c|0,g|0,c|0)|0;L=I;if(L>>>0>k>>>0|(L|0)==(k|0)&M>>>0>j>>>0)E=23;else break}n=$m(g|0,c|0,w|0,x|0)|0;M=I;m=$m(g|0,c|0,l|0,m|0)|0;j=I;L=Mn(n|0,M|0,r|0,s|0)|0;g=I;k=Mn(m|0,j|0,t|0,v|0)|0;c=I;g=kk(L|0,g|0,B|0,C|0)|0;L=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;M=_n(r|0,s|0,n|0,M|0)|0;n=I;j=_n(t|0,v|0,m|0,j|0)|0;m=I;n=kk(M|0,n|0,B|0,C|0)|0;M=I;m=kk(j|0,m|0,B|0,C|0)|0;j=I;h=e<<1;i=f[d+(h<<2)>>2]|0;K=((i|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;l=((h|0)<0)<<31>>31;L=_n(i|0,K|0,g|0,L|0)|0;J=I;d=_n(h|0,l|0,c|0,k|0)|0;k=I;J=$m(L|0,J|0,L|0,J|0)|0;L=I;k=$m(d|0,k|0,d|0,k|0)|0;L=Mn(k|0,I|0,J|0,L|0)|0;J=I;M=_n(i|0,K|0,n|0,M|0)|0;K=I;j=_n(h|0,l|0,m|0,j|0)|0;l=I;K=$m(M|0,K|0,M|0,K|0)|0;M=I;l=$m(j|0,l|0,j|0,l|0)|0;M=Mn(l|0,I|0,K|0,M|0)|0;K=I;l=a+16|0;j=a+20|0;h=f[j>>2]|0;i=f[a+24>>2]|0;k=(h|0)==(i<<5|0);if(J>>>0>>0|(J|0)==(K|0)&L>>>0>>0){do if(k)if((h+1|0)<0)Fp(l);else{F=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(F>>>0>>0?M:F):2147483647);F=f[j>>2]|0;break}else F=h;while(0);f[j>>2]=F+1;M=(f[l>>2]|0)+(F>>>5<<2)|0;f[M>>2]=f[M>>2]|1<<(F&31)}else{do if(k)if((h+1|0)<0)Fp(l);else{G=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(G>>>0>>0?M:G):2147483647);G=f[j>>2]|0;break}else G=h;while(0);f[j>>2]=G+1;g=(f[l>>2]|0)+(G>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(G&31));g=n;c=m}f[a+8>>2]=g;f[a+12>>2]=c;u=H;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}M=a+8|0;f[M>>2]=0;f[M+4>>2]=0;u=H;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=H;return}function ob(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;Zn(c)|0;if((I|0)<0){C=1;A=21283;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?21284:21289):21286}Zn(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+Yp(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=ok(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[21314+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Qk(a,32,d,j,g);Bo(a,p,o);Qk(a,48,d,j,g^65536);Bo(a,F,C);Qk(a,48,D-C|0,0,0);Bo(a,n,E);Qk(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=vn(f[j>>2]|0,0,o|0)|0;x=Mn(x|0,I|0,l|0,0)|0;y=I;v=Um(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=Po(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=ok(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Qk(a,32,d,j,g);Bo(a,A,C);Qk(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=ok(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){cj(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Bo(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Bo(a,21330,1);if(m>>>0>>0&(k|0)>0)while(1){l=ok(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){cj(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Bo(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Qk(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=ok(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Bo(a,l,1);if(e&(k|0)<1){l=m;break}Bo(a,21330,1);l=m}else{if(l>>>0<=F>>>0)break;cj(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Bo(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Qk(a,48,k+18|0,18,0);Bo(a,v,D-v|0)}Qk(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Qk(a,32,d,j,g&-65537);Bo(a,A,C);Bo(a,c!=c|0.0!=0.0?(F?23233:21310):F?21302:21306,3);Qk(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function pb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0.0;H=u;u=u+512|0;E=H;F=d+c|0;G=0-F|0;B=a+4|0;C=a+100|0;j=b;m=0;a:while(1){switch(j|0){case 46:{A=6;break a}case 48:break;default:{l=0;b=0;p=0;break a}}b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0;m=1;continue}else{j=Xi(a)|0;m=1;continue}}if((A|0)==6){b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0}else j=Xi(a)|0;if((j|0)==48){j=0;b=0;while(1){l=Mn(j|0,b|0,-1,-1)|0;b=I;j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Xi(a)|0;if((j|0)==48)j=l;else{m=1;p=1;break}}}else{l=0;b=0;p=1}}f[E>>2]=0;v=j+-48|0;n=(j|0)==46;b:do if(n|v>>>0<10){A=E+496|0;y=l;z=0;t=0;w=n;o=0;l=0;n=0;c:while(1){do if(w)if(!p){y=z;b=t;p=1}else break c;else{w=Mn(z|0,t|0,1,0)|0;t=I;x=(j|0)!=48;if((l|0)>=125){if(!x){z=w;break}f[A>>2]=f[A>>2]|1;z=w;break}m=E+(l<<2)|0;if(!o)j=v;else j=j+-48+((f[m>>2]|0)*10|0)|0;f[m>>2]=j;o=o+1|0;v=(o|0)==9;z=w;m=1;o=v?0:o;l=(v&1)+l|0;n=x?w:n}while(0);j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Xi(a)|0;v=j+-48|0;w=(j|0)==46;if(!(w|v>>>0<10)){w=y;v=z;A=29;break b}}v=z;p=y;j=(m|0)!=0;A=37}else{w=l;v=0;t=0;o=0;l=0;n=0;A=29}while(0);do if((A|0)==29){z=(p|0)==0;p=z?v:w;b=z?t:b;w=(m|0)!=0;if(!(w&(j|32|0)==101))if((j|0)>-1){j=w;A=37;break}else{m=t;j=w;A=39;break}m=$e(a,g)|0;j=I;if((m|0)==0&(j|0)==-2147483648){if(!g){Lm(a,0);i=0.0;break}if(!(f[C>>2]|0)){m=0;j=0}else{f[B>>2]=(f[B>>2]|0)+-1;m=0;j=0}}y=Mn(m|0,j|0,p|0,b|0)|0;p=v;b=I;m=t;A=41}while(0);if((A|0)==37)if(f[C>>2]|0){f[B>>2]=(f[B>>2]|0)+-1;if(j){y=p;p=v;m=t;A=41}else A=40}else{m=t;A=39}if((A|0)==39)if(j){y=p;p=v;A=41}else A=40;do if((A|0)==40){G=eq()|0;f[G>>2]=22;Lm(a,0);i=0.0}else if((A|0)==41){j=f[E>>2]|0;if(!j){i=+(e|0)*0.0;break}if(((m|0)<0|(m|0)==0&p>>>0<10)&((y|0)==(p|0)&(b|0)==(m|0))?(c|0)>30|(j>>>c|0)==0:0){i=+(e|0)*+(j>>>0);break}a=(d|0)/-2|0;C=((a|0)<0)<<31>>31;if((b|0)>(C|0)|(b|0)==(C|0)&y>>>0>a>>>0){G=eq()|0;f[G>>2]=34;i=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=d+-106|0;C=((a|0)<0)<<31>>31;if((b|0)<(C|0)|(b|0)==(C|0)&y>>>0>>0){G=eq()|0;f[G>>2]=34;i=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(o){if((o|0)<9){m=E+(l<<2)|0;b=o;j=f[m>>2]|0;do{j=j*10|0;b=b+1|0}while((b|0)!=9);f[m>>2]=j}l=l+1|0}if((n|0)<9?(n|0)<=(y|0)&(y|0)<18:0){b=f[E>>2]|0;if((y|0)==9){i=+(e|0)*+(b>>>0);break}if((y|0)<9){i=+(e|0)*+(b>>>0)/+(f[6612+(8-y<<2)>>2]|0);break}a=c+27+(X(y,-3)|0)|0;if((a|0)>30|(b>>>a|0)==0){i=+(e|0)*+(b>>>0)*+(f[6612+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){m=0;b=0}else{t=(y|0)>-1?b:b+9|0;m=f[6612+(8-t<<2)>>2]|0;if(l){o=1e9/(m|0)|0;b=0;n=0;p=0;j=y;do{B=E+(p<<2)|0;C=f[B>>2]|0;a=((C>>>0)/(m>>>0)|0)+n|0;f[B>>2]=a;n=X(o,(C>>>0)%(m>>>0)|0)|0;a=(p|0)==(b|0)&(a|0)==0;j=a?j+-9|0:j;b=a?b+1&127:b;p=p+1|0}while((p|0)!=(l|0));if(n){f[E+(l<<2)>>2]=n;l=l+1|0}}else{b=0;j=y;l=0}m=b;b=0;y=9-t+j|0}d:while(1){v=(y|0)<18;w=(y|0)==18;t=E+(m<<2)|0;while(1){if(!v){if(!w){j=y;break d}if((f[t>>2]|0)>>>0>=9007199){j=18;break d}}n=0;j=l+127|0;x=l;while(1){p=j&127;o=E+(p<<2)|0;j=vn(f[o>>2]|0,0,29)|0;j=Mn(j|0,I|0,n|0,0)|0;l=I;if(l>>>0>0|(l|0)==0&j>>>0>1e9){n=Po(j|0,l|0,1e9,0)|0;j=Um(j|0,l|0,1e9,0)|0}else n=0;f[o>>2]=j;a=(p|0)==(m|0);x=(j|0)==0&(((p|0)!=(x+127&127|0)|a)^1)?p:x;if(a)break;else j=p+-1|0}b=b+-29|0;if(n|0)break;else l=x}m=m+127&127;l=x+127&127;j=E+((x+126&127)<<2)|0;if((m|0)==(x|0))f[j>>2]=f[j>>2]|f[E+(l<<2)>>2];else l=x;f[E+(m<<2)>>2]=n;y=y+9|0}e:while(1){x=l+1&127;y=E+((l+127&127)<<2)|0;v=j;while(1){o=(v|0)==18;w=(v|0)>27?9:1;z=m;while(1){j=0;while(1){m=j+z&127;if((m|0)==(l|0)){D=2;A=88;break}m=f[E+(m<<2)>>2]|0;n=f[6644+(j<<2)>>2]|0;if(m>>>0>>0){D=2;A=88;break}if(m>>>0>n>>>0)break;j=j+1|0;if((j|0)>=2){D=j;A=88;break}}if((A|0)==88?(A=0,o&(D|0)==2):0){n=0;i=0.0;break e}b=w+b|0;if((z|0)==(l|0))z=l;else break}t=(1<>>w;m=z;o=0;n=z;j=v;do{B=E+(n<<2)|0;C=f[B>>2]|0;a=(C>>>w)+o|0;f[B>>2]=a;o=X(C&t,p)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(!o){v=j;continue}if((x|0)!=(m|0))break;f[y>>2]=f[y>>2]|1;v=j}f[E+(l<<2)>>2]=o;l=x}while(1){m=n+z&127;j=l+1&127;if((m|0)==(l|0))f[E+(j+-1<<2)>>2]=0;else j=l;i=i*1.0e9+ +((f[E+(m<<2)>>2]|0)>>>0);n=n+1|0;if((n|0)==2)break;else l=j}s=+(e|0);k=s*i;m=b+53|0;p=m-d|0;o=(p|0)<(c|0);n=o?((p|0)>0?p:0):c;if((n|0)<53){J=+Wp(+Rj(1.0,105-n|0),k);q=+fq(k,+Rj(1.0,53-n|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=z+2&127;if((l|0)!=(j|0)){l=f[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=s*.75+i;break}if((z+3&127|0)==(j|0)){i=s*.5+i;break}else{i=s*.75+i;break}}else{if((l|0)==0?(z+3&127|0)==(j|0):0)break;i=s*.25+i}while(0);if((53-n|0)>1?!(+fq(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((m&2147483647|0)>(-2-F|0)){F=!(+K(+i)>=9007199254740992.0);b=((F^1)&1)+b|0;i=F?i:i*.5;if((b+50|0)<=(G|0)?!(k!=0.0&(o&((n|0)!=(p|0)|F))):0)break;G=eq()|0;f[G>>2]=34}while(0);i=+Xp(i,b)}while(0);u=H;return +i}function qb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=eq()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Bo(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=cm(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=cm(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(20802+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Se(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Cm(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=21266;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=_n(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=21266;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?21266:21268):21267;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=21266;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=21266;i=x;break}case 109:{i=eq()|0;i=Ho(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:21276;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Qk(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=ob(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=21266;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=gm(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?21266:21266+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=ok(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=bi(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=21266;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Go(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Qk(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Go(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Bo(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Qk(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Qk(a,32,i,l,n);Bo(a,j,k);Qk(a,48,i,l,n^65536);Qk(a,48,q,r,0);Bo(a,o,r);Qk(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Se(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function rb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2])>>>0;f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3]>>>0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function sb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+48|0;z=B+36|0;v=B+24|0;y=B+12|0;w=B;if(!(eh(a,c,d)|0)){A=0;u=B;return A|0}e=f[c+4>>2]|0;if((d|0)<=-1)ra(20625,20641,59,20738);g=f[e+8>>2]|0;if(((f[e+12>>2]|0)-g>>2|0)<=(d|0))ra(20748,20641,60,20738);m=f[g+(d<<2)>>2]|0;if((f[m+28>>2]|0)!=9){A=0;u=B;return A|0}r=c+48|0;j=f[r>>2]|0;e=an(32)|0;f[z>>2]=e;f[z+8>>2]=-2147483616;f[z+4>>2]=17;c=e;i=17860;l=c+17|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+17>>0]=0;i=j+16|0;g=f[i>>2]|0;if(g){e=i;c=g;a:while(1){g=c;while(1){if((f[g+16>>2]|0)>=(d|0))break;g=f[g+4>>2]|0;if(!g)break a}c=f[g>>2]|0;if(!c){e=g;break}else e=g}if(((e|0)!=(i|0)?(f[e+16>>2]|0)<=(d|0):0)?(k=e+20|0,(Oh(k,z)|0)!=0):0)s=Bk(k,z,-1)|0;else A=16}else A=16;if((A|0)==16)s=Bk(j,z,-1)|0;if((b[z+11>>0]|0)<0)pq(f[z>>2]|0);if((s|0)<1){A=0;u=B;return A|0}e=f[r>>2]|0;g=an(32)|0;f[z>>2]=g;f[z+8>>2]=-2147483616;f[z+4>>2]=19;c=g;i=17803;l=c+19|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[g+19>>0]=0;j=e+16|0;c=f[j>>2]|0;if(c){g=j;b:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break b;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=28}else A=28;if(!(Oh(e,z)|0))e=0;else{e=f[r>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=an(32)|0;f[v>>2]=g;f[v+8>>2]=-2147483616;f[v+4>>2]=18;c=g;i=17823;l=c+18|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[g+18>>0]=0;j=e+16|0;c=f[j>>2]|0;if(c){g=j;c:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break c;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=38}else A=38;e=(Oh(e,v)|0)!=0;if((b[v+11>>0]|0)<0)pq(f[v>>2]|0)}if((b[z+11>>0]|0)<0)pq(f[z>>2]|0);if(!e){Nd(a+40|0,m,s)|0;A=1;u=B;return A|0}m=m+24|0;e=b[m>>0]|0;g=e<<24>>24;f[y>>2]=0;o=y+4|0;f[o>>2]=0;f[y+8>>2]=0;do if(e<<24>>24)if(e<<24>>24<0)Fp(y);else{k=g<<2;t=an(k)|0;f[y>>2]=t;l=t+(g<<2)|0;f[y+8>>2]=l;cj(t|0,0,k|0)|0;f[o>>2]=l;break}else t=0;while(0);k=f[r>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=an(32)|0;f[w>>2]=e;f[w+8>>2]=-2147483616;f[w+4>>2]=19;c=e;i=17803;l=c+19|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+19>>0]=0;j=b[m>>0]|0;l=j<<24>>24;i=k+16|0;e=f[i>>2]|0;if(e){g=i;d:while(1){c=e;while(1){if((f[c+16>>2]|0)>=(d|0))break;e=f[c+4>>2]|0;if(!e)break d;else c=e}e=f[c>>2]|0;if(!e){g=c;break}else g=c}if(((g|0)!=(i|0)?(f[g+16>>2]|0)<=(d|0):0)?(p=g+20|0,(Oh(p,w)|0)!=0):0){e=Qg(p,w)|0;if((e|0)!=(g+24|0)){dj(z,e+28|0);c=z+11|0;e=b[c>>0]|0;g=e<<24>>24<0;if((g?f[z+4>>2]|0:e&255)|0)if(j<<24>>24>0){e=g?f[z>>2]|0:z;g=0;do{h=$(Mp(e,v));p=e;e=f[v>>2]|0;if((p|0)==(e|0))break;n[t+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(l|0));e=b[c>>0]|0}if(e<<24>>24<0)pq(f[z>>2]|0)}}else A=68}else A=68;if((A|0)==68?(q=Qg(k,w)|0,(q|0)!=(k+4|0)):0){dj(z,q+28|0);c=z+11|0;e=b[c>>0]|0;g=e<<24>>24<0;if((g?f[z+4>>2]|0:e&255)|0)if(j<<24>>24>0){e=g?f[z>>2]|0:z;g=0;do{h=$(Mp(e,v));q=e;e=f[v>>2]|0;if((q|0)==(e|0))break;n[t+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(l|0));e=b[c>>0]|0}if(e<<24>>24<0)pq(f[z>>2]|0)}if((b[w+11>>0]|0)<0)pq(f[w>>2]|0);j=f[r>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;e=an(32)|0;f[z>>2]=e;f[z+8>>2]=-2147483616;f[z+4>>2]=18;c=e;i=17823;l=c+18|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+18>>0]=0;i=j+16|0;g=f[i>>2]|0;if(g){e=i;e:while(1){c=g;while(1){if((f[c+16>>2]|0)>=(d|0))break;g=f[c+4>>2]|0;if(!g)break e;else c=g}g=f[c>>2]|0;if(!g){e=c;break}else e=c}if(((e|0)!=(i|0)?(f[e+16>>2]|0)<=(d|0):0)?(x=e+20|0,(Oh(x,z)|0)!=0):0)h=$(wk(x,z,$(1.0)));else A=90}else A=90;if((A|0)==90)h=$(wk(j,z,$(1.0)));if((b[z+11>>0]|0)<0)pq(f[z>>2]|0);rl(a+40|0,s,f[y>>2]|0,b[m>>0]|0,h);e=f[y>>2]|0;if(e|0){g=f[o>>2]|0;if((g|0)!=(e|0))f[o>>2]=g+(~((g+-4-e|0)>>>2)<<2);pq(e)}A=1;u=B;return A|0}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}ub(t,l,c);a=l+4|0}if((s|0)==82){s=0;ub(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}vb(t,l,c);a=l+4|0}if((s|0)==82){s=0;vb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}wb(t,l,c);a=l+4|0}if((s|0)==82){s=0;wb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}xb(t,l,c);a=l+4|0}if((s|0)==82){s=0;xb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}yb(t,l,c);a=l+4|0}if((s|0)==82){s=0;yb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}zb(t,l,c);a=l+4|0}if((s|0)==82){s=0;zb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Ab(t,l,c);a=l+4|0}if((s|0)==82){s=0;Ab(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Bb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Bb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Cb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Cb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Db(t,l,c);a=l+4|0}if((s|0)==82){s=0;Db(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Eb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Eb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Fb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Fb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Gb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Gb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Hb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Hb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}} +function tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+12|0;o=q;e=cl(c,0)|0;if(!e){f[a>>2]=0;u=q;return}d=f[c+96>>2]|0;c=(f[c+100>>2]|0)-d|0;m=(c|0)/12|0;f[n>>2]=0;p=n+4|0;f[p>>2]=0;f[n+8>>2]=0;if(c){if(m>>>0>357913941)Fp(n);l=an(c)|0;f[n>>2]=l;f[n+8>>2]=l+(m*12|0);cj(l|0,0,c|0)|0;f[p>>2]=l+c;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if((c|0)>0){i=e+68|0;j=o+4|0;k=o+8|0;h=(b[e+84>>0]|0)==0;g=0;do{c=f[d+(g*12|0)>>2]|0;if(h){e=f[i>>2]|0;c=f[e+(c<<2)>>2]|0;f[o>>2]=c;f[j>>2]=f[e+(f[d+(g*12|0)+4>>2]<<2)>>2];e=e+(f[d+(g*12|0)+8>>2]<<2)|0}else{f[o>>2]=c;f[j>>2]=f[d+(g*12|0)+4>>2];e=d+(g*12|0)+8|0}e=f[e>>2]|0;f[k>>2]=e;f[l+(g*12|0)>>2]=c;f[l+(g*12|0)+4>>2]=f[j>>2];f[l+(g*12|0)+8>>2]=e;g=g+1|0}while((g|0)<(m|0))}}else{f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0}jk(a,n);d=f[n>>2]|0;if(d|0){c=f[p>>2]|0;if((c|0)!=(d|0))f[p>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);pq(d)}u=q;return}function uf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=f[l>>2]|0;Jj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;b=f[d>>2]|0;c=f[g>>2]|0;i=b-c>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=c+(h<<2)|0,(b|0)!=(e|0)):0)f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2)}else lh(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];fc(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];fc(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function vf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n;j=f[a+124>>2]|0;if(!j){u=n;return}i=j+-1|0;h=(i&j|0)==0;if(!h)if(j>>>0>g>>>0)k=g;else k=(g>>>0)%(j>>>0)|0;else k=i&g;d=f[(f[a+120>>2]|0)+(k<<2)>>2]|0;if(!d){u=n;return}d=f[d>>2]|0;if(!d){u=n;return}a:do if(h){while(1){j=f[d+4>>2]|0;h=(j|0)==(g|0);if(!(h|(j&i|0)==(k|0))){d=24;break}if(h?(f[d+8>>2]|0)==(g|0):0){l=d;break a}d=f[d>>2]|0;if(!d){d=24;break}}if((d|0)==24){u=n;return}}else{h=d;while(1){d=f[h+4>>2]|0;if((d|0)==(g|0)){if((f[h+8>>2]|0)==(g|0)){l=h;break a}}else{if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0;if((d|0)!=(k|0)){d=24;break}}h=f[h>>2]|0;if(!h){d=24;break}}if((d|0)==24){u=n;return}}while(0);d=f[l+12>>2]|0;if((d|0)==-1){u=n;return}f[m>>2]=d;f[m+4>>2]=c;b[m+8>>0]=e&1;h=a+112|0;d=f[h>>2]|0;if((d|0)==(f[a+116>>2]|0))ni(a+108|0,m);else{f[d>>2]=f[m>>2];f[d+4>>2]=f[m+4>>2];f[d+8>>2]=f[m+8>>2];f[h>>2]=(f[h>>2]|0)+12}u=n;return}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=f[b>>2]|0;l=f[b+4>>2]|0;m=f[b+8>>2]|0;g=f[b+12>>2]|0;j=(((k^318)+239^l)+239^m)+239^g;h=f[a+4>>2]|0;if(!h){n=0;return n|0}d=h+-1|0;c=(d&h|0)==0;if(!c)if(j>>>0>>0)i=j;else i=(j>>>0)%(h>>>0)|0;else i=j&d;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){n=0;return n|0}b=f[b>>2]|0;if(!b){n=0;return n|0}if(c){while(1){e=f[b+4>>2]|0;a=(e|0)==(j|0);if(!(a|(e&d|0)==(i|0))){b=0;e=26;break}if((((a?(f[b+8>>2]|0)==(k|0):0)?(f[b+12>>2]|0)==(l|0):0)?(f[b+16>>2]|0)==(m|0):0)?(f[b+20>>2]|0)==(g|0):0){e=26;break}b=f[b>>2]|0;if(!b){b=0;e=26;break}}if((e|0)==26)return b|0}else n=b;while(1){b=f[n+4>>2]|0;a=(b|0)==(j|0);if(!a){if(b>>>0>=h>>>0)b=(b>>>0)%(h>>>0)|0;if((b|0)!=(i|0)){b=0;e=26;break}if(a)e=22}else e=22;if(((((e|0)==22?(e=0,(f[n+8>>2]|0)==(k|0)):0)?(f[n+12>>2]|0)==(l|0):0)?(f[n+16>>2]|0)==(m|0):0)?(f[n+20>>2]|0)==(g|0):0){b=n;e=26;break}n=f[n>>2]|0;if(!n){b=0;e=26;break}}if((e|0)==26)return b|0;return 0}function xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o+4|0;n=o;k=o+8|0;i=d+11|0;j=b[i>>0]|0;g=j<<24>>24<0;if(g){a=f[d+4>>2]|0;if(a>>>0>255){c=0;u=o;return c|0}}else a=j&255;if(!a){b[k>>0]=0;d=c+16|0;l=f[d+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[d>>2]|0)>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ke(c,m,k,k+1|0)|0}c=1;u=o;return c|0}l=d+4|0;e=f[l>>2]|0;b[k>>0]=g?e:j&255;a=c+16|0;g=a;h=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&h>>>0>0)i=g;else{f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ke(c,m,k,k+1|0)|0;h=a;j=b[i>>0]|0;i=f[h+4>>2]|0;h=f[h>>2]|0;e=f[l>>2]|0}g=j<<24>>24<0;a=g?f[d>>2]|0:d;if(!((i|0)>0|(i|0)==0&h>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ke(c,m,a,a+(g?e:j&255)|0)|0}c=1;u=o;return c|0}function yf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function zf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d[b>>1]|0;n=d[b+2>>1]|0;i=d[b+4>>1]|0;l=(((m^318)&65535)+239^n&65535)+239^i&65535;j=f[a+4>>2]|0;if(!j){p=0;return p|0}e=j+-1|0;c=(e&j|0)==0;if(!c)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;b=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!b){p=0;return p|0}b=f[b>>2]|0;if(!b){p=0;return p|0}if(c){while(1){h=f[b+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){b=0;h=24;break}if(((a?(g=b+8|0,(d[g>>1]|0)==m<<16>>16):0)?(d[g+2>>1]|0)==n<<16>>16:0)?(d[b+12>>1]|0)==i<<16>>16:0){h=24;break}b=f[b>>2]|0;if(!b){b=0;h=24;break}}if((h|0)==24)return b|0}else o=b;while(1){b=f[o+4>>2]|0;a=(b|0)==(l|0);if(!a){if(b>>>0>=j>>>0)b=(b>>>0)%(j>>>0)|0;if((b|0)!=(k|0)){b=0;h=24;break}if(a)h=21}else h=21;if((((h|0)==21?(h=0,p=o+8|0,(d[p>>1]|0)==m<<16>>16):0)?(d[p+2>>1]|0)==n<<16>>16:0)?(d[o+12>>1]|0)==i<<16>>16:0){b=o;h=24;break}o=f[o>>2]|0;if(!o){b=0;h=24;break}}if((h|0)==24)return b|0;return 0}function Af(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;r=u;u=u+48|0;n=r+24|0;o=r+8|0;p=r+4|0;q=r;h=c+4|0;if((f[h>>2]|0)==-1)ra(7389,7164,57,7524);m=e+4|0;ui(a,c,(f[m>>2]|0)-(f[e>>2]|0)>>2,2,g,d);l=f[a>>2]|0;l=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;a=f[h>>2]|0;if((a|0)<=1)ra(11874,11885,60,12006);if((a|0)>=31)ra(12026,11885,61,12006);f[o>>2]=a;a=1<>2]=a+-1;a=a+-2|0;f[o+8>>2]=a;f[o+12>>2]=(a|0)/2|0;a=f[e>>2]|0;if((f[m>>2]|0)==(a|0)){u=r;return}k=d+84|0;h=d+68|0;i=d+48|0;j=d+40|0;g=0;c=0;while(1){a=f[a+(c<<2)>>2]|0;if(!(b[k>>0]|0))a=f[(f[h>>2]|0)+(a<<2)>>2]|0;t=i;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j;s=f[w>>2]|0;a=$m(s|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,v|0,t|0)|0;Rg(n|0,(f[f[d>>2]>>2]|0)+a|0,s|0)|0;Jf(o,n,p,q);f[l+(g<<2)>>2]=f[p>>2];f[l+((g|1)<<2)>>2]=f[q>>2];c=c+1|0;a=f[e>>2]|0;if(c>>>0>=(f[m>>2]|0)-a>>2>>>0)break;else g=g+2|0}u=r;return}function Bf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=u;u=u+80|0;j=i;g=i+64|0;xl(j);k=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Nl(5)|0,d)|0;sj(j,k,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=an(96)|0;nl(h,j);kj(h,c)|0;f[g>>2]=h;Pi(a,g);h=f[g>>2]|0;f[g>>2]=0;if(h|0){k=h+88|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d+8>>2]|0;if(c|0){g=d+12|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;pq(c)}pq(d)}c=f[h+68>>2]|0;if(c|0){g=h+72|0;d=f[g>>2]|0;if((d|0)!=(c|0))f[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}k=h+64|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){g=d+4|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;pq(c)}pq(d)}pq(h)}if(!e){u=i;return}a=f[a+32>>2]|0;b[a+84>>0]=0;c=a+68|0;a=a+72|0;h=f[a>>2]|0;d=f[c>>2]|0;g=h-d>>2;if(g>>>0>>0){lh(c,e-g|0,1532);u=i;return}if(g>>>0<=e>>>0){u=i;return}d=d+(e<<2)|0;if((h|0)==(d|0)){u=i;return}f[a>>2]=h+(~((h+-4-d|0)>>>2)<<2);u=i;return}function Cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=b[c>>0]|0;n=b[c+1>>0]|0;i=b[c+2>>0]|0;l=((m&255^318)+239^n&255)+239^i&255;j=f[a+4>>2]|0;if(!j){p=0;return p|0}e=j+-1|0;d=(e&j|0)==0;if(!d)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;c=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!c){p=0;return p|0}c=f[c>>2]|0;if(!c){p=0;return p|0}if(d){while(1){h=f[c+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){c=0;h=24;break}if(((a?(g=c+8|0,(b[g>>0]|0)==m<<24>>24):0)?(b[g+1>>0]|0)==n<<24>>24:0)?(b[g+2>>0]|0)==i<<24>>24:0){h=24;break}c=f[c>>2]|0;if(!c){c=0;h=24;break}}if((h|0)==24)return c|0}else o=c;while(1){c=f[o+4>>2]|0;a=(c|0)==(l|0);if(!a){if(c>>>0>=j>>>0)c=(c>>>0)%(j>>>0)|0;if((c|0)!=(k|0)){c=0;h=24;break}if(a)h=21}else h=21;if((((h|0)==21?(h=0,p=o+8|0,(b[p>>0]|0)==m<<24>>24):0)?(b[p+1>>0]|0)==n<<24>>24:0)?(b[p+2>>0]|0)==i<<24>>24:0){c=o;h=24;break}o=f[o>>2]|0;if(!o){c=0;h=24;break}}if((h|0)==24)return c|0;return 0}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=f[b>>2]|0;d=f[c>>2]|0;g=d-l>>2;h=a+8|0;b=f[h>>2]|0;i=f[a>>2]|0;j=i;k=d;if(g>>>0<=b-i>>2>>>0){a=a+4|0;h=(f[a>>2]|0)-i>>2;e=g>>>0>h>>>0;h=e?l+(h<<2)|0:d;d=h-l|0;b=d>>2;if(b|0)bm(i|0,l|0,d|0)|0;d=j+(b<<2)|0;if(!e){b=f[a>>2]|0;if((b|0)==(d|0))return;f[a>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}g=f[c>>2]|0;b=h;if((b|0)==(g|0))return;c=f[a>>2]|0;e=g+-4-h|0;d=c;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(g|0))break;else d=d+4|0}f[a>>2]=c+((e>>>2)+1<<2);return}e=i;if(i){d=a+4|0;b=f[d>>2]|0;if((b|0)!=(j|0))f[d>>2]=b+(~((b+-4-i|0)>>>2)<<2);pq(e);f[h>>2]=0;f[d>>2]=0;f[a>>2]=0;b=0}if(g>>>0>1073741823)Fp(a);j=b>>1;b=b>>2>>>0<536870911?(j>>>0>>0?g:j):1073741823;if(b>>>0>1073741823)Fp(a);c=an(b<<2)|0;g=a+4|0;f[g>>2]=c;f[a>>2]=c;f[h>>2]=c+(b<<2);b=l;if((b|0)==(k|0))return;e=k+-4-l|0;d=c;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(k|0))break;else d=d+4|0}f[g>>2]=c+((e>>>2)+1<<2);return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=4194303)ra(19329,19748,356,19359);if(e>>>0>=1073741824)ra(19369,19748,357,19359);d=e+-4194304|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-4177920|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+4194304|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1077936128|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=2097151)ra(19329,19748,356,19359);if(e>>>0>=536870912)ra(19369,19748,357,19359);d=e+-2097152|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-2080768|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+6291456|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1075838976|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=1048575)ra(19329,19748,356,19359);if(e>>>0>=268435456)ra(19369,19748,357,19359);d=e+-1048576|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-1032192|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+7340032|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074790400|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=262143)ra(19329,19748,356,19359);if(e>>>0>=67108864)ra(19369,19748,357,19359);d=e+-262144|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-245760|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8126464|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074003968|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function If(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=131071)ra(19329,19748,356,19359);if(e>>>0>=33554432)ra(19369,19748,357,19359);d=e+-131072|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-114688|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8257536|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1073872896|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=Ka,p=Ka,q=0.0,r=Ka;r=$(n[b>>2]);m=+$(K($(r)));p=$(n[b+4>>2]);m=m+ +$(K($(p)));o=$(n[b+8>>2]);m=m+ +$(K($(o)));h=m>1.0e-06;m=1.0/m;l=f[a+12>>2]|0;q=+(l|0);k=~~+J(+(q*(h?+r*m:1.0)+.5));g=~~+J(+(q*(h?+p*m:0.0)+.5));e=(k|0)>-1;k=e?k:0-k|0;i=l-k-((g|0)>-1?g:0-g|0)|0;b=(i|0)<0;g=(b?((g|0)>0?i:0-i|0):0)+g|0;i=b?0:i;i=(h?+o*m:0.0)<0.0?0-i|0:i;h=(g|0)>-1?g:0-g|0;b=(i|0)>-1?i:0-i|0;if((h+k+b|0)!=(l|0))ra(14240,11885,99,14328);if(!e){if((g|0)>=0)b=(f[a+8>>2]|0)-b|0;if((i|0)<0)k=h;else k=(f[a+8>>2]|0)-h|0}else{b=l+g|0;k=l+i|0}i=(b|0)==0;j=(k|0)==0;e=f[a+8>>2]|0;if(!(k|b)){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}g=(e|0)==(k|0);h=(e|0)==(b|0);if(i&g|j&h){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}if(i&(l|0)<(k|0)){a=0;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(k|0)&h){a=b;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(b|0)&g){a=(l<<1)-b|0;l=k;f[c>>2]=a;f[d>>2]=l;return}else{a=(l|0)<(b|0)&j?(l<<1)-b|0:b;l=k;f[c>>2]=a;f[d>>2]=l;return}}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){cj(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);u=n;return}e=f[a>>2]|0;g=c-e>>2;c=g+b|0;if(c>>>0>1073741823)Fp(a);i=d-e|0;j=i>>1;c=i>>2>>>0<536870911?(j>>>0>>0?c:j):1073741823;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(c)if(c>>>0>1073741823){n=sa(8)|0;to(n,20196);f[n>>2]=7152;wa(n|0,1112,107)}else{d=an(c<<2)|0;break}else d=0;while(0);f[m>>2]=d;g=d+(g<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=g;j=m+12|0;f[j>>2]=d+(c<<2);cj(g|0,0,b<<2|0)|0;f[i>>2]=g+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];_h(m);u=n;return}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(((d-c|0)/12|0)>>>0>=b>>>0){cj(c|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}j=f[a>>2]|0;i=(c-j|0)/12|0;c=i+b|0;k=j;if(c>>>0>357913941)Fp(a);h=(d-j|0)/12|0;g=h<<1;g=h>>>0<178956970?(g>>>0>>0?c:g):357913941;do if(g)if(g>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{h=an(g*12|0)|0;break}else h=0;while(0);d=h+(i*12|0)|0;c=d;h=h+(g*12|0)|0;cj(d|0,0,b*12|0)|0;g=d+(b*12|0)|0;if((e|0)==(k|0))i=j;else{do{j=d+-12|0;b=e;e=e+-12|0;f[j>>2]=0;i=d+-8|0;f[i>>2]=0;f[d+-4>>2]=0;f[j>>2]=f[e>>2];j=b+-8|0;f[i>>2]=f[j>>2];b=b+-4|0;f[d+-4>>2]=f[b>>2];f[b>>2]=0;f[j>>2]=0;f[e>>2]=0;d=c+-12|0;c=d}while((e|0)!=(k|0));i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=c;f[l>>2]=g;f[m>>2]=h;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);pq(g)}}while((e|0)!=(h|0));if(!i)return;pq(i);return}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=32767)ra(19329,19748,356,19359);if(e>>>0>=8388608)ra(19369,19748,357,19359);d=e+-32768|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-16384|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8355840|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{i=e+-1073774592|0;b[a>>0]=i;b[a+1>>0]=i>>>8;b[a+2>>0]=i>>>16;i=4;e=a+3|0;a=h;d=192;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Nf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=Sg(a,b,c,d,g)|0;h=f[e>>2]|0;i=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=h>>>0)Fp(k);j=g;if(l>>>0<=i>>>0)Fp(k);if((f[j+(h<<3)>>2]|0)>>>0>=(f[j+(i<<3)>>2]|0)>>>0)return m|0;f[d>>2]=h;f[e>>2]=i;g=f[d>>2]|0;h=f[c>>2]|0;if(l>>>0<=g>>>0)Fp(k);if(l>>>0<=h>>>0)Fp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+1|0;return m|0}f[c>>2]=g;f[d>>2]=h;g=f[c>>2]|0;h=f[b>>2]|0;if(l>>>0<=g>>>0)Fp(k);if(l>>>0<=h>>>0)Fp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+2|0;return m|0}f[b>>2]=g;f[c>>2]=h;g=f[b>>2]|0;h=f[a>>2]|0;if(l>>>0<=g>>>0)Fp(k);if(l>>>0<=h>>>0)Fp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+3|0;return m|0}f[a>>2]=g;f[b>>2]=h;m=m+4|0;return m|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)ra(19536,19560,46,19667);if((b|0)<=0)ra(19696,19560,47,19667);g=c>>>1&1431655765|c<<1&-1431655766;g=g>>>2&858993459|g<<2&-858993460;g=g>>>4&252645135|g<<4&-252645136;g=g>>>8&16711935|g<<8&-16711936;c=32-b|0;g=(g>>>16|g<<16)>>>c;d=g-(g>>>1&1431655765)|0;d=(d>>>2&858993459)+(d&858993459)|0;d=(X((d>>>4)+d&252645135,16843009)|0)>>>24;i=b-d|0;j=f[a>>2]|0;h=j;i=Mn(f[h>>2]|0,f[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;h=j;f[h>>2]=i;f[h+4>>2]=I;j=j+8|0;h=j;d=Mn(f[h>>2]|0,f[h+4>>2]|0,d|0,0)|0;f[j>>2]=d;f[j+4>>2]=I;j=a+28|0;d=f[j>>2]|0;h=32-d|0;i=a+24|0;do if((h|0)>=(b|0)){e=-1>>>c<>2]&~e|e&g<>2]=e;b=d+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0)){Gi(a+12|0,i);d=0;c=0;break}else{f[c>>2]=e;f[d>>2]=c+4;d=0;c=0;break}}else{e=-1>>>d<>2]&~e|e&g<>2]=e;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0))Gi(a+12|0,i);else{f[c>>2]=e;f[d>>2]=c+4}c=b-h|0;d=c;c=-1>>>(32-c|0)&g>>>h}while(0);f[i>>2]=c;f[j>>2]=d;return}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)bm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Fp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Fp(a);h=an(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)bm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Fp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Fp(a);h=an(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function Rf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+352>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;wi(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Jj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;bg(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;zc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)ra(20748,20641,60,20738);else if((a|0)==11){u=o;return 1}return 0}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=f[b>>2]|0;l=f[b+4>>2]|0;g=f[b+8>>2]|0;j=((k^318)+239^l)+239^g;h=f[a+4>>2]|0;if(!h){m=0;return m|0}d=h+-1|0;c=(d&h|0)==0;if(!c)if(j>>>0>>0)i=j;else i=(j>>>0)%(h>>>0)|0;else i=j&d;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){m=0;return m|0}b=f[b>>2]|0;if(!b){m=0;return m|0}if(c){while(1){e=f[b+4>>2]|0;a=(e|0)==(j|0);if(!(a|(e&d|0)==(i|0))){b=0;e=24;break}if(((a?(f[b+8>>2]|0)==(k|0):0)?(f[b+12>>2]|0)==(l|0):0)?(f[b+16>>2]|0)==(g|0):0){e=24;break}b=f[b>>2]|0;if(!b){b=0;e=24;break}}if((e|0)==24)return b|0}else m=b;while(1){b=f[m+4>>2]|0;a=(b|0)==(j|0);if(!a){if(b>>>0>=h>>>0)b=(b>>>0)%(h>>>0)|0;if((b|0)!=(i|0)){b=0;e=24;break}if(a)e=21}else e=21;if((((e|0)==21?(e=0,(f[m+8>>2]|0)==(k|0)):0)?(f[m+12>>2]|0)==(l|0):0)?(f[m+16>>2]|0)==(g|0):0){b=m;e=24;break}m=f[m>>2]|0;if(!m){b=0;e=24;break}}if((e|0)==24)return b|0;return 0}function Tf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+32|0;e=m;l=a+16|0;d=l;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){u=m;return}i=Mn(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;i=An(i|0,I|0,3)|0;j=I;if(!(b[a+24>>0]|0)){h=a+4|0;e=h}else{n=f[a>>2]|0;g=a+4|0;n=n+((f[g>>2]|0)-n)|0;h=Mn(c|0,d|0,8,0)|0;h=n+(0-h)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;b[e+24>>0]=0;gh(i,j,e)|0;d=e+4|0;c=(f[d>>2]|0)-(f[e>>2]|0)|0;bm(h+c|0,h+8|0,i|0)|0;Rg(h|0,f[e>>2]|0,c|0)|0;h=l;c=Mn(f[h>>2]|0,f[h+4>>2]|0,8-c|0,0)|0;h=l;f[h>>2]=c;f[h+4>>2]=I;h=e+12|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)pq(c);c=f[e>>2]|0;if(c|0){if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}d=l;e=g;c=f[d>>2]|0;d=f[d+4>>2]|0;h=g}e=f[e>>2]|0;n=f[a>>2]|0;g=e-n|0;c=_n(i|0,j|0,c|0,d|0)|0;c=Mn(c|0,I|0,g|0,0)|0;d=n;if(c>>>0<=g>>>0){if(c>>>0>>0?(k=d+c|0,(e|0)!=(k|0)):0)f[h>>2]=k}else xi(a,c-g|0);n=l;f[n>>2]=0;f[n+4>>2]=0;u=m;return}function Uf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+288>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;wi(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Jj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;bg(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;zc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)ra(20748,20641,60,20738);else if((a|0)==11){u=o;return 1}return 0}function Vf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;l=a+36|0;j=a+4|0;i=a+8|0;d=(f[i>>2]|0)-(f[j>>2]|0)>>2;g=a+40|0;b=f[g>>2]|0;c=f[l>>2]|0;e=b-c>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=c+(d<<2)|0,(b|0)!=(h|0)):0)do{e=b+-4|0;f[g>>2]=e;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[g>>2]|0}while((b|0)!=(h|0))}else xg(l,d-e|0);if((f[i>>2]|0)==(f[j>>2]|0)){a=1;u=m;return a|0}d=a+52|0;c=a+48|0;e=0;while(1){Ta[f[(f[a>>2]|0)+56>>2]&15](k,a,e);h=(f[l>>2]|0)+(e<<2)|0;g=f[k>>2]|0;f[k>>2]=0;b=f[h>>2]|0;f[h>>2]=g;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[k>>2]|0;f[k>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[(f[l>>2]|0)+(e<<2)>>2]|0;if(!b){b=0;c=19;break}if(e>>>0<(f[d>>2]|0)>>>0?f[(f[c>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0:0)dp(b);e=e+1|0;if(e>>>0>=(f[i>>2]|0)-(f[j>>2]|0)>>2>>>0){b=1;c=19;break}}if((c|0)==19){u=m;return b|0}return 0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;j=l+4|0;i=l;Rh(f[c+12>>2]|0,b)|0;d=f[c+8>>2]|0;a:do if(d|0){k=b+16|0;h=b+4|0;while(1){e=d;if(!(xf(0,b,e+8|0)|0)){d=0;break}m=e+20|0;g=(f[e+24>>2]|0)-(f[m>>2]|0)|0;Rh(g,b)|0;e=f[m>>2]|0;m=k;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[h>>2];f[j>>2]=f[i>>2];Ke(b,j,e,e+g|0)|0}d=f[d>>2]|0;if(!d)break a}u=l;return d|0}while(0);Rh(f[c+32>>2]|0,b)|0;d=f[c+28>>2]|0;if(!d){n=1;u=l;return n|0}while(1){e=d;if(!(xf(0,b,e+8|0)|0)){d=0;e=10;break}Wf(a,b,f[e+20>>2]|0)|0;d=f[d>>2]|0;if(!d){d=1;e=10;break}}if((e|0)==10){u=l;return d|0}return 0}function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f[a+4>>2]=f[b+4>>2];j=a+8|0;k=b+8|0;if((a|0)==(b|0))return a|0;i=b+12|0;c=f[i>>2]|0;if(!c)c=0;else{h=a+16|0;do if(c>>>0>f[h>>2]<<5>>>0){d=f[j>>2]|0;if(d){pq(d);f[j>>2]=0;f[h>>2]=0;f[a+12>>2]=0;c=f[i>>2]|0}if((c|0)<0)Fp(j);else{e=((c+-1|0)>>>5)+1|0;g=an(e<<2)|0;f[j>>2]=g;f[a+12>>2]=0;f[h>>2]=e;e=f[i>>2]|0;break}}else{e=c;g=f[j>>2]|0}while(0);bm(g|0,f[k>>2]|0,((e+-1|0)>>>5<<2)+4|0)|0;c=f[i>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;do if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){pq(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Fp(h);else{l=((c+-1|0)>>>5)+1|0;m=an(l<<2)|0;f[h>>2]=m;f[a+24>>2]=0;f[e>>2]=l;l=f[g>>2]|0;break}}else{l=c;m=f[h>>2]|0}while(0);bm(m|0,f[i>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function Yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;if(!(eh(a,c,d)|0)){l=0;u=m;return l|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){l=0;u=m;return l|0}i=f[c+48>>2]|0;c=an(32)|0;f[k>>2]=c;f[k+8>>2]=-2147483616;f[k+4>>2]=17;e=c;g=17860;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+17>>0]=0;h=i+16|0;e=f[h>>2]|0;if(e){c=h;a:while(1){g=e;while(1){if((f[g+16>>2]|0)>=(d|0))break;e=f[g+4>>2]|0;if(!e)break a;else g=e}e=f[g>>2]|0;if(!e){c=g;break}else c=g}if(((c|0)!=(h|0)?(f[c+16>>2]|0)<=(d|0):0)?(j=c+20|0,(Oh(j,k)|0)!=0):0)c=Bk(j,k,-1)|0;else l=12}else l=12;if((l|0)==12)c=Bk(i,k,-1)|0;if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);if((c|0)<1){l=0;u=m;return l|0}Oo(a+40|0,c);l=1;u=m;return l|0}function Zf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Ak(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Ak(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Ak(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);pq(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Fp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Fp(a);e=an(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Rg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Rg(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function $f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];ve(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=(c|0)/32|0;bm(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function ag(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;m=q;f[a+52>>2]=e;f[a+44>>2]=g;k=mq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;d=f[l>>2]|0;f[l>>2]=k;if(d|0)nq(d);k=a+36|0;g=f[k>>2]|0;h=f[g+4>>2]|0;i=f[g>>2]|0;d=h-i|0;if((d|0)<=0){u=q;return 1}d=(d>>>2)+-1|0;j=a+8|0;if(h-i>>2>>>0>d>>>0){o=i;p=d}else{i=g;Fp(i)}while(1){f[m>>2]=f[o+(p<<2)>>2];f[n>>2]=f[m>>2];uc(a,n,b,p);o=X(p,e)|0;ai(j,b+(o<<2)|0,f[l>>2]|0,c+(o<<2)|0);p=p+-1|0;if((p|0)<=-1){g=5;break}d=f[k>>2]|0;o=f[d>>2]|0;if((f[d+4>>2]|0)-o>>2>>>0<=p>>>0){g=6;break}}if((g|0)==5){u=q;return 1}else if((g|0)==6)Fp(d);return 0}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823)Fp(a);j=d>>1;d=d>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(d>>>0>1073741823)Fp(a);h=an(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=f[d>>2]|0;m=f[d+4>>2]|0;a:do if((e|0)==(m|0)){n=a+8|0;o=a+12|0;q=0}else{k=f[c>>2]|0;l=a+8|0;j=a+12|0;d=0;b:while(1){h=f[e>>2]|0;i=f[k+(h<<2)>>2]|0;if((i|0)>=(d|0)){d=f[l>>2]|0;c=(f[j>>2]|0)-d|0;if((c|0)>0){g=c>>2;a=0;do{c=f[d+(a<<2)>>2]|0;if(b[c+84>>0]|0)break b;c=f[c+68>>2]|0;f[c+(i<<2)>>2]=f[c+(h<<2)>>2];a=a+1|0}while((a|0)<(g|0))}d=i+1|0}e=e+4|0;if((e|0)==(m|0)){n=l;o=j;q=d;break a}}ra(20060,20079,89,20179)}while(0);c=f[o>>2]|0;d=f[n>>2]|0;if((c-d|0)>0)j=0;else return;do{g=f[d+(j<<2)>>2]|0;b[g+84>>0]=0;h=g+68|0;g=g+72|0;e=f[g>>2]|0;a=f[h>>2]|0;i=e-a>>2;if(q>>>0<=i>>>0){if(q>>>0>>0?(p=a+(q<<2)|0,(e|0)!=(p|0)):0)f[g>>2]=e+(~((e+-4-p|0)>>>2)<<2)}else{lh(h,q-i|0,6108);d=f[n>>2]|0;c=f[o>>2]|0}j=j+1|0}while((j|0)<(c-d>>2|0));return}function dg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;m=q;f[a+52>>2]=e;f[a+44>>2]=g;k=mq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;d=f[l>>2]|0;f[l>>2]=k;if(d|0)nq(d);k=a+36|0;g=f[k>>2]|0;h=f[g+4>>2]|0;i=f[g>>2]|0;d=h-i|0;if((d|0)<=0){u=q;return 1}d=(d>>>2)+-1|0;j=a+8|0;if(h-i>>2>>>0>d>>>0){o=i;p=d}else{i=g;Fp(i)}while(1){f[m>>2]=f[o+(p<<2)>>2];f[n>>2]=f[m>>2];sc(a,n,b,p);o=X(p,e)|0;ai(j,b+(o<<2)|0,f[l>>2]|0,c+(o<<2)|0);p=p+-1|0;if((p|0)<=-1){g=5;break}d=f[k>>2]|0;o=f[d>>2]|0;if((f[d+4>>2]|0)-o>>2>>>0<=p>>>0){g=6;break}}if((g|0)==5){u=q;return 1}else if((g|0)==6)Fp(d);return 0}function eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q;if(!b){c=0;u=q;return c|0}n=b+96|0;m=b+100|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;b=f[m>>2]|0;a=f[n>>2]|0;e=(b-a|0)/12|0;if(e>>>0>=c>>>0){if(e>>>0>c>>>0?(g=a+(c*12|0)|0,(b|0)!=(g|0)):0)f[m>>2]=b+(~(((b+-12-g|0)>>>0)/12|0)*12|0)}else Dg(n,c-e|0,o);if((c|0)<=0){c=1;u=q;return c|0}a=f[n>>2]|0;k=0;do{h=k*3|0;i=f[d+(h<<2)>>2]|0;j=f[d+(h+1<<2)>>2]|0;h=f[d+(h+2<<2)>>2]|0;e=f[m>>2]|0;g=(e-a|0)/12|0;b=a;l=k;k=k+1|0;if((l|0)>=(g|0)){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if(k>>>0<=g>>>0){if(k>>>0>>0?(p=b+(k*12|0)|0,(e|0)!=(p|0)):0)f[m>>2]=e+(~(((e+-12-p|0)>>>0)/12|0)*12|0)}else{Dg(n,k-g|0,o);a=f[n>>2]|0;b=a}}f[b+(l*12|0)>>2]=i;f[b+(l*12|0)+4>>2]=j;f[b+(l*12|0)+8>>2]=h}while((k|0)!=(c|0));a=1;u=q;return a|0}function fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;pq(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Fp(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Fp(a);e=an(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;if((g|0)==(c|0))c=k;else{e=k;while(1){b[e>>0]=b[c>>0]|0;c=c+1|0;if((c|0)==(g|0))break;else e=e+1|0}c=k+(g-j)|0}if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}function gg(a){a=a|0;Uk(a);Uk(a+32|0);Uk(a+64|0);Uk(a+96|0);Uk(a+128|0);Uk(a+160|0);Uk(a+192|0);Uk(a+224|0);Uk(a+256|0);Uk(a+288|0);Uk(a+320|0);Uk(a+352|0);Uk(a+384|0);Uk(a+416|0);Uk(a+448|0);Uk(a+480|0);Uk(a+512|0);Uk(a+544|0);Uk(a+576|0);Uk(a+608|0);Uk(a+640|0);Uk(a+672|0);Uk(a+704|0);Uk(a+736|0);Uk(a+768|0);Uk(a+800|0);Uk(a+832|0);Uk(a+864|0);Uk(a+896|0);Uk(a+928|0);Uk(a+960|0);Uk(a+992|0);Uk(a+1024|0);return}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)ra(20264,20276,110,20374);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))ph(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){Gi(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;pq(e)}pq(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;pq(e)}pq(d)}pq(b);u=j;return}function ig(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n;l=n+4|0;f[m>>2]=c;c=an(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=17;i=c;j=17860;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+17>>0]=0;Hj(Dd(a,m)|0,l,d);if((b[l+11>>0]|0)<0)pq(f[l>>2]|0);c=an(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=19;i=c;j=17803;k=i+19|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+19>>0]=0;ci(Dd(a,m)|0,l,g,e);if((b[l+11>>0]|0)<0)pq(f[l>>2]|0);c=an(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=18;i=c;j=17823;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+18>>0]=0;Cj(Dd(a,m)|0,l,h);if((b[l+11>>0]|0)>=0){u=n;return}pq(f[l>>2]|0);u=n;return}function jg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;s=u;u=u+16|0;r=s+4|0;q=s;n=a+8|0;g=f[n>>2]|0;a=f[g+40>>2]|0;p=mq((a|0)>-1?a:-1)|0;l=c+4|0;h=f[l>>2]|0;e=f[c>>2]|0;if((h|0)==(e|0)){nq(p);u=s;return 1}o=d+16|0;m=d+4|0;k=p+a|0;i=g;j=g;g=0;while(1){a=f[e+(g<<2)>>2]|0;if(!(b[i+84>>0]|0))a=f[(f[i+68>>2]|0)+(a<<2)>>2]|0;t=j+48|0;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j+40|0;i=f[w>>2]|0;a=$m(i|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,v|0,t|0)|0;Rg(p|0,(f[f[j>>2]>>2]|0)+a|0,i|0)|0;j=o;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)a=h;else{f[q>>2]=f[m>>2];f[r>>2]=f[q>>2];Ke(d,r,p,k)|0;e=f[c>>2]|0;a=f[l>>2]|0}g=g+1|0;if(g>>>0>=a-e>>2>>>0)break;j=f[n>>2]|0;i=j;h=a}nq(p);u=s;return 1}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p;d=f[b>>2]|0;f[n>>2]=d;l=a+12|0;c=(d|0)<0;b=d+1|0;do if(!c){f[n+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[n+4>>2]=d;b=d}while(0);f[n+8>>2]=b;j=c?-1073741824:(d>>>0)/3|0;i=a+28|0;k=(f[i>>2]|0)+(j>>>5<<2)|0;f[k>>2]=1<<(j&31)|f[k>>2];k=a+172|0;j=a+176|0;h=a+280|0;c=d;b=0;while(1){if((((c|0)>=0?(o=f[(f[(f[l>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(o|0)>=0):0)?(g=(o>>>0)/3|0,(f[(f[i>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0)?(m=f[k>>2]|0,(f[j>>2]|0)!=(m|0)):0){g=c>>>5;e=1<<(c&31);c=m;a=0;do{d=(f[h>>2]|0)+(a<<5)|0;if(!(e&f[(f[c+(a*108|0)+4>>2]|0)+(g<<2)>>2]))$i(d,0);else $i(d,1);a=a+1|0;c=f[k>>2]|0}while(a>>>0<(((f[j>>2]|0)-c|0)/108|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[n+(b<<2)>>2]|0}u=p;return 1}function lg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;o=e;return o|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;j=a<<24>>24<0;a=j?f[g+20>>2]|0:a&255;i=a>>>0>>0;e=i?a:m;if((e|0)!=0?(o=fl(l,j?f[h>>2]|0:h,e)|0,(o|0)!=0):0)if((o|0)<0)k=8;else k=10;else if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if((e|0)!=0?(n=fl(j?f[h>>2]|0:h,l,e)|0,(n|0)!=0):0){if((n|0)>=0){k=16;break}}else k=12;if((k|0)==12?(0,!i):0){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;o=g;return o|0}else if((k|0)==15){f[c>>2]=g;o=d;return o|0}else if((k|0)==16){f[c>>2]=g;o=d;return o|0}return 0}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{bm(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}h=an(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{pq(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;h=l+8|0;i=l+4|0;g=l;k=a+12|0;j=a+4|0;c=f[j>>2]|0;if((c|0)==(f[a+8>>2]|0)){Gi(a,k);c=f[j>>2]|0}else{f[c>>2]=f[k>>2];c=c+4|0;f[j>>2]=c}d=f[a>>2]|0;f[g>>2]=c-d;e=b+16|0;c=e;m=f[c+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ke(b,h,g,g+4|0)|0;d=f[a>>2]|0;c=f[g>>2]|0;m=e;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ke(b,h,d,d+c|0)|0;d=f[a>>2]|0}}c=f[j>>2]|0;if((c|0)==(d|0)){f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}f[j>>2]=c+(~((c+-4-d|0)>>>2)<<2);f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}function og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Jj(f[a+4>>2]|0,(f[c+56>>2]|0)-(f[c+52>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];mc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];mc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)bm(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Rg(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);pq(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823)Fp(a);m=d>>1;d=d>>2>>>0<536870911?(m>>>0>>0?g:m):1073741823;if(d>>>0>1073741823)Fp(a);e=an(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Rg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function qg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;e=a+24|0;i=f[a+32>>2]|0;if(i>>>0<=16383)ra(19329,19748,356,19359);if(i>>>0>=4194304)ra(19369,19748,357,19359);d=i+-16384|0;do if(d>>>0>=64){g=a+28|0;a=(f[e>>2]|0)+(f[g>>2]|0)|0;if(d>>>0<16384){b[a>>0]=i;h=2;e=a+1|0;a=g;d=i>>>8;break}else{d=i+8372224|0;b[a>>0]=d;b[a+1>>0]=d>>>8;h=3;e=a+2|0;a=g;d=d>>>16;break}}else{a=a+28|0;h=1;e=(f[e>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+h|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;i=m+4|0;j=m;l=m+8|0;k=a+4|0;if((f[k>>2]|0)==-1){l=0;u=m;return l|0}g=f[a+8>>2]|0;h=c+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){e=(f[a+12>>2]|0)-g|0;f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,g,g+e|0)|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;g=a+20|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,g,g+4|0)|0;d=h;e=f[d+4>>2]|0;d=f[d>>2]|0}}b[l>>0]=f[k>>2];if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,l,l+1|0)|0}l=1;u=m;return l|0}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;pq(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Fp(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Fp(a);e=an(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)bm(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{bm(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}h=an(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){pq(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Xf(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{_f(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);_f(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);_f(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];pg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function vg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=f[b>>2]|0;j=f[a>>2]|0;l=f[d>>2]|0;d=f[l>>2]|0;m=(f[l+4>>2]|0)-d>>3;if(m>>>0<=i>>>0)Fp(l);k=d;if(m>>>0<=j>>>0)Fp(l);d=f[k+(i<<3)>>2]|0;e=f[c>>2]|0;if(m>>>0<=e>>>0)Fp(l);h=k+(j<<3)|0;g=(f[k+(e<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[h>>2]|0)>>>0){if(g){f[a>>2]=e;f[c>>2]=j;b=1;return b|0}f[a>>2]=i;f[b>>2]=j;d=f[c>>2]|0;if(m>>>0<=d>>>0)Fp(l);if((f[k+(d<<3)>>2]|0)>>>0>=(f[h>>2]|0)>>>0){b=1;return b|0}f[b>>2]=d;f[c>>2]=j;b=2;return b|0}if(!g){b=0;return b|0}f[b>>2]=e;f[c>>2]=i;d=f[b>>2]|0;e=f[a>>2]|0;if(m>>>0<=d>>>0)Fp(l);if(m>>>0<=e>>>0)Fp(l);if((f[k+(d<<3)>>2]|0)>>>0>=(f[k+(e<<3)>>2]|0)>>>0){b=1;return b|0}f[a>>2]=d;f[b>>2]=e;b=2;return b|0}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;o=r+4|0;q=r;p=a+4|0;c=f[p>>2]|0;m=a+8|0;d=f[m>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[m>>2]=c}l=a+16|0;j=f[l>>2]|0;k=a+20|0;d=f[k>>2]|0;e=j;if((d|0)!=(j|0))f[k>>2]=d+(~((d+-4-e|0)>>>2)<<2);d=f[b>>2]|0;j=f[b+4>>2]|0;if((d|0)==(j|0)){u=r;return}i=a+12|0;h=d;do{d=f[h>>2]|0;f[o>>2]=d;if((c|0)==(f[i>>2]|0)){Gi(p,o);e=f[l>>2]|0}else{f[c>>2]=d;f[m>>2]=c+4}d=f[o>>2]|0;b=f[k>>2]|0;g=b-e>>2;c=e;if((d|0)<(g|0))b=c;else{a=d+1|0;f[q>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(n=c+(a<<2)|0,(b|0)!=(n|0)):0)f[k>>2]=b+(~((b+-4-n|0)>>>2)<<2)}else{lh(l,a-g|0,q);e=f[l>>2]|0;d=f[o>>2]|0;c=e}b=c}c=f[m>>2]|0;f[b+(d<<2)>>2]=(c-(f[p>>2]|0)>>2)+-1;h=h+4|0}while((h|0)!=(j|0));u=r;return}function xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;e=f[m>>2]|0;l=a+4|0;d=f[l>>2]|0;c=d;if(e-d>>2>>>0>=b>>>0){cj(d|0,0,b<<2|0)|0;f[l>>2]=d+(b<<2);return}g=f[a>>2]|0;d=d-g>>2;j=d+b|0;k=g;if(j>>>0>1073741823)Fp(a);i=e-g|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?j:h):1073741823;do if(h)if(h>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{i=an(h<<2)|0;break}else i=0;while(0);e=i+(d<<2)|0;cj(e|0,0,b<<2|0)|0;d=e;b=i+(h<<2)|0;h=i+(j<<2)|0;if((c|0)!=(k|0)){do{c=c+-4|0;j=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=j;e=d+-4|0;d=e}while((c|0)!=(k|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=b;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;pq(g);return}function yg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;o=a+40|0;f[a+44>>2]=g;l=a+36|0;h=f[l>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;d=i-j|0;if((d|0)<=0){u=r;return 1}d=(d>>>2)+-1|0;k=a+8|0;g=a+48|0;if(i-j>>2>>>0>d>>>0){p=j;q=d}else{a=h;Fp(a)}while(1){f[m>>2]=f[p+(q<<2)>>2];f[n>>2]=f[m>>2];nb(o,n,b,q);p=X(q,e)|0;ai(k,b+(p<<2)|0,g,c+(p<<2)|0);q=q+-1|0;if((q|0)<=-1){g=3;break}d=f[l>>2]|0;p=f[d>>2]|0;if((f[d+4>>2]|0)-p>>2>>>0<=q>>>0){g=4;break}}if((g|0)==3){u=r;return 1}else if((g|0)==4)Fp(d);return 0}function zg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=6080;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}$h(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Ji(c);pq(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}pq(b)}Ji(e);pq(e);return}function Ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)ra(19893,19918,63,20001);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))ra(20006,19918,64,20001);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))Gi(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){Gi(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;ze(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=(c|0)/32|0;bm(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Cg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Jj(f[a+4>>2]|0,(f[c+28>>2]|0)-(f[c+24>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];wc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];wc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=f[a>>2]|0;h=(d-g|0)/12|0;d=h+b|0;if(d>>>0>357913941)Fp(a);g=(e-g|0)/12|0;i=g<<1;d=g>>>0<178956970?(i>>>0>>0?d:i):357913941;do if(d)if(d>>>0>357913941){k=sa(8)|0;to(k,20196);f[k>>2]=7152;wa(k|0,1112,107)}else{e=an(d*12|0)|0;break}else e=0;while(0);i=e+(h*12|0)|0;h=e+(d*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Rg(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;pq(d);return}function Eg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;o=a+40|0;f[a+44>>2]=g;l=a+36|0;h=f[l>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;d=i-j|0;if((d|0)<=0){u=r;return 1}d=(d>>>2)+-1|0;k=a+8|0;g=a+48|0;if(i-j>>2>>>0>d>>>0){p=j;q=d}else{a=h;Fp(a)}while(1){f[m>>2]=f[p+(q<<2)>>2];f[n>>2]=f[m>>2];mb(o,n,b,q);p=X(q,e)|0;ai(k,b+(p<<2)|0,g,c+(p<<2)|0);q=q+-1|0;if((q|0)<=-1){g=3;break}d=f[l>>2]|0;p=f[d>>2]|0;if((f[d+4>>2]|0)-p>>2>>>0<=q>>>0){g=4;break}}if((g|0)==3){u=r;return 1}else if((g|0)==4)Fp(d);return 0}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;hg(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}pq(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){rh(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Gg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=an(32)|0;f[a>>2]=g;f[a+4>>2]=c+4;h=a+8|0;b[h>>0]=0;f[g+16>>2]=f[d>>2];i=g+20|0;f[g+24>>2]=0;f[g+28>>2]=0;c=g+24|0;f[i>>2]=c;a=f[d+4>>2]|0;g=d+8|0;if((a|0)==(g|0)){b[h>>0]=1;u=l;return}e=c;do{c=a+16|0;f[j>>2]=e;f[k>>2]=f[j>>2];Xg(i,k,c,c)|0;c=f[a+4>>2]|0;if(!c){c=a+8|0;d=f[c>>2]|0;if((f[d>>2]|0)==(a|0))a=d;else do{d=f[c>>2]|0;c=d+8|0;a=f[c>>2]|0}while((f[a>>2]|0)!=(d|0))}else{a=c;while(1){c=f[a>>2]|0;if(!c)break;else a=c}}}while((a|0)!=(g|0));b[h>>0]=1;u=l;return}function Hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=a+4|0;f[i>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+48>>2]|0;e=an(32)|0;f[j>>2]=e;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=e;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[e+19>>0]=0;d=(Oh(d,j)|0)==0;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);e=f[(f[i>>2]|0)+48>>2]|0;if(d){j=(fi(e)|0)>5&1;b[a+352>>0]=j;u=k;return 1}d=an(32)|0;f[j>>2]=d;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=d;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[d+19>>0]=0;i=(Qj(e,j,0)|0)&1;b[a+352>>0]=i;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);u=k;return 1}function Ig(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;i=a+108|0;d=(f[a+112>>2]|0)-(f[i>>2]|0)|0;g=(d|0)/12|0;e=a+4|0;Rh(g,f[(f[e>>2]|0)+44>>2]|0)|0;if(!d)return 1;a=0;c=0;while(1){j=f[i>>2]|0;d=j+(a*12|0)+4|0;Rh((f[d>>2]|0)-c|0,f[(f[e>>2]|0)+44>>2]|0)|0;Rh((f[d>>2]|0)-(f[j+(a*12|0)>>2]|0)|0,f[(f[e>>2]|0)+44>>2]|0)|0;a=a+1|0;if(a>>>0>=g>>>0)break;else c=f[d>>2]|0}ti(f[(f[e>>2]|0)+44>>2]|0,g,0,0)|0;c=0;do{a=f[(f[e>>2]|0)+44>>2]|0;j=a+16|0;d=f[j+4>>2]|0;if((d|0)>0|(d|0)==0&(f[j>>2]|0)>>>0>0){l=f[a+12>>2]|0;j=l+4|0;a=f[j>>2]|0;k=b[(f[i>>2]|0)+(c*12|0)+8>>0]&1;d=a>>>3;a=a&7;m=(f[l>>2]|0)+d|0;b[m>>0]=(h[m>>0]|0)&(1<>2]|0)+d|0;b[d>>0]=h[d>>0]|0|k<>2]=(f[j>>2]|0)+1}c=c+1|0}while(c>>>0>>0);Tf(f[(f[e>>2]|0)+44>>2]|0);return 1}function Jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+80|0;g=e+36|0;h=e;Kn(g,c);Be(h,b,c);xh(g,h);lj(h+24|0,f[h+28>>2]|0);vj(h+12|0,f[h+16>>2]|0);lj(h,f[h+4>>2]|0);Li(a,g,d);lj(g+24|0,f[g+28>>2]|0);vj(g+12|0,f[g+16>>2]|0);lj(g,f[g+4>>2]|0);u=e;return}function Kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=a+4|0;f[i>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+48>>2]|0;e=an(32)|0;f[j>>2]=e;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=e;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[e+19>>0]=0;d=(Oh(d,j)|0)==0;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);e=f[(f[i>>2]|0)+48>>2]|0;if(d){j=(fi(e)|0)>5&1;b[a+288>>0]=j;u=k;return 1}d=an(32)|0;f[j>>2]=d;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=d;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[d+19>>0]=0;i=(Qj(e,j,0)|0)&1;b[a+288>>0]=i;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);u=k;return 1}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Fp(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{e=an(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;pq(g);return}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+16|0;e=o;j=c+1|0;f[e>>2]=0;n=e+4|0;f[n>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)Fp(e);else{l=an(j<<2)|0;f[e>>2]=l;m=l+(j<<2)|0;f[e+8>>2]=m;cj(l|0,0,(c<<2)+4|0)|0;f[n>>2]=m;k=l;break}else{k=0;l=0;m=0}while(0);if((b|0)>0){e=0;do{p=l+(f[a+(e<<2)>>2]<<2)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+1|0}while((e|0)!=(b|0))}i=+(b|0);if((c|0)<0){e=0;g=0.0}else{b=0;e=0;g=0.0;do{p=f[l+(b<<2)>>2]|0;h=+(p|0);if((p|0)>0){e=e+1|0;g=g+h*+Yg(h/i)}b=b+1|0}while((b|0)!=(j|0))}if(d|0)f[d>>2]=e;i=-g;e=~~i>>>0;b=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;if(!l){I=b;u=o;return e|0}if((m|0)!=(l|0))f[n>>2]=m+(~((m+-4-l|0)>>>2)<<2);pq(k);I=b;u=o;return e|0}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Fp(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{e=an(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){Ji(d);pq(d)}}while((c|0)!=(e|0));if(!g)return;pq(g);return}function Og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;o=q+16|0;n=q+12|0;p=q;f[a>>2]=0;m=a+4|0;f[m>>2]=0;f[a+8>>2]=0;k=c;e=f[k>>2]|0;k=f[k+4>>2]|0;l=f[d+4>>2]|0;c=l-k|0;if(!c){u=q;return}if(c>>>0>357913941)Fp(a);d=an(c*12|0)|0;f[m>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(c*12|0);if((l|0)==(k|0)){u=q;return}j=e+84|0;g=e+68|0;h=p+4|0;i=p+8|0;a=k;do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[j>>0]|0))c=f[(f[g>>2]|0)+(a<<2)>>2]|0;else c=a;f[n>>2]=c;f[o>>2]=f[n>>2];rb(e,o,3,p)|0;f[d>>2]=f[p>>2];f[d+4>>2]=f[h>>2];f[d+8>>2]=f[i>>2];a=a+1|0;d=(f[m>>2]|0)+12|0;f[m>>2]=d}while((a|0)!=(l|0));u=q;return}function Pg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))ra(20748,20641,60,20738);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=ki(c,d)|0;if((b|0)==-2)b=0;else{do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ze(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=an(44)|0;f[b>>2]=1544;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);f[b>>2]=1600}f[a>>2]=b;return}function Qg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=fl(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=fl(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Rg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ea(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Sg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=vg(a,b,c,e)|0;g=f[d>>2]|0;h=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=g>>>0)Fp(j);i=e;if(k>>>0<=h>>>0)Fp(j);if((f[i+(g<<3)>>2]|0)>>>0>=(f[i+(h<<3)>>2]|0)>>>0)return l|0;f[c>>2]=g;f[d>>2]=h;e=f[c>>2]|0;g=f[b>>2]|0;if(k>>>0<=e>>>0)Fp(j);if(k>>>0<=g>>>0)Fp(j);if((f[i+(e<<3)>>2]|0)>>>0>=(f[i+(g<<3)>>2]|0)>>>0){l=l+1|0;return l|0}f[b>>2]=e;f[c>>2]=g;e=f[b>>2]|0;g=f[a>>2]|0;if(k>>>0<=e>>>0)Fp(j);if(k>>>0<=g>>>0)Fp(j);if((f[i+(e<<3)>>2]|0)>>>0>=(f[i+(g<<3)>>2]|0)>>>0){l=l+2|0;return l|0}f[a>>2]=e;f[b>>2]=g;l=l+3|0;return l|0}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=fo(Ba(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=fo(Ba(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Ug(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;d=an(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=17;e=d;g=17755;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+17>>0]=0;h=c+16|0;e=f[h>>2]|0;if(e){d=h;a:while(1){g=e;while(1){if((f[g+16>>2]|0)>=(a|0))break;e=f[g+4>>2]|0;if(!e)break a;else g=e}e=f[g>>2]|0;if(!e){d=g;break}else d=g}if(((d|0)!=(h|0)?(f[d+16>>2]|0)<=(a|0):0)?(i=d+20|0,(Oh(i,k)|0)!=0):0)c=i;else j=10}else j=10;c=Bk(c,k,-1)|0;if((b[k+11>>0]|0)>=0){j=(c|0)==-1;k=c>>>0>6;k=k?-2:c;k=j?-1:k;u=l;return k|0}pq(f[k>>2]|0);j=(c|0)==-1;k=c>>>0>6;k=k?-2:c;k=j?-1:k;u=l;return k|0}function Vg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;vg(a,a+4|0,e,c)|0;d=a+12|0;if((d|0)==(b|0))return;l=f[c>>2]|0;j=f[l>>2]|0;k=(f[l+4>>2]|0)-j>>3;c=e;a:while(1){i=f[d>>2]|0;e=f[c>>2]|0;if(k>>>0<=i>>>0){c=5;break}if(k>>>0<=e>>>0){c=7;break}h=j+(i<<3)|0;if((f[h>>2]|0)>>>0<(f[j+(e<<3)>>2]|0)>>>0){g=d;while(1){f[g>>2]=e;if((c|0)==(a|0)){c=a;break}g=c+-4|0;e=f[g>>2]|0;if(k>>>0<=e>>>0){c=11;break a}if((f[h>>2]|0)>>>0>=(f[j+(e<<3)>>2]|0)>>>0)break;else{m=c;c=g;g=m}}f[c>>2]=i}c=d+4|0;if((c|0)==(b|0)){c=3;break}else{m=d;d=c;c=m}}if((c|0)==3)return;else if((c|0)==5)Fp(l);else if((c|0)==7)Fp(l);else if((c|0)==11)Fp(l)}function Xg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;g=h+8|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=vd(a,e,g,h+4|0,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=an(40)|0;dj(e+16|0,d);dj(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}He(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function Yg(a){a=+a;var b=0,c=0,d=0,e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;p[s>>3]=a;c=f[s>>2]|0;b=f[s+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;b=f[s+4>>2]|0;d=f[s>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;f[s>>2]=d;f[s+4>>2]=(e&1048575)+1072079006;k=+p[s>>3]+-1.0;i=k*k*.5;h=k/(k+2.0);j=h*h;a=j*j;p[s>>3]=k-i;d=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=d;g=+p[s>>3];a=k-g-i+h*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+j*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));j=g*1.4426950407214463;i=+(c+(e>>>20)|0);h=i+j;a=h+(j+(i-h)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function Zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+16|0;l=m;j=a+4|0;f[j>>2]=0;if(!c){u=m;return}i=a+8|0;e=f[i>>2]|0;g=e<<5;if(g>>>0>>0){f[l>>2]=0;k=l+4|0;f[k>>2]=0;h=l+8|0;f[h>>2]=0;if((c|0)<0)Fp(a);e=e<<6;n=c+31&-32;gi(l,g>>>0<1073741823?(e>>>0>>0?n:e):2147483647);e=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=e;l=f[j>>2]|0;f[j>>2]=c;f[k>>2]=l;l=f[i>>2]|0;f[i>>2]=f[h>>2];f[h>>2]=l;if(e|0)pq(e)}else f[j>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){cj(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=m;return}else{cj(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=m;return}}function _g(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(Lo(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Lo(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Va[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Wa[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else ym(0,c,d,e);while(0);return}function $g(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=a+32|0;m=f[a+64>>2]|0;m=(Ma[f[(f[m>>2]|0)+40>>2]&127](m)|0)+52|0;m=f[m>>2]|0;m=(((f[m+100>>2]|0)-(f[m+96>>2]|0)|0)/12|0)*3|0;ti(n,m,((m|0)<0)<<31>>31,1)|0;m=a+68|0;c=f[m>>2]|0;d=(f[a+72>>2]|0)-c|0;if((d|0)<=0){Tf(n);return}l=a+48|0;j=a+44|0;a=(d>>>2)+-1|0;while(1){c=f[c+(a<<2)>>2]|0;d=f[3412+(c<<2)>>2]|0;i=l;g=f[i+4>>2]|0;if((g|0)>0|(g|0)==0&(f[i>>2]|0)>>>0>0?(k=f[j>>2]|0,171>>>c&1|0):0){i=k+4|0;e=f[i>>2]|0;g=0;do{o=e>>>3;p=e&7;q=(f[k>>2]|0)+o|0;b[q>>0]=(h[q>>0]|0)&(1<>2]|0)+o|0;b[o>>0]=h[o>>0]|0|(c>>>g&1)<>2]|0)+1|0;f[i>>2]=e;g=g+1|0}while((g|0)!=(d|0))}a=a+-1|0;if((a|0)<=-1)break;c=f[m>>2]|0}Tf(n);return}function ah(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))ra(20748,20641,60,20738);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=ki(c,d)|0;if((b|0)==-2)b=0;else{do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ue(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=an(24)|0;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b>>2]=2448}f[a>>2]=b;return}function bh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;d=a+4|0;i=f[d>>2]|0;i=(f[i+12>>2]|0)-(f[i+8>>2]|0)|0;b=i>>2;a:do if((i|0)>0){c=0;while(1){if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,c)|0)){b=0;break}c=c+1|0;b=f[d>>2]|0;b=(f[b+12>>2]|0)-(f[b+8>>2]|0)>>2;if((c|0)>=(b|0))break a}return b|0}while(0);i=a+20|0;e=a+24|0;c=f[e>>2]|0;d=f[i>>2]|0;g=c-d>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=d+(b<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else qi(i,b-g|0);c=f[a+12>>2]|0;b=f[a+8>>2]|0;a=b;if((c|0)==(b|0)){i=1;return i|0}h=c-b>>2;g=0;do{c=f[a+(g<<2)>>2]|0;b=f[c+8>>2]|0;c=f[c+4>>2]|0;d=c;if((b|0)!=(c|0)){e=f[i>>2]|0;c=b-c>>2;b=0;do{f[e+(f[d+(b<<2)>>2]<<2)>>2]=g;b=b+1|0}while(b>>>0>>0)}g=g+1|0}while(g>>>0>>0);b=1;return b|0}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;k=o+4|0;l=o;f[a>>2]=1232;n=a+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;f[n+24>>2]=0;f[n+28>>2]=0;f[k>>2]=b;n=a+4|0;m=a+8|0;Gi(n,k);c=f[k>>2]|0;h=a+20|0;d=f[h>>2]|0;i=a+16|0;b=f[i>>2]|0;g=d-b>>2;if((c|0)<(g|0)){k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}e=c+1|0;f[l>>2]=-1;a=d;if(e>>>0<=g>>>0){if(e>>>0>>0?(j=b+(e<<2)|0,(a|0)!=(j|0)):0)f[h>>2]=a+(~((a+-4-j|0)>>>2)<<2)}else{lh(i,e-g|0,l);c=f[k>>2]|0;b=f[i>>2]|0}k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+88|0;ed(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;a=a+88|0;ed(a,b);u=j;return 1}function eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;d=e;if(!(Wk(a,b,c)|0)){a=0;u=e;return a|0}if((Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){a=0;u=e;return a|0}b=Ug(c,f[b+48>>2]|0)|0;Ta[f[(f[a>>2]|0)+48>>2]&15](d,a,b);b=a+36|0;g=f[d>>2]|0;f[d>>2]=0;c=f[b>>2]|0;f[b>>2]=g;if(c){Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c)}else f[d>>2]=0;c=f[b>>2]|0;if(!c){g=1;u=e;return g|0}if(Na[f[(f[a>>2]|0)+36>>2]&127](a,c)|0){g=1;u=e;return g|0}c=f[b>>2]|0;f[b>>2]=0;if(!c){g=1;u=e;return g|0}Ra[f[(f[c>>2]|0)+4>>2]&127](c);g=1;u=e;return g|0}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;g=c-e>>3;c=g+b|0;if(c>>>0>536870911)Fp(a);e=d-e|0;h=e>>2;c=e>>3>>>0<268435455?(h>>>0>>0?c:h):536870911;do if(c)if(c>>>0>536870911){j=sa(8)|0;to(j,20196);f[j>>2]=7152;wa(j|0,1112,107)}else{d=an(c<<3)|0;break}else d=0;while(0);h=d+(g<<3)|0;g=d+(c<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Rg(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;pq(c);return}function gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+4|0;g=j;i=j+8|0;e=a&255;b[i>>0]=e&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=e|-128;e=d+16|0;k=f[e+4>>2]|0;if((k|0)>0|(k|0)==0&(f[e>>2]|0)>>>0>0){a=0;break}else{f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ke(d,h,i,i+1|0)|0;a=An(a|0,c|0,7)|0;a=gh(a,I,d)|0;break}}else{k=d+16|0;e=f[k+4>>2]|0;if((e|0)>0|(e|0)==0&(f[k>>2]|0)>>>0>0){a=0;break}f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ke(d,h,i,i+1|0)|0;k=1;u=j;return k|0}while(0);k=a;u=j;return k|0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Ta[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pq(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}pq(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+108|0;ed(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;a=a+108|0;ed(a,b);u=j;return 1}function jh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((qb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=vq(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=qb(a,c,m,p,q)|0;if(d){Oa[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=qb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)uq(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function kh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=an(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;j=g+8|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Rg(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}xi(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Rg(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+8|0;e=f[l>>2]|0;m=a+4|0;d=f[m>>2]|0;g=d;if(e-d>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[m>>2]=g+(b<<2);return}k=f[a>>2]|0;j=d-k|0;i=j>>2;d=i+b|0;if(d>>>0>1073741823)Fp(a);g=e-k|0;h=g>>1;d=g>>2>>>0<536870911?(h>>>0>>0?d:h):1073741823;do if(d)if(d>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}else{e=an(d<<2)|0;break}else e=0;while(0);h=e+(i<<2)|0;g=e+(d<<2)|0;d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}d=h+(0-i<<2)|0;if((j|0)>0)Rg(d|0,k|0,j|0)|0;f[a>>2]=d;f[m>>2]=h+(b<<2);f[l>>2]=g;if(!k)return;pq(k);return}function mh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Lo(m,e,0)|0){f[o+48>>2]=1;Wa[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Va[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{qi(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(rc(a,n)|0)){a=0;u=o;return a|0}kb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;g=h;if((c|0)<0|((b|0)==0|(d|0)==0)){d=0;u=h;return d|0}a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0)){d=0;u=h;return d|0}e=b+4|0;if(!(f[e>>2]|0)){i=an(52)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);j=i+20|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[i+36>>2]=$(1.0);f[i+40>>2]=0;f[i+44>>2]=0;f[i+48>>2]=0;f[b+4>>2]=i}if((c|0)<=-1)ra(20625,20641,67,20738);a=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;j=an(44)|0;Mb(j,d);f[j+40>>2]=a;a=f[e>>2]|0;f[g>>2]=j;_j(a,g)|0;a=f[g>>2]|0;f[g>>2]=0;if(!a){j=1;u=h;return j|0}Ji(a);pq(a);j=1;u=h;return j|0}function ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){Kf(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;pq(d)}pq(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;pq(d)}pq(c)}pq(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;d=f[l>>2]|0;k=f[a>>2]|0;h=(d-k|0)/12|0;c=h+1|0;j=k;if(c>>>0>357913941)Fp(a);m=a+8|0;i=((f[m>>2]|0)-k|0)/12|0;e=i<<1;e=i>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(e*12|0)|0;break}else g=0;while(0);c=g+(h*12|0)|0;i=g+(e*12|0)|0;f[c>>2]=f[b>>2];f[g+(h*12|0)+4>>2]=f[b+4>>2];f[g+(h*12|0)+8>>2]=f[b+8>>2];e=c+12|0;if((d|0)!=(j|0))do{h=d;d=d+-12|0;f[c+-12>>2]=f[d>>2];f[c+-8>>2]=f[h+-8>>2];f[c+-4>>2]=f[h+-4>>2];c=c+-12|0}while((d|0)!=(j|0));f[a>>2]=c;f[l>>2]=e;f[m>>2]=i;if(!k)return;pq(k);return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;d=f[k>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(d-c>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[l>>2]=e+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Fp(a);e=d-j|0;g=e>>1;c=e>>2>>>0<536870911?(g>>>0>>0?c:g):1073741823;do if(c)if(c>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}else{d=an(c<<2)|0;break}else d=0;while(0);g=d+(h<<2)|0;e=d+(c<<2)|0;c=g;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}c=g+(0-h<<2)|0;if((i|0)>0)Rg(c|0,j|0,i|0)|0;f[a>>2]=c;f[l>>2]=g+(b<<2);f[k>>2]=e;if(!j)return;pq(j);return}function sh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{qi(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Kd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+20>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Kd(a,b);return}function uh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)Fp(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{go(a,d,(e&255)+1|0)|0;pq(d);g=15}}else{c=an(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{go(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){go(c,d,(f[a+4>>2]|0)+1|0)|0;pq(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function vh(a){a=a|0;qj(a+992|0);qj(a+960|0);qj(a+928|0);qj(a+896|0);qj(a+864|0);qj(a+832|0);qj(a+800|0);qj(a+768|0);qj(a+736|0);qj(a+704|0);qj(a+672|0);qj(a+640|0);qj(a+608|0);qj(a+576|0);qj(a+544|0);qj(a+512|0);qj(a+480|0);qj(a+448|0);qj(a+416|0);qj(a+384|0);qj(a+352|0);qj(a+320|0);qj(a+288|0);qj(a+256|0);qj(a+224|0);qj(a+192|0);qj(a+160|0);qj(a+128|0);qj(a+96|0);qj(a+64|0);qj(a+32|0);qj(a);return}function wh(a){a=a|0;cn(a);cn(a+32|0);cn(a+64|0);cn(a+96|0);cn(a+128|0);cn(a+160|0);cn(a+192|0);cn(a+224|0);cn(a+256|0);cn(a+288|0);cn(a+320|0);cn(a+352|0);cn(a+384|0);cn(a+416|0);cn(a+448|0);cn(a+480|0);cn(a+512|0);cn(a+544|0);cn(a+576|0);cn(a+608|0);cn(a+640|0);cn(a+672|0);cn(a+704|0);cn(a+736|0);cn(a+768|0);cn(a+800|0);cn(a+832|0);cn(a+864|0);cn(a+896|0);cn(a+928|0);cn(a+960|0);cn(a+992|0);return}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i+12|0;d=i+8|0;c=i+4|0;e=i;h=(a|0)==(b|0);if(!h){f[c>>2]=f[b>>2];f[e>>2]=b+4;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a,d,g)}if(!h){f[c>>2]=f[b+12>>2];f[e>>2]=b+16;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Cc(a+12|0,d,g)}if(h){u=i;return}f[c>>2]=f[b+24>>2];f[e>>2]=b+28;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a+24|0,d,g);u=i;return}function yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=Mo(f[a+8>>2]|0,o)|0;e=Mo(f[a+12>>2]|0,o)|0;g=Mo(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=Mo(f[a+(g<<2)>>2]|0,o)|0;g=Mo(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Cl(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=Mo(f[a+(e<<2)>>2]|0,o)|0;e=Mo(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;te(g,a+40|0,f[a+8>>2]|0,b,c);Pi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}pq(d);u=e;return 1}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){jd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;jd(a,b);return}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){qd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;qd(a,b);return}function Ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){zd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;zd(a,b);return}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Pd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Pd(a,b);return}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){md(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;md(a,b);return}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){ud(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ud(a,b);return}function Gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Fd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Fd(a,b);return}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){kd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;kd(a,b);return}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){sd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;sd(a,b);return}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ad(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ad(a,b);return}function Kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Qd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Qd(a,b);return}function Lh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k+4|0;i=k;h=f[c+4>>2]|0;if(!h)ra(13158,13407,70,13577);g=f[c+8>>2]|0;if(!g)ra(13158,13407,70,13577);d=f[d>>2]|0;if((d|0)<0)e=-1073741824;else e=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=e>>>0)Fp(d);d=f[g+(f[c+(e<<2)>>2]<<2)>>2]|0;if(!(b[h+84>>0]|0))d=f[(f[h+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[i>>2]=d;g=b[h+24>>0]|0;f[j>>2]=f[i>>2];lb(h,j,g,a)|0;u=k;return}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;Af(g,a+40|0,f[a+8>>2]|0,b,c);Pi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}pq(d);u=e;return 1}function Nh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1408;e=a+72|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+60>>2]|0;if(b|0){d=a+64|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+48>>2]|0;if(b|0)pq(b);d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}pq(b)}f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function Oh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=fl(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=fl(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))ra(12825,11885,259,12849);d=f[c>>2]|0;if((d|0)>(e|0))ra(12863,11885,260,12849);a=0-e|0;if((i|0)<(a|0))ra(12887,11885,261,12849);if((d|0)<(a|0))ra(12912,11885,262,12849);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function Qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i;c=f[b+96>>2]|0;b=(f[b+100>>2]|0)-c|0;e=(b|0)/12|0;f[g>>2]=0;h=g+4|0;f[h>>2]=0;f[g+8>>2]=0;if(b|0){if(e>>>0>357913941)Fp(g);d=an(b)|0;f[g>>2]=d;f[g+8>>2]=d+(e*12|0);cj(d|0,0,b|0)|0;f[h>>2]=d+b;if((b|0)>0){b=c;c=0;do{k=f[b+(c*12|0)+4>>2]|0;j=f[b+(c*12|0)+8>>2]|0;f[d+(c*12|0)>>2]=f[b+(c*12|0)>>2];f[d+(c*12|0)+4>>2]=k;f[d+(c*12|0)+8>>2]=j;c=c+1|0}while((c|0)<(e|0))}}jk(a,g);b=f[g>>2]|0;if(!b){u=i;return}c=f[h>>2]|0;if((c|0)!=(b|0))f[h>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b);u=i;return}function Rh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;b[g>>0]=a&127;do if(a>>>0>127){b[g>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){d=0;break}else{f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ke(c,e,g,g+1|0)|0;d=Rh(a>>>7,c)|0;break}}else{j=c+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){d=0;break}f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ke(c,e,g,g+1|0)|0;j=1;u=h;return j|0}while(0);j=d;u=h;return j|0}function Sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;l=o+4|0;k=o;j=f[a+8>>2]|0;n=j+24|0;m=b[n>>0]|0;e=c+4|0;Bf(a,(f[e>>2]|0)-(f[c>>2]|0)>>2,m,d);i=f[a+32>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;d=f[c>>2]|0;e=f[e>>2]|0;if((d|0)==(e|0)){n=1;u=o;return n|0}h=j+84|0;g=j+68|0;c=0;while(1){a=f[d>>2]|0;if(!(b[h>>0]|0))a=f[(f[g>>2]|0)+(a<<2)>>2]|0;f[k>>2]=a;a=b[n>>0]|0;f[l>>2]=f[k>>2];if(!(sb(j,l,a,i+(c<<2)|0)|0)){d=0;a=7;break}d=d+4|0;if((d|0)==(e|0)){d=1;a=7;break}else c=c+m|0}if((a|0)==7){u=o;return d|0}return 0}function Th(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=u;u=u+48|0;g=h;e=h+32|0;if(!c){g=0;u=h;return g|0}ln(g);if((Zl(c,0)|0)!=-1?Ma[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Ra[f[(f[c>>2]|0)+20>>2]&127](c);Jg(e,a,c,g);a=(f[e>>2]|0)==0;c=e+4|0;if((b[c+11>>0]|0)<0)pq(f[c>>2]|0);if(a){a=f[g>>2]|0;e=g+4|0;fg(d,a,a+((f[e>>2]|0)-a)|0);e=(f[e>>2]|0)-(f[g>>2]|0)|0}else e=0}else e=0;d=g+12|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)pq(c);a=f[g>>2]|0;if(a|0){c=g+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}g=e;u=h;return g|0}function Uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;b=f[b>>2]|0;if((b|0)==-1073741824){h=-1;return h|0}g=f[(f[a+24>>2]|0)+(b<<2)>>2]|0;if((g|0)<0){h=0;return h|0}e=a+12|0;b=0;d=0;a=g;a:while(1){while(1){b=b+1|0;if(d){h=10;break}c=a+1|0;a=((c|0)%3|0|0)==0?a+-2|0:c;if((a|0)<0){a=g;break}c=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=c+1|0;if((c|0)<0){a=g;break}a=((a|0)%3|0|0)==0?c+-2|0:a;if((a|0)<0){a=g;break}if((a|0)==(g|0)){h=16;break a}}do if((h|0)==10){h=0;a=(((a>>>0)%3|0|0)==0?2:-1)+a|0;if((a|0)<0){h=16;break a}a=f[(f[e>>2]|0)+(a<<2)>>2]|0;if((a|0)<0){h=16;break a}if(!((a>>>0)%3|0)){a=a+2|0;break}else{a=a+-1|0;break}}while(0);if((a|0)<0){h=16;break}else d=1}if((h|0)==16)return b|0;return 0}function Vh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=an(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;dj(g+8|0,e);j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Rg(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}xi(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Rg(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){td(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;td(a,b);return}function Xh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=an(16)|0;f[k>>2]=g;f[k+8>>2]=-2147483632;f[k+4>>2]=15;h=g;i=17844;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;g=Bk(c,k,-1)|0;if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);switch(g|0){case -1:{if((fi(c)|0)==10)h=6;else h=5;break}case 1:{h=5;break}default:h=6}if((h|0)==5){g=an(60)|0;qo(g)}else if((h|0)==6){g=an(56)|0;Xo(g)}Yn(g,d);yd(a,g,c,e);Ra[f[(f[g>>2]|0)+4>>2]&127](g);u=l;return}function Yh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;c=a+24|0;Qo(c);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;a=an(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=20;d=a;e=17903;g=d+20|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+20>>0]=0;Ej(c,h,1);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;a=an(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=22;d=a;e=17924;g=d+22|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+22>>0]=0;Ej(c,h,1);if((b[h+11>>0]|0)>=0){u=i;return}pq(f[h>>2]|0);u=i;return}function Zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;k=n+4|0;j=n;l=n+8|0;if(!(oe(a,c)|0)){m=0;u=n;return m|0}m=a+36|0;e=a+40|0;a=f[m>>2]|0;if((f[e>>2]|0)==(a|0)){m=1;u=n;return m|0}i=c+16|0;g=c+4|0;h=l+1|0;d=0;do{a=f[a+(d<<2)>>2]|0;a=Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[l>>0]=a;a=i;o=f[a+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[a>>2]|0)>>>0>0)){f[j>>2]=f[g>>2];f[k>>2]=f[j>>2];Ke(c,k,l,h)|0}d=d+1|0;a=f[m>>2]|0}while(d>>>0<(f[e>>2]|0)-a>>2>>>0);a=1;u=n;return a|0}function _h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}pq(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;pq(b);return}function $h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}pq(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}pq(b);return}function ai(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+16|0;i=m+8|0;j=m;h=f[c>>2]|0;l=f[a+12>>2]<<1;if((h|0)>(l|0))ra(12202,12247,81,12431);e=f[c+4>>2]|0;if((e|0)>(l|0))ra(12449,12247,82,12431);g=f[b>>2]|0;if((g|0)>(l|0))ra(12494,12247,83,12431);c=f[b+4>>2]|0;if((c|0)>(l|0))ra(12539,12247,84,12431);if((h|0)<=-1)ra(12584,12247,85,12431);if((e|0)<=-1)ra(12606,12247,86,12431);if((g|0)<=-1)ra(12628,12247,87,12431);if((c|0)>-1){f[i>>2]=g;f[i+4>>2]=c;f[j>>2]=h;f[j+4>>2]=e;Fe(k,a,i,j);f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];u=m;return}else ra(12650,12247,88,12431)}function bi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function ci(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;l=u;u=u+32|0;j=l+12|0;k=l;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((e|0)>0){g=k+11|0;h=k+4|0;i=0;do{if((i|0)>0)gn(j,17842)|0;Yk(k,$(n[d+(i<<2)>>2]));m=b[g>>0]|0;o=m<<24>>24<0;Vi(j,o?f[k>>2]|0:k,o?f[h>>2]|0:m&255)|0;if((b[g>>0]|0)<0)pq(f[k>>2]|0);i=i+1|0}while((i|0)<(e|0))}Rl(li(a,c)|0,j)|0;if((b[j+11>>0]|0)>=0){u=l;return}pq(f[j>>2]|0);u=l;return}function di(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;u=j;return 1}function ei(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=a+12|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){c=f[i+28>>2]|0;if(c|0)do{h=c;c=f[c>>2]|0;ei(h+8|0);pq(h)}while((c|0)!=0);h=i+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)pq(c);c=f[i+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);pq(g)}while((c|0)!=0);c=f[i>>2]|0;f[i>>2]=0;if(c|0)pq(c);pq(i)}if((b[a+11>>0]|0)>=0)return;pq(f[a>>2]|0);return}function fi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;c=an(16)|0;f[i>>2]=c;f[i+8>>2]=-2147483632;f[i+4>>2]=14;e=c;g=17773;h=e+14|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+14>>0]=0;d=Bk(a,i,-1)|0;if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);c=an(16)|0;f[i>>2]=c;f[i+8>>2]=-2147483632;f[i+4>>2]=14;e=c;g=17788;h=e+14|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+14>>0]=0;c=Bk(a,i,-1)|0;if((b[i+11>>0]|0)>=0){i=(d|0)<(c|0);i=i?c:d;h=(i|0)==-1;i=h?5:i;u=j;return i|0}pq(f[i>>2]|0);i=(d|0)<(c|0);i=i?c:d;h=(i|0)==-1;i=h?5:i;u=j;return i|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)Fp(i);l=((b+-1|0)>>>5)+1|0;k=an(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Bg(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)pq(b);u=j;return}function hi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3568;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);c=a+140|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[a+164>>2]=-1;c=a+168|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;cn(a+200|0);ln(a+232|0);c=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[c>>2]=-1;f[a+320>>2]=-1073741824;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;u=j;return 1}function ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;i=l;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){k=1;u=l;return k|0}j=a+4|0;g=a+20|0;h=a+24|0;e=a+16|0;d=0;while(1){c=f[(f[j>>2]|0)+4>>2]|0;c=Zl(c,Na[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;f[i>>2]=c;if((c|0)==-1)break;a=f[g>>2]|0;if((a|0)==(f[h>>2]|0))Gi(e,i);else{f[a>>2]=c;f[g>>2]=a+4}_k(f[j>>2]|0,f[i>>2]|0)|0;d=d+1|0;if((d|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;k=9;break}}if((k|0)==9){u=l;return a|0}k=0;u=l;return k|0}function ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+48|0;if((fi(f[e>>2]|0)|0)>9){e=0;return e|0}if((Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){e=0;return e|0}d=b+4|0;b=f[d>>2]|0;if((a|0)<=-1)ra(20625,20641,59,20738);c=f[b+8>>2]|0;if(((f[b+12>>2]|0)-c>>2|0)<=(a|0))ra(20748,20641,60,20738);c=(f[c+(a<<2)>>2]|0)+56|0;b=f[c>>2]|0;do if((b|0)==3)if((fi(f[e>>2]|0)|0)<4){e=5;return e|0}else{b=f[c>>2]|0;break}while(0);c=fi(f[e>>2]|0)|0;if((b|0)==1){e=(c|0)<4?6:0;return e|0}if((c|0)>7){e=0;return e|0}if((fi(f[e>>2]|0)|0)>1){e=1;return e|0}else return ((f[(f[d>>2]|0)+80>>2]|0)<40?1:4)|0;return 0}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=lg(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=an(40)|0;dj(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}He(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+32|0;ed(a,h);c=a+80|0;b=f[c>>2]|0;if((b|0?(d=a+84|0,(f[d>>2]|0)>0):0)?(ed(b,h),(f[d>>2]|0)>1):0){b=1;do{ed((f[c>>2]|0)+(b<<5)|0,h);b=b+1|0}while((b|0)<(f[d>>2]|0))}g=a+136|0;e=a+140|0;b=f[g>>2]|0;if((f[e>>2]|0)==(b|0))return;a=0;do{Rh((f[b+(a*12|0)+4>>2]|0)-(f[b+(a*12|0)>>2]|0)>>2,h)|0;b=f[g>>2]|0;c=f[b+(a*12|0)>>2]|0;d=(f[b+(a*12|0)+4>>2]|0)-c>>2;if(d){Lc(c,d,1,h)|0;b=f[g>>2]|0}a=a+1|0}while(a>>>0<(((f[e>>2]|0)-b|0)/12|0)>>>0);return}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;h=f[a>>2]|0;k=(f[i>>2]|0)-h|0;d=(k|0)/12|0;c=d+1|0;if(c>>>0>357913941)Fp(a);j=a+8|0;g=((f[j>>2]|0)-h|0)/12|0;e=g<<1;e=g>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(e*12|0)|0;break}else g=0;while(0);d=g+(d*12|0)|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];c=d+(((k|0)/-12|0)*12|0)|0;if((k|0)>0)Rg(c|0,h|0,k|0)|0;f[a>>2]=c;f[i>>2]=d+12;f[j>>2]=g+(e*12|0);if(!h)return;pq(h);return}function oi(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)Fp(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=an(l)|0;if(g|0)go(k,m,g)|0;if(i|0)go(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)go(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)pq(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;Yo(k+m|0,n);u=o;return}function pi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(ml(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Oa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Oa[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Rg(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){cj(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Fp(a);g=d-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;cj(e|0,0,b<<2|0)|0;c=e+(0-h<<2)|0;if((i|0)>0)Rg(c|0,j|0,i|0)|0;f[a>>2]=c;f[k>>2]=e+(b<<2);f[l>>2]=g+(d<<2);if(!j)return;pq(j);return}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)ra(19536,7958,49,19667);if((b|0)<=0)ra(19696,7958,50,19667);j=a+16|0;g=f[j>>2]|0;h=32-g|0;e=32-b|0;c=c<>2]|0;if((h|0)<(b|0)){g=c>>>e;e=b-h|0;f[j>>2]=e;e=g>>>e|d;f[i>>2]=e;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))Gi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=g<<32-(f[j>>2]|0);return}e=d|c>>>g;f[i>>2]=e;b=g+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))Gi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=0;f[j>>2]=0;return}function si(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+136|0;b=f[g>>2]|0;if(b|0){h=a+140|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+92>>2]|0;if(!b){fj(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);fj(a);return}function ti(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=a+16|0;j=g;i=f[j+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)){a=0;return a|0}b[a+24>>0]=e&1;l=Mn(c|0,d|0,7,0)|0;l=kk(l|0,I|0,8,0)|0;d=I;h=g;f[h>>2]=l;f[h+4>>2]=d;h=a+4|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c|0;j=Mn(i|0,0,8,0)|0;j=e?j:i;d=Mn(j|0,(e?I:0)|0,l|0,d|0)|0;if(d>>>0<=i>>>0){if(d>>>0>>0?(k=c+d|0,(g|0)!=(k|0)):0)f[h>>2]=k}else{xi(a,d-i|0);c=f[a>>2]|0}k=an(8)|0;f[k>>2]=c+j;f[k+4>>2]=0;l=a+12|0;c=f[l>>2]|0;f[l>>2]=k;if(!c){l=1;return l|0}pq(c);l=1;return l|0}function ui(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+64|0;j=i;xl(j);h=f[h+56>>2]|0;c=X(Nl(5)|0,e)|0;sj(j,h,0,e&255,5,0,c,((c|0)<0)<<31>>31,0,0);c=an(96)|0;nl(c,j);f[a>>2]=c;kj(c,d)|0;if(!g){u=i;return}b[c+84>>0]=0;d=c+68|0;a=c+72|0;e=f[a>>2]|0;c=f[d>>2]|0;h=e-c>>2;if(h>>>0>>0){lh(d,g-h|0,1216);u=i;return}if(h>>>0<=g>>>0){u=i;return}c=c+(g<<2)|0;if((e|0)==(c|0)){u=i;return}f[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);u=i;return}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Rd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Rd(a,b);return}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/108|0;if(d>>>0>>0){xe(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*108|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-108;c=f[e+-20>>2]|0;if(c|0){d=e+-16|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}c=f[e+-32>>2]|0;if(c|0){d=e+-28|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}yj(e+-104|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function xi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((e-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}g=f[a>>2]|0;h=d-g|0;d=h+c|0;if((d|0)<0)Fp(a);g=e-g|0;i=g<<1;d=g>>>0<1073741823?(i>>>0>>0?d:i):2147483647;if(!d)e=0;else e=an(d)|0;i=e+h|0;h=e+d|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Rg(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;pq(d);return}function yi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Zm()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1760];yn(23329,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Oa[f[(f[258]|0)+16>>2]&31](1032,d,e)|0;b=f[1760]|0;if(d){i=f[e>>2]|0;i=Ma[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;yn(23243,g)}else{f[i>>2]=b;f[i+4>>2]=a;yn(23288,i)}}yn(23367,h)}function zi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i;e=an(16)|0;f[g>>2]=e;f[g+8>>2]=-2147483632;f[g+4>>2]=14;h=e;j=17773;k=h+14|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));b[e+14>>0]=0;Hj(a,g,c);if((b[g+11>>0]|0)<0)pq(f[g>>2]|0);e=an(16)|0;f[g>>2]=e;f[g+8>>2]=-2147483632;f[g+4>>2]=14;h=e;j=17788;k=h+14|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));b[e+14>>0]=0;Hj(a,g,d);if((b[g+11>>0]|0)>=0){u=i;return}pq(f[g>>2]|0);u=i;return}function Ai(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0.0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=c+11|0;g=b[i>>0]|0;if(g<<24>>24<0)e=f[c+4>>2]|0;else e=g&255;h=+d;while(1){if(g<<24>>24<0)g=f[c>>2]|0;else g=c;p[j>>3]=h;g=hn(g,e+1|0,23240,j)|0;if((g|0)>-1)if(g>>>0>e>>>0)e=g;else break;else e=e<<1|1;uj(c,e,0);g=b[i>>0]|0}uj(c,g,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=k;return}function Bi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1352;d=a+32|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}pq(e)}d=f[a+16>>2]|0;if(!d)return;c=a+20|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function Ci(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+4>>2]=3524;b=f[a+24>>2]|0;if(b|0)pq(b);b=f[a+12>>2]|0;if(!b)return;pq(b);return}function Di(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=hn(e,g+1|0,23237,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;uj(c,g,0);e=b[h>>0]|0}uj(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function Ei(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(lq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=eq()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=eq()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Fi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;d=f[(f[c+4>>2]|0)+4>>2]|0;if(!d){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}if(!(pj(i+12|0,f[c+44>>2]|0,d)|0)){d=an(32)|0;f[h>>2]=d;f[h+8>>2]=-2147483616;f[h+4>>2]=26;c=d;e=19224;g=c+26|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[d+26>>0]=0;f[a>>2]=-1;dj(a+4|0,h);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=i;return}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+4|0;i=f[a>>2]|0;l=(f[j>>2]|0)-i|0;h=l>>2;c=h+1|0;if(c>>>0>1073741823)Fp(a);k=a+8|0;g=(f[k>>2]|0)-i|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;f[e>>2]=f[b>>2];c=e+(0-h<<2)|0;if((l|0)>0)Rg(c|0,i|0,l|0)|0;f[a>>2]=c;f[j>>2]=e+4;f[k>>2]=g+(d<<2);if(!i)return;pq(i);return}function Hi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3368;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);g=a+140|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[a+164>>2]=-1;g=a+168|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;cn(a+200|0);ln(a+232|0);g=a+264|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;b[g+24>>0]=0;return}function Ii(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;if((d|0)<0){j=0;return j|0}j=a+4|0;a=f[j>>2]|0;e=a+4|0;c=f[e>>2]|0;b=f[a>>2]|0;g=c-b>>2;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+(d<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{qi(a,d-g|0);d=f[i>>2]|0}if((d|0)<=0){j=1;return j|0}e=f[j>>2]|0;a=f[e>>2]|0;c=(f[e+4>>2]|0)-a>>2;b=0;while(1){if(c>>>0<=b>>>0){b=10;break}f[a+(b<<2)>>2]=b;b=b+1|0;if((b|0)>=(d|0)){a=1;b=12;break}}if((b|0)==10)Fp(e);else if((b|0)==12)return a|0;return 0}function Ji(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0)do{d=c;c=f[c>>2]|0;g=d+8|0;h=d+20|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){Ji(e);pq(e)}if((b[g+11>>0]|0)<0)pq(f[g>>2]|0);pq(d)}while((c|0)!=0);h=a+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)pq(c);c=f[a+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);pq(g)}while((c|0)!=0);c=f[a>>2]|0;f[a>>2]=0;if(!c)return;pq(c);return}function Ki(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;Uk(a);g=a+84|0;b=f[g>>2]|0;if((b|0)<=0)return;d=b<<5;d=mq(b>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<5)|0;b=d;do{cn(b);b=b+32|0}while((b|0)!=(c|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){c=a+-4|0;b=f[c>>2]|0;if(b|0){b=a+(b<<5)|0;do{b=b+-32|0;qj(b)}while((b|0)!=(a|0))}nq(c)}if((f[g>>2]|0)>0)b=0;else return;do{Uk((f[e>>2]|0)+(b<<5)|0);b=b+1|0}while((b|0)<(f[g>>2]|0));return}function Li(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;g=f[c+36>>2]|0;if(!g){e=an(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;g=e;d=19071;c=g+23|0;do{b[g>>0]=b[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(c|0));b[e+23>>0]=0;f[a>>2]=-1;dj(a+4|0,h);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);u=i;return}e=f[c+40>>2]|0;if(!e){id(a,c,g,d);u=i;return}else{Xh(a,c,e,d);u=i;return}}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}k=f[i>>2]|0;e=an(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;pq(g);return}function Ni(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0;i=u;u=u+16|0;h=i;if(!c){j=0;u=i;return j|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;j=7}}else{j=g+16&-16;a=an(j)|0;f[h>>2]=a;f[h+8>>2]=j|-2147483648;f[h+4>>2]=g;j=7}if((j|0)==7)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;Ol(c,h,e);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);j=1;u=i;return j|0}function Oi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;i=u;u=u+16|0;h=i;if(!c){j=0;u=i;return j|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;j=7}}else{j=g+16&-16;a=an(j)|0;f[h>>2]=a;f[h+8>>2]=j|-2147483648;f[h+4>>2]=g;j=7}if((j|0)==7)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;Ql(c,h,e);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);j=1;u=i;return j|0}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pq(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}pq(d);return}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;g=f[b+12>>2]|0;b=f[b+4>>2]|0;d=h;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));Pg(i,c,g,b,h);e=f[h+24>>2]|0;if(!e){i=f[i>>2]|0;f[a>>2]=i;u=j;return}d=h+28|0;b=f[d>>2]|0;if((b|0)!=(e|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);pq(e);i=f[i>>2]|0;f[a>>2]=i;u=j;return}function Ri(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;Zg(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;Zg(a+12|0,j,d);bg(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,6068);Jj(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Jj(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function Si(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=6488;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=eq()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=jh(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!b){e=0;return e|0}if(f[b+4>>2]|0){e=0;return e|0}a=an(52)|0;Mb(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;d=b+4|0;e=f[d>>2]|0;f[d>>2]=a;if(!e){e=1;return e|0}a=e+40|0;b=f[a>>2]|0;if(b|0){d=e+44|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[d>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Ji(c);pq(c)}c=f[d>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}pq(b)}Ji(e);pq(e);g=1;return g|0}function Ui(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;eo(e,c,d)|0;b[j>>0]=0;Yo(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;oi(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Vi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;j=a+11|0;e=b[j>>0]|0;i=e<<24>>24<0;if(i){h=f[a+4>>2]|0;e=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;e=10}g=h+d|0;if((e-h|0)>>>0>=d>>>0){if(d|0){if(i)e=f[a>>2]|0;else e=a;go(e+h|0,c,d)|0;if((b[j>>0]|0)<0)f[a+4>>2]=g;else b[j>>0]=g;b[k>>0]=0;Yo(e+g|0,k)}}else oi(a,e,g-e|0,h,h,0,d,c);u=l;return a|0}function Wi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){hj(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;tn(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;Yo(e+i|0,k)}u=l;return a|0}function Xi(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;d=a+104|0;j=f[d>>2]|0;if((j|0)!=0?(f[a+108>>2]|0)>=(j|0):0)k=4;else{c=Om(a)|0;if((c|0)>=0){e=f[d>>2]|0;d=a+8|0;if(e){i=f[d>>2]|0;j=f[a+4>>2]|0;d=a+108|0;e=e-(f[d>>2]|0)|0;g=i;if((i-j|0)<(e|0)){i=g;e=j}else{i=j+(e+-1)|0;e=j}}else{g=f[d>>2]|0;i=g;e=f[a+4>>2]|0;d=a+108|0}f[a+100>>2]=i;if(g|0)f[d>>2]=g+1-e+(f[d>>2]|0);d=e+-1|0;if((h[d>>0]|0|0)!=(c|0))b[d>>0]=c}else k=4}if((k|0)==4){f[a+100>>2]=0;c=-1}return c|0}function Yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=Zl(a,Na[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=Zk(f[c>>2]|0,a)|0;d=d+1|0;if(!(Na[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function Zi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}yj(c+-104|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}pq(b);return}function _i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!(Jn(a,b,c)|0)){b=0;return b|0}if(!(Ma[f[(f[a>>2]|0)+52>>2]&127](a)|0)){b=0;return b|0}g=a+4|0;e=a+8|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){b=1;return b|0}d=a+36|0;a=0;while(1){h=f[(f[d>>2]|0)+(a<<2)>>2]|0;if(!(Oa[f[(f[h>>2]|0)+8>>2]&31](h,b,f[c+(a<<2)>>2]|0)|0)){c=0;a=7;break}a=a+1|0;c=f[g>>2]|0;if(a>>>0>=(f[e>>2]|0)-c>>2>>>0){c=1;a=7;break}}if((a|0)==7)return c|0;return 0}function $i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;if(b){e=c+8|0;c=e;c=Mn(f[c>>2]|0,f[c+4>>2]|0,1,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0;d=a+24|0;f[d>>2]=f[d>>2]|1<>2]|0,f[d+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0}d=c+1|0;f[e>>2]=d;if((d|0)!=32)return;d=a+24|0;b=a+16|0;c=f[b>>2]|0;if((c|0)==(f[a+20>>2]|0))Gi(a+12|0,d);else{f[c>>2]=f[d>>2];f[b>>2]=c+4}f[e>>2]=0;f[d>>2]=0;return}function aj(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3820;b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}pq(b);return}function bj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Lo(a,f[c+8>>2]|0,g)|0)){if(Lo(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else ym(0,c,d,e);while(0);return}function cj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function dj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+16|0;e=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;c=f[c+4>>2]|0;if(c>>>0>4294967279)Fp(a);if(c>>>0<11)b[a+11>>0]=c;else{i=c+16&-16;h=an(i)|0;f[a>>2]=h;f[a+8>>2]=i|-2147483648;f[a+4>>2]=c;a=h}go(a,d,c)|0;b[e>>0]=0;Yo(a+c|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=g;return}function ej(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function fj(a){a=a|0;var b=0,c=0,d=0;d=a+80|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<5)|0;do{b=b+-32|0;qj(b)}while((b|0)!=(c|0))}nq(d)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=a+44|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)pq(b);b=f[a+32>>2]|0;if(!b){qj(a);return}c=a+36|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;pq(b);qj(a);return}function gj(a,b){a=a|0;b=b|0;if(!b)return;else{gj(a,f[b>>2]|0);gj(a,f[b+4>>2]|0);lj(b+20|0,f[b+24>>2]|0);pq(b);return}}function hj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)Fp(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=an(k)|0;if(g|0)go(j,l,g)|0;d=e-h-g|0;if(d|0)go(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)pq(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;cg(a,b,c);d=f[a+96>>2]|0;a=(f[a+100>>2]|0)-d|0;if((a|0)<=0)return;b=f[b>>2]|0;c=(a>>>0)/12|0;a=0;do{e=d+(a*12|0)|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+4|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+8|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){xi(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else sg(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Mn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function kj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=an(32)|0,kn(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;pq(e)}pq(d)}e=Nl(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=$m(e|0,d|0,c|0,0)|0;if(!(jj(i,0,g,I)|0)){i=0;return i|0}vk(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function lj(a,c){a=a|0;c=c|0;var d=0;if(!c)return;lj(a,f[c>>2]|0);lj(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)pq(f[d>>2]|0);if((b[a+11>>0]|0)<0)pq(f[a>>2]|0);pq(c);return}function mj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(Lo(a,b,0)|0))if((b|0)!=0?(e=mh(b,1056,1040,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Ua[f[(f[e>>2]|0)+28>>2]&3](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function nj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+16|0;c=g;if(b|0){a=0;u=g;return a|0}b=an(36)|0;no(b,0);f[c>>2]=b;e=a+12|0;d=f[e>>2]|0;if(d>>>0<(f[a+16>>2]|0)>>>0){f[c>>2]=0;f[d>>2]=b;f[e>>2]=d+4}else Lg(a+8|0,c);b=f[c>>2]|0;f[c>>2]=0;if(!b){a=1;u=g;return a|0}Ra[f[(f[b>>2]|0)+4>>2]&127](b);a=1;u=g;return a|0}function oj(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!c){a=0;return a|0}d=c+40|0;g=c+44|0;Rh((f[g>>2]|0)-(f[d>>2]|0)>>2,b)|0;d=f[d>>2]|0;g=f[g>>2]|0;if((d|0)!=(g|0))do{e=f[d>>2]|0;if(e|0){Rh(f[e+40>>2]|0,b)|0;Wf(a,b,e)|0}d=d+4|0}while((d|0)!=(g|0));Wf(a,b,c)|0;a=1;return a|0}function qj(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e;d=c;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}d=f[a>>2]|0;if(!d){u=e;return}c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-8-d|0)>>>3)<<3);pq(d);u=e;return}function rj(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;f=d-e|0;a=a+8|0;if((f|0)>0){d=0-e|0;do{g=b+(f<<2)|0;ai(a,g,g+(d<<2)|0,c+(f<<2)|0);f=f-e|0}while((f|0)>0)}e=e>>>0>1073741823?-1:e<<2;g=mq(e)|0;cj(g|0,0,e|0)|0;ai(a,b,g,c);nq(g);return 1}function sj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function tj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}pq(a);return}function uj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;Yo(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;Yo(a+c|0,h);b[g>>0]=c;break}else Wi(a,c-e|0,d)|0;while(0);u=j;return}function vj(a,b){a=a|0;b=b|0;if(!b)return;else{vj(a,f[b>>2]|0);vj(a,f[b+4>>2]|0);lj(b+20|0,f[b+24>>2]|0);pq(b);return}}function wj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;a=f[a+4>>2]|0;if((a|0)==-1){g=0;u=h;return g|0}b[g>>0]=a;a=c+16|0;i=f[a+4>>2]|0;if(!((i|0)>0|(i|0)==0&(f[a>>2]|0)>>>0>0)){f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ke(c,e,g,g+1|0)|0}i=1;u=h;return i|0}function xj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=k+4|0;f[j>>2]=c;c=an(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=17;e=c;g=17860;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+17>>0]=0;Hj(Dd(a,j)|0,i,d);if((b[i+11>>0]|0)>=0){u=k;return}pq(f[i>>2]|0);u=k;return}function yj(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+12>>2]|0;if(b|0)pq(b);b=f[a>>2]|0;if(!b)return;pq(b);return}function zj(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}b=f[c+(b<<2)>>2]|0;if((b|0)<0){a=0;return a|0}c=a+48|0;if((f[a+52>>2]|0)>>>0<=b>>>0)De(c,b+1|0,0);c=(f[c>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(b&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=b>>>0){a=1;return a|0}dp(f[c+(b<<2)>>2]|0);a=1;return a|0}function Aj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(ml(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Oa[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Bj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;e=u;u=u+16|0;c=e+8|0;b=e+4|0;d=e;f[d>>2]=f[(f[a+4>>2]|0)+80>>2];a=f[a+44>>2]|0;g=a+16|0;h=f[g+4>>2]|0;if((h|0)>0|(h|0)==0&(f[g>>2]|0)>>>0>0){u=e;return 1}f[b>>2]=f[a+4>>2];f[c>>2]=f[b>>2];Ke(a,c,d,d+4|0)|0;u=e;return 1}function Cj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0;g=u;u=u+16|0;e=g;Yk(e,d);a=li(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}uh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;b=f[b>>2]|0;if((b|0)==-1073741824)return 1;c=(b|0)<0?-1073741824:b*3|0;if((c|0)<0)return 1;a=f[a>>2]|0;e=f[a+(c<<2)>>2]|0;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[a+(b<<2)>>2]|0;b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=f[a+(b<<2)>>2]|0;if((e|0)==(d|0))return 1;else return (e|0)==(b|0)|(d|0)==(b|0)|0;return 0}function Ej(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;al(e,d&1);a=li(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}uh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Fj(a){a=a|0;if(!a)return;lj(a+24|0,f[a+28>>2]|0);gj(a+12|0,f[a+16>>2]|0);lj(a,f[a+4>>2]|0);pq(a);return}function Gj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(vq(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Aj(c,a)|0;uq(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Aj(c,a)|0}while(0);return d|0}function Hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;al(e,d);a=li(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}uh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Ij(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2132;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){pq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);pq(a);return}function Jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}j=(f[d>>2]|0)-c|0;h=j>>2;i=an(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Rg(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;pq(c);return}function Kj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1768;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){pq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);pq(a);return}function Lj(a){a=a|0;var b=0,c=0;f[a>>2]=2132;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Mj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Ip(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Nj(a){a=a|0;var b=0,c=0;f[a>>2]=1768;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)Fp(a);g=an(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Rg(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+36|0;e=a+40|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){g=1;return g|0}d=a+60|0;a=c;c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Oa[f[(f[a>>2]|0)+20>>2]&31](a,d,b)|0)){a=0;c=5;break}a=f[g>>2]|0;if(c>>>0>=(f[e>>2]|0)-a>>2>>>0){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Qj(a,c,d){a=a|0;c=c|0;d=d|0;c=Qg(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Rj(a,b){a=+a;b=b|0;var c=0,d=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;c=(d|0)<-1022;b=b+2044|0;b=c?((b|0)>-1022?b:-1022):d;a=c?a*2.2250738585072014e-308:a}}else{a=a*8988465674311579538646525.0e283;c=b+-1023|0;d=(c|0)>1023;b=b+-2046|0;b=d?((b|0)<1023?b:1023):c;a=d?a*8988465674311579538646525.0e283:a}c=vn(b+1023|0,0,52)|0;d=I;f[s>>2]=c;f[s+4>>2]=d;return +(a*+p[s>>3])}function Sj(a){a=a|0;var b=0,c=0,d=0;if(!(f[a+80>>2]|0)){d=0;return d|0}d=a+8|0;c=a+12|0;a=f[d>>2]|0;if(((f[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(tl(a,a)|0)){a=0;b=5;break}a=f[d>>2]|0;if((b|0)>=((f[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function Tj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h;d=an(16)|0;f[e>>2]=d;f[e+8>>2]=-2147483632;f[e+4>>2]=15;g=d;i=17844;j=g+15|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[d+15>>0]=0;Hj(a,e,c);if((b[e+11>>0]|0)>=0){u=h;return}pq(f[e>>2]|0);u=h;return}function Uj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+36|0;d=a+40|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Na[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){a=0;c=4;break}a=f[e>>2]|0;if(c>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;c=4;break}}if((c|0)==4)return a|0;return 0}function Vj(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Wj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a+176>>2]|0;a=f[a+172>>2]|0;g=a;if((d|0)==(a|0))return 0;e=(d-a|0)/108|0;d=0;while(1){if((f[g+(d*108|0)>>2]|0)==(c|0)){a=4;break}a=d+1|0;if(a>>>0>>0)d=a;else{a=6;break}}if((a|0)==4)return ((b[g+(d*108|0)+72>>0]|0)==0?0:g+(d*108|0)+4|0)|0;else if((a|0)==6)return 0;return 0}function Xj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3452;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3476;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Yj(a,b){a=a|0;b=b|0;var c=0;c=f[a+72>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+60;if(!(Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Zj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3232;f[a+40>>2]=1196;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a>>2]=1476;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){Bi(a);pq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);pq(a);return}function _j(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Ng(a+40|0,b);a=1;return a|0}return 0}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Fp(a);e=an(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{Oj(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function ak(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+36|0;d=a+40|0;b=f[e>>2]|0;if((f[d>>2]|0)==(b|0)){e=1;return e|0}c=a+60|0;a=b;b=0;while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){a=0;b=5;break}a=f[e>>2]|0;if(b>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function bk(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=An(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+bk(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3500;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3524;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)pq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)nq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function ek(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[21332+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=21420;e=5;break}}if((e|0)==2)if(!d)d=21420;else{a=21420;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return Op(d,f[c+20>>2]|0)|0}function fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3452;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3476;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b)return;pq(b);return}function gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)pq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)nq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3232;f[a+40>>2]=1196;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a>>2]=1476;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){Bi(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);return}function ik(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3500;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3524;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b)return;pq(b);return}function jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=an(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=nh(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;oj(a);pq(a);return}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=_n(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return _n((Gd(h,g,_n(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function lk(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Ak(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function mk(a){a=a|0;var b=0,c=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)pq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)nq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0;i=u;u=u+128|0;h=i;e=h;g=e+124|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=h+4|0;f[e>>2]=a;g=h+8|0;f[g>>2]=-1;f[h+44>>2]=a;f[h+76>>2]=-1;Lm(h,0);d=+Mc(h,c,1);c=(f[e>>2]|0)-(f[g>>2]|0)+(f[h+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=i;return +d}function ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Um(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=Po(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6040;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+84>>2]|0;if(!b){zg(a);pq(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);zg(a);pq(a);return}function qk(a){a=a|0;var c=0,d=0;d=a+74|0;c=b[d>>0]|0;b[d>>0]=c+255|c;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Oa[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;c=f[a>>2]|0;if(!(c&4)){d=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=d;f[a+4>>2]=d;c=c<<27>>31}else{f[a>>2]=c|32;c=-1}return c|0}function rk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Dc(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){bm(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function tk(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}d=a+8|0;a=a+44|0;while(1){e=f[(f[d>>2]|0)+(f[b>>2]<<2)>>2]|0;b=b+4|0;if(!(Na[f[(f[e>>2]|0)+20>>2]&127](e,f[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 uk(a){a=a|0;var b=0,c=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)pq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)nq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function vk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function wk(a,c,d){a=a|0;c=c|0;d=$(d);c=Qg(a,c)|0;if((c|0)==(a+4|0))return $(d);c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;d=$(+jq(c));return $(d)}function xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){d=(c-d|0)/108|0;c=0;while(1){if((f[e+(c*108|0)>>2]|0)==(b|0))break;c=c+1|0;if(c>>>0>=d>>>0)break a}a=e+(c*108|0)+76|0;return a|0}while(0);a=a+40|0;return a|0}function yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6040;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+84>>2]|0;if(!b){zg(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);zg(a);return}function zk(a,c){a=a|0;c=c|0;c=Qg(a,c)|0;if((c|0)==(a+4|0)){a=0;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=((Mj(c)|0)+1|0)>>>0>1;return a|0}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else xi(a,b-g|0);a=a+24|0;h=a;h=Mn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Bk(a,c,d){a=a|0;c=c|0;d=d|0;c=Qg(a,c)|0;if((c|0)==(a+4|0)){a=d;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;return a|0}function Ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1880;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Ek(a){a=a|0;var b=0;f[a>>2]=2980;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2300;qj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+4>>2]|0;if(!b){pq(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Hk(a){a=a|0;var b=0;f[a>>2]=2616;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Ik(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Lo(a,f[b+8>>2]|0,g)|0)ej(0,b,c,d,e);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Jk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1936;qj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Kk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function Lk(a){a=a|0;var b=0,c=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Mk(a){a=a|0;var b=0;f[a>>2]=2980;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b)return;pq(b);return}function Nk(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;uj(a,c,0);return}function Ok(a){a=a|0;var b=0,c=0;f[a>>2]=1880;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function Qk(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;cj(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Bo(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Bo(a,f,e)}u=g;return}function Rk(a){a=a|0;var b=0;f[a>>2]=2616;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b)return;pq(b);return}function Sk(a){a=a|0;var b=0,c=0;f[a>>2]=2300;qj(a+108|0);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function Tk(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Uk(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e;d=b;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,b);b=f[a+12>>2]|0;d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+24>>2]=0;f[a+28>>2]=0;u=e;return}function Vk(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}c=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;b=f[c+32>>2]|0;if(b|0){a=b;return a|0}a=f[c+8>>2]|0;return a|0}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else ra(20748,20641,60,20738);return 0}function Xk(a){a=a|0;var b=0,c=0;f[a>>2]=1936;qj(a+108|0);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function Yk(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;Nk(d);Ai(a,d,b);ao(d);u=c;return}function Zk(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[c>>2]|0)+36>>2]&127](c,b)|0;return c|0}function _k(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function $k(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Lo(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function al(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Nk(d);Di(a,d,b);ao(d);u=c;return}function bl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((fo(Aa(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function cl(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function dl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){a=-1;return a|0}d=f[d+(b<<2)>>2]|0;if((d|0)<0){a=-1;return a|0}a=f[(f[(f[(f[a+36>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return a|0}function fl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function gl(a){a=a|0;var b=0,c=0,d=0;c=f[a>>2]|0;d=a+4|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+12>>2]=0;f[a+16>>2]=0;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function hl(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;a=(f[a+20>>2]|0)-(f[a+16>>2]|0)>>2;return a|0}function il(a){a=a|0;if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}a=(f[a+36>>2]|0)!=0;return a|0}function jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;ch(a,c);f[a>>2]=1408;d=a+72|0;c=a+36|0;a=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(a|0));a=f[b>>2]|0;f[b>>2]=0;f[d>>2]=a;return}function kl(a){a=a|0;var b=0,c=0;f[a>>2]=3036;b=f[a+56>>2]|0;if(b|0)pq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){pq(a);return}nq(b);pq(a);return}function ll(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function ml(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function nl(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function ol(a){a=a|0;var b=0,c=0;f[a>>2]=2672;b=f[a+56>>2]|0;if(b|0)pq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){pq(a);return}nq(b);pq(a);return}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=e-c|0;if(b>>>0>d>>>0){xi(a,b-d|0);return}if(b>>>0>=d>>>0)return;c=c+b|0;if((e|0)==(c|0))return;f[g>>2]=c;return}function ql(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function rl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Pf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function sl(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;za(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;za(12);return -1}return b|0}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];a=ec(a,b,d)|0;u=c;return a|0}function ul(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function vl(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(vq(d)|0)==0;a=pi(a,e,d)|0;if(!g)uq(d)}else a=pi(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function xl(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function yl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function zl(a,b){a=a|0;b=b|0;if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Al(a){a=a|0;var b=0;f[a>>2]=3036;b=f[a+56>>2]|0;if(b|0)pq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nq(b);return}function Bl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+40>>2]=c;a=1;return a|0}function Cl(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a+8>>2]=b;f[a+12>>2]=0;ln(a+16|0);f[a+48>>2]=d;if(d>>>0<7){f[a>>2]=c;n[a+4>>2]=$(0.0);return}else ra(20408,20436,38,20571)}function El(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Lo(a,f[b+8>>2]|0,g)|0)ej(0,b,c,d,e);return}function Fl(a){a=a|0;var b=0;f[a>>2]=2672;b=f[a+56>>2]|0;if(b|0)pq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nq(b);return}function Gl(a){a=a|0;var b=0,c=0;f[a>>2]=1476;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Bi(a);pq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);pq(a);return}function Hl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Il(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Jl(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Zg(a+20|0,e,d);u=c;return}function Kl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+60>>2]=c;a=1;return a|0}function Ll(){var a=0,b=0;a=an(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Ml(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Zg(a+20|0,e,d);u=c;return}function Nl(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 Ol(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;Wb(a,b,e);u=d;return}function Pl(a){a=a|0;f[a>>2]=3544;Ci(a+8|0);pq(a);return}function Ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;_b(a,b,e);u=d;return}function Rl(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Ui(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Tl(a){a=a|0;var b=0,c=0;f[a>>2]=3296;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){aj(a);pq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);aj(a);pq(a);return}function Ul(a,b){a=+a;b=+b;var c=0,d=0;p[s>>3]=a;d=f[s>>2]|0;c=f[s+4>>2]|0;p[s>>3]=b;c=f[s+4>>2]&-2147483648|c&2147483647;f[s>>2]=d;f[s+4>>2]=c;return +(+p[s>>3])}function Vl(a){a=a|0;var b=0,c=0;f[a>>2]=1476;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Bi(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);return}function Wl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ra(12038,8866,76,17860);return 0}function Xl(a,b){a=a|0;b=b|0;var c=0,d=0;d=Vj(b)|0;c=an(d+13|0)|0;f[c>>2]=d;f[c+4>>2]=d;f[c+8>>2]=0;c=hp(c)|0;Rg(c|0,b|0,d+1|0)|0;f[a>>2]=c;return}function Yl(a){a=a|0;f[a>>2]=3544;Ci(a+8|0);return}function Zl(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function _l(a){a=a|0;var b=0,c=0;f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function $l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Lo(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);return}function am(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function bm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Rg(a,c,d)|0;return a|0}function cm(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function dm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1196;b=f[a+8>>2]|0;if(!b){pq(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function em(a){a=a|0;var b=0;f[a>>2]=3092;b=f[a+56>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function fm(a){a=a|0;var b=0,c=0;f[a>>2]=3296;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){aj(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);aj(a);return}function gm(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[21314+(a&15)>>0]|0|e;a=An(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Oa[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function im(){var a=0,b=0;b=Zm()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)ko(f[a+12>>2]|0);ko(tp()|0)}function jm(a){a=a|0;var b=0;f[a>>2]=2728;b=f[a+56>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function km(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function lm(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function mm(a){a=a|0;var b=0,c=0;if(Up(a)|0?(b=pp(f[a>>2]|0)|0,c=b+8|0,a=f[c>>2]|0,f[c>>2]=a+-1,(a+-1|0)<0):0)pq(b);return}function nm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function om(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return af(a,b,c,d,e,f,5)|0}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return af(a,b,c,d,e,f,9)|0}function rm(a){a=a|0;$n(a);f[a>>2]=3232;f[a+40>>2]=1196;f[a+44>>2]=-1;a=a+48|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function sm(a){a=a|0;var b=0,c=0;f[a>>2]=1196;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function tm(a){a=a|0;var c=0;f[a>>2]=1352;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function um(a){a=a|0;f[a>>2]=3092;a=f[a+56>>2]|0;if(!a)return;pq(a);return}function vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);ig(a,b,c,d,e,f);return}function wm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function xm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14369,14740,64,14380);return 0}function ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function zm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14369,13962,63,14380);return 0}function Am(a){a=a|0;f[a>>2]=2728;a=f[a+56>>2]|0;if(!a)return;pq(a);return}function Bm(a){a=a|0;var b=0;f[a>>2]=3476;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Cm(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=An(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Rg(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Em(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-8-c|0)>>>3)<<3);pq(c);return}function Fm(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function Gm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14369,15084,68,14380);return 0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;return Oa[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Im(a){a=a|0;var c=0;xl(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Jm(a){a=a|0;f[a>>2]=3148;qj(a+88|0);pq(a);return}function Km(a){a=a|0;var b=0;f[a>>2]=3524;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function Mm(a,b){a=a|0;b=b|0;b=f[b>>2]|0;return (1<<(b&31)&f[(f[a+28>>2]|0)+(b>>>5<<2)>>2]|0)!=0|0}function Nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);vm(a,b,c,d,e,f);return}function Om(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;if((qk(a)|0)==0?(Oa[f[a+32>>2]&31](a,b,1)|0)==1:0)b=h[b>>0]|0;else b=-1;u=c;return b|0}function Pm(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;pq(b)}pq(a);return}function Qm(a){a=a|0;f[a>>2]=2784;qj(a+88|0);pq(a);return}function Rm(a){a=a|0;f[a>>2]=3148;qj(a+88|0);return}function Sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return pm(a,b,c,d,e,f)|0}function Tm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qm(a,b,c,d,e,f)|0}function Um(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Gd(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Vm(a,b,c){a=a|0;b=b|0;c=c|0;Xb(a,b,c);return}function Wm(a){a=a|0;var b=0;f[a>>2]=3476;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b)return;pq(b);return}function Xm(a){a=a|0;f[a>>2]=2784;qj(a+88|0);return}function Ym(a){a=a|0;Gn(a);f[a>>2]=6040;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Zm(){var a=0,b=0;a=u;u=u+16|0;if(!(Ha(24376,3)|0)){b=Fa(f[6095]|0)|0;u=a;return b|0}else yn(23518,a);return 0}function _m(a){a=a|0;var b=0;f[a>>2]=3524;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b)return;pq(b);return}function $m(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=Sl(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function an(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0)break;a=rp()|0;if(!a){a=0;break}Qa[a&3]()}return a|0}function bn(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=sq(f[a+60>>2]|0)|0;f[c>>2]=a;a=fo(Ca(6,c|0)|0)|0;u=b;return a|0}function cn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function dn(a){a=a|0;var b=0;b=u;u=u+16|0;pc(a);if(!(Ia(f[6095]|0,0)|0)){u=b;return}else yn(23617,b)}function en(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function fn(a,b){a=a|0;b=b|0;return rg(a+40|0,b)|0}function gn(a,b){a=a|0;b=b|0;return Vi(a,b,Qp(b)|0)|0}function hn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Si(a,b,c,g)|0;u=e;return d|0}function jn(a,b){a=a|0;b=b|0;return wj(a+40|0,b)|0}function kn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function ln(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function mn(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 Pa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return oh(a,b,c,d)|0}function on(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+24>>2]&127](a,b)|0}function pn(){var a=0;a=u;u=u+16|0;if(!(Ga(24380,110)|0)){u=a;return}else yn(23567,a)}function qn(a,b,c){a=a|0;b=b|0;c=c|0;xj(a,b,c);return}function rn(a){a=a|0;Qe(a);pq(a);return}function sn(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 tn(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)cj(a|0,(Pp(c)|0)&255|0,b|0)|0;return a|0}function un(a){a=a|0;return 4}function vn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Na[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function xn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function yn(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[1529]|0;jh(b,a,c)|0;Gj(10,b)|0;Da()}function zn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Bn(a){a=a|0;var b=0;f[a>>2]=3820;a=a+4|0;b=a+44|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Cn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ae(a,b,c,d)|0}function Dn(a){a=a|0;Re(a);pq(a);return}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Ni(a,b,c,d)|0}function Fn(a){a=a|0;return 5}function Gn(a){a=a|0;var b=0;f[a>>2]=6080;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Hn(a){a=a|0;return 6}function In(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oi(a,b,c,d)|0}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Kn(a,b){a=a|0;b=b|0;Yh(a);f[a+36>>2]=b;f[a+40>>2]=b;return}function Ln(){}function Mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Nn(a,b){a=a|0;b=b|0;if(!b)b=0;else b=yh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function On(a,b,c){a=a|0;b=b|0;c=c|0;qn(a,b,c);return}function Pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return eg(a,b,c,d)|0}function Qn(a,b,c){a=a|0;b=b|0;c=c|0;return Th(a,b,c)|0}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;return Ti(a,b,c)|0}function Sn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va[a&3](b|0,c|0,d|0,e|0,f|0)}function Tn(a,b,c){a=a|0;b=b|0;c=c|0;zi(a,b,c);return}function Un(a){a=a|0;a=f[a+56>>2]|0;return Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Vn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Wn(a){a=a|0;a=f[a+56>>2]|0;return Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0}function Xn(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Yn(a,b){a=a|0;b=b|0;f[a+52>>2]=b;Oo(a,b);return}function Zn(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function _n(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 (I=d,a-c>>>0|0)|0}function $n(a){a=a|0;tm(a);f[a>>2]=1476;f[a+36>>2]=0;return}function ao(a){a=a|0;if((b[a+11>>0]|0)<0)pq(f[a>>2]|0);return}function bo(a){a=a|0;if(!a)return;Ra[f[(f[a>>2]|0)+4>>2]&127](a);return}function co(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ua[a&3](b|0,c|0,d|0,e|0)}function eo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)bm(a|0,b|0,c|0)|0;return a|0}function fo(a){a=a|0;var b=0;if(a>>>0>4294963200){b=eq()|0;f[b>>2]=0-a;a=-1}return a|0}function go(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Rg(a|0,b|0,c|0)|0;return a|0}function ho(a,b){a=a|0;b=b|0;return -1}function io(a,b){a=a|0;b=b|0;lo(a,b);return}function jo(a){a=a|0;if(!a)a=0;else a=(mh(a,1056,1144,0)|0)!=0;return a&1|0}function ko(a){a=a|0;var b=0;b=u;u=u+16|0;Qa[a&3]();yn(23670,b)}function lo(a,b){a=a|0;b=b|0;Tj(a,b);return}function mo(a){a=a|0;Nh(a);pq(a);return}function no(a,b){a=a|0;b=b|0;ch(a,b);f[a>>2]=1292;return}function oo(a,b,c){a=a|0;b=b|0;c=c|0;vo(a,b,c);return}function po(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function qo(a){a=a|0;xo(a);f[a>>2]=3296;f[a+56>>2]=0;return}function ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa[a&31](b|0,c|0,d|0)|0}function so(a,b){a=a|0;b=b|0;return (_o(a,b)|0)<<24>>24|0}function to(a,b){a=a|0;b=b|0;f[a>>2]=7132;Xl(a+4|0,b);return}function uo(a){a=a|0;return f[a+12>>2]|0}function vo(a,b,c){a=a|0;b=b|0;c=c|0;Tn(a,b,c);return}function wo(){var a=0;a=an(64)|0;xl(a);return a|0}function xo(a){a=a|0;Bn(a);f[a>>2]=3652;f[a+52>>2]=0;return}function yo(a){a=a|0;if(!a)return;Ji(a);pq(a);return}function zo(a){a=a|0;return Ma[f[(f[a>>2]|0)+60>>2]&127](a)|0}function Ao(a){a=a|0;return f[a+4>>2]|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))pi(b,c,a)|0;return}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&15](b|0,c|0,d|0)}function Do(){var a=0;a=an(96)|0;Im(a);return a|0}function Eo(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Fo(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Go(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Ei(a,b,0)|0;return a|0}function Ho(a){a=a|0;var b=0;b=(lq()|0)+188|0;return ek(a,f[b>>2]|0)|0}function Io(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Jo(){var a=0;a=an(12)|0;So(a);return a|0}function Ko(a){a=a|0;Bi(a);pq(a);return}function Lo(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Mo(a,b){a=a|0;b=b|0;var c=0;c=Wo(a|0)|0;return ((b|0)==0?a:c)|0}function No(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Oo(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gd(a,b,c,d,0)|0}function Qo(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Ro(){var a=0;a=an(84)|0;Gn(a);return a|0}function So(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function To(a){a=a|0;f[a>>2]=7132;mm(a+4|0);return}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a&127](b|0,c|0)|0}function Vo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Wo(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Xo(a){a=a|0;xo(a);f[a>>2]=3724;return}function Yo(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Zo(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function _o(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function $o(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function ap(a){a=a|0;if(!a)return;pq(a);return}function bp(){var a=0;a=an(1)|0;uq(a);return a|0}function cp(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function dp(a){a=a|0;b[a+28>>0]=1;return}function ep(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function fp(a){a=a|0;Yh(a);return}function gp(a,b){a=a|0;b=b|0;return 1}function hp(a){a=a|0;return a+12|0}function ip(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function jp(a,b,c){a=a|0;b=b|0;c=c|0;Sa[a&7](b|0,c|0)}function kp(){var a=0;a=an(36)|0;Vp(a);return a|0}function lp(a){a=a|0;return Kp(a+4|0)|0}function mp(){var a=0;a=an(108)|0;Ym(a);return a|0}function np(a){a=a|0;aj(a);pq(a);return}function op(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function pp(a){a=a|0;return a+-12|0}function qp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function rp(){var a=0;a=f[6096]|0;f[6096]=a+0;return a|0}function sp(a){a=a|0;return f[a+56>>2]|0}function tp(){var a=0;a=f[1759]|0;f[1759]=a+0;return a|0}function up(a){a=a|0;zg(a);pq(a);return}function vp(a){a=a|0;uq(a);pq(a);return}function wp(a){a=a|0;return b[a+24>>0]|0}function xp(a,b){a=a|0;b=b|0;return 0}function yp(a){a=a|0;return f[a+40>>2]|0}function zp(a){a=a|0;return f[a+48>>2]|0}function Ap(a,b){a=a|0;b=b|0;return Ma[a&127](b|0)|0}function Bp(a){a=a|0;return f[a+60>>2]|0}function Cp(a){a=a|0;return f[a+28>>2]|0}function Dp(a){a=a|0;ta(a|0)|0;im()}function Ep(a){a=a|0;To(a);pq(a);return}function Fp(a){a=a|0;Da()}function Gp(a){a=a|0;return 3}function Hp(a,b){a=a|0;b=b|0;u=a;v=b}function Ip(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Jp(a){a=a|0;return f[a+80>>2]|0}function Kp(a){a=a|0;return f[a>>2]|0}function Lp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Mp(a,b){a=a|0;b=b|0;return $(+nk(a,b,0))}function Np(a,b){a=a|0;b=b|0;Ra[a&127](b|0)}function Op(a,b){a=a|0;b=b|0;return Nn(a,b)|0}function Pp(a){a=a|0;return a&255|0}function Qp(a){a=a|0;return Vj(a)|0}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Sp(a){a=a|0;return 2}function Tp(a,b){a=a|0;b=b|0;return +(+nk(a,b,1))}function Up(a){a=a|0;return 1}function Vp(a){a=a|0;fp(a);return}function Wp(a,b){a=+a;b=+b;return +(+Ul(a,b))}function Xp(a,b){a=+a;b=b|0;return +(+Rj(a,b))}function Yp(a,b){a=+a;b=b|0;return +(+bk(a,b))}function Zp(){return 3}function _p(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function $p(){return 0}function aq(){return -1}function bq(){return 4}function cq(){return 1}function dq(){return 2}function eq(){return (lq()|0)+64|0}function fq(a,b){a=+a;b=+b;return +(+Od(a,b))}function gq(a,b){a=a|0;b=b|0;aa(1);return 0}function hq(a){a=a|0;Qa[a&3]()}function iq(){va()}function jq(a){a=a|0;return +(+Tp(a,0))}function kq(a,b){a=a|0;b=b|0;aa(6)}function lq(){return zq()|0}function mq(a){a=a|0;return an(a)|0}function nq(a){a=a|0;pq(a);return}function oq(a){a=a|0;u=a}function pq(a){a=a|0;pc(a);return}function qq(a){a=a|0;I=a}function rq(){return 24312}function sq(a){a=a|0;return a|0}function tq(a){a=a|0;aa(0);return 0}function uq(a){a=a|0;return}function vq(a){a=a|0;return 0}function wq(){return I|0}function xq(){return u|0}function yq(a){a=a|0;aa(5)}function zq(){return 6244}function Aq(){aa(4)} // EMSCRIPTEN_END_FUNCS -var Ma=[Mp,Jn,ap,Yk,Hm,ag,Ti,hl,ah,wc,Nh,$f,Hh,Nb,vh,Hg,el,Dm,ij,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp];var Na=[op,Wi,Ng,op];var Oa=[vq,rq,kq,sm,fm,Qk,Hk,Hk,xi,Jo,Ih,ko,Yl,Jl,am,Kl,Kl,Kl,Kl,Nj,Ij,uk,gk,Pk,Ek,Zk,Kk,rq,kq,Kl,Kl,Lj,Hj,mk,bk,Mk,Dk,Tk,Gk,rq,kq,Yl,Jl,rq,kq,kq,kq,Sk,Ik,Il,rl,Am,lm,Vm,Pm,rq,kq,kq,kq,Nk,Fk,Dl,nl,um,gm,Qm,Jm,rq,kq,hk,Xj,hm,Wl,Qe,Bn,fk,Vj,Um,Bm,Ml,ik,ak,Ym,Km,Pl,_l,Sl,Pe,pn,Vi,mp,mp,rq,kq,mp,mp,mp,zk,pk,ib,og,sp,rq,Jp,rq,rq,Jp,rq,Jp,bn,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq];var Pa=[hq,lk,Rf,sk,Dc,hq,hq,hq];var Qa=[Go,qd,ic,Rb,_a,Gd,Jd,Zl,lc,Sb,Za,Cd,Id,Zl,pj,Xd,gd,db,yg,Xg,ec,ee,hd,bb,rg,Qg,dc,Go,Go,Go,Go,Go];var Ra=[qq,Np,Qp,Qp,Np,sq,sq,sq,Zj,Pf,Qp,xo,sq,sq,Qp,sq,Qp,Qp,tl,Np,tl,sn,tl,Bp,ol,Qp,Fn,ol,Qp,Hn,Uk,Qp,zp,Qp,tl,Np,tl,sn,tl,Bp,ol,Qp,Fn,ol,Qp,Hn,Uk,Qp,zp,Qp,Bp,sq,xo,Qp,sq,Qp,Bp,Qp,ll,Np,ll,sn,ll,Bp,gl,Qp,Fn,gl,Qp,Hn,Lk,Qp,zp,Qp,ll,Np,ll,sn,ll,Bp,gl,Qp,Fn,gl,Qp,Hn,Lk,Qp,zp,Qp,Np,Qp,Qp,Ld,Qp,wo,Se,Vg,tk,Un,Sn,eb,qo,xo,Fg,Jg,Mf,gb,qo,xo,Qp,sq,sq,Wb,Ei,sq,Qp,Qp,Bj,sq,Bj,Rj,$m,dq,qq,qq,qq,qq];var Sa=[Wp,Ee,Ii,yc,xc,de,yc,xc,wg,ej,Zf,Uf,Wp,Wp,Wp,Wp];var Ta=[xq,fq,vi,nn];var Ua=[$o,Hl,Jk,$o];var Va=[cq,yl,mh,Yd,Cl,up,up,up,hp,hp,fb,Vn,hp,hp,fi,Qi,Sh,Wj,kl,zj,Xk,Oj,Sj,Be,fo,up,ei,nf,Gm,Nl,$d,xm,Nl,_e,zm,Ll,fh,qm,nf,Gm,Nl,$d,xm,Nl,_e,zm,Ll,fh,qm,gn,fo,up,_h,kf,Gm,El,Zd,xm,El,Ye,zm,Bl,$g,qm,kf,Gm,El,Zd,xm,El,Ye,zm,Bl,$g,qm,dn,vn,mn,xn,un,Yg,Uj,xk,Pb,ae,Mm,bf,df,ef,Wg,Uj,xk,Ob,ae,Mm,hp,up,up,pf,pm,kj,pf,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq];var Wa=[Dp,bm,bl,Dp];return{_emscripten_bind_PointAttribute_normalized_0:np,_bitshift64Lshr:yn,_emscripten_bind_PointAttribute_size_0:Fp,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Xp,_sbrk:vl,_memcpy:Eg,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Yp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:Nm,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Xp,___udivmoddi4:Ad,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:_p,_emscripten_bind_Mesh_num_faces_0:Do,_emscripten_get_global_libc:oq,stackSave:uq,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Pn,___cxa_can_catch:jm,_free:rc,runPostSets:Cn,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Yp,_emscripten_bind_DracoInt8Array___destroy___0:om,_emscripten_bind_PointAttribute_byte_stride_0:vp,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:Rm,_emscripten_bind_MeshBuilder_MeshBuilder_0:cp,_emscripten_bind_Metadata_Metadata_0:Ol,_emscripten_bind_PointCloud_num_attributes_0:Mo,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:cp,_emscripten_bind_Mesh_Mesh_0:lp,_emscripten_bind_MetadataBuilder_AddIntEntry_3:In,_emscripten_bind_DracoInt8Array_GetValue_1:Ho,setThrew:fp,_emscripten_bind_PointAttribute_num_components_0:tp,_emscripten_bind_MeshBuilder___destroy___0:bp,___cxa_is_pointer_type:ho,_llvm_cttz_i32:mm,_i64Add:Zn,stackAlloc:Co,_emscripten_bind_Mesh_num_points_0:Fp,___divdi3:kk,_emscripten_bind_Encoder_SetAttributeQuantization_2:Mn,getTempRet0:tq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:Xp,_emscripten_bind_Mesh_num_attributes_0:Mo,_llvm_bswap_i32:Yo,_emscripten_bind_PointAttribute_unique_id_0:yp,establishStackSpace:Cp,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:Nn,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Vp,_emscripten_bind_DracoInt8Array_size_0:Uo,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:En,_emscripten_bind_MetadataBuilder_AddStringEntry_3:An,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:$p,_emscripten_bind_VoidPtr___destroy___0:bp,_memset:Xi,_emscripten_bind_PointAttribute_attribute_type_0:qp,_emscripten_bind_PointCloud___destroy___0:$n,_i64Subtract:Dn,setTempRet0:nq,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Io,_emscripten_bind_DracoFloat32Array___destroy___0:om,_emscripten_bind_Mesh_set_num_points_1:ip,_emscripten_bind_PointCloud_num_points_0:Fp,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:_p,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:so,___muldsi3:Vl,_emscripten_bind_PointAttribute_data_type_0:zp,_emscripten_bind_DracoFloat32Array_size_0:Uo,_emscripten_bind_GeometryAttribute___destroy___0:bp,_emscripten_bind_MetadataBuilder___destroy___0:bp,_malloc:Xa,_emscripten_replace_memory:La,_memmove:dm,_emscripten_bind_PointCloud_PointCloud_0:Ro,_emscripten_bind_Mesh___destroy___0:$n,_emscripten_bind_Metadata___destroy___0:vo,___udivdi3:Oo,_emscripten_bind_PointAttribute_byte_offset_0:wp,_bitshift64Shl:tn,_emscripten_bind_Encoder_Encoder_0:kp,_emscripten_bind_Encoder_SetSpeedOptions_2:mo,___muldi3:Zm,___uremdi3:Sm,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Io,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Zp,_emscripten_bind_Encoder___destroy___0:Dj,_emscripten_bind_DracoFloat32Array_GetValue_1:to,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:On,_emscripten_bind_Encoder_SetEncodingMethod_1:go,_emscripten_bind_PointAttribute_PointAttribute_0:Bo,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:_p,stackRestore:lq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:ln,_emscripten_bind_PointAttribute___destroy___0:rj,stackAlloc:Co,stackSave:uq,stackRestore:lq,establishStackSpace:Cp,setThrew:fp,setTempRet0:nq,getTempRet0:tq,dynCall_iiii:po,dynCall_viiiii:Qn,dynCall_vi:Hp,dynCall_vii:jp,dynCall_iiiiiii:kn,dynCall_ii:xp,dynCall_viii:Ao,dynCall_v:eq,dynCall_viiiiii:qn,dynCall_iii:Xo,dynCall_viiii:ao}}) +var Ma=[tq,Sp,Up,Up,Sp,vq,vq,vq,ak,Vf,Up,Ao,vq,vq,Up,vq,Up,Up,ql,Sp,ql,un,ql,Gp,ll,Up,Fn,ll,Up,Hn,Tk,Up,Cp,Up,ql,Sp,ql,un,ql,Gp,ll,Up,Fn,ll,Up,Hn,Tk,Up,Cp,Up,Gp,vq,Ao,Up,vq,Up,Gp,Up,il,Sp,il,un,il,Gp,dl,Up,Fn,dl,Up,Hn,Kk,Up,Cp,Up,il,Sp,il,un,il,Gp,dl,Up,Fn,dl,Up,Hn,Kk,Up,Cp,Up,Sp,Up,Up,Ed,Up,zo,Te,bh,tk,Wn,Un,eb,uo,Ao,og,Cg,uf,hb,uo,Ao,Up,vq,vq,ac,Ii,vq,Up,Up,Bj,vq,Bj,Sj,bn,lp,tq,tq,tq,tq];var Na=[gq,vl,sh,oe,zl,xp,xp,xp,gp,gp,fb,Xn,gp,gp,ji,Yi,Zh,Yj,hl,zj,Vk,Pj,Uj,Ee,ho,xp,ii,of,Gm,Kl,qe,xm,Kl,_e,zm,Il,ih,om,of,Gm,Kl,qe,xm,Kl,_e,zm,Il,ih,om,jn,ho,xp,di,lf,Gm,Bl,pe,xm,Bl,Ye,zm,yl,dh,om,lf,Gm,Bl,pe,xm,Bl,Ye,zm,yl,dh,om,fn,xn,on,zn,wn,Kg,Wj,xk,Sb,se,Mm,bf,df,ff,Hg,Wj,xk,Rb,se,Mm,gp,xp,xp,sf,nm,nj,sf,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq];var Oa=[Rp,Jn,Zo,Wk,Hm,jg,_i,el,eh,nc,Sh,Yf,Mh,tb,zh,Tg,bl,Dm,mj,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp];var Pa=[Io,wd,oc,Tb,_a,Cd,Id,Wl,qc,Ub,Za,Bd,Hd,Wl,rj,Sd,gd,bb,dg,Eg,lc,Xd,hd,$a,ag,yg,jc,Io,Io,Io,Io,Io];var Qa=[Aq,iq,yi,pn];var Ra=[yq,uq,nq,sm,dm,Pk,Gk,Gk,Bi,Ko,Nh,mo,Vl,Gl,_l,Hl,Hl,Hl,Hl,Nj,Kj,uk,gk,Ok,Dk,Xk,Jk,uq,nq,Hl,Hl,Lj,Ij,mk,dk,Lk,Ck,Sk,Fk,uq,nq,Vl,Gl,uq,nq,nq,nq,Rk,Hk,Fl,ol,Am,jm,Xm,Qm,uq,nq,nq,nq,Mk,Ek,Al,kl,um,em,Rm,Jm,uq,nq,hk,Zj,fm,Tl,Re,Dn,fk,Xj,Wm,Bm,Jl,ik,ck,_m,Km,Ml,Yl,Pl,Qe,rn,aj,np,np,uq,nq,np,np,np,yk,pk,db,zg,up,uq,vp,uq,uq,vp,To,Ep,Ep,dn,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq];var Sa=[kq,lk,Zf,sk,Dc,kq,kq,kq];var Ta=[_p,ye,Qi,Ac,Vb,re,Ac,Vb,Fg,ij,hg,cg,_p,_p,_p,_p];var Ua=[Lp,$l,$k,Lp];var Va=[qp,bj,_g,qp];var Wa=[Vo,El,Ik,Vo];return{___cxa_can_catch:hm,___cxa_is_pointer_type:jo,___divdi3:kk,___muldi3:$m,___udivdi3:Po,___uremdi3:Um,_bitshift64Lshr:An,_bitshift64Shl:vn,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Jo,_emscripten_bind_DracoInt8Array_GetValue_1:so,_emscripten_bind_DracoInt8Array___destroy___0:Pm,_emscripten_bind_DracoInt8Array_size_0:$o,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:Qn,_emscripten_bind_Encoder_Encoder_0:kp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:Nm,_emscripten_bind_Encoder_SetAttributeQuantization_2:On,_emscripten_bind_Encoder_SetEncodingMethod_1:io,_emscripten_bind_Encoder_SetSpeedOptions_2:oo,_emscripten_bind_Encoder___destroy___0:Fj,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:wo,_emscripten_bind_GeometryAttribute___destroy___0:ap,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:Pn,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:Tm,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:Sm,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Rn,_emscripten_bind_MeshBuilder_MeshBuilder_0:bp,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:nn,_emscripten_bind_MeshBuilder___destroy___0:ap,_emscripten_bind_Mesh_Mesh_0:mp,_emscripten_bind_Mesh___destroy___0:bo,_emscripten_bind_Mesh_num_attributes_0:No,_emscripten_bind_Mesh_num_faces_0:Fo,_emscripten_bind_Mesh_num_points_0:Jp,_emscripten_bind_Mesh_set_num_points_1:ip,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:En,_emscripten_bind_MetadataBuilder_AddIntEntry_3:In,_emscripten_bind_MetadataBuilder_AddStringEntry_3:Cn,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:bp,_emscripten_bind_MetadataBuilder___destroy___0:ap,_emscripten_bind_Metadata_Metadata_0:Ll,_emscripten_bind_Metadata___destroy___0:yo,_emscripten_bind_PointAttribute_PointAttribute_0:Do,_emscripten_bind_PointAttribute___destroy___0:tj,_emscripten_bind_PointAttribute_attribute_type_0:sp,_emscripten_bind_PointAttribute_byte_offset_0:zp,_emscripten_bind_PointAttribute_byte_stride_0:yp,_emscripten_bind_PointAttribute_data_type_0:Cp,_emscripten_bind_PointAttribute_normalized_0:op,_emscripten_bind_PointAttribute_num_components_0:wp,_emscripten_bind_PointAttribute_size_0:Jp,_emscripten_bind_PointAttribute_unique_id_0:Bp,_emscripten_bind_PointCloud_PointCloud_0:Ro,_emscripten_bind_PointCloud___destroy___0:bo,_emscripten_bind_PointCloud_num_attributes_0:No,_emscripten_bind_PointCloud_num_points_0:Jp,_emscripten_bind_VoidPtr___destroy___0:ap,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:aq,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:$p,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:cq,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:dq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:bq,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:aq,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:cq,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:$p,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Zp,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:cq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:$p,_emscripten_get_global_libc:rq,_emscripten_replace_memory:La,_free:pc,_i64Add:Mn,_i64Subtract:_n,_llvm_bswap_i32:Wo,_malloc:Xa,_memcpy:Rg,_memmove:bm,_memset:cj,_sbrk:sl,dynCall_ii:Ap,dynCall_iii:Uo,dynCall_iiii:ro,dynCall_iiiiiii:mn,dynCall_v:hq,dynCall_vi:Np,dynCall_vii:jp,dynCall_viii:Co,dynCall_viiii:co,dynCall_viiiii:Sn,dynCall_viiiiii:sn,establishStackSpace:Hp,getTempRet0:wq,runPostSets:Ln,setTempRet0:qq,setThrew:ep,stackAlloc:Eo,stackRestore:oq,stackSave:xq}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);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 _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"]=asm["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var stackSave=Module["stackSave"]=asm["stackSave"];var _emscripten_bind_MeshBuilder_AddMetadataToMesh_2=Module["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];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_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"];var _emscripten_bind_MeshBuilder_MeshBuilder_0=Module["_emscripten_bind_MeshBuilder_MeshBuilder_0"]=asm["_emscripten_bind_MeshBuilder_MeshBuilder_0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_MetadataBuilder_MetadataBuilder_0=Module["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"]=asm["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_MetadataBuilder_AddIntEntry_3=Module["_emscripten_bind_MetadataBuilder_AddIntEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddIntEntry_3"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var setThrew=Module["setThrew"]=asm["setThrew"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_MeshBuilder___destroy___0=Module["_emscripten_bind_MeshBuilder___destroy___0"]=asm["_emscripten_bind_MeshBuilder___destroy___0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _emscripten_bind_Encoder_SetAttributeQuantization_2=Module["_emscripten_bind_Encoder_SetAttributeQuantization_2"]=asm["_emscripten_bind_Encoder_SetAttributeQuantization_2"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _emscripten_bind_MeshBuilder_AddFacesToMesh_3=Module["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"]=asm["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"];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_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_MetadataBuilder_AddDoubleEntry_3=Module["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"];var _emscripten_bind_MetadataBuilder_AddStringEntry_3=Module["_emscripten_bind_MetadataBuilder_AddStringEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddStringEntry_3"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_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 setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_Mesh_set_num_points_1=Module["_emscripten_bind_Mesh_set_num_points_1"]=asm["_emscripten_bind_Mesh_set_num_points_1"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_MetadataBuilder___destroy___0=Module["_emscripten_bind_MetadataBuilder___destroy___0"]=asm["_emscripten_bind_MetadataBuilder___destroy___0"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Encoder_Encoder_0=Module["_emscripten_bind_Encoder_Encoder_0"]=asm["_emscripten_bind_Encoder_Encoder_0"];var _emscripten_bind_Encoder_SetSpeedOptions_2=Module["_emscripten_bind_Encoder_SetSpeedOptions_2"]=asm["_emscripten_bind_Encoder_SetSpeedOptions_2"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_bind_Encoder___destroy___0=Module["_emscripten_bind_Encoder___destroy___0"]=asm["_emscripten_bind_Encoder___destroy___0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=Module["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"]=asm["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"];var _emscripten_bind_Encoder_SetEncodingMethod_1=Module["_emscripten_bind_Encoder_SetEncodingMethod_1"]=asm["_emscripten_bind_Encoder_SetEncodingMethod_1"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_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=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});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)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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 __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}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=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+16768;__ATINIT__.push();allocate([4,14,0,0,135,14,0,0,44,14,0,0,96,14,0,0,8,0,0,0,0,0,0,0,44,14,0,0,164,14,0,0,8,0,0,0,0,0,0,0,44,14,0,0,205,14,0,0,64,0,0,0,0,0,0,0,4,14,0,0,233,14,0,0,4,14,0,0,14,15,0,0,44,14,0,0,51,15,0,0,48,0,0,0,0,0,0,0,44,14,0,0,159,26,0,0,72,0,0,0,0,0,0,0,44,14,0,0,99,15,0,0,128,0,0,0,0,0,0,0,44,14,0,0,188,15,0,0,144,0,0,0,0,0,0,0,44,14,0,0,16,16,0,0,160,0,0,0,0,0,0,0,44,14,0,0,68,16,0,0,176,0,0,0,0,0,0,0,4,14,0,0,111,16,0,0,44,14,0,0,147,16,0,0,200,0,0,0,0,0,0,0,4,14,0,0,49,17,0,0,44,14,0,0,122,18,0,0,224,0,0,0,0,0,0,0,44,14,0,0,18,19,0,0,128,0,0,0,0,0,0,0,44,14,0,0,59,20,0,0,224,0,0,0,0,0,0,0,44,14,0,0,213,20,0,0,224,0,0,0,0,0,0,0,44,14,0,0,123,21,0,0,224,0,0,0,0,0,0,0,44,14,0,0,17,22,0,0,48,1,0,0,0,0,0,0,4,14,0,0,188,22,0,0,44,14,0,0,103,23,0,0,72,1,0,0,0,0,0,0,44,14,0,0,12,24,0,0,128,0,0,0,0,0,0,0,44,14,0,0,162,24,0,0,72,1,0,0,0,0,0,0,44,14,0,0,73,25,0,0,72,1,0,0,0,0,0,0,44,14,0,0,252,25,0,0,72,1,0,0,0,0,0,0,44,14,0,0,65,41,0,0,96,0,0,0,0,0,0,0,44,14,0,0,68,31,0,0,168,1,0,0,0,0,0,0,44,14,0,0,181,31,0,0,144,0,0,0,0,0,0,0,44,14,0,0,226,33,0,0,200,1,0,0,0,0,0,0,4,14,0,0,152,34,0,0,44,14,0,0,255,36,0,0,224,1,0,0,0,0,0,0,44,14,0,0,175,37,0,0,168,1,0,0,0,0,0,0,44,14,0,0,80,38,0,0,0,2,0,0,0,0,0,0,4,14,0,0,19,39,0,0,44,14,0,0,214,39,0,0,24,2,0,0,0,0,0,0,44,14,0,0,147,40,0,0,168,1,0,0,0,0,0,0,44,14,0,0,108,41,0,0,96,0,0,0,0,0,0,0,44,14,0,0,3,42,0,0,232,2,0,0,0,0,0,0,44,14,0,0,25,42,0,0,56,2,0,0,0,0,0,0,44,14,0,0,137,45,0,0,176,2,0,0,0,0,0,0,4,14,0,0,58,42,0,0,44,14,0,0,4,43,0,0,128,2,0,0,0,0,0,0,4,14,0,0,206,43,0,0,4,14,0,0,232,43,0,0,44,14,0,0,35,44,0,0,128,2,0,0,0,0,0,0,44,14,0,0,204,44,0,0,128,2,0,0,0,0,0,0,4,14,0,0,213,45,0,0,44,14,0,0,3,46,0,0,176,2,0,0,0,0,0,0,44,14,0,0,112,46,0,0,56,2,0,0,0,0,0,0,44,14,0,0,86,46,0,0,128,2,0,0,0,0,0,0,4,14,0,0,144,46,0,0,44,14,0,0,65,48,0,0,0,3,0,0,0,0,0,0,4,14,0,0,196,48,0,0,4,14,0,0,148,61,0,0,44,14,0,0,244,61,0,0,32,3,0,0,0,0,0,0,44,14,0,0,161,61,0,0,48,3,0,0,0,0,0,0,4,14,0,0,194,61,0,0,44,14,0,0,207,61,0,0,16,3,0,0,0,0,0,0,44,14,0,0,229,62,0,0,8,3,0,0,0,0,0,0,44,14,0,0,22,63,0,0,32,3,0,0,0,0,0,0,44,14,0,0,242,62,0,0,88,3,0,0,0,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,48,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,5,0,0,0,0,0,0,0,72,0,0,0,7,0,0,0,8,0,0,0,2,0,0,0,8,0,0,0,3,0,0,0,4,0,0,0,9,0,0,0,10,0,0,0,5,0,0,0,0,0,0,192,0,0,0,0,80,0,0,0,9,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,96,0,0,0,11,0,0,0,12,0,0,0,6,0,0,0,8,0,0,0,3,0,0,0,4,0,0,0,16,0,0,0,10,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,7,0,0,0,17,0,0,0,0,0,0,0,128,0,0,0,13,0,0,0,14,0,0,0,1,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,20,0,0,0,1,0,0,0,0,0,0,0,112,0,0,0,13,0,0,0,15,0,0,0,12,0,0,0,8,0,0,0,13,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,20,0,0,0,1,0,0,0,0,0,0,0,16,1,0,0,13,0,0,0,16,0,0,0,14,0,0,0,8,0,0,0,15,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,20,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,17,0,0,0,18,0,0,0,16,0,0,0,8,0,0,0,17,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,21,0,0,0,3,0,0,0,0,0,0,0,240,0,0,0,19,0,0,0,20,0,0,0,18,0,0,0,8,0,0,0,19,0,0,0,20,0,0,0,22,0,0,0,23,0,0,0,10,0,0,0,11,0,0,0,24,0,0,0,4,0,0,0,0,0,0,0,208,0,0,0,21,0,0,0,22,0,0,0,21,0,0,0,8,0,0,0,22,0,0,0,23,0,0,0,25,0,0,0,26,0,0,0,10,0,0,0,11,0,0,0,27,0,0,0,5,0,0,0,0,0,0,0,184,0,0,0,23,0,0,0,24,0,0,0,28,0,0,0,24,0,0,0,2,0,0,0,0,0,0,0,120,1,0,0,13,0,0,0,25,0,0,0,25,0,0,0,8,0,0,0,26,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,20,0,0,0,6,0,0,0,0,0,0,0,104,1,0,0,26,0,0,0,27,0,0,0,27,0,0,0,8,0,0,0,28,0,0,0,9,0,0,0,18,0,0,0,19,0,0,0,10,0,0,0,11,0,0,0,29,0,0,0,7,0,0,0,0,0,0,0,88,1,0,0,28,0,0,0,29,0,0,0,29,0,0,0,8,0,0,0,30,0,0,0,31,0,0,0,30,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,32,0,0,0,8,0,0,0,0,0,0,0,56,1,0,0,30,0,0,0,31,0,0,0,32,0,0,0,8,0,0,0,33,0,0,0,34,0,0,0,33,0,0,0,34,0,0,0,10,0,0,0,11,0,0,0,35,0,0,0,9,0,0,0,0,0,0,0,32,1,0,0,32,0,0,0,33,0,0,0,36,0,0,0,35,0,0,0,3,0,0,0,0,0,0,0,136,1,0,0,11,0,0,0,34,0,0,0,9,0,0,0,8,0,0,0,3,0,0,0,10,0,0,0,16,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,2,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,152,1,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,38,0,0,0,39,0,0,0,41,0,0,0,42,0,0,0,40,0,0,0,10,0,0,0,0,0,0,0,8,2,0,0,37,0,0,0,38,0,0,0,43,0,0,0,38,0,0,0,44,0,0,0,45,0,0,0,41,0,0,0,42,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,11,0,0,0,0,0,0,0,240,1,0,0,39,0,0,0,40,0,0,0,44,0,0,0,46,0,0,0,4,0,0,0,0,0,0,0,208,1,0,0,41,0,0,0,42,0,0,0,47,0,0,0,38,0,0,0,48,0,0,0,49,0,0,0,45,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,47,0,0,0,12,0,0,0,0,0,0,0,184,1,0,0,43,0,0,0,44,0,0,0,48,0,0,0,50,0,0,0,5,0,0,0,0,0,0,0,40,2,0,0,45,0,0,0,46,0,0,0,12,0,0,0,8,0,0,0,3,0,0,0,13,0,0,0,16,0,0,0,10,0,0,0,7,0,0,0,14,0,0,0,1,0,0,0,7,0,0,0,49,0,0,0,51,0,0,0,50,0,0,0,0,0,0,0,56,2,0,0,47,0,0,0,48,0,0,0,52,0,0,0,53,0,0,0,1,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,51,0,0,0,52,0,0,0,1,0,0,0,0,0,0,0,72,2,0,0,49,0,0,0,50,0,0,0,52,0,0,0,59,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,60,0,0,0,61,0,0,0,54,0,0,0,55,0,0,0,62,0,0,0,0,0,0,0,88,2,0,0,51,0,0,0,52,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,0,0,0,0,112,2,0,0,53,0,0,0,54,0,0,0,60,0,0,0,67,0,0,0,0,0,0,0,104,2,0,0,55,0,0,0,56,0,0,0,57,0,0,0,0,0,0,192,0,0,0,0,144,2,0,0,58,0,0,0,59,0,0,0,61,0,0,0,68,0,0,0,0,0,0,0,136,2,0,0,60,0,0,0,61,0,0,0,62,0,0,0,0,0,0,0,160,2,0,0,63,0,0,0,64,0,0,0,62,0,0,0,69,0,0,0,0,0,0,0,184,2,0,0,65,0,0,0,66,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,0,0,0,0,200,2,0,0,47,0,0,0,67,0,0,0,52,0,0,0,53,0,0,0,67,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,51,0,0,0,52,0,0,0,74,0,0,0,0,0,0,0,216,2,0,0,68,0,0,0,69,0,0,0,68,0,0,0,75,0,0,0,0,0,0,0,232,2,0,0,47,0,0,0,70,0,0,0,76,0,0,0,53,0,0,0,1,0,0,0,77,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,0,0,0,192,0,0,0,192,0,0,0,0,240,2,0,0,71,0,0,0,72,0,0,0,6,0,0,0,3,0,0,0,0,0,0,192,0,0,0,0,0,3,0,0,73,0,0,0,74,0,0,0,7,0,0,0,4,0,0,0,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0,192,136,10,0,0,5,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,124,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,139,61,0,0,0,0,0,0,16,3,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,18,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,56,3,0,0,75,0,0,0,79,0,0,0,77,0,0,0,78,0,0,0,18,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,72,3,0,0,80,0,0,0,81,0,0,0,79,0,0,0,78,53,100,114,97,99,111,50,56,65,116,116,114,105,98,117,116,101,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,49,56,65,116,116,114,105,98,117,116,101,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,51,48,65,116,116,114,105,98,117,116,101,81,117,97,110,116,105,122,97,116,105,111,110,84,114,97,110,115,102,111,114,109,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,50,54,65,116,116,114,105,98,117,116,101,115,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,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,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,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,51,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,110,116,101,114,102,97,99,101,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,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,102,97,108,115,101,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,119,114,97,112,95,116,114,97,110,115,102,111,114,109,95,98,97,115,101,46,104,0,113,117,97,110,116,105,122,97,116,105,111,110,95,98,105,116,115,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,112,111,114,116,97,98,108,101,95,100,101,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,52,52,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,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,48,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,53,54,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,48,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,68,101,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,68,101,99,111,100,105,110,103,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,40,113,41,32,62,61,32,40,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,110,111,114,109,97,108,95,99,111,109,112,114,101,115,115,105,111,110,95,117,116,105,108,115,46,104,0,83,101,116,81,117,97,110,116,105,122,97,116,105,111,110,66,105,116,115,0,40,113,41,32,60,61,32,40,51,48,41,0,40,105,110,95,115,41,32,62,61,32,40,48,41,0,79,99,116,97,104,101,114,100,97,108,67,111,111,114,100,115,84,111,85,110,105,116,86,101,99,116,111,114,0,40,105,110,95,116,41,32,62,61,32,40,48,41,0,40,105,110,95,115,41,32,60,61,32,40,49,41,0,40,105,110,95,116,41,32,60,61,32,40,49,41,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,100,101,99,111,100,105,110,103,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,48,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,99,111,114,114,95,118,97,108,115,91,49,93,41,32,60,61,32,40,50,32,42,32,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,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,48,93,41,0,40,48,41,32,60,61,32,40,99,111,114,114,95,118,97,108,115,91,49,93,41,0,40,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,115,73,110,68,105,97,109,111,110,100,0,40,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,118,101,114,116,68,105,97,109,111,110,100,0,40,42,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,32,37,32,50,41,32,61,61,32,40,49,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,98,97,115,101,46,104,0,115,101,116,95,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,116,104,105,115,45,62,73,115,73,110,105,116,105,97,108,105,122,101,100,40,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,97,114,101,97,46,104,0,67,111,109,112,117,116,101,80,114,101,100,105,99,116,101,100,86,97,108,117,101,0,40,110,111,114,109,97,108,46,65,98,115,83,117,109,40,41,41,32,60,61,32,40,117,112,112,101,114,95,98,111,117,110,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,98,97,115,101,46,104,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,67,111,114,110,101,114,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,68,97,116,97,73,100,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,100,101,99,111,100,101,114,46,104,0,67,111,109,112,117,116,101,79,114,105,103,105,110,97,108,86,97,108,117,101,115,0,40,110,117,109,95,99,111,109,112,111,110,101,110,116,115,41,32,61,61,32,40,50,41,0,40,112,114,101,100,95,110,111,114,109,97,108,95,51,100,46,65,98,115,83,117,109,40,41,41,32,61,61,32,40,111,99,116,97,104,101,100,114,111,110,95,116,111,111,108,95,98,111,120,95,46,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,48,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,49,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,50,93,41,41,32,61,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,116,101,103,101,114,86,101,99,116,111,114,84,111,81,117,97,110,116,105,122,101,100,79,99,116,97,104,101,100,114,97,108,67,111,111,114,100,115,0,40,105,41,32,61,61,32,40,48,41,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,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,68,101,99,111,100,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,99,111,100,101,114,73,105,78,83,95,54,50,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,68,101,99,111,100,105,110,103,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,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,85,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,46,0,85,110,115,117,112,112,111,114,116,101,100,32,103,101,111,109,101,116,114,121,32,116,121,112,101,46,0,73,110,112,117,116,32,105,115,32,110,111,116,32,97,32,109,101,115,104,46,0,115,107,105,112,95,97,116,116,114,105,98,117,116,101,95,116,114,97,110,115,102,111,114,109,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,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,33,105,100,101,110,116,105,116,121,95,109,97,112,112,105,110,103,95,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,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,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,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,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,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,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,49,55,80,111,105,110,116,67,108,111,117,100,68,101,99,111,100,101,114,69,0,70,97,105,108,101,100,32,116,111,32,112,97,114,115,101,32,68,114,97,99,111,32,104,101,97,100,101,114,46,0,68,82,65,67,79,0,78,111,116,32,97,32,68,114,97,99,111,32,102,105,108,101,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,109,101,116,97,100,97,116,97,46,0,85,115,105,110,103,32,105,110,99,111,109,112,97,116,105,98,108,101,32,100,101,99,111,100,101,114,32,102,111,114,32,116,104,101,32,105,110,112,117,116,32,103,101,111,109,101,116,114,121,46,0,85,110,107,110,111,119,110,32,109,97,106,111,114,32,118,101,114,115,105,111,110,46,0,85,110,107,110,111,119,110,32,109,105,110,111,114,32,118,101,114,115,105,111,110,46,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,100,101,99,111,100,101,114,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,103,101,111,109,101,116,114,121,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,112,111,105,110,116,32,97,116,116,114,105,98,117,116,101,115,46,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,100,101,99,111,100,101,114,95,98,117,102,102,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,78,53,100,114,97,99,111,52,77,101,115,104,69,0,97,116,116,95,105,100,32,62,61,32,48,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,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,40,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,110,97,109,101,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,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,33,34,118,101,99,116,111,114,32,111,117,116,95,111,102,95,114,97,110,103,101,34,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,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,37,100,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;Module["_i64Add"]=_i64Add;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){Module["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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;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;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}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["___divdi3"]=___divdi3;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["___udivdi3"]=___udivdi3;var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;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 ___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;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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 ___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;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_getspecific":_pthread_getspecific,"_pthread_setspecific":_pthread_setspecific,"___cxa_throw":___cxa_throw,"_pthread_key_create":_pthread_key_create,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___cxa_begin_catch":___cxa_begin_catch,"___syscall146":___syscall146,"_pthread_once":_pthread_once,"_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,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM -var asm=(function(global,env,buffer) { -"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_iiii;var ga=env.invoke_viiiii;var ha=env.invoke_vi;var ia=env.invoke_vii;var ja=env.invoke_iiiiiii;var ka=env.invoke_ii;var la=env.invoke_viii;var ma=env.invoke_v;var na=env.invoke_viiiiii;var oa=env.invoke_iii;var pa=env.invoke_viiii;var qa=env._pthread_getspecific;var ra=env._pthread_setspecific;var sa=env.___cxa_throw;var ta=env._pthread_key_create;var ua=env.___syscall6;var va=env.___setErrNo;var wa=env._abort;var xa=env.___cxa_begin_catch;var ya=env.___syscall146;var za=env._pthread_once;var Aa=env._emscripten_memcpy_big;var Ba=env.___gxx_personality_v0;var Ca=env.___syscall140;var Da=env.___resumeException;var Ea=env.___cxa_find_matching_catch;var Fa=env.___assert_fail;var Ga=env.___cxa_pure_virtual;var Ha=env.___cxa_allocate_exception;var Ia=env.__ZSt18uncaught_exceptionv;var Ja=$(0);const Ka=$(0);function La(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +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]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoDecoderModule!=="undefined"?DracoDecoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);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};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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}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"]};function ccall(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)}}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 stop;ptr=ret;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){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+16592;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,GA4AAK8OAABADgAAiA4AAAgAAAAAAAAAQA4AAMwOAAAIAAAAAAAAAEAOAAD1DgAAQAAAAAAAAAAYDgAAEQ8AABgOAAA2DwAAQA4AAFsPAAAwAAAAAAAAAEAOAADTGgAASAAAAAAAAABADgAAiw8AAIAAAAAAAAAAQA4AAOQPAACQAAAAAAAAAEAOAAA4EAAAoAAAAAAAAABADgAAbBAAALAAAAAAAAAAGA4AAJcQAABADgAAuxAAAMgAAAAAAAAAGA4AAFkRAABADgAAqBIAAOAAAAAAAAAAQA4AAEATAACAAAAAAAAAAEAOAABvFAAA4AAAAAAAAABADgAACRUAAOAAAAAAAAAAQA4AAK8VAADgAAAAAAAAAEAOAABFFgAAMAEAAAAAAAAYDgAA8BYAAEAOAACbFwAASAEAAAAAAABADgAAQBgAAIAAAAAAAAAAQA4AANYYAABIAQAAAAAAAEAOAAB9GQAASAEAAAAAAABADgAAMBoAAEgBAAAAAAAAQA4AAIQpAABgAAAAAAAAAEAOAACKHwAAqAEAAAAAAABADgAA+x8AAJAAAAAAAAAAQA4AAB8iAADIAQAAAAAAABgOAADVIgAAQA4AAEIlAADgAQAAAAAAAEAOAADyJQAAqAEAAAAAAABADgAAkyYAAAACAAAAAAAAGA4AAFYnAABADgAAGSgAABgCAAAAAAAAQA4AANYoAACoAQAAAAAAAEAOAACvKQAAYAAAAAAAAABADgAARioAAOgCAAAAAAAAQA4AAFwqAAA4AgAAAAAAAEAOAADSLQAAsAIAAAAAAAAYDgAAfSoAAEAOAABNKwAAgAIAAAAAAAAYDgAAFywAABgOAAAxLAAAQA4AAGwsAACAAgAAAAAAAEAOAAAVLQAAgAIAAAAAAAAYDgAAHi4AAEAOAABMLgAAsAIAAAAAAABADgAAuS4AADgCAAAAAAAAQA4AAJ8uAACAAgAAAAAAABgOAADZLgAAQA4AAJAwAAAAAwAAAAAAABgOAABdMQAAGA4AANg8AABADgAAOD0AACADAAAAAAAAQA4AAOU8AAAwAwAAAAAAABgOAAAGPQAAQA4AABM9AAAQAwAAAAAAAEAOAAAaPgAACAMAAAAAAABADgAAKj4AAEgDAAAAAAAAQA4AAF8+AAAgAwAAAAAAAEAOAAA7PgAAaAMAAAAAAAAAAAAAEAAAAAEAAAACAAAAAQAAAAEAAAABAAAAAAAAACAAAAADAAAABAAAAAIAAAACAAAAAgAAAAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAQAAAAFAAAAAwAAAAQAAAAGAAAAAQAAAAcAAAAFAAAAAAAAAEgAAAAHAAAACAAAAAIAAAAIAAAAAwAAAAQAAAAJAAAACgAAAAUAAAAAAADAAAAAAFAAAAAJAAAACgAAAAEAAAALAAAADAAAAAUAAAADAAAABAAAAA0AAAAOAAAADwAAAAYAAAABAAAAAAAAAGAAAAALAAAADAAAAAYAAAAIAAAAAwAAAAQAAAAQAAAACgAAAAcAAAAIAAAAAQAAAAcAAAARAAAAAAAAAIAAAAANAAAADgAAAAEAAAAIAAAAAQAAAAkAAAASAAAAEwAAAAoAAAALAAAAFAAAAAEAAAAAAAAAcAAAAA0AAAAPAAAADAAAAAgAAAANAAAACQAAABIAAAATAAAACgAAAAsAAAAUAAAAAQAAAAAAAAAQAQAADQAAABAAAAAOAAAACAAAAA8AAAAJAAAAEgAAABMAAAAKAAAACwAAABQAAAACAAAAAAAAAAABAAARAAAAEgAAABAAAAAIAAAAEQAAAAkAAAASAAAAEwAAAAoAAAALAAAAFQAAAAMAAAAAAAAA8AAAABMAAAAUAAAAEgAAAAgAAAATAAAAFAAAABYAAAAXAAAACgAAAAsAAAAYAAAABAAAAAAAAADQAAAAFQAAABYAAAAVAAAACAAAABYAAAAXAAAAGQAAABoAAAAKAAAACwAAABsAAAAFAAAAAAAAALgAAAAXAAAAGAAAABwAAAAYAAAAAgAAAAAAAAB4AQAADQAAABkAAAAZAAAACAAAABoAAAAJAAAAEgAAABMAAAAKAAAACwAAABQAAAAGAAAAAAAAAGgBAAAaAAAAGwAAABsAAAAIAAAAHAAAAAkAAAASAAAAEwAAAAoAAAALAAAAHQAAAAcAAAAAAAAAWAEAABwAAAAdAAAAHQAAAAgAAAAeAAAAHwAAAB4AAAAfAAAACgAAAAsAAAAgAAAACAAAAAAAAAA4AQAAHgAAAB8AAAAgAAAACAAAACEAAAAiAAAAIQAAACIAAAAKAAAACwAAACMAAAAJAAAAAAAAACABAAAgAAAAIQAAACQAAAAjAAAAAwAAAAAAAACIAQAACwAAACIAAAAJAAAACAAAAAMAAAAKAAAAEAAAAAoAAAAHAAAACwAAAAIAAAAkAAAAJQAAAAAAAACYAQAAIwAAACQAAAAlAAAAJgAAACcAAAAoAAAAJgAAACcAAAApAAAAKgAAACgAAAAKAAAAAAAAAAgCAAAlAAAAJgAAACsAAAAmAAAALAAAAC0AAAApAAAAKgAAACkAAAAqAAAAKwAAAAsAAAAAAAAA8AEAACcAAAAoAAAALAAAAC4AAAAEAAAAAAAAANABAAApAAAAKgAAAC8AAAAmAAAAMAAAADEAAAAtAAAALgAAACkAAAAqAAAALwAAAAwAAAAAAAAAuAEAACsAAAAsAAAAMAAAADIAAAAFAAAAAAAAACgCAAAtAAAALgAAAAwAAAAIAAAAAwAAAA0AAAAQAAAACgAAAAcAAAAOAAAAAQAAAAcAAAAxAAAAMwAAADIAAAAAAAAAOAIAAC8AAAAwAAAANAAAADUAAAABAAAANgAAADcAAAA4AAAAOQAAADoAAAAzAAAANAAAAAEAAAAAAAAASAIAADEAAAAyAAAANAAAADsAAAA1AAAANgAAADcAAAA4AAAAPAAAAD0AAAA2AAAANwAAAD4AAAAAAAAAWAIAADMAAAA0AAAAOAAAADkAAAA6AAAAOwAAAD8AAABAAAAAQQAAAEIAAAAAAADAAAAAAHACAAA1AAAANgAAADwAAABDAAAAAAAAAGgCAAA3AAAAOAAAADkAAAAAAADAAAAAAJACAAA6AAAAOwAAAD0AAABEAAAAAAAAAIgCAAA8AAAAPQAAAD4AAAAAAAAAoAIAAD8AAABAAAAAPgAAAEUAAAAAAAAAuAIAAEEAAABCAAAAPwAAAEAAAABBAAAAQgAAAEYAAABHAAAASAAAAEkAAAAAAAAAAQAAAAMAAAAFAAAABwAAAAAAAADIAgAALwAAAEMAAAA0AAAANQAAAEMAAAA2AAAANwAAADgAAAA5AAAAOgAAADMAAAA0AAAASgAAAAAAAADYAgAARAAAAEUAAABEAAAASwAAAAAAAADoAgAALwAAAEYAAABMAAAANQAAAAEAAABNAAAANwAAADgAAAA5AAAAAAAAwAAAAMAAAAAA8AIAAEcAAABIAAAABgAAAAMAAAAAAADAAAAAAAADAABJAAAASgAAAAcAAAAEAAAAAAAAwAAAAMAAAADAAAAAwJwKAAAFAAAAAAAAAAAAAABOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAEAAAAMxAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAzzwAAAAAAAAQAwAASwAAAEwAAABNAAAATgAAABIAAAABAAAAAQAAAAMAAAAAAAAAOAMAAEsAAABPAAAATQAAAE4AAAASAAAAAgAAAAIAAAAEAAAAAAAAAEgDAABQAAAAUQAAAE8AAAAAAAAAWAMAAFAAAABSAAAATwAAAE41ZHJhY28yOEF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1FAE41ZHJhY28xOEF0dHJpYnV0ZVRyYW5zZm9ybUUATjVkcmFjbzMwQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtRQBONWRyYWNvMTdBdHRyaWJ1dGVzRGVjb2RlckUATjVkcmFjbzI2QXR0cmlidXRlc0RlY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNlNlcXVlbnRpYWxBdHRyaWJ1dGVEZWNvZGVyRQBONWRyYWNvMzdTZXF1ZW50aWFsQXR0cmlidXRlRGVjb2RlcnNDb250cm9sbGVyRQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRUVFAE41ZHJhY28zN1ByZWRpY3Rpb25TY2hlbWVUeXBlZERlY29kZXJJbnRlcmZhY2VJaWlFRQBONWRyYWNvMzJQcmVkaWN0aW9uU2NoZW1lRGVjb2RlckludGVyZmFjZUUATjVkcmFjbzI1UHJlZGljdGlvblNjaGVtZUludGVyZmFjZUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAGZhbHNlAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvcHJlZGljdGlvbl9zY2hlbWVfd3JhcF90cmFuc2Zvcm1fYmFzZS5oAHF1YW50aXphdGlvbl9iaXRzAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfdGV4X2Nvb3Jkc19wb3J0YWJsZV9kZWNvZGVyLmgATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckFyZWFJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMjdNZXNoUHJlZGljdGlvblNjaGVtZURlY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBEZWNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDRNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc1BvcnRhYmxlRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1EZWNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRGVjb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRGVjb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcERlY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zM1NlcXVlbnRpYWxJbnRlZ2VyQXR0cmlidXRlRGVjb2RlckUAKHEpID49ICgyKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvbm9ybWFsX2NvbXByZXNzaW9uX3V0aWxzLmgAU2V0UXVhbnRpemF0aW9uQml0cwAocSkgPD0gKDMwKQAoaW5fcykgPj0gKDApAE9jdGFoZXJkYWxDb29yZHNUb1VuaXRWZWN0b3IAKGluX3QpID49ICgwKQAoaW5fcykgPD0gKDEpAChpbl90KSA8PSAoMSkAKHByZWRfdmFsc1swXSkgPD0gKDIgKiB0aGlzLT5jZW50ZXJfdmFsdWUoKSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9wcmVkaWN0aW9uX3NjaGVtZV9ub3JtYWxfb2N0YWhlZHJvbl9jYW5vbmljYWxpemVkX2RlY29kaW5nX3RyYW5zZm9ybS5oAENvbXB1dGVPcmlnaW5hbFZhbHVlAChwcmVkX3ZhbHNbMV0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpAChjb3JyX3ZhbHNbMF0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpAChjb3JyX3ZhbHNbMV0pIDw9ICgyICogdGhpcy0+Y2VudGVyX3ZhbHVlKCkpACgwKSA8PSAocHJlZF92YWxzWzBdKQAoMCkgPD0gKHByZWRfdmFsc1sxXSkAKDApIDw9IChjb3JyX3ZhbHNbMF0pACgwKSA8PSAoY29ycl92YWxzWzFdKQAocykgPD0gKGNlbnRlcl92YWx1ZV8pAElzSW5EaWFtb25kACh0KSA8PSAoY2VudGVyX3ZhbHVlXykAKHMpID49ICgtY2VudGVyX3ZhbHVlXykAKHQpID49ICgtY2VudGVyX3ZhbHVlXykAKCpzKSA8PSAoY2VudGVyX3ZhbHVlXykASW52ZXJ0RGlhbW9uZAAoKnQpIDw9IChjZW50ZXJfdmFsdWVfKQAoKnMpID49ICgtY2VudGVyX3ZhbHVlXykAKCp0KSA+PSAoLWNlbnRlcl92YWx1ZV8pAChtYXhfcXVhbnRpemVkX3ZhbHVlICUgMikgPT0gKDEpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvcHJlZGljdGlvbl9zY2hlbWVfbm9ybWFsX29jdGFoZWRyb25fdHJhbnNmb3JtX2Jhc2UuaABzZXRfbWF4X3F1YW50aXplZF92YWx1ZQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRUVFAHRoaXMtPklzSW5pdGlhbGl6ZWQoKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfZ2VvbWV0cmljX25vcm1hbF9wcmVkaWN0b3JfYXJlYS5oAENvbXB1dGVQcmVkaWN0ZWRWYWx1ZQAobm9ybWFsLkFic1N1bSgpKSA8PSAodXBwZXJfYm91bmQpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX3ByZWRpY3Rvcl9iYXNlLmgAR2V0UG9zaXRpb25Gb3JDb3JuZXIATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX2RlY29kZXIuaABDb21wdXRlT3JpZ2luYWxWYWx1ZXMAKG51bV9jb21wb25lbnRzKSA9PSAoMikAKHByZWRfbm9ybWFsXzNkLkFic1N1bSgpKSA9PSAob2N0YWhlZHJvbl90b29sX2JveF8uY2VudGVyX3ZhbHVlKCkpAChzdGQ6OmFicyhpbnRfdmVjWzBdKSArIHN0ZDo6YWJzKGludF92ZWNbMV0pICsgc3RkOjphYnMoaW50X3ZlY1syXSkpID09IChjZW50ZXJfdmFsdWVfKQBJbnRlZ2VyVmVjdG9yVG9RdWFudGl6ZWRPY3RhaGVkcmFsQ29vcmRzAChpKSA9PSAoMCkAR2V0UGFyZW50QXR0cmlidXRlVHlwZQBONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbERlY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRGVjb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRGVjb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWREZWNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVEZWNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZERlY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZURlY29kZXJFAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVEZWNvZGVyRQBVbnN1cHBvcnRlZCBlbmNvZGluZyBtZXRob2QuAFVuc3VwcG9ydGVkIGdlb21ldHJ5IHR5cGUuAElucHV0IGlzIG5vdCBhIG1lc2guAHNraXBfYXR0cmlidXRlX3RyYW5zZm9ybQBONWRyYWNvMTFNZXNoRGVjb2RlckUATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRGVjb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUAIWlkZW50aXR5X21hcHBpbmdfAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vYXR0cmlidXRlcy9wb2ludF9hdHRyaWJ1dGUuaABTZXRQb2ludE1hcEVudHJ5AE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMTVQb2ludHNTZXF1ZW5jZXJFAE41ZHJhY28yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yNVByZWRpY3Rpb25EZWdyZWVUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVFRUVFAE41ZHJhY28yMk1lc2hUcmF2ZXJzYWxTZXF1ZW5jZXJJTlNfMjBFZGdlQnJlYWtlclRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckRlY29kZXJJbXBsSU5TXzMxTWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsRGVjb2RlckVFRQBONWRyYWNvMzVNZXNoRWRnZUJyZWFrZXJEZWNvZGVySW1wbEludGVyZmFjZUUATjVkcmFjbzI2TWVzaEVkZ2VCcmVha2VyRGVjb2RlckltcGxJTlNfMzhNZXNoRWRnZUJyZWFrZXJUcmF2ZXJzYWxWYWxlbmNlRGVjb2RlckVFRQBONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAE41ZHJhY28yMU1lc2hTZXF1ZW50aWFsRGVjb2RlckUATjVkcmFjbzE3UG9pbnRDbG91ZERlY29kZXJFAEZhaWxlZCB0byBwYXJzZSBEcmFjbyBoZWFkZXIuAERSQUNPAE5vdCBhIERyYWNvIGZpbGUuAEZhaWxlZCB0byBkZWNvZGUgbWV0YWRhdGEuAFVzaW5nIGluY29tcGF0aWJsZSBkZWNvZGVyIGZvciB0aGUgaW5wdXQgZ2VvbWV0cnkuAFVua25vd24gbWFqb3IgdmVyc2lvbi4AVW5rbm93biBtaW5vciB2ZXJzaW9uLgBGYWlsZWQgdG8gaW5pdGlhbGl6ZSB0aGUgZGVjb2Rlci4ARmFpbGVkIHRvIGRlY29kZSBnZW9tZXRyeSBkYXRhLgBGYWlsZWQgdG8gZGVjb2RlIHBvaW50IGF0dHJpYnV0ZXMuAChuYml0cykgPj0gKDApAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9kZWNvZGVyX2J1ZmZlci5oAEdldEJpdHMAKG5iaXRzKSA8PSAoMzIpAE41ZHJhY280TWVzaEUAYXR0X2lkID49IDAAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9wb2ludF9jbG91ZC9wb2ludF9jbG91ZC5jYwBTZXRBdHRyaWJ1dGUAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBONWRyYWNvMTBQb2ludENsb3VkRQAoMCkgPD0gKGF0dF9pZCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9wb2ludF9jbG91ZC9wb2ludF9jbG91ZC5oAGF0dHJpYnV0ZQAoYXR0X2lkKSA8IChzdGF0aWNfY2FzdDxpbnQzMl90PihhdHRyaWJ1dGVzXy5zaXplKCkpKQAoMCkgPD0gKGZhY2VfaWQudmFsdWUoKSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9tZXNoL21lc2guaABmYWNlAChmYWNlX2lkLnZhbHVlKCkpIDwgKHN0YXRpY19jYXN0PGludD4oZmFjZXNfLnNpemUoKSkpABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBuYW4ATkFOADAxMjM0NTY3ODlBQkNERUYuAFQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAJWQAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 ___cxa_allocate_exception(size){return _malloc(size)}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){Module["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 ___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 ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}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 ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__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=Runtime.staticAlloc(4);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;var ASSERTIONS=false;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function Xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;o=t+8|0;p=t+4|0;r=t;q=a+68|0;f[q>>2]=(f[q>>2]|0)+1;q=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;s=q>>2;if((q|0)<=0){u=t;return}n=a+4|0;m=a+56|0;q=a+72|0;k=f[c>>2]|0;i=k+4|0;j=k+8|0;l=a+76|0;c=f[a+44+(b<<2)>>2]|0;h=0;do{g=(c|0)<0;b=g?-1073741824:(c>>>0)/3|0;d=(f[m>>2]|0)+(b>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(b&31);f[q>>2]=(f[q>>2]|0)+1;do if(h){f[p>>2]=c;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Hg(o,b,d)|0;f[l>>2]=d;f[o>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else $e(k,o);if(!(h&1)){b=c+1|0;if(g)break;c=((b|0)%3|0|0)==0?c+-2|0:b;e=31;break}if(!g)if(!((c>>>0)%3|0)){c=c+2|0;e=31;break}else{c=c+-1|0;e=31;break}}else{f[p>>2]=c;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Hg(o,b,d)|0;f[r>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else $e(k,r);b=c+1|0;if(g)b=c;else b=((b|0)%3|0|0)==0?c+-2|0:b;f[p>>2]=b;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Hg(o,b,d)|0;f[r>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else $e(k,r);do if(!g)if(!((c>>>0)%3|0)){b=c+2|0;break}else{b=c+-1|0;break}else b=c;while(0);f[p>>2]=b;b=f[n>>2]|0;d=f[a>>2]|0;f[o>>2]=f[p>>2];d=Hg(o,b,d)|0;f[l>>2]=d;f[o>>2]=d;b=f[i>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=d;f[i>>2]=b+4}else $e(k,o);e=31}while(0);if((e|0)==31){e=0;if((c|0)>=0)c=f[(f[(f[n>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}h=h+1|0}while((h|0)<(s|0));u=t;return}function Yb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b[c+11>>0]|0;m=n<<24>>24<0;o=m?f[c>>2]|0:c;n=m?f[c+4>>2]|0:n&255;if(n>>>0>3){c=o;g=n;d=n;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=n+-4|0;d=m&-4;e=o+(d+4)|0;c=g;d=m-d|0}else{e=o;c=n;d=n}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;l=6;break}case 2:{i=c;l=6;break}case 1:{j=c;l=7;break}default:k=c}if((l|0)==6){j=h[e+1>>0]<<8^i;l=7}if((l|0)==7)k=X(h[e>>0]^j,1540483477)|0;c=X(k>>>13^k,1540483477)|0;c=c>>>15^c;k=f[a+4>>2]|0;if(!k){o=0;return o|0}l=k+-1|0;d=(l&k|0)==0;if(d)m=c&l;else m=(c>>>0)%(k>>>0)|0;c=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!c){o=0;return o|0}c=f[c>>2]|0;if(!c){o=0;return o|0}a=(n|0)==0;if(d){a:while(1){if((f[c+4>>2]&l|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break a}if(!(xh(i,o,n)|0)){l=35;break a}else break}if(a){l=35;break a}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break a}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}else{b:while(1){if((((f[c+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break b}if(!(xh(i,o,n)|0)){l=35;break b}else break}if(a){l=35;break b}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}return 0}function Zb(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+12|0;l=m;f[c+40>>2]=e;j=c+32|0;f[j>>2]=g;f[c+4>>2]=i;Bb(a,g,k);if(f[a>>2]|0){u=m;return}i=a+4|0;pk(i);g=h[k+7>>0]|0;if((g|0)!=(Ra[f[(f[c>>2]|0)+8>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12029,50);f[a>>2]=-1;th(i,l);pk(l);u=m;return}e=b[k+5>>0]|0;b[c+36>>0]=e;g=b[k+6>>0]|0;b[c+37>>0]=g;if((e+-1&255)>1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12080,22);f[a>>2]=-5;th(i,l);pk(l);u=m;return}if(e<<24>>24==2&(g&255)>2){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12103,22);f[a>>2]=-5;th(i,l);pk(l);u=m;return}g=(g&255|(e&255)<<8)&65535;d[(f[j>>2]|0)+38>>1]=g;do if((g&65535)>258?(d[k+10>>1]|0)<0:0){Oc(a,c);if(!(f[a>>2]|0)){pk(i);break}else{u=m;return}}while(0);if(!(Ra[f[(f[c>>2]|0)+12>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12126,33);f[a>>2]=-1;th(i,l);pk(l);u=m;return}if(!(Ra[f[(f[c>>2]|0)+20>>2]&127](c)|0)){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12160,31);f[a>>2]=-1;th(i,l);pk(l);u=m;return}if(Ra[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=m;return}else{f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;dg(l,12192,34);f[a>>2]=-1;th(i,l);pk(l);u=m;return}}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+176|0;h=t+136|0;s=t+64|0;o=t;j=t+32|0;i=f[(f[c+4>>2]|0)+44>>2]|0;n=_i(88)|0;f[n+4>>2]=0;f[n>>2]=2404;k=n+12|0;f[k>>2]=2384;m=n+64|0;f[m>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;e=n+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[n+76>>2]=i;f[n+80>>2]=d;f[n+84>>2]=0;l=n;q=s+4|0;f[q>>2]=2384;p=s+56|0;f[p>>2]=0;r=s+60|0;f[r>>2]=0;f[s+64>>2]=0;e=s+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=f[c+8>>2]|0;f[o>>2]=2384;c=o+4|0;g=c+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;g=e;f[c>>2]=g;g=((f[g+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0;b[h>>0]=0;Td(o+8|0,g,h);Oa[f[(f[o>>2]|0)+8>>2]&127](o);$c(j,o);$c(h,j);f[s>>2]=f[h+4>>2];g=s+4|0;td(g,h)|0;f[h>>2]=2384;c=f[h+20>>2]|0;if(c|0)Em(c);c=f[h+8>>2]|0;if(c|0)Em(c);f[s+36>>2]=e;f[s+40>>2]=d;f[s+44>>2]=i;f[s+48>>2]=n;f[j>>2]=2384;c=f[j+20>>2]|0;if(c|0)Em(c);c=f[j+8>>2]|0;if(c|0)Em(c);f[n+8>>2]=f[s>>2];td(k,g)|0;c=n+44|0;n=s+36|0;f[c>>2]=f[n>>2];f[c+4>>2]=f[n+4>>2];f[c+8>>2]=f[n+8>>2];f[c+12>>2]=f[n+12>>2];b[c+16>>0]=b[n+16>>0]|0;ad(m,f[p>>2]|0,f[r>>2]|0);f[a>>2]=l;f[o>>2]=2384;c=f[o+20>>2]|0;if(c|0)Em(c);c=f[o+8>>2]|0;if(c|0)Em(c);c=f[p>>2]|0;if(c|0){e=f[r>>2]|0;if((e|0)!=(c|0))f[r>>2]=e+(~((e+-4-c|0)>>>2)<<2);Em(c)}f[q>>2]=2384;c=f[s+24>>2]|0;if(c|0)Em(c);c=f[s+12>>2]|0;if(!c){u=t;return}Em(c);u=t;return}function $b(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;r=s;dd(a+80|0,a)|0;if(!(Ye(a)|0)){r=0;u=s;return r|0}c=b;d=a;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));h=a+176|0;f[h>>2]=2;k=a+180|0;f[k>>2]=7;c=f[a+152>>2]|0;if((c|0)<0){r=0;u=s;return r|0}j=a+156|0;f[r>>2]=0;g=a+160|0;e=f[g>>2]|0;d=f[j>>2]|0;i=e-d>>2;if(c>>>0<=i>>>0)if(c>>>0>>0?(l=d+(c<<2)|0,(e|0)!=(l|0)):0){f[g>>2]=e+(~((e+-4-l|0)>>>2)<<2);d=2;c=7}else{d=2;c=7}else{Xd(j,c-i|0,r);d=f[h>>2]|0;c=f[k>>2]|0}g=c-d+1|0;o=a+184|0;n=a+188|0;d=f[n>>2]|0;e=f[o>>2]|0;h=(d-e|0)/12|0;c=d;if(g>>>0<=h>>>0){if(g>>>0>>0?(m=e+(g*12|0)|0,(c|0)!=(m|0)):0){do{d=c+-12|0;f[n>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Em(e);c=f[n>>2]|0}}while((c|0)!=(m|0));d=c}}else{Yc(o,g-h|0);d=f[n>>2]|0}l=a+196|0;c=f[o>>2]|0;j=(d-c|0)/12|0;h=a+200|0;g=f[h>>2]|0;e=f[l>>2]|0;i=g-e>>2;if(j>>>0<=i>>>0){if(j>>>0>>0?(p=e+(j<<2)|0,(g|0)!=(p|0)):0)f[h>>2]=g+(~((g+-4-p|0)>>>2)<<2)}else{Oe(l,j-i|0);d=f[n>>2]|0;c=f[o>>2]|0}if((d|0)==(c|0)){r=1;u=s;return r|0}k=0;do{Pf(r,b)|0;c=f[r>>2]|0;if(c|0){d=f[o>>2]|0;i=d+(k*12|0)|0;h=d+(k*12|0)+4|0;g=f[h>>2]|0;e=f[i>>2]|0;j=g-e>>2;if(c>>>0<=j>>>0){if(c>>>0>>0?(q=e+(c<<2)|0,(g|0)!=(q|0)):0)f[h>>2]=g+(~((g+-4-q|0)>>>2)<<2)}else{Oe(i,c-j|0);d=f[o>>2]|0;c=f[r>>2]|0}xf(c,1,b,f[d+(k*12|0)>>2]|0)|0;f[(f[l>>2]|0)+(k<<2)>>2]=f[r>>2]}k=k+1|0}while(k>>>0<(((f[n>>2]|0)-(f[o>>2]|0)|0)/12|0)>>>0);c=1;u=s;return c|0}function ac(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=u;u=u+16|0;z=B+8|0;x=B;y=B+4|0;if(!(Ff(a,b)|0)){a=0;u=B;return a|0}A=b+96|0;n=b+100|0;d=f[n>>2]|0;b=f[A>>2]|0;if((d-b|0)<=0){a=1;u=B;return a|0}m=a+56|0;t=a+8|0;q=a+12|0;r=a+20|0;o=a+24|0;s=a+32|0;p=a+36|0;v=a+68|0;w=a+76|0;l=f[c>>2]|0;h=l+4|0;j=l+8|0;i=a+4|0;k=a+72|0;g=l;e=0;do{if(!(f[(f[m>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31))){C=e*3|0;f[x>>2]=C;f[z>>2]=f[x>>2];Nb(a,0,z);d=(f[q>>2]|0)-(f[t>>2]|0)>>2;f[x>>2]=C+1;f[z>>2]=f[x>>2];Nb(a,1,z);b=(f[o>>2]|0)-(f[r>>2]|0)>>2;c=b>>>0>d>>>0;f[x>>2]=C+2;f[z>>2]=f[x>>2];Nb(a,2,z);d=(f[p>>2]|0)-(f[s>>2]|0)>>2>>>0>(c?b:d)>>>0?2:c?1:((d|0)==0)<<31>>31;if((f[v>>2]|0)>0){b=f[w>>2]|0;f[z>>2]=b;c=f[h>>2]|0;if(c>>>0<(f[j>>2]|0)>>>0){f[c>>2]=b;f[h>>2]=c+4}else $e(l,z);f[x>>2]=f[a+44+(d<<2)>>2];b=f[i>>2]|0;c=f[a>>2]|0;f[z>>2]=f[x>>2];c=Hg(z,b,c)|0;f[z>>2]=c;b=f[h>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=c;f[h>>2]=b+4}else $e(l,z);C=(f[k>>2]|0)+2|0;f[k>>2]=C;if(C&1|0){f[z>>2]=c;b=f[h>>2]|0;if(b>>>0<(f[j>>2]|0)>>>0){f[b>>2]=c;f[h>>2]=b+4}else $e(l,z);f[k>>2]=(f[k>>2]|0)+1}}f[y>>2]=g;f[z>>2]=f[y>>2];Xb(a,d,z);b=f[A>>2]|0;d=f[n>>2]|0}e=e+1|0}while((e|0)<((d-b|0)/12|0|0));b=1;u=B;return b|0}function bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Em(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}m=_i(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)Em(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){b:do if(m){k=h;i=c;while(1){c=d;while(1){j=f[c+4>>2]&l;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}else{k=h;i=c;while(1){c=d;while(1){j=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}while(0);f[d>>2]=g;d=f[c>>2]|0;if(!d){c=34;break}else h=c}if((c|0)==34)return}function cc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;v=u;u=u+32|0;e=v+24|0;q=v+20|0;t=v+8|0;s=v+4|0;m=v;f[e>>2]=0;Pf(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){d=0;while(1){d=d+1|0;if(!(hc(a,c)|0)){d=0;break}if(d>>>0>=(f[e>>2]|0)>>>0)break a}u=v;return d|0}while(0);f[q>>2]=0;Pf(q,f[a>>2]|0)|0;b:do if(!(f[q>>2]|0))d=1;else{i=0;while(1){f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;g=f[a>>2]|0;w=g+8|0;x=f[w+4>>2]|0;h=g+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if((x|0)>(e|0)|((x|0)==(e|0)?(f[w>>2]|0)>>>0>d>>>0:0)?(l=b[(f[g>>2]|0)+d>>0]|0,j=lk(d|0,e|0,1,0)|0,p=h,f[p>>2]=j,f[p+4>>2]=I,p=l&255,Sf(t,p,0),j=f[a>>2]|0,o=Ah(t,0)|0,g=j+8|0,w=f[g>>2]|0,g=f[g+4>>2]|0,r=j+16|0,x=r,k=f[x>>2]|0,l=l&255,x=lk(k|0,f[x+4>>2]|0,l|0,0)|0,h=I,!((g|0)<(h|0)|(g|0)==(h|0)&w>>>0>>0)):0){Ld(o|0,(f[j>>2]|0)+k|0,p|0)|0;w=r;w=lk(f[w>>2]|0,f[w+4>>2]|0,l|0,0)|0;x=r;f[x>>2]=w;f[x+4>>2]=I;x=_i(40)|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;n[x+16>>2]=$(1.0);w=x+20|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;f[w+12>>2]=0;n[x+36>>2]=$(1.0);f[s>>2]=x;if(cc(a,x)|0){d=f[s>>2]|0;f[s>>2]=0;f[m>>2]=d;vd(c,t,m)|0;df(m);d=0}else d=1;df(s)}else d=1;pk(t);i=i+1|0;if(d|0){d=0;break b}if(i>>>0>=(f[q>>2]|0)>>>0){d=1;break}}}while(0);x=d;u=v;return x|0}function dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+148|0;c=f[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)){h=b;g=c+2|0;break}else{h=b;g=c+-1|0;break}}else{h=c;g=c}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){g=c+(b<<2)|0;f[g>>2]=(f[g>>2]|0)+d}if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;b=f[(f[a+156>>2]|0)+(b<<2)>>2]|0;c=f[a+176>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+172|0;f[a>>2]=i;return}i=f[a+180>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+172|0;f[a>>2]=i;return}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var 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;t=a+8|0;f[t>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2);g=e}else g=e;else{Oe(j,e-k|0);g=f[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=Bm(r)|0;vf(s|0,0,r|0)|0;if((g|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{g=f[s+(j<<2)>>2]|0;h=f[l>>2]|0;if((g|0)>(h|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=h}else{r=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(g|0)<(r|0)?r:g}j=j+1|0;g=f[t>>2]|0}while((j|0)<(g|0));if((g|0)>0){j=a+20|0;i=0;do{g=(f[b+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=c+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[m>>2]|0)){g=(f[j>>2]|0)+g|0;u=18}}else{g=g-(f[j>>2]|0)|0;u=18}if((u|0)==18){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}if((e|0)>=(d|0)){Cm(s);return 1}p=0-e|0;q=a+16|0;o=a+32|0;r=a+12|0;n=a+20|0;a=e;do{l=c+(a<<2)|0;j=l+(p<<2)|0;m=b+(a<<2)|0;if((g|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[q>>2]|0;if((g|0)>(h|0)){k=f[o>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[r>>2]|0;k=f[o>>2]|0;f[k+(i<<2)>>2]=(g|0)<(h|0)?h:g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0));if((g|0)>0){i=0;do{g=(f[m+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[q>>2]|0)){if((g|0)<(f[r>>2]|0)){g=(f[n>>2]|0)+g|0;u=33}}else{g=g-(f[n>>2]|0)|0;u=33}if((u|0)==33){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}a=a+e|0}while((a|0)<(d|0));Cm(s);return 1}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=c+8|0;j=f[i+4>>2]|0;h=c+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){j=0;return j|0}j=b[(f[c>>2]|0)+g>>0]|0;g=lk(g|0,e|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do switch(j<<24>>24){case 1:{j=Vb(a,c,d)|0;return j|0}case 2:{j=Vb(a,c,d)|0;return j|0}case 3:{j=Vb(a,c,d)|0;return j|0}case 4:{j=Vb(a,c,d)|0;return j|0}case 5:{j=Sc(a,c,d)|0;return j|0}case 6:{j=Vb(a,c,d)|0;return j|0}case 7:{j=Vb(a,c,d)|0;return j|0}case 8:{j=Vb(a,c,d)|0;return j|0}case 9:{j=Ub(a,c,d)|0;return j|0}case 10:{j=Tb(a,c,d)|0;return j|0}case 11:{j=Sb(a,c,d)|0;return j|0}case 12:{j=Qb(a,c,d)|0;return j|0}case 13:{j=Pb(a,c,d)|0;return j|0}case 14:{j=Ob(a,c,d)|0;return j|0}case 15:{j=Ob(a,c,d)|0;return j|0}case 16:{j=Ob(a,c,d)|0;return j|0}case 17:{j=Ob(a,c,d)|0;return j|0}case 18:{j=Ob(a,c,d)|0;return j|0}default:{j=0;return j|0}}while(0);return 0}function gc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2264;d=a+376|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(c|0))}Cm(d)}Jm(a+360|0);Jm(a+320|0);Jm(a+304|0);Jm(a+264|0);We(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Em(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Em(b);b=f[a+132>>2]|0;if(b|0)Em(b);b=f[a+120>>2]|0;if(b|0)Em(b);b=f[a+108>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+60>>2]|0;if(b|0)Em(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Lf(b);Em(b);return}function hc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=u;u=u+32|0;m=n+16|0;k=n+12|0;l=n;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;d=f[a>>2]|0;j=d+8|0;i=f[j+4>>2]|0;h=d+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((i|0)>(e|0)|((i|0)==(e|0)?(f[j>>2]|0)>>>0>g>>>0:0))){l=0;pk(m);u=n;return l|0}q=b[(f[d>>2]|0)+g>>0]|0;d=lk(g|0,e|0,1,0)|0;i=h;f[i>>2]=d;f[i+4>>2]=I;i=q&255;Sf(m,i,0);d=f[a>>2]|0;h=Ah(m,0)|0;r=d+8|0;p=f[r>>2]|0;r=f[r+4>>2]|0;j=d+16|0;o=j;e=f[o>>2]|0;g=q&255;o=lk(e|0,f[o+4>>2]|0,g|0,0)|0;q=I;if((r|0)<(q|0)|(r|0)==(q|0)&p>>>0>>0){r=0;pk(m);u=n;return r|0}Ld(h|0,(f[d>>2]|0)+e|0,i|0)|0;d=j;d=lk(f[d>>2]|0,f[d+4>>2]|0,g|0,0)|0;r=j;f[r>>2]=d;f[r+4>>2]=I;f[k>>2]=0;r=(Pf(k,f[a>>2]|0)|0)^1;d=f[k>>2]|0;if((d|0)==0|r)d=0;else{f[l>>2]=0;i=l+4|0;f[i>>2]=0;f[l+8>>2]=0;if((d|0)<0)ql(l);e=_i(d)|0;f[i>>2]=e;f[l>>2]=e;f[l+8>>2]=e+d;do{b[e>>0]=0;e=(f[i>>2]|0)+1|0;f[i>>2]=e;d=d+-1|0}while((d|0)!=0);h=f[k>>2]|0;d=f[a>>2]|0;o=d+8|0;q=f[o>>2]|0;o=f[o+4>>2]|0;g=d+16|0;r=g;e=f[r>>2]|0;r=lk(e|0,f[r+4>>2]|0,h|0,0)|0;p=I;if((o|0)<(p|0)|(o|0)==(p|0)&q>>>0>>0)d=0;else{Ld(f[l>>2]|0,(f[d>>2]|0)+e|0,h|0)|0;r=g;r=lk(f[r>>2]|0,f[r+4>>2]|0,h|0,0)|0;d=g;f[d>>2]=r;f[d+4>>2]=I;Bi(c,m,l);d=1}e=f[l>>2]|0;if(e|0){if((f[i>>2]|0)!=(e|0))f[i>>2]=e;Em(e)}}r=d;pk(m);u=n;return r|0}function ic(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;e=f[k>>2]|0;switch(f[e+28>>2]|0){case 2:{d=b[e+24>>0]|0;j=d<<24>>24;i=Bm((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;a:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Ld(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break a}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Cm(i);c=1;return c|0}case 1:{d=b[e+24>>0]|0;j=d<<24>>24;i=Bm((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;b:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Ld(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break b}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Cm(i);c=1;return c|0}case 4:{Ae(a,c);c=1;return c|0}case 3:{Ae(a,c);c=1;return c|0}case 6:{Be(a,c);c=1;return c|0}case 5:{Be(a,c);c=1;return c|0}default:{c=0;return c|0}}return 0}function jc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<>>0>31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if(e>>>0<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if(!h){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function kc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)Fa(12505,12521,59,12612);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))Fa(12622,12521,60,12612);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Ra[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Va[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Va[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=_i(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=1992;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2048;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$l(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=_i(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=1908;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=1964;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$l(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function lc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a+32|0;c=f[h>>2]|0;o=c+8|0;n=f[o+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(f[o>>2]|0)>>>0>e>>>0:0))){a=0;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;m=lk(e|0,d|0,1,0)|0;o=g;f[o>>2]=m;f[o+4>>2]=I;o=n&255;g=n<<24>>24==0;a:do if(!g){c=0;while(1){if(!(Va[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){c=0;break}c=c+1|0;if((c|0)>=(o|0))break a}return c|0}while(0);n=a+8|0;c=f[n>>2]|0;d=f[a+12>>2]|0;b:do if((c|0)!=(d|0)){e=a+4|0;while(1){m=f[c>>2]|0;c=c+4|0;if(!(Ma[f[(f[m>>2]|0)+8>>2]&31](m,a,f[e>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}return c|0}while(0);if(!g){c=0;do{m=f[(f[n>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Va[f[(f[m>>2]|0)+12>>2]&127](m,f[h>>2]|0)|0)){c=0;i=26;break}}while((c|0)<(o|0));if((i|0)==26)return c|0;if(!g){i=a+20|0;h=a+24|0;l=0;do{j=f[(f[n>>2]|0)+(l<<2)>>2]|0;j=Ra[f[(f[j>>2]|0)+24>>2]&127](j)|0;if((j|0)>0){m=0;do{k=f[(f[n>>2]|0)+(l<<2)>>2]|0;k=Va[f[(f[k>>2]|0)+20>>2]&127](k,m)|0;d=f[h>>2]|0;c=f[i>>2]|0;g=d-c>>2;do if(k>>>0>=g>>>0){e=k+1|0;if(e>>>0>g>>>0){Oe(i,e-g|0);c=f[i>>2]|0;break}if(e>>>0>>0?(p=c+(e<<2)|0,(d|0)!=(p|0)):0)f[h>>2]=d+(~((d+-4-p|0)>>>2)<<2)}while(0);f[c+(k<<2)>>2]=l;m=m+1|0}while((m|0)!=(j|0))}l=l+1|0}while((l|0)!=(o|0))}}if(!(Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0)){a=0;return a|0}a=Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0;return a|0}function mc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Oe(i,e-j|0);n=a+56|0;i=f[n>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;q=g-d|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;h=0;while(1){if(g-d>>2>>>0<=h>>>0){pl(i);d=f[i>>2]|0}f[t>>2]=f[d+(h<<2)>>2];f[v>>2]=f[t>>2];mb(w,v,c,h);l=X(h,e)|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[a+68+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[k+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;y=22}}else{d=d-(f[o>>2]|0)|0;y=22}if((y|0)==22){y=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[s>>2]|0))}}h=h+1|0;if((h|0)>=(r|0))break;i=f[n>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=x;return 1}function nc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<>>0>31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function oc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2428;Md(a+240|0);We(a+224|0);b=f[a+208>>2]|0;if(b|0){d=a+212|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+156>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Em(d)}while((b|0)!=0);d=a+148|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Em(b);b=f[a+132>>2]|0;if(b|0)Em(b);b=f[a+120>>2]|0;if(b|0)Em(b);b=f[a+108>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0){d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+60>>2]|0;if(b|0)Em(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Lf(b);Em(b);return}function pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Oe(i,e-j|0);n=a+56|0;i=f[n>>2]|0;g=f[i+4>>2]|0;d=f[i>>2]|0;q=g-d|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;h=0;while(1){if(g-d>>2>>>0<=h>>>0){pl(i);d=f[i>>2]|0}f[t>>2]=f[d+(h<<2)>>2];f[v>>2]=f[t>>2];lb(w,v,c,h);l=X(h,e)|0;k=b+(l<<2)|0;l=c+(l<<2)|0;if((f[s>>2]|0)>0){i=0;do{d=f[a+68+(i<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){j=f[m>>2]|0;f[j+(i<<2)>>2]=g}else{g=f[q>>2]|0;j=f[m>>2]|0;f[j+(i<<2)>>2]=(d|0)<(g|0)?g:d}i=i+1|0;d=f[s>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[k+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;y=22}}else{d=d-(f[o>>2]|0)|0;y=22}if((y|0)==22){y=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[s>>2]|0))}}h=h+1|0;if((h|0)>=(r|0))break;i=f[n>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}u=x;return 1}function qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+12|0;n=f[l>>2]|0;i=(f[c>>2]|0)-n|0;j=c+4|0;g=(f[j>>2]|0)-n|0;e=c;f[e>>2]=i;f[e+4>>2]=g;e=f[l>>2]|0;if((e|0)<(i|0))Fa(7569,6870,250,7592);if((e|0)<(g|0))Fa(7604,6870,251,7592);h=0-e|0;if((i|0)<(h|0))Fa(7627,6870,252,7592);if((g|0)<(h|0))Fa(7651,6870,253,7592);m=(((g|0)>-1?g:0-g|0)+((i|0)>-1?i:0-i|0)|0)<=(e|0);if(!m){ve(b,c,j);i=f[c>>2]|0}if(!i){e=f[j>>2]|0;g=e;e=(e|0)==0}else{e=f[j>>2]|0;g=e;e=(i|0)<0&(e|0)<1}if(!i)k=(g|0)==0?0:(g|0)>0?3:1;else k=(i|0)>0?(g>>31)+2|0:(g|0)<1?0:3;if(e){e=i;i=1}else{switch(k|0){case 1:{e=g;g=0-i|0;break}case 2:{e=0-i|0;g=0-g|0;break}case 3:{e=0-g|0;g=i;break}default:e=i}i=c;f[i>>2]=e;f[i+4>>2]=g;i=0}e=(f[d>>2]|0)+e|0;f[a>>2]=e;g=(f[d+4>>2]|0)+g|0;j=a+4|0;f[j>>2]=g;h=f[l>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[a>>2]=e;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[b+4>>2]|0)+g|0}else g=g-(f[b+4>>2]|0)|0;f[j>>2]=g;if(!i){switch((4-k|0)%4|0|0){case 1:{h=g;e=0-e|0;break}case 2:{h=0-e|0;e=0-g|0;break}case 3:{h=0-g|0;break}default:{h=e;e=g}}g=a;f[g>>2]=h;f[g+4>>2]=e;g=e;e=h}if(m){m=e;b=g;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}ve(b,a,j);m=f[a>>2]|0;b=f[j>>2]|0;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}function rc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;l=e<<5;d=b-g|0;if(l>>>0>>0|g>>>0>(l-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0){ql(a);e=f[m>>2]|0}h=e<<6;b=b+31&-32;Le(o,e<<5>>>0<1073741823?(h>>>0>>0?b:h):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;li(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)Em(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;vf(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;vf(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function sc(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=Ka,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka;l=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(c)h=g&l;else h=(l>>>0)%(i>>>0)|0;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(b)if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}if((f[b+4>>2]&g|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else{do{b=f[b>>2]|0;if(!b){b=h;break a}if((((f[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else b=h}else b=0;while(0);m=_i(16)|0;f[m+8>>2]=l;f[m+12>>2]=0;f[m+4>>2]=l;f[m>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;Ge(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&l;break}else{g=b;b=(l>>>0)%(b>>>0)|0;break}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[m>>2]=f[b>>2];f[b>>2]=m;f[c>>2]=b;b=f[m>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;b=(f[a>>2]|0)+(b<<2)|0;o=24}}else{f[m>>2]=f[b>>2];o=24}if((o|0)==24)f[b>>2]=m;f[h>>2]=(f[h>>2]|0)+1;a=m;a=a+12|0;return a|0}function tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;m=r+16|0;j=r+4|0;i=r;if(!(Pf(m,c)|0)){c=-1;u=r;return c|0}if(f[m>>2]|0){n=j+4|0;e=a+40|0;g=a+44|0;o=a+36|0;k=0;l=0;do{Pf(i,c)|0;f[n>>2]=(f[i>>2]|0)+l;Pf(i,c)|0;d=f[i>>2]|0;l=f[n>>2]|0;if(l>>>0>>0){p=21;break}f[j>>2]=l-d;d=f[e>>2]|0;if((d|0)==(f[g>>2]|0))Je(o,j);else{f[d>>2]=f[j>>2];f[d+4>>2]=f[j+4>>2];f[d+8>>2]=f[j+8>>2];f[e>>2]=(f[e>>2]|0)+12}k=k+1|0}while(k>>>0<(f[m>>2]|0)>>>0);if((p|0)==21){c=-1;u=r;return c|0}Vg(c,0,0)|0;l=f[m>>2]|0;if(l|0){q=a+4|0;o=c+36|0;p=c+32|0;m=c+24|0;n=c+28|0;j=a+36|0;d=0;k=0;do{a=f[q>>2]|0;e=(b[o>>0]|0)==0;if(((h[a+36>>0]<<8|h[a+37>>0])&65535)<514){if(!e){d=f[p>>2]|0;g=f[m>>2]|0;i=f[n>>2]|0;e=g+(d>>>3)|0;if(e>>>0>>0){a=(h[e>>0]|0)>>>(d&7)&1;e=d+1|0;f[p>>2]=e;d=a}else{e=d;d=0}if((g+(e>>>3)|0)>>>0>>0)f[p>>2]=e+1}}else if(!e){d=f[p>>2]|0;e=(f[m>>2]|0)+(d>>>3)|0;if(e>>>0<(f[n>>2]|0)>>>0){a=(h[e>>0]|0)>>>(d&7)&1;f[p>>2]=d+1;d=a}else d=0}a=(f[j>>2]|0)+(k*12|0)+8|0;b[a>>0]=b[a>>0]&-2|d&1;k=k+1|0}while(k>>>0>>0)}bi(c)}c=f[c+16>>2]|0;u=r;return c|0}function uc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;m=p;k=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((k|0)<=0){a=1;o=1;o=a|o;u=p;return o|0}j=a+36|0;l=a+48|0;b=0;while(1){i=(Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[i>>2]|0){h=f[(f[(f[j>>2]|0)+(b<<2)>>2]|0)+8>>2]|0;g=(Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;g=f[g>>2]|0;h=f[h+56>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;dg(m,10730,24);i=g+16|0;d=f[i>>2]|0;if(d){c=i;e=d;a:while(1){d=e;while(1){if((f[d+16>>2]|0)>=(h|0))break;d=f[d+4>>2]|0;if(!d)break a}e=f[d>>2]|0;if(!e){c=d;break}else c=d}if(((c|0)!=(i|0)?(n=c+20|0,(h|0)>=(f[c+16>>2]|0)):0)?(se(n,m)|0)!=0:0)c=jg(n,m,0)|0;else o=13}else o=13;if((o|0)==13){o=0;c=jg(g,m,0)|0}pk(m);if(c){o=15;break}}i=f[(f[j>>2]|0)+(b<<2)>>2]|0;if(!(Va[f[(f[i>>2]|0)+24>>2]&127](i,l)|0)){b=0;c=0;o=18;break}b=b+1|0;if((b|0)>=(k|0)){b=1;c=1;o=18;break}}if((o|0)==15){a=f[(f[j>>2]|0)+(b<<2)>>2]|0;o=f[a+8>>2]|0;Ic(o,Vd(a)|0);a=0;o=1;o=a|o;u=p;return o|0}else if((o|0)==18){o=b|c;u=p;return o|0}return 0}function vc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){e=23;break}i=h+8|0;d=f[i>>2]|0;e=f[d>>2]|0;if((e|0)==(h|0)){e=f[d+4>>2]|0;if(!e){e=7;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=7;break}}else{if(!e){e=16;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=16;break}}b[g>>0]=1;i=(d|0)==(a|0);b[d+12>>0]=i&1;b[c>>0]=1;if(i){e=23;break}else c=d}if((e|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;c=f[a>>2]|0;e=f[c>>2]|0;f[a>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}a=c+8|0;f[a>>2]=d;d=f[i>>2]|0;f[((f[d>>2]|0)==(h|0)?d:d+4|0)>>2]=c;f[c>>2]=h;f[i>>2]=c;d=f[a>>2]|0}b[c+12>>0]=1;b[d+12>>0]=0;c=f[d>>2]|0;g=c+4|0;e=f[g>>2]|0;f[d>>2]=e;if(e|0)f[e+8>>2]=d;i=d+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(d|0)?h:h+4|0)>>2]=c;f[g>>2]=d;f[i>>2]=c;return}else if((e|0)==16){if((f[h>>2]|0)==(c|0)){c=f[h>>2]|0;g=c+4|0;e=f[g>>2]|0;f[h>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}e=c+8|0;f[e>>2]=d;a=f[i>>2]|0;f[((f[a>>2]|0)==(h|0)?a:a+4|0)>>2]=c;f[g>>2]=h;f[i>>2]=c;e=f[e>>2]|0}else{c=h;e=d}b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((e|0)==23)return}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+16|0;q=r;i=b+8|0;g=i;j=f[g>>2]|0;g=f[g+4>>2]|0;p=b+16|0;d=p;c=f[d>>2]|0;d=lk(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((g|0)<(e|0)|(g|0)==(e|0)&j>>>0>>0){q=0;u=r;return q|0}g=(f[b>>2]|0)+c|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=p;f[j>>2]=d;f[j+4>>2]=e;if((g|0)<0){q=0;u=r;return q|0}rc(a+76|0,g,0);$l(q);if(dd(q,b)|0){if((g|0)>0){c=a+76|0;d=0;e=1;do{e=e^((Tg(q)|0)^1);j=(f[c>>2]|0)+(d>>>5<<2)|0;s=1<<(d&31);t=f[j>>2]|0;f[j>>2]=e?t|s:t&~s;d=d+1|0}while((d|0)<(g|0))}d=i;c=f[d>>2]|0;d=f[d+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;i=lk(e|0,g|0,4,0)|0;j=I;if((!((d|0)<(j|0)|(d|0)==(j|0)&c>>>0>>0)?(k=f[b>>2]|0,l=k+e|0,l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,m=p,f[m>>2]=i,f[m+4>>2]=j,m=lk(e|0,g|0,8,0)|0,n=I,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0>>0)):0)?(o=k+i|0,o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24,t=p,f[t>>2]=m,f[t+4>>2]=n,(l|0)<=(o|0)):0){f[a+12>>2]=l;f[a+16>>2]=o;t=o+(1-l)|0;f[a+20>>2]=t;c=(t|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(t&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Jm(q);t=c;u=r;return t|0}function xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+16|0;k=m;if(!(Fb(a,c)|0)){a=0;u=m;return a|0}j=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;l=a+36|0;h=a+40|0;d=f[h>>2]|0;e=f[l>>2]|0;g=d-e>>2;if(j>>>0<=g>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(d|0)!=(i|0)):0)do{g=d+-4|0;f[h>>2]=g;d=f[g>>2]|0;f[g>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[h>>2]|0}while((d|0)!=(i|0))}else rd(l,j-g|0);g=c+8|0;if((j|0)<=0){a=1;u=m;return a|0}i=c+16|0;h=0;while(1){n=g;o=f[n+4>>2]|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((o|0)>(e|0)|((o|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){d=0;e=19;break}o=b[(f[c>>2]|0)+d>>0]|0;d=lk(d|0,e|0,1,0)|0;n=i;f[n>>2]=d;f[n+4>>2]=I;Sa[f[(f[a>>2]|0)+48>>2]&7](k,a,o);o=(f[l>>2]|0)+(h<<2)|0;n=f[k>>2]|0;f[k>>2]=0;d=f[o>>2]|0;f[o>>2]=n;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[k>>2]|0;f[k>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[(f[l>>2]|0)+(h<<2)>>2]|0;if(!d){d=0;e=19;break}e=f[(f[d>>2]|0)+8>>2]|0;n=Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0;o=Va[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;h=h+1|0;if(!(Ma[e&31](d,n,o)|0)){d=0;e=19;break}if((h|0)>=(j|0)){d=1;e=19;break}}if((e|0)==19){u=m;return d|0}return 0}function yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+144|0;i=n+136|0;m=n+32|0;l=n;e=f[(f[c+4>>2]|0)+44>>2]|0;h=_i(124)|0;f[h+4>>2]=0;f[h>>2]=2360;f[h+12>>2]=2384;f[h+100>>2]=0;f[h+104>>2]=0;f[h+108>>2]=0;j=h+16|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[h+112>>2]=e;f[h+116>>2]=d;f[h+120>>2]=0;g=h;f[m+4>>2]=2384;f[m+92>>2]=0;f[m+96>>2]=0;f[m+100>>2]=0;j=m+8|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));k=f[c+8>>2]|0;f[l>>2]=2384;j=l+4|0;c=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=k;f[j>>2]=c;c=((f[c+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;Td(l+8|0,c,i);Oa[f[(f[l>>2]|0)+8>>2]&127](l);f[m>>2]=f[j>>2];td(m+4|0,l)|0;f[m+36>>2]=k;f[m+40>>2]=d;f[m+44>>2]=e;f[m+48>>2]=h;xd(h,m);f[a>>2]=g;f[l>>2]=2384;e=f[l+20>>2]|0;if(e|0)Em(e);e=f[l+8>>2]|0;if(!e){_e(m);u=n;return}Em(e);_e(m);u=n;return}function zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Tg((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else $e(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{g=a;f[r>>2]=d;h=g+(i*116|0)+108|0;e=f[h>>2]|0;if(e>>>0<(f[g+(i*116|0)+112>>2]|0)>>>0){f[e>>2]=d;f[h>>2]=e+4}else{$e(g+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+224|0;k=a+228|0;j=a+376|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Tg((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else $e(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{e=a;f[r>>2]=d;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=d;f[h>>2]=g+4}else{$e(e+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Bc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ee(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Cc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=he(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Dc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ie(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Ec(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=je(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Fc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ke(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Gc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=me(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Hc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Pf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=lk(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}vf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=lk(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ne(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Ic(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=_i(32)|0;hj(d);h=a+64|0;g=f[h>>2]|0;f[h>>2]=d;if(g){d=f[g>>2]|0;if(d|0){e=g+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(g);d=f[h>>2]|0}Lg(a,d,0,0,0,0);d=a}else d=a;if(!(qf(d,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))ad(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);i=f[c+88>>2]|0;if(!i){a=a+88|0;d=f[a>>2]|0;f[a>>2]=0;if(!d)return;e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d);return}l=_i(40)|0;f[l>>2]=f[i>>2];e=l+8|0;g=i+8|0;f[e>>2]=0;j=l+12|0;f[j>>2]=0;d=l+16|0;f[d>>2]=0;c=i+12|0;h=(f[c>>2]|0)-(f[g>>2]|0)|0;if(h|0){if((h|0)<0)ql(e);k=_i(h)|0;f[j>>2]=k;f[e>>2]=k;f[d>>2]=k+h;e=f[g>>2]|0;d=(f[c>>2]|0)-e|0;if((d|0)>0){Ld(k|0,e|0,d|0)|0;f[j>>2]=k+d}}g=l+24|0;k=i+24|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];a=a+88|0;g=f[a>>2]|0;f[a>>2]=l;if(!g)return;d=f[g+8>>2]|0;if(d|0){e=g+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(g);return}function Jc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+32|0;n=t+20|0;m=t+16|0;s=t;r=c+24|0;k=b[r>>0]|0;o=k<<24>>24;l=f[a+80>>2]|0;h=X(l,o)|0;f[s>>2]=f[669];f[s+4>>2]=f[670];f[s+8>>2]=f[671];f[s+12>>2]=f[672];g=d+4|0;e=f[g>>2]|0;a=f[d>>2]|0;i=e-a>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(j=a+(h<<2)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-4-j|0)>>>2)<<2)}else Oe(d,h-i|0);if((l|0)<=0){s=1;u=t;return s|0}i=c+84|0;h=c+68|0;if(k<<24>>24<=0){e=0;while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(e<<2)>>2]|0;else a=e;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(ab(c,n,k,s)|0)){a=0;e=18;break}e=e+1|0;if((e|0)>=(l|0)){a=1;e=18;break}}if((e|0)==18){u=t;return a|0}}else{p=0;q=0}while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(q<<2)>>2]|0;else a=q;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!(ab(c,n,k,s)|0)){a=0;e=18;break}a=f[d>>2]|0;e=p;g=0;while(1){f[a+(e<<2)>>2]=f[s+(g<<2)>>2];g=g+1|0;if((g|0)==(o|0))break;else e=e+1|0}q=q+1|0;if((q|0)>=(l|0)){a=1;e=18;break}else p=o+p|0}if((e|0)==18){u=t;return a|0}return 0}function Lc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;m=o+12|0;l=o;d=b*3|0;f[m>>2]=0;n=m+4|0;f[n>>2]=0;f[m+8>>2]=0;do if(d)if(d>>>0>1073741823){ql(m);o=Ha(4)|0;gm(o);sa(o|0,840,80)}else{j=b*12|0;c=_i(j)|0;f[m>>2]=c;k=c+(d<<2)|0;f[m+8>>2]=k;vf(c|0,0,j|0)|0;f[n>>2]=k;break}else c=0;while(0);if(xf(d,1,f[a+32>>2]|0,c)|0)if(!b)a=1;else{h=a+44|0;i=l+4|0;j=l+8|0;e=0;g=0;k=0;while(1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;d=f[m>>2]|0;p=f[d+(k<<2)>>2]|0;c=p>>>1;c=((p&1|0)==0?c:0-c|0)+g|0;f[l>>2]=c;p=f[d+(k+1<<2)>>2]|0;a=p>>>1;c=((p&1|0)==0?a:0-a|0)+c|0;f[i>>2]=c;d=f[d+(k+2<<2)>>2]|0;a=d>>>1;g=((d&1|0)==0?a:0-a|0)+c|0;f[j>>2]=g;c=f[h>>2]|0;a=c+100|0;d=f[a>>2]|0;if((d|0)==(f[c+104>>2]|0))Je(c+96|0,l);else{f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];f[d+8>>2]=f[l+8>>2];f[a>>2]=(f[a>>2]|0)+12}e=e+1|0;if(e>>>0>=b>>>0){a=1;break}else k=k+3|0}}else a=0;c=f[m>>2]|0;if(!c){u=o;return a|0}d=f[n>>2]|0;if((d|0)!=(c|0))f[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c);u=o;return a|0}function Mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+32|0;i=m+16|0;e=m;g=0;do{Pf(i,b)|0;c=f[i>>2]|0;if(c|0){d=a+60+(g*12|0)|0;rc(d,c,0);$l(e);dd(e,b)|0;if(f[i>>2]|0){c=0;do{n=Tg(e)|0;l=(f[d>>2]|0)+(c>>>5<<2)|0;k=1<<(c&31);j=f[l>>2]|0;f[l>>2]=n?j|k:j&~k;c=c+1|0}while(c>>>0<(f[i>>2]|0)>>>0)}Jm(e)}g=g+1|0}while((g|0)<4);k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;i=lk(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&j>>>0>>0){n=0;u=m;return n|0}g=f[b>>2]|0;b=g+e|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;n=l;f[n>>2]=i;f[n+4>>2]=d;d=lk(e|0,c|0,8,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0){n=0;u=m;return n|0}c=g+i|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;n=l;f[n>>2]=d;f[n+4>>2]=e;if((b|0)>(c|0)){n=0;u=m;return n|0}f[a+12>>2]=b;f[a+16>>2]=c;n=c+(1-b)|0;f[a+20>>2]=n;c=(n|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(n&1|0){n=1;u=m;return n|0}f[d>>2]=c+-1;n=1;u=m;return n|0}function Nc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Fa(12505,12521,59,12612);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Fa(12622,12521,60,12612);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ra[f[(f[b>>2]|0)+36>>2]&127](b)|0;k=Va[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Va[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+44>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;Mb(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+44>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;Lb(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;c=h;g=_i(52)|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;n[g+16>>2]=$(1.0);d=g+20|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;n[g+36>>2]=$(1.0);f[g+40>>2]=0;f[g+44>>2]=0;f[g+48>>2]=0;d=g;cm(e);if(!(Id(e,f[b+32>>2]|0,g)|0)){f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;dg(c,12002,26);f[a>>2]=-1;th(a+4|0,c);pk(c);d=g+40|0;c=f[d>>2]|0;if(c|0){e=g+44|0;b=f[e>>2]|0;if((b|0)!=(c|0)){do{a=b+-4|0;f[e>>2]=a;b=f[a>>2]|0;f[a>>2]=0;if(b|0){kf(b);Em(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}Em(c)}kf(g);Em(g);u=h;return}e=(f[b+4>>2]|0)+4|0;g=f[e>>2]|0;f[e>>2]=d;if(g|0){d=g+40|0;c=f[d>>2]|0;if(c|0){e=g+44|0;b=f[e>>2]|0;if((b|0)!=(c|0)){do{i=b+-4|0;f[e>>2]=i;b=f[i>>2]|0;f[i>>2]=0;if(b|0){kf(b);Em(b)}b=f[e>>2]|0}while((b|0)!=(c|0));c=f[d>>2]|0}Em(c)}kf(g);Em(g)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=h;return}function Pc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Xd(j,m-l|0,2348);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)Fa(12788,12706,64,12783);else if((e|0)==12)Fa(10882,10901,89,10995);else if((e|0)==14)return d|0;return 0}function Qc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;k=l;h=a+8|0;g=f[h>>2]|0;j=a+4|0;d=f[j>>2]|0;if(((g-d|0)/116|0)>>>0>=c>>>0){do{f[d>>2]=-1;ji(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[j>>2]|0)+116|0;f[j>>2]=d;c=c+-1|0}while((c|0)!=0);u=l;return}e=f[a>>2]|0;i=((d-e|0)/116|0)+c|0;if(i>>>0>37025580){ql(a);e=f[a>>2]|0;g=f[h>>2]|0;d=f[j>>2]|0}j=(g-e|0)/116|0;g=j<<1;g=j>>>0<18512790?(g>>>0>>0?i:g):37025580;d=(d-e|0)/116|0;f[k+12>>2]=0;f[k+16>>2]=a+8;do if(g)if(g>>>0>37025580){l=Ha(4)|0;gm(l);sa(l|0,840,80)}else{e=_i(g*116|0)|0;break}else e=0;while(0);f[k>>2]=e;d=e+(d*116|0)|0;h=k+8|0;f[h>>2]=d;f[k+4>>2]=d;f[k+12>>2]=e+(g*116|0);do{f[d>>2]=-1;ji(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[h>>2]|0)+116|0;f[h>>2]=d;c=c+-1|0}while((c|0)!=0);Jb(a,k);Ve(k);u=l;return}function Rc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Xd(j,m-l|0,2348);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Fa(12788,12706,64,12783);else if((e|0)==12)Fa(10882,10901,89,10995);else if((e|0)==13)return d|0;return 0}function Sc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Hc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=kd(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<16384){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>12)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Em(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Em(b);u=n;return g|0}function Tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Xd(j,m-l|0,2348);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Fa(12788,12706,64,12783);else if((e|0)==12)Fa(10882,10901,89,10995);else if((e|0)==13)return d|0;return 0}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)li(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){ql(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){ql(a);c=Ha(4)|0;gm(c);sa(c|0,840,80)}h=_i(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function Vc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)li(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){ql(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){ql(a);c=Ha(4)|0;gm(c);sa(c|0,840,80)}h=_i(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function Wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;l=r+20|0;k=r+16|0;q=r;p=c+24|0;e=b[p>>0]|0;m=e<<24>>24;h=f[a+80>>2]|0;j=X(h,m)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;Vc(d,0,0+(j<<2)|0);if((h|0)<=0){q=1;u=r;return q|0}j=c+84|0;i=c+68|0;if(e<<24>>24<=0){e=0;while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(e<<2)>>2]|0;else a=e;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(kb(c,l,g,q)|0)){a=0;e=13;break}e=e+1|0;if((e|0)>=(h|0)){a=1;e=13;break}}if((e|0)==13){u=r;return a|0}}else{n=0;o=0}while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(o<<2)>>2]|0;else a=o;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(kb(c,l,g,q)|0)){a=0;e=13;break}a=f[d>>2]|0;e=n;g=0;while(1){f[a+(e<<2)>>2]=f[q+(g<<2)>>2];g=g+1|0;if((g|0)==(m|0))break;else e=e+1|0}o=o+1|0;if((o|0)>=(h|0)){a=1;e=13;break}else n=m+n|0}if((e|0)==13){u=r;return a|0}return 0}function Xc(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b[(f[a+8>>2]|0)+24>>0]|0;i=Bm(d>>>0>1073741823?-1:d<<2)|0;j=a+28|0;c=f[j>>2]|0;f[j>>2]=i;if(c|0)Cm(c);i=a+4|0;g=f[(f[i>>2]|0)+32>>2]|0;d=d<<2;n=g+8|0;l=f[n>>2]|0;n=f[n+4>>2]|0;e=g+16|0;k=e;c=f[k>>2]|0;k=lk(c|0,f[k+4>>2]|0,d|0,0)|0;m=I;if((n|0)<(m|0)|(n|0)==(m|0)&l>>>0>>0){n=0;return n|0}Ld(f[j>>2]|0,(f[g>>2]|0)+c|0,d|0)|0;c=e;c=lk(f[c>>2]|0,f[c+4>>2]|0,d|0,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=(f[i>>2]|0)+32|0;c=f[e>>2]|0;k=c+8|0;m=f[k>>2]|0;k=f[k+4>>2]|0;g=c+16|0;n=g;d=f[n>>2]|0;n=lk(d|0,f[n+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&m>>>0>>0){n=0;return n|0}n=a+32|0;c=(f[c>>2]|0)+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[n>>0]=c;b[n+1>>0]=c>>8;b[n+2>>0]=c>>16;b[n+3>>0]=c>>24;n=g;n=lk(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;c=g;f[c>>2]=n;f[c+4>>2]=I;c=f[e>>2]|0;n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}c=b[(f[c>>2]|0)+d>>0]|0;m=lk(d|0,e|0,1,0)|0;n=g;f[n>>2]=m;f[n+4>>2]=I;if((c&255)>31){n=0;return n|0}f[a+24>>2]=c&255;n=1;return n|0}function Yc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;g=f[l>>2]|0;e=g;if(((d-g|0)/12|0)>>>0>=b>>>0){vf(g|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}c=f[a>>2]|0;h=((g-c|0)/12|0)+b|0;if(h>>>0>357913941){ql(a);g=f[l>>2]|0;c=f[a>>2]|0;e=g;d=f[m>>2]|0}k=c;d=(d-c|0)/12|0;i=d<<1;i=d>>>0<178956970?(i>>>0>>0?h:i):357913941;d=(g-c|0)/12|0;do if(i)if(i>>>0>357913941){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{h=_i(i*12|0)|0;break}else h=0;while(0);g=h+(d*12|0)|0;d=g;j=h+(i*12|0)|0;vf(g|0,0,b*12|0)|0;h=g+(b*12|0)|0;if((e|0)==(k|0))i=c;else{c=d;do{b=g+-12|0;i=e;e=e+-12|0;f[b>>2]=0;d=g+-8|0;f[d>>2]=0;f[g+-4>>2]=0;f[b>>2]=f[e>>2];b=i+-8|0;f[d>>2]=f[b>>2];i=i+-4|0;f[g+-4>>2]=f[i>>2];f[i>>2]=0;f[b>>2]=0;f[e>>2]=0;g=c+-12|0;c=g}while((e|0)!=(k|0));d=c;i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=j;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);Em(g)}}while((e|0)!=(h|0));if(!i)return;Em(i);return}function Zc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=2336;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)ql(h);c=((c+-1|0)>>>5)+1|0;o=_i(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];nd(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)ql(h);o=((c+-1|0)>>>5)+1|0;a=_i(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];nd(h,k,m);u=n;return}function _c(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823){ql(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;j=d-e|0;d=j>>1;d=j>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(d>>>0>1073741823){ql(a);c=Ha(4)|0;gm(c);sa(c|0,840,80)}h=_i(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function $c(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=2384;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)ql(h);c=((c+-1|0)>>>5)+1|0;o=_i(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];nd(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)ql(h);o=((c+-1|0)>>>5)+1|0;a=_i(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];nd(h,k,m);u=n;return}function ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[i>>2]|0}else c=0;l=d-c|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){ql(a);b=Ha(4)|0;gm(b);sa(b|0,840,80)}e=_i(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Ld(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Ld(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;e=f[k>>2]|0;if(d-e>>2>>>0>=b>>>0){vf(e|0,0,b<<2|0)|0;f[k>>2]=e+(b<<2);u=n;return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[l>>2]|0;e=f[k>>2]|0}i=d-c|0;j=i>>1;g=i>>2>>>0<536870911?(j>>>0>>0?g:j):1073741823;c=e-c>>2;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(g)if(g>>>0>1073741823){n=Ha(4)|0;gm(n);sa(n|0,840,80)}else{d=_i(g<<2)|0;break}else d=0;while(0);f[m>>2]=d;c=d+(c<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=c;j=m+12|0;f[j>>2]=d+(g<<2);vf(c|0,0,b<<2|0)|0;f[i>>2]=c+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];ze(m);u=n;return}function cd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=u;u=u+16|0;g=n;e=c+8|0;o=e;q=f[o+4>>2]|0;m=c+16|0;p=m;d=f[p>>2]|0;p=f[p+4>>2]|0;if(!((q|0)>(p|0)|((q|0)==(p|0)?(f[o>>2]|0)>>>0>d>>>0:0))){q=0;u=n;return q|0}b[a+12>>0]=b[(f[c>>2]|0)+d>>0]|0;p=m;p=lk(f[p>>2]|0,f[p+4>>2]|0,1,0)|0;q=m;f[q>>2]=p;f[q+4>>2]=I;a:do if((Pf(g,c)|0?(j=f[g>>2]|0,q=e,l=m,k=f[l>>2]|0,l=f[l+4>>2]|0,q=Dj(f[q>>2]|0,f[q+4>>2]|0,k|0,l|0)|0,p=I,!(0>(p|0)|0==(p|0)&j>>>0>q>>>0)):0)?(i=(f[c>>2]|0)+k|0,(j|0)>=1):0){f[a>>2]=i;e=j+-1|0;d=i+e|0;switch((h[d>>0]|0)>>>6&3){case 0:{f[a+4>>2]=e;d=b[d>>0]&63;break}case 1:{if((j|0)<2){d=0;break a}f[a+4>>2]=j+-2;d=i+j+-2|0;d=(h[d+1>>0]|0)<<8&16128|(h[d>>0]|0);break}case 2:{if((j|0)<3){d=0;break a}f[a+4>>2]=j+-3;d=i+j+-3|0;d=(h[d+1>>0]|0)<<8|(h[d>>0]|0)|(h[d+2>>0]|0)<<16&4128768;break}default:{d=0;break a}}q=d+4096|0;f[a+8>>2]=q;if(q>>>0<=1048575){q=lk(k|0,l|0,j|0,0)|0;d=m;f[d>>2]=q;f[d+4>>2]=I;d=1}else d=0}else d=0;while(0);q=d;u=n;return q|0}function ed(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=Ka,f=Ka,g=0.0,h=Ka,i=Ka,j=0.0,k=0.0,l=0.0,m=0.0;if(!(b>=$(0.0)))Fa(7017,6870,191,7031);if(!(c>=$(0.0)))Fa(7060,6870,192,7031);if(!(b<=$(1.0)))Fa(7074,6870,193,7031);if(!(c<=$(1.0)))Fa(7088,6870,194,7031);f=$(b+c);e=$(b-c);if(!(e<=$(.5))|(!(e>=$(-.5))|(!(f>=$(.5))|!(f<=$(1.5))))){do if(!(f<=$(.5))){if(f>=$(1.5)){e=$($(1.5)-c);c=$($(1.5)-b);break}if(!(e<=$(-.5))){e=$(c+$(.5));c=$(b+$(-.5));break}else{e=$(c+$(-.5));c=$(b+$(.5));break}}else{e=$($(.5)-c);c=$($(.5)-b)}while(0);b=e;i=$(e-c);f=$(c+e);g=-1.0}else{i=e;g=1.0}h=$(+b*2.0+-1.0);b=$(+c*2.0+-1.0);l=+f*2.0;j=l+-1.0;l=3.0-l;m=+i*2.0;k=m+1.0;m=1.0-m;k=m>2]=$(0.0);h=$(0.0);i=$(0.0);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}else{i=$($(1.0)/$(L($(e))));f=$(c*i);n[d>>2]=f;h=$(h*i);i=$(b*i);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}}function fd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+80|0;l=m;j=m+60|0;k=m+40|0;g=l;h=d;i=g+40|0;do{f[g>>2]=f[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));Bb(a,l,j);if(f[a>>2]|0){l=l+24|0;Jm(l);u=m;return}h=a+4|0;pk(h);if((b[j+7>>0]|0)!=1){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,10709,20);f[a>>2]=-1;th(h,k);pk(k);l=l+24|0;Jm(l);u=m;return}Ke(k,b[j+8>>0]|0);g=f[k>>2]|0;if(!g){j=k+16|0;g=f[j>>2]|0;f[j>>2]=0;fi(a,g,c,d,e);if(!(f[a>>2]|0)){pk(h);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Oa[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;th(h,k+4|0)}c=k+16|0;g=f[c>>2]|0;f[c>>2]=0;if(g|0)Oa[f[(f[g>>2]|0)+4>>2]&127](g);pk(k+4|0);l=l+24|0;Jm(l);u=m;return}function gd(a,c){a=a|0;c=c|0;var d=0,e=Ka,g=Ka,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Ka,x=Ka,y=0,z=0;v=u;u=u+16|0;p=v;q=f[a+24>>2]|0;r=a+8|0;d=b[(f[r>>2]|0)+24>>0]|0;o=d<<24>>24;s=o<<2;t=Bm(o>>>0>1073741823?-1:o<<2)|0;cl(p);if(!(Pi(p,$(n[a+32>>2]),(1<>2]|0;m=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;if(!c){c=1;Cm(t);u=v;return c|0}q=p+4|0;l=a+28|0;if(d<<24>>24>0){h=0;i=0;j=0}else{a=0;d=0;while(1){Ld((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+d|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(c|0)){a=1;break}else d=d+s|0}Cm(t);u=v;return a|0}while(1){a=f[l>>2]|0;e=$(n[q>>2]);g=$(n[p>>2]);d=0;k=j;while(1){z=f[m+(k<<2)>>2]|0;y=(z|0)<0;w=$(e*$((y?0-z|0:z)|0));x=$(-w);w=$(g*(y?x:w));w=$($(n[a+(d<<2)>>2])+w);n[t+(d<<2)>>2]=w;d=d+1|0;if((d|0)==(o|0))break;else k=k+1|0}Ld((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+i|0,t|0,s|0)|0;h=h+1|0;if((h|0)==(c|0)){a=1;break}else{i=i+s|0;j=o+j|0}}Cm(t);u=v;return a|0}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=f[b>>2]|0;l=f[k>>2]|0;e=f[a+4>>2]|0;b=f[k+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(i)g=h&b;else g=(b>>>0)%(e>>>0)|0;c=(f[a>>2]|0)+(g<<2)|0;j=f[c>>2]|0;while(1){b=f[j>>2]|0;if((b|0)==(k|0))break;else j=b}if((j|0)!=(a+8|0)){b=f[j+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;d=18}else d=11}else d=11;do if((d|0)==11){if(l|0){b=f[l+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;b=l;d=19;break}}f[c>>2]=0;c=f[k>>2]|0;d=18}while(0);if((d|0)==18){b=c;if(c)d=19}if((d|0)==19){c=f[c+4>>2]|0;if(i)c=c&h;else c=(c>>>0)%(e>>>0)|0;if((c|0)!=(g|0)){f[(f[a>>2]|0)+(c<<2)>>2]=j;b=f[k>>2]|0}}f[j>>2]=b;f[k>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!k)return l|0;b=f[k+20>>2]|0;if(b|0){c=k+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}pk(k+8|0);Em(k);return l|0}function id(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;c=f[d>>2]|0;b=f[g>>2]|0;i=c-b>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=b+(h<<2)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2)}else Xd(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];ob(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];ob(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function jd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+112|0;h=k+96|0;j=k+16|0;i=k+4|0;g=k;c=j+76|0;d=j;e=d+76|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=-1073741824;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;f[g>>2]=i;f[h>>2]=f[g>>2];if(ac(j,a,h)|0){g=f[i>>2]|0;Vc(b,g,g+((f[e>>2]|0)-g>>2<<2)|0);g=f[j+68>>2]|0}else g=0;c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+56>>2]|0;if(c|0)Em(c);c=f[j+32>>2]|0;if(c|0){e=j+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+20>>2]|0;if(c|0){e=j+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+8>>2]|0;if(c|0){e=j+12|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}j=j+4|0;c=f[j>>2]|0;f[j>>2]=0;if(!c){u=k;return g|0}Lf(c);Em(c);u=k;return g|0}function kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;d=l;if(!(nf(d,c)|0)){a=0;u=l;return a|0}g=d;j=f[g>>2]|0;g=f[g+4>>2]|0;m=c+8|0;i=c+16|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;m=Dj(f[m>>2]|0,f[m+4>>2]|0,d|0,e|0)|0;n=I;if(g>>>0>n>>>0|(g|0)==(n|0)&j>>>0>m>>>0){n=0;u=l;return n|0}c=(f[c>>2]|0)+d|0;m=lk(d|0,e|0,j|0,g|0)|0;n=i;f[n>>2]=m;f[n+4>>2]=I;if((j|0)<1){n=0;u=l;return n|0}f[a+40>>2]=c;e=j+-1|0;d=c+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;k=b[d>>0]&63;break}case 1:if((j|0)<2){n=0;u=l;return n|0}else{f[a+44>>2]=j+-2;k=c+j+-2|0;k=(h[k+1>>0]|0)<<8&16128|(h[k>>0]|0);break a}case 2:if((j|0)<3){n=0;u=l;return n|0}else{f[a+44>>2]=j+-3;k=c+j+-3|0;k=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=j+-4;k=c+j+-4|0;k=(h[k+2>>0]|0)<<16|(h[k+3>>0]|0)<<24&1056964608|(h[k+1>>0]|0)<<8|(h[k>>0]|0);break}default:{}}while(0);n=k+16384|0;f[a+48>>2]=n;n=n>>>0<4194304;u=l;return n|0}function ld(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Qg(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Qg(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Qg(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)li(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Ld(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);Em(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[h>>2]|0}else c=0;m=d-c|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){ql(a);b=Ha(4)|0;gm(b);sa(b|0,840,80)}e=_i(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Ld(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function nd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];jc(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=c>>>5;li(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;s=v;e=f[a+40>>2]|0;j=f[a+44>>2]|0;if((e|0)==(j|0)){t=0;u=v;return t|0}k=s+11|0;m=s+4|0;l=d+11|0;n=d+4|0;a=e;a:while(1){f[s>>2]=0;f[s+4>>2]=0;f[s+8>>2]=0;do if(wf(f[a>>2]|0,c,s)|0?(p=b[k>>0]|0,q=p<<24>>24<0,p=p&255,o=q?f[m>>2]|0:p,i=b[l>>0]|0,r=i<<24>>24<0,(o|0)==((r?f[n>>2]|0:i&255)|0)):0){g=f[s>>2]|0;i=q?g:s;e=r?f[d>>2]|0:d;h=(o|0)==0;if(q){if(h)break a;if(!(xh(i,e,o)|0))break a;else break}if(h)break a;if((g&255)<<24>>24==(b[e>>0]|0)){g=p;h=s;do{g=g+-1|0;h=h+1|0;if(!g)break a;e=e+1|0}while((b[h>>0]|0)==(b[e>>0]|0))}}while(0);pk(s);a=a+4|0;if((a|0)==(j|0)){a=0;t=14;break}}if((t|0)==14){u=v;return a|0}t=f[a>>2]|0;pk(s);u=v;return t|0}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)Fa(12367,12379,110,12471);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))le(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){$e(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(b);u=j;return}function qd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;Em(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0){ql(a);e=f[i>>2]|0;g=f[a>>2]|0}else g=0;k=e-g|0;g=k<<1;g=k>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)ql(a);e=_i(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)li(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;e=f[n>>2]|0;m=a+4|0;d=f[m>>2]|0;if(e-d>>2>>>0>=b>>>0){vf(d|0,0,b<<2|0)|0;f[m>>2]=d+(b<<2);return}c=f[a>>2]|0;h=(d-c>>2)+b|0;if(h>>>0>1073741823){ql(a);g=f[a>>2]|0;d=f[m>>2]|0;e=f[n>>2]|0}else g=c;c=d;l=g;k=e-g|0;j=k>>1;h=k>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;j=d-g>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;vf(e|0,0,b<<2|0)|0;d=e;k=i+(h<<2)|0;h=i+(j+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));g=f[a>>2]|0;c=f[m>>2]|0}f[a>>2]=d;f[m>>2]=h;f[n>>2]=k;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;Em(g);return}function sd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;j=d+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;k=d+16|0;e=k;g=f[e>>2]|0;e=f[e+4>>2]|0;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>g>>>0){h=b[(f[d>>2]|0)+g>>0]|0;g=lk(g|0,e|0,1,0)|0;e=I;o=k;f[o>>2]=g;f[o+4>>2]=e;if(h<<24>>24!=-2)l=3}else{h=0;l=3}if((l|0)==3){if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>g>>>0){o=b[(f[d>>2]|0)+g>>0]|0;l=lk(g|0,e|0,1,0)|0;e=k;f[e>>2]=l;f[e+4>>2]=I;e=o}else e=0;Wa[f[(f[a>>2]|0)+40>>2]&7](m,a,h<<24>>24,e<<24>>24);o=a+20|0;l=f[m>>2]|0;f[m>>2]=0;e=f[o>>2]|0;f[o>>2]=l;if(e){Oa[f[(f[e>>2]|0)+4>>2]&127](e);e=f[m>>2]|0;f[m>>2]=0;if(e|0)Oa[f[(f[e>>2]|0)+4>>2]&127](e)}else f[m>>2]=0}e=f[a+20>>2]|0;if(e|0?!(Va[f[(f[a>>2]|0)+28>>2]&127](a,e)|0):0){o=0;u=n;return o|0}o=Ma[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0;u=n;return o|0}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;f[a+4>>2]=f[b+4>>2];g=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;h=b+12|0;c=f[h>>2]|0;if(!c)c=0;else{e=a+16|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[g>>2]|0;if(d){Em(d);f[g>>2]=0;f[e>>2]=0;f[a+12>>2]=0;c=f[h>>2]|0}if((c|0)<0)ql(g);d=((c+-1|0)>>>5)+1|0;c=_i(d<<2)|0;f[g>>2]=c;f[a+12>>2]=0;f[e>>2]=d;d=f[h>>2]|0}else{d=c;c=f[g>>2]|0}li(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[h>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){Em(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)ql(h);d=((c+-1|0)>>>5)+1|0;c=_i(d<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[e>>2]=d;d=f[g>>2]|0}else{d=c;c=f[h>>2]|0}li(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((g-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;h=((d-e|0)/12|0)+b|0;if(h>>>0>357913941){ql(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=(g-e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0>>0?h:g):357913941;d=(d-e|0)/12|0;do if(g)if(g>>>0>357913941){k=Ha(4)|0;gm(k);sa(k|0,840,80)}else{e=_i(g*12|0)|0;break}else e=0;while(0);i=e+(d*12|0)|0;h=e+(g*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ld(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;Em(d);return}function vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a=a+20|0;if(Yb(a,b)|0){e=0;return e|0}d=wb(a,b)|0;b=f[c>>2]|0;f[c>>2]=0;e=f[d>>2]|0;f[d>>2]=b;if(!e){e=1;return e|0}a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;Ie(d+8|0);Em(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Em(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}pk(d+8|0);Em(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Em(a);Em(e);e=1;return e|0}function wd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;c=_i(64)|0;j=_i(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=2556;f[j+8>>2]=h;f[k>>2]=j;wh(c,k);j=c;if((b|0)>=0){h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){rd(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c)a=1;else{Oa[f[(f[c>>2]|0)+4>>2]&127](c);a=1}}else{Oa[f[(f[c>>2]|0)+4>>2]&127](c);a=0}c=f[k>>2]|0;f[k>>2]=0;if(!c){u=l;return a|0}Oa[f[(f[c>>2]|0)+4>>2]&127](c);u=l;return a|0}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];td(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{ad(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);ad(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);ad(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];md(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function yd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+80|0;g=j;i=j+64|0;Kh(g);e=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Yh(5)|0,d)|0;Of(g,e,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=_i(96)|0;Dh(h,g);b[h+84>>0]=1;d=f[h+68>>2]|0;g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Gf(h,c)|0;f[i>>2]=h;lf(a,i);h=f[i>>2]|0;f[i>>2]=0;if(!h){u=j;return}i=h+88|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}i=h+64|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(h);u=j;return}function zd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2660;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}Ce(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){kf(c);Em(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b)}kf(e);Em(e);return}function Ad(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)Fa(12681,12706,63,12783);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))Fa(12788,12706,64,12783);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))$e(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){$e(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;d=vh(c,0)|0;if(!d){f[a>>2]=0;u=n;return}l=c+96|0;e=c+100|0;Tf(m,((f[e>>2]|0)-(f[l>>2]|0)|0)/12|0);c=f[l>>2]|0;e=(f[e>>2]|0)-c|0;if((e|0)>0){l=d+68|0;k=f[m>>2]|0;j=(b[d+84>>0]|0)==0;i=(e|0)/12|0;h=0;do{d=c+(h*12|0)|0;if(j){o=f[l>>2]|0;e=o+(f[c+(h*12|0)+8>>2]<<2)|0;g=o+(f[c+(h*12|0)+4>>2]<<2)|0;d=o+(f[d>>2]<<2)|0}else{e=c+(h*12|0)+8|0;g=c+(h*12|0)+4|0}g=f[g>>2]|0;o=f[e>>2]|0;f[k+(h*12|0)>>2]=f[d>>2];f[k+(h*12|0)+4>>2]=g;f[k+(h*12|0)+8>>2]=o;h=h+1|0}while((h|0)<(i|0))}zg(a,m);e=f[m>>2]|0;if(e|0){d=m+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0);Em(e)}u=n;return}function Cd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;nc(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=c>>>5;li(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{e=_i(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){kf(d);Em(d)}}while((c|0)!=(e|0));if(!g)return;Em(g);return}function Ed(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;pd(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){$d(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Fd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=a+4|0;e=f[a>>2]|0;if(!e){f[c>>2]=a;n=a;return n|0}l=b[d+11>>0]|0;k=l<<24>>24<0;l=k?f[d+4>>2]|0:l&255;k=k?f[d>>2]|0:d;while(1){g=e+16|0;d=b[g+11>>0]|0;i=d<<24>>24<0;d=i?f[e+20>>2]|0:d&255;h=d>>>0>>0;a=h?d:l;if((a|0)!=0?(n=xh(k,i?f[g>>2]|0:g,a)|0,(n|0)!=0):0)if((n|0)<0)j=7;else j=9;else if(l>>>0>>0)j=7;else j=9;if((j|0)==7){a=f[e>>2]|0;if(!a){j=8;break}}else if((j|0)==9){j=0;a=l>>>0>>0?l:d;if((a|0)!=0?(m=xh(i?f[g>>2]|0:g,k,a)|0,(m|0)!=0):0){if((m|0)>=0){j=16;break}}else j=11;if((j|0)==11?(0,!h):0){j=16;break}d=e+4|0;a=f[d>>2]|0;if(!a){j=15;break}}e=a}if((j|0)==8){f[c>>2]=e;n=e;return n|0}else if((j|0)==15){f[c>>2]=e;n=d;return n|0}else if((j|0)==16){f[c>>2]=e;n=c;return n|0}return 0}function Gd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=f[c>>2]|0;h=f[a>>2]|0;j=h+(e>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(e&31);j=f[a+64>>2]|0;g=(e|0)<0;c=e+1|0;if(!g?(d=((c|0)%3|0|0)==0?e+-2|0:c,(d|0)>=0):0)c=f[(f[j>>2]|0)+(d<<2)>>2]|0;else c=-1073741824;i=a+12|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g){j=(f[i>>2]|0)+402653184|0;f[j>>2]=f[j>>2]|1;return}c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g)return;d=f[(f[j+12>>2]|0)+(e<<2)>>2]|0;if((d|0)<=-1)return;b[a+24>>0]=0;c=h+(d>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(d&31);c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;a=(f[i>>2]|0)+(c>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;j=(f[i>>2]|0)+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);return}function Hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i+4|0;h=i;b=f[b>>2]|0;if((b|0)<0){a=-1073741824;u=i;return a|0}d=a+4|0;c=f[d>>2]|0;e=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((e|0)<0){a=-1073741824;u=i;return a|0}k=b+1|0;f[h>>2]=((k|0)%3|0|0)==0?b+-2|0:k;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=Hg(g,c,k)|0;f[h>>2]=(((e>>>0)%3|0|0)==0?2:-1)+e;j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];if((k|0)!=(Hg(g,j,c)|0)){k=-1073741824;u=i;return k|0}f[h>>2]=b+(((b>>>0)%3|0|0)==0?2:-1);j=f[d>>2]|0;c=f[a>>2]|0;f[g>>2]=f[h>>2];c=Hg(g,j,c)|0;j=e+1|0;f[h>>2]=((j|0)%3|0|0)==0?e+-2|0:j;j=f[d>>2]|0;k=f[a>>2]|0;f[g>>2]=f[h>>2];k=(c|0)!=(Hg(g,j,k)|0);k=k?-1073741824:e;u=i;return k|0}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+8|0;g=j+4|0;e=j;if(!c){i=0;u=j;return i|0}f[a>>2]=b;f[h>>2]=0;Pf(h,b)|0;a:do if(!(f[h>>2]|0))i=8;else{d=0;while(1){Pf(g,f[a>>2]|0)|0;b=_i(44)|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[b+16>>2]=$(1.0);k=b+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[b+36>>2]=$(1.0);f[b+40>>2]=f[g>>2];if(!(cc(a,b)|0))break;f[e>>2]=b;og(c,e)|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){kf(b);Em(b)}d=d+1|0;if(d>>>0>=(f[h>>2]|0)>>>0){i=8;break a}}kf(b);Em(b);b=0}while(0);if((i|0)==8)b=cc(a,c)|0;k=b;u=j;return k|0}function Jd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+4|0;l=n;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(8225,8468,70,8632);h=c+8|0;if(!(f[h>>2]|0))Fa(8225,8468,70,8632);i=f[(f[(f[c+16>>2]|0)+28>>2]|0)+(f[d>>2]<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=i>>>0){pl(d);c=f[d>>2]|0;d=f[g>>2]|0;if(!d)Fa(8225,8468,62,8653);else{k=d;j=c}}else{k=e;j=c}d=f[h>>2]|0;if(!d)Fa(8225,8468,62,8653);d=f[d+(f[j+(i<<2)>>2]<<2)>>2]|0;if(!(b[k+84>>0]|0))d=f[(f[k+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[l>>2]=d;j=b[k+24>>0]|0;f[m>>2]=f[l>>2];eb(k,m,j,a)|0;u=n;return}function Kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=xh(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=xh(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Aa(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Md(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}g=a+184|0;b=f[g>>2]|0;if(b|0){h=a+188|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Em(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Em(b)}b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}h=a+136|0;c=f[h>>2]|0;f[h>>2]=0;if(!c){h=a+120|0;Jm(h);h=a+80|0;Jm(h);h=a+64|0;Jm(h);a=a+24|0;Jm(a);return}d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(c|0))}Cm(d);h=a+120|0;Jm(h);h=a+80|0;Jm(h);h=a+64|0;Jm(h);a=a+24|0;Jm(a);return}function Nd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];sb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];sb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Od(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,59,12612);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Fa(12622,12521,60,12612);g=f[i+(c<<2)>>2]|0;do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Nc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_i(44)|0;f[b>>2]=1176;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);f[b>>2]=1232;g=b}f[a>>2]=g;return}function Pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+60|0;c=f[i>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+48;if(!(Ra[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}g=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((g|0)>0){h=0;while(1){c=(Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;c=f[c>>2]|0;e=Va[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;if((e|0)<=-1){d=7;break}d=f[c+8>>2]|0;if(((f[c+12>>2]|0)-d>>2|0)<=(e|0)){d=9;break}c=f[i>>2]|0;h=h+1|0;if(!(Va[f[(f[c>>2]|0)+8>>2]&127](c,f[d+(e<<2)>>2]|0)|0)){c=0;d=14;break}if((h|0)>=(g|0))break a}if((d|0)==7)Fa(12505,12521,67,12612);else if((d|0)==9)Fa(12622,12521,68,12612);else if((d|0)==14)return c|0}while(0);if(!(Va[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Ra[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function Qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=wk(ya(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=wk(ya(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Rd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(8225,8468,70,8632);i=c+8|0;if(!(f[i>>2]|0))Fa(8225,8468,70,8632);d=f[d>>2]|0;if((d|0)<0)h=-1073741824;else h=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;c=f[c+20>>2]|0;d=f[c>>2]|0;if((f[c+4>>2]|0)-d>>2>>>0<=h>>>0){pl(c);e=f[g>>2]|0;d=f[c>>2]|0}c=f[d+(h<<2)>>2]|0;if(!e)Fa(8225,8468,62,8653);d=f[i>>2]|0;if(!d)Fa(8225,8468,62,8653);d=f[d+(c<<2)>>2]|0;if(!(b[e+84>>0]|0))d=f[(f[e+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[j>>2]=d;i=b[e+24>>0]|0;f[k>>2]=f[j>>2];eb(e,k,i,a)|0;u=l;return}function Sd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];tb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];tb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l;i=a+4|0;f[i>>2]=0;if(!c){u=l;return}h=a+8|0;e=f[h>>2]|0;if(e<<5>>>0>>0){f[k>>2]=0;j=k+4|0;f[j>>2]=0;g=k+8|0;f[g>>2]=0;if((c|0)<0){ql(a);e=f[h>>2]|0}m=e<<6;n=c+31&-32;Le(k,e<<5>>>0<1073741823?(m>>>0>>0?n:m):2147483647);e=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=e;k=f[i>>2]|0;f[i>>2]=c;f[j>>2]=k;k=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=k;if(e|0)Em(e)}else f[i>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){vf(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=l;return}else{vf(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=l;return}}function Ud(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function Vd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;c=f[k>>2]|0;l=a+16|0;if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}d=f[l>>2]|0;if(!d){l=f[l>>2]|0;return l|0}a=d+84|0;if(!(b[a>>0]|0)){l=f[l>>2]|0;return l|0}i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>2;b[a>>0]=0;h=d+68|0;e=d+72|0;d=f[e>>2]|0;a=f[h>>2]|0;g=d-a>>2;if(i>>>0<=g>>>0){if(i>>>0>>0?(j=a+(i<<2)|0,(d|0)!=(j|0)):0)f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2)}else{Xd(h,i-g|0,1044);c=f[k>>2]|0}if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}k=f[c+68>>2]|0;g=k;k=(f[c+72>>2]|0)-k|0;d=k>>2;if((k|0)<=0){l=f[l>>2]|0;return l|0}c=f[l>>2]|0;e=(b[c+84>>0]|0)==0;c=c+68|0;a=0;while(1){if(!e){c=14;break}f[(f[c>>2]|0)+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0;if((a|0)>=(d|0)){c=15;break}}if((c|0)==14)Fa(10882,10901,89,10995);else if((c|0)==15){l=f[l>>2]|0;return l|0}return 0}function Wd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(dl(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(dl(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Na[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Ua[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else Di(0,c,d,e);while(0);return}function Xd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=f[k>>2]|0;l=a+4|0;h=f[l>>2]|0;g=h;if(e-h>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[l>>2]=g+(b<<2);return}d=f[a>>2]|0;g=(h-d>>2)+b|0;if(g>>>0>1073741823){ql(a);d=f[a>>2]|0;e=f[k>>2]|0;j=f[l>>2]|0}else j=h;i=e-d|0;e=i>>1;g=i>>2>>>0<536870911?(e>>>0>>0?g:e):1073741823;e=j-d>>2;do if(g)if(g>>>0>1073741823){b=Ha(4)|0;gm(b);sa(b|0,840,80)}else{h=_i(g<<2)|0;break}else h=0;while(0);i=h+(e<<2)|0;h=h+(g<<2)|0;e=i;g=b;while(1){f[e>>2]=f[c>>2];g=g+-1|0;if(!g)break;else e=e+4|0}g=j-d|0;e=i+(0-(g>>2)<<2)|0;if((g|0)>0)Ld(e|0,d|0,g|0)|0;f[a>>2]=e;f[l>>2]=i+(b<<2);f[k>>2]=h;if(!d)return;Em(d);return}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;e=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(e-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=f[a>>2]|0;g=(c-d>>3)+b|0;if(g>>>0>536870911){ql(a);d=f[a>>2]|0;e=f[i>>2]|0;c=f[j>>2]|0}h=e-d|0;e=h>>2;e=h>>3>>>0<268435455?(e>>>0>>0?g:e):536870911;c=c-d>>3;do if(e)if(e>>>0>536870911){j=Ha(4)|0;gm(j);sa(j|0,840,80)}else{d=_i(e<<3)|0;break}else d=0;while(0);h=d+(c<<3)|0;g=d+(e<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Ld(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;Em(c);return}function Zd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+8|0;g=h+4|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=Rb(a,e,g,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=_i(40)|0;th(e+16|0,d);th(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}vc(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function _d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;m=b+16|0;c=m;e=f[c>>2]|0;c=f[c+4>>2]|0;g=lk(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&j>>>0>>0){a=0;return a|0}i=f[b>>2]|0;l=i+e|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;n=m;f[n>>2]=g;f[n+4>>2]=d;d=lk(e|0,c|0,8,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0){n=0;return n|0}c=i+g|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;n=m;f[n>>2]=d;f[n+4>>2]=e;if((l|0)>(c|0)){n=0;return n|0}f[a+12>>2]=l;f[a+16>>2]=c;n=c+(1-l)|0;f[a+20>>2]=n;c=(n|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(n&1))f[d>>2]=c+-1;n=dd(a+108|0,b)|0;return n|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;d=f[j>>2]|0;k=a+4|0;g=f[k>>2]|0;e=g;if(d-g>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[k>>2]=e+(b<<2);return}c=f[a>>2]|0;e=(g-c>>2)+b|0;if(e>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[j>>2]|0;i=f[k>>2]|0}else i=g;h=d-c|0;d=h>>1;e=h>>2>>>0<536870911?(d>>>0>>0?e:d):1073741823;d=i-c>>2;do if(e)if(e>>>0>1073741823){b=Ha(4)|0;gm(b);sa(b|0,840,80)}else{g=_i(e<<2)|0;break}else g=0;while(0);h=g+(d<<2)|0;g=g+(e<<2)|0;d=h;e=b;while(1){f[d>>2]=1;e=e+-1|0;if(!e)break;else d=d+4|0}e=i-c|0;d=h+(0-(e>>2)<<2)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=h+(b<<2);f[j>>2]=g;if(!c)return;Em(c);return}function ae(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,59,12612);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))Fa(12622,12521,60,12612);g=f[i+(c<<2)>>2]|0;do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){kc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_i(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=1852;g=b}f[a>>2]=g;return}function be(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+32>>2]|0;h=c+8|0;j=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}h=b[(f[c>>2]|0)+e>>0]|0;c=lk(e|0,d|0,1,0)|0;e=g;f[e>>2]=c;f[e+4>>2]=I;e=a+48|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);switch(h<<24>>24){case 0:{c=_i(392)|0;ig(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);i=9}break}case 2:{c=_i(448)|0;cf(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);i=9}break}default:i=9}if((i|0)==9){c=f[e>>2]|0;if(!c){j=0;return j|0}}j=Va[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;return j|0}function ce(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Sa[i&7](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Em(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}Em(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function de(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((ib(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=Km(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=ib(a,c,m,p,q)|0;if(d){Ma[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=ib(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)Jm(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=1048576){if((i|0)!=1048576?(h=d+4194304|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,1048576-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>1048576){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==1048576;return k|0}function fe(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(dl(m,e,0)|0){f[o+48>>2]=1;Ua[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Na[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Oe(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(nb(a,n)|0)){a=0;u=o;return a|0}gb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=524288){if((i|0)!=524288?(h=d+2097152|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,524288-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>524288){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==524288;return k|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=262144){if((i|0)!=262144?(h=d+1048576|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,262144-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>262144){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==262144;return k|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=65536){if((i|0)!=65536?(h=d+262144|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,65536-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>65536){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==65536;return k|0}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=32768){if((i|0)!=32768?(h=d+131072|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,32768-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>32768){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==32768;return k|0}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){bd(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Em(d)}Em(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Em(d)}Em(c)}Em(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=8192){if((i|0)!=8192?(h=d+32768|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,8192-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>8192){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==8192;return k|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=4096){if((i|0)!=4096?(h=d+16384|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Oe(a,4096-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else Yd(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>4096){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==4096;return k|0}function oe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{Oe(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function pe(a,c,d){a=a|0;c=c|0;d=d|0;a=Yb(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=8){d=0;return d|0}a=c;b[s>>0]=b[a>>0];b[s+1>>0]=b[a+1>>0];b[s+2>>0]=b[a+2>>0];b[s+3>>0]=b[a+3>>0];b[s+4>>0]=b[a+4>>0];b[s+5>>0]=b[a+5>>0];b[s+6>>0]=b[a+6>>0];b[s+7>>0]=b[a+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];d=1;return d|0}function qe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)ml(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{xk(a,d,(e&255)+1|0)|0;Em(d);g=15}}else{c=_i(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{xk(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){xk(c,d,(f[a+4>>2]|0)+1|0)|0;Em(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=el(f[a+8>>2]|0,o)|0;e=el(f[a+12>>2]|0,o)|0;g=el(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=el(f[a+(g<<2)>>2]|0,o)|0;g=el(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Oh(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=el(f[a+(e<<2)>>2]|0,o)|0;e=el(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function se(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=xh(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=xh(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function te(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;k=b+8|0;i=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;g=lk(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){a=0;return a|0}b=f[b>>2]|0;j=b+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;m=l;f[m>>2]=g;f[m+4>>2]=d;c=lk(e|0,c|0,8,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){m=0;return m|0}b=b+g|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;m=l;f[m>>2]=c;f[m+4>>2]=d;if((j|0)>(b|0)){m=0;return m|0}f[a+12>>2]=j;f[a+16>>2]=b;m=b+(1-j)|0;f[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;f[c>>2]=b;f[a+28>>2]=0-b;if(m&1|0){m=1;return m|0}f[c>>2]=b+-1;m=1;return m|0}function ue(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;h=_i(32)|0;f[a>>2]=h;f[a+4>>2]=c+8;g=a+8|0;b[g>>0]=0;i=h+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=h+20|0;j=e+12|0;f[i>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;h=f[j>>2]|0;c=(f[e+16>>2]|0)-h|0;if(!c){i=0;j=h;Ld(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}Pe(i,c);i=f[i>>2]|0;j=f[j>>2]|0;Ld(i|0,j|0,c|0)|0;b[g>>0]=1;a=f[a>>2]|0;j=a+4|0;f[j>>2]=d;f[a>>2]=0;return}function ve(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))Fa(7675,6870,259,7699);d=f[c>>2]|0;if((d|0)>(e|0))Fa(7713,6870,260,7699);a=0-e|0;if((i|0)<(a|0))Fa(7737,6870,261,7699);if((d|0)<(a|0))Fa(7762,6870,262,7699);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=_a(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ib(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=_a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ib(a,b);return}function xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){Qc(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*116|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-116;c=f[e+-12>>2]|0;if(c|0){d=e+-8|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}c=f[e+-28>>2]|0;if(c|0){d=e+-24|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}c=f[e+-40>>2]|0;if(c|0){d=e+-36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}Uf(e+-112|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1056;e=a+60|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b)}f[a>>2]=952;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function ze(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}Em(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Em(b);return}function Ae(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;e=f[l>>2]|0;g=b[e+24>>0]|0;k=g<<24>>24;n=k<<1;m=Bm(k>>>0>2147483647?-1:k<<1)|0;j=f[a+16>>2]|0;j=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){Cm(m);return}if(g<<24>>24>0){e=0;g=0;h=0;while(1){a=0;i=h;while(1){d[m+(a<<1)>>1]=f[j+(i<<2)>>2];a=a+1|0;if((a|0)==(k|0))break;else i=i+1|0}Ld((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+g|0,m|0,n|0)|0;e=e+1|0;if((e|0)==(c|0))break;else{g=g+n|0;h=k+h|0}}Cm(m);return}else{Ld(f[f[e+64>>2]>>2]|0,m|0,n|0)|0;if((c|0)==1){Cm(m);return}else{a=1;e=0}do{e=e+n|0;Ld((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+e|0,m|0,n|0)|0;a=a+1|0}while((a|0)!=(c|0));Cm(m);return}}function Be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+8|0;d=f[k>>2]|0;e=b[d+24>>0]|0;j=e<<24>>24;m=j<<2;l=Bm(j>>>0>1073741823?-1:j<<2)|0;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;if(!c){Cm(l);return}if(e<<24>>24>0){d=0;e=0;g=0;while(1){a=0;h=g;while(1){f[l+(a<<2)>>2]=f[i+(h<<2)>>2];a=a+1|0;if((a|0)==(j|0))break;else h=h+1|0}Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,l|0,m|0)|0;d=d+1|0;if((d|0)==(c|0))break;else{e=e+m|0;g=j+g|0}}Cm(l);return}else{Ld(f[f[d+64>>2]>>2]|0,l|0,m|0)|0;if((c|0)==1){Cm(l);return}else{a=1;d=0}do{d=d+m|0;Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+d|0,l|0,m|0)|0;a=a+1|0}while((a|0)!=(c|0));Cm(l);return}}function Ce(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Em(b);return}function De(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Ka;n=u;u=u+32|0;j=n+16|0;m=n;k=a+8|0;l=b[(f[k>>2]|0)+24>>0]<<2;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;a=f[a+24>>2]|0;if((a|0)<=1)Fa(6859,6870,60,6985);if((a|0)>=31)Fa(7005,6870,61,6985);f[m>>2]=a;a=1<>2]=a+-1;a=a+-2|0;h=m+8|0;f[h>>2]=a;f[m+12>>2]=(a|0)/2|0;if(!c){u=n;return 1}d=0;e=0;g=0;while(1){o=$($(1.0)/$(a|0));ed(m,$($(f[i+(g<<2)>>2]|0)*o),$($(f[i+((g|1)<<2)>>2]|0)*o),j);Ld((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,j|0,l|0)|0;d=d+1|0;if((d|0)==(c|0))break;a=f[h>>2]|0;e=e+l|0;g=g+2|0}u=n;return 1}function Ee(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;g=f[c>>2]|0;c=f[c+4>>2]|0;d=lk(g|0,c|0,4,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0)return 0;i=(f[b>>2]|0)+g|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=l;f[b>>2]=d;f[b+4>>2]=e;b=lk(g|0,c|0,8,0)|0;c=I;if((k|0)<(c|0)|(k|0)==(c|0)&j>>>0>>0)return 0;f[l>>2]=b;f[l+4>>2]=c;if(((i|0)%2|0|0)!=1)Fa(7787,7820,67,7980);c=(_(i|0)|0)^31;b=c+1|0;if(!c)Fa(6859,6870,60,6985);if(b>>>0<31){f[a>>2]=b;l=2<>2]=l+-1;l=l+-2|0;f[a+8>>2]=l;f[a+12>>2]=(l|0)/2|0;return (c+-1|0)>>>0<29|0}else Fa(7005,6870,61,6985);return 0}function Fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m+16|0;i=m+8|0;j=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))Fa(7102,7147,69,7325);e=f[b+4>>2]|0;if((e|0)>(k|0))Fa(7346,7147,70,7325);g=f[c>>2]|0;if((g|0)>(k|0))Fa(7391,7147,71,7325);b=f[c+4>>2]|0;if((b|0)>(k|0))Fa(7436,7147,72,7325);if((h|0)<=-1)Fa(7481,7147,74,7325);if((e|0)<=-1)Fa(7503,7147,75,7325);if((g|0)<=-1)Fa(7525,7147,76,7325);if((b|0)>-1){f[i>>2]=h;f[i+4>>2]=e;f[j>>2]=g;f[j+4>>2]=b;qc(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else Fa(7547,7147,77,7325)}function Ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=_a(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){bc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=_a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;bc(a,b);return}function He(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+12|0;g=f[e>>2]|0;f[e>>2]=0;if(!g){pk(a);return}b=f[g+28>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;Ie(e+8|0);Em(e)}while((b|0)!=0);e=g+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Em(b);b=f[g+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}pk(e+8|0);Em(e)}while((b|0)!=0);b=f[g>>2]|0;f[g>>2]=0;if(b|0)Em(b);Em(g);pk(a);return}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=((d-c|0)/12|0)+1|0;if(e>>>0>357913941){ql(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=((f[j>>2]|0)-c|0)/12|0;h=i<<1;h=i>>>0<178956970?(h>>>0>>0?e:h):357913941;e=(d-c|0)/12|0;do if(h)if(h>>>0>357913941){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h*12|0)|0;break}else i=0;while(0);g=i+(e*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];e=d-c|0;d=g+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+12;f[j>>2]=i+(h*12|0);if(!c)return;Em(c);return}function Ke(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=u;u=u+32|0;c=e+16|0;d=e;switch(b<<24>>24){case 0:{d=_i(48)|0;tl(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}case 1:{d=_i(52)|0;Dk(d);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=d;u=e;return}default:{f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,10653,28);f[c>>2]=-1;b=c+4|0;th(b,d);f[a>>2]=f[c>>2];th(a+4|0,b);f[a+16>>2]=0;pk(b);pk(d);u=e;return}}}function Le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)ql(i);l=((b+-1|0)>>>5)+1|0;k=_i(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Cd(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)Em(b);u=j;return}function Me(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+224|0;j=a+228|0;d=f[k>>2]|0;if((f[j>>2]|0)==(d|0)){l=0;return l|0}g=a+4|0;e=0;a:while(1){a=f[d+(e*116|0)>>2]|0;if(((a|0)>=0?(d=f[g>>2]|0,h=f[d+8>>2]|0,(a|0)<((f[d+12>>2]|0)-h>>2|0)):0)?(i=f[h+(a<<2)>>2]|0,(Ra[f[(f[i>>2]|0)+24>>2]&127](i)|0)>0):0){a=0;do{if((Va[f[(f[i>>2]|0)+20>>2]&127](i,a)|0)==(c|0))break a;a=a+1|0}while((a|0)<(Ra[f[(f[i>>2]|0)+24>>2]&127](i)|0))}a=e+1|0;d=f[k>>2]|0;if(a>>>0>=(((f[j>>2]|0)-d|0)/116|0)>>>0){a=0;l=11;break}else e=a}if((l|0)==11)return a|0;l=f[k>>2]|0;l=(b[l+(e*116|0)+72>>0]|0)==0?0:l+(e*116|0)+4|0;return l|0}function Ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(f[b+4>>2]|0)-(f[b>>2]|0)|0;l=k>>2;g=a+8|0;e=f[(f[g>>2]|0)+40>>2]|0;m=Bm((e|0)>-1?e:-1)|0;h=c+8|0;if((k|0)<=0){c=1;Cm(m);return c|0}k=c+16|0;i=0;j=0;while(1){o=h;n=f[o>>2]|0;o=f[o+4>>2]|0;a=k;b=f[a>>2]|0;a=lk(b|0,f[a+4>>2]|0,e|0,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0){b=0;a=5;break}Ld(m|0,(f[c>>2]|0)+b|0,e|0)|0;o=k;f[o>>2]=a;f[o+4>>2]=d;Ld((f[f[(f[g>>2]|0)+64>>2]>>2]|0)+j|0,m|0,e|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+e|0}if((a|0)==5){Cm(m);return b|0}return 0}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;d=f[k>>2]|0;j=a+4|0;e=f[j>>2]|0;if(d-e>>2>>>0>=b>>>0){vf(e|0,0,b<<2|0)|0;f[j>>2]=e+(b<<2);return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[k>>2]|0;e=f[j>>2]|0}d=d-c|0;h=d>>1;h=d>>2>>>0<536870911?(h>>>0>>0?g:h):1073741823;d=e-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h<<2)|0;break}else i=0;while(0);g=i+(d<<2)|0;vf(g|0,0,b<<2|0)|0;e=e-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[j>>2]=g+(b<<2);f[k>>2]=i+(h<<2);if(!c)return;Em(c);return}function Pe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((g-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}e=f[a>>2]|0;h=d-e+c|0;if((h|0)<0){ql(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=g-e|0;g=i<<1;g=i>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if(!g)h=0;else h=_i(g)|0;i=h+(d-e)|0;h=h+g|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Ld(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;Em(d);return}function Qe(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)ml(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=_i(l)|0;if(g|0)xk(k,m,g)|0;if(i|0)xk(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)xk(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Em(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;vl(k+m|0,n);u=o;return}function Re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(Ch(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Ma[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Ma[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Ld(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function Se(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=Fd(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=_i(40)|0;th(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}vc(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function Te(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;j=u;u=u+16|0;i=j;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){k=d+8|0;l=f[k+4>>2]|0;g=d+16|0;e=g;c=f[e>>2]|0;e=f[e+4>>2]|0;if((l|0)>(e|0)|((l|0)==(e|0)?(f[k>>2]|0)>>>0>c>>>0:0)){l=b[(f[d>>2]|0)+c>>0]|0;k=lk(c|0,e|0,1,0)|0;c=g;f[c>>2]=k;f[c+4>>2]=I;c=l&255;f[a+24>>2]=c;break}else{l=0;u=j;return l|0}}else c=f[a+24>>2]|0;while(0);f[i>>2]=896;f[i+4>>2]=-1;hl(i,c);l=Xg(i,f[a+16>>2]|0)|0;u=j;return l|0}function Ue(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+224|0;h=a+228|0;c=f[i>>2]|0;a:do if((f[h>>2]|0)!=(c|0)){j=a+4|0;d=0;b:while(1){c=f[c+(d*116|0)>>2]|0;if(((c|0)>=0?(k=f[j>>2]|0,e=f[k+8>>2]|0,(c|0)<((f[k+12>>2]|0)-e>>2|0)):0)?(g=f[e+(c<<2)>>2]|0,(Ra[f[(f[g>>2]|0)+24>>2]&127](g)|0)>0):0){c=0;do{if((Va[f[(f[g>>2]|0)+20>>2]&127](g,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Ra[f[(f[g>>2]|0)+24>>2]&127](g)|0))}d=d+1|0;c=f[i>>2]|0;if(d>>>0>=(((f[h>>2]|0)-c|0)/116|0)>>>0)break a}k=(f[i>>2]|0)+(d*116|0)+76|0;return k|0}while(0);k=a+196|0;return k|0}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{f[h>>2]=b+-116;c=f[b+-12>>2]|0;if(c|0){e=b+-8|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[b+-28>>2]|0;if(c|0){e=b+-24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[b+-40>>2]|0;if(c|0){e=b+-36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}Uf(b+-112|0);b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Em(b);return}function We(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-116;d=f[c+-12>>2]|0;if(d|0){g=c+-8|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}d=f[c+-28>>2]|0;if(d|0){g=c+-24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}d=f[c+-40>>2]|0;if(d|0){g=c+-36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}Uf(c+-112|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Em(b);return}function Xe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;d=g;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Ra[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=g;return e|0}f[d>>2]=924;f[d+4>>2]=-1;c=d+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;Gh(d,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));e=Xg(d,f[a+16>>2]|0)|0;f[d>>2]=924;a=f[c>>2]|0;if(a|0){c=d+12|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Em(a)}u=g;return e|0}function Ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+140|0;b=f[h>>2]|0;if((b|0)<=0){a=1;return a|0}d=b<<4;d=Bm(b>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<4)|0;b=d;do{$l(b);b=b+16|0}while((b|0)!=(c|0));g=a+136|0;e=f[g>>2]|0;f[g>>2]=d;if(e|0){c=e+-4|0;b=f[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(e|0))}Cm(c)}if((f[h>>2]|0)<=0){a=1;return a|0}b=0;while(1){if(!(dd((f[g>>2]|0)+(b<<4)|0,a)|0)){b=0;c=13;break}b=b+1|0;if((b|0)>=(f[h>>2]|0)){b=1;c=13;break}}if((c|0)==13)return b|0;return 0}function Ze(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Xi()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[894];xj(15705,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Ma[f[(f[194]|0)+16>>2]&31](776,d,e)|0;b=f[894]|0;if(d){i=f[e>>2]|0;i=Ra[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;xj(15619,g)}else{f[i>>2]=b;f[i+4>>2]=a;xj(15664,i)}}xj(15743,h)}function _e(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+4>>2]=2384;b=f[a+24>>2]|0;if(b|0)Em(b);b=f[a+12>>2]|0;if(!b)return;Em(b);return}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){ql(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=(f[j>>2]|0)-c|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;e=d-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}else{i=_i(h<<2)|0;break}else i=0;while(0);g=i+(e<<2)|0;f[g>>2]=f[b>>2];e=d-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Ld(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+4;f[j>>2]=i+(h<<2);if(!c)return;Em(c);return}function af(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=gj(e,g+1|0,15616,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;Sf(c,g,0);e=b[h>>0]|0}Sf(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function bf(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(Am()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=qm()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=qm()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function cf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2428;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Ci(b);d=a+388|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[a+408>>2]=-1;f[a+412>>2]=-1;f[a+416>>2]=2;f[a+420>>2]=7;d=a+424|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;return}function df(a){a=a|0;var b=0,c=0,d=0,e=0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;a=f[e+28>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;df(d+20|0);pk(d+8|0);Em(d)}while((a|0)!=0);d=e+20|0;a=f[d>>2]|0;f[d>>2]=0;if(a|0)Em(a);a=f[e+8>>2]|0;if(a|0)do{d=a;a=f[a>>2]|0;b=f[d+20>>2]|0;if(b|0){c=d+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}pk(d+8|0);Em(d)}while((a|0)!=0);a=f[e>>2]|0;f[e>>2]=0;if(a|0)Em(a);Em(e);return}function ef(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=u;u=u+80|0;i=j;g=j+56|0;e=j+40|0;d=i;c=d+40|0;do{f[d>>2]=f[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(c|0));Bb(e,i,g);b=f[e>>2]|0;if(!b){pk(e+4|0);g=h[g+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=g;i=i+24|0;Jm(i);u=j;return}else{f[a>>2]=b;g=e+4|0;th(a+4|0,g);pk(g);i=i+24|0;Jm(i);u=j;return}}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;Td(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;Td(a+12|0,j,d);_c(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,2648);gg(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);gg(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=a+8|0;b=f[j>>2]|0;if((b|0)<0){j=0;return j|0}i=a+4|0;a=f[i>>2]|0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+(b<<2)|0,(d|0)!=(h|0)):0)f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2)}else{Oe(a,b-g|0);b=f[j>>2]|0}if((b|0)>0)d=0;else{j=1;return j|0}do{a=f[i>>2]|0;c=f[a>>2]|0;if((f[a+4>>2]|0)-c>>2>>>0<=d>>>0){pl(a);c=f[a>>2]|0;b=f[j>>2]|0}f[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(b|0));b=1;return b|0}function hf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+32|0;e=h+12|0;g=h;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,b,kg(b)|0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;dg(g,c,kg(c)|0);b=f[a+4>>2]|0;if((b|0)!=0?(d=od(b,e,g)|0,(d|0)!=0):0)b=lh(a,f[d+40>>2]|0)|0;else b=-1;pk(g);pk(e);u=h;return b|0}function jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;if((d|0)!=1){f[a>>2]=0;u=j;return}g=f[b+12>>2]|0;d=f[b+4>>2]|0;b=h;e=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(e|0));Od(i,c,g,d,h);e=f[h+24>>2]|0;if(e|0){b=h+28|0;d=f[b>>2]|0;if((d|0)!=(e|0))f[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);Em(e)}f[a>>2]=f[i>>2];u=j;return}function kf(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+28>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;e=c+20|0;d=f[e>>2]|0;f[e>>2]=0;if(d|0){kf(d);Em(d)}pk(c+8|0);Em(c)}while((b|0)!=0);e=a+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Em(b);b=f[a+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}pk(e+8|0);Em(e)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Em(b);return}function lf(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Em(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}Em(d);return}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+32|0;d=g+12|0;e=g;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,b,kg(b)|0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,12676,4);b=f[a+4>>2]|0;if((b|0)!=0?(c=od(b,e,d)|0,(c|0)!=0):0)b=lh(a,f[c+40>>2]|0)|0;else b=-1;pk(e);pk(d);u=g;return b|0}function nf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=lk(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do if(e<<24>>24<0)if(nf(a,c)|0){d=a;d=uj(f[d>>2]|0,f[d+4>>2]|0,7)|0;i=I;h=a;f[h>>2]=d;f[h+4>>2]=i;d=d|e&127;e=i;break}else{i=0;return i|0}else{d=e&255;e=0}while(0);i=a;f[i>>2]=d;f[i+4>>2]=e;i=1;return i|0}function of(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=3064;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=qm()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=de(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function pf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;tk(e,c,d)|0;b[j>>0]=0;vl(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;Qe(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function qf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;if(!d){a=0;return a|0}e=f[c>>2]|0;if(!e){a=0;return a|0}g=f[e>>2]|0;Ef(d,g,(f[e+4>>2]|0)-g|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;e=c+40|0;d=f[e+4>>2]|0;g=a+40|0;f[g>>2]=f[e>>2];f[g+4>>2]=d;g=c+48|0;d=f[g+4>>2]|0;e=a+48|0;f[e>>2]=f[g>>2];f[e+4>>2]=d;f[a+56>>2]=f[c+56>>2];c=c+8|0;a=a+8|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];a=1;return a|0}function rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){Cf(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;sj(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;vl(e+i|0,k)}u=l;return a|0}function sf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2204;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Em(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b);Em(a);return}function tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=gi(a,Va[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=ph(f[c>>2]|0,a)|0;d=d+1|0;if(!(Va[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function uf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(dl(a,f[c+8>>2]|0,g)|0)){if(dl(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else Di(0,c,d,e);while(0);return}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=Yb(a,b)|0;if(!b){c=0;return c|0}e=b+20|0;d=f[e>>2]|0;a=b+24|0;b=f[a>>2]|0;if((d|0)==(b|0)){c=0;return c|0}Sf(c,b-d|0,0);d=Ah(c,0)|0;c=f[e>>2]|0;Ld(d|0,c|0,(f[a>>2]|0)-c|0)|0;c=1;return c|0}function xf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(!a){d=1;return d|0}j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>h>>>0:0))){k=0;return k|0}k=b[(f[d>>2]|0)+h>>0]|0;h=lk(h|0,g|0,1,0)|0;j=i;f[j>>2]=h;f[j+4>>2]=I;switch(k<<24>>24){case 0:{k=Hb(a,c,d,e)|0;return k|0}case 1:{k=fc(a,d,e)|0;return k|0}default:{k=0;return k|0}}return 0}function yf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function zf(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2204;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Em(b);return}function Af(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1008;c=a+16|0;d=f[c>>2]|0;f[c>>2]=0;if(!d)return;c=d+88|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a)}a=f[d+68>>2]|0;if(a|0){c=d+72|0;b=f[c>>2]|0;if((b|0)!=(a|0))f[c>>2]=b+(~((b+-4-a|0)>>>2)<<2);Em(a)}c=d+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a)}Em(d);return}function Bf(a,b){a=a|0;b=b|0;if(!b)return;else{Bf(a,f[b>>2]|0);Bf(a,f[b+4>>2]|0);Mf(b+20|0,f[b+24>>2]|0);Em(b);return}}function Cf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)ml(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=_i(k)|0;if(g|0)xk(j,l,g)|0;d=e-h-g|0;if(d|0)xk(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)Em(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function Df(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;rh(e,d&1);a=Se(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}qe(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;pk(e);u=g;return}function Ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){Pe(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else qd(a,b,b+c|0);while(0);a=a+24|0;h=a;h=lk(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;Bd(g,c);e=a+4|0;i=f[g>>2]|0;f[g>>2]=0;d=f[e>>2]|0;f[e>>2]=i;if(d){Lf(d);Em(d);d=f[g>>2]|0;f[g>>2]=0;if(d|0){Lf(d);Em(d)}}else f[g>>2]=0;if(!(f[e>>2]|0)){i=0;u=h;return i|0}i=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[g>>0]=0;Td(a+56|0,i,g);i=1;u=h;return i|0}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=_i(32)|0,hj(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}e=Yh(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Zi(e|0,d|0,c|0,0)|0;if(!(Ef(i,0,g,I)|0)){i=0;return i|0}Lg(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function Hf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+20|0;j=h+16|0;g=h;e=b[a+24>>0]|0;f[g>>2]=f[669];f[g+4>>2]=f[670];f[g+8>>2]=f[671];f[g+12>>2]=f[672];f[j>>2]=c;f[i>>2]=f[j>>2];if(!(ab(a,i,e,g)|0)){j=0;u=h;return j|0}Uc(d,g,g+(e<<24>>24<<2)|0);j=1;u=h;return j|0}function If(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=e>>>0>1073741823?-1:e<<2;h=Bm(g)|0;vf(h|0,0,g|0)|0;g=a+8|0;Fe(g,h,b,c);if((e|0)>=(d|0)){Cm(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;Fe(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Cm(h);return 1}function Jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(dl(a,b,0)|0))if((b|0)!=0?(e=fe(b,800,784,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Wa[f[(f[e>>2]|0)+28>>2]&7](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function Kf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+32|0;g=h+8|0;e=h;if((d|0)==3){i=f[b+12>>2]|0;d=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;ae(e,c,i,d,g);f[a>>2]=f[e>>2];u=h;return}else{f[a>>2]=0;u=h;return}}function Lf(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function Mf(a,b){a=a|0;b=b|0;if(!b)return;else{Mf(a,f[b>>2]|0);Mf(a,f[b+4>>2]|0);pk(b+28|0);pk(b+16|0);Em(b);return}}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;a=Yb(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=4){d=0;return d|0}a=c;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;d=1;return d|0}function Of(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function Pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=c+8|0;i=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){i=0;return i|0}h=b[(f[c>>2]|0)+e>>0]|0;i=lk(e|0,d|0,1,0)|0;d=g;f[d>>2]=i;f[d+4>>2]=I;d=h&255;do if(d&128)if(Pf(a,c)|0){d=f[a>>2]<<7;f[a>>2]=d;d=d|h&127;break}else{i=0;return i|0}while(0);f[a>>2]=d;i=1;return i|0}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+4>>2]|0;if(!d){e=0;return e|0}if((c|0)<=-1)Fa(12505,12521,59,12612);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Fa(12622,12521,60,12612);e=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;a=f[d+40>>2]|0;b=f[d+44>>2]|0;if((a|0)==(b|0)){e=0;return e|0}else c=a;while(1){a=f[c>>2]|0;c=c+4|0;if((f[a+40>>2]|0)==(e|0)){c=9;break}if((c|0)==(b|0)){a=0;c=9;break}}if((c|0)==9)return a|0;return 0}function Rf(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}Em(a);return}function Sf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;vl(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;vl(a+c|0,h);b[g>>0]=c;break}else rf(a,c-e|0,d)|0;while(0);u=j;return}function Tf(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){ql(a);c=Ha(4)|0;gm(c);sa(c|0,840,80)}d=_i(b*12|0)|0;f[c>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(b*12|0);a=d;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=(f[c>>2]|0)+12|0;f[c>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Uf(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0)Em(b);b=f[a>>2]|0;if(!b)return;Em(b);return}function Vf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Em(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b);Em(a);return}function Wf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+32|0;g=e+12|0;h=e;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;dg(h,d,kg(d)|0);wf(c,h,g)|0;a=(b[g+11>>0]|0)<0?f[g>>2]|0:g;pk(h);pk(g);u=e;return a|0}function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){ql(a);h=Ha(4)|0;gm(h);sa(h|0,840,80)}g=_i(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Ld(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Yf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(Ch(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Ma[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Zf(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2580;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Em(b);return}function _f(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(Km(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Yf(c,a)|0;Jm(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Yf(c,a)|0}while(0);return d|0}function $f(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1596;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c){Em(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);Em(a);return}function ag(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1344;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c){Em(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);Em(a);return}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+32|0;e=d+12|0;g=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;dg(g,c,kg(c)|0);a=wf(b,g,e)|0;pk(g);pk(e);u=d;return a|0}function cg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){ql(a);e=Ha(4)|0;gm(e);sa(e|0,840,80)}g=_i(b<<2)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<2)|0;f[a+8>>2]=e;a=g;while(1){f[a>>2]=f[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}f[d>>2]=e;return}function dg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h;if(d>>>0<=4294967279)if(d>>>0<11)b[a+11>>0]=d;else g=5;else{ml(a);g=5}if((g|0)==5){i=d+16&-16;g=_i(i)|0;f[a>>2]=g;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;a=g}xk(a,c,d)|0;b[e>>0]=0;vl(a+d|0,e);u=h;return}function eg(a){a=a|0;var b=0,c=0;f[a>>2]=1596;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function fg(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Wl(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}j=(f[d>>2]|0)-c|0;h=j>>2;i=_i(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Ld(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;Em(c);return}function hg(a){a=a|0;var b=0,c=0;f[a>>2]=1344;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function ig(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2264;b=a+96|0;c=a+4|0;d=c+92|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+100>>2]=-1;f[a+104>>2]=-1;b=a+164|0;c=a+108|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+240|0;c=a+168|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));Ci(b);return}function jg(a,c,d){a=a|0;c=c|0;d=d|0;c=Kd(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=fg(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function kg(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;e=c;d=c+4|0;f[e>>2]=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,10730,24);Df(Kb(a,e)|0,d,1);pk(d);u=c;return}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ma[f[(f[g>>2]|0)+20>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function ng(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2312;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2336;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Dd(a+40|0,b);a=1;return a|0}return 0}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Ma[f[(f[g>>2]|0)+16>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function qg(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=zj(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+qg(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function rg(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}if(!(f[a+36>>2]|0)){a=0;return a|0}a=(f[a+72>>2]|0)!=-1;return a|0}function sg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2404;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2384;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0;a=u;u=u+32|0;g=a;e=a+8|0;p[g>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);pe(b,e,g)|0;d=+p[g>>3];pk(e);u=a;return +d}function ug(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[13376+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=13464;e=5;break}}if((e|0)==2)if(!d)d=13464;else{a=13464;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return _l(d,f[c+20>>2]|0)|0}function vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2312;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2336;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b)return;Em(b);return}function wg(a){a=a|0;if(!(f[a+64>>2]|0)){a=0;return a|0}if(!(f[a+68>>2]|0)){a=0;return a|0}if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}if(!(f[a+56>>2]|0)){a=0;return a|0}a=(f[a+92>>2]|0)!=-1;return a|0}function xg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);Nf(b,e,a)|0;a=f[a>>2]|0;pk(e);u=d;return a|0}function yg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2404;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2384;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b)return;Em(b);return}function zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=_i(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=ge(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;Lf(a);Em(a);return}function Ag(a){a=a|0;if(!a)return;pk(a+28|0);Bf(a+12|0,f[a+16>>2]|0);Mf(a,f[a+4>>2]|0);Em(a);return}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;switch(c<<24>>24){case 0:{c=_i(20)|0;Mj(c);break}case 1:{c=_i(24)|0;kk(c);break}case 2:{c=_i(36)|0;dj(c);break}case 3:{c=_i(28)|0;ek(c);break}default:c=0}f[a>>2]=c;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,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Dj(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return Dj((Wb(h,g,Dj(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function Dg(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Qg(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function Eg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;a=d;e=d+8|0;p[a>>3]=0.0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);a=pe(b,e,a)|0;pk(e);u=d;return a|0}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Qi(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=il(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function Gg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2632;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+84>>2]|0;if(!b){zd(a);Em(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);zd(a);Em(a);return}function Hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a>>2]|0;if((d|0)<0){c=-1073741824;return c|0}if((f[(f[b>>2]|0)+(d<<2)>>2]|0)==-1073741824){c=-1073741824;return c|0}b=(d>>>0)/3|0;a=f[c+96>>2]|0;if((b|0)>=(((f[c+100>>2]|0)-a|0)/12|0|0))Fa(12788,12706,64,12783);c=f[a+(b*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;return c|0}function Ig(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;a=d+12|0;e=d;f[a>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;dg(e,c,kg(c)|0);a=Nf(b,e,a)|0;pk(e);u=d;return a|0}function Jg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Ab(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){li(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function Lg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function Mg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)Fa(12681,12706,63,12783);d=f[a+96>>2]|0;if((((f[a+100>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;Vc(c,a,a+12|0);return 1}else Fa(12788,12706,64,12783);return 0}function Ng(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2632;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+84>>2]|0;if(!b){zd(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);zd(a);return}function Og(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){ql(a);a=Ha(4)|0;gm(a);sa(a|0,840,80)}d=b<<2;e=_i(d)|0;f[a>>2]=e;b=e+(b<<2)|0;f[a+8>>2]=b;vf(e|0,0,d|0)|0;f[c>>2]=b;return}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;if(!(jj(a,b,c)|0)){c=0;return c|0}b=f[b+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,67,12612);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))Fa(12622,12521,68,12612);c=(f[(f[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else Pe(a,b-g|0);a=a+24|0;h=a;h=lk(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Rg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1652;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=u;u=u+16|0;d=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;dg(d,10682,26);f[a>>2]=-1;th(a+4|0,d);pk(d);u=b;return}function Tg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0;e=h[a+12>>0]|0;g=a+8|0;b=f[g>>2]|0;if(b>>>0<4096?(d=a+4|0,c=f[d>>2]|0,(c|0)>0):0){i=f[a>>2]|0;a=c+-1|0;f[d>>2]=a;b=h[i+a>>0]|0|b<<8;f[g>>2]=b}d=b&255;a=0-e&255;e=X(b>>>8,a)|0;i=d>>>0>>0;f[g>>2]=i?e+d|0:b-a-e|0;return i|0}function Ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;Sg(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;_h(a+28|0,b)|0;pk(b);u=d;return c|0}function Vg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;if(c?!(nf(d,a)|0):0){a=0;return a|0}b[a+36>>0]=1;d=a+16|0;e=f[d>>2]|0;c=(f[a>>2]|0)+e|0;g=a+8|0;d=Dj(f[g>>2]|0,f[g+4>>2]|0,e|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=c;f[a+28>>2]=c+d;a=1;return a|0}function Wg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1400;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Xg(a,b){a=a|0;b=b|0;var c=0,d=0;d=_i(40)|0;f[d>>2]=-1;hj(d+8|0);Pa[f[(f[a>>2]|0)+16>>2]&7](a,d);c=b+88|0;b=f[c>>2]|0;f[c>>2]=d;if(!b)return 1;a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b);return 1}function Yg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=952;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+4>>2]|0;if(!b){Em(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Zg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;fd(e,a,b,c);c=a+24|0;f[c>>2]=f[e>>2];b=e+4|0;_h(a+28|0,b)|0;pk(b);u=d;return c|0}function _g(a){a=a|0;var b=0,c=0,d=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=f[b>>2]|0;b=b+4|0;if(!(Va[f[(f[d>>2]|0)+16>>2]&127](d,f[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 $g(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(dl(a,f[b+8>>2]|0,g)|0)yf(0,b,c,d,e);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function ah(a){a=a|0;var b=0,c=0;f[a>>2]=1652;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function bh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1708;Jm(a+108|0);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function ch(a){a=a|0;var b=0,c=0;f[a>>2]=2076;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Cm(b);f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);Em(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);Em(a);return}function dh(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=b*3|0;if((b|0)>715827882){a=0;return a|0}_c(a,c,2620);_c(a+12|0,c,2616);gg(a+24|0,c);a=1;return a|0}function eh(a,b){a=a|0;b=b|0;if(!(Ee(a+8|0,b)|0)){a=0;return a|0}a=dd(a+88|0,b)|0;return a|0}function fh(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;Sf(a,c,0);return}function gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;e=a;if((c|0)==(a|0)){b=0;return b|0}d=c-a>>2;c=0;while(1){a=f[e+(c<<2)>>2]|0;if((f[a+60>>2]|0)==(b|0)){c=5;break}c=c+1|0;if(c>>>0>=d>>>0){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function hh(a){a=a|0;var b=0,c=0;f[a>>2]=1400;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function ih(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1456;Jm(a+108|0);f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function jh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=952;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;vf(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Qk(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Qk(a,f,e)}u=g;return}function lh(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;d=a;if((c|0)==(a|0)){b=-1;return b|0}c=c-a>>2;a=0;while(1){if((f[(f[d+(a<<2)>>2]|0)+60>>2]|0)==(b|0)){c=5;break}a=a+1|0;if(a>>>0>=c>>>0){a=-1;c=5;break}}if((c|0)==5)return a|0;return 0}function mh(a){a=a|0;var b=0,c=0;f[a>>2]=2076;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Cm(b);f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);return}function nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)Fa(12505,12521,67,12612);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else Fa(12622,12521,68,12612);return 0}function oh(a){a=a|0;var b=0,c=0;f[a>>2]=1708;Jm(a+108|0);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function ph(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Va[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function qh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(dl(a,f[b+8>>2]|0,0)|0)Jg(0,b,c,d);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+28>>2]&7](a,b,c,d)}return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;fh(d);af(a,d,b);pk(d);u=c;return}function sh(a){a=a|0;var b=0,c=0;f[a>>2]=1456;Jm(a+108|0);f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function th(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0)dg(a,f[c>>2]|0,f[c+4>>2]|0);else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}return}function uh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((wk(Ca(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function vh(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function wh(a,b){a=a|0;b=b|0;var c=0;Ki(a);f[a>>2]=1056;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function xh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function yh(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Gf(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){a=0;return a|0}a=Ma[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return a|0}function zh(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=Vd(f[(f[a+36>>2]|0)+(c<<2)>>2]|0)|0;return a|0}function Ah(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;e=a+11|0;d=b[e>>0]|0;if(d<<24>>24<0)g=f[a+4>>2]|0;else g=d&255;if(g>>>0<=c>>>0){ll(a);d=b[e>>0]|0}if(d<<24>>24<0)a=f[a>>2]|0;return a+c|0}function Bh(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Ch(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function Dh(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function Eh(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function Fh(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){xb(a,b,c);return}else{Cb(a,0,0);return}}function Gh(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Uc(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Hh(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;va(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;va(12);return -1}return b|0}function Ih(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function Jh(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function Kh(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Lh(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Mh(a,b){a=a|0;b=b|0;if(!(Va[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Ra[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function Nh(a,c,d){a=a|0;c=c|0;d=d|0;if(!(jj(a,c,d)|0)){a=0;return a|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){a=0;return a|0}a=(f[d+28>>2]|0)==9;return a|0}function Oh(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Ph(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(dl(a,f[b+8>>2]|0,g)|0)yf(0,b,c,d,e);return}function Qh(a){a=a|0;var b=0,c=0;f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);Em(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);Em(a);return}function Rh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1176;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Sh(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Th(a,b,c){a=a|0;b=b|0;c=c|0;return Gb(a,b,c)|0}function Uh(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Td(a+20|0,e,d);u=c;return}function Vh(a,c){a=a|0;c=c|0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;c=1}else c=0;return c|0}function Wh(){var a=0,b=0;a=_i(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Xh(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Td(a+20|0,e,d);u=c;return}function Yh(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 Zh(a){a=a|0;f[a>>2]=2360;_e(a+8|0);Em(a);return}function _h(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;pf(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function $h(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+32|0;d=c;ef(d,b);a=f[d+16>>2]|0;pk(d+4|0);u=c;return a|0}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function bi(a){a=a|0;var c=0,d=0;b[a+36>>0]=0;d=lk(f[a+32>>2]|0,0,7,0)|0;d=zj(d|0,I|0,3)|0;a=a+16|0;c=a;c=lk(d|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;f[a>>2]=c;f[a+4>>2]=I;return}function ci(a){a=a|0;var b=0,c=0;f[a>>2]=1116;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Af(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Af(a);return}function di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(4559,4565,76,4712);return 0}function ei(a){a=a|0;f[a>>2]=2360;_e(a+8|0);return}function fi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Zb(a,b,c,d,e);return}function gi(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function hi(a){a=a|0;var b=0,c=0;f[a>>2]=1176;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function ii(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(dl(a,f[b+8>>2]|0,0)|0)Jg(0,b,c,d);return}function ji(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function ki(a){a=a|0;var b=0;f[a>>2]=2580;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function li(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Ld(a,c,d)|0;return a|0}function mi(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function ni(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=924;b=f[a+8>>2]|0;if(!b){Em(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function oi(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)Fa(12505,12521,59,12612);c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)>(b|0))return f[c+(b<<2)>>2]|0;else Fa(12622,12521,60,12612);return 0}function pi(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function qi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[13358+(a&15)>>0]|0|e;a=zj(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Ma[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function si(){var a=0,b=0;b=Xi()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)Ak(f[a+12>>2]|0);Ak(Ml()|0)}function ti(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function ui(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}Em(a);return}function vi(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function wi(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function xi(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function yi(a,b){a=a|0;b=b|0;return Va[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0}function zi(a){a=a|0;var b=0,c=0;f[a>>2]=924;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function Ai(a,b){a=a|0;b=b|0;return Ee(a+8|0,b)|0}function Bi(a,b,c){a=a|0;b=b|0;c=c|0;pb(a,b,c);return}function Ci(a){a=a|0;xi(a);xi(a+40|0);$l(a+80|0);xi(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Di(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function Ei(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(9437,5019,61,9448);return 0}function Fi(a){a=a|0;var b=0;f[a>>2]=2336;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function Gi(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=zj(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Hi(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(9437,9038,65,9448);return 0}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Ld(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Ji(){var a=0,b=0;a=_i(24)|0;f[a>>2]=924;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Ki(a){a=a|0;f[a>>2]=952;a=a+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Li(a){a=a|0;var c=0;Kh(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Mi(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a);return}function Ni(a){a=a|0;var b=0;f[a>>2]=2384;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function Oi(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Pi(a,b,c){a=a|0;b=$(b);c=c|0;var d=Ka;if((c|0)<1){a=0;return a|0}d=$($(1.0)/$(c|0));n[a+4>>2]=d;n[a>>2]=b;a=1;return a|0}function Qi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Wb(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Ri(a){a=a|0;f[a>>2]=1908;Jm(a+88|0);Em(a);return}function Si(a){a=a|0;var b=0;f[a>>2]=2336;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b)return;Em(b);return}function Ti(a){a=a|0;jl(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Ui(a){a=a|0;Fj(a);f[a>>2]=2632;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Vi(a){a=a|0;f[a>>2]=1992;Jm(a+88|0);Em(a);return}function Wi(a){a=a|0;f[a>>2]=1908;Jm(a+88|0);return}function Xi(){var a=0,b=0;a=u;u=u+16|0;if(!(za(16744,3)|0)){b=qa(f[4187]|0)|0;u=a;return b|0}else xj(15894,a);return 0}function Yi(a){a=a|0;var b=0;f[a>>2]=2384;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b)return;Em(b);return}function Zi(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=ai(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function _i(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Za(b)|0;if(a|0)break;a=Il()|0;if(!a){a=0;break}Ta[a&3]()}return a|0}function $i(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Hm(f[a+60>>2]|0)|0;f[c>>2]=a;a=wk(ua(6,c|0)|0)|0;u=b;return a|0}function aj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kc(b,c,d)|0}function bj(a){a=a|0;var b=0;b=u;u=u+16|0;rb(a);if(!(ra(f[4187]|0,0)|0)){u=b;return}else xj(15993,b)}function cj(a){a=a|0;f[a>>2]=1992;Jm(a+88|0);return}function dj(a){a=a|0;kk(a);f[a>>2]=2076;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function ej(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wc(b,c,d)|0}function fj(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function gj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=of(a,b,c,g)|0;u=e;return d|0}function hj(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function jj(a,b,c){a=a|0;b=b|0;c=c|0;return nh(a,b,c)|0}function kj(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 Qa[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function lj(a,b,c){a=a|0;b=b|0;c=c|0;return gi(b,c)|0}function mj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return hf(b,c,d)|0}function nj(){var a=0;a=u;u=u+16|0;if(!(ta(16748,82)|0)){u=a;return}else xj(15943,a)}function oj(a){a=a|0;oc(a);Em(a);return}function pj(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;Ua[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function qj(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Ra[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function rj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hf(b,c,d)|0}function sj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)vf(a|0,(bm(c)|0)&255|0,b|0)|0;return a|0}function tj(a){a=a|0;return 4}function uj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Va[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function wj(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Va[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function xj(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[673]|0;de(b,a,c)|0;_f(10,b)|0;wa()}function yj(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Va[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;return Ug(a,b,c)|0}function Bj(a){a=a|0;gc(a);Em(a);return}function Cj(){}function Dj(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 (I=d,a-c>>>0|0)|0}function Ej(a){a=a|0;return 5}function Fj(a){a=a|0;var b=0;f[a>>2]=2660;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Gj(a){a=a|0;return 6}function Hj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Mg(b,c,d)|0}function Ij(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Jj(a,b){a=a|0;b=b|0;if(!b)b=0;else b=re(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Kj(a,b,c){a=a|0;b=b|0;c=c|0;return lj(a,b,c)|0}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;return jd(b,c)|0}function Mj(a){a=a|0;f[a>>2]=1008;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Nj(a,b){a=a|0;b=b|0;lg(a,b);return}function Oj(a){a=a|0;if(!a)return;pk(a+4|0);Em(a);return}function Pj(a){a=a|0;a=a+4|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function Qj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Na[a&3](b|0,c|0,d|0,e|0,f|0)}function Rj(a,b,c){a=a|0;b=b|0;c=c|0;return Zg(a,b,c)|0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;return bg(a,b,c)|0}function Tj(a,b,c){a=a|0;b=b|0;c=c|0;return Eg(a,b,c)|0}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;return Wf(a,b,c)|0}function Vj(a,b,c){a=a|0;b=b|0;c=c|0;return +(+tg(a,b,c))}function Wj(a){a=a|0;a=f[a+48>>2]|0;return Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Xj(a,b){a=a|0;b=b|0;return Va[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Yj(a,b){a=a|0;b=b|0;return Va[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function Zj(a){a=a|0;a=f[a+48>>2]|0;return Ra[f[(f[a>>2]|0)+24>>2]&127](a)|0}function _j(a,b,c){a=a|0;b=b|0;c=c|0;return Qf(a,b,c)|0}function $j(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function ak(a,b,c){a=a|0;b=b|0;c=c|0;return rk(b,c)|0}function bk(a){a=a|0;a=f[a+48>>2]|0;return Ra[f[(f[a>>2]|0)+36>>2]&127](a)|0}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return Ig(a,b,c)|0}function dk(a,b,c){a=a|0;b=b|0;c=c|0;return xg(a,b,c)|0}function ek(a){a=a|0;kk(a);f[a>>2]=1792;f[a+24>>2]=-1;return}function fk(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function gk(a,b,c){a=a|0;b=b|0;c=c|0;return mf(b,c)|0}function hk(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function ik(){var a=0;a=_i(40)|0;f[a>>2]=-1;hj(a+8|0);return a|0}function jk(){var a=0;a=_i(8)|0;f[a>>2]=896;f[a+4>>2]=-1;return a|0}function kk(a){a=a|0;Mj(a);f[a>>2]=1116;f[a+20>>2]=0;return}function lk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function mk(a,b){a=a|0;b=b|0;Nj(a,b);return}function nk(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function ok(a,b){a=a|0;b=b|0;return $h(a,b)|0}function pk(a){a=a|0;if((b[a+11>>0]|0)<0)Em(f[a>>2]|0);return}function qk(a){a=a|0;if(!a)return;Oa[f[(f[a>>2]|0)+4>>2]&127](a);return}function rk(a,b){a=a|0;b=b|0;return gh(a,b)|0}function sk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Wa[a&7](b|0,c|0,d|0,e|0)}function tk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)li(a|0,b|0,c|0)|0;return a|0}function uk(a){a=a|0;var b=0;b=a+60|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function vk(a,b,c){a=a|0;b=b|0;c=c|0;return oi(b,c)|0}function wk(a){a=a|0;var b=0;if(a>>>0>4294963200){b=qm()|0;f[b>>2]=0-a;a=-1}return a|0}function xk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Ld(a|0,b|0,c|0)|0;return a|0}function yk(a,b){a=a|0;b=b|0;return -1}function zk(a){a=a|0;return 3}function Ak(a){a=a|0;var b=0;b=u;u=u+16|0;Ta[a&3]();xj(16046,b)}function Bk(a){a=a|0;if(!a)a=0;else a=(fe(a,800,872,0)|0)!=0;return a&1|0}function Ck(a){a=a|0;ye(a);Em(a);return}function Dk(a){a=a|0;Lk(a);f[a>>2]=2204;f[a+48>>2]=0;return}function Ek(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ma[a&31](b|0,c|0,d|0)|0}function Fk(a,b,c){a=a|0;b=b|0;c=c|0;fj(a,b,c);return}function Gk(a){a=a|0;if(!a)return;Jm(a+24|0);Em(a);return}function Hk(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Ik(){var a=0;a=_i(64)|0;Kh(a);return a|0}function Jk(a,b){a=a|0;b=b|0;return $(Pk(a,b))}function Kk(a){a=a|0;return f[a+8>>2]|0}function Lk(a){a=a|0;ki(a);f[a>>2]=2144;f[a+44>>2]=0;return}function Mk(a){a=a|0;if(!a)return;kf(a);Em(a);return}function Nk(a,b){a=a|0;b=b|0;return xl(a,b)|0}function Ok(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Pk(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Re(b,c,a)|0;return}function Rk(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&7](b|0,c|0,d|0)}function Tk(){var a=0;a=_i(96)|0;Li(a);return a|0}function Uk(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Vk(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Wk(a,b){a=a|0;b=b|0;if(!a)a=0;else a=bf(a,b,0)|0;return a|0}function Xk(a){a=a|0;var b=0;b=(Am()|0)+188|0;return ug(a,f[b>>2]|0)|0}function Yk(){var a=0;a=_i(12)|0;nl(a);return a|0}function Zk(){var a=0;a=_i(40)|0;xi(a);return a|0}function _k(a,b){a=a|0;b=b|0;return 1}function $k(a,b){a=a|0;b=b|0;return gl(a,b)|0}function al(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(4);return 0}function bl(a){a=a|0;Af(a);Em(a);return}function cl(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function dl(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function el(a,b){a=a|0;b=b|0;var c=0;c=sl(a|0)|0;return ((b|0)==0?a:c)|0}function fl(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function gl(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function hl(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wb(a,b,c,d,0)|0}function jl(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function kl(){var a=0;a=_i(84)|0;Fj(a);return a|0}function ll(a){a=a|0;Fa(15566,15444,1194,15595)}function ml(a){a=a|0;Fa(15415,15444,1183,15545)}function nl(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function ol(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function pl(a){a=a|0;Fa(15392,15291,315,15595)}function ql(a){a=a|0;Fa(15268,15291,304,15545)}function rl(a,b,c){a=a|0;b=b|0;c=c|0;return Va[a&127](b|0,c|0)|0}function sl(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function tl(a){a=a|0;Lk(a);f[a>>2]=2496;return}function ul(){var a=0;a=_i(1)|0;Jm(a);return a|0}function vl(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function wl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(8)}function xl(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function yl(a){a=a|0;return $(n[a+20>>2])} -function Xa(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;pa=u;u=u+48|0;fa=pa+40|0;ma=pa+28|0;na=pa+8|0;Q=pa+4|0;ha=pa;f[ma>>2]=0;oa=ma+4|0;f[oa>>2]=0;f[ma+8>>2]=0;f[na>>2]=0;f[na+4>>2]=0;f[na+8>>2]=0;f[na+12>>2]=0;n[na+16>>2]=$(1.0);ga=a+132|0;ba=f[a+136>>2]|0;a:do if((c|0)>0){aa=a+240|0;G=a+412|0;R=a+408|0;F=a+8|0;E=ma+8|0;_=a+36|0;C=a+40|0;Z=c+-1|0;A=a+436|0;B=a+424|0;D=na+4|0;z=a+396|0;x=0;w=0;while(1){d=x+1|0;e=f[G>>2]|0;b:do if((e|0)==-1){f[R>>2]=7;ca=160}else{t=(f[A>>2]|0)+(e<<2)|0;v=f[t>>2]|0;e=v+-1|0;f[t>>2]=e;if((v|0)<1){g=-1;break a}g=f[(f[(f[B>>2]|0)+((f[G>>2]|0)*12|0)>>2]|0)+(e<<2)>>2]|0;e=f[2468+(g<<2)>>2]|0;f[R>>2]=e;if(!g){e=f[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){g=-1;break a}s=f[e+-4>>2]|0;r=(s|0)<0;c:do if(!r){e=s+(((s>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)ca=10;else{i=f[F>>2]|0;h=f[i+12>>2]|0;while(1){g=f[h+(e<<2)>>2]|0;if((g|0)<=-1){o=0;break c}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){o=1;break}}}}else{e=s;ca=10}while(0);if((ca|0)==10){ca=0;i=f[F>>2]|0;h=f[i+12>>2]|0;o=1}v=x*3|0;p=v+1|0;f[h+(s<<2)>>2]=p;f[h+(p<<2)>>2]=s;t=v+2|0;f[h+(e<<2)>>2]=t;f[h+(t<<2)>>2]=e;g=s+1|0;if(!r?(X=((g|0)%3|0|0)==0?s+-2|0:g,(X|0)>=0):0){q=f[i>>2]|0;m=f[q+(X<<2)>>2]|0;f[q+(v<<2)>>2]=m;if((m|0)>-1){l=i+24|0;i=i+28|0;h=f[i>>2]|0;g=f[l>>2]|0;k=h-g>>2;do if(k>>>0<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){Oe(l,j-k|0);g=f[l>>2]|0;break}if(j>>>0>>0?(H=g+(j<<2)|0,(h|0)!=(H|0)):0)f[i>>2]=h+(~((h+-4-H|0)>>>2)<<2)}while(0);f[g+(m<<2)>>2]=v;i=f[F>>2]|0;q=m}else q=m}else{f[(f[i>>2]|0)+(v<<2)>>2]=-1073741824;q=-1073741824}g=e+1|0;if(!o?(W=((g|0)%3|0|0)==0?e+-2|0:g,(W|0)>=0):0){o=f[i>>2]|0;l=f[o+(W<<2)>>2]|0;f[o+(p<<2)>>2]=l;if((l|0)>-1){k=i+24|0;h=i+28|0;g=f[h>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=l>>>0){i=l+1|0;if(i>>>0>j>>>0){Oe(k,i-j|0);e=f[k>>2]|0;break}if(i>>>0>>0?(K=e+(i<<2)|0,(g|0)!=(K|0)):0)f[h>>2]=g+(~((g+-4-K|0)>>>2)<<2)}while(0);f[e+(l<<2)>>2]=p;i=f[F>>2]|0}}else f[(f[i>>2]|0)+(p<<2)>>2]=-1073741824;if(!r?(U=(((s>>>0)%3|0|0)==0?2:-1)+s|0,(U|0)>=0):0){s=f[i>>2]|0;m=f[s+(U<<2)>>2]|0;f[s+(t<<2)>>2]=m;if((m|0)>-1){l=i+24|0;k=i+28|0;g=f[k>>2]|0;e=f[l>>2]|0;j=g-e>>2;do if(j>>>0<=m>>>0){i=m+1|0;h=g;if(i>>>0>j>>>0){Oe(l,i-j|0);e=f[l>>2]|0;break}if(i>>>0>>0){g=e+(i<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);g=t;e=e+(m<<2)|0;ca=47}}else{g=-1073741824;e=(f[i>>2]|0)+(t<<2)|0;ca=47}if((ca|0)==47){ca=0;f[e>>2]=g}if((w|0)>(ba|0)){g=-1;break a}e=(f[ga>>2]|0)+(q>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(q&31));f[(f[oa>>2]|0)+-4>>2]=v;e=v;g=0;j=w;break}switch(e|0){case 7:{ca=160;break b}case 3:case 5:{e=f[oa>>2]|0;if((f[ma>>2]|0)==(e|0)){g=-1;break a}r=f[e+-4>>2]|0;s=x*3|0;o=((g|0)==3?2:1)+s|0;e=f[F>>2]|0;t=f[e+12>>2]|0;f[t+(o<<2)>>2]=r;f[t+(r<<2)>>2]=o;t=w+1|0;f[(f[e>>2]|0)+(o<<2)>>2]=w;if((w|0)>-1){j=e+24|0;h=e+28|0;g=f[h>>2]|0;e=f[j>>2]|0;i=g-e>>2;do if(i>>>0<=w>>>0){if(t>>>0>i>>>0){Oe(j,t-i|0);e=f[j>>2]|0;break}if(t>>>0>>0?(J=e+(t<<2)|0,(g|0)!=(J|0)):0)f[h>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);f[e+(w<<2)>>2]=o;e=f[F>>2]|0}p=(o|0)<0;g=o+1|0;if(p)l=o;else l=((g|0)%3|0|0)==0?o+-2|0:g;q=(r|0)<0;if(!q?(T=(((r>>>0)%3|0|0)==0?2:-1)+r|0,(T|0)>=0):0){w=f[e>>2]|0;m=f[w+(T<<2)>>2]|0;f[w+(l<<2)>>2]=m;if((m|0)>-1){k=e+24|0;h=e+28|0;g=f[h>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=m>>>0){i=m+1|0;if(i>>>0>j>>>0){Oe(k,i-j|0);e=f[k>>2]|0;break}if(i>>>0>>0?(I=e+(i<<2)|0,(g|0)!=(I|0)):0)f[h>>2]=g+(~((g+-4-I|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=l;e=f[F>>2]|0}}else f[(f[e>>2]|0)+(l<<2)>>2]=-1073741824;do if(!p)if(!((o>>>0)%3|0)){o=o+2|0;break}else{o=o+-1|0;break}while(0);g=r+1|0;if(!q?(V=((g|0)%3|0|0)==0?r+-2|0:g,(V|0)>=0):0){w=f[e>>2]|0;m=f[w+(V<<2)>>2]|0;f[w+(o<<2)>>2]=m;if((m|0)>-1){l=e+24|0;k=e+28|0;g=f[k>>2]|0;e=f[l>>2]|0;j=g-e>>2;do if(j>>>0<=m>>>0){i=m+1|0;h=g;if(i>>>0>j>>>0){Oe(l,i-j|0);e=f[l>>2]|0;break}if(i>>>0>=j>>>0)break;g=e+(i<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}while(0);g=o;e=e+(m<<2)|0;ca=88}}else{g=-1073741824;e=(f[e>>2]|0)+(o<<2)|0;ca=88}if((ca|0)==88){ca=0;f[e>>2]=g}f[(f[oa>>2]|0)+-4>>2]=s;e=s;g=1;j=t;break b}case 1:break;default:{g=-1;break a}}g=f[ma>>2]|0;e=f[oa>>2]|0;if((g|0)==(e|0)){g=-1;break a}o=e+-4|0;l=f[o>>2]|0;f[oa>>2]=o;j=f[D>>2]|0;d:do if(j){k=j+-1|0;i=(k&j|0)==0;if(i)m=k&x;else m=(x>>>0)%(j>>>0)|0;h=f[(f[na>>2]|0)+(m<<2)>>2]|0;if(h){if(i)do{h=f[h>>2]|0;if(!h){e=o;break d}if((f[h+4>>2]&k|0)!=(m|0)){e=o;break d}}while((f[h+8>>2]|0)!=(x|0));else do{h=f[h>>2]|0;if(!h){e=o;break d}if((((f[h+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(m|0)){e=o;break d}}while((f[h+8>>2]|0)!=(x|0));h=h+12|0;if((o|0)==(f[E>>2]|0)){$e(ma,h);g=f[ma>>2]|0;e=f[oa>>2]|0;break}else{f[o>>2]=f[h>>2];f[oa>>2]=e;break}}else e=o}else e=o;while(0);if((g|0)==(e|0)){g=-1;break a}o=f[e+-4>>2]|0;s=x*3|0;r=s+2|0;e=f[F>>2]|0;v=f[e+12>>2]|0;f[v+(o<<2)>>2]=r;f[v+(r<<2)>>2]=o;q=s+1|0;f[v+(l<<2)>>2]=q;f[v+(q<<2)>>2]=l;if((o|0)>=0){g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;h=f[e>>2]|0;if((g|0)>=0){i=f[h+(g<<2)>>2]|0;f[h+(s<<2)>>2]=i;if((i|0)>-1){m=e+24|0;h=e+28|0;g=f[h>>2]|0;e=f[m>>2]|0;k=g-e>>2;do if(k>>>0<=i>>>0){j=i+1|0;if(j>>>0>k>>>0){Oe(m,j-k|0);e=f[m>>2]|0;break}if(j>>>0>>0?(P=e+(j<<2)|0,(g|0)!=(P|0)):0)f[h>>2]=g+(~((g+-4-P|0)>>>2)<<2)}while(0);f[e+(i<<2)>>2]=s;e=f[F>>2]|0;h=1}else h=0}else{f[h+(s<<2)>>2]=-1073741824;h=0;i=-1073741824}g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;j=f[e>>2]|0;if((g|0)>=0){p=f[j+(g<<2)>>2]|0;f[j+(q<<2)>>2]=p;if((p|0)>-1){o=e+24|0;j=e+28|0;g=f[j>>2]|0;e=f[o>>2]|0;m=g-e>>2;do if(m>>>0<=p>>>0){k=p+1|0;if(k>>>0>m>>>0){Oe(o,k-m|0);e=f[o>>2]|0;break}if(k>>>0>>0?(O=e+(k<<2)|0,(g|0)!=(O|0)):0)f[j>>2]=g+(~((g+-4-O|0)>>>2)<<2)}while(0);f[e+(p<<2)>>2]=q;e=f[F>>2]|0;q=h}else q=h}else{g=j;ca=120}}else{g=f[e>>2]|0;f[g+(s<<2)>>2]=-1073741824;h=0;i=-1073741824;ca=120}if((ca|0)==120){ca=0;f[g+(q<<2)>>2]=-1073741824;q=h}if((l|0)>=0){g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;h=f[e>>2]|0;if((g|0)>=0){p=f[h+(g<<2)>>2]|0;f[h+(r<<2)>>2]=p;if((p|0)>-1){o=e+24|0;m=e+28|0;g=f[m>>2]|0;e=f[o>>2]|0;k=g-e>>2;do if(k>>>0<=p>>>0){j=p+1|0;h=g;if(j>>>0>k>>>0){Oe(o,j-k|0);e=f[o>>2]|0;break}if(j>>>0>>0){g=e+(j<<2)|0;if((h|0)==(g|0))break;f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);g=r;e=e+(p<<2)|0;ca=141}}else{g=-1073741824;e=h+(r<<2)|0;ca=141}if((ca|0)==141){ca=0;f[e>>2]=g}h=l+1|0;h=((h|0)%3|0|0)==0?l+-2|0:h;g=f[F>>2]|0;if((h|0)<0){e=g;l=h;p=-1073741824}else{e=g;l=h;p=f[(f[g>>2]|0)+(h<<2)>>2]|0}}else{f[(f[e>>2]|0)+(r<<2)>>2]=-1073741824;p=-1073741824}t=f[z>>2]|0;v=t+(i<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[t+(p<<2)>>2]|0);e:do if((l|0)>-1){o=i+1|0;if(!q){j=f[e>>2]|0;k=e+12|0;g=l;while(1){f[j+(g<<2)>>2]=i;v=g+1|0;g=((v|0)%3|0|0)==0?g+-2|0:v;if((g|0)<0)break e;h=f[(f[k>>2]|0)+(g<<2)>>2]|0;g=h+1|0;if((h|0)<0)break e;g=((g|0)%3|0|0)==0?h+-2|0:g;if((g|0)<=-1)break e}}do{f[(f[e>>2]|0)+(l<<2)>>2]=i;m=e+24|0;k=e+28|0;g=f[k>>2]|0;e=f[m>>2]|0;j=g-e>>2;do if(j>>>0<=i>>>0){h=g;if(o>>>0>j>>>0){Oe(m,o-j|0);e=f[m>>2]|0;break}if(o>>>0>>0){g=e+(o<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);f[e+(i<<2)>>2]=l;g=l+1|0;g=((g|0)%3|0|0)==0?l+-2|0:g;e=f[F>>2]|0;if((g|0)<0)break e;h=f[(f[e+12>>2]|0)+(g<<2)>>2]|0;g=h+1|0;if((h|0)<0)break e;l=((g|0)%3|0|0)==0?h+-2|0:g}while((l|0)>-1)}while(0);f[(f[e+24>>2]|0)+(p<<2)>>2]=-1073741824;f[(f[oa>>2]|0)+-4>>2]=s;e=s;g=0;j=w}while(0);if((ca|0)==160){ca=0;k=x*3|0;f[fa>>2]=k;h=f[F>>2]|0;m=w+1|0;e=f[h>>2]|0;f[e+(k<<2)>>2]=w;if((w|0)<=-1){g=k+1|0;i=w+2|0;f[e+(g<<2)>>2]=m;if((w|0)==-1){e=h;l=i;ca=169}else{g=k;l=i}}else{j=h+24|0;h=h+28|0;g=f[h>>2]|0;e=f[j>>2]|0;i=g-e>>2;do if(i>>>0<=w>>>0){if(m>>>0>i>>>0){Oe(j,m-i|0);e=f[j>>2]|0;break}if(m>>>0>>0?(N=e+(m<<2)|0,(g|0)!=(N|0)):0)f[h>>2]=g+(~((g+-4-N|0)>>>2)<<2)}while(0);f[e+(w<<2)>>2]=k;e=f[F>>2]|0;g=(f[fa>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=m;l=w+2|0;ca=169}if((ca|0)==169){ca=0;k=e+24|0;i=e+28|0;h=f[i>>2]|0;e=f[k>>2]|0;j=h-e>>2;do if(j>>>0<=m>>>0){if(l>>>0>j>>>0){Oe(k,l-j|0);e=f[k>>2]|0;break}if(l>>>0>>0?(M=e+(l<<2)|0,(h|0)!=(M|0)):0)f[i>>2]=h+(~((h+-4-M|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=g;h=f[F>>2]|0;g=f[fa>>2]|0;e=f[h>>2]|0}k=g+2|0;m=w+3|0;f[e+(k<<2)>>2]=l;if((l|0)>-1){j=h+24|0;h=h+28|0;g=f[h>>2]|0;e=f[j>>2]|0;i=g-e>>2;do if(i>>>0<=l>>>0){if(m>>>0>i>>>0){Oe(j,m-i|0);e=f[j>>2]|0;break}if(m>>>0>>0?(L=e+(m<<2)|0,(g|0)!=(L|0)):0)f[h>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);f[e+(l<<2)>>2]=k}e=f[oa>>2]|0;if((e|0)==(f[E>>2]|0)){$e(ma,fa);e=f[oa>>2]|0}else{f[e>>2]=f[fa>>2];e=e+4|0;f[oa>>2]=e}e=f[e+-4>>2]|0;g=1;j=m}f[Q>>2]=e;f[fa>>2]=f[Q>>2];dc(aa,fa);f:do if(g?(S=c-x|0,Y=S+-1|0,y=f[C>>2]|0,(y|0)!=(f[_>>2]|0)):0){e=y;do{g=f[e+-8>>2]|0;if((g|0)>=(S|0)){g=-1;break a}if((g|0)!=(Y|0))break f;g=b[e+-4>>0]|0;i=f[e+-12>>2]|0;f[C>>2]=e+-12;if((i|0)<0){g=-1;break a}e=f[(f[oa>>2]|0)+-4>>2]|0;h=(e|0)<0;do if(!(g&1)){if(!h)if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else{g=e+1|0;if(!h)e=((g|0)%3|0|0)==0?e+-2|0:g}while(0);f[fa>>2]=Z-i;x=sc(na,fa)|0;f[x>>2]=e;e=f[C>>2]|0}while((e|0)!=(f[_>>2]|0))}while(0);if((d|0)<(c|0)){x=d;w=j}else{A=j;ca=202;break}}}else{d=0;A=0;ca=202}while(0);g:do if((ca|0)==202)if((A|0)<=(ba|0)){g=f[oa>>2]|0;h:do if((g|0)==(f[ma>>2]|0))e=a+8|0;else{s=a+320|0;e=a+8|0;z=a+60|0;x=a+64|0;v=a+68|0;t=a+76|0;w=a+80|0;y=a+72|0;i:while(1){ba=g;f[fa>>2]=f[ba+-4>>2];f[oa>>2]=ba+-4;do if(!(Tg(s)|0)){g=f[x>>2]|0;h=f[v>>2]|0;if((g|0)==(h<<5|0)){if((g+1|0)<0){ql(z);h=f[v>>2]|0}ba=h<<6;g=g+32&-32;Le(z,h<<5>>>0<1073741823?(ba>>>0>>0?g:ba):2147483647);g=f[x>>2]|0}f[x>>2]=g+1;ba=(f[z>>2]|0)+(g>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(g&31));g=f[t>>2]|0;if((g|0)==(f[w>>2]|0)){$e(y,fa);break}else{f[g>>2]=f[fa>>2];f[t>>2]=g+4;break}}else{i=f[e>>2]|0;ba=f[i>>2]|0;p=ba;if((d|0)>=(((f[i+4>>2]|0)-ba>>2>>>0)/3|0|0))break i;m=f[fa>>2]|0;k=(m|0)<0;j:do if(!k){g=m+(((m>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){h=f[i+12>>2]|0;j=g;while(1){g=f[h+(j<<2)>>2]|0;if((g|0)<=-1){h=0;g=j;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){h=1;break}else j=g}if(k){j=m;ca=215;break}}else h=1;j=m+1|0;j=((j|0)%3|0|0)==0?m+-2|0:j;if((j|0)<0)ca=215;else{k=f[i+12>>2]|0;l=j;while(1){j=f[k+(l<<2)>>2]|0;if((j|0)<=-1){q=0;break j}ba=j+1|0;j=((ba|0)%3|0|0)==0?j+-2|0:ba;if((j|0)<0){q=1;l=j;break}else l=j}}}else{h=1;g=m;j=m;ca=215}while(0);if((ca|0)==215){ca=0;k=f[i+12>>2]|0;q=1;l=j}r=d+1|0;d=d*3|0;f[ha>>2]=d;f[k+(d<<2)>>2]=m;f[k+(m<<2)>>2]=d;d=(f[ha>>2]|0)+1|0;f[k+(d<<2)>>2]=g;f[k+(g<<2)>>2]=d;d=(f[ha>>2]|0)+2|0;f[k+(d<<2)>>2]=l;f[k+(l<<2)>>2]=d;d=f[ha>>2]|0;j=g+1|0;if(!h?(ka=((j|0)%3|0|0)==0?g+-2|0:j,(ka|0)>=0):0){o=f[p+(ka<<2)>>2]|0;f[p+(d<<2)>>2]=o;if((o|0)>-1){m=i+24|0;i=i+28|0;h=f[i>>2]|0;g=f[m>>2]|0;k=h-g>>2;do if(k>>>0<=o>>>0){j=o+1|0;if(j>>>0>k>>>0){Oe(m,j-k|0);g=f[m>>2]|0;break}if(j>>>0>>0?(ea=g+(j<<2)|0,(h|0)!=(ea|0)):0)f[i>>2]=h+(~((h+-4-ea|0)>>>2)<<2)}while(0);f[g+(o<<2)>>2]=d;d=f[ha>>2]|0;i=f[e>>2]|0}}else f[p+(d<<2)>>2]=-1073741824;m=d+1|0;g=l+1|0;if(!q?(ja=((g|0)%3|0|0)==0?l+-2|0:g,(ja|0)>=0):0){ba=f[i>>2]|0;l=f[ba+(ja<<2)>>2]|0;f[ba+(m<<2)>>2]=l;if((l|0)>-1){k=i+24|0;h=i+28|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;do if(j>>>0<=l>>>0){i=l+1|0;if(i>>>0>j>>>0){Oe(k,i-j|0);d=f[k>>2]|0;break}if(i>>>0>>0?(da=d+(i<<2)|0,(g|0)!=(da|0)):0)f[h>>2]=g+(~((g+-4-da|0)>>>2)<<2)}while(0);f[d+(l<<2)>>2]=m;d=f[ha>>2]|0;i=f[e>>2]|0}}else f[(f[i>>2]|0)+(m<<2)>>2]=-1073741824;o=d+2|0;g=f[fa>>2]|0;h=g+1|0;if((g|0)>=0?(ia=((h|0)%3|0|0)==0?g+-2|0:h,(ia|0)>=0):0){ba=f[i>>2]|0;m=f[ba+(ia<<2)>>2]|0;f[ba+(o<<2)>>2]=m;if((m|0)>-1){l=i+24|0;k=i+28|0;g=f[k>>2]|0;d=f[l>>2]|0;j=g-d>>2;do if(j>>>0<=m>>>0){i=m+1|0;h=g;if(i>>>0>j>>>0){Oe(l,i-j|0);d=f[l>>2]|0;break}if(i>>>0>>0){g=d+(i<<2)|0;if((h|0)==(g|0))break;f[k>>2]=h+(~((h+-4-g|0)>>>2)<<2)}}while(0);f[d+(m<<2)>>2]=o;d=f[ha>>2]|0}}else f[(f[i>>2]|0)+(o<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[ga>>2]|0;ba=g+(d>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(d&31));d=f[ha>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;ba=g+(d>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(d&31));d=f[ha>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[x>>2]|0;g=f[v>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){ql(z);g=f[v>>2]|0}ba=g<<6;d=d+32&-32;Le(z,g<<5>>>0<1073741823?(ba>>>0>>0?d:ba):2147483647);d=f[x>>2]|0}f[x>>2]=d+1;ba=(f[z>>2]|0)+(d>>>5<<2)|0;f[ba>>2]=f[ba>>2]|1<<(d&31);d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))$e(y,ha);else{f[d>>2]=f[ha>>2];f[t>>2]=d+4}d=r}while(0);g=f[oa>>2]|0;if((g|0)==(f[ma>>2]|0))break h}g=-1;break g}while(0);ka=f[e>>2]|0;if((d|0)==(((f[ka+4>>2]|0)-(f[ka>>2]|0)>>2>>>0)/3|0|0)){i=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[i>>2]|0;h=e-d>>2;if(A>>>0>h>>>0){Oe(i,A-h|0);g=A;break}if(A>>>0>>0?(la=d+(A<<2)|0,(e|0)!=(la|0)):0){f[g>>2]=e+(~((e+-4-la|0)>>>2)<<2);g=A}else g=A}else g=-1}else g=-1;while(0);d=f[na+8>>2]|0;if(d|0)do{la=d;d=f[d>>2]|0;Em(la)}while((d|0)!=0);d=f[na>>2]|0;f[na>>2]=0;if(d|0)Em(d);d=f[ma>>2]|0;if(!d){u=pa;return g|0}e=f[oa>>2]|0;if((e|0)!=(d|0))f[oa>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d);u=pa;return g|0}function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,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;oa=u;u=u+48|0;la=oa+28|0;ma=oa+8|0;ea=oa+4|0;ga=oa;f[la>>2]=0;na=la+4|0;f[na>>2]=0;f[la+8>>2]=0;f[ma>>2]=0;f[ma+4>>2]=0;f[ma+8>>2]=0;f[ma+12>>2]=0;n[ma+16>>2]=$(1.0);fa=a+132|0;aa=f[a+136>>2]|0;a:do if((c|0)>0){S=a+316|0;A=ma+4|0;C=a+8|0;D=la+8|0;T=a+312|0;Q=a+304|0;R=a+308|0;_=a+36|0;z=a+40|0;Z=c+-1|0;x=0;y=0;b:while(1){d=x+1|0;c:do if(!(b[S>>0]|0))ba=93;else{g=f[T>>2]|0;j=f[Q>>2]|0;k=f[R>>2]|0;e=j+(g>>>3)|0;if(e>>>0>>0?(w=h[e>>0]|0,E=g+1|0,f[T>>2]=E,w&1<<(g&7)|0):0){e=j+(E>>>3)|0;if(e>>>0>>0){i=(h[e>>0]|0)>>>(E&7)&1;g=g+2|0;f[T>>2]=g}else{g=E;i=0}e=j+(g>>>3)|0;if(e>>>0>>0){e=(h[e>>0]|0)>>>(g&7);f[T>>2]=g+1;e=e<<1&2}else e=0;g=(e|i)<<1|1;switch(g&7){case 1:{ba=93;break c}case 3:case 5:{e=f[na>>2]|0;if((f[la>>2]|0)==(e|0)){B=-1;break a}v=f[e+-4>>2]|0;w=x*3|0;t=((g|0)==5?2:1)+w|0;g=f[C>>2]|0;e=f[g+12>>2]|0;f[e+(t<<2)>>2]=v;f[e+(v<<2)>>2]=t;e=y+1|0;f[(f[g>>2]|0)+(t<<2)>>2]=y;if((y|0)>-1){l=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[l>>2]|0;k=i-g>>2;do if(k>>>0<=y>>>0){if(e>>>0>k>>>0){Oe(l,e-k|0);g=f[l>>2]|0;break}if(e>>>0>>0?(G=g+(e<<2)|0,(i|0)!=(G|0)):0)f[j>>2]=i+(~((i+-4-G|0)>>>2)<<2)}while(0);f[g+(y<<2)>>2]=t;g=f[C>>2]|0}r=(t|0)<0;i=t+1|0;if(r)p=t;else p=((i|0)%3|0|0)==0?t+-2|0:i;s=(v|0)<0;if(!s?(U=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(U|0)>=0):0){y=f[g>>2]|0;q=f[y+(U<<2)>>2]|0;f[y+(p<<2)>>2]=q;if((q|0)>-1){o=g+24|0;m=g+28|0;i=f[m>>2]|0;g=f[o>>2]|0;l=i-g>>2;do if(l>>>0<=q>>>0){k=q+1|0;j=i;if(k>>>0>l>>>0){Oe(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0>=l>>>0)break;i=g+(k<<2)|0;if((j|0)==(i|0))break;f[m>>2]=j+(~((j+-4-i|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=p;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(p<<2)>>2]=-1073741824;do if(!r)if(!((t>>>0)%3|0)){q=t+2|0;break}else{q=t+-1|0;break}else q=t;while(0);i=v+1|0;if(!s?(W=((i|0)%3|0|0)==0?v+-2|0:i,(W|0)>=0):0){y=f[g>>2]|0;p=f[y+(W<<2)>>2]|0;f[y+(q<<2)>>2]=p;if((p|0)>-1){o=g+24|0;m=g+28|0;i=f[m>>2]|0;g=f[o>>2]|0;l=i-g>>2;do if(l>>>0<=p>>>0){k=p+1|0;j=i;if(k>>>0>l>>>0){Oe(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0>=l>>>0)break;i=g+(k<<2)|0;if((j|0)==(i|0))break;f[m>>2]=j+(~((j+-4-i|0)>>>2)<<2)}while(0);i=q;g=g+(p<<2)|0;ba=91}}else{i=-1073741824;g=(f[g>>2]|0)+(q<<2)|0;ba=91}if((ba|0)==91){ba=0;f[g>>2]=i}f[(f[na>>2]|0)+-4>>2]=w;break}case 7:{l=x*3|0;f[ea>>2]=l;i=f[C>>2]|0;m=y+1|0;e=f[i>>2]|0;f[e+(l<<2)>>2]=y;if((y|0)<=-1){g=l+1|0;j=y+2|0;f[e+(g<<2)>>2]=m;if((y|0)==-1){e=i;o=j;ba=170}else{g=l;o=j}}else{k=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=y>>>0){if(m>>>0>j>>>0){Oe(k,m-j|0);e=f[k>>2]|0;break}if(m>>>0>>0?(L=e+(m<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}while(0);f[e+(y<<2)>>2]=l;e=f[C>>2]|0;g=(f[ea>>2]|0)+1|0;f[(f[e>>2]|0)+(g<<2)>>2]=m;o=y+2|0;ba=170}if((ba|0)==170){ba=0;l=e+24|0;j=e+28|0;i=f[j>>2]|0;e=f[l>>2]|0;k=i-e>>2;do if(k>>>0<=m>>>0){if(o>>>0>k>>>0){Oe(l,o-k|0);e=f[l>>2]|0;break}if(o>>>0>>0?(K=e+(o<<2)|0,(i|0)!=(K|0)):0)f[j>>2]=i+(~((i+-4-K|0)>>>2)<<2)}while(0);f[e+(m<<2)>>2]=g;i=f[C>>2]|0;g=f[ea>>2]|0;e=f[i>>2]|0}l=g+2|0;m=y+3|0;f[e+(l<<2)>>2]=o;if((o|0)>-1){k=i+24|0;i=i+28|0;g=f[i>>2]|0;e=f[k>>2]|0;j=g-e>>2;do if(j>>>0<=o>>>0){if(m>>>0>j>>>0){Oe(k,m-j|0);e=f[k>>2]|0;break}if(m>>>0>>0?(J=e+(m<<2)|0,(g|0)!=(J|0)):0)f[i>>2]=g+(~((g+-4-J|0)>>>2)<<2)}while(0);f[e+(o<<2)>>2]=l}e=f[na>>2]|0;if((e|0)==(f[D>>2]|0))$e(la,ea);else{f[e>>2]=f[ea>>2];f[na>>2]=e+4}e=m;break}default:break b}l=c-x|0;m=l+-1|0;g=f[z>>2]|0;if((g|0)==(f[_>>2]|0))break;while(1){i=f[g+-8>>2]|0;if((i|0)>=(l|0)){B=-1;break a}if((i|0)!=(m|0))break c;i=b[g+-4>>0]|0;k=f[g+-12>>2]|0;f[z>>2]=g+-12;if((k|0)<0){B=-1;break a}g=f[(f[na>>2]|0)+-4>>2]|0;j=(g|0)<0;do if(!(i&1)){if(!j)if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else{i=g+1|0;if(!j)g=((i|0)%3|0|0)==0?g+-2|0:i}while(0);f[ea>>2]=Z-k;y=sc(ma,ea)|0;f[y>>2]=g;g=f[z>>2]|0;if((g|0)==(f[_>>2]|0))break c}}e=f[na>>2]|0;if((f[la>>2]|0)==(e|0)){B=-1;break a}v=f[e+-4>>2]|0;t=(v|0)<0;d:do if(!t){e=v+(((v>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0)ba=13;else{j=f[C>>2]|0;i=f[j+12>>2]|0;while(1){g=f[i+(e<<2)>>2]|0;if((g|0)<=-1){g=j;q=0;p=e;break d}e=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((e|0)<0){g=j;q=1;p=e;break}}}}else{e=v;ba=13}while(0);if((ba|0)==13){ba=0;g=f[C>>2]|0;i=f[g+12>>2]|0;q=1;p=e}e=x*3|0;r=e+1|0;f[i+(v<<2)>>2]=r;f[i+(r<<2)>>2]=v;w=e+2|0;f[i+(p<<2)>>2]=w;f[i+(w<<2)>>2]=p;i=v+1|0;if(!t?(Y=((i|0)%3|0|0)==0?v+-2|0:i,(Y|0)>=0):0){x=f[g>>2]|0;o=f[x+(Y<<2)>>2]|0;f[x+(e<<2)>>2]=o;if((o|0)>-1){m=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0>>0?(F=g+(k<<2)|0,(i|0)!=(F|0)):0)f[j>>2]=i+(~((i+-4-F|0)>>>2)<<2)}while(0);f[g+(o<<2)>>2]=e;g=f[C>>2]|0;s=o}else s=o}else{f[(f[g>>2]|0)+(e<<2)>>2]=-1073741824;s=-1073741824}i=p+1|0;if(!q?(X=((i|0)%3|0|0)==0?p+-2|0:i,(X|0)>=0):0){x=f[g>>2]|0;o=f[x+(X<<2)>>2]|0;f[x+(r<<2)>>2]=o;if((o|0)>-1){m=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0>>0?(I=g+(k<<2)|0,(i|0)!=(I|0)):0)f[j>>2]=i+(~((i+-4-I|0)>>>2)<<2)}while(0);f[g+(o<<2)>>2]=r;g=f[C>>2]|0}}else f[(f[g>>2]|0)+(r<<2)>>2]=-1073741824;if(!t?(V=(((v>>>0)%3|0|0)==0?2:-1)+v|0,(V|0)>=0):0){x=f[g>>2]|0;o=f[x+(V<<2)>>2]|0;f[x+(w<<2)>>2]=o;if((o|0)>-1){m=g+24|0;j=g+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0>>0?(H=g+(k<<2)|0,(i|0)!=(H|0)):0)f[j>>2]=i+(~((i+-4-H|0)>>>2)<<2)}while(0);i=w;g=g+(o<<2)|0;ba=50}}else{i=-1073741824;g=(f[g>>2]|0)+(w<<2)|0;ba=50}if((ba|0)==50){ba=0;f[g>>2]=i}if((y|0)>(aa|0)){B=-1;break a}ba=(f[fa>>2]|0)+(s>>>5<<2)|0;f[ba>>2]=f[ba>>2]&~(1<<(s&31));ba=189}while(0);if((ba|0)==93){ba=0;g=f[la>>2]|0;e=f[na>>2]|0;if((g|0)==(e|0)){B=-1;break a}o=e+-4|0;t=f[o>>2]|0;f[na>>2]=o;k=f[A>>2]|0;e:do if(k){l=k+-1|0;j=(l&k|0)==0;if(j)m=l&x;else m=(x>>>0)%(k>>>0)|0;i=f[(f[ma>>2]|0)+(m<<2)>>2]|0;if(i){if(j)do{i=f[i>>2]|0;if(!i){e=o;break e}if((f[i+4>>2]&l|0)!=(m|0)){e=o;break e}}while((f[i+8>>2]|0)!=(x|0));else do{i=f[i>>2]|0;if(!i){e=o;break e}if((((f[i+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(m|0)){e=o;break e}}while((f[i+8>>2]|0)!=(x|0));i=i+12|0;if((o|0)==(f[D>>2]|0)){$e(la,i);g=f[la>>2]|0;e=f[na>>2]|0;break}else{f[o>>2]=f[i>>2];f[na>>2]=e;break}}else e=o}else e=o;while(0);if((g|0)==(e|0)){B=-1;break a}p=f[e+-4>>2]|0;e=x*3|0;s=e+2|0;i=f[C>>2]|0;x=f[i+12>>2]|0;f[x+(p<<2)>>2]=s;f[x+(s<<2)>>2]=p;r=e+1|0;f[x+(t<<2)>>2]=r;f[x+(r<<2)>>2]=t;if((p|0)>=0){g=(((p>>>0)%3|0|0)==0?2:-1)+p|0;j=f[i>>2]|0;if((g|0)>=0){k=f[j+(g<<2)>>2]|0;f[j+(e<<2)>>2]=k;if((k|0)>-1){o=i+24|0;j=i+28|0;i=f[j>>2]|0;g=f[o>>2]|0;m=i-g>>2;do if(m>>>0<=k>>>0){l=k+1|0;if(l>>>0>m>>>0){Oe(o,l-m|0);g=f[o>>2]|0;break}if(l>>>0>>0?(P=g+(l<<2)|0,(i|0)!=(P|0)):0)f[j>>2]=i+(~((i+-4-P|0)>>>2)<<2)}while(0);f[g+(k<<2)>>2]=e;i=f[C>>2]|0;j=1}else j=0}else{f[j+(e<<2)>>2]=-1073741824;j=0;k=-1073741824}g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;l=f[i>>2]|0;if((g|0)>=0){q=f[l+(g<<2)>>2]|0;f[l+(r<<2)>>2]=q;if((q|0)>-1){p=i+24|0;l=i+28|0;i=f[l>>2]|0;g=f[p>>2]|0;o=i-g>>2;do if(o>>>0<=q>>>0){m=q+1|0;if(m>>>0>o>>>0){Oe(p,m-o|0);g=f[p>>2]|0;break}if(m>>>0>>0?(O=g+(m<<2)|0,(i|0)!=(O|0)):0)f[l>>2]=i+(~((i+-4-O|0)>>>2)<<2)}while(0);f[g+(q<<2)>>2]=r;i=f[C>>2]|0;q=j;r=k}else{q=j;r=k}}else{g=l;ba=123}}else{g=f[i>>2]|0;f[g+(e<<2)>>2]=-1073741824;j=0;k=-1073741824;ba=123}if((ba|0)==123){ba=0;f[g+(r<<2)>>2]=-1073741824;q=j;r=k}f:do if((t|0)>=0){g=(((t>>>0)%3|0|0)==0?2:-1)+t|0;j=f[i>>2]|0;if((g|0)>=0){o=f[j+(g<<2)>>2]|0;f[j+(s<<2)>>2]=o;if((o|0)>-1){m=i+24|0;j=i+28|0;i=f[j>>2]|0;g=f[m>>2]|0;l=i-g>>2;do if(l>>>0<=o>>>0){k=o+1|0;if(k>>>0>l>>>0){Oe(m,k-l|0);g=f[m>>2]|0;break}if(k>>>0>>0?(N=g+(k<<2)|0,(i|0)!=(N|0)):0)f[j>>2]=i+(~((i+-4-N|0)>>>2)<<2)}while(0);i=s;g=g+(o<<2)|0;ba=144}}else{i=-1073741824;g=j+(s<<2)|0;ba=144}if((ba|0)==144)f[g>>2]=i;j=t+1|0;j=((j|0)%3|0|0)==0?t+-2|0:j;i=f[C>>2]|0;if((j|0)<0)g=-1073741824;else{g=f[(f[i>>2]|0)+(j<<2)>>2]|0;p=r+1|0;if(!q){l=f[i>>2]|0;m=i+12|0;while(1){f[l+(j<<2)>>2]=r;ba=j+1|0;j=((ba|0)%3|0|0)==0?j+-2|0:ba;if((j|0)<0)break f;k=f[(f[m>>2]|0)+(j<<2)>>2]|0;j=k+1|0;if((k|0)<0)break f;j=((j|0)%3|0|0)==0?k+-2|0:j;if((j|0)<=-1)break f}}do{f[(f[i>>2]|0)+(j<<2)>>2]=r;o=i+24|0;l=i+28|0;k=f[l>>2]|0;i=f[o>>2]|0;m=k-i>>2;do if(m>>>0<=r>>>0){if(p>>>0>m>>>0){Oe(o,p-m|0);i=f[o>>2]|0;break}if(p>>>0>>0?(M=i+(p<<2)|0,(k|0)!=(M|0)):0)f[l>>2]=k+(~((k+-4-M|0)>>>2)<<2)}while(0);f[i+(r<<2)>>2]=j;i=j+1|0;j=((i|0)%3|0|0)==0?j+-2|0:i;i=f[C>>2]|0;if((j|0)<0)break f;k=f[(f[i+12>>2]|0)+(j<<2)>>2]|0;j=k+1|0;if((k|0)<0)break f;j=((j|0)%3|0|0)==0?k+-2|0:j}while((j|0)>-1)}}else{f[(f[i>>2]|0)+(s<<2)>>2]=-1073741824;g=-1073741824}while(0);f[(f[i+24>>2]|0)+(g<<2)>>2]=-1073741824;ba=189}if((ba|0)==189){ba=0;f[(f[na>>2]|0)+-4>>2]=e;e=y}if((d|0)<(c|0)){x=d;y=e}else{B=e;ba=203;break a}}}else{d=0;B=0;ba=203}while(0);g:do if((ba|0)==203)if((B|0)<=(aa|0)){g=f[na>>2]|0;h:do if((g|0)==(f[la>>2]|0))e=a+8|0;else{A=a+320|0;e=a+8|0;z=a+60|0;x=a+64|0;v=a+68|0;t=a+76|0;w=a+80|0;y=a+72|0;i:while(1){aa=g;f[ea>>2]=f[aa+-4>>2];f[na>>2]=aa+-4;do if(!(Tg(A)|0)){g=f[x>>2]|0;i=f[v>>2]|0;if((g|0)==(i<<5|0)){if((g+1|0)<0){ql(z);i=f[v>>2]|0}aa=i<<6;g=g+32&-32;Le(z,i<<5>>>0<1073741823?(aa>>>0>>0?g:aa):2147483647);g=f[x>>2]|0}f[x>>2]=g+1;aa=(f[z>>2]|0)+(g>>>5<<2)|0;f[aa>>2]=f[aa>>2]&~(1<<(g&31));g=f[t>>2]|0;if((g|0)==(f[w>>2]|0)){$e(y,ea);break}else{f[g>>2]=f[ea>>2];f[t>>2]=g+4;break}}else{j=f[e>>2]|0;aa=f[j>>2]|0;q=aa;if((d|0)>=(((f[j+4>>2]|0)-aa>>2>>>0)/3|0|0))break i;o=f[ea>>2]|0;l=(o|0)<0;j:do if(!l){g=o+(((o>>>0)%3|0|0)==0?2:-1)|0;if((g|0)>=0){i=f[j+12>>2]|0;k=g;while(1){g=f[i+(k<<2)>>2]|0;if((g|0)<=-1){i=0;g=k;break}g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((g|0)<0){i=1;break}else k=g}if(l){k=o;ba=216;break}}else i=1;k=o+1|0;k=((k|0)%3|0|0)==0?o+-2|0:k;if((k|0)<0)ba=216;else{l=f[j+12>>2]|0;m=k;while(1){k=f[l+(m<<2)>>2]|0;if((k|0)<=-1){r=0;break j}aa=k+1|0;k=((aa|0)%3|0|0)==0?k+-2|0:aa;if((k|0)<0){r=1;m=k;break}else m=k}}}else{i=1;g=o;k=o;ba=216}while(0);if((ba|0)==216){ba=0;l=f[j+12>>2]|0;r=1;m=k}s=d+1|0;d=d*3|0;f[ga>>2]=d;f[l+(d<<2)>>2]=o;f[l+(o<<2)>>2]=d;d=(f[ga>>2]|0)+1|0;f[l+(d<<2)>>2]=g;f[l+(g<<2)>>2]=d;d=(f[ga>>2]|0)+2|0;f[l+(d<<2)>>2]=m;f[l+(m<<2)>>2]=d;d=f[ga>>2]|0;k=g+1|0;if(!i?(ja=((k|0)%3|0|0)==0?g+-2|0:k,(ja|0)>=0):0){p=f[q+(ja<<2)>>2]|0;f[q+(d<<2)>>2]=p;if((p|0)>-1){o=j+24|0;j=j+28|0;i=f[j>>2]|0;g=f[o>>2]|0;l=i-g>>2;do if(l>>>0<=p>>>0){k=p+1|0;if(k>>>0>l>>>0){Oe(o,k-l|0);g=f[o>>2]|0;break}if(k>>>0>>0?(da=g+(k<<2)|0,(i|0)!=(da|0)):0)f[j>>2]=i+(~((i+-4-da|0)>>>2)<<2)}while(0);f[g+(p<<2)>>2]=d;d=f[ga>>2]|0;j=f[e>>2]|0}}else f[q+(d<<2)>>2]=-1073741824;o=d+1|0;g=m+1|0;if(!r?(ia=((g|0)%3|0|0)==0?m+-2|0:g,(ia|0)>=0):0){aa=f[j>>2]|0;m=f[aa+(ia<<2)>>2]|0;f[aa+(o<<2)>>2]=m;if((m|0)>-1){l=j+24|0;i=j+28|0;g=f[i>>2]|0;d=f[l>>2]|0;k=g-d>>2;do if(k>>>0<=m>>>0){j=m+1|0;if(j>>>0>k>>>0){Oe(l,j-k|0);d=f[l>>2]|0;break}if(j>>>0>>0?(ca=d+(j<<2)|0,(g|0)!=(ca|0)):0)f[i>>2]=g+(~((g+-4-ca|0)>>>2)<<2)}while(0);f[d+(m<<2)>>2]=o;d=f[ga>>2]|0;j=f[e>>2]|0}}else f[(f[j>>2]|0)+(o<<2)>>2]=-1073741824;p=d+2|0;g=f[ea>>2]|0;i=g+1|0;if((g|0)>=0?(ha=((i|0)%3|0|0)==0?g+-2|0:i,(ha|0)>=0):0){aa=f[j>>2]|0;o=f[aa+(ha<<2)>>2]|0;f[aa+(p<<2)>>2]=o;if((o|0)>-1){m=j+24|0;l=j+28|0;g=f[l>>2]|0;d=f[m>>2]|0;k=g-d>>2;do if(k>>>0<=o>>>0){j=o+1|0;i=g;if(j>>>0>k>>>0){Oe(m,j-k|0);d=f[m>>2]|0;break}if(j>>>0>>0){g=d+(j<<2)|0;if((i|0)==(g|0))break;f[l>>2]=i+(~((i+-4-g|0)>>>2)<<2)}}while(0);f[d+(o<<2)>>2]=p;d=f[ga>>2]|0}}else f[(f[j>>2]|0)+(p<<2)>>2]=-1073741824;if((d|0)<0)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d<<2)>>2]|0;g=f[fa>>2]|0;aa=g+(d>>>5<<2)|0;f[aa>>2]=f[aa>>2]&~(1<<(d&31));d=f[ga>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+1<<2)>>2]|0;aa=g+(d>>>5<<2)|0;f[aa>>2]=f[aa>>2]&~(1<<(d&31));d=f[ga>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[(f[f[e>>2]>>2]|0)+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));d=f[x>>2]|0;g=f[v>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){ql(z);g=f[v>>2]|0}aa=g<<6;d=d+32&-32;Le(z,g<<5>>>0<1073741823?(aa>>>0>>0?d:aa):2147483647);d=f[x>>2]|0}f[x>>2]=d+1;aa=(f[z>>2]|0)+(d>>>5<<2)|0;f[aa>>2]=f[aa>>2]|1<<(d&31);d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))$e(y,ga);else{f[d>>2]=f[ga>>2];f[t>>2]=d+4}d=s}while(0);g=f[na>>2]|0;if((g|0)==(f[la>>2]|0))break h}B=-1;break g}while(0);ja=f[e>>2]|0;if((d|0)==(((f[ja+4>>2]|0)-(f[ja>>2]|0)>>2>>>0)/3|0|0)){j=a+84|0;g=a+88|0;e=f[g>>2]|0;d=f[j>>2]|0;i=e-d>>2;if(B>>>0>i>>>0){Oe(j,B-i|0);break}if(B>>>0>>0?(ka=d+(B<<2)|0,(e|0)!=(ka|0)):0)f[g>>2]=e+(~((e+-4-ka|0)>>>2)<<2)}else B=-1}else B=-1;while(0);d=f[ma+8>>2]|0;if(d|0)do{ka=d;d=f[d>>2]|0;Em(ka)}while((d|0)!=0);d=f[ma>>2]|0;f[ma>>2]=0;if(d|0)Em(d);d=f[la>>2]|0;if(!d){u=oa;return B|0}e=f[na>>2]|0;if((e|0)!=(d|0))f[na>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d);u=oa;return B|0}function Za(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[4046]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=16224+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[4046]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[4048]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=16224+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[4051]|0;b=l>>>3;c=16224+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[4048]=g;f[4051]=e;w=h;u=x;return w|0}i=f[4047]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[16488+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=16488+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[4047]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[4051]|0;b=l>>>3;c=16224+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[4048]=j;f[4051]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[4047]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[16488+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[16488+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[4048]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=16488+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=16224+(b<<1<<2)|0;a=f[4046]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=16488+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[4048]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[4051]|0;if(a>>>0>15){w=b+m|0;f[4051]=w;f[4048]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[4048]=0;f[4051]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[4049]|0;if(h>>>0>m>>>0){t=h-m|0;f[4049]=t;w=f[4052]|0;v=w+m|0;f[4052]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[4164]|0)){f[4166]=4096;f[4165]=4096;f[4167]=-1;f[4168]=-1;f[4169]=0;f[4157]=0;a=n&-16^1431655768;f[n>>2]=a;f[4164]=a;a=4096}else a=f[4166]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[4156]|0;if(a|0?(l=f[4154]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[4157]&4)){c=f[4052]|0;c:do if(c){e=16632;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=Hh(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=Hh(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[4165]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[4154]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[4156]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=Hh(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[4166]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((Hh(a|0)|0)==(-1|0)){Hh(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[4157]=f[4157]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=Hh(k|0)|0,q=Hh(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[4154]|0)+g|0;f[4154]=b;if(b>>>0>(f[4155]|0)>>>0)f[4155]=b;j=f[4052]|0;do if(j){e=16632;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[4049]|0)+(g-w)|0;f[4052]=v;f[4049]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[4053]=f[4168];break}if(h>>>0<(f[4050]|0)>>>0)f[4050]=h;c=h+g|0;a=16632;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[4051]|0)){w=(f[4048]|0)+i|0;f[4048]=w;f[4051]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[4046]=f[4046]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=16488+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[4047]=f[4047]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=16224+(b<<1<<2)|0;a=f[4046]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=16488+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[4047]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[4049]|0)+i|0;f[4049]=w;f[4052]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=16632;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[4052]=v;f[4049]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[4053]=f[4168];c=a+4|0;f[c>>2]=27;f[b>>2]=f[4158];f[b+4>>2]=f[4159];f[b+8>>2]=f[4160];f[b+12>>2]=f[4161];f[4158]=h;f[4159]=g;f[4161]=0;f[4160]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=16224+(b<<1<<2)|0;a=f[4046]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=16488+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[4047]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[4050]|0;if((w|0)==0|h>>>0>>0)f[4050]=h;f[4158]=h;f[4159]=g;f[4161]=0;f[4055]=f[4164];f[4054]=-1;b=0;do{w=16224+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[4052]=v;f[4049]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[4053]=f[4168]}while(0);b=f[4049]|0;if(b>>>0>m>>>0){t=b-m|0;f[4049]=t;w=f[4052]|0;v=w+m|0;f[4052]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=qm()|0;f[w>>2]=12;w=0;u=x;return w|0}function _a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(Ih(3380,3572,c,b)|0)-3380>>2;a=e;e=0;a:while(1){b=(f[3380+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[3188+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=Ih(3188,3380,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function $a(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+80|0;x=B+40|0;i=B+68|0;m=B+64|0;o=B+60|0;l=B+52|0;z=B;p=B+56|0;w=B+48|0;f[a+144>>2]=0;h=a+160|0;if(f[h>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{y=c;c=f[c>>2]|0;Em(y)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[h>>2]=0}n=a+4|0;if(!(Pf(i,f[(f[n>>2]|0)+32>>2]|0)|0)){A=0;u=B;return A|0}k=a+168|0;f[k>>2]=f[i>>2];do if(Pf(m,f[(f[n>>2]|0)+32>>2]|0)|0){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=_i(60)|0;uk(c);y=a+8|0;e=f[y>>2]|0;f[y>>2]=c;if(e){Lf(e);Em(e);c=f[y>>2]|0;if(!c){c=0;break}}if(dh(c,f[m>>2]|0)|0){h=a+172|0;c=f[h>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);gg(h,f[m>>2]|0);h=a+184|0;c=f[h>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);gg(h,f[m>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[n>>2]|0)+32>>2]|0;v=c+8|0;t=f[v+4>>2]|0;h=c+16|0;g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;if((t|0)>(g|0)|((t|0)==(g|0)?(f[v>>2]|0)>>>0>e>>>0:0)){j=b[(f[c>>2]|0)+e>>0]|0;i=lk(e|0,g|0,1,0)|0;v=h;f[v>>2]=i;f[v+4>>2]=I;v=a+224|0;i=f[v>>2]|0;t=a+228|0;c=f[t>>2]|0;if((c|0)!=(i|0))do{f[t>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){h=c+-8|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-28>>2]|0;if(e|0){h=c+-24|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-40>>2]|0;if(e|0){h=c+-36|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}Uf(c+-112|0);c=f[t>>2]|0}while((c|0)!=(i|0));c=j&255;xe(v,c);if(Pf(o,f[(f[n>>2]|0)+32>>2]|0)|0?(f[m>>2]|0)>>>0>=(f[o>>2]|0)>>>0:0)if(Pf(l,f[(f[n>>2]|0)+32>>2]|0)|0?(s=a+132|0,r=(f[l>>2]|0)+(f[k>>2]|0)|0,b[x>>0]=1,Td(s,r,x),(tc(a,f[(f[n>>2]|0)+32>>2]|0)|0)!=-1):0){k=a+240|0;f[a+384>>2]=a;g=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;g=f[g>>2]|0;g=(f[g>>2]|0)+(f[g+16>>2]|0)|0;e=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;e=f[e>>2]|0;j=e+8|0;e=e+16|0;e=Dj(f[j>>2]|0,f[j+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0)|0;j=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Oi(k,g,e,d[(f[j>>2]|0)+38>>1]|0);f[a+380>>2]=c;xi(z);j=a+280|0;c=j;e=k;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));a:do if(Vg(j,1,x)|0){c=k;e=j;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));e=x;c=f[e>>2]|0;e=f[e+4>>2]|0;r=a+248|0;i=a+256|0;h=i;g=f[h>>2]|0;h=f[h+4>>2]|0;r=Dj(f[r>>2]|0,f[r+4>>2]|0,g|0,h|0)|0;q=I;if(e>>>0>q>>>0|(e|0)==(q|0)&c>>>0>r>>>0){A=46;break}q=lk(g|0,h|0,c|0,e|0)|0;r=i;f[r>>2]=q;f[r+4>>2]=I;dd(a+320|0,k)|0;if(!(Ye(k)|0)){c=0;break}c=z;e=k;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));if((Ya(a,f[o>>2]|0)|0)==-1){c=0;break}r=f[(f[n>>2]|0)+32>>2]|0;q=z+16|0;n=f[q>>2]|0;o=(f[z>>2]|0)+n|0;m=z+8|0;q=Dj(f[m>>2]|0,f[m+4>>2]|0,n|0,f[q+4>>2]|0)|0;Oi(r,o,q,d[r+38>>1]|0);do if((f[t>>2]|0)!=(f[v>>2]|0)){r=f[y>>2]|0;if(((f[r+4>>2]|0)-(f[r>>2]|0)|0)<=0)break;c=0;do{f[p>>2]=c;f[x>>2]=f[p>>2];c=c+3|0;if(!(Ac(a,x)|0)){c=0;break a}r=f[y>>2]|0}while((c|0)<((f[r+4>>2]|0)-(f[r>>2]|0)>>2|0))}while(0);if(b[a+316>>0]|0)bi(j);h=f[y>>2]|0;r=f[h+28>>2]|0;i=f[h+24>>2]|0;q=i;if((r-i|0)>0){l=f[s>>2]|0;p=r-i>>2;n=h+12|0;o=0;do{do if(f[l+(o>>>5<<2)>>2]&1<<(o&31)|0){m=q+(o<<2)|0;c=f[m>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){k=f[n>>2]|0;g=f[k+(e<<2)>>2]|0;e=g+1|0;b:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break b;g=f[k+(g<<2)>>2]|0;j=g+1|0;if((g|0)<0)break b;g=((j|0)%3|0|0)==0?g+-2|0:j;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[m>>2]=c}while(0);o=o+1|0}while((o|0)<(p|0))}g=f[t>>2]|0;s=f[v>>2]|0;c=s;if((g|0)==(s|0)){h=r;e=g}else{i=0;do{ff(c+(i*116|0)+4|0,h)|0;c=f[v>>2]|0;e=f[c+(i*116|0)+104>>2]|0;g=f[c+(i*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[w>>2]=f[e>>2];f[x>>2]=f[w>>2];Gd(c+(i*116|0)+4|0,x);e=e+4|0;c=f[v>>2]|0}while((e|0)!=(g|0));Fh(c+(i*116|0)+4|0,0,0);i=i+1|0;g=f[t>>2]|0;e=f[v>>2]|0;c=e;h=f[y>>2]|0}while(i>>>0<((g-e|0)/116|0)>>>0);i=f[h+24>>2]|0;h=f[h+28>>2]|0}i=h-i>>2;k=a+208|0;m=a+212|0;l=f[m>>2]|0;h=f[k>>2]|0;j=l-h>>2;do if(i>>>0>j>>>0){Oe(k,i-j|0);c=f[v>>2]|0;g=f[t>>2]|0;e=c}else{if(i>>>0>=j>>>0)break;h=h+(i<<2)|0;if((l|0)==(h|0))break;f[m>>2]=l+(~((l+-4-h|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){m=0;while(1){k=(f[c+(m*116|0)+60>>2]|0)-(f[c+(m*116|0)+56>>2]|0)>>2;l=f[y>>2]|0;l=(f[l+28>>2]|0)-(f[l+24>>2]|0)>>2;k=(k|0)<(l|0)?l:k;l=c+(m*116|0)+88|0;j=c+(m*116|0)+92|0;i=f[j>>2]|0;c=f[l>>2]|0;h=i-c>>2;do if(k>>>0>h>>>0){Oe(l,k-h|0);e=f[v>>2]|0;g=f[t>>2]|0}else{if(k>>>0>=h>>>0)break;c=c+(k<<2)|0;if((i|0)==(c|0))break;f[j>>2]=i+(~((i+-4-c|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=fb(a)|0}else A=46;while(0);if((A|0)==46)c=0;Jm(z+24|0)}else c=0;else c=0}else c=0}else c=0}else c=0;while(0);A=c;u=B;return A|0}function ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=Ka;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=Zi(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=lk(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=Zi(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=lk(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(lk(Zi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function bb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+80|0;x=A+64|0;i=A+60|0;o=A+56|0;n=A+52|0;m=A+48|0;z=A;p=A+44|0;w=A+40|0;f[a+144>>2]=0;h=a+160|0;if(f[h>>2]|0){e=a+156|0;c=f[e>>2]|0;if(c|0)do{y=c;c=f[c>>2]|0;Em(y)}while((c|0)!=0);f[e>>2]=0;c=f[a+152>>2]|0;if(c|0){e=a+148|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[h>>2]=0}k=a+4|0;if(!(Pf(i,f[(f[k>>2]|0)+32>>2]|0)|0)){z=0;u=A;return z|0}l=a+168|0;f[l>>2]=f[i>>2];do if(Pf(o,f[(f[k>>2]|0)+32>>2]|0)|0){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);c=_i(60)|0;uk(c);y=a+8|0;e=f[y>>2]|0;f[y>>2]=c;if(e){Lf(e);Em(e);c=f[y>>2]|0;if(!c){c=0;break}}if(dh(c,f[o>>2]|0)|0){h=a+172|0;c=f[h>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);gg(h,f[o>>2]|0);h=a+184|0;c=f[h>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);gg(h,f[o>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+96>>2]=-1;f[a+104>>2]=-1;f[a+100>>2]=-1;c=f[(f[k>>2]|0)+32>>2]|0;v=c+8|0;t=f[v+4>>2]|0;h=c+16|0;g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;if((t|0)>(g|0)|((t|0)==(g|0)?(f[v>>2]|0)>>>0>e>>>0:0)){j=b[(f[c>>2]|0)+e>>0]|0;i=lk(e|0,g|0,1,0)|0;v=h;f[v>>2]=i;f[v+4>>2]=I;v=a+224|0;i=f[v>>2]|0;t=a+228|0;c=f[t>>2]|0;if((c|0)!=(i|0))do{f[t>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){h=c+-8|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-28>>2]|0;if(e|0){h=c+-24|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-40>>2]|0;if(e|0){h=c+-36|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}Uf(c+-112|0);c=f[t>>2]|0}while((c|0)!=(i|0));c=j&255;xe(v,c);if(Pf(n,f[(f[k>>2]|0)+32>>2]|0)|0?(f[o>>2]|0)>>>0>=(f[n>>2]|0)>>>0:0)if(Pf(m,f[(f[k>>2]|0)+32>>2]|0)|0?(s=a+132|0,r=(f[m>>2]|0)+(f[l>>2]|0)|0,b[x>>0]=1,Td(s,r,x),(tc(a,f[(f[k>>2]|0)+32>>2]|0)|0)!=-1):0){r=a+240|0;f[a+384>>2]=a;j=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;j=f[j>>2]|0;j=(f[j>>2]|0)+(f[j+16>>2]|0)|0;o=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;o=f[o>>2]|0;q=o+8|0;o=o+16|0;o=Dj(f[q>>2]|0,f[q+4>>2]|0,f[o>>2]|0,f[o+4>>2]|0)|0;q=(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Oi(r,j,o,d[(f[q>>2]|0)+38>>1]|0);q=Ra[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+388>>2]=q;f[a+392>>2]=(f[m>>2]|0)+(f[l>>2]|0);f[a+380>>2]=c;xi(z);a:do if($b(r,z)|0){if((Xa(a,f[n>>2]|0)|0)==-1){c=0;break}r=f[(f[k>>2]|0)+32>>2]|0;q=z+16|0;n=f[q>>2]|0;o=(f[z>>2]|0)+n|0;m=z+8|0;q=Dj(f[m>>2]|0,f[m+4>>2]|0,n|0,f[q+4>>2]|0)|0;Oi(r,o,q,d[r+38>>1]|0);do if((f[t>>2]|0)!=(f[v>>2]|0)){r=f[y>>2]|0;if(((f[r+4>>2]|0)-(f[r>>2]|0)|0)<=0)break;c=0;do{f[p>>2]=c;f[x>>2]=f[p>>2];c=c+3|0;if(!(zc(a,x)|0)){c=0;break a}r=f[y>>2]|0}while((c|0)<((f[r+4>>2]|0)-(f[r>>2]|0)>>2|0))}while(0);if(b[a+316>>0]|0)bi(a+280|0);h=f[y>>2]|0;r=f[h+28>>2]|0;i=f[h+24>>2]|0;q=i;if((r-i|0)>0){l=f[s>>2]|0;p=r-i>>2;n=h+12|0;o=0;do{do if(f[l+(o>>>5<<2)>>2]&1<<(o&31)|0){m=q+(o<<2)|0;c=f[m>>2]|0;if((c|0)<0)break;e=c+1|0;e=((e|0)%3|0|0)==0?c+-2|0:e;if((e|0)>=0){k=f[n>>2]|0;g=f[k+(e<<2)>>2]|0;e=g+1|0;b:do if((g|0)<0)e=c;else{e=((e|0)%3|0|0)==0?g+-2|0:e;if(!((e|0)>-1&(e|0)!=(c|0))){g=e;e=c;break}while(1){g=e+1|0;g=((g|0)%3|0|0)==0?e+-2|0:g;if((g|0)<0)break b;g=f[k+(g<<2)>>2]|0;j=g+1|0;if((g|0)<0)break b;g=((j|0)%3|0|0)==0?g+-2|0:j;if((g|0)>-1&(g|0)!=(c|0))e=g;else break}}while(0);if((g|0)==(c|0))break;else c=e}f[m>>2]=c}while(0);o=o+1|0}while((o|0)<(p|0))}g=f[t>>2]|0;s=f[v>>2]|0;c=s;if((g|0)==(s|0)){h=r;e=g}else{i=0;do{ff(c+(i*116|0)+4|0,h)|0;c=f[v>>2]|0;e=f[c+(i*116|0)+104>>2]|0;g=f[c+(i*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[w>>2]=f[e>>2];f[x>>2]=f[w>>2];Gd(c+(i*116|0)+4|0,x);e=e+4|0;c=f[v>>2]|0}while((e|0)!=(g|0));Fh(c+(i*116|0)+4|0,0,0);i=i+1|0;g=f[t>>2]|0;e=f[v>>2]|0;c=e;h=f[y>>2]|0}while(i>>>0<((g-e|0)/116|0)>>>0);i=f[h+24>>2]|0;h=f[h+28>>2]|0}i=h-i>>2;k=a+208|0;m=a+212|0;l=f[m>>2]|0;h=f[k>>2]|0;j=l-h>>2;do if(i>>>0>j>>>0){Oe(k,i-j|0);c=f[v>>2]|0;g=f[t>>2]|0;e=c}else{if(i>>>0>=j>>>0)break;h=h+(i<<2)|0;if((l|0)==(h|0))break;f[m>>2]=l+(~((l+-4-h|0)>>>2)<<2)}while(0);if((g|0)!=(e|0)){m=0;while(1){k=(f[c+(m*116|0)+60>>2]|0)-(f[c+(m*116|0)+56>>2]|0)>>2;l=f[y>>2]|0;l=(f[l+28>>2]|0)-(f[l+24>>2]|0)>>2;k=(k|0)<(l|0)?l:k;l=c+(m*116|0)+88|0;j=c+(m*116|0)+92|0;i=f[j>>2]|0;c=f[l>>2]|0;h=i-c>>2;do if(k>>>0>h>>>0){Oe(l,k-h|0);e=f[v>>2]|0;g=f[t>>2]|0}else{if(k>>>0>=h>>>0)break;c=c+(k<<2)|0;if((i|0)==(c|0))break;f[j>>2]=i+(~((i+-4-c|0)>>>2)<<2)}while(0);m=m+1|0;if(m>>>0>=((g-e|0)/116|0)>>>0)break;else c=e}}c=fb(a)|0}else c=0;while(0);Jm(z+24|0)}else c=0;else c=0}else c=0}else c=0}else c=0;while(0);z=c;u=A;return z|0}function cb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=u;u=u+64|0;R=S+16|0;P=S;H=a+8|0;f[H>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Oe(i,e-j|0);d=R;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[P>>2]=0;if(!e){d=0;g=0}else{Xd(R,e,P);d=f[R+12>>2]|0;g=f[R+16>>2]|0}f[P>>2]=0;h=R+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Xd(R+12|0,e-i|0,P);i=R+24|0;f[P>>2]=0;h=R+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else Xd(i,e-j|0,P);i=R+36|0;f[P>>2]=0;h=R+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else Xd(i,e-j|0,P);h=f[R>>2]|0;if((f[H>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{G=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(G|0)?G:d}j=j+1|0;d=f[H>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;o=18}}else{d=d-(f[i>>2]|0)|0;o=18}if((o|0)==18){o=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}t=f[a+48>>2]|0;v=f[a+52>>2]|0;G=_i(16)|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;Og(P,e);B=a+56|0;h=f[B>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;E=g-d|0;F=E>>2;a:do if((E|0)>4){A=t+64|0;x=t+28|0;z=(e|0)>0;D=a+16|0;y=a+32|0;E=a+12|0;C=a+20|0;w=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){pl(i);d=f[i>>2]|0}o=f[d+(h<<2)>>2]|0;r=o+((o|0)<0?0:((o>>>0)%3|0|0)==0?2:-1)|0;q=r>>>5;s=1<<(r&31);p=(r|0)<0;g=o;n=1;d=0;b:while(1){do{if((g|0)<=-1){o=61;break b}i=f[R+(d*12|0)>>2]|0;if(((f[(f[t>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(Q=f[(f[(f[A>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(Q|0)>=0):0)?(K=f[x>>2]|0,m=f[v>>2]|0,I=f[m+(f[K+(Q<<2)>>2]<<2)>>2]|0,J=Q+1|0,J=f[m+(f[K+((((J|0)%3|0|0)==0?Q+-2|0:J)<<2)>>2]<<2)>>2]|0,K=f[m+(f[K+((((Q>>>0)%3|0|0)==0?2:-1)+Q<<2)>>2]<<2)>>2]|0,(I|0)<(h|0)&(J|0)<(h|0)&(K|0)<(h|0)):0){k=X(I,e)|0;l=X(J,e)|0;m=X(K,e)|0;if(z){j=0;do{f[i+(j<<2)>>2]=(f[c+(j+m<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=42;break b}}do if(n){i=g+1|0;g=((i|0)%3|0|0)==0?g+-2|0:i;i=f[t>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[A>>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;i=f[t>>2]|0;if(!(f[i+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[A>>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)==(o|0)){o=61;break b}}while(!(n&(g|0)<0));g=(s&f[i+(q<<2)>>2]|0)!=0;if(g|p){g=g?-1073741824:r;n=0;continue}g=f[(f[(f[A>>2]|0)+12>>2]|0)+(r<<2)>>2]|0;if((g|0)<0){n=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;n=0;continue}else{g=g+-1|0;n=0;continue}}if((o|0)==61)if((d|0)>0)o=42;else{O=X(h,e)|0;o=73}if((o|0)==42){o=0;if(z){vf(f[P>>2]|0,0,w|0)|0;k=d+-1|0;m=G+(k<<2)|0;k=f[a+60+(k*12|0)>>2]|0;l=f[P>>2]|0;n=0;g=0;do{s=f[m>>2]|0;f[m>>2]=s+1;if(!(f[k+(s>>>5<<2)>>2]&1<<(s&31))){i=f[R+(n*12|0)>>2]|0;j=0;do{s=l+(j<<2)|0;f[s>>2]=(f[s>>2]|0)+(f[i+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0}n=n+1|0}while((n|0)!=(d|0))}else{i=d+-1|0;k=G+(i<<2)|0;i=f[a+60+(i*12|0)>>2]|0;j=f[k>>2]|0;l=0;g=0;do{s=j;j=j+1|0;f[k>>2]=j;g=g+((f[i+(s>>>5<<2)>>2]&1<<(s&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}i=X(h,e)|0;if(g){k=f[P>>2]|0;if(z){d=0;do{s=k+(d<<2)|0;f[s>>2]=(f[s>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}m=b+(i<<2)|0;l=c+(i<<2)|0;if((f[H>>2]|0)>0){i=0;do{d=f[k+(i<<2)>>2]|0;g=f[D>>2]|0;if((d|0)>(g|0)){j=f[y>>2]|0;f[j+(i<<2)>>2]=g}else{s=f[E>>2]|0;j=f[y>>2]|0;f[j+(i<<2)>>2]=(d|0)<(s|0)?s:d}i=i+1|0;d=f[H>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[m+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[D>>2]|0)){if((d|0)<(f[E>>2]|0)){d=(f[C>>2]|0)+d|0;o=95}}else{d=d-(f[C>>2]|0)|0;o=95}if((o|0)==95){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[H>>2]|0))}}}else{O=i;o=73}}if((o|0)==73?(o=0,L=c+((X(h+-1|0,e)|0)<<2)|0,M=b+(O<<2)|0,N=c+(O<<2)|0,(f[H>>2]|0)>0):0){i=0;do{d=f[L+(i<<2)>>2]|0;g=f[D>>2]|0;if((d|0)>(g|0)){j=f[y>>2]|0;f[j+(i<<2)>>2]=g}else{s=f[E>>2]|0;j=f[y>>2]|0;f[j+(i<<2)>>2]=(d|0)<(s|0)?s:d}i=i+1|0;d=f[H>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[M+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=N+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[D>>2]|0)){if((d|0)<(f[E>>2]|0)){d=(f[C>>2]|0)+d|0;o=83}}else{d=d-(f[C>>2]|0)|0;o=83}if((o|0)==83){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[H>>2]|0))}}h=h+1|0;if((h|0)>=(F|0)){d=P;break a}i=f[B>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=P;while(0);h=f[d>>2]|0;if(h|0){g=P+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h)}Em(G);g=f[R+36>>2]|0;if(g|0){h=R+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(g)}d=f[R+24>>2]|0;if(d|0){h=R+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}d=f[R+12>>2]|0;if(d|0){h=R+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}h=f[R>>2]|0;if(!h){u=S;return 1}g=R+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h);u=S;return 1}function db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=u;u=u+64|0;O=P+16|0;N=P;I=a+8|0;f[I>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Oe(i,e-j|0);d=O;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[N>>2]=0;if(!e){d=0;g=0}else{Xd(O,e,N);d=f[O+12>>2]|0;g=f[O+16>>2]|0}f[N>>2]=0;h=O+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else Xd(O+12|0,e-i|0,N);i=O+24|0;f[N>>2]=0;h=O+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else Xd(i,e-j|0,N);i=O+36|0;f[N>>2]=0;h=O+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else Xd(i,e-j|0,N);h=f[O>>2]|0;if((f[I>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{H=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(H|0)?H:d}j=j+1|0;d=f[I>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;o=18}}else{d=d-(f[i>>2]|0)|0;o=18}if((o|0)==18){o=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}w=f[a+48>>2]|0;x=f[a+52>>2]|0;H=_i(16)|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;Og(N,e);C=a+56|0;h=f[C>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;F=g-d|0;G=F>>2;a:do if((F|0)>4){z=w+12|0;B=(e|0)>0;E=a+16|0;A=a+32|0;F=a+12|0;D=a+20|0;y=e<<2;i=h;h=1;while(1){if(g-d>>2>>>0<=h>>>0){pl(i);d=f[i>>2]|0}s=f[d+(h<<2)>>2]|0;v=(((s>>>0)%3|0|0)==0?2:-1)+s|0;t=(s|v|0)<0;r=(s|0)<0?s:v;g=s;q=1;d=0;b:while(1){do{if((g|0)<=-1){o=62;break b}o=f[O+(d*12|0)>>2]|0;p=f[z>>2]|0;j=f[p+(g<<2)>>2]|0;if((j|0)>=0){k=f[w>>2]|0;l=f[x>>2]|0;n=f[l+(f[k+(j<<2)>>2]<<2)>>2]|0;i=j+1|0;i=((i|0)%3|0|0)==0?j+-2|0:i;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;m=f[l+(i<<2)>>2]|0;i=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((i|0)<0)i=-1073741824;else i=f[k+(i<<2)>>2]|0;i=f[l+(i<<2)>>2]|0;if((n|0)<(h|0)&(m|0)<(h|0)&(i|0)<(h|0)){l=X(n,e)|0;k=X(m,e)|0;j=X(i,e)|0;if(B){i=0;do{f[o+(i<<2)>>2]=(f[c+(i+j<<2)>>2]|0)+(f[c+(i+k<<2)>>2]|0)-(f[c+(i+l<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;o=45;break b}}}do if(q){o=g+1|0;g=((o|0)%3|0|0)==0?g+-2|0:o;if((g|0)>=0){g=f[p+(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=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((g|0)>=0){g=f[p+(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)==(s|0)){o=62;break b}}while(!(q&(g|0)<0));if(t){g=r;q=0;continue}g=f[p+(v<<2)>>2]|0;if((g|0)<0){q=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;q=0;continue}else{g=g+-1|0;q=0;continue}}if((o|0)==62)if((d|0)>0)o=45;else{M=X(h,e)|0;o=74}if((o|0)==45){o=0;if(B){vf(f[N>>2]|0,0,y|0)|0;k=d+-1|0;m=H+(k<<2)|0;k=f[a+60+(k*12|0)>>2]|0;l=f[N>>2]|0;n=0;g=0;do{v=f[m>>2]|0;f[m>>2]=v+1;if(!(f[k+(v>>>5<<2)>>2]&1<<(v&31))){i=f[O+(n*12|0)>>2]|0;j=0;do{v=l+(j<<2)|0;f[v>>2]=(f[v>>2]|0)+(f[i+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(e|0));g=g+1|0}n=n+1|0}while((n|0)!=(d|0))}else{i=d+-1|0;k=H+(i<<2)|0;i=f[a+60+(i*12|0)>>2]|0;j=f[k>>2]|0;l=0;g=0;do{v=j;j=j+1|0;f[k>>2]=j;g=g+((f[i+(v>>>5<<2)>>2]&1<<(v&31)|0)==0&1)|0;l=l+1|0}while((l|0)!=(d|0))}i=X(h,e)|0;if(g){k=f[N>>2]|0;if(B){d=0;do{v=k+(d<<2)|0;f[v>>2]=(f[v>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}m=b+(i<<2)|0;l=c+(i<<2)|0;if((f[I>>2]|0)>0){i=0;do{d=f[k+(i<<2)>>2]|0;g=f[E>>2]|0;if((d|0)>(g|0)){j=f[A>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[F>>2]|0;j=f[A>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[I>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[m+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=l+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[E>>2]|0)){if((d|0)<(f[F>>2]|0)){d=(f[D>>2]|0)+d|0;o=96}}else{d=d-(f[D>>2]|0)|0;o=96}if((o|0)==96){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[I>>2]|0))}}}else{M=i;o=74}}if((o|0)==74?(o=0,J=c+((X(h+-1|0,e)|0)<<2)|0,K=b+(M<<2)|0,L=c+(M<<2)|0,(f[I>>2]|0)>0):0){i=0;do{d=f[J+(i<<2)>>2]|0;g=f[E>>2]|0;if((d|0)>(g|0)){j=f[A>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[F>>2]|0;j=f[A>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[I>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[K+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;g=L+(i<<2)|0;f[g>>2]=d;if((d|0)<=(f[E>>2]|0)){if((d|0)<(f[F>>2]|0)){d=(f[D>>2]|0)+d|0;o=84}}else{d=d-(f[D>>2]|0)|0;o=84}if((o|0)==84){o=0;f[g>>2]=d}i=i+1|0}while((i|0)<(f[I>>2]|0))}}h=h+1|0;if((h|0)>=(G|0)){d=N;break a}i=f[C>>2]|0;d=f[i>>2]|0;g=f[i+4>>2]|0}}else d=N;while(0);h=f[d>>2]|0;if(h|0){g=N+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h)}Em(H);g=f[O+36>>2]|0;if(g|0){h=O+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(g)}d=f[O+24>>2]|0;if(d|0){h=O+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}d=f[O+12>>2]|0;if(d|0){h=O+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}h=f[O>>2]|0;if(!h){u=P;return 1}g=O+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h);u=P;return 1}function eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=Ka,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}vf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function fb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=u;u=u+48|0;F=I+36|0;H=I+24|0;G=I+12|0;C=I;E=a+4|0;d=f[(f[E>>2]|0)+44>>2]|0;D=a+8|0;g=f[D>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;h=d+96|0;d=d+100|0;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;c=f[d>>2]|0;b=f[h>>2]|0;i=(c-b|0)/12|0;if(g>>>0<=i>>>0){if(g>>>0>>0?(e=b+(g*12|0)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0)}else ud(h,g-i|0,F);r=a+224|0;q=a+228|0;if((f[q>>2]|0)==(f[r>>2]|0)){d=f[D>>2]|0;d=(f[d+28>>2]|0)-(f[d+24>>2]|0)>>2;f[F>>2]=-1;cg(H,d,F);d=f[E>>2]|0;b=f[d+44>>2]|0;e=f[b+100>>2]|0;c=f[b+96>>2]|0;if((e-c|0)>0){o=G+4|0;p=G+8|0;l=b;m=c;c=d;h=d;n=0;b=0;while(1){f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;i=n*3|0;if((n|0)<0)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i<<2)>>2]|0;a=f[H>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;k=b;b=b+1|0}else k=d;f[G>>2]=k;if((i|0)<-1)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i+1<<2)>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;d=b;b=b+1|0}f[o>>2]=d;if((i|0)<-2)d=-1073741824;else d=f[(f[f[D>>2]>>2]|0)+(i+2<<2)>>2]|0;g=a+(d<<2)|0;d=f[g>>2]|0;if((d|0)==-1){f[g>>2]=b;d=b;b=b+1|0}f[p>>2]=d;g=l+96|0;d=l+100|0;a=(e-m|0)/12|0;i=m;j=n;n=n+1|0;if((j|0)<(a|0)){d=l;g=m}else{c=e;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;if(n>>>0<=a>>>0)if(n>>>0>>0?(A=i+(n*12|0)|0,(c|0)!=(A|0)):0){e=c+(~(((c+-12-A|0)>>>0)/12|0)*12|0)|0;f[d>>2]=e;d=l;g=m}else{d=l;g=m}else{ud(g,n-a|0,F);h=f[E>>2]|0;C=f[h+44>>2]|0;i=f[g>>2]|0;d=C;e=f[C+100>>2]|0;g=f[C+96>>2]|0}c=h}f[i+(j*12|0)>>2]=k;f[i+(j*12|0)+4>>2]=f[o>>2];f[i+(j*12|0)+8>>2]=f[p>>2];if((n|0)>=((e-g|0)/12|0|0)){d=H;break}else{l=d;m=g}}}else{c=d;d=H;b=0}f[(f[c+4>>2]|0)+80>>2]=b;d=f[d>>2]|0;if(d|0){c=H+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d)}u=I;return 1}f[H>>2]=0;A=H+4|0;f[A>>2]=0;f[H+8>>2]=0;b=f[D>>2]|0;Og(G,(f[b+4>>2]|0)-(f[b>>2]|0)>>2);b=f[D>>2]|0;if(((f[b+28>>2]|0)-(f[b+24>>2]|0)|0)>0){o=a+132|0;p=H+8|0;n=0;do{h=f[(f[b+24>>2]|0)+(n<<2)>>2]|0;a:do if((h|0)>=0){b:do if((f[(f[o>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0)==0?(s=f[q>>2]|0,t=f[r>>2]|0,v=t,(s|0)!=(t|0)):0){a=(((h>>>0)%3|0|0)==0?2:-1)+h|0;j=(a|0)<0;l=(s-t|0)/116|0;i=b+12|0;g=b+12|0;k=0;c:while(1){m=f[(f[f[v+(k*116|0)+68>>2]>>2]|0)+(h<<2)>>2]|0;do if(1<<(m&31)&f[(f[v+(k*116|0)+16>>2]|0)+(m>>>5<<2)>>2]|0){e=f[v+(k*116|0)+32>>2]|0;m=f[e+(h<<2)>>2]|0;if(!j){c=f[(f[i>>2]|0)+(a<<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)==(h|0))break;else d=c}else d=a;while(1){c=f[e+(d<<2)>>2]|0;if((d|0)<0)break c;if((c|0)!=(m|0)){h=d;break b}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((c|0)>=0){c=f[(f[g>>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)==(h|0))break;else d=c}}while(0);k=k+1|0;if(k>>>0>=l>>>0)break b}while(1)if((c|0)==(m|0))c=m;else{h=d;break}}while(0);c=f[A>>2]|0;f[(f[G>>2]|0)+(h<<2)>>2]=c-(f[H>>2]|0)>>2;f[F>>2]=h;if(c>>>0<(f[p>>2]|0)>>>0){f[c>>2]=h;f[A>>2]=c+4}else{$e(H,F);b=f[D>>2]|0}if((((h|0)>=0?(w=(((h>>>0)%3|0|0)==0?2:-1)+h|0,(w|0)>=0):0)?(x=f[(f[b+12>>2]|0)+(w<<2)>>2]|0,(x|0)>=0):0)?(y=x+(((x>>>0)%3|0|0)==0?2:-1)|0,(y|0)>-1&(y|0)!=(h|0)):0){g=y;e=h;while(1){b=f[q>>2]|0;c=f[r>>2]|0;d=c;d:do if((b|0)!=(c|0)){c=(b-c|0)/116|0;b=0;while(1){m=f[d+(b*116|0)+32>>2]|0;b=b+1|0;if((f[m+(g<<2)>>2]|0)!=(f[m+(e<<2)>>2]|0))break;if(b>>>0>=c>>>0){z=67;break d}}b=f[A>>2]|0;f[(f[G>>2]|0)+(g<<2)>>2]=b-(f[H>>2]|0)>>2;f[F>>2]=g;if(b>>>0<(f[p>>2]|0)>>>0){f[b>>2]=g;f[A>>2]=b+4}else $e(H,F)}else z=67;while(0);if((z|0)==67){z=0;m=f[G>>2]|0;f[m+(g<<2)>>2]=f[m+(e<<2)>>2]}b=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((b|0)<0)break a;b=f[(f[(f[D>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break a;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;if((b|0)>-1&(b|0)!=(h|0)){e=g;g=b}else break}}}while(0);n=n+1|0;b=f[D>>2]|0}while((n|0)<((f[b+28>>2]|0)-(f[b+24>>2]|0)>>2|0))}e=f[E>>2]|0;b=f[e+44>>2]|0;d=f[b+100>>2]|0;c=f[b+96>>2]|0;if((d-c|0)>0){m=C+4|0;n=C+8|0;j=c;c=e;g=e;k=0;while(1){f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;i=(f[G>>2]|0)+(k*3<<2)|0;f[C>>2]=f[i>>2];f[C+4>>2]=f[i+4>>2];f[C+8>>2]=f[i+8>>2];i=b+96|0;h=b+100|0;a=(d-j|0)/12|0;e=j;l=k;k=k+1|0;if((l|0)<(a|0))h=j;else{c=d;f[F>>2]=0;f[F+4>>2]=0;f[F+8>>2]=0;if(k>>>0<=a>>>0)if(k>>>0>>0?(B=e+(k*12|0)|0,(c|0)!=(B|0)):0){d=c+(~(((c+-12-B|0)>>>0)/12|0)*12|0)|0;f[h>>2]=d;c=j}else c=j;else{ud(i,k-a|0,F);g=f[E>>2]|0;c=f[g+44>>2]|0;e=f[i>>2]|0;b=c;d=f[c+100>>2]|0;c=f[c+96>>2]|0}h=c;c=g}f[e+(l*12|0)>>2]=f[C>>2];f[e+(l*12|0)+4>>2]=f[m>>2];f[e+(l*12|0)+8>>2]=f[n>>2];if((k|0)>=((d-h|0)/12|0|0))break;else j=h}}else c=e;b=f[H>>2]|0;f[(f[c+4>>2]|0)+80>>2]=(f[A>>2]|0)-b>>2;d=f[G>>2]|0;if(d){c=G+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);b=f[H>>2]|0}if(b|0){c=f[A>>2]|0;if((c|0)!=(b|0))f[A>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}u=I;return 1}function gb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;A=B+16|0;z=B+4|0;x=B;f[a+36>>2]=b;y=a+24|0;w=a+28|0;d=f[w>>2]|0;c=f[y>>2]|0;g=d-c>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(e=c+(b<<2)|0,(d|0)!=(e|0)):0)f[w>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else Xd(y,b-g|0,2616);f[A>>2]=0;v=A+4|0;f[v>>2]=0;t=A+8|0;f[t>>2]=0;if(b|0){if((b|0)<0)ql(A);c=((b+-1|0)>>>5)+1|0;s=_i(c<<2)|0;f[A>>2]=s;f[t>>2]=c;f[v>>2]=b;c=b>>>5;vf(s|0,0,c<<2|0)|0;d=b-(c<<5)|0;c=s+(c<<2)|0;if(d|0)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}s=a+4|0;c=(f[s>>2]|0)-(f[a>>2]|0)|0;g=c>>2;f[z>>2]=0;e=z+4|0;f[e>>2]=0;d=z+8|0;f[d>>2]=0;if(g){if((c|0)<0)ql(z);c=((g+-1|0)>>>5)+1|0;h=_i(c<<2)|0;f[z>>2]=h;f[d>>2]=c;f[e>>2]=g;c=g>>>5;vf(h|0,0,c<<2|0)|0;d=g-(c<<5)|0;c=h+(c<<2)|0;if(d)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}else h=0;c=f[a>>2]|0;a:do if((f[s>>2]|0)-c>>2>>>0>2){n=a+12|0;q=a+32|0;o=a+52|0;p=a+56|0;r=a+48|0;m=0;d=b;b:while(1){l=m*3|0;if((m|0)>=0){b=f[c+(l<<2)>>2]|0;e=l+1|0;e=((e|0)%3|0|0)==0?l+-2|0:e;if((e|0)<0)g=-1073741824;else g=f[c+(e<<2)>>2]|0;e=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((e|0)<0)c=-1073741824;else c=f[c+(e<<2)>>2]|0;if((b|0)!=(g|0)?!((b|0)==(c|0)|(g|0)==(c|0)):0){k=0;do{g=k+l|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){c=f[(f[a>>2]|0)+(g<<2)>>2]|0;f[x>>2]=c;e=f[A>>2]|0;if(!(f[e+(c>>>5<<2)>>2]&1<<(c&31)))b=0;else{c=f[w>>2]|0;if((c|0)==(f[q>>2]|0))$e(y,2616);else{f[c>>2]=-1073741824;f[w>>2]=c+4}c=f[o>>2]|0;if((c|0)==(f[p>>2]|0))$e(r,x);else{f[c>>2]=f[x>>2];f[o>>2]=c+4}c=f[v>>2]|0;e=f[t>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){ql(A);e=f[t>>2]|0}j=e<<6;c=c+32&-32;Le(A,e<<5>>>0<1073741823?(j>>>0>>0?c:j):2147483647);c=f[v>>2]|0}f[v>>2]=c+1;e=f[A>>2]|0;b=e+(c>>>5<<2)|0;f[b>>2]=f[b>>2]&~(1<<(c&31));f[x>>2]=d;c=d;b=1;d=d+1|0}j=e+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);c:do if(b){c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);e=f[x>>2]|0;f[(f[y>>2]|0)+(e<<2)>>2]=c;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}else{c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);f[(f[y>>2]|0)+(f[x>>2]<<2)>>2]=c;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}while(0);do if((e|0)==67){e=0;if((g|0)==-1073741824){c=-1073741824;e=74}}else if((e|0)==68)if((g|0)>=0){c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=74;break}if(!((c>>>0)%3|0)){c=c+2|0;e=74;break}else{c=c+-1|0;e=74;break}}else e=74}else{c=g;e=74}while(0);d:do if((e|0)==74){h=f[z>>2]|0;g=h+(c>>>5<<2)|0;i=1<<(c&31);e=(c|0)<0;if((c|0)!=-1073741824){if(!b){b=c;c=i;while(1){if(e)break b;f[g>>2]=f[g>>2]|c;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);h=f[z>>2]|0;if((c|0)==-1073741824)break d;else{b=c;g=h+(c>>>5<<2)|0;e=(c|0)<0;c=1<<(c&31)}}}j=f[a>>2]|0;b=g;h=e;e=i;while(1){g=j+(c<<2)|0;do{f[b>>2]=f[b>>2]|e;f[g>>2]=f[x>>2]}while(h);c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=c;break}if(!((c>>>0)%3|0)){e=c+2|0;break}else{e=c+-1|0;break}}else e=c;while(0);h=f[z>>2]|0;if((e|0)==-1073741824)break;else{c=e;b=h+(e>>>5<<2)|0;h=(e|0)<0;e=1<<(e&31)}}}}while(0)}k=k+1|0}while((k|0)<3)}}m=m+1|0;c=f[a>>2]|0;if((m|0)>=(((f[s>>2]|0)-c>>2>>>0)/3|0|0))break a}while(1){}}while(0);j=a+44|0;f[j>>2]=0;c=f[A>>2]|0;b=f[v>>2]|0;y=b>>>5;i=c+(y<<2)|0;b=b&31;e=(y|0)!=0;e:do if(y|b|0){if(!b){g=c;d=0;while(1){f:do if(e){e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break;else e=e+1|0}}else{e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break f;e=e+1|0;if(!e)break e}}while(0);g=g+4|0;if((g|0)==(i|0))break e;else e=1}}if(e){g=c;d=0;e=0;do{h=0;while(1){if(!(f[g>>2]&1<>2]=e;d=e}if((h|0)==31)break;else h=h+1|0}g=g+4|0}while((g|0)!=(i|0))}else{g=c;d=0}e=0;do{if(!(f[g>>2]&1<>2]=d}e=e+1|0}while((e|0)!=(b|0))}while(0);d=f[z>>2]|0;if(d){Em(d);c=f[A>>2]|0}if(!c){u=B;return 1}Em(c);u=B;return 1}function hb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;hk(c)|0;if((I|0)<0){C=1;A=13323;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?13324:13329):13326}hk(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+im(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=Fg(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[13358+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;kh(a,32,d,j,g);Qk(a,p,o);kh(a,48,d,j,g^65536);Qk(a,F,C);kh(a,48,D-C|0,0,0);Qk(a,n,E);kh(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=uj(f[j>>2]|0,0,o|0)|0;x=lk(x|0,I|0,l|0,0)|0;y=I;v=Qi(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=il(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=Fg(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;kh(a,32,d,j,g);Qk(a,A,C);kh(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=Fg(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){vf(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Qk(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Qk(a,13374,1);if(m>>>0>>0&(k|0)>0)while(1){l=Fg(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){vf(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Qk(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}kh(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=Fg(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Qk(a,l,1);if(e&(k|0)<1){l=m;break}Qk(a,13374,1);l=m}else{if(l>>>0<=F>>>0)break;vf(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Qk(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}kh(a,48,k+18|0,18,0);Qk(a,v,D-v|0)}kh(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;kh(a,32,d,j,g&-65537);Qk(a,A,C);Qk(a,c!=c|0.0!=0.0?(F?13350:13354):F?13342:13346,3);kh(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function ib(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=qm()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Qk(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=mi(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=mi(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(12842+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Jc(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Gi(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=13306;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=Dj(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=13306;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?13306:13308):13307;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=13306;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=13306;i=x;break}case 109:{i=qm()|0;i=Xk(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:13316;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){kh(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=hb(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=13306;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=qi(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?13306:13306+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=Fg(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=He(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=13306;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Wk(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}kh(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Wk(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Qk(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;kh(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;kh(a,32,i,l,n);Qk(a,j,k);kh(a,48,i,l,n^65536);kh(a,48,q,r,0);Qk(a,o,r);kh(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Jc(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function jb(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+32|0;y=A+20|0;z=A+16|0;x=A+4|0;k=A;w=a+32|0;if(!(Pf(y,f[w>>2]|0)|0)){a=0;u=A;return a|0}if(!(Pf(z,f[w>>2]|0)|0)){a=0;u=A;return a|0}o=f[y>>2]|0;if(o>>>0>1431655765){a=0;u=A;return a|0}c=f[z>>2]|0;v=Zi(o|0,0,3,0)|0;t=I;if(0>t>>>0|0==(t|0)&c>>>0>v>>>0){a=0;u=A;return a|0}m=f[w>>2]|0;v=m+8|0;t=f[v+4>>2]|0;d=m+16|0;j=d;i=f[j>>2]|0;j=f[j+4>>2]|0;if(!((t|0)>(j|0)|((t|0)==(j|0)?(f[v>>2]|0)>>>0>i>>>0:0))){a=0;u=A;return a|0}t=b[(f[m>>2]|0)+i>>0]|0;l=lk(i|0,j|0,1,0)|0;v=I;s=d;f[s>>2]=l;f[s+4>>2]=v;a:do if(!(t<<24>>24)){if(!(Lc(a,o)|0)){a=0;u=A;return a|0}}else{if(c>>>0<256){if(!o)break;p=a+44|0;q=x+4|0;r=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;c=m+8|0;d=f[c>>2]|0;c=f[c+4>>2]|0;b:do if((c|0)>(v|0)|(c|0)==(v|0)&d>>>0>l>>>0){j=m;n=o;k=v;i=c;g=d;m=0;while(1){e=j+16|0;d=f[j>>2]|0;t=b[d+l>>0]|0;c=lk(l|0,k|0,1,0)|0;v=I;s=e;f[s>>2]=c;f[s+4>>2]=v;f[x>>2]=t&255;if(!((i|0)>(v|0)|(i|0)==(v|0)&g>>>0>c>>>0))break b;t=b[d+c>>0]|0;c=lk(l|0,k|0,2,0)|0;v=I;s=e;f[s>>2]=c;f[s+4>>2]=v;f[q>>2]=t&255;if(!((i|0)>(v|0)|(i|0)==(v|0)&g>>>0>c>>>0))break b;d=b[d+c>>0]|0;c=lk(l|0,k|0,3,0)|0;f[e>>2]=c;f[e+4>>2]=I;f[r>>2]=d&255;d=f[p>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Je(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=n}m=m+1|0;if(m>>>0>=c>>>0)break a;j=f[w>>2]|0;k=j+16|0;l=f[k>>2]|0;k=f[k+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;i=j+8|0;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((i|0)>(k|0)|(i|0)==(k|0)&g>>>0>l>>>0))break;else n=c}}while(0);a=0;u=A;return a|0}if(c>>>0<65536){if(!o)break;r=a+44|0;s=x+4|0;t=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;e=m+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=lk(i|0,j|0,3,0)|0;d=I;c:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;j=v;n=e;k=g;q=0;while(1){i=m+16|0;g=f[m>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8;c=i;f[c>>2]=p;f[c+4>>2]=d;f[x>>2]=e&65535;e=lk(l|0,j|0,4,0)|0;c=I;if((n|0)<(c|0)|(n|0)==(c|0)&k>>>0>>0)break c;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8;v=i;f[v>>2]=e;f[v+4>>2]=c;f[s>>2]=d&65535;c=lk(l|0,j|0,6,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0>>0)break c;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8;v=i;f[v>>2]=c;f[v+4>>2]=d;f[t>>2]=e&65535;d=f[r>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Je(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=o}q=q+1|0;if(q>>>0>=c>>>0)break a;m=f[w>>2]|0;j=m+16|0;l=f[j>>2]|0;j=f[j+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;n=m+8|0;k=f[n>>2]|0;n=f[n+4>>2]|0;p=lk(l|0,j|0,2,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0

>>0)break;else o=c}}while(0);a=0;u=A;return a|0}t=a+44|0;if((f[(f[t>>2]|0)+80>>2]|0)<2097152?(((h[a+36>>0]|0)<<8|(h[a+37>>0]|0))&65535)>513:0){if(!o)break;i=x+4|0;j=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;d:do if(Pf(k,m)|0){g=0;do{f[x>>2]=f[k>>2];if(!(Pf(k,f[w>>2]|0)|0))break d;f[i>>2]=f[k>>2];if(!(Pf(k,f[w>>2]|0)|0))break d;f[j>>2]=f[k>>2];d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))Je(d+96|0,x);else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12}g=g+1|0;if(g>>>0>=(f[y>>2]|0)>>>0)break a;v=f[w>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0}while(Pf(k,v)|0)}while(0);a=0;u=A;return a|0}if(o|0){r=x+4|0;s=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;e=m+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=lk(i|0,j|0,5,0)|0;d=I;e:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;j=v;n=e;k=g;q=0;while(1){i=m+16|0;g=f[m>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;c=i;f[c>>2]=p;f[c+4>>2]=d;f[x>>2]=e;e=lk(l|0,j|0,8,0)|0;c=I;if((n|0)<(c|0)|(n|0)==(c|0)&k>>>0>>0)break e;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;v=i;f[v>>2]=e;f[v+4>>2]=c;f[r>>2]=d;c=lk(l|0,j|0,12,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0>>0)break e;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;v=i;f[v>>2]=c;f[v+4>>2]=d;f[s>>2]=e;d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Je(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=o}q=q+1|0;if(q>>>0>=c>>>0)break a;m=f[w>>2]|0;j=m+16|0;l=f[j>>2]|0;j=f[j+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;n=m+8|0;k=f[n>>2]|0;n=f[n+4>>2]|0;p=lk(l|0,j|0,4,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0

>>0)break;else o=c}}while(0);a=0;u=A;return a|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[z>>2];a=1;u=A;return a|0}function kb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=lk(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}vf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function lb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;r=F+76|0;s=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0){l=c;m=-1073741824}else{l=c;m=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}}else{l=-1073741824;m=-1073741824}c=a+36|0;j=f[c>>2]|0;g=f[j+4>>2]|0;k=f[j>>2]|0;if(g-k>>2>>>0>l>>>0){c=k;h=g;i=j;g=k}else{pl(j);i=f[c>>2]|0;c=f[i>>2]|0;h=f[i+4>>2]|0;g=f[j>>2]|0}w=f[g+(l<<2)>>2]|0;if(h-c>>2>>>0<=m>>>0){pl(i);c=f[i>>2]|0}h=f[c+(m<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;i=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,i,B)|0;r=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;r=Dj(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=Dj(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=Dj(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Zi(r|0,s|0,r|0,s|0)|0;x=I;B=Zi(t|0,v|0,t|0,v|0)|0;x=lk(B|0,I|0,C|0,x|0)|0;C=I;B=Zi(l|0,m|0,l|0,m|0)|0;B=lk(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=Dj(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=Dj(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=Dj(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Zi(K|0,J|0,r|0,s|0)|0;d=I;g=Zi(H|0,G|0,t|0,v|0)|0;d=lk(g|0,I|0,k|0,d|0)|0;k=I;g=Zi(h|0,i|0,l|0,m|0)|0;g=lk(d|0,k|0,g|0,I|0)|0;k=I;d=Dj(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=Dj(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Zi(B|0,C|0,q|0,y|0)|0;n=I;q=Zi(B|0,C|0,z|0,A|0)|0;p=I;D=Zi(g|0,k|0,d|0,c|0)|0;e=I;j=Zi(g|0,k|0,w|0,x|0)|0;A=I;n=lk(D|0,e|0,o|0,n|0)|0;o=I;p=lk(j|0,A|0,q|0,p|0)|0;q=I;A=Zi(g|0,k|0,r|0,s|0)|0;j=I;e=Zi(g|0,k|0,t|0,v|0)|0;D=I;m=Zi(g|0,k|0,l|0,m|0)|0;k=I;j=Cg(A|0,j|0,B|0,C|0)|0;l=I;D=Cg(e|0,D|0,B|0,C|0)|0;e=I;k=Cg(m|0,k|0,B|0,C|0)|0;m=I;l=Dj(K|0,J|0,j|0,l|0)|0;j=I;e=Dj(H|0,G|0,D|0,e|0)|0;D=I;m=Dj(h|0,i|0,k|0,m|0)|0;k=I;j=Zi(l|0,j|0,l|0,j|0)|0;l=I;D=Zi(e|0,D|0,e|0,D|0)|0;l=lk(D|0,I|0,j|0,l|0)|0;j=I;k=Zi(m|0,k|0,m|0,k|0)|0;k=lk(l|0,j|0,k|0,I|0)|0;j=I;l=Dj(0,0,d|0,c|0)|0;m=I;j=Zi(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=25}break}case 1:{if(!c){g=1;c=0;E=26}else{g=1;c=0;h=j;i=k;E=25}break}default:{g=1;c=0;h=j;i=k;E=25}}if((E|0)==25)while(1){g=uj(g|0,c|0,1)|0;c=I;K=h;h=zj(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=26;break}else{i=I;E=25}}if((E|0)==26)while(1){K=il(j|0,k|0,g|0,c|0)|0;g=lk(K|0,I|0,g|0,c|0)|0;g=zj(g|0,I|0,1)|0;c=I;K=Zi(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=26;else break}E=Zi(g|0,c|0,w|0,x|0)|0;G=I;d=Zi(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=Dj(0,0,E|0,G|0)|0;G=lk(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=Dj(0,0,d|0,H|0)|0;H=lk(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=Cg(G|0,J|0,B|0,C|0)|0;K=Cg(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function mb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;r=F+76|0;s=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);m=f[(f[h>>2]|0)+28>>2]|0;l=f[m+(c<<2)>>2]|0;m=f[m+(g<<2)>>2]|0;g=a+36|0;h=f[g>>2]|0;c=f[h+4>>2]|0;k=f[h>>2]|0;if(c-k>>2>>>0>l>>>0){i=c;j=h;g=k;c=k}else{pl(h);c=f[g>>2]|0;i=f[c+4>>2]|0;j=c;g=f[h>>2]|0;c=f[c>>2]|0}w=f[g+(l<<2)>>2]|0;if(i-c>>2>>>0<=m>>>0){pl(j);c=f[j>>2]|0}h=f[c+(m<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;c=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[s>>2]=c;i=b[g+24>>0]|0;f[r>>2]=f[s>>2];eb(g,r,i,B)|0;r=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;r=Dj(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=Dj(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=Dj(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Zi(r|0,s|0,r|0,s|0)|0;x=I;B=Zi(t|0,v|0,t|0,v|0)|0;x=lk(B|0,I|0,C|0,x|0)|0;C=I;B=Zi(l|0,m|0,l|0,m|0)|0;B=lk(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=Dj(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=Dj(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=Dj(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Zi(K|0,J|0,r|0,s|0)|0;d=I;g=Zi(H|0,G|0,t|0,v|0)|0;d=lk(g|0,I|0,k|0,d|0)|0;k=I;g=Zi(h|0,i|0,l|0,m|0)|0;g=lk(d|0,k|0,g|0,I|0)|0;k=I;d=Dj(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=Dj(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Zi(B|0,C|0,q|0,y|0)|0;n=I;q=Zi(B|0,C|0,z|0,A|0)|0;p=I;D=Zi(g|0,k|0,d|0,c|0)|0;e=I;j=Zi(g|0,k|0,w|0,x|0)|0;A=I;n=lk(D|0,e|0,o|0,n|0)|0;o=I;p=lk(j|0,A|0,q|0,p|0)|0;q=I;A=Zi(g|0,k|0,r|0,s|0)|0;j=I;e=Zi(g|0,k|0,t|0,v|0)|0;D=I;m=Zi(g|0,k|0,l|0,m|0)|0;k=I;j=Cg(A|0,j|0,B|0,C|0)|0;l=I;D=Cg(e|0,D|0,B|0,C|0)|0;e=I;k=Cg(m|0,k|0,B|0,C|0)|0;m=I;l=Dj(K|0,J|0,j|0,l|0)|0;j=I;e=Dj(H|0,G|0,D|0,e|0)|0;D=I;m=Dj(h|0,i|0,k|0,m|0)|0;k=I;j=Zi(l|0,j|0,l|0,j|0)|0;l=I;D=Zi(e|0,D|0,e|0,D|0)|0;l=lk(D|0,I|0,j|0,l|0)|0;j=I;k=Zi(m|0,k|0,m|0,k|0)|0;k=lk(l|0,j|0,k|0,I|0)|0;j=I;l=Dj(0,0,d|0,c|0)|0;m=I;j=Zi(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=24}break}case 1:{if(!c){g=1;c=0;E=25}else{g=1;c=0;h=j;i=k;E=24}break}default:{g=1;c=0;h=j;i=k;E=24}}if((E|0)==24)while(1){g=uj(g|0,c|0,1)|0;c=I;K=h;h=zj(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=25;break}else{i=I;E=24}}if((E|0)==25)while(1){K=il(j|0,k|0,g|0,c|0)|0;g=lk(K|0,I|0,g|0,c|0)|0;g=zj(g|0,I|0,1)|0;c=I;K=Zi(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=25;else break}E=Zi(g|0,c|0,w|0,x|0)|0;G=I;d=Zi(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=Dj(0,0,E|0,G|0)|0;G=lk(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=Dj(0,0,d|0,H|0)|0;H=lk(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=Cg(G|0,J|0,B|0,C|0)|0;K=Cg(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function nb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;M=u;u=u+48|0;L=M+24|0;J=M+12|0;z=M;if(!b){L=0;u=M;return L|0}I=a+12|0;A=a+4|0;k=f[A>>2]|0;c=f[a>>2]|0;i=k-c>>2;g=a+16|0;e=f[g>>2]|0;d=f[I>>2]|0;j=e-d>>2;l=c;if(i>>>0<=j>>>0)if(i>>>0>>0?(h=d+(i<<2)|0,(e|0)!=(h|0)):0){f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);g=c}else g=c;else{Xd(I,i-j|0,2616);l=f[a>>2]|0;g=l;k=f[A>>2]|0}f[L>>2]=0;H=L+4|0;f[H>>2]=0;f[L+8>>2]=0;e=k-g|0;d=e>>2;c=L+8|0;do if(d)if(d>>>0>1073741823){M=Ha(4)|0;gm(M);sa(M|0,840,80)}else{i=_i(e)|0;h=i;f[L>>2]=h;f[H>>2]=h;f[c>>2]=i+(d<<2);break}else{i=0;h=0}while(0);if((e|0)>0){v=i;w=k;x=g;d=h;o=h;p=i;q=i;r=i;s=h;j=h;n=g;e=i;t=0;while(1){l=f[l+(t<<2)>>2]|0;c=f[H>>2]|0;if((l|0)<(c-d>>2|0)){g=v;h=w;i=x;m=e;c=n}else{e=l+1|0;f[J>>2]=0;g=c-d>>2;if(e>>>0<=g>>>0)if(e>>>0>>0?(y=d+(e<<2)|0,(c|0)!=(y|0)):0){f[H>>2]=c+(~((c+-4-y|0)>>>2)<<2);d=v;e=w;c=x}else{d=v;e=w;c=x}else{Xd(L,e-g|0,J);d=f[L>>2]|0;e=f[A>>2]|0;c=f[a>>2]|0}j=d;g=d;h=e;i=c;o=j;p=d;q=d;r=d;s=j;m=d;k=e}G=m+(l<<2)|0;f[G>>2]=(f[G>>2]|0)+1;t=t+1|0;if((t|0)>=(k-c>>2|0)){l=s;i=q;break}else{v=g;w=h;x=i;l=c;d=m;n=c;e=m}}}else{c=g;j=h;l=h;r=i;o=h;p=i}c=k-c|0;h=c>>2;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;if(!h){d=0;e=0}else{if(h>>>0>536870911){ql(J);M=Ha(4)|0;gm(M);sa(M|0,840,80)}g=_i(c<<1)|0;f[G>>2]=g;f[J>>2]=g;f[J+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){F=e;f[F>>2]=-1;f[F+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[G>>2]=g+(h<<3);d=g;e=g}F=f[H>>2]|0;g=F-j|0;c=g>>2;f[z>>2]=0;E=z+4|0;f[E>>2]=0;f[z+8>>2]=0;do if(c)if(c>>>0>1073741823){ql(z);M=Ha(4)|0;gm(M);sa(M|0,840,80)}else{D=_i(g)|0;f[z>>2]=D;C=D+(c<<2)|0;f[z+8>>2]=C;vf(D|0,0,g|0)|0;f[E>>2]=C;B=D;break}else{B=0;C=0;D=0}while(0);if((F|0)!=(l|0)){h=F-r>>2;c=0;g=0;do{f[B+(c<<2)>>2]=g;g=(f[r+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}z=f[a>>2]|0;c=(f[A>>2]|0)-z|0;A=z;if((c|0)>0){z=a+40|0;y=c>>2;k=i;m=B;j=0;v=e;t=e;w=e;s=e;x=e;while(1){i=(j|0)<0;c=j+1|0;if(!i){c=((c|0)%3|0|0)==0?j+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[A+(c<<2)>>2]|0;c=(j>>>0)%3|0;g=((c|0)==0?2:-1)+j|0;if((g|0)<0){r=-1073741824;q=h}else{r=f[A+(g<<2)>>2]|0;q=h}}else{c=(j>>>0)%3|0;r=-1073741824;q=-1073741824}if((j|0)==((i?-1073741824:j-c|0)|0)){if(i)c=-1073741824;else c=f[A+(j<<2)>>2]|0;if((q|0)==(r|0)|((c|0)==(q|0)|(c|0)==(r|0))){f[z>>2]=(f[z>>2]|0)+1;j=j+2|0;c=v;g=t;l=w;h=s;i=x}else K=60}else K=60;a:do if((K|0)==60){K=0;n=f[k+(r<<2)>>2]|0;b:do if((n|0)>0){c=0;i=f[m+(r<<2)>>2]|0;while(1){g=f[s+(i<<3)>>2]|0;if((g|0)<0){c=v;g=t;h=s;break b}if((g|0)==(q|0))break;c=c+1|0;if((c|0)<(n|0))i=i+1|0;else{c=v;g=t;h=s;break b}}l=f[s+(i<<3)+4>>2]|0;h=t;while(1){c=c+1|0;if((c|0)>=(n|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[v+(i<<3)>>2]|0)<0)break;else{i=g;h=v}}f[w+(i<<3)>>2]=-1;if((l|0)<0){c=w;g=w;h=w}else{c=f[I>>2]|0;f[c+(j<<2)>>2]=l;f[c+(l<<2)>>2]=j;c=w;g=w;l=w;h=w;i=x;break a}}else{c=v;g=t;h=s}while(0);i=f[p+(q<<2)>>2]|0;if((i|0)>0){h=0;c=f[B+(q<<2)>>2]|0;while(1){g=x+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){m=B;k=p;c=x;g=x;l=x;h=x;i=x;break a}else c=c+1|0}f[g>>2]=r;f[e+(c<<3)+4>>2]=j;m=B;k=p;c=e;g=e;l=e;h=e;i=e}else{k=p;l=w;i=x}}while(0);j=j+1|0;if((j|0)>=(y|0))break;else{v=c;t=g;w=l;s=h;x=i}}}f[b>>2]=F-o>>2;if(B){if((C|0)!=(B|0))f[E>>2]=C+(~((C+-4-B|0)>>>2)<<2);Em(D);d=f[J>>2]|0;e=d}if(e|0){c=f[G>>2]|0;if((c|0)!=(e|0))f[G>>2]=c+(~((c+-8-e|0)>>>3)<<3);Em(d)}c=f[L>>2]|0;if(c|0){d=f[H>>2]|0;if((d|0)!=(c|0))f[H>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}L=1;u=M;return L|0}function ob(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))$e(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ad(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ad(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Ad(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ad(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))$e(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))$e(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function pb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=Ka,j=0,k=Ka,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Ka;A=u;u=u+48|0;y=A+24|0;z=A;e=Yb(a,c)|0;if(e|0){f[z>>2]=e;f[y>>2]=f[z>>2];hd(a,y)|0}th(z,c);c=z+12|0;f[c>>2]=0;x=z+16|0;f[x>>2]=0;f[z+20>>2]=0;j=d+4|0;g=(f[j>>2]|0)-(f[d>>2]|0)|0;if(g){if((g|0)<0)ql(c);e=_i(g)|0;f[x>>2]=e;f[c>>2]=e;f[z+20>>2]=e+g;g=f[d>>2]|0;c=(f[j>>2]|0)-g|0;if((c|0)>0){Ld(e|0,g|0,c|0)|0;f[x>>2]=e+c}}else e=0;s=b[z+11>>0]|0;v=s<<24>>24<0;t=v?f[z>>2]|0:z;s=v?f[z+4>>2]|0:s&255;if(s>>>0>3){g=t;c=s;j=s;while(1){v=X(h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24,1540483477)|0;c=(X(v>>>24^v,1540483477)|0)^(X(c,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else g=g+4|0}v=s+-4|0;g=v&-4;j=t+(g+4)|0;g=v-g|0}else{j=t;c=s;g=s}switch(g|0){case 3:{c=h[j+2>>0]<<16^c;w=13;break}case 2:{w=13;break}case 1:{w=14;break}default:{}}if((w|0)==13){c=h[j+1>>0]<<8^c;w=14}if((w|0)==14)c=X(h[j>>0]^c,1540483477)|0;v=X(c>>>13^c,1540483477)|0;v=v>>>15^v;q=a+4|0;j=f[q>>2]|0;r=(j|0)==0;a:do if(!r){p=j+-1|0;d=(p&j|0)==0;if(d)c=v&p;else c=(v>>>0)%(j>>>0)|0;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){if((f[g+4>>2]&p|0)!=(c|0)){w=48;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=48;break a}}}while(1){if((f[o+4>>2]&p|0)!=(c|0)){w=48;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(xh(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=48;break}}}else{if(g){g=o;while(1){if((((f[g+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(c|0)){w=48;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=48;break a}}}while(1){if((((f[o+4>>2]|0)>>>0)%(j>>>0)|0|0)!=(c|0)){w=48;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(xh(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=48;break}}}}else w=48}else{c=0;w=48}while(0);if((w|0)==48){ue(y,a,v,z);d=a+12|0;k=$(((f[d>>2]|0)+1|0)>>>0);B=$(j>>>0);i=$(n[a+16>>2]);do if(r|k>$(B*i)){e=(j>>>0<3|(j+-1&j|0)!=0)&1|j<<1;c=~~$(W($(k/i)))>>>0;we(a,e>>>0>>0?c:e);e=f[q>>2]|0;c=e+-1|0;if(!(c&e)){j=e;c=c&v;break}else{j=e;c=(v>>>0)%(e>>>0)|0;break}}while(0);e=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!e){g=a+8|0;f[f[y>>2]>>2]=f[g>>2];f[g>>2]=f[y>>2];f[(f[a>>2]|0)+(c<<2)>>2]=g;g=f[y>>2]|0;e=f[g>>2]|0;if(!e)e=y;else{e=f[e+4>>2]|0;c=j+-1|0;if(!(c&j))e=e&c;else e=(e>>>0)%(j>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=g;e=y}}else{f[f[y>>2]>>2]=f[e>>2];f[e>>2]=f[y>>2];e=y}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;e=f[z+12>>2]|0}if(!e){pk(z);u=A;return}if((f[x>>2]|0)!=(e|0))f[x>>2]=e;Em(e);pk(z);u=A;return}function qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+176|0;s=A+136|0;w=A+32|0;v=A;t=A+104|0;x=A+100|0;y=a+4|0;q=f[y>>2]|0;d=f[q+32>>2]|0;o=d+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((o|0)>(l|0)|(o|0)==(l|0)&n>>>0>k>>>0)){c=0;u=A;return c|0}j=f[d>>2]|0;r=b[j+k>>0]|0;d=lk(k|0,l|0,1,0)|0;m=I;i=p;f[i>>2]=d;f[i+4>>2]=m;if(!((o|0)>(m|0)|(o|0)==(m|0)&n>>>0>d>>>0)){c=0;u=A;return c|0}m=b[j+d>>0]|0;d=lk(k|0,l|0,2,0)|0;e=I;i=p;f[i>>2]=d;f[i+4>>2]=e;do if(r<<24>>24>-1){i=r<<24>>24;g=f[a+224>>2]|0;if(i>>>0<(((f[a+228>>2]|0)-g|0)/116|0)>>>0){f[g+(i*116|0)>>2]=c;break}else{c=0;u=A;return c|0}}while(0);do if((((h[q+36>>0]|0)<<8|(h[q+37>>0]|0))&65535)>257)if((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0){e=b[j+d>>0]|0;o=lk(k|0,l|0,3,0)|0;f[p>>2]=o;f[p+4>>2]=I;e=e&255;break}else{c=0;u=A;return c|0}else e=0;while(0);n=f[q+44>>2]|0;if(!(m<<24>>24)){if(r<<24>>24<0)d=a+196|0;else{d=r<<24>>24;w=f[a+224>>2]|0;b[w+(d*116|0)+72>>0]=0;d=w+(d*116|0)+76|0}switch((e&255)<<24>>24){case 0:{_b(s,a,d);d=f[s>>2]|0;break}case 1:{yc(s,a,d);d=f[s>>2]|0;break}default:{c=0;u=A;return c|0}}if(!d){c=0;u=A;return c|0}}else{if(e|0){c=0;u=A;return c|0}j=r<<24>>24;if(r<<24>>24<0){c=0;u=A;return c|0}d=_i(88)|0;i=f[a+224>>2]|0;k=i+(j*116|0)+76|0;f[d+4>>2]=0;f[d>>2]=2312;l=d+12|0;f[l>>2]=2336;m=d+64|0;f[m>>2]=0;f[d+68>>2]=0;f[d+72>>2]=0;e=d+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d+76>>2]=n;f[d+80>>2]=k;f[d+84>>2]=0;p=w+4|0;f[p>>2]=2336;o=w+56|0;f[o>>2]=0;q=w+60|0;f[q>>2]=0;f[w+64>>2]=0;e=w+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));g=i+(j*116|0)+4|0;f[v>>2]=2336;e=v+4|0;a=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[e>>2]=g;i=f[i+(j*116|0)+68>>2]|0;i=((f[i+4>>2]|0)-(f[i>>2]|0)>>2>>>0)/3|0;b[s>>0]=0;Td(v+8|0,i,s);Oa[f[(f[v>>2]|0)+8>>2]&127](v);Zc(t,v);Zc(s,t);f[w>>2]=f[s+4>>2];i=w+4|0;td(i,s)|0;f[s>>2]=2336;e=f[s+20>>2]|0;if(e|0)Em(e);e=f[s+8>>2]|0;if(e|0)Em(e);f[w+36>>2]=g;f[w+40>>2]=k;f[w+44>>2]=n;f[w+48>>2]=d;f[t>>2]=2336;e=f[t+20>>2]|0;if(e|0)Em(e);e=f[t+8>>2]|0;if(e|0)Em(e);f[d+8>>2]=f[w>>2];td(l,i)|0;e=d+44|0;t=w+36|0;f[e>>2]=f[t>>2];f[e+4>>2]=f[t+4>>2];f[e+8>>2]=f[t+8>>2];f[e+12>>2]=f[t+12>>2];b[e+16>>0]=b[t+16>>0]|0;ad(m,f[o>>2]|0,f[q>>2]|0);f[v>>2]=2336;e=f[v+20>>2]|0;if(e|0)Em(e);e=f[v+8>>2]|0;if(e|0)Em(e);e=f[o>>2]|0;if(e|0){g=f[q>>2]|0;if((g|0)!=(e|0))f[q>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}f[p>>2]=2336;e=f[w+24>>2]|0;if(e|0)Em(e);e=f[w+12>>2]|0;if(e|0)Em(e)}e=_i(64)|0;f[x>>2]=d;wh(e,x);l=e;d=f[x>>2]|0;f[x>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[y>>2]|0;if((c|0)<0){Oa[f[(f[e>>2]|0)+4>>2]&127](e);c=0;u=A;return c|0}k=d+8|0;j=d+12|0;d=f[j>>2]|0;e=f[k>>2]|0;i=d-e>>2;do if((i|0)<=(c|0)){g=c+1|0;if(g>>>0>i>>>0){rd(k,g-i|0);break}if(g>>>0>>0?(z=e+(g<<2)|0,(d|0)!=(z|0)):0)do{y=d+-4|0;f[j>>2]=y;d=f[y>>2]|0;f[y>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=f[j>>2]|0}while((d|0)!=(z|0))}while(0);c=(f[k>>2]|0)+(c<<2)|0;d=f[c>>2]|0;f[c>>2]=l;if(!d){c=1;u=A;return c|0}Oa[f[(f[d>>2]|0)+4>>2]&127](d);c=1;u=A;return c|0}function rb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[4050]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[4051]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[4048]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[4046]=f[4046]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=16488+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[4047]=f[4047]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[4051]|0;if((k|0)==(f[4052]|0)){k=(f[4049]|0)+b|0;f[4049]=k;f[4052]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[4051]=0;f[4048]=0;return}if((k|0)==(a|0)){k=(f[4048]|0)+b|0;f[4048]=k;f[4051]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[4046]=f[4046]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=16488+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[4047]=f[4047]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[4051]|0)){f[4048]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=16224+(a<<1<<2)|0;b=f[4046]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=16488+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[4047]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[4047]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[4054]|0)+-1|0;f[4054]=k;if(!k)a=16640;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[4054]=-1;return}function sb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))$e(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ad(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ad(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;d=d+(i>>>5<<2)|0;f[d>>2]=1<<(i&31)|f[d>>2];d=f[b>>2]|0;i=f[(f[e+28>>2]|0)+(d<<2)>>2]|0;c=f[(f[e+40>>2]|0)+(i<<2)>>2]|0;if((c|0)<0)j=1;else{j=f[(f[f[e+64>>2]>>2]|0)+(c<<2)>>2]|0;j=(1<<(j&31)&f[(f[e+12>>2]|0)+(j>>>5<<2)>>2]|0)!=0}g=(f[n>>2]|0)+(i>>>5<<2)|0;h=1<<(i&31);c=f[g>>2]|0;if(!(c&h)){f[g>>2]=c|h;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ad(k,t,w);e=f[a>>2]|0;c=f[b>>2]|0;if(j){d=c;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)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}}else y=40;if((y|0)==40){y=0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){$e(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))$e(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ad(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ad(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){e=(c|0)/3|0;g=d+(e>>>5<<2)|0;f[g>>2]=1<<(e&31)|f[g>>2];g=f[b>>2]|0;e=f[a>>2]|0;if((g|0)<0)j=-1073741824;else j=f[(f[e>>2]|0)+(g<<2)>>2]|0;d=f[(f[e+24>>2]|0)+(j<<2)>>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){d=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;c=d+1|0;if((d|0)<0)i=d;else i=((c|0)%3|0|0)==0?d+-2|0:c}else i=c}else i=d;d=(f[n>>2]|0)+(j>>>5<<2)|0;h=1<<(j&31);c=f[d>>2]|0;if(!(c&h)){f[d>>2]=c|h;f[s>>2]=j;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ad(k,t,w);d=f[a>>2]|0;c=f[b>>2]|0;if((i|0)<0){g=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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((g|0)<0){y=44;break}c=g+1|0;c=((c|0)%3|0|0)==0?g+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=49;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(g){y=51;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=51;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==44){f[w>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){$e(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Fa(8225,8247,46,8411);if(!(f[a+8>>2]|0))Fa(8225,8247,46,8411);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Jd(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Jd(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Jd(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=Dj(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=Dj(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=Dj(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=Dj(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=Dj(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=Dj(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Zi(H|0,J|0,i|0,h|0)|0;M=I;P=Zi(T|0,S|0,K|0,L|0)|0;O=I;L=Zi(R|0,Q|0,K|0,L|0)|0;K=I;J=Zi(H|0,J|0,n|0,j|0)|0;H=I;j=Zi(T|0,S|0,n|0,j|0)|0;n=I;h=Zi(R|0,Q|0,i|0,h|0)|0;i=I;l=Dj(l|0,k|0,P|0,O|0)|0;l=lk(l|0,I|0,N|0,M|0)|0;k=I;g=lk(L|0,K|0,g|0,m|0)|0;g=Dj(g|0,I|0,J|0,H|0)|0;m=I;c=Dj(c|0,e|0,h|0,i|0)|0;c=lk(c|0,I|0,j|0,n|0)|0;e=I;cd(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=Dj(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=Dj(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=Dj(0,0,c|0,e|0)|0;S=lk((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=lk(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=zj(h|0,i|0,29)|0;T=T&7;i=Cg(l|0,k|0,T|0,0)|0;j=I;g=Cg(g|0,m|0,T|0,0)|0;h=I;c=Cg(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=zj(h|0,i|0,29)|0;T=I;i=Cg(l|0,k|0,S|0,T|0)|0;j=I;g=Cg(g|0,m|0,S|0,T|0)|0;h=I;c=Cg(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=Dj(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=Dj(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=Dj(0,0,c|0,e|0)|0;Q=lk((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=lk(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Fa(8433,8247,95,8411)}function vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Fa(8225,8247,46,8411);if(!(f[a+8>>2]|0))Fa(8225,8247,46,8411);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Rd(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Rd(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Rd(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=Dj(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=Dj(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=Dj(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=Dj(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=Dj(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=Dj(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Zi(H|0,J|0,i|0,h|0)|0;M=I;P=Zi(T|0,S|0,K|0,L|0)|0;O=I;L=Zi(R|0,Q|0,K|0,L|0)|0;K=I;J=Zi(H|0,J|0,n|0,j|0)|0;H=I;j=Zi(T|0,S|0,n|0,j|0)|0;n=I;h=Zi(R|0,Q|0,i|0,h|0)|0;i=I;l=Dj(l|0,k|0,P|0,O|0)|0;l=lk(l|0,I|0,N|0,M|0)|0;k=I;g=lk(L|0,K|0,g|0,m|0)|0;g=Dj(g|0,I|0,J|0,H|0)|0;m=I;c=Dj(c|0,e|0,h|0,i|0)|0;c=lk(c|0,I|0,j|0,n|0)|0;e=I;Ud(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=Dj(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=Dj(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=Dj(0,0,c|0,e|0)|0;S=lk((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=lk(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=zj(h|0,i|0,29)|0;T=T&7;i=Cg(l|0,k|0,T|0,0)|0;j=I;g=Cg(g|0,m|0,T|0,0)|0;h=I;c=Cg(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=zj(h|0,i|0,29)|0;T=I;i=Cg(l|0,k|0,S|0,T|0)|0;j=I;g=Cg(g|0,m|0,S|0,T|0)|0;h=I;c=Cg(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=Dj(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=Dj(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=Dj(0,0,c|0,e|0)|0;Q=lk((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=lk(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Fa(8433,8247,95,8411)}function wb(a,c){a=a|0;c=c|0;var d=0,e=0,g=Ka,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=Ka;t=b[c+11>>0]|0;v=t<<24>>24<0;u=v?f[c>>2]|0:c;t=v?f[c+4>>2]|0:t&255;if(t>>>0>3){j=u;m=t;k=t;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}v=t+-4|0;k=v&-4;l=u+(k+4)|0;j=m;k=v-k|0}else{l=u;j=t;k=t}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;x=6;break}case 2:{o=j;x=6;break}case 1:{p=j;x=7;break}default:q=j}if((x|0)==6){p=h[l+1>>0]<<8^o;x=7}if((x|0)==7)q=X(h[l>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;r=a+4|0;q=f[r>>2]|0;s=(q|0)==0;a:do if(!s){o=q+-1|0;k=(o&q|0)==0;if(k)p=v&o;else p=(v>>>0)%(q>>>0)|0;j=f[(f[a>>2]|0)+(p<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){j=(t|0)==0;if(k){if(j){while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}u=b[e+8+11>>0]|0;if(!((u<<24>>24<0?f[e+12>>2]|0:u&255)|0))break;e=f[e>>2]|0;if(!e){d=p;break a}}a=e+20|0;return a|0}b:while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(xh(k,u,t)|0)){x=54;break b}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break b}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}else{if(j){d=e;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}u=b[d+8+11>>0]|0;if(!((u<<24>>24<0?f[d+12>>2]|0:u&255)|0)){e=d;break}d=f[d>>2]|0;if(!d){d=p;break a}}a=e+20|0;return a|0}c:while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(xh(k,u,t)|0)){x=54;break c}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}}else d=p}else d=0;while(0);l=_i(24)|0;th(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=v;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);y=$(q>>>0);g=$(n[a+16>>2]);do if(s|i>$(y*g)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(i/g)))>>>0;we(a,d>>>0>>0?e:d);d=f[r>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&v;break}else{j=d;d=(v>>>0)%(d>>>0)|0;break}}else j=q;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;w=(f[a>>2]|0)+(d<<2)|0;x=52}}else{f[l>>2]=f[d>>2];w=d;x=52}if((x|0)==52)f[w>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else $e(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))$e(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else $e(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){$e(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)Fa(12788,12706,64,12783);else if((C|0)==33)Fa(12788,12706,64,12783)}function yb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;x=a+8|0;f[x>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{Oe(i,e-j|0);d=f[x>>2]|0}u=f[a+48>>2]|0;v=f[a+52>>2]|0;t=e>>>0>1073741823?-1:e<<2;w=Bm(t)|0;vf(w|0,0,t|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[w+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{t=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(t|0)?t:d}i=i+1|0;d=f[x>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;C=18}}else{d=d-(f[i>>2]|0)|0;C=18}if((C|0)==18){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}q=a+56|0;h=f[q>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;s=g-d|0;t=s>>2;if((s|0)<=4){Cm(w);return 1}r=a+16|0;p=a+32|0;s=a+12|0;o=a+20|0;m=u+12|0;n=(e|0)>0;i=g;a=1;while(1){if(i-d>>2>>>0<=a>>>0){pl(h);d=f[h>>2]|0}d=f[d+(a<<2)>>2]|0;l=X(a,e)|0;if((d|0)>=0?(B=f[(f[m>>2]|0)+(d<<2)>>2]|0,(B|0)>=0):0){g=f[u>>2]|0;h=f[v>>2]|0;i=f[h+(f[g+(B<<2)>>2]<<2)>>2]|0;d=B+1|0;d=((d|0)%3|0|0)==0?B+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;j=f[h+(d<<2)>>2]|0;d=(((B>>>0)%3|0|0)==0?2:-1)+B|0;if((d|0)<0)d=-1073741824;else d=f[g+(d<<2)>>2]|0;d=f[h+(d<<2)>>2]|0;if((i|0)<(a|0)&(j|0)<(a|0)&(d|0)<(a|0)){i=X(i,e)|0;h=X(j,e)|0;g=X(d,e)|0;if(n){d=0;do{f[w+(d<<2)>>2]=(f[c+(d+g<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+i<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}j=b+(l<<2)|0;k=c+(l<<2)|0;if((f[x>>2]|0)>0){h=0;do{d=f[w+(h<<2)>>2]|0;g=f[r>>2]|0;if((d|0)>(g|0)){i=f[p>>2]|0;f[i+(h<<2)>>2]=g}else{g=f[s>>2]|0;i=f[p>>2]|0;f[i+(h<<2)>>2]=(d|0)<(g|0)?g:d}h=h+1|0;d=f[x>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[r>>2]|0)){if((d|0)<(f[s>>2]|0)){d=(f[o>>2]|0)+d|0;C=57}}else{d=d-(f[o>>2]|0)|0;C=57}if((C|0)==57){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}}else C=35}else C=35;if((C|0)==35?(C=0,y=c+((X(a+-1|0,e)|0)<<2)|0,z=b+(l<<2)|0,A=c+(l<<2)|0,(f[x>>2]|0)>0):0){h=0;do{d=f[y+(h<<2)>>2]|0;g=f[r>>2]|0;if((d|0)>(g|0)){i=f[p>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[s>>2]|0;i=f[p>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[x>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[z+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=A+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[r>>2]|0)){if((d|0)<(f[s>>2]|0)){d=(f[o>>2]|0)+d|0;C=45}}else{d=d-(f[o>>2]|0)|0;C=45}if((C|0)==45){C=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[x>>2]|0))}}g=a+1|0;if((g|0)>=(t|0))break;h=f[q>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;a=g}Cm(w);return 1}function zb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;y=a+8|0;f[y>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{Oe(i,e-j|0);d=f[y>>2]|0}v=f[a+48>>2]|0;w=f[a+52>>2]|0;u=e>>>0>1073741823?-1:e<<2;x=Bm(u)|0;vf(x|0,0,u|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[x+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{u=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(u|0)?u:d}i=i+1|0;d=f[y>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;G=18}}else{d=d-(f[i>>2]|0)|0;G=18}if((G|0)==18){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}r=a+56|0;h=f[r>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;t=g-d|0;u=t>>2;if((t|0)<=4){Cm(x);return 1}s=a+16|0;q=a+32|0;t=a+12|0;p=a+20|0;o=v+64|0;m=v+28|0;n=(e|0)>0;i=g;a=1;while(1){if(i-d>>2>>>0<=a>>>0){pl(h);d=f[h>>2]|0}d=f[d+(a<<2)>>2]|0;l=X(a,e)|0;if((!((d|0)<0?1:(1<<(d&31)&f[(f[v>>2]|0)+(d>>>5<<2)>>2]|0)!=0)?(F=f[(f[(f[o>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(F|0)>=0):0)?(B=f[m>>2]|0,k=f[w>>2]|0,z=f[k+(f[B+(F<<2)>>2]<<2)>>2]|0,A=F+1|0,A=f[k+(f[B+((((A|0)%3|0|0)==0?F+-2|0:A)<<2)>>2]<<2)>>2]|0,B=f[k+(f[B+((((F>>>0)%3|0|0)==0?2:-1)+F<<2)>>2]<<2)>>2]|0,(z|0)<(a|0)&(A|0)<(a|0)&(B|0)<(a|0)):0){g=X(z,e)|0;h=X(A,e)|0;i=X(B,e)|0;if(n){d=0;do{f[x+(d<<2)>>2]=(f[c+(d+i<<2)>>2]|0)+(f[c+(d+h<<2)>>2]|0)-(f[c+(d+g<<2)>>2]|0);d=d+1|0}while((d|0)!=(e|0))}j=b+(l<<2)|0;k=c+(l<<2)|0;if((f[y>>2]|0)>0){h=0;do{d=f[x+(h<<2)>>2]|0;g=f[s>>2]|0;if((d|0)>(g|0)){i=f[q>>2]|0;f[i+(h<<2)>>2]=g}else{g=f[t>>2]|0;i=f[q>>2]|0;f[i+(h<<2)>>2]=(d|0)<(g|0)?g:d}h=h+1|0;d=f[y>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[s>>2]|0)){if((d|0)<(f[t>>2]|0)){d=(f[p>>2]|0)+d|0;G=53}}else{d=d-(f[p>>2]|0)|0;G=53}if((G|0)==53){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}}else G=31;if((G|0)==31?(G=0,C=c+((X(a+-1|0,e)|0)<<2)|0,D=b+(l<<2)|0,E=c+(l<<2)|0,(f[y>>2]|0)>0):0){h=0;do{d=f[C+(h<<2)>>2]|0;g=f[s>>2]|0;if((d|0)>(g|0)){i=f[q>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[t>>2]|0;i=f[q>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[y>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[D+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=E+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[s>>2]|0)){if((d|0)<(f[t>>2]|0)){d=(f[p>>2]|0)+d|0;G=41}}else{d=d-(f[p>>2]|0)|0;G=41}if((G|0)==41){G=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[y>>2]|0))}}g=a+1|0;if((g|0)>=(u|0))break;h=f[r>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0;a=g}Cm(x);return 1}function Ab(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))Fa(12622,12521,68,12612);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Em(g)}Em(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Em(g)}Em(e)}Em(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){kf(d);Em(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){kf(c);Em(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){li(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function Bb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=u;u=u+16|0;k=l;i=c+8|0;o=i;m=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=lk(e|0,f[g+4>>2]|0,5,0)|0;n=I;if((o|0)<(n|0)|(o|0)==(n|0)&m>>>0>>0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}e=(f[c>>2]|0)+e|0;b[d>>0]=b[e>>0]|0;b[d+1>>0]=b[e+1>>0]|0;b[d+2>>0]=b[e+2>>0]|0;b[d+3>>0]=b[e+3>>0]|0;b[d+4>>0]=b[e+4>>0]|0;e=j;e=lk(f[e>>2]|0,f[e+4>>2]|0,5,0)|0;g=I;o=j;f[o>>2]=e;f[o+4>>2]=g;if(xh(d,11978,5)|0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11984,17);f[a>>2]=-1;th(a+4|0,k);pk(k);u=l;return}o=i;n=f[o+4>>2]|0;if(!((n|0)>(g|0)|((n|0)==(g|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}b[d+5>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=lk(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}b[d+6>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=lk(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}b[d+7>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=lk(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}b[d+8>>0]=b[(f[c>>2]|0)+e>>0]|0;o=j;m=f[o>>2]|0;o=f[o+4>>2]|0;e=lk(m|0,o|0,1,0)|0;n=j;f[n>>2]=e;f[n+4>>2]=I;n=f[i>>2]|0;i=f[i+4>>2]|0;o=lk(m|0,o|0,3,0)|0;m=I;if((i|0)<(m|0)|(i|0)==(m|0)&n>>>0>>0){f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;dg(k,11948,29);f[a>>2]=-2;th(a+4|0,k);pk(k);u=l;return}else{n=d+10|0;o=(f[c>>2]|0)+e|0;o=h[o>>0]|h[o+1>>0]<<8;b[n>>0]=o;b[n+1>>0]=o>>8;n=j;n=lk(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;o=j;f[o>>2]=n;f[o+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=l;return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))$e(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))$e(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))$e(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){$e(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Fa(6859,6870,60,6985);if((d|0)>=31)Fa(7005,6870,61,6985);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(8225,9038,99,9195);if((e|0)!=2)Fa(9217,9038,102,9195);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){pl(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];ub(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=lk(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=lk(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Zi(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Cg(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Zi(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Cg(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Tg(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;Fe(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Fa(9241,9038,116,9195);else if((d|0)==23)Fa(9308,6870,99,9396);return 0}function Eb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;w=C+28|0;x=C+16|0;y=C+8|0;v=C;z=a+8|0;d=f[z>>2]|0;if((d|0)<=1)Fa(6859,6870,60,6985);if((d|0)>=31)Fa(7005,6870,61,6985);f[a+72>>2]=d;t=1<>2]=t+-1;t=t+-2|0;s=a+80|0;f[s>>2]=t;r=a+84|0;f[r>>2]=(t|0)/2|0;t=a+40|0;f[a+48>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(8225,9038,99,9195);if((e|0)!=2)Fa(9217,9038,102,9195);p=a+36|0;d=f[p>>2]|0;o=(f[d+4>>2]|0)-(f[d>>2]|0)|0;q=o>>2;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;if((o|0)<=0){u=C;return 1}n=x+4|0;o=x+8|0;m=a+88|0;l=y+4|0;g=d;k=0;while(1){d=f[g>>2]|0;if((f[g+4>>2]|0)-d>>2>>>0<=k>>>0){pl(g);d=f[g>>2]|0}f[v>>2]=f[d+(k<<2)>>2];f[w>>2]=f[v>>2];vb(t,w,x);d=f[x>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[n>>2]|0;e=(g|0)>-1?g:0-g|0;a=lk(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[o>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=lk(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[r>>2]|0;if((e|0)==0&(a|0)==0){g=x;d=i}else{D=((i|0)<0)<<31>>31;j=Zi(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Cg(j|0,I|0,e|0,a|0)|0;f[x>>2]=j;d=Zi(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Cg(d|0,I|0,e|0,a|0)|0;f[n>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=o;d=h?d:0-d|0}f[g>>2]=d;j=f[x>>2]|0;h=f[n>>2]|0;D=f[o>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){d=18;break}D=Tg(m)|0;d=f[x>>2]|0;if(D){d=0-d|0;g=0-(f[n>>2]|0)|0;i=0-(f[o>>2]|0)|0;f[x>>2]=d;f[n>>2]=g;f[o>>2]=i}else{g=f[n>>2]|0;i=f[o>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[r>>2]|0)){d=23;break}if(!a){if((g|0)<0)d=e;else d=(f[s>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[s>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[s>>2]|0;do if((d|g|0)!=0?(A=(h|0)==(d|0),B=(h|0)==(g|0),!(e&A|a&B)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&B){d=(j<<1)-d|0;break}if((j|0)>(g|0)&A){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[y>>2]=g;f[l>>2]=d;d=k<<1;Fe(z,y,b+(d<<2)|0,c+(d<<2)|0);d=k+1|0;if((d|0)>=(q|0)){d=11;break}g=f[p>>2]|0;k=d}if((d|0)==11){u=C;return 1}else if((d|0)==18)Fa(9241,9038,116,9195);else if((d|0)==23)Fa(9308,6870,99,9396);return 0}function Fb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=u;u=u+80|0;z=D+76|0;y=D;C=D+72|0;x=D+64|0;B=D+68|0;if(!(Pf(z,c)|0)){C=0;u=D;return C|0}d=f[z>>2]|0;if(!d){C=0;u=D;return C|0}A=a+4|0;h=a+8|0;g=f[h>>2]|0;e=f[A>>2]|0;j=g-e>>2;if(d>>>0>j>>>0){Oe(A,d-j|0);if(!(f[z>>2]|0)){C=1;u=D;return C|0}}else if(d>>>0>>0?(i=e+(d<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2);o=f[a+32>>2]|0;r=c+8|0;t=c+16|0;v=y+60|0;q=o+8|0;p=o+12|0;s=a+16|0;m=a+20|0;n=0;while(1){g=r;e=f[g>>2]|0;g=f[g+4>>2]|0;a=t;j=f[a>>2]|0;a=f[a+4>>2]|0;if(!((g|0)>(a|0)|(g|0)==(a|0)&e>>>0>j>>>0)){d=0;e=44;break}h=f[c>>2]|0;l=b[h+j>>0]|0;d=lk(j|0,a|0,1,0)|0;k=I;i=t;f[i>>2]=d;f[i+4>>2]=k;if(!((g|0)>(k|0)|(g|0)==(k|0)&e>>>0>d>>>0)){d=0;e=44;break}k=b[h+d>>0]|0;d=lk(j|0,a|0,2,0)|0;i=I;E=t;f[E>>2]=d;f[E+4>>2]=i;if(!((g|0)>(i|0)|(g|0)==(i|0)&e>>>0>d>>>0)){d=0;e=44;break}i=b[h+d>>0]|0;d=lk(j|0,a|0,3,0)|0;E=I;F=t;f[F>>2]=d;f[F+4>>2]=E;if(!((g|0)>(E|0)|(g|0)==(E|0)&e>>>0>d>>>0)){d=0;e=44;break}e=b[h+d>>0]|0;F=lk(j|0,a|0,4,0)|0;d=t;f[d>>2]=F;f[d+4>>2]=I;d=k&255;if((k+-1&255)>10){d=0;e=44;break}Kh(y);h=X(Yh(d)|0,i&255)|0;Of(y,l&255,0,i,d,e<<24>>24!=0,h,((h|0)<0)<<31>>31,0,0);Pf(C,c)|0;f[v>>2]=f[C>>2];i=_i(96)|0;Dh(i,y);f[x>>2]=i;i=ce(o,x)|0;h=f[x>>2]|0;f[x>>2]=0;if(h|0){F=h+88|0;d=f[F>>2]|0;f[F>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}F=h+64|0;d=f[F>>2]|0;f[F>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(h)}if((i|0)<=-1){e=33;break}d=f[q>>2]|0;if(((f[p>>2]|0)-d>>2|0)<=(i|0)){e=35;break}f[(f[d+(i<<2)>>2]|0)+60>>2]=f[C>>2];f[(f[A>>2]|0)+(n<<2)>>2]=i;e=f[m>>2]|0;d=f[s>>2]|0;h=e-d>>2;if((i|0)>=(h|0)){g=i+1|0;f[B>>2]=-1;if(g>>>0<=h>>>0){if(g>>>0>>0?(w=d+(g<<2)|0,(e|0)!=(w|0)):0)f[m>>2]=e+(~((e+-4-w|0)>>>2)<<2)}else{Xd(s,g-h|0,B);d=f[s>>2]|0}}f[d+(i<<2)>>2]=n;n=n+1|0;if(n>>>0>=(f[z>>2]|0)>>>0){d=1;e=44;break}}if((e|0)==33)Fa(12505,12521,67,12612);else if((e|0)==35)Fa(12622,12521,68,12612);else if((e|0)==44){u=D;return d|0}return 0}function Gb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Ra[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((r|0)<1){c=0;return c|0}m=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;s=X(m,r)|0;yd(a,m,r);m=a+16|0;q=f[m>>2]|0;q=(f[f[q>>2]>>2]|0)+(f[q+48>>2]|0)|0;o=d+8|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>k>>>0)){c=0;return c|0}h=f[d>>2]|0;n=b[h+k>>0]|0;i=lk(k|0,l|0,1,0)|0;j=I;t=p;f[t>>2]=i;f[t+4>>2]=j;a:do if(!(n<<24>>24)){if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>i>>>0)){t=0;return t|0}n=b[h+i>>0]|0;t=lk(k|0,l|0,2,0)|0;l=p;f[l>>2]=t;f[l+4>>2]=I;l=n&255;t=(l|0)==(Yh(5)|0);e=f[(f[m>>2]|0)+64>>2]|0;e=(f[e+4>>2]|0)-(f[e>>2]|0)|0;if(t){g=s<<2;if(e>>>0>>0){t=0;return t|0}m=o;o=f[m>>2]|0;m=f[m+4>>2]|0;t=p;e=f[t>>2]|0;t=lk(e|0,f[t+4>>2]|0,g|0,0)|0;n=I;if((m|0)<(n|0)|(m|0)==(n|0)&o>>>0>>0){t=0;return t|0}else{Ld(q|0,(f[d>>2]|0)+e|0,g|0)|0;t=p;t=lk(f[t>>2]|0,f[t+4>>2]|0,g|0,0)|0;i=p;f[i>>2]=t;f[i+4>>2]=I;i=18;break}}i=X(l,s)|0;if(e>>>0>>0){t=0;return t|0}j=o;h=f[j>>2]|0;j=f[j+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;t=Dj(h|0,j|0,e|0,g|0)|0;k=I;m=((i|0)<0)<<31>>31;if((k|0)<(m|0)|(k|0)==(m|0)&t>>>0>>0){t=0;return t|0}if(!s)i=19;else{k=n&255;i=j;j=0;while(1){t=lk(e|0,g|0,k|0,0)|0;n=I;if(!((i|0)<(n|0)|(i|0)==(n|0)&h>>>0>>0)){Ld(q+(j<<2)|0,(f[d>>2]|0)+e|0,l|0)|0;e=p;e=lk(f[e>>2]|0,f[e+4>>2]|0,k|0,0)|0;g=I;t=p;f[t>>2]=e;f[t+4>>2]=g}j=j+1|0;if((j|0)==(s|0)){i=18;break a}h=o;i=f[h+4>>2]|0;h=f[h>>2]|0}}}else if(xf(s,r,d,q)|0)i=18;else{t=0;return t|0}while(0);do if((i|0)==18)if((s|0)>0){g=a+20|0;e=f[g>>2]|0;if(e|0?Ra[f[(f[e>>2]|0)+32>>2]&127](e)|0:0){h=1;break}pi(q,s,q);h=1}else i=19;while(0);if((i|0)==19){g=a+20|0;h=0}e=f[g>>2]|0;if(e|0){if(!(Va[f[(f[e>>2]|0)+40>>2]&127](e,d)|0)){t=0;return t|0}if(h?(t=f[g>>2]|0,!(Qa[f[(f[t>>2]|0)+44>>2]&15](t,q,q,s,r,f[c>>2]|0)|0)):0){t=0;return t|0}}t=1;return t|0}function Hb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+64|0;E=F;g=E;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));a:do if(Hc(E,d)|0?kd(E,d)|0:0){g=(a|0)==0;b:do if(!g){if(!(f[E+12>>2]|0)){k=0;break a}Vg(d,0,0)|0;if(!g){z=E+44|0;C=E+48|0;y=E+40|0;s=E+16|0;t=E+28|0;A=(c|0)>0;D=d+36|0;x=d+32|0;v=d+24|0;w=d+28|0;i=f[C>>2]|0;B=0;g=0;while(1){c:do if(i>>>0<16384){j=f[z>>2]|0;do{if((j|0)<=0)break c;r=f[y>>2]|0;j=j+-1|0;f[z>>2]=j;i=h[r+j>>0]|i<<8;f[C>>2]=i}while(i>>>0<16384)}while(0);p=i&4095;r=f[(f[s>>2]|0)+(p<<2)>>2]|0;q=f[t>>2]|0;i=(X(f[q+(r<<3)>>2]|0,i>>>12)|0)+p-(f[q+(r<<3)+4>>2]|0)|0;f[C>>2]=i;if(A){p=(r|0)>0;if((r|0)<=-1){g=22;break}if((r|0)<33){q=0;o=g}else{g=21;break}while(1){if(!(b[D>>0]|0)){k=0;break a}if(p){l=f[v>>2]|0;m=f[w>>2]|0;k=f[x>>2]|0;n=0;j=0;do{g=l+(k>>>3)|0;if(g>>>0>>0){g=(h[g>>0]|0)>>>(k&7)&1;k=k+1|0;f[x>>2]=k}else g=0;j=g<>2]=j;q=q+1|0;if((q|0)>=(c|0))break;else o=g}}B=B+c|0;if(B>>>0>=a>>>0)break b}if((g|0)==21){if(!(b[D>>0]|0)){k=0;break a}Fa(12337,12242,156,12329)}else if((g|0)==22){if(!(b[D>>0]|0)){k=0;break a}Fa(12227,12242,155,12329)}}}else Vg(d,0,0)|0;while(0);bi(d);k=1}else k=0;while(0);g=f[E+28>>2]|0;if(g|0){j=E+32|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-8-g|0)>>>3)<<3);Em(g)}g=f[E+16>>2]|0;if(g|0){j=E+20|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-4-g|0)>>>2)<<2);Em(g)}j=f[E>>2]|0;if(!j){u=F;return k|0}i=E+4|0;g=f[i>>2]|0;if((g|0)!=(j|0))f[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);Em(j);u=F;return k|0}function Ib(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Em(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;gm(a);sa(a|0,840,80)}s=_i(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)Em(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(s)g=d&r;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){q=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(s)p=e&r;else p=(e>>>0)%(c>>>0)|0;if((p|0)==(g|0))break;e=(f[a>>2]|0)+(p<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{n=d+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[d+12>>2]|0:m;l=(o|0)==0;if(k){h=d;while(1){j=e+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[e+12>>2]|0:m&255)|0)){e=h;break c}if(!l?xh(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{m=e;e=h;h=m}}}if(l){h=d;while(1){o=b[e+8+11>>0]|0;if((o<<24>>24<0?f[e+12>>2]|0:o&255)|0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{o=e;e=h;h=o}}}l=d;while(1){h=e+8|0;k=b[h+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[e+12>>2]|0:k&255)|0)){e=l;break c}h=j?f[h>>2]|0:h;if((f[n>>2]&255)<<24>>24==(b[h>>0]|0)){j=m;k=n}else{e=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;h=h+1|0;if((b[k>>0]|0)!=(b[h>>0]|0)){e=l;break c}}h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[q>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=41;break a}}e=f[d>>2]|0;if(!e){d=41;break a}else{i=d;q=d}}f[e>>2]=q;e=f[d>>2]|0;if(!e){d=41;break}else{i=d;g=p}}if((d|0)==41)return}function Jb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{l=d;d=d+-116|0;f[g+-116>>2]=f[d>>2];j=l+-112|0;f[g+-112>>2]=f[j>>2];k=l+-108|0;f[g+-108>>2]=f[k>>2];m=l+-104|0;f[g+-104>>2]=f[m>>2];f[j>>2]=0;f[k>>2]=0;f[m>>2]=0;m=l+-100|0;f[g+-100>>2]=f[m>>2];k=l+-96|0;f[g+-96>>2]=f[k>>2];j=l+-92|0;f[g+-92>>2]=f[j>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;b[g+-88>>0]=b[l+-88>>0]|0;j=g+-84|0;k=l+-84|0;f[j>>2]=0;m=g+-80|0;f[m>>2]=0;f[g+-76>>2]=0;f[j>>2]=f[k>>2];j=l+-80|0;f[m>>2]=f[j>>2];m=l+-76|0;f[g+-76>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;k=g+-72|0;j=l+-72|0;f[k>>2]=0;m=g+-68|0;f[m>>2]=0;f[g+-64>>2]=0;f[k>>2]=f[j>>2];k=l+-68|0;f[m>>2]=f[k>>2];m=l+-64|0;f[g+-64>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-60|0;k=l+-60|0;f[j>>2]=0;m=g+-56|0;f[m>>2]=0;f[g+-52>>2]=0;f[j>>2]=f[k>>2];j=l+-56|0;f[m>>2]=f[j>>2];m=l+-52|0;f[g+-52>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-48>>2]=f[l+-48>>2];b[g+-44>>0]=b[l+-44>>0]|0;k=g+-40|0;j=l+-40|0;f[k>>2]=0;m=g+-36|0;f[m>>2]=0;f[g+-32>>2]=0;f[k>>2]=f[j>>2];k=l+-36|0;f[m>>2]=f[k>>2];m=l+-32|0;f[g+-32>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-28|0;k=l+-28|0;f[j>>2]=0;m=g+-24|0;f[m>>2]=0;f[g+-20>>2]=0;f[j>>2]=f[k>>2];j=l+-24|0;f[m>>2]=f[j>>2];m=l+-20|0;f[g+-20>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-16>>2]=f[l+-16>>2];k=g+-12|0;j=l+-12|0;f[k>>2]=0;m=g+-8|0;f[m>>2]=0;f[g+-4>>2]=0;f[k>>2]=f[j>>2];k=l+-8|0;f[m>>2]=f[k>>2];l=l+-4|0;f[g+-4>>2]=f[l>>2];f[l>>2]=0;f[k>>2]=0;f[j>>2]=0;g=(f[h>>2]|0)+-116|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Kb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;m=r+32|0;h=r+28|0;p=r+16|0;q=r;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){q=c;q=q+20|0;u=r;return q|0}}jl(p);f[q>>2]=f[b>>2];l=q+4|0;f[q+8>>2]=0;k=q+12|0;f[k>>2]=0;n=q+8|0;f[l>>2]=n;c=f[p>>2]|0;o=p+4|0;if((c|0)!=(o|0)){g=n;e=c;d=c;while(1){c=e+16|0;f[h>>2]=g;f[m>>2]=f[h>>2];Zd(l,m,c,c)|0;c=f[d+4>>2]|0;if(!c)while(1){c=f[d+8>>2]|0;if((f[c>>2]|0)==(d|0))break;else d=c}else while(1){d=f[c>>2]|0;if(!d)break;else c=d}if((c|0)==(o|0))break;else{e=c;d=c}}}i=a+12|0;c=f[j>>2]|0;do if(c){e=f[q>>2]|0;g=c;while(1){c=f[g+16>>2]|0;if((e|0)<(c|0)){c=f[g>>2]|0;if(!c){c=19;break}}else{if((c|0)>=(e|0)){c=24;break}d=g+4|0;c=f[d>>2]|0;if(!c){c=23;break}}g=c}if((c|0)==19){f[m>>2]=g;h=g;b=g;break}else if((c|0)==23){f[m>>2]=g;h=g;b=d;break}else if((c|0)==24){f[m>>2]=g;h=g;b=m;break}}else{f[m>>2]=j;h=j;b=j}while(0);c=f[b>>2]|0;if(!c){c=_i(32)|0;f[c+16>>2]=f[q>>2];g=c+20|0;f[g>>2]=f[l>>2];e=c+24|0;d=f[q+8>>2]|0;f[e>>2]=d;m=f[k>>2]|0;f[c+28>>2]=m;if(!m)f[g>>2]=e;else{f[d+8>>2]=e;f[l>>2]=n;f[n>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[b>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[b>>2]|0}vc(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}Mf(q+4|0,f[n>>2]|0);Mf(p,f[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function Lb(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_i(60)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1540;e=b;f[a>>2]=e;return}case 4:{b=_i(112)|0;f[b>>2]=1176;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1596;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 5:{b=_i(104)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1652;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_i(124)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1708;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1764;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$l(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Mb(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_i(60)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1288;e=b;f[a>>2]=e;return}case 4:{b=_i(112)|0;f[b>>2]=1176;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1344;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 5:{b=_i(104)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1400;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_i(124)|0;f[b>>2]=1176;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Xf(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1456;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1512;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;$l(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;r=y+12|0;s=y+4|0;p=y+8|0;q=y;x=a+8+(b*12|0)|0;d=f[x>>2]|0;t=a+8+(b*12|0)+4|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c>>2]|0;m=a+4|0;f[s>>2]=(d|0)<0?-1073741824:(d>>>0)/3|0;w=a+56|0;l=a+8+(b*12|0)+8|0;e=d;o=0;do{n=(o|0)==1;if(n){g=(d|0)<0;do if(!g)if(!((d>>>0)%3|0)){e=d+2|0;break}else{e=d+-1|0;break}else e=d;while(0);f[p>>2]=e;f[r>>2]=f[p>>2];if((Hd(a,r)|0)<0)break;e=d+1|0;if(g){v=12;break}e=((e|0)%3|0|0)==0?d+-2|0:e;f[c>>2]=e;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;if((e|0)<0){v=16;break}e=f[(f[(f[m>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;f[c>>2]=e;if((e|0)<0)break;else{g=0;v=18}}else{i=f[s>>2]|0;k=e;j=0}while(1){if((v|0)==18){v=0;i=(e>>>0)/3|0;f[s>>2]=i;k=e;j=g}h=(f[w>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);e=f[h>>2]|0;if(g&e|0){e=k;g=j;break}f[h>>2]=e|g;e=f[t>>2]|0;if((e|0)==(f[l>>2]|0))$e(x,s);else{f[e>>2]=f[s>>2];f[t>>2]=e+4}g=j+1|0;if((j|0)>0){do if(!(g&1)){d=n?k:d;if((k|0)>=0)if(!((k>>>0)%3|0)){e=k+2|0;break}else{e=k+-1|0;break}else e=k}else{e=k+1|0;if((k|0)<0)e=k;else e=((e|0)%3|0|0)==0?k+-2|0:e}while(0);f[c>>2]=e}else e=k;f[q>>2]=e;f[r>>2]=f[q>>2];e=Hd(a,r)|0;f[c>>2]=e;if((e|0)<0)break;else v=18}if(!((g&1|0)==0|n^1)){n=f[t>>2]|0;j=f[n+-4>>2]|0;k=(f[w>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(j&31));f[t>>2]=n+-4}o=o+1|0}while((o|0)<2);if((v|0)==12){f[c>>2]=d;e=d;v=16}if((v|0)==16)f[c>>2]=e;f[a+44+(b<<2)>>2]=d;e=f[t>>2]|0;d=f[x>>2]|0;h=d;if((e|0)==(d|0)){u=y;return}g=f[w>>2]|0;e=e-d>>2;d=0;do{w=f[h+(d<<2)>>2]|0;x=g+(w>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(w&31));d=d+1|0}while(d>>>0>>0);u=y;return}function Ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Bc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+4194304|0;f[l>>2]=g;e=g>>>0>1073741823;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<4194304)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<4194304);while(0);o=g&1048575;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>20)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Pb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Cc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+2097152|0;f[l>>2]=g;e=g>>>0>536870911;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<2097152)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<2097152);while(0);o=g&524287;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>19)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Dc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+1048576|0;f[l>>2]=g;e=g>>>0>268435455;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<1048576)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<1048576);while(0);o=g&262143;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>18)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Rb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=a+4|0;s=f[c>>2]|0;c=s;do if((s|0)!=(n|0)){i=s+16|0;o=b[e+11>>0]|0;p=o<<24>>24<0;o=p?f[e+4>>2]|0:o&255;h=b[i+11>>0]|0;l=h<<24>>24<0;h=l?f[s+20>>2]|0:h&255;k=h>>>0>>0;g=k?h:o;if((g|0)!=0?(j=xh(p?f[e>>2]|0:e,l?f[i>>2]|0:i,g)|0,(j|0)!=0):0){if((j|0)<0)break}else t=4;if((t|0)==4?o>>>0>>0:0)break;g=o>>>0>>0?o:h;if((g|0)!=0?(m=xh(l?f[i>>2]|0:i,p?f[e>>2]|0:e,g)|0,(m|0)!=0):0){if((m|0)>=0)t=34}else t=20;if((t|0)==20?!k:0)t=34;if((t|0)==34){f[d>>2]=c;return d|0}k=s+4|0;c=f[k>>2]|0;l=(c|0)==0;if(l){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))break;else g=c}}else while(1){g=f[c>>2]|0;if(!g)break;else c=g}do if((c|0)!=(n|0)){h=c+16|0;i=b[h+11>>0]|0;j=i<<24>>24<0;i=j?f[c+20>>2]|0:i&255;g=i>>>0>>0?i:o;if((g|0)!=0?(q=xh(p?f[e>>2]|0:e,j?f[h>>2]|0:h,g)|0,(q|0)!=0):0){if((q|0)<0)break}else t=28;if((t|0)==28?o>>>0>>0:0)break;d=Fd(a,d,e)|0;return d|0}while(0);if(l){f[d>>2]=s;d=k;return d|0}else{f[d>>2]=c;d=c;return d|0}}while(0);do if((s|0)!=(f[a>>2]|0)){c=f[s>>2]|0;if(!c){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))g=c;else{g=c;break}}}else while(1){g=f[c+4>>2]|0;if(!g){g=c;break}else c=g}c=g;k=g+16|0;h=b[k+11>>0]|0;l=h<<24>>24<0;h=l?f[g+20>>2]|0:h&255;i=b[e+11>>0]|0;j=i<<24>>24<0;i=j?f[e+4>>2]|0:i&255;g=i>>>0>>0?i:h;if((g|0)!=0?(r=xh(l?f[k>>2]|0:k,j?f[e>>2]|0:e,g)|0,(r|0)!=0):0){if((r|0)<0)break}else t=12;if((t|0)==12?h>>>0>>0:0)break;d=Fd(a,d,e)|0;return d|0}while(0);if(!(f[s>>2]|0)){f[d>>2]=s;d=s;return d|0}else{t=c;f[d>>2]=t;d=t+4|0;return d|0}return 0}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Ec(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+262144|0;f[l>>2]=g;e=g>>>0>67108863;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<262144)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<262144);while(0);o=g&65535;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>16)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Fc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+131072|0;f[l>>2]=g;e=g>>>0>33554431;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<131072)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<131072);while(0);o=g&32767;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>15)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Gc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+32768|0;f[l>>2]=g;e=g>>>0>8388607;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<32768)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<32768);while(0);o=g&8191;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>13)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Hc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(nf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=Dj(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=lk(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+16384|0;f[l>>2]=g;e=g>>>0>4194303;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<16384)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<16384);while(0);o=g&4095;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>12)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Wb(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=ti(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((ti(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=lk(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;Dj(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Dj(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0} -function zl(a){a=a|0;return f[a+4>>2]|0}function Al(a){a=a|0;if(!a)return;Em(a);return}function Bl(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function Cl(a){a=a|0;return f[a+88>>2]|0}function Dl(a,b,c){a=a|0;b=b|0;c=c|0;Pa[a&7](b|0,c|0)}function El(){var a=0;a=_i(40)|0;Ti(a);return a|0}function Fl(){var a=0;a=_i(108)|0;Ui(a);return a|0}function Gl(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function Hl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(1)}function Il(){var a=0;a=f[4188]|0;f[4188]=a+0;return a|0}function Jl(a){a=a|0;return f[a+56>>2]|0}function Kl(a){a=a|0;zd(a);Em(a);return}function Ll(a){a=a|0;return b[a+24>>0]|0}function Ml(){var a=0;a=f[893]|0;f[893]=a+0;return a|0}function Nl(a,b){a=a|0;b=b|0;return 0}function Ol(a){a=a|0;return f[a+40>>2]|0}function Pl(a){a=a|0;return f[a+48>>2]|0}function Ql(a,b){a=a|0;b=b|0;return Ra[a&127](b|0)|0}function Rl(a){a=a|0;return f[a+60>>2]|0}function Sl(a){a=a|0;return f[a+28>>2]|0}function Tl(a){a=a|0;xa(a|0)|0;si()}function Ul(a,b){a=a|0;b=b|0;u=a;v=b}function Vl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(10)}function Wl(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Xl(a){a=a|0;return (f[a>>2]|0)==0|0}function Yl(a){a=a|0;return f[a+80>>2]|0}function Zl(a,b){a=a|0;b=b|0;Oa[a&127](b|0)}function _l(a,b){a=a|0;b=b|0;return Jj(a,b)|0}function $l(a){a=a|0;b[a+12>>0]=0;return}function am(a){a=a|0;Jm(a);Em(a);return}function bm(a){a=a|0;return a&255|0}function cm(a){a=a|0;f[a>>2]=0;return}function dm(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function em(a){a=a|0;return f[a>>2]|0}function fm(a){a=a|0;return 2}function gm(a){a=a|0;f[a>>2]=3668;return}function hm(a){a=a|0;return 1}function im(a,b){a=+a;b=b|0;return +(+qg(a,b))}function jm(){return 3}function km(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function lm(){return -4}function mm(){return 4}function nm(){return -3}function om(){return 1}function pm(){return 2}function qm(){return (Am()|0)+64|0}function rm(){return -5}function sm(a,b){a=a|0;b=b|0;aa(9);return 0}function tm(a){a=a|0;return 16086}function um(a){a=a|0;Ta[a&3]()}function vm(){return -2}function wm(){Ga()}function xm(){return -1}function ym(a,b){a=a|0;b=b|0;aa(3)}function zm(){return 0}function Am(){return Om()|0}function Bm(a){a=a|0;return _i(a)|0}function Cm(a){a=a|0;Em(a);return}function Dm(a){a=a|0;u=a}function Em(a){a=a|0;rb(a);return}function Fm(a){a=a|0;I=a}function Gm(){return 16680}function Hm(a){a=a|0;return a|0}function Im(a){a=a|0;aa(5);return 0}function Jm(a){a=a|0;return}function Km(a){a=a|0;return 0}function Lm(){return I|0}function Mm(){return u|0}function Nm(a){a=a|0;aa(2)}function Om(){return 2820}function Pm(){aa(7)} +function $b(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;B=D+8|0;z=D;A=D+4|0;if(!(Hf(a,b)|0)){a=0;u=D;return a|0}C=b+96|0;o=b+100|0;d=f[o>>2]|0;b=f[C>>2]|0;if((d-b|0)<=0){a=1;u=D;return a|0}n=a+56|0;v=a+8|0;r=a+12|0;s=a+20|0;p=a+24|0;t=a+32|0;q=a+36|0;x=a+68|0;y=a+76|0;w=a+72|0;m=0;while(1){if(!(f[(f[n>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31))){i=m*3|0;f[z>>2]=i;f[B>>2]=f[z>>2];Rb(a,0,B);l=(f[r>>2]|0)-(f[v>>2]|0)>>2;f[z>>2]=i+1;f[B>>2]=f[z>>2];Rb(a,1,B);j=(f[p>>2]|0)-(f[s>>2]|0)>>2;k=j>>>0>l>>>0;f[z>>2]=i+2;f[B>>2]=f[z>>2];Rb(a,2,B);l=(f[q>>2]|0)-(f[t>>2]|0)>>2>>>0>(k?j:l)>>>0?2:k?1:((l|0)==0)<<31>>31;if((f[x>>2]|0)>0){d=f[y>>2]|0;f[B>>2]=d;k=f[c>>2]|0;i=k+4|0;e=f[i>>2]|0;j=k+8|0;b=k;if(e>>>0<(f[j>>2]|0)>>>0){f[e>>2]=d;f[i>>2]=e+4}else hf(k,B);h=f[a+44+(l<<2)>>2]|0;d=f[a>>2]|0;if((h|0)==-1073741824)e=-1073741824;else{g=(h|0)/3|0;if((h|0)<=-3){d=12;break}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){d=14;break}e=f[e+(g*12|0)+(((h|0)%3|0)<<2)>>2]|0}f[B>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else hf(k,B);h=(f[w>>2]|0)+2|0;f[w>>2]=h;if(h&1){f[B>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else hf(k,B);f[w>>2]=(f[w>>2]|0)+1}}else b=f[c>>2]|0;f[A>>2]=b;f[B>>2]=f[A>>2];Cb(a,l,B);b=f[C>>2]|0;d=f[o>>2]|0}m=m+1|0;if((m|0)>=((d-b|0)/12|0|0)){b=1;d=26;break}}if((d|0)==12)ra(12835,12860,63,12943);else if((d|0)==14)ra(12948,12860,64,12943);else if((d|0)==26){u=D;return b|0}return 0}function ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+176|0;h=t+136|0;s=t+64|0;o=t;j=t+32|0;i=f[(f[c+4>>2]|0)+44>>2]|0;n=Yi(88)|0;f[n+4>>2]=0;f[n>>2]=2424;k=n+12|0;f[k>>2]=2404;m=n+64|0;f[m>>2]=0;f[n+68>>2]=0;f[n+72>>2]=0;e=n+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[n+76>>2]=i;f[n+80>>2]=d;f[n+84>>2]=0;l=n;q=s+4|0;f[q>>2]=2404;p=s+56|0;f[p>>2]=0;r=s+60|0;f[r>>2]=0;f[s+64>>2]=0;e=s+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=f[c+8>>2]|0;f[o>>2]=2404;c=o+4|0;g=c+4|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;g=e;f[c>>2]=g;g=((f[g+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0;b[h>>0]=0;Wd(o+8|0,g,h);Ra[f[(f[o>>2]|0)+8>>2]&127](o);Xc(j,o);Xc(h,j);f[s>>2]=f[h+4>>2];g=s+4|0;nd(g,h)|0;f[h>>2]=2404;c=f[h+20>>2]|0;if(c|0)Em(c);c=f[h+8>>2]|0;if(c|0)Em(c);f[s+36>>2]=e;f[s+40>>2]=d;f[s+44>>2]=i;f[s+48>>2]=n;f[j>>2]=2404;c=f[j+20>>2]|0;if(c|0)Em(c);c=f[j+8>>2]|0;if(c|0)Em(c);f[n+8>>2]=f[s>>2];nd(k,g)|0;c=n+44|0;n=s+36|0;f[c>>2]=f[n>>2];f[c+4>>2]=f[n+4>>2];f[c+8>>2]=f[n+8>>2];f[c+12>>2]=f[n+12>>2];b[c+16>>0]=b[n+16>>0]|0;qd(m,f[p>>2]|0,f[r>>2]|0);f[a>>2]=l;f[o>>2]=2404;c=f[o+20>>2]|0;if(c|0)Em(c);c=f[o+8>>2]|0;if(c|0)Em(c);c=f[p>>2]|0;if(c|0){e=f[r>>2]|0;if((e|0)!=(c|0))f[r>>2]=e+(~((e+-4-c|0)>>>2)<<2);Em(c)}f[q>>2]=2404;c=f[s+24>>2]|0;if(c|0)Em(c);c=f[s+12>>2]|0;if(!c){u=t;return}Em(c);u=t;return}function bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;r=s;ed(a+80|0,a)|0;if(!($e(a)|0)){r=0;u=s;return r|0}c=b;d=a;e=c+40|0;do{f[c>>2]=f[d>>2];c=c+4|0;d=d+4|0}while((c|0)<(e|0));h=a+176|0;f[h>>2]=2;k=a+180|0;f[k>>2]=7;c=f[a+152>>2]|0;if((c|0)<0){r=0;u=s;return r|0}j=a+156|0;f[r>>2]=0;g=a+160|0;e=f[g>>2]|0;d=f[j>>2]|0;i=e-d>>2;if(c>>>0<=i>>>0)if(c>>>0>>0?(l=d+(c<<2)|0,(e|0)!=(l|0)):0){f[g>>2]=e+(~((e+-4-l|0)>>>2)<<2);d=2;c=7}else{d=2;c=7}else{ee(j,c-i|0,r);d=f[h>>2]|0;c=f[k>>2]|0}g=c-d+1|0;o=a+184|0;n=a+188|0;d=f[n>>2]|0;e=f[o>>2]|0;h=(d-e|0)/12|0;c=d;if(g>>>0<=h>>>0){if(g>>>0>>0?(m=e+(g*12|0)|0,(c|0)!=(m|0)):0){do{d=c+-12|0;f[n>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Em(e);c=f[n>>2]|0}}while((c|0)!=(m|0));d=c}}else{hd(o,g-h|0);d=f[n>>2]|0}l=a+196|0;c=f[o>>2]|0;j=(d-c|0)/12|0;h=a+200|0;g=f[h>>2]|0;e=f[l>>2]|0;i=g-e>>2;if(j>>>0<=i>>>0){if(j>>>0>>0?(p=e+(j<<2)|0,(g|0)!=(p|0)):0)f[h>>2]=g+(~((g+-4-p|0)>>>2)<<2)}else{Ve(l,j-i|0);d=f[n>>2]|0;c=f[o>>2]|0}if((d|0)==(c|0)){r=1;u=s;return r|0}k=0;do{Vf(r,b)|0;c=f[r>>2]|0;if(c|0){d=f[o>>2]|0;i=d+(k*12|0)|0;h=d+(k*12|0)+4|0;g=f[h>>2]|0;e=f[i>>2]|0;j=g-e>>2;if(c>>>0<=j>>>0){if(c>>>0>>0?(q=e+(c<<2)|0,(g|0)!=(q|0)):0)f[h>>2]=g+(~((g+-4-q|0)>>>2)<<2)}else{Ve(i,c-j|0);d=f[o>>2]|0;c=f[r>>2]|0}Ef(c,1,b,f[d+(k*12|0)>>2]|0)|0;f[(f[l>>2]|0)+(k<<2)>>2]=f[r>>2]}k=k+1|0}while(k>>>0<(((f[n>>2]|0)-(f[o>>2]|0)|0)/12|0)>>>0);c=1;u=s;return c|0}function cc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)Em(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}m=Yi(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)Em(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(!m){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&l;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{i=g;e=d;h=g}a:while(1){b:do if(m){k=i;while(1){d=e;while(1){j=f[d+4>>2]&l;if((j|0)==(c|0))break;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+8|0;g=d;while(1){e=f[g>>2]|0;if(!e)break;if((f[i>>2]|0)==(f[e+8>>2]|0))g=e;else break}f[h>>2]=e;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;h=d}}}else{k=i;j=h;while(1){d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){h=j;c=e;break b}i=d+8|0;h=d;while(1){g=f[h>>2]|0;if(!g)break;if((f[i>>2]|0)==(f[g+8>>2]|0))h=g;else break}f[j>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;j=d}}}while(0);f[g>>2]=h;e=f[d>>2]|0;if(!e){c=37;break}else{i=d;h=d}}if((c|0)==37)return}function dc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;w=u;u=u+32|0;e=w+24|0;r=w+20|0;v=w+8|0;t=w+4|0;o=w;f[e>>2]=0;Vf(e,f[a>>2]|0)|0;a:do if(f[e>>2]|0){d=0;while(1){d=d+1|0;if(!(kc(a,c)|0)){d=0;break}if(d>>>0>=(f[e>>2]|0)>>>0)break a}u=w;return d|0}while(0);f[r>>2]=0;Vf(r,f[a>>2]|0)|0;b:do if(!(f[r>>2]|0))d=1;else{i=v+11|0;j=0;while(1){f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=f[a>>2]|0;x=g+8|0;y=f[x+4>>2]|0;h=g+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if((y|0)>(e|0)|((y|0)==(e|0)?(f[x>>2]|0)>>>0>d>>>0:0)?(m=b[(f[g>>2]|0)+d>>0]|0,k=Ij(d|0,e|0,1,0)|0,q=h,f[q>>2]=k,f[q+4>>2]=I,q=m&255,Yf(v,q,0),k=f[a>>2]|0,p=Lh(v,0)|0,g=k+8|0,x=f[g>>2]|0,g=f[g+4>>2]|0,s=k+16|0,y=s,l=f[y>>2]|0,m=m&255,y=Ij(l|0,f[y+4>>2]|0,m|0,0)|0,h=I,!((g|0)<(h|0)|(g|0)==(h|0)&x>>>0>>0)):0){Od(p|0,(f[k>>2]|0)+l|0,q|0)|0;x=s;x=Ij(f[x>>2]|0,f[x+4>>2]|0,m|0,0)|0;y=s;f[y>>2]=x;f[y+4>>2]=I;y=Yi(40)|0;f[y>>2]=0;f[y+4>>2]=0;f[y+8>>2]=0;f[y+12>>2]=0;n[y+16>>2]=$(1.0);x=y+20|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;n[y+36>>2]=$(1.0);f[t>>2]=y;if(dc(a,y)|0){d=f[t>>2]|0;f[t>>2]=0;f[o>>2]=d;wd(c,v,o)|0;cf(o);d=0}else d=1;cf(t)}else d=1;if((b[i>>0]|0)<0)Em(f[v>>2]|0);j=j+1|0;if(d|0){d=0;break b}if(j>>>0>=(f[r>>2]|0)>>>0){d=1;break}}}while(0);y=d;u=w;return y|0}function ec(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+148|0;c=f[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)){h=b;g=c+2|0;break}else{h=b;g=c+-1|0;break}}else{h=c;g=c}while(0);switch(f[a+168>>2]|0){case 1:case 0:{if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 5:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 3:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+1;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=1;b=-1073741824;e=28}else{d=1;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}case 7:{if(d)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;c=f[a+156>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;e=c+(b<<2)|0;f[e>>2]=(f[e>>2]|0)+2;if((g|0)<0){d=2;b=-1073741824;e=28}else{d=2;b=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0;e=28}break}default:{}}if((e|0)==28){g=c+(b<<2)|0;f[g>>2]=(f[g>>2]|0)+d}if((h|0)<0)b=-1073741824;else b=f[(f[f[i>>2]>>2]|0)+(h<<2)>>2]|0;b=f[(f[a+156>>2]|0)+(b<<2)>>2]|0;c=f[a+176>>2]|0;if((b|0)<(c|0)){i=c;i=i-c|0;a=a+172|0;f[a>>2]=i;return}i=f[a+180>>2]|0;i=(b|0)>(i|0)?i:b;i=i-c|0;a=a+172|0;f[a>>2]=i;return}function fc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=a+8|0;f[t>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0)if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0){f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2);g=e}else g=e;else{Ve(j,e-k|0);g=f[t>>2]|0}r=e>>>0>1073741823?-1:e<<2;s=Bm(r)|0;Cf(s|0,0,r|0)|0;if((g|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{g=f[s+(j<<2)>>2]|0;h=f[l>>2]|0;if((g|0)>(h|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=h}else{r=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(g|0)<(r|0)?r:g}j=j+1|0;g=f[t>>2]|0}while((j|0)<(g|0));if((g|0)>0){j=a+20|0;i=0;do{g=(f[b+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=c+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[l>>2]|0)){if((g|0)<(f[m>>2]|0)){g=(f[j>>2]|0)+g|0;u=18}}else{g=g-(f[j>>2]|0)|0;u=18}if((u|0)==18){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}if((e|0)>=(d|0)){Cm(s);return 1}p=0-e|0;q=a+16|0;o=a+32|0;r=a+12|0;n=a+20|0;a=e;do{l=c+(a<<2)|0;j=l+(p<<2)|0;m=b+(a<<2)|0;if((g|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[q>>2]|0;if((g|0)>(h|0)){k=f[o>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[r>>2]|0;k=f[o>>2]|0;f[k+(i<<2)>>2]=(g|0)<(h|0)?h:g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0));if((g|0)>0){i=0;do{g=(f[m+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=g;if((g|0)<=(f[q>>2]|0)){if((g|0)<(f[r>>2]|0)){g=(f[n>>2]|0)+g|0;u=33}}else{g=g-(f[n>>2]|0)|0;u=33}if((u|0)==33){u=0;f[h>>2]=g}i=i+1|0;g=f[t>>2]|0}while((i|0)<(g|0))}}a=a+e|0}while((a|0)<(d|0));Cm(s);return 1}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;i=c+8|0;j=f[i+4>>2]|0;h=c+16|0;e=h;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((j|0)>(e|0)|((j|0)==(e|0)?(f[i>>2]|0)>>>0>g>>>0:0))){j=0;return j|0}j=b[(f[c>>2]|0)+g>>0]|0;g=Ij(g|0,e|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do switch(j<<24>>24){case 1:{j=Zb(a,c,d)|0;return j|0}case 2:{j=Zb(a,c,d)|0;return j|0}case 3:{j=Zb(a,c,d)|0;return j|0}case 4:{j=Zb(a,c,d)|0;return j|0}case 5:{j=Uc(a,c,d)|0;return j|0}case 6:{j=Zb(a,c,d)|0;return j|0}case 7:{j=Zb(a,c,d)|0;return j|0}case 8:{j=Zb(a,c,d)|0;return j|0}case 9:{j=Yb(a,c,d)|0;return j|0}case 10:{j=Xb(a,c,d)|0;return j|0}case 11:{j=Wb(a,c,d)|0;return j|0}case 12:{j=Ub(a,c,d)|0;return j|0}case 13:{j=Tb(a,c,d)|0;return j|0}case 14:{j=Sb(a,c,d)|0;return j|0}case 15:{j=Sb(a,c,d)|0;return j|0}case 16:{j=Sb(a,c,d)|0;return j|0}case 17:{j=Sb(a,c,d)|0;return j|0}case 18:{j=Sb(a,c,d)|0;return j|0}default:{j=0;return j|0}}while(0);return 0}function hc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Ve(i,e-j|0);n=a+56|0;h=f[n>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;q=d-g|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((d|0)==(g|0)){k=h;Wl(k)}else{l=g;y=0}while(1){f[t>>2]=f[l+(y<<2)>>2];f[v>>2]=f[t>>2];mb(w,v,c,y);k=X(y,e)|0;j=b+(k<<2)|0;k=c+(k<<2)|0;if((f[s>>2]|0)>0){h=0;do{d=f[a+68+(h<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){i=f[m>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[q>>2]|0;i=f[m>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[s>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=20}}else{d=d-(f[o>>2]|0)|0;z=20}if((z|0)==20){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=8;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=9;break}}if((z|0)==8){u=x;return 1}else if((z|0)==9)Wl(d);return 0}function ic(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;e=f[k>>2]|0;switch(f[e+28>>2]|0){case 2:{d=b[e+24>>0]|0;j=d<<24>>24;i=Bm((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;a:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Od(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break a}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Cm(i);c=1;return c|0}case 1:{d=b[e+24>>0]|0;j=d<<24>>24;i=Bm((j|0)>-1?j:-1)|0;h=f[a+16>>2]|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;b:do if(c|0){if(d<<24>>24>0){a=0;e=0}else{Od(f[f[e+64>>2]>>2]|0,i|0,j|0)|0;if((c|0)==1)break;else{d=1;a=0}while(1){a=a+j|0;Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+a|0,i|0,j|0)|0;d=d+1|0;if((d|0)==(c|0))break b}}while(1){d=0;g=e;while(1){b[i+d>>0]=f[h+(g<<2)>>2];d=d+1|0;if((d|0)==(j|0))break;else g=g+1|0}Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,i|0,j|0)|0;a=a+1|0;if((a|0)==(c|0))break;else e=e+j|0}}while(0);Cm(i);c=1;return c|0}case 4:{De(a,c);c=1;return c|0}case 3:{De(a,c);c=1;return c|0}case 6:{Ee(a,c);c=1;return c|0}case 5:{Ee(a,c);c=1;return c|0}default:{c=0;return c|0}}return 0}function jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;x=u;u=u+16|0;v=x+4|0;t=x;w=a+60|0;f[a+64>>2]=g;s=a+8|0;f[s>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Ve(i,e-j|0);n=a+56|0;h=f[n>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;q=d-g|0;r=q>>2;if((q|0)<=0){u=x;return 1}p=a+16|0;m=a+32|0;q=a+12|0;o=a+20|0;if((d|0)==(g|0)){k=h;Wl(k)}else{l=g;y=0}while(1){f[t>>2]=f[l+(y<<2)>>2];f[v>>2]=f[t>>2];lb(w,v,c,y);k=X(y,e)|0;j=b+(k<<2)|0;k=c+(k<<2)|0;if((f[s>>2]|0)>0){h=0;do{d=f[a+68+(h<<2)>>2]|0;g=f[p>>2]|0;if((d|0)>(g|0)){i=f[m>>2]|0;f[i+(h<<2)>>2]=g}else{l=f[q>>2]|0;i=f[m>>2]|0;f[i+(h<<2)>>2]=(d|0)<(l|0)?l:d}h=h+1|0;d=f[s>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[j+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[p>>2]|0)){if((d|0)<(f[q>>2]|0)){d=(f[o>>2]|0)+d|0;z=20}}else{d=d-(f[o>>2]|0)|0;z=20}if((z|0)==20){z=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[s>>2]|0))}}y=y+1|0;if((y|0)>=(r|0)){z=8;break}d=f[n>>2]|0;l=f[d>>2]|0;if((f[d+4>>2]|0)-l>>2>>>0<=y>>>0){z=9;break}}if((z|0)==8){u=x;return 1}else if((z|0)==9)Wl(d);return 0}function kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+32|0;q=r+16|0;o=r+12|0;p=r;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;d=f[a>>2]|0;s=d+8|0;t=f[s+4>>2]|0;n=d+16|0;e=n;j=f[e>>2]|0;e=f[e+4>>2]|0;if((t|0)>(e|0)|((t|0)==(e|0)?(f[s>>2]|0)>>>0>j>>>0:0)?(i=b[(f[d>>2]|0)+j>>0]|0,g=Ij(j|0,e|0,1,0)|0,l=n,f[l>>2]=g,f[l+4>>2]=I,l=i&255,Yf(q,l,0),g=f[a>>2]|0,k=Lh(q,0)|0,j=g+8|0,s=f[j>>2]|0,j=f[j+4>>2]|0,m=g+16|0,t=m,h=f[t>>2]|0,i=i&255,t=Ij(h|0,f[t+4>>2]|0,i|0,0)|0,n=I,!((j|0)<(n|0)|(j|0)==(n|0)&s>>>0>>0)):0){Od(k|0,(f[g>>2]|0)+h|0,l|0)|0;d=m;d=Ij(f[d>>2]|0,f[d+4>>2]|0,i|0,0)|0;t=m;f[t>>2]=d;f[t+4>>2]=I;f[o>>2]=0;t=(Vf(o,f[a>>2]|0)|0)^1;d=f[o>>2]|0;if((d|0)==0|t)d=0;else{f[p>>2]=0;i=p+4|0;f[i>>2]=0;f[p+8>>2]=0;if((d|0)<0)Wl(p);e=Yi(d)|0;f[i>>2]=e;f[p>>2]=e;f[p+8>>2]=e+d;do{b[e>>0]=0;e=(f[i>>2]|0)+1|0;f[i>>2]=e;d=d+-1|0}while((d|0)!=0);h=f[o>>2]|0;d=f[a>>2]|0;o=d+8|0;s=f[o>>2]|0;o=f[o+4>>2]|0;g=d+16|0;t=g;e=f[t>>2]|0;t=Ij(e|0,f[t+4>>2]|0,h|0,0)|0;a=I;if((o|0)<(a|0)|(o|0)==(a|0)&s>>>0>>0)d=0;else{Od(f[p>>2]|0,(f[d>>2]|0)+e|0,h|0)|0;t=g;t=Ij(f[t>>2]|0,f[t+4>>2]|0,h|0,0)|0;d=g;f[d>>2]=t;f[d+4>>2]=I;yi(c,q,p);d=1}e=f[p>>2]|0;if(e|0){if((f[i>>2]|0)!=(e|0))f[i>>2]=e;Em(e)}}}else d=0;if((b[q+11>>0]|0)>=0){u=r;return d|0}Em(f[q>>2]|0);u=r;return d|0}function lc(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=Ka,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka;m=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(!c)if(m>>>0>>0)h=m;else h=(m>>>0)%(i>>>0)|0;else h=g&m;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(!b)b=h;else{if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}l=f[b+4>>2]|0;if(!((l|0)==(m|0)|(l&g|0)==(h|0))){b=h;break a}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}do{b=f[b>>2]|0;if(!b){b=h;break a}c=f[b+4>>2]|0;if((c|0)!=(m|0)){if(c>>>0>=i>>>0)c=(c>>>0)%(i>>>0)|0;if((c|0)!=(h|0)){b=h;break a}}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}}else b=0;while(0);l=Yi(16)|0;f[l+8>>2]=m;f[l+12>>2]=0;f[l+4>>2]=m;f[l>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;Je(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&m;break}if(m>>>0>>0){g=b;b=m}else{g=b;b=(m>>>0)%(b>>>0)|0}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[l>>2]=f[b>>2];f[b>>2]=l;f[c>>2]=b;b=f[l>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(c&g){if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0}else b=b&c;b=(f[a>>2]|0)+(b<<2)|0;o=30}}else{f[l>>2]=f[b>>2];o=30}if((o|0)==30)f[b>>2]=l;f[h>>2]=(f[h>>2]|0)+1;a=l;a=a+12|0;return a|0}function mc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2280;d=a+360|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(c|0))}Cm(d)}Jm(a+344|0);Jm(a+304|0);Jm(a+288|0);Jm(a+248|0);Ye(a+212|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+144>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Em(d)}while((b|0)!=0);d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Em(b);b=f[a+120>>2]|0;if(b|0)Em(b);b=f[a+108>>2]|0;if(b|0)Em(b);b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+60>>2]|0;if(b|0)Em(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Sf(b);Em(b);return}function nc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;o=r+16|0;n=r+4|0;m=r;if(!(Vf(o,c)|0)){c=-1;u=r;return c|0}d=f[o>>2]|0;if(d|0){q=f[a+8>>2]|0;if(d>>>0>(((f[q+4>>2]|0)-(f[q>>2]|0)>>2>>>0)/3|0)>>>0){c=-1;u=r;return c|0}k=n+4|0;e=a+40|0;g=a+44|0;l=a+36|0;i=0;j=0;do{Vf(m,c)|0;f[k>>2]=(f[m>>2]|0)+j;Vf(m,c)|0;d=f[m>>2]|0;j=f[k>>2]|0;if(j>>>0>>0){p=22;break}f[n>>2]=j-d;d=f[e>>2]|0;if((d|0)==(f[g>>2]|0))Re(l,n);else{f[d>>2]=f[n>>2];f[d+4>>2]=f[n+4>>2];f[d+8>>2]=f[n+8>>2];f[e>>2]=(f[e>>2]|0)+12}i=i+1|0}while(i>>>0<(f[o>>2]|0)>>>0);if((p|0)==22){c=-1;u=r;return c|0}Sg(c,0,0)|0;l=f[o>>2]|0;if(l|0){q=a+4|0;o=c+36|0;p=c+32|0;m=c+24|0;n=c+28|0;j=a+36|0;d=0;k=0;do{a=f[q>>2]|0;e=(b[o>>0]|0)==0;if(((h[a+36>>0]<<8|h[a+37>>0])&65535)<514){if(!e){d=f[p>>2]|0;g=f[m>>2]|0;i=f[n>>2]|0;e=g+(d>>>3)|0;if(e>>>0>>0){a=(h[e>>0]|0)>>>(d&7)&1;e=d+1|0;f[p>>2]=e;d=a}else{e=d;d=0}if((g+(e>>>3)|0)>>>0>>0)f[p>>2]=e+1}}else if(!e){d=f[p>>2]|0;e=(f[m>>2]|0)+(d>>>3)|0;if(e>>>0<(f[n>>2]|0)>>>0){a=(h[e>>0]|0)>>>(d&7)&1;f[p>>2]=d+1;d=a}else d=0}a=(f[j>>2]|0)+(k*12|0)+8|0;b[a>>0]=b[a>>0]&-2|d&1;k=k+1|0}while(k>>>0>>0)}Yh(c)}c=f[c+16>>2]|0;u=r;return c|0}function oc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if((e|0)<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if((h|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function pc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;q=t;o=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((o|0)<=0){a=1;s=1;s=a|s;u=t;return s|0}k=a+36|0;p=a+48|0;l=q+8|0;m=q+4|0;n=q+11|0;c=0;while(1){j=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;if(f[j>>2]|0){j=f[(f[(f[k>>2]|0)+(c<<2)>>2]|0)+8>>2]|0;i=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+40|0;i=f[i>>2]|0;j=f[j+56>>2]|0;d=Yi(32)|0;f[q>>2]=d;f[l>>2]=-2147483616;f[m>>2]=24;e=d;g=10797;h=e+24|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+24>>0]=0;h=i+16|0;e=f[h>>2]|0;if(e){d=h;g=e;a:while(1){e=g;while(1){if((f[e+16>>2]|0)>=(j|0))break;e=f[e+4>>2]|0;if(!e)break a}g=f[e>>2]|0;if(!g){d=e;break}else d=e}if(((d|0)!=(h|0)?(j|0)>=(f[d+16>>2]|0):0)?(r=d+20|0,(ve(r,q)|0)!=0):0)d=ng(r,q,0)|0;else s=13}else s=13;if((s|0)==13){s=0;d=ng(i,q,0)|0}if((b[n>>0]|0)<0)Em(f[q>>2]|0);if(d){s=17;break}}j=f[(f[k>>2]|0)+(c<<2)>>2]|0;if(!(Na[f[(f[j>>2]|0)+24>>2]&127](j,p)|0)){c=0;d=0;s=20;break}c=c+1|0;if((c|0)>=(o|0)){c=1;d=1;s=20;break}}if((s|0)==17){a=f[(f[k>>2]|0)+(c<<2)>>2]|0;s=f[a+8>>2]|0;Kc(s,Ud(a)|0);a=0;s=1;s=a|s;u=t;return s|0}else if((s|0)==20){s=c|d;u=t;return s|0}return 0}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;g=f[b+4>>2]|0;if((d|0)<=-1)ra(12658,12674,59,12771);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(d|0))ra(12781,12674,60,12771);j=f[h+(d<<2)>>2]|0;if(!((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1)){e=0;f[a>>2]=e;return}k=Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0;l=Na[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((k|0)==0|(l|0)==0){e=0;f[a>>2]=e;return}i=Na[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;h=f[b+44>>2]|0;d=l+12|0;g=(c|0)==6;if(!i){if(g){c=Yi(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=k;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=2008;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=k;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=2064;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cm(c+88|0);e=c;f[a>>2]=e;return}}else if(g){c=Yi(104)|0;f[c+4>>2]=j;b=c+8|0;f[b>>2]=f[e>>2];f[b+4>>2]=f[e+4>>2];f[b+8>>2]=f[e+8>>2];f[b+12>>2]=f[e+12>>2];f[c+24>>2]=h;f[c+28>>2]=i;f[c+32>>2]=d;f[c+36>>2]=l;f[c>>2]=1924;f[c+44>>2]=0;f[c+48>>2]=0;f[c+52>>2]=h;f[c+56>>2]=i;f[c+60>>2]=d;f[c+64>>2]=l;f[c+40>>2]=1980;f[c+68>>2]=1;e=c+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cm(c+88|0);e=c;f[a>>2]=e;return}f[a>>2]=0;f[a>>2]=0;e=0;f[a>>2]=e;return}function rc(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a+32|0;c=f[h>>2]|0;o=c+8|0;n=f[o+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((n|0)>(d|0)|((n|0)==(d|0)?(f[o>>2]|0)>>>0>e>>>0:0))){a=0;return a|0}n=b[(f[c>>2]|0)+e>>0]|0;m=Ij(e|0,d|0,1,0)|0;o=g;f[o>>2]=m;f[o+4>>2]=I;o=n&255;g=n<<24>>24==0;a:do if(!g){c=0;while(1){if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){c=0;break}c=c+1|0;if((c|0)>=(o|0))break a}return c|0}while(0);n=a+8|0;c=f[n>>2]|0;d=f[a+12>>2]|0;b:do if((c|0)!=(d|0)){e=a+4|0;while(1){m=f[c>>2]|0;c=c+4|0;if(!(Oa[f[(f[m>>2]|0)+8>>2]&31](m,a,f[e>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}return c|0}while(0);if(!g){c=0;do{m=f[(f[n>>2]|0)+(c<<2)>>2]|0;c=c+1|0;if(!(Na[f[(f[m>>2]|0)+12>>2]&127](m,f[h>>2]|0)|0)){c=0;i=26;break}}while((c|0)<(o|0));if((i|0)==26)return c|0;if(!g){i=a+20|0;h=a+24|0;l=0;do{j=f[(f[n>>2]|0)+(l<<2)>>2]|0;j=Ma[f[(f[j>>2]|0)+24>>2]&127](j)|0;if((j|0)>0){m=0;do{k=f[(f[n>>2]|0)+(l<<2)>>2]|0;k=Na[f[(f[k>>2]|0)+20>>2]&127](k,m)|0;d=f[h>>2]|0;c=f[i>>2]|0;g=d-c>>2;do if(k>>>0>=g>>>0){e=k+1|0;if(e>>>0>g>>>0){Ve(i,e-g|0);c=f[i>>2]|0;break}if(e>>>0>>0?(p=c+(e<<2)|0,(d|0)!=(p|0)):0)f[h>>2]=d+(~((d+-4-p|0)>>>2)<<2)}while(0);f[c+(k<<2)>>2]=l;m=m+1|0}while((m|0)!=(j|0))}l=l+1|0}while((l|0)!=(o|0))}}if(!(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)){a=0;return a|0}a=Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0;return a|0}function sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((e|0)>31);h=h&31}if((h|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=b+12|0;n=f[l>>2]|0;i=(f[c>>2]|0)-n|0;j=c+4|0;g=(f[j>>2]|0)-n|0;e=c;f[e>>2]=i;f[e+4>>2]=g;e=f[l>>2]|0;if((e|0)<(i|0))ra(7633,6922,250,7656);if((e|0)<(g|0))ra(7668,6922,251,7656);h=0-e|0;if((i|0)<(h|0))ra(7691,6922,252,7656);if((g|0)<(h|0))ra(7715,6922,253,7656);m=(((g|0)>-1?g:0-g|0)+((i|0)>-1?i:0-i|0)|0)<=(e|0);if(!m){ye(b,c,j);i=f[c>>2]|0}if(!i){e=f[j>>2]|0;g=e;e=(e|0)==0}else{e=f[j>>2]|0;g=e;e=(i|0)<0&(e|0)<1}if(!i)k=(g|0)==0?0:(g|0)>0?3:1;else k=(i|0)>0?(g>>31)+2|0:(g|0)<1?0:3;if(e){e=i;i=1}else{switch(k|0){case 1:{e=g;g=0-i|0;break}case 2:{e=0-i|0;g=0-g|0;break}case 3:{e=0-g|0;g=i;break}default:e=i}i=c;f[i>>2]=e;f[i+4>>2]=g;i=0}e=(f[d>>2]|0)+e|0;f[a>>2]=e;g=(f[d+4>>2]|0)+g|0;j=a+4|0;f[j>>2]=g;h=f[l>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[b+4>>2]|0)+e|0}else e=e-(f[b+4>>2]|0)|0;f[a>>2]=e;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[b+4>>2]|0)+g|0}else g=g-(f[b+4>>2]|0)|0;f[j>>2]=g;if(!i){switch((4-k|0)%4|0|0){case 1:{h=g;e=0-e|0;break}case 2:{h=0-e|0;e=0-g|0;break}case 3:{h=0-g|0;break}default:{h=e;e=g}}g=a;f[g>>2]=h;f[g+4>>2]=e;g=e;e=h}if(m){m=e;b=g;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}ye(b,a,j);m=f[a>>2]|0;b=f[j>>2]|0;m=m+n|0;n=b+n|0;b=a;a=b;f[a>>2]=m;b=b+4|0;f[b>>2]=n;return}function uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;h=e<<5;d=b-g|0;if(h>>>0>>0|g>>>0>(h-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0)Wl(a);e=e<<6;b=b+31&-32;Me(o,h>>>0<1073741823?(e>>>0>>0?b:e):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;hi(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)Em(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;Cf(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;Cf(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function vc(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2448;Pd(a+224|0);Ye(a+212|0);b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+172>>2]|0;if(b|0){d=a+176|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+160>>2]|0;if(b|0){d=a+164|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+144>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;Em(d)}while((b|0)!=0);d=a+136|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)Em(b);b=f[a+120>>2]|0;if(b|0)Em(b);b=f[a+108>>2]|0;if(b|0)Em(b);b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+60>>2]|0;if(b|0)Em(b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+36>>2]|0;if(b|0){d=a+40|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}a=a+8|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;Sf(b);Em(b);return}function wc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){d=23;break}i=h+8|0;e=f[i>>2]|0;d=f[e>>2]|0;if((d|0)==(h|0)){d=f[e+4>>2]|0;if(!d){d=7;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=7;break}}else{if(!d){d=16;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=16;break}}b[g>>0]=1;i=(e|0)==(a|0);b[e+12>>0]=i&1;b[c>>0]=1;if(i){d=23;break}else c=e}if((d|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;d=f[a>>2]|0;c=f[d>>2]|0;f[a>>2]=c;if(!c)c=e;else{f[c+8>>2]=h;c=f[i>>2]|0}f[d+8>>2]=c;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=d;f[d>>2]=h;f[i>>2]=d;c=d;e=f[d+8>>2]|0}b[c+12>>0]=1;b[e+12>>0]=0;c=f[e>>2]|0;g=c+4|0;d=f[g>>2]|0;f[e>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[g>>2]=e;f[i>>2]=c;return}else if((d|0)==16){if((f[h>>2]|0)==(c|0)){g=f[h>>2]|0;d=g+4|0;c=f[d>>2]|0;f[h>>2]=c;if(c){f[c+8>>2]=h;e=f[i>>2]|0}f[g+8>>2]=e;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=g;f[d>>2]=h;f[i>>2]=g;c=g;e=f[g+8>>2]|0}else c=h;b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((d|0)==23)return}function xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+16|0;q=r;i=b+8|0;g=i;j=f[g>>2]|0;g=f[g+4>>2]|0;p=b+16|0;d=p;c=f[d>>2]|0;d=Ij(c|0,f[d+4>>2]|0,4,0)|0;e=I;if((g|0)<(e|0)|(g|0)==(e|0)&j>>>0>>0){q=0;u=r;return q|0}g=(f[b>>2]|0)+c|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;j=p;f[j>>2]=d;f[j+4>>2]=e;if((g|0)<0){q=0;u=r;return q|0}uc(a+76|0,g,0);cm(q);if(ed(q,b)|0){if((g|0)>0){c=a+76|0;d=0;e=1;do{e=e^((Rg(q)|0)^1);j=(f[c>>2]|0)+(d>>>5<<2)|0;s=1<<(d&31);t=f[j>>2]|0;f[j>>2]=e?t|s:t&~s;d=d+1|0}while((d|0)<(g|0))}d=i;c=f[d>>2]|0;d=f[d+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;i=Ij(e|0,g|0,4,0)|0;j=I;if((!((d|0)<(j|0)|(d|0)==(j|0)&c>>>0>>0)?(k=f[b>>2]|0,l=k+e|0,l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24,m=p,f[m>>2]=i,f[m+4>>2]=j,m=Ij(e|0,g|0,8,0)|0,n=I,!((d|0)<(n|0)|(d|0)==(n|0)&c>>>0>>0)):0)?(o=k+i|0,o=h[o>>0]|h[o+1>>0]<<8|h[o+2>>0]<<16|h[o+3>>0]<<24,t=p,f[t>>2]=m,f[t+4>>2]=n,(l|0)<=(o|0)):0){f[a+12>>2]=l;f[a+16>>2]=o;t=o+(1-l)|0;f[a+20>>2]=t;c=(t|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(t&1)){f[d>>2]=c+-1;c=1}else c=1}else c=0}else c=0;Jm(q);t=c;u=r;return t|0}function yc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+16|0;k=m;if(!(Gb(a,c)|0)){a=0;u=m;return a|0}j=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;l=a+36|0;h=a+40|0;d=f[h>>2]|0;e=f[l>>2]|0;g=d-e>>2;if(j>>>0<=g>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(d|0)!=(i|0)):0)do{g=d+-4|0;f[h>>2]=g;d=f[g>>2]|0;f[g>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[h>>2]|0}while((d|0)!=(i|0))}else Dd(l,j-g|0);g=c+8|0;if((j|0)<=0){a=1;u=m;return a|0}i=c+16|0;h=0;while(1){n=g;o=f[n+4>>2]|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((o|0)>(e|0)|((o|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){d=0;e=19;break}o=b[(f[c>>2]|0)+d>>0]|0;d=Ij(d|0,e|0,1,0)|0;n=i;f[n>>2]=d;f[n+4>>2]=I;Ta[f[(f[a>>2]|0)+48>>2]&7](k,a,o);o=(f[l>>2]|0)+(h<<2)|0;n=f[k>>2]|0;f[k>>2]=0;d=f[o>>2]|0;f[o>>2]=n;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[k>>2]|0;f[k>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[(f[l>>2]|0)+(h<<2)>>2]|0;if(!d){d=0;e=19;break}e=f[(f[d>>2]|0)+8>>2]|0;n=Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0;o=Na[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;h=h+1|0;if(!(Oa[e&31](d,n,o)|0)){d=0;e=19;break}if((h|0)>=(j|0)){d=1;e=19;break}}if((e|0)==19){u=m;return d|0}return 0}function zc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+144|0;i=n+136|0;m=n+32|0;l=n;e=f[(f[c+4>>2]|0)+44>>2]|0;h=Yi(124)|0;f[h+4>>2]=0;f[h>>2]=2380;f[h+12>>2]=2404;f[h+100>>2]=0;f[h+104>>2]=0;f[h+108>>2]=0;j=h+16|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));f[h+112>>2]=e;f[h+116>>2]=d;f[h+120>>2]=0;g=h;f[m+4>>2]=2404;f[m+92>>2]=0;f[m+96>>2]=0;f[m+100>>2]=0;j=m+8|0;k=j+80|0;do{f[j>>2]=0;j=j+4|0}while((j|0)<(k|0));k=f[c+8>>2]|0;f[l>>2]=2404;j=l+4|0;c=j+4|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=k;f[j>>2]=c;c=((f[c+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;Wd(l+8|0,c,i);Ra[f[(f[l>>2]|0)+8>>2]&127](l);f[m>>2]=f[j>>2];nd(m+4|0,l)|0;f[m+36>>2]=k;f[m+40>>2]=d;f[m+44>>2]=e;f[m+48>>2]=h;Bd(h,m);f[a>>2]=g;f[l>>2]=2404;e=f[l+20>>2]|0;if(e|0)Em(e);e=f[l+8>>2]|0;if(!e){df(m);u=n;return}Em(e);df(m);u=n;return}function Ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+212|0;k=a+216|0;j=a+360|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Rg((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else hf(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{g=a;f[r>>2]=d;h=g+(i*116|0)+108|0;e=f[h>>2]|0;if(e>>>0<(f[g+(i*116|0)+112>>2]|0)>>>0){f[e>>2]=d;f[h>>2]=e+4}else{hf(g+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Bc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;q=v+4|0;r=v;d=f[b>>2]|0;f[q>>2]=d;n=a+8|0;c=(d|0)<0;b=d+1|0;do if(!c){f[q+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[q+4>>2]=d;b=d}while(0);f[q+8>>2]=b;m=c?-1073741824:(d>>>0)/3|0;l=a+212|0;k=a+216|0;j=a+360|0;b=0;while(1){if((d|0)>=0?(s=f[(f[(f[n>>2]|0)+12>>2]|0)+(d<<2)>>2]|0,(s|0)>=0):0){if(((s>>>0)/3|0|0)>=(m|0)?(f[k>>2]|0)!=(f[l>>2]|0):0){g=0;do{if(Rg((f[j>>2]|0)+(g<<4)|0)|0){c=f[l>>2]|0;f[r>>2]=d;e=c+(g*116|0)+108|0;a=f[e>>2]|0;if(a>>>0<(f[c+(g*116|0)+112>>2]|0)>>>0){f[a>>2]=d;f[e>>2]=a+4}else hf(c+(g*116|0)+104|0,r)}g=g+1|0}while(g>>>0<(((f[k>>2]|0)-(f[l>>2]|0)|0)/116|0)>>>0)}}else t=10;if((t|0)==10?(t=0,o=f[k>>2]|0,p=f[l>>2]|0,(o|0)!=(p|0)):0){c=o;a=p;i=0;do{e=a;f[r>>2]=d;h=e+(i*116|0)+108|0;g=f[h>>2]|0;if(g>>>0<(f[e+(i*116|0)+112>>2]|0)>>>0){f[g>>2]=d;f[h>>2]=g+4}else{hf(e+(i*116|0)+104|0,r);a=f[l>>2]|0;c=f[k>>2]|0}i=i+1|0}while(i>>>0<((c-a|0)/116|0)>>>0)}b=b+1|0;if((b|0)==3)break;d=f[q+(b<<2)>>2]|0}u=v;return 1}function Cc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;i=Yi(52)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);e=i+20|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;n[i+36>>2]=$(1.0);f[i+40>>2]=0;f[i+44>>2]=0;f[i+48>>2]=0;em(g);if(Md(g,f[c+32>>2]|0,i)|0){g=(f[c+4>>2]|0)+4|0;h=f[g>>2]|0;f[g>>2]=i;if(h|0){e=h+40|0;c=f[e>>2]|0;if(c|0){g=h+44|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{i=d+-4|0;f[g>>2]=i;d=f[i>>2]|0;f[i>>2]=0;if(d|0){lf(d);Em(d)}d=f[g>>2]|0}while((d|0)!=(c|0));c=f[e>>2]|0}Em(c)}lf(h);Em(h)}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=j;return}else{f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;c=Yi(32)|0;f[h>>2]=c;f[h+8>>2]=-2147483616;f[h+4>>2]=26;d=c;e=12075;g=d+26|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+26>>0]=0;f[a>>2]=-1;Df(a+4|0,h);if((b[h+11>>0]|0)<0)Em(f[h>>2]|0);e=i+40|0;c=f[e>>2]|0;if(c|0){g=i+44|0;d=f[g>>2]|0;if((d|0)!=(c|0)){do{a=d+-4|0;f[g>>2]=a;d=f[a>>2]|0;f[a>>2]=0;if(d|0){lf(d);Em(d)}d=f[g>>2]|0}while((d|0)!=(c|0));c=f[e>>2]|0}Em(c)}lf(i);Em(i);u=j;return}}function Dc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=de(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Ec(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=he(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Fc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ie(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Gc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=je(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Hc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ke(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Ic(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=me(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Jc(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!(d[c+38>>1]|0)){a=0;return a|0}s=a+12|0;if(!(Vf(s,c)|0)){a=0;return a|0}e=f[s>>2]|0;i=a+4|0;h=f[i>>2]|0;g=f[a>>2]|0;k=h-g>>2;if(e>>>0<=k>>>0){if(e>>>0>>0?(j=g+(e<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,e-k|0);e=f[s>>2]|0}if(!e){a=1;return a|0}p=c+8|0;q=c+16|0;o=0;a:while(1){m=p;l=f[m>>2]|0;m=f[m+4>>2]|0;h=q;g=f[h>>2]|0;h=f[h+4>>2]|0;if(!((m|0)>(h|0)|(m|0)==(h|0)&l>>>0>g>>>0)){e=0;r=19;break}n=f[c>>2]|0;i=b[n+g>>0]|0;h=Ij(g|0,h|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;j=i&255;k=j&3;j=j>>>2;switch(i&3){case 3:{g=j+o|0;if(g>>>0>=e>>>0){e=0;r=19;break a}Cf((f[a>>2]|0)+(o<<2)|0,0,(j<<2)+4|0)|0;e=g;break}case 0:{e=j;r=16;break}default:{i=0;e=j;while(1){if(!((m|0)>(g|0)|(m|0)==(g|0)&l>>>0>h>>>0)){e=0;r=19;break a}r=b[n+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;g=I;j=q;f[j>>2]=h;f[j+4>>2]=g;e=(r&255)<<(i<<3|6)|e;i=i+1|0;if((i|0)>=(k|0)){r=16;break}}}}if((r|0)==16){r=0;f[(f[a>>2]|0)+(o<<2)>>2]=e;e=o}o=e+1|0;e=f[s>>2]|0;if(o>>>0>=e>>>0){r=18;break}}if((r|0)==18){a=ne(a+16|0,f[a>>2]|0,e)|0;return a|0}else if((r|0)==19)return e|0;return 0}function Kc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(f[a+64>>2]|0)){d=Yi(32)|0;gj(d);h=a+64|0;g=f[h>>2]|0;f[h>>2]=d;if(g){d=f[g>>2]|0;if(d|0){e=g+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(g);d=f[h>>2]|0}Jg(a,d,0,0,0,0);d=a}else d=a;if(!(wf(d,c)|0))return;b[a+84>>0]=b[c+84>>0]|0;f[a+80>>2]=f[c+80>>2];if((a|0)!=(c|0))qd(a+68|0,f[c+68>>2]|0,f[c+72>>2]|0);i=f[c+88>>2]|0;if(!i){a=a+88|0;d=f[a>>2]|0;f[a>>2]=0;if(!d)return;e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d);return}l=Yi(40)|0;f[l>>2]=f[i>>2];e=l+8|0;g=i+8|0;f[e>>2]=0;j=l+12|0;f[j>>2]=0;d=l+16|0;f[d>>2]=0;c=i+12|0;h=(f[c>>2]|0)-(f[g>>2]|0)|0;if(h|0){if((h|0)<0)Wl(e);k=Yi(h)|0;f[j>>2]=k;f[e>>2]=k;f[d>>2]=k+h;e=f[g>>2]|0;d=(f[c>>2]|0)-e|0;if((d|0)>0){Od(k|0,e|0,d|0)|0;f[j>>2]=k+d}}g=l+24|0;k=i+24|0;f[g>>2]=f[k>>2];f[g+4>>2]=f[k+4>>2];f[g+8>>2]=f[k+8>>2];f[g+12>>2]=f[k+12>>2];a=a+88|0;g=f[a>>2]|0;f[a>>2]=l;if(!g)return;d=f[g+8>>2]|0;if(d|0){e=g+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(g);return}function Lc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+32|0;n=t+20|0;m=t+16|0;s=t;r=c+24|0;k=b[r>>0]|0;o=k<<24>>24;l=f[a+80>>2]|0;h=X(l,o)|0;f[s>>2]=f[674];f[s+4>>2]=f[675];f[s+8>>2]=f[676];f[s+12>>2]=f[677];g=d+4|0;e=f[g>>2]|0;a=f[d>>2]|0;i=e-a>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(j=a+(h<<2)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-4-j|0)>>>2)<<2)}else Ve(d,h-i|0);if((l|0)<=0){s=1;u=t;return s|0}i=c+84|0;h=c+68|0;if(k<<24>>24<=0){e=0;while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(e<<2)>>2]|0;else a=e;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!($a(c,n,k,s)|0)){a=0;e=18;break}e=e+1|0;if((e|0)>=(l|0)){a=1;e=18;break}}if((e|0)==18){u=t;return a|0}}else{p=0;q=0}while(1){if(!(b[i>>0]|0))a=f[(f[h>>2]|0)+(q<<2)>>2]|0;else a=q;f[m>>2]=a;k=b[r>>0]|0;f[n>>2]=f[m>>2];if(!($a(c,n,k,s)|0)){a=0;e=18;break}a=f[d>>2]|0;e=p;g=0;while(1){f[a+(e<<2)>>2]=f[s+(g<<2)>>2];g=g+1|0;if((g|0)==(o|0))break;else e=e+1|0}q=q+1|0;if((q|0)>=(l|0)){a=1;e=18;break}else p=o+p|0}if((e|0)==18){u=t;return a|0}return 0}function Nc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+32|0;i=m+16|0;e=m;g=0;do{Vf(i,b)|0;c=f[i>>2]|0;if(c|0){d=a+60+(g*12|0)|0;uc(d,c,0);cm(e);ed(e,b)|0;if(f[i>>2]|0){c=0;do{n=Rg(e)|0;l=(f[d>>2]|0)+(c>>>5<<2)|0;k=1<<(c&31);j=f[l>>2]|0;f[l>>2]=n?j|k:j&~k;c=c+1|0}while(c>>>0<(f[i>>2]|0)>>>0)}Jm(e)}g=g+1|0}while((g|0)<4);k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;i=Ij(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&j>>>0>>0){n=0;u=m;return n|0}g=f[b>>2]|0;b=g+e|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;n=l;f[n>>2]=i;f[n+4>>2]=d;d=Ij(e|0,c|0,8,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0){n=0;u=m;return n|0}c=g+i|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;n=l;f[n>>2]=d;f[n+4>>2]=e;if((b|0)>(c|0)){n=0;u=m;return n|0}f[a+12>>2]=b;f[a+16>>2]=c;n=c+(1-b)|0;f[a+20>>2]=n;c=(n|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(n&1|0){n=1;u=m;return n|0}f[d>>2]=c+-1;n=1;u=m;return n|0}function Oc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+80|0;m=n;g=n+60|0;l=n+40|0;h=m;i=d;j=h+40|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));yb(a,m,g);if(f[a>>2]|0){m=m+24|0;Jm(m);u=n;return}k=a+4|0;h=k+11|0;if((b[h>>0]|0)<0)Em(f[k>>2]|0);if((b[g+7>>0]|0)!=1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;g=Yi(32)|0;f[l>>2]=g;f[l+8>>2]=-2147483616;f[l+4>>2]=20;h=g;i=10776;j=h+20|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+20>>0]=0;f[a>>2]=-1;Df(k,l);if((b[l+11>>0]|0)<0)Em(f[l>>2]|0);m=m+24|0;Jm(m);u=n;return}te(l,b[g+8>>0]|0);g=f[l>>2]|0;if(!g){j=l+16|0;g=f[j>>2]|0;f[j>>2]=0;bi(a,g,c,d,e);if(!(f[a>>2]|0)){if((b[h>>0]|0)<0)Em(f[k>>2]|0);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}if(g|0)Ra[f[(f[g>>2]|0)+4>>2]&127](g)}else{f[a>>2]=g;Df(k,l+4|0)}k=l+16|0;g=f[k>>2]|0;f[k>>2]=0;if(g|0)Ra[f[(f[g>>2]|0)+4>>2]&127](g);g=l+4|0;if((b[g+11>>0]|0)<0)Em(f[g>>2]|0);m=m+24|0;Jm(m);u=n;return}function Pc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n+16|0;l=n;h=f[b+4>>2]|0;if((d|0)<=-1)ra(12658,12674,59,12771);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(12781,12674,60,12771);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ma[f[(f[b>>2]|0)+36>>2]&127](b)|0;k=Na[f[(f[b>>2]|0)+44>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Na[f[(f[b>>2]|0)+40>>2]&127](b,d)|0;if(!h){f[l>>2]=f[b+44>>2];f[l+4>>2]=j;f[l+12>>2]=k;f[l+8>>2]=k+12;Vb(a,m,c,i,e,l,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[l>>2]=f[b+44>>2];f[l+4>>2]=h;f[l+12>>2]=k;f[l+8>>2]=k+12;Qb(a,m,c,i,e,l,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Qc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ee(j,m-l|0,2368);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)ra(12948,12860,64,12943);else if((e|0)==12)ra(10949,10968,89,11068);else if((e|0)==14)return d|0;return 0}function Rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+32|0;m=o+12|0;l=o;d=b*3|0;f[m>>2]=0;n=m+4|0;f[n>>2]=0;f[m+8>>2]=0;do if(d)if(d>>>0>1073741823)Wl(m);else{j=b*12|0;c=Yi(j)|0;f[m>>2]=c;k=c+(d<<2)|0;f[m+8>>2]=k;Cf(c|0,0,j|0)|0;f[n>>2]=k;break}else c=0;while(0);if(Ef(d,1,f[a+32>>2]|0,c)|0)if(!b)a=1;else{h=a+44|0;i=l+4|0;j=l+8|0;e=0;g=0;k=0;while(1){f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=0;d=f[m>>2]|0;p=f[d+(k<<2)>>2]|0;c=p>>>1;c=((p&1|0)==0?c:0-c|0)+g|0;f[l>>2]=c;p=f[d+(k+1<<2)>>2]|0;a=p>>>1;c=((p&1|0)==0?a:0-a|0)+c|0;f[i>>2]=c;d=f[d+(k+2<<2)>>2]|0;a=d>>>1;g=((d&1|0)==0?a:0-a|0)+c|0;f[j>>2]=g;c=f[h>>2]|0;a=c+100|0;d=f[a>>2]|0;if((d|0)==(f[c+104>>2]|0))Re(c+96|0,l);else{f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];f[d+8>>2]=f[l+8>>2];f[a>>2]=(f[a>>2]|0)+12}e=e+1|0;if(e>>>0>=b>>>0){a=1;break}else k=k+3|0}}else a=0;c=f[m>>2]|0;if(!c){u=o;return a|0}d=f[n>>2]|0;if((d|0)!=(c|0))f[n>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c);u=o;return a|0}function Sc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;d=f[b>>2]|0;if((d|0)<0){j=-1073741824;return j|0}i=f[(f[(f[a+4>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((i|0)<0){j=-1073741824;return j|0}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;h=f[a>>2]|0;do if((c|0)!=-1073741824){a=(c|0)/3|0;if((c|0)<=-3)ra(12835,12860,63,12943);b=f[h+96>>2]|0;if((a|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){g=f[b+(a*12|0)+(((c|0)%3|0)<<2)>>2]|0;break}else ra(12948,12860,64,12943)}else g=-1073741824;while(0);a=(((i>>>0)%3|0|0)==0?2:-1)+i|0;do if((a|0)!=-1073741824){c=(a|0)/3|0;if((a|0)<=-3)ra(12835,12860,63,12943);b=f[h+96>>2]|0;if((c|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){e=f[b+(c*12|0)+(((a|0)%3|0)<<2)>>2]|0;break}else ra(12948,12860,64,12943)}else e=-1073741824;while(0);if((g|0)!=(e|0)){j=-1073741824;return j|0}c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;a=(c|0)/3|0;if((c|0)<=-3)ra(12835,12860,63,12943);b=f[h+96>>2]|0;if((a|0)>=(((f[h+100>>2]|0)-b|0)/12|0|0))ra(12948,12860,64,12943);c=f[b+(a*12|0)+(((c|0)%3|0)<<2)>>2]|0;d=i+1|0;d=((d|0)%3|0|0)==0?i+-2|0:d;do if((d|0)!=-1073741824){a=(d|0)/3|0;if((d|0)<=-3)ra(12835,12860,63,12943);b=f[h+96>>2]|0;if((a|0)<(((f[h+100>>2]|0)-b|0)/12|0|0)){j=f[b+(a*12|0)+(((d|0)%3|0)<<2)>>2]|0;break}else ra(12948,12860,64,12943)}else j=-1073741824;while(0);j=(c|0)!=(j|0)?-1073741824:i;return j|0}function Tc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ee(j,m-l|0,2368);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(12948,12860,64,12943);else if((e|0)==12)ra(10949,10968,89,11068);else if((e|0)==13)return d|0;return 0}function Uc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+64|0;m=n;d=m;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));do if(Jc(m,b)|0){e=(a|0)==0;if(!e?(f[m+12>>2]|0)==0:0){g=0;break}d=md(m,b)|0;if(e|d^1)g=d;else{j=m+44|0;l=m+48|0;i=m+40|0;b=m+16|0;g=m+28|0;d=f[l>>2]|0;k=0;while(1){a:do if(d>>>0<16384){e=f[j>>2]|0;do{if((e|0)<=0)break a;o=f[i>>2]|0;e=e+-1|0;f[j>>2]=e;d=h[o+e>>0]|0|d<<8;f[l>>2]=d}while(d>>>0<16384)}while(0);p=d&4095;o=f[(f[b>>2]|0)+(p<<2)>>2]|0;e=f[g>>2]|0;d=(X(f[e+(o<<3)>>2]|0,d>>>12)|0)+p-(f[e+(o<<3)+4>>2]|0)|0;f[l>>2]=d;f[c+(k<<2)>>2]=o;k=k+1|0;if((k|0)==(a|0)){g=1;break}}}}else g=0;while(0);d=f[m+28>>2]|0;if(d|0){b=m+32|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-8-d|0)>>>3)<<3);Em(d)}d=f[m+16>>2]|0;if(d|0){b=m+20|0;e=f[b>>2]|0;if((e|0)!=(d|0))f[b>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}b=f[m>>2]|0;if(!b){u=n;return g|0}e=m+4|0;d=f[e>>2]|0;if((d|0)!=(b|0))f[e>>2]=d+(~((d+-4-b|0)>>>2)<<2);Em(b);u=n;return g|0}function Vc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ee(j,m-l|0,2368);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(12948,12860,64,12943);else if((e|0)==12)ra(10949,10968,89,11068);else if((e|0)==13)return d|0;return 0}function Wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=2356;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Wl(h);else{c=((c+-1|0)>>>5)+1|0;o=Yi(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];rd(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Wl(h);o=((c+-1|0)>>>5)+1|0;a=Yi(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];rd(h,k,m);u=n;return}function Xc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=2404;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Wl(h);else{c=((c+-1|0)>>>5)+1|0;o=Yi(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];rd(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Wl(h);o=((c+-1|0)>>>5)+1|0;a=Yi(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];rd(h,k,m);u=n;return}function Yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+16|0;t=v;e=f[a+40>>2]|0;o=f[a+44>>2]|0;if((e|0)==(o|0)){d=2;t=0;d=(d|0)==2;t=d?0:t;u=v;return t|0}p=t+11|0;r=t+4|0;q=d+11|0;s=d+4|0;a=0;a:while(1){f[t>>2]=0;f[t+4>>2]=0;f[t+8>>2]=0;m=Af(f[e>>2]|0,c,t)|0;n=b[p>>0]|0;b:do if(m){m=n<<24>>24<0;h=n&255;k=m?f[r>>2]|0:h;l=b[q>>0]|0;g=l<<24>>24<0;if((k|0)==((g?f[s>>2]|0:l&255)|0)){j=f[t>>2]|0;l=m?j:t;g=g?f[d>>2]|0:d;i=(k|0)==0;c:do if(m){if(!i?sh(l,g,k)|0:0){g=0;break b}}else if(!i){if((j&255)<<24>>24==(b[g>>0]|0))i=t;else{g=0;break b}while(1){h=h+-1|0;i=i+1|0;if(!h)break c;g=g+1|0;if((b[i>>0]|0)!=(b[g>>0]|0)){g=0;break b}}}while(0);g=1;a=f[e>>2]|0}else g=0}else g=3;while(0);if(n<<24>>24<0)Em(f[t>>2]|0);switch(g&3){case 3:case 0:break;default:{e=17;break a}}e=e+4|0;if((e|0)==(o|0)){g=2;e=17;break}}if((e|0)==17){t=(g|0)==2;t=t?0:a;u=v;return t|0}return 0}function Zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=f[c>>2]|0;m=f[l>>2]|0;g=f[a+4>>2]|0;c=f[l+4>>2]|0;i=g+-1|0;j=(i&g|0)==0;if(!j)if(c>>>0>>0)h=c;else h=(c>>>0)%(g>>>0)|0;else h=i&c;d=(f[a>>2]|0)+(h<<2)|0;k=f[d>>2]|0;while(1){c=f[k>>2]|0;if((c|0)==(l|0))break;else k=c}if((k|0)!=(a+8|0)){c=f[k+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;e=21}else e=13}else e=13;do if((e|0)==13){if(m|0){c=f[m+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;c=m;e=22;break}}f[d>>2]=0;d=f[l>>2]|0;e=21}while(0);if((e|0)==21){c=d;if(d)e=22}if((e|0)==22){d=f[d+4>>2]|0;if(!j){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0}else d=d&i;if((d|0)!=(h|0)){f[(f[a>>2]|0)+(d<<2)>>2]=k;c=f[l>>2]|0}}f[k>>2]=c;f[l>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!l)return m|0;d=l+8|0;c=f[l+20>>2]|0;if(c|0){e=l+24|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;Em(c)}if((b[d+11>>0]|0)<0)Em(f[d>>2]|0);Em(l);return m|0}function _c(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;l=r+20|0;k=r+16|0;q=r;p=c+24|0;e=b[p>>0]|0;m=e<<24>>24;h=f[a+80>>2]|0;j=X(h,m)|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;f[q+12>>2]=0;jd(d,0,0+(j<<2)|0);if((h|0)<=0){q=1;u=r;return q|0}j=c+84|0;i=c+68|0;if(e<<24>>24<=0){e=0;while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(e<<2)>>2]|0;else a=e;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(kb(c,l,g,q)|0)){a=0;e=13;break}e=e+1|0;if((e|0)>=(h|0)){a=1;e=13;break}}if((e|0)==13){u=r;return a|0}}else{n=0;o=0}while(1){if(!(b[j>>0]|0))a=f[(f[i>>2]|0)+(o<<2)>>2]|0;else a=o;f[k>>2]=a;g=b[p>>0]|0;f[l>>2]=f[k>>2];if(!(kb(c,l,g,q)|0)){a=0;e=13;break}a=f[d>>2]|0;e=n;g=0;while(1){f[a+(e<<2)>>2]=f[q+(g<<2)>>2];g=g+1|0;if((g|0)==(m|0))break;else e=e+1|0}o=o+1|0;if((o|0)>=(h|0)){a=1;e=13;break}else n=m+n|0}if((e|0)==13){u=r;return a|0}return 0}function $c(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b[(f[a+8>>2]|0)+24>>0]|0;i=Bm(d>>>0>1073741823?-1:d<<2)|0;j=a+28|0;c=f[j>>2]|0;f[j>>2]=i;if(c|0)Cm(c);i=a+4|0;g=f[(f[i>>2]|0)+32>>2]|0;d=d<<2;n=g+8|0;l=f[n>>2]|0;n=f[n+4>>2]|0;e=g+16|0;k=e;c=f[k>>2]|0;k=Ij(c|0,f[k+4>>2]|0,d|0,0)|0;m=I;if((n|0)<(m|0)|(n|0)==(m|0)&l>>>0>>0){n=0;return n|0}Od(f[j>>2]|0,(f[g>>2]|0)+c|0,d|0)|0;c=e;c=Ij(f[c>>2]|0,f[c+4>>2]|0,d|0,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=(f[i>>2]|0)+32|0;c=f[e>>2]|0;k=c+8|0;m=f[k>>2]|0;k=f[k+4>>2]|0;g=c+16|0;n=g;d=f[n>>2]|0;n=Ij(d|0,f[n+4>>2]|0,4,0)|0;l=I;if((k|0)<(l|0)|(k|0)==(l|0)&m>>>0>>0){n=0;return n|0}n=a+32|0;c=(f[c>>2]|0)+d|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;b[n>>0]=c;b[n+1>>0]=c>>8;b[n+2>>0]=c>>16;b[n+3>>0]=c>>24;n=g;n=Ij(f[n>>2]|0,f[n+4>>2]|0,4,0)|0;c=g;f[c>>2]=n;f[c+4>>2]=I;c=f[e>>2]|0;n=c+8|0;m=f[n+4>>2]|0;g=c+16|0;e=g;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((m|0)>(e|0)|((m|0)==(e|0)?(f[n>>2]|0)>>>0>d>>>0:0))){n=0;return n|0}c=b[(f[c>>2]|0)+d>>0]|0;m=Ij(d|0,e|0,1,0)|0;n=g;f[n>>2]=m;f[n+4>>2]=I;if((c&255)>31){n=0;return n|0}f[a+24>>2]=c&255;n=1;return n|0}function ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j;g=f[a+8>>2]|0;h=a+4|0;d=f[h>>2]|0;if(((g-d|0)/116|0)>>>0>=c>>>0){do{f[d>>2]=-1;fi(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[h>>2]|0)+116|0;f[h>>2]=d;c=c+-1|0}while((c|0)!=0);u=j;return}e=f[a>>2]|0;h=(d-e|0)/116|0;d=h+c|0;if(d>>>0>37025580)Wl(a);e=(g-e|0)/116|0;g=e<<1;d=e>>>0<18512790?(g>>>0>>0?d:g):37025580;f[i+12>>2]=0;f[i+16>>2]=a+8;do if(d)if(d>>>0>37025580){j=sa(8)|0;Fk(j,12569);f[j>>2]=3708;wa(j|0,856,80)}else{e=Yi(d*116|0)|0;break}else e=0;while(0);f[i>>2]=e;h=e+(h*116|0)|0;g=i+8|0;f[g>>2]=h;f[i+4>>2]=h;f[i+12>>2]=e+(d*116|0);d=h;do{f[d>>2]=-1;fi(d+4|0);b[d+72>>0]=1;d=d+76|0;e=d+40|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=(f[g>>2]|0)+116|0;f[g>>2]=d;c=c+-1|0}while((c|0)!=0);Ob(a,i);Xe(i);u=j;return}function bd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+12|0;o=q;e=qh(c,0)|0;if(!e){f[a>>2]=0;u=q;return}d=f[c+96>>2]|0;c=(f[c+100>>2]|0)-d|0;m=(c|0)/12|0;f[n>>2]=0;p=n+4|0;f[p>>2]=0;f[n+8>>2]=0;if(c){if(m>>>0>357913941)Wl(n);l=Yi(c)|0;f[n>>2]=l;f[n+8>>2]=l+(m*12|0);Cf(l|0,0,c|0)|0;f[p>>2]=l+c;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if((c|0)>0){i=e+68|0;j=o+4|0;k=o+8|0;h=(b[e+84>>0]|0)==0;g=0;do{c=f[d+(g*12|0)>>2]|0;if(h){e=f[i>>2]|0;c=f[e+(c<<2)>>2]|0;f[o>>2]=c;f[j>>2]=f[e+(f[d+(g*12|0)+4>>2]<<2)>>2];e=e+(f[d+(g*12|0)+8>>2]<<2)|0}else{f[o>>2]=c;f[j>>2]=f[d+(g*12|0)+4>>2];e=d+(g*12|0)+8|0}e=f[e>>2]|0;f[k>>2]=e;f[l+(g*12|0)>>2]=c;f[l+(g*12|0)+4>>2]=f[j>>2];f[l+(g*12|0)+8>>2]=e;g=g+1|0}while((g|0)<(m|0))}}else{f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0}Bg(a,n);d=f[n>>2]|0;if(d|0){c=f[p>>2]|0;if((c|0)!=(d|0))f[p>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);Em(d)}u=q;return}function cd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=f[l>>2]|0;fg(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;b=f[d>>2]|0;c=f[g>>2]|0;i=b-c>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=c+(h<<2)|0,(b|0)!=(e|0)):0)f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2)}else ee(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];pb(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];pb(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function dd(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function ed(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=u;u=u+16|0;g=n;e=c+8|0;o=e;q=f[o+4>>2]|0;m=c+16|0;p=m;d=f[p>>2]|0;p=f[p+4>>2]|0;if(!((q|0)>(p|0)|((q|0)==(p|0)?(f[o>>2]|0)>>>0>d>>>0:0))){q=0;u=n;return q|0}b[a+12>>0]=b[(f[c>>2]|0)+d>>0]|0;p=m;p=Ij(f[p>>2]|0,f[p+4>>2]|0,1,0)|0;q=m;f[q>>2]=p;f[q+4>>2]=I;a:do if((Vf(g,c)|0?(j=f[g>>2]|0,q=e,l=m,k=f[l>>2]|0,l=f[l+4>>2]|0,q=hk(f[q>>2]|0,f[q+4>>2]|0,k|0,l|0)|0,p=I,!(0>(p|0)|0==(p|0)&j>>>0>q>>>0)):0)?(i=(f[c>>2]|0)+k|0,(j|0)>=1):0){f[a>>2]=i;e=j+-1|0;d=i+e|0;switch((h[d>>0]|0)>>>6&3){case 0:{f[a+4>>2]=e;d=b[d>>0]&63;break}case 1:{if((j|0)<2){d=0;break a}f[a+4>>2]=j+-2;d=i+j+-2|0;d=(h[d+1>>0]|0)<<8&16128|(h[d>>0]|0);break}case 2:{if((j|0)<3){d=0;break a}f[a+4>>2]=j+-3;d=i+j+-3|0;d=(h[d+1>>0]|0)<<8|(h[d>>0]|0)|(h[d+2>>0]|0)<<16&4128768;break}default:{d=0;break a}}q=d+4096|0;f[a+8>>2]=q;if(q>>>0<=1048575){q=Ij(k|0,l|0,j|0,0)|0;d=m;f[d>>2]=q;f[d+4>>2]=I;d=1}else d=0}else d=0;while(0);q=d;u=n;return q|0}function fd(a,b,c,d){a=a|0;b=$(b);c=$(c);d=d|0;var e=Ka,f=Ka,g=0.0,h=Ka,i=Ka,j=0.0,k=0.0,l=0.0,m=0.0;if(!(b>=$(0.0)))ra(7075,6922,191,7089);if(!(c>=$(0.0)))ra(7118,6922,192,7089);if(!(b<=$(1.0)))ra(7132,6922,193,7089);if(!(c<=$(1.0)))ra(7146,6922,194,7089);f=$(b+c);e=$(b-c);if(!(e<=$(.5))|(!(e>=$(-.5))|(!(f>=$(.5))|!(f<=$(1.5))))){do if(!(f<=$(.5))){if(f>=$(1.5)){e=$($(1.5)-c);c=$($(1.5)-b);break}if(!(e<=$(-.5))){e=$(c+$(.5));c=$(b+$(-.5));break}else{e=$(c+$(-.5));c=$(b+$(.5));break}}else{e=$($(.5)-c);c=$($(.5)-b)}while(0);b=e;i=$(e-c);f=$(c+e);g=-1.0}else{i=e;g=1.0}h=$(+b*2.0+-1.0);b=$(+c*2.0+-1.0);l=+f*2.0;j=l+-1.0;l=3.0-l;m=+i*2.0;k=m+1.0;m=1.0-m;k=m>2]=$(0.0);h=$(0.0);i=$(0.0);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}else{i=$($(1.0)/$(L($(e))));f=$(c*i);n[d>>2]=f;h=$(h*i);i=$(b*i);a=d+4|0;n[a>>2]=h;d=d+8|0;n[d>>2]=i;return}}function gd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){Cf(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);u=n;return}e=f[a>>2]|0;g=c-e>>2;c=g+b|0;if(c>>>0>1073741823)Wl(a);i=d-e|0;j=i>>1;c=i>>2>>>0<536870911?(j>>>0>>0?c:j):1073741823;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(c)if(c>>>0>1073741823){n=sa(8)|0;Fk(n,12569);f[n>>2]=3708;wa(n|0,856,80)}else{d=Yi(c<<2)|0;break}else d=0;while(0);f[m>>2]=d;g=d+(g<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=g;j=m+12|0;f[j>>2]=d+(c<<2);Cf(g|0,0,b<<2|0)|0;f[i>>2]=g+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];Ce(m);u=n;return}function hd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(((d-c|0)/12|0)>>>0>=b>>>0){Cf(c|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}j=f[a>>2]|0;i=(c-j|0)/12|0;c=i+b|0;k=j;if(c>>>0>357913941)Wl(a);h=(d-j|0)/12|0;g=h<<1;g=h>>>0<178956970?(g>>>0>>0?c:g):357913941;do if(g)if(g>>>0>357913941){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{h=Yi(g*12|0)|0;break}else h=0;while(0);d=h+(i*12|0)|0;c=d;h=h+(g*12|0)|0;Cf(d|0,0,b*12|0)|0;g=d+(b*12|0)|0;if((e|0)==(k|0))i=j;else{do{j=d+-12|0;b=e;e=e+-12|0;f[j>>2]=0;i=d+-8|0;f[i>>2]=0;f[d+-4>>2]=0;f[j>>2]=f[e>>2];j=b+-8|0;f[i>>2]=f[j>>2];b=b+-4|0;f[d+-4>>2]=f[b>>2];f[b>>2]=0;f[j>>2]=0;f[e>>2]=0;d=c+-12|0;c=d}while((e|0)!=(k|0));i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=c;f[l>>2]=g;f[m>>2]=h;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);Em(g)}}while((e|0)!=(h|0));if(!i)return;Em(i);return}function id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)hi(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Wl(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Wl(a);h=Yi(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)hi(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Wl(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Wl(a);h=Yi(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function kd(a,c){a=a|0;c=c|0;var d=0,e=Ka,g=Ka,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=Ka,x=Ka,y=0,z=0;v=u;u=u+16|0;p=v;q=f[a+24>>2]|0;r=a+8|0;d=b[(f[r>>2]|0)+24>>0]|0;o=d<<24>>24;s=o<<2;t=Bm(o>>>0>1073741823?-1:o<<2)|0;cl(p);if(!(Mi(p,$(n[a+32>>2]),(1<>2]|0;m=(f[f[m>>2]>>2]|0)+(f[m+48>>2]|0)|0;if(!c){c=1;Cm(t);u=v;return c|0}q=p+4|0;l=a+28|0;if(d<<24>>24>0){h=0;i=0;j=0}else{a=0;d=0;while(1){Od((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+d|0,t|0,s|0)|0;a=a+1|0;if((a|0)==(c|0)){a=1;break}else d=d+s|0}Cm(t);u=v;return a|0}while(1){a=f[l>>2]|0;e=$(n[q>>2]);g=$(n[p>>2]);d=0;k=j;while(1){z=f[m+(k<<2)>>2]|0;y=(z|0)<0;w=$(e*$((y?0-z|0:z)|0));x=$(-w);w=$(g*(y?x:w));w=$($(n[a+(d<<2)>>2])+w);n[t+(d<<2)>>2]=w;d=d+1|0;if((d|0)==(o|0))break;else k=k+1|0}Od((f[f[(f[r>>2]|0)+64>>2]>>2]|0)+i|0,t|0,s|0)|0;h=h+1|0;if((h|0)==(c|0)){a=1;break}else{i=i+s|0;j=o+j|0}}Cm(t);u=v;return a|0}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+112|0;h=k+96|0;j=k+16|0;i=k+4|0;g=k;c=j+76|0;d=j;e=d+76|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));f[c>>2]=-1073741824;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;f[g>>2]=i;f[h>>2]=f[g>>2];if($b(j,a,h)|0){g=f[i>>2]|0;jd(b,g,g+((f[e>>2]|0)-g>>2<<2)|0);g=f[j+68>>2]|0}else g=0;c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+56>>2]|0;if(c|0)Em(c);c=f[j+32>>2]|0;if(c|0){e=j+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+20>>2]|0;if(c|0){e=j+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[j+8>>2]|0;if(c|0){e=j+12|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}j=j+4|0;c=f[j>>2]|0;f[j>>2]=0;if(!c){u=k;return g|0}Sf(c);Em(c);u=k;return g|0}function md(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;d=l;if(!(tf(d,c)|0)){a=0;u=l;return a|0}g=d;j=f[g>>2]|0;g=f[g+4>>2]|0;m=c+8|0;i=c+16|0;e=i;d=f[e>>2]|0;e=f[e+4>>2]|0;m=hk(f[m>>2]|0,f[m+4>>2]|0,d|0,e|0)|0;n=I;if(g>>>0>n>>>0|(g|0)==(n|0)&j>>>0>m>>>0){n=0;u=l;return n|0}c=(f[c>>2]|0)+d|0;m=Ij(d|0,e|0,j|0,g|0)|0;n=i;f[n>>2]=m;f[n+4>>2]=I;if((j|0)<1){n=0;u=l;return n|0}f[a+40>>2]=c;e=j+-1|0;d=c+e|0;a:do switch((h[d>>0]|0)>>>6&3){case 0:{f[a+44>>2]=e;k=b[d>>0]&63;break}case 1:if((j|0)<2){n=0;u=l;return n|0}else{f[a+44>>2]=j+-2;k=c+j+-2|0;k=(h[k+1>>0]|0)<<8&16128|(h[k>>0]|0);break a}case 2:if((j|0)<3){n=0;u=l;return n|0}else{f[a+44>>2]=j+-3;k=c+j+-3|0;k=(h[k+1>>0]|0)<<8|(h[k>>0]|0)|(h[k+2>>0]|0)<<16&4128768;break a}case 3:{f[a+44>>2]=j+-4;k=c+j+-4|0;k=(h[k+2>>0]|0)<<16|(h[k+3>>0]|0)<<24&1056964608|(h[k+1>>0]|0)<<8|(h[k>>0]|0);break}default:{}}while(0);n=k+16384|0;f[a+48>>2]=n;n=n>>>0<4194304;u=l;return n|0}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f[a+4>>2]=f[b+4>>2];j=a+8|0;k=b+8|0;if((a|0)==(b|0))return a|0;i=b+12|0;c=f[i>>2]|0;if(!c)c=0;else{h=a+16|0;do if(c>>>0>f[h>>2]<<5>>>0){d=f[j>>2]|0;if(d){Em(d);f[j>>2]=0;f[h>>2]=0;f[a+12>>2]=0;c=f[i>>2]|0}if((c|0)<0)Wl(j);else{e=((c+-1|0)>>>5)+1|0;g=Yi(e<<2)|0;f[j>>2]=g;f[a+12>>2]=0;f[h>>2]=e;e=f[i>>2]|0;break}}else{e=c;g=f[j>>2]|0}while(0);hi(g|0,f[k>>2]|0,((e+-1|0)>>>5<<2)+4|0)|0;c=f[i>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;do if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){Em(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Wl(h);else{l=((c+-1|0)>>>5)+1|0;m=Yi(l<<2)|0;f[h>>2]=m;f[a+24>>2]=0;f[e>>2]=l;l=f[g>>2]|0;break}}else{l=c;m=f[h>>2]|0}while(0);hi(m|0,f[i>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823)Wl(a);j=d>>1;d=d>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(d>>>0>1073741823)Wl(a);h=Yi(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function pd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Pg(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Pg(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Pg(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function qd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Wl(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Wl(a);e=Yi(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Od(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Od(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function rd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];oc(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=(c|0)/32|0;hi(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)ra(12446,12458,110,12556);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))le(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){hf(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(b);u=j;return}function td(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;j=d+8|0;i=f[j>>2]|0;j=f[j+4>>2]|0;k=d+16|0;e=k;g=f[e>>2]|0;e=f[e+4>>2]|0;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>g>>>0){h=b[(f[d>>2]|0)+g>>0]|0;g=Ij(g|0,e|0,1,0)|0;e=I;o=k;f[o>>2]=g;f[o+4>>2]=e;if(h<<24>>24!=-2)l=3}else{h=0;l=3}if((l|0)==3){if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>g>>>0){o=b[(f[d>>2]|0)+g>>0]|0;l=Ij(g|0,e|0,1,0)|0;e=k;f[e>>2]=l;f[e+4>>2]=I;e=o}else e=0;Ua[f[(f[a>>2]|0)+40>>2]&7](m,a,h<<24>>24,e<<24>>24);o=a+20|0;l=f[m>>2]|0;f[m>>2]=0;e=f[o>>2]|0;f[o>>2]=l;if(e){Ra[f[(f[e>>2]|0)+4>>2]&127](e);e=f[m>>2]|0;f[m>>2]=0;if(e|0)Ra[f[(f[e>>2]|0)+4>>2]&127](e)}else f[m>>2]=0}e=f[a+20>>2]|0;if(e|0?!(Na[f[(f[a>>2]|0)+28>>2]&127](a,e)|0):0){o=0;u=n;return o|0}o=Oa[f[(f[a>>2]|0)+36>>2]&31](a,c,d)|0;u=n;return o|0}function ud(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;j=l+12|0;k=l;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=og(c)|0;if(g>>>0>4294967279)Wl(j);if(g>>>0<11){b[j+11>>0]=g;if(!g)e=j;else{e=j;h=6}}else{h=g+16&-16;e=Yi(h)|0;f[j>>2]=e;f[j+8>>2]=h|-2147483648;f[j+4>>2]=g;h=6}if((h|0)==6)Od(e|0,c|0,g|0)|0;b[e+g>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;c=og(d)|0;if(c>>>0>4294967279)Wl(k);if(c>>>0<11){b[k+11>>0]=c;if(!c)e=k;else{e=k;h=12}}else{h=c+16&-16;e=Yi(h)|0;f[k>>2]=e;f[k+8>>2]=h|-2147483648;f[k+4>>2]=c;h=12}if((h|0)==12)Od(e|0,d|0,c|0)|0;b[e+c>>0]=0;e=f[a+4>>2]|0;if((e|0)!=0?(i=Yc(e,j,k)|0,(i|0)!=0):0)e=hh(a,f[i+40>>2]|0)|0;else e=-1;if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);if((b[j+11>>0]|0)>=0){u=l;return e|0}Em(f[j>>2]|0);u=l;return e|0}function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;o=e;return o|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;j=a<<24>>24<0;a=j?f[g+20>>2]|0:a&255;i=a>>>0>>0;e=i?a:m;if((e|0)!=0?(o=sh(l,j?f[h>>2]|0:h,e)|0,(o|0)!=0):0)if((o|0)<0)k=8;else k=10;else if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if((e|0)!=0?(n=sh(j?f[h>>2]|0:h,l,e)|0,(n|0)!=0):0){if((n|0)>=0){k=16;break}}else k=12;if((k|0)==12?(0,!i):0){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;o=g;return o|0}else if((k|0)==15){f[c>>2]=g;o=d;return o|0}else if((k|0)==16){f[c>>2]=g;o=d;return o|0}return 0}function wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;a=a+20|0;if(Jb(a,c)|0){h=0;return h|0}g=vb(a,c)|0;e=f[d>>2]|0;f[d>>2]=0;h=f[g>>2]|0;f[g>>2]=e;if(!h){h=1;return h|0}a=f[h+28>>2]|0;if(a|0)do{g=a;a=f[a>>2]|0;Le(g+8|0);Em(g)}while((a|0)!=0);g=h+20|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Em(a);a=f[h+8>>2]|0;if(a|0)do{e=a;a=f[a>>2]|0;g=e+8|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}if((b[g+11>>0]|0)<0)Em(f[g>>2]|0);Em(e)}while((a|0)!=0);a=f[h>>2]|0;f[h>>2]=0;if(a|0)Em(a);Em(h);h=1;return h|0}function xd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;fg(f[a+4>>2]|0,(f[c+56>>2]|0)-(f[c+52>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];rb(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];rb(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)hi(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Od(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);Em(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823)Wl(a);m=d>>1;d=d>>2>>>0<536870911?(m>>>0>>0?g:m):1073741823;if(d>>>0>1073741823)Wl(a);e=Yi(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Od(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function zd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;Em(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Wl(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Wl(a);e=Yi(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)hi(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function Ad(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;c=Yi(64)|0;j=Yi(12)|0;h=f[(f[a+4>>2]|0)+80>>2]|0;f[j+4>>2]=0;f[j>>2]=2576;f[j+8>>2]=h;f[k>>2]=j;rh(c,k);j=c;if((b|0)>=0){h=a+8|0;g=a+12|0;c=f[g>>2]|0;a=f[h>>2]|0;e=c-a>>2;do if((e|0)<=(b|0)){d=b+1|0;if(d>>>0>e>>>0){Dd(h,d-e|0);break}if(d>>>0>>0?(i=a+(d<<2)|0,(c|0)!=(i|0)):0)do{e=c+-4|0;f[g>>2]=e;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0}while((c|0)!=(i|0))}while(0);b=(f[h>>2]|0)+(b<<2)|0;c=f[b>>2]|0;f[b>>2]=j;if(!c)a=1;else{Ra[f[(f[c>>2]|0)+4>>2]&127](c);a=1}}else{Ra[f[(f[c>>2]|0)+4>>2]&127](c);a=0}c=f[k>>2]|0;f[k>>2]=0;if(!c){u=l;return a|0}Ra[f[(f[c>>2]|0)+4>>2]&127](c);u=l;return a|0}function Bd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];nd(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{qd(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);qd(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);qd(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];yd(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function Cd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+80|0;g=j;i=j+64|0;Eh(g);e=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Uh(5)|0,d)|0;Uf(g,e,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=Yi(96)|0;xh(h,g);b[h+84>>0]=1;d=f[h+68>>2]|0;g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Mf(h,c)|0;f[i>>2]=h;sf(a,i);h=f[i>>2]|0;f[i>>2]=0;if(!h){u=j;return}i=h+88|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}i=h+64|0;d=f[i>>2]|0;f[i>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(h);u=j;return}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;e=f[m>>2]|0;l=a+4|0;d=f[l>>2]|0;c=d;if(e-d>>2>>>0>=b>>>0){Cf(d|0,0,b<<2|0)|0;f[l>>2]=d+(b<<2);return}g=f[a>>2]|0;d=d-g>>2;j=d+b|0;k=g;if(j>>>0>1073741823)Wl(a);i=e-g|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?j:h):1073741823;do if(h)if(h>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{i=Yi(h<<2)|0;break}else i=0;while(0);e=i+(d<<2)|0;Cf(e|0,0,b<<2|0)|0;d=e;b=i+(h<<2)|0;h=i+(j<<2)|0;if((c|0)!=(k|0)){do{c=c+-4|0;j=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=j;e=d+-4|0;d=e}while((c|0)!=(k|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=b;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;Em(g);return}function Ed(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2680;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}Fe(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){lf(c);Em(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b)}lf(e);Em(e);return}function Fd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)ra(12835,12860,63,12943);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))ra(12948,12860,64,12943);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))hf(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){hf(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Gd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;sc(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=(c|0)/32|0;hi(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Hd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;fg(f[a+4>>2]|0,(f[c+28>>2]|0)-(f[c+24>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];ub(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];ub(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Id(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=f[a>>2]|0;h=(d-g|0)/12|0;d=h+b|0;if(d>>>0>357913941)Wl(a);g=(e-g|0)/12|0;i=g<<1;d=g>>>0<178956970?(i>>>0>>0?d:i):357913941;do if(d)if(d>>>0>357913941){k=sa(8)|0;Fk(k,12569);f[k>>2]=3708;wa(k|0,856,80)}else{e=Yi(d*12|0)|0;break}else e=0;while(0);i=e+(h*12|0)|0;h=e+(d*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Od(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;Em(d);return}function Jd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;sd(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){pe(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=f[c>>2]|0;h=f[a>>2]|0;j=h+(e>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(e&31);j=f[a+64>>2]|0;g=(e|0)<0;c=e+1|0;if(!g?(d=((c|0)%3|0|0)==0?e+-2|0:c,(d|0)>=0):0)c=f[(f[j>>2]|0)+(d<<2)>>2]|0;else c=-1073741824;i=a+12|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g){j=(f[i>>2]|0)+402653184|0;f[j>>2]=f[j>>2]|1;return}c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;d=(f[i>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);if(g)return;d=f[(f[j+12>>2]|0)+(e<<2)>>2]|0;if((d|0)<=-1)return;b[a+24>>0]=0;c=h+(d>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(d&31);c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;a=(f[i>>2]|0)+(c>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(c&31);c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)c=-1073741824;else c=f[(f[j>>2]|0)+(c<<2)>>2]|0;j=(f[i>>2]|0)+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);return}function Ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Wl(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{e=Yi(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){lf(d);Em(d)}}while((c|0)!=(e|0));if(!g)return;Em(g);return}function Md(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+8|0;g=j+4|0;e=j;if(!c){i=0;u=j;return i|0}f[a>>2]=b;f[h>>2]=0;Vf(h,b)|0;a:do if(!(f[h>>2]|0))i=8;else{d=0;while(1){Vf(g,f[a>>2]|0)|0;b=Yi(44)|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[b+16>>2]=$(1.0);k=b+20|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;n[b+36>>2]=$(1.0);f[b+40>>2]=f[g>>2];if(!(dc(a,b)|0))break;f[e>>2]=b;rg(c,e)|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0){lf(b);Em(b)}d=d+1|0;if(d>>>0>=(f[h>>2]|0)>>>0){i=8;break a}}lf(b);Em(b);b=0}while(0);if((i|0)==8)b=dc(a,c)|0;k=b;u=j;return k|0}function Nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=sh(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=sh(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Od(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ea(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Pd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a+196>>2]|0;if(b|0){d=a+200|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}g=a+184|0;b=f[g>>2]|0;if(b|0){h=a+188|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);Em(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}Em(b)}b=f[a+156>>2]|0;if(b|0){d=a+160|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}h=a+136|0;c=f[h>>2]|0;f[h>>2]=0;if(!c){h=a+120|0;Jm(h);h=a+80|0;Jm(h);h=a+64|0;Jm(h);a=a+24|0;Jm(a);return}d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(c|0))}Cm(d);h=a+120|0;Jm(h);h=a+80|0;Jm(h);h=a+64|0;Jm(h);a=a+24|0;Jm(a);return}function Qd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)ra(12658,12674,59,12771);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))ra(12781,12674,60,12771);g=f[i+(c<<2)>>2]|0;do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Pc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Yi(44)|0;f[b>>2]=1192;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[g+16>>2]=f[e+16>>2];f[g+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);f[b>>2]=1248;g=b}f[a>>2]=g;return}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=a+60|0;c=f[i>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+48;if(!(Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}g=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;a:do if((g|0)>0){h=0;while(1){c=(Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0)+4|0;c=f[c>>2]|0;e=Na[f[(f[a>>2]|0)+20>>2]&127](a,h)|0;if((e|0)<=-1){d=7;break}d=f[c+8>>2]|0;if(((f[c+12>>2]|0)-d>>2|0)<=(e|0)){d=9;break}c=f[i>>2]|0;h=h+1|0;if(!(Na[f[(f[c>>2]|0)+8>>2]&127](c,f[d+(e<<2)>>2]|0)|0)){c=0;d=14;break}if((h|0)>=(g|0))break a}if((d|0)==7)ra(12658,12674,67,12771);else if((d|0)==9)ra(12781,12674,68,12771);else if((d|0)==14)return c|0}while(0);if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function Sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=vk(Ba(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=vk(Ba(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Td(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function Ud(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;c=f[k>>2]|0;l=a+16|0;if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}d=f[l>>2]|0;if(!d){l=f[l>>2]|0;return l|0}a=d+84|0;if(!(b[a>>0]|0)){l=f[l>>2]|0;return l|0}i=(f[c+72>>2]|0)-(f[c+68>>2]|0)>>2;b[a>>0]=0;h=d+68|0;e=d+72|0;d=f[e>>2]|0;a=f[h>>2]|0;g=d-a>>2;if(i>>>0<=g>>>0){if(i>>>0>>0?(j=a+(i<<2)|0,(d|0)!=(j|0)):0)f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2)}else{ee(h,i-g|0,1060);c=f[k>>2]|0}if(b[c+84>>0]|0){l=f[l>>2]|0;return l|0}k=f[c+68>>2]|0;g=k;k=(f[c+72>>2]|0)-k|0;d=k>>2;if((k|0)<=0){l=f[l>>2]|0;return l|0}c=f[l>>2]|0;e=(b[c+84>>0]|0)==0;c=c+68|0;a=0;while(1){if(!e){c=14;break}f[(f[c>>2]|0)+(a<<2)>>2]=f[g+(a<<2)>>2];a=a+1|0;if((a|0)>=(d|0)){c=15;break}}if((c|0)==14)ra(10949,10968,89,11068);else if((c|0)==15){l=f[l>>2]|0;return l|0}return 0}function Vd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;g=h+8|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=Lb(a,e,g,h+4|0,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=Yi(40)|0;Df(e+16|0,d);Df(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}wc(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function Wd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+16|0;l=m;j=a+4|0;f[j>>2]=0;if(!c){u=m;return}i=a+8|0;e=f[i>>2]|0;g=e<<5;if(g>>>0>>0){f[l>>2]=0;k=l+4|0;f[k>>2]=0;h=l+8|0;f[h>>2]=0;if((c|0)<0)Wl(a);e=e<<6;n=c+31&-32;Me(l,g>>>0<1073741823?(e>>>0>>0?n:e):2147483647);e=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=e;l=f[j>>2]|0;f[j>>2]=c;f[k>>2]=l;l=f[i>>2]|0;f[i>>2]=f[h>>2];f[h>>2]=l;if(e|0)Em(e)}else f[j>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){Cf(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=m;return}else{Cf(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=m;return}}function Xd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(dl(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(dl(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Va[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Wa[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else Ai(0,c,d,e);while(0);return}function Yd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;m=b+16|0;c=m;e=f[c>>2]|0;c=f[c+4>>2]|0;g=Ij(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&j>>>0>>0){a=0;return a|0}i=f[b>>2]|0;l=i+e|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;n=m;f[n>>2]=g;f[n+4>>2]=d;d=Ij(e|0,c|0,8,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0){n=0;return n|0}c=i+g|0;c=h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24;n=m;f[n>>2]=d;f[n+4>>2]=e;if((l|0)>(c|0)){n=0;return n|0}f[a+12>>2]=l;f[a+16>>2]=c;n=c+(1-l)|0;f[a+20>>2]=n;c=(n|0)/2|0;d=a+24|0;f[d>>2]=c;f[a+28>>2]=0-c;if(!(n&1))f[d>>2]=c+-1;n=ed(a+108|0,b)|0;return n|0}function Zd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;if((b|0)==-2)g=0;else{g=f[d+4>>2]|0;if((c|0)<=-1)ra(12658,12674,59,12771);i=f[g+8>>2]|0;if(((f[g+12>>2]|0)-i>>2|0)<=(c|0))ra(12781,12674,60,12771);g=f[i+(c<<2)>>2]|0;do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){qc(a,d,b,c,e,((h[d+36>>0]|0)<<8|(h[d+37>>0]|0))&65535);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=Yi(24)|0;f[b+4>>2]=g;g=b+8|0;f[g>>2]=f[e>>2];f[g+4>>2]=f[e+4>>2];f[g+8>>2]=f[e+8>>2];f[g+12>>2]=f[e+12>>2];f[b>>2]=1868;g=b}f[a>>2]=g;return}function _d(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;c=f[a+32>>2]|0;h=c+8|0;j=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((j|0)>(d|0)|((j|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){j=0;return j|0}h=b[(f[c>>2]|0)+e>>0]|0;c=Ij(e|0,d|0,1,0)|0;e=g;f[e>>2]=c;f[e+4>>2]=I;e=a+48|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);switch(h<<24>>24){case 0:{c=Yi(376)|0;lg(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);i=9}break}case 2:{c=Yi(432)|0;gf(c);d=f[e>>2]|0;f[e>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);i=9}break}default:i=9}if((i|0)==9){c=f[e>>2]|0;if(!c){j=0;return j|0}}j=Na[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;return j|0}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;g=c-e>>3;c=g+b|0;if(c>>>0>536870911)Wl(a);e=d-e|0;h=e>>2;c=e>>3>>>0<268435455?(h>>>0>>0?c:h):536870911;do if(c)if(c>>>0>536870911){j=sa(8)|0;Fk(j,12569);f[j>>2]=3708;wa(j|0,856,80)}else{d=Yi(c<<3)|0;break}else d=0;while(0);h=d+(g<<3)|0;g=d+(c<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Od(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;Em(c);return}function ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Ta[i&7](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Em(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}Em(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function be(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((hb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=Km(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=hb(a,c,m,p,q)|0;if(d){Oa[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=hb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)Jm(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=Yi(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;j=g+8|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Od(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}_e(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Od(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=1048576){if((i|0)!=1048576?(h=d+4194304|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,1048576-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>1048576){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==1048576;return k|0}function ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+8|0;e=f[l>>2]|0;m=a+4|0;d=f[m>>2]|0;g=d;if(e-d>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[m>>2]=g+(b<<2);return}k=f[a>>2]|0;j=d-k|0;i=j>>2;d=i+b|0;if(d>>>0>1073741823)Wl(a);g=e-k|0;h=g>>1;d=g>>2>>>0<536870911?(h>>>0>>0?d:h):1073741823;do if(d)if(d>>>0>1073741823){b=sa(8)|0;Fk(b,12569);f[b>>2]=3708;wa(b|0,856,80)}else{e=Yi(d<<2)|0;break}else e=0;while(0);h=e+(i<<2)|0;g=e+(d<<2)|0;d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}d=h+(0-i<<2)|0;if((j|0)>0)Od(d|0,k|0,j|0)|0;f[a>>2]=d;f[m>>2]=h+(b<<2);f[l>>2]=g;if(!k)return;Em(k);return}function fe(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(dl(m,e,0)|0){f[o+48>>2]=1;Wa[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Va[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{Ve(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(tb(a,n)|0)){a=0;u=o;return a|0}db(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function he(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=524288){if((i|0)!=524288?(h=d+2097152|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,524288-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>524288){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==524288;return k|0}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=262144){if((i|0)!=262144?(h=d+1048576|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,262144-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>262144){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==262144;return k|0}function je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=65536){if((i|0)!=65536?(h=d+262144|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,65536-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>65536){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==65536;return k|0}function ke(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=32768){if((i|0)!=32768?(h=d+131072|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,32768-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>32768){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==32768;return k|0}function le(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){gd(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Em(d)}Em(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;Em(d)}Em(c)}Em(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function me(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=8192){if((i|0)!=8192?(h=d+32768|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,8192-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>8192){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==8192;return k|0}function ne(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;g=a+4|0;e=f[g>>2]|0;d=f[a>>2]|0;i=e-d>>2;if(i>>>0>=4096){if((i|0)!=4096?(h=d+16384|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else Ve(a,4096-i|0);h=a+12|0;g=a+16|0;e=f[g>>2]|0;d=f[h>>2]|0;i=e-d>>3;if(i>>>0>=c>>>0){if(i>>>0>c>>>0?(j=d+(c<<3)|0,(e|0)!=(j|0)):0)f[g>>2]=e+(~((e+-8-j|0)>>>3)<<3);if(!c){k=0;return k|0}}else $d(h,c-i|0);e=f[h>>2]|0;h=0;i=0;do{j=b+(i<<2)|0;f[e+(i<<3)>>2]=f[j>>2];f[e+(i<<3)+4>>2]=h;d=h;h=(f[j>>2]|0)+h|0;if(h>>>0>4096){d=0;k=19;break}if(d>>>0>>0){g=f[a>>2]|0;do{f[g+(d<<2)>>2]=i;d=d+1|0}while((d|0)!=(h|0))}i=i+1|0}while(i>>>0>>0);if((k|0)==19)return d|0;k=(h|0)==4096;return k|0}function oe(a,c,d){a=a|0;c=c|0;d=d|0;a=Ib(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=8){d=0;return d|0}a=c;b[s>>0]=b[a>>0];b[s+1>>0]=b[a+1>>0];b[s+2>>0]=b[a+2>>0];b[s+3>>0]=b[a+3>>0];b[s+4>>0]=b[a+4>>0];b[s+5>>0]=b[a+5>>0];b[s+6>>0]=b[a+6>>0];b[s+7>>0]=b[a+7>>0];p[s>>3]=+p[s>>3];b[d>>0]=b[s>>0];b[d+1>>0]=b[s+1>>0];b[d+2>>0]=b[s+2>>0];b[d+3>>0]=b[s+3>>0];b[d+4>>0]=b[s+4>>0];b[d+5>>0]=b[s+5>>0];b[d+6>>0]=b[s+6>>0];b[d+7>>0]=b[s+7>>0];d=1;return d|0}function pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;d=f[k>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(d-c>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[l>>2]=e+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Wl(a);e=d-j|0;g=e>>1;c=e>>2>>>0<536870911?(g>>>0>>0?c:g):1073741823;do if(c)if(c>>>0>1073741823){b=sa(8)|0;Fk(b,12569);f[b>>2]=3708;wa(b|0,856,80)}else{d=Yi(c<<2)|0;break}else d=0;while(0);g=d+(h<<2)|0;e=d+(c<<2)|0;c=g;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}c=g+(0-h<<2)|0;if((i|0)>0)Od(c|0,j|0,i|0)|0;f[a>>2]=c;f[l>>2]=g+(b<<2);f[k>>2]=e;if(!j)return;Em(j);return}function qe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{Ve(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function re(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)Wl(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{wk(a,d,(e&255)+1|0)|0;Em(d);g=15}}else{c=Yi(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{wk(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){wk(c,d,(f[a+4>>2]|0)+1|0)|0;Em(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function se(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=el(f[a+8>>2]|0,o)|0;e=el(f[a+12>>2]|0,o)|0;g=el(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=el(f[a+(g<<2)>>2]|0,o)|0;g=el(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Jh(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=el(f[a+(e<<2)>>2]|0,o)|0;e=el(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function te(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;h=j+16|0;i=j;switch(c<<24>>24){case 0:{i=Yi(48)|0;rl(i);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;u=j;return}case 1:{i=Yi(52)|0;Ck(i);f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;u=j;return}default:{c=Yi(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=28;d=c;e=10720;g=d+28|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+28>>0]=0;f[h>>2]=-1;c=h+4|0;Df(c,i);f[a>>2]=f[h>>2];Df(a+4|0,c);f[a+16>>2]=0;if((b[c+11>>0]|0)<0)Em(f[c>>2]|0);if((b[i+11>>0]|0)<0)Em(f[i>>2]|0);u=j;return}}}function ue(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;i=k+12|0;j=k;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;e=og(c)|0;if(e>>>0>4294967279)Wl(i);if(e>>>0<11){b[i+11>>0]=e;if(!e)d=i;else{d=i;g=6}}else{g=e+16&-16;d=Yi(g)|0;f[i>>2]=d;f[i+8>>2]=g|-2147483648;f[i+4>>2]=e;g=6}if((g|0)==6)Od(d|0,c|0,e|0)|0;b[d+e>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;c=j+11|0;b[c>>0]=4;f[j>>2]=1701667182;b[j+4>>0]=0;d=f[a+4>>2]|0;if((d|0)!=0?(h=Yc(d,j,i)|0,(h|0)!=0):0)d=hh(a,f[h+40>>2]|0)|0;else d=-1;if((b[c>>0]|0)<0)Em(f[j>>2]|0);if((b[i+11>>0]|0)>=0){u=k;return d|0}Em(f[i>>2]|0);u=k;return d|0}function ve(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=sh(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=sh(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function we(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k+4|0;i=k;h=f[c+4>>2]|0;if(!h)ra(8295,8544,70,8714);g=f[c+8>>2]|0;if(!g)ra(8295,8544,70,8714);d=f[d>>2]|0;if((d|0)<0)e=-1073741824;else e=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=e>>>0)Wl(d);d=f[g+(f[c+(e<<2)>>2]<<2)>>2]|0;if(!(b[h+84>>0]|0))d=f[(f[h+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[i>>2]=d;g=b[h+24>>0]|0;f[j>>2]=f[i>>2];eb(h,j,g,a)|0;u=k;return}function xe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;k=b+8|0;i=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;e=f[c>>2]|0;c=f[c+4>>2]|0;g=Ij(e|0,c|0,4,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){a=0;return a|0}b=f[b>>2]|0;j=b+e|0;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;m=l;f[m>>2]=g;f[m+4>>2]=d;c=Ij(e|0,c|0,8,0)|0;d=I;if((k|0)<(d|0)|(k|0)==(d|0)&i>>>0>>0){m=0;return m|0}b=b+g|0;b=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;m=l;f[m>>2]=c;f[m+4>>2]=d;if((j|0)>(b|0)){m=0;return m|0}f[a+12>>2]=j;f[a+16>>2]=b;m=b+(1-j)|0;f[a+20>>2]=m;b=(m|0)/2|0;c=a+24|0;f[c>>2]=b;f[a+28>>2]=0-b;if(m&1|0){m=1;return m|0}f[c>>2]=b+-1;m=1;return m|0}function ye(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))ra(7739,6922,259,7763);d=f[c>>2]|0;if((d|0)>(e|0))ra(7777,6922,260,7763);a=0-e|0;if((i|0)<(a|0))ra(7801,6922,261,7763);if((d|0)<(a|0))ra(7826,6922,262,7763);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=_a(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Kb(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=_a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Kb(a,b);return}function Ae(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/116|0;if(d>>>0>>0){ad(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*116|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-116;c=f[e+-12>>2]|0;if(c|0){d=e+-8|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}c=f[e+-28>>2]|0;if(c|0){d=e+-24|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}c=f[e+-40>>2]|0;if(c|0){d=e+-36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c)}_f(e+-112|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function Be(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1072;e=a+60|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b)}f[a>>2]=968;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function Ce(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}Em(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Em(b);return}function De(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+8|0;e=f[l>>2]|0;g=b[e+24>>0]|0;k=g<<24>>24;n=k<<1;m=Bm(k>>>0>2147483647?-1:k<<1)|0;j=f[a+16>>2]|0;j=(f[f[j>>2]>>2]|0)+(f[j+48>>2]|0)|0;if(!c){Cm(m);return}if(g<<24>>24>0){e=0;g=0;h=0;while(1){a=0;i=h;while(1){d[m+(a<<1)>>1]=f[j+(i<<2)>>2];a=a+1|0;if((a|0)==(k|0))break;else i=i+1|0}Od((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+g|0,m|0,n|0)|0;e=e+1|0;if((e|0)==(c|0))break;else{g=g+n|0;h=k+h|0}}Cm(m);return}else{Od(f[f[e+64>>2]>>2]|0,m|0,n|0)|0;if((c|0)==1){Cm(m);return}else{a=1;e=0}do{e=e+n|0;Od((f[f[(f[l>>2]|0)+64>>2]>>2]|0)+e|0,m|0,n|0)|0;a=a+1|0}while((a|0)!=(c|0));Cm(m);return}}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+8|0;d=f[k>>2]|0;e=b[d+24>>0]|0;j=e<<24>>24;m=j<<2;l=Bm(j>>>0>1073741823?-1:j<<2)|0;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;if(!c){Cm(l);return}if(e<<24>>24>0){d=0;e=0;g=0;while(1){a=0;h=g;while(1){f[l+(a<<2)>>2]=f[i+(h<<2)>>2];a=a+1|0;if((a|0)==(j|0))break;else h=h+1|0}Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,l|0,m|0)|0;d=d+1|0;if((d|0)==(c|0))break;else{e=e+m|0;g=j+g|0}}Cm(l);return}else{Od(f[f[d+64>>2]>>2]|0,l|0,m|0)|0;if((c|0)==1){Cm(l);return}else{a=1;d=0}do{d=d+m|0;Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+d|0,l|0,m|0)|0;a=a+1|0}while((a|0)!=(c|0));Cm(l);return}}function Fe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Em(b);return}function Ge(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=Ka;n=u;u=u+32|0;j=n+16|0;m=n;k=a+8|0;l=b[(f[k>>2]|0)+24>>0]<<2;i=f[a+16>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;a=f[a+24>>2]|0;if((a|0)<=1)ra(6911,6922,60,7043);if((a|0)>=31)ra(7063,6922,61,7043);f[m>>2]=a;a=1<>2]=a+-1;a=a+-2|0;h=m+8|0;f[h>>2]=a;f[m+12>>2]=(a|0)/2|0;if(!c){u=n;return 1}d=0;e=0;g=0;while(1){o=$($(1.0)/$(a|0));fd(m,$($(f[i+(g<<2)>>2]|0)*o),$($(f[i+((g|1)<<2)>>2]|0)*o),j);Od((f[f[(f[k>>2]|0)+64>>2]>>2]|0)+e|0,j|0,l|0)|0;d=d+1|0;if((d|0)==(c|0))break;a=f[h>>2]|0;e=e+l|0;g=g+2|0}u=n;return 1}function He(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0;k=b+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;l=b+16|0;c=l;g=f[c>>2]|0;c=f[c+4>>2]|0;d=Ij(g|0,c|0,4,0)|0;e=I;if((k|0)<(e|0)|(k|0)==(e|0)&j>>>0>>0)return 0;i=(f[b>>2]|0)+g|0;i=h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24;b=l;f[b>>2]=d;f[b+4>>2]=e;b=Ij(g|0,c|0,8,0)|0;c=I;if((k|0)<(c|0)|(k|0)==(c|0)&j>>>0>>0)return 0;f[l>>2]=b;f[l+4>>2]=c;if(((i|0)%2|0|0)!=1)ra(7851,7884,68,8050);c=(_(i|0)|0)^31;b=c+1|0;if(!c)ra(6911,6922,60,7043);if(b>>>0<31){f[a>>2]=b;l=2<>2]=l+-1;l=l+-2|0;f[a+8>>2]=l;f[a+12>>2]=(l|0)/2|0;return (c+-1|0)>>>0<29|0}else ra(7063,6922,61,7043);return 0}function Ie(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m+16|0;i=m+8|0;j=m;h=f[b>>2]|0;k=f[a+12>>2]<<1;if((h|0)>(k|0))ra(7160,7205,69,7389);e=f[b+4>>2]|0;if((e|0)>(k|0))ra(7410,7205,70,7389);g=f[c>>2]|0;if((g|0)>(k|0))ra(7455,7205,71,7389);b=f[c+4>>2]|0;if((b|0)>(k|0))ra(7500,7205,72,7389);if((h|0)<=-1)ra(7545,7205,74,7389);if((e|0)<=-1)ra(7567,7205,75,7389);if((g|0)<=-1)ra(7589,7205,76,7389);if((b|0)>-1){f[i>>2]=h;f[i+4>>2]=e;f[j>>2]=g;f[j+4>>2]=b;tc(l,a,i,j);f[d>>2]=f[l>>2];f[d+4>>2]=f[l+4>>2];u=m;return}else ra(7611,7205,77,7389)}function Je(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=_a(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){cc(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=_a(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;cc(a,b);return}function Ke(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function Le(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=a+12|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){c=f[i+28>>2]|0;if(c|0)do{h=c;c=f[c>>2]|0;Le(h+8|0);Em(h)}while((c|0)!=0);h=i+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)Em(c);c=f[i+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}if((b[h+11>>0]|0)<0)Em(f[h>>2]|0);Em(g)}while((c|0)!=0);c=f[i>>2]|0;f[i>>2]=0;if(c|0)Em(c);Em(i)}if((b[a+11>>0]|0)>=0)return;Em(f[a>>2]|0);return}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)Wl(i);l=((b+-1|0)>>>5)+1|0;k=Yi(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Gd(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)Em(b);u=j;return}function Ne(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+212|0;j=a+216|0;d=f[k>>2]|0;if((f[j>>2]|0)==(d|0)){l=0;return l|0}g=a+4|0;e=0;a:while(1){a=f[d+(e*116|0)>>2]|0;if(((a|0)>=0?(d=f[g>>2]|0,h=f[d+8>>2]|0,(a|0)<((f[d+12>>2]|0)-h>>2|0)):0)?(i=f[h+(a<<2)>>2]|0,(Ma[f[(f[i>>2]|0)+24>>2]&127](i)|0)>0):0){a=0;do{if((Na[f[(f[i>>2]|0)+20>>2]&127](i,a)|0)==(c|0))break a;a=a+1|0}while((a|0)<(Ma[f[(f[i>>2]|0)+24>>2]&127](i)|0))}a=e+1|0;d=f[k>>2]|0;if(a>>>0>=(((f[j>>2]|0)-d|0)/116|0)>>>0){a=0;l=11;break}else e=a}if((l|0)==11)return a|0;l=f[k>>2]|0;l=(b[l+(e*116|0)+72>>0]|0)==0?0:l+(e*116|0)+4|0;return l|0}function Oe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=(f[b+4>>2]|0)-(f[b>>2]|0)|0;l=k>>2;g=a+8|0;e=f[(f[g>>2]|0)+40>>2]|0;m=Bm((e|0)>-1?e:-1)|0;h=c+8|0;if((k|0)<=0){c=1;Cm(m);return c|0}k=c+16|0;i=0;j=0;while(1){o=h;n=f[o>>2]|0;o=f[o+4>>2]|0;a=k;b=f[a>>2]|0;a=Ij(b|0,f[a+4>>2]|0,e|0,0)|0;d=I;if((o|0)<(d|0)|(o|0)==(d|0)&n>>>0>>0){b=0;a=5;break}Od(m|0,(f[c>>2]|0)+b|0,e|0)|0;o=k;f[o>>2]=a;f[o+4>>2]=d;Od((f[f[(f[g>>2]|0)+64>>2]>>2]|0)+j|0,m|0,e|0)|0;i=i+1|0;if((i|0)>=(l|0)){b=1;a=5;break}else j=j+e|0}if((a|0)==5){Cm(m);return b|0}return 0}function Pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=vd(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=Yi(40)|0;Df(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}wc(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function Qe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;i=j+12|0;h=j;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=og(d)|0;if(e>>>0>4294967279)Wl(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;g=6}}else{g=e+16&-16;a=Yi(g)|0;f[h>>2]=a;f[h+8>>2]=g|-2147483648;f[h+4>>2]=e;g=6}if((g|0)==6)Od(a|0,d|0,e|0)|0;b[a+e>>0]=0;Af(c,h,i)|0;e=i+11|0;a=b[e>>0]|0;d=a<<24>>24<0?f[i>>2]|0:i;if((b[h+11>>0]|0)<0){Em(f[h>>2]|0);a=b[e>>0]|0}if(a<<24>>24>=0){u=j;return d|0}Em(f[i>>2]|0);u=j;return d|0}function Re(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;h=f[a>>2]|0;k=(f[i>>2]|0)-h|0;d=(k|0)/12|0;c=d+1|0;if(c>>>0>357913941)Wl(a);j=a+8|0;g=((f[j>>2]|0)-h|0)/12|0;e=g<<1;e=g>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{g=Yi(e*12|0)|0;break}else g=0;while(0);d=g+(d*12|0)|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];c=d+(((k|0)/-12|0)*12|0)|0;if((k|0)>0)Od(c|0,h|0,k|0)|0;f[a>>2]=c;f[i>>2]=d+12;f[j>>2]=g+(e*12|0);if(!h)return;Em(h);return}function Se(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)Wl(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=Yi(l)|0;if(g|0)wk(k,m,g)|0;if(i|0)wk(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)wk(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)Em(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;tl(k+m|0,n);u=o;return}function Te(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(wh(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Oa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Oa[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Od(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function Ue(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0;j=u;u=u+16|0;i=j;do if(((h[(f[a+4>>2]|0)+36>>0]|0)<<8&65535)>511){k=d+8|0;l=f[k+4>>2]|0;g=d+16|0;e=g;c=f[e>>2]|0;e=f[e+4>>2]|0;if((l|0)>(e|0)|((l|0)==(e|0)?(f[k>>2]|0)>>>0>c>>>0:0)){l=b[(f[d>>2]|0)+c>>0]|0;k=Ij(c|0,e|0,1,0)|0;c=g;f[c>>2]=k;f[c+4>>2]=I;c=l&255;f[a+24>>2]=c;break}else{l=0;u=j;return l|0}}else c=f[a+24>>2]|0;while(0);f[i>>2]=912;f[i+4>>2]=-1;hl(i,c);l=Ug(i,f[a+16>>2]|0)|0;u=j;return l|0}function Ve(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){Cf(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Wl(a);g=d-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{g=Yi(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;Cf(e|0,0,b<<2|0)|0;c=e+(0-h<<2)|0;if((i|0)>0)Od(c|0,j|0,i|0)|0;f[a>>2]=c;f[k>>2]=e+(b<<2);f[l>>2]=g+(d<<2);if(!j)return;Em(j);return}function We(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+212|0;h=a+216|0;c=f[i>>2]|0;a:do if((f[h>>2]|0)!=(c|0)){j=a+4|0;d=0;b:while(1){c=f[c+(d*116|0)>>2]|0;if(((c|0)>=0?(k=f[j>>2]|0,e=f[k+8>>2]|0,(c|0)<((f[k+12>>2]|0)-e>>2|0)):0)?(g=f[e+(c<<2)>>2]|0,(Ma[f[(f[g>>2]|0)+24>>2]&127](g)|0)>0):0){c=0;do{if((Na[f[(f[g>>2]|0)+20>>2]&127](g,c)|0)==(b|0))break b;c=c+1|0}while((c|0)<(Ma[f[(f[g>>2]|0)+24>>2]&127](g)|0))}d=d+1|0;c=f[i>>2]|0;if(d>>>0>=(((f[h>>2]|0)-c|0)/116|0)>>>0)break a}k=(f[i>>2]|0)+(d*116|0)+76|0;return k|0}while(0);k=a+184|0;return k|0}function Xe(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{f[h>>2]=b+-116;c=f[b+-12>>2]|0;if(c|0){e=b+-8|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[b+-28>>2]|0;if(c|0){e=b+-24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}c=f[b+-40>>2]|0;if(c|0){e=b+-36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}_f(b+-112|0);b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;Em(b);return}function Ye(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-116;d=f[c+-12>>2]|0;if(d|0){g=c+-8|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}d=f[c+-28>>2]|0;if(d|0){g=c+-24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}d=f[c+-40>>2]|0;if(d|0){g=c+-36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}_f(c+-112|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}Em(b);return}function Ze(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+32|0;d=g;if((h[(f[a+4>>2]|0)+36>>0]<<8&65535)>511?!(Ma[f[(f[a>>2]|0)+52>>2]&127](a)|0):0){e=0;u=g;return e|0}f[d>>2]=940;f[d+4>>2]=-1;c=d+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;Ah(d,f[a+24>>2]|0,f[a+28>>2]|0,b[(f[a+8>>2]|0)+24>>0]|0,$(n[a+32>>2]));e=Ug(d,f[a+16>>2]|0)|0;f[d>>2]=940;a=f[c>>2]|0;if(a|0){c=d+12|0;d=f[c>>2]|0;if((d|0)!=(a|0))f[c>>2]=d+(~((d+-4-a|0)>>>2)<<2);Em(a)}u=g;return e|0}function _e(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((e-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}g=f[a>>2]|0;h=d-g|0;d=h+c|0;if((d|0)<0)Wl(a);g=e-g|0;i=g<<1;d=g>>>0<1073741823?(i>>>0>>0?d:i):2147483647;if(!d)e=0;else e=Yi(d)|0;i=e+h|0;h=e+d|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Od(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;Em(d);return}function $e(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+140|0;b=f[h>>2]|0;if((b|0)<=0){a=1;return a|0}d=b<<4;d=Bm(b>>>0>268435455|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<4)|0;b=d;do{cm(b);b=b+16|0}while((b|0)!=(c|0));g=a+136|0;e=f[g>>2]|0;f[g>>2]=d;if(e|0){c=e+-4|0;b=f[c>>2]|0;if(b|0){b=e+(b<<4)|0;do{b=b+-16|0;Jm(b)}while((b|0)!=(e|0))}Cm(c)}if((f[h>>2]|0)<=0){a=1;return a|0}b=0;while(1){if(!(ed((f[g>>2]|0)+(b<<4)|0,a)|0)){b=0;c=13;break}b=b+1|0;if((b|0)>=(f[h>>2]|0)){b=1;c=13;break}}if((c|0)==13)return b|0;return 0}function af(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Vi()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[899];xj(15517,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Oa[f[(f[194]|0)+16>>2]&31](776,d,e)|0;b=f[899]|0;if(d){i=f[e>>2]|0;i=Ma[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;xj(15431,g)}else{f[i>>2]=b;f[i+4>>2]=a;xj(15476,i)}}xj(15555,h)}function bf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;h=j+12|0;g=j;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;e=og(d)|0;if(e>>>0>4294967279)Wl(g);if(e>>>0<11){b[g+11>>0]=e;if(!e)a=g;else{a=g;i=6}}else{i=e+16&-16;a=Yi(i)|0;f[g>>2]=a;f[g+8>>2]=i|-2147483648;f[g+4>>2]=e;i=6}if((i|0)==6)Od(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=Af(c,g,h)|0;if((b[g+11>>0]|0)<0)Em(f[g>>2]|0);if((b[h+11>>0]|0)>=0){u=j;return a|0}Em(f[h>>2]|0);u=j;return a|0}function cf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;h=f[a>>2]|0;f[a>>2]=0;if(!h)return;a=f[h+28>>2]|0;if(a|0)do{c=a;a=f[a>>2]|0;d=c+8|0;cf(c+20|0);if((b[d+11>>0]|0)<0)Em(f[d>>2]|0);Em(c)}while((a|0)!=0);g=h+20|0;a=f[g>>2]|0;f[g>>2]=0;if(a|0)Em(a);a=f[h+8>>2]|0;if(a|0)do{e=a;a=f[a>>2]|0;g=e+8|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}if((b[g+11>>0]|0)<0)Em(f[g>>2]|0);Em(e)}while((a|0)!=0);a=f[h>>2]|0;f[h>>2]=0;if(a|0)Em(a);Em(h);return}function df(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+4>>2]=2404;b=f[a+24>>2]|0;if(b|0)Em(b);b=f[a+12>>2]|0;if(!b)return;Em(b);return}function ef(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=fj(e,g+1|0,15428,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;Yf(c,g,0);e=b[h>>0]|0}Yf(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function ff(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(Am()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=rm()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=rm()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function gf(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2448;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));zi(b);d=a+372|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[a+392>>2]=-1;f[a+396>>2]=-1;f[a+400>>2]=2;f[a+404>>2]=7;d=a+408|0;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;f[d+12>>2]=0;f[d+16>>2]=0;f[d+20>>2]=0;return}function hf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+4|0;i=f[a>>2]|0;l=(f[j>>2]|0)-i|0;h=l>>2;c=h+1|0;if(c>>>0>1073741823)Wl(a);k=a+8|0;g=(f[k>>2]|0)-i|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}else{g=Yi(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;f[e>>2]=f[b>>2];c=e+(0-h<<2)|0;if((l|0)>0)Od(c|0,i|0,l|0)|0;f[a>>2]=c;f[j>>2]=e+4;f[k>>2]=g+(d<<2);if(!i)return;Em(i);return}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;if((d|0)<0){j=0;return j|0}j=a+4|0;a=f[j>>2]|0;e=a+4|0;c=f[e>>2]|0;b=f[a>>2]|0;g=c-b>>2;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+(d<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{Ve(a,d-g|0);d=f[i>>2]|0}if((d|0)<=0){j=1;return j|0}e=f[j>>2]|0;a=f[e>>2]|0;c=(f[e+4>>2]|0)-a>>2;b=0;while(1){if(c>>>0<=b>>>0){b=10;break}f[a+(b<<2)>>2]=b;b=b+1|0;if((b|0)>=(d|0)){a=1;b=12;break}}if((b|0)==10)Wl(e);else if((b|0)==12)return a|0;return 0}function kf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0;k=u;u=u+80|0;j=k;i=k+56|0;g=k+40|0;e=j;d=e+40|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));yb(g,j,i);c=f[g>>2]|0;if(!c){c=g+4|0;if((b[c+11>>0]|0)<0)Em(f[c>>2]|0);i=h[i+7>>0]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=i;j=j+24|0;Jm(j);u=k;return}else{f[a>>2]=c;c=g+4|0;Df(a+4|0,c);if((b[c+11>>0]|0)<0)Em(f[c>>2]|0);j=j+24|0;Jm(j);u=k;return}}function lf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0)do{d=c;c=f[c>>2]|0;g=d+8|0;h=d+20|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){lf(e);Em(e)}if((b[g+11>>0]|0)<0)Em(f[g>>2]|0);Em(d)}while((c|0)!=0);h=a+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)Em(c);c=f[a+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}if((b[h+11>>0]|0)<0)Em(f[h>>2]|0);Em(g)}while((c|0)!=0);c=f[a>>2]|0;f[a>>2]=0;if(!c)return;Em(c);return}function mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;Wd(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;Wd(a+12|0,j,d);od(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,2668);fg(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);fg(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;h=k;i=k+8|0;p[h>>3]=0.0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=og(d)|0;if(g>>>0>4294967279)Wl(i);if(g>>>0<11){b[i+11>>0]=g;if(!g)a=i;else{a=i;j=6}}else{j=g+16&-16;a=Yi(j)|0;f[i>>2]=a;f[i+8>>2]=j|-2147483648;f[i+4>>2]=g;j=6}if((j|0)==6)Od(a|0,d|0,g|0)|0;b[a+g>>0]=0;oe(c,i,h)|0;e=+p[h>>3];if((b[i+11>>0]|0)>=0){u=k;return +e}Em(f[i>>2]|0);u=k;return +e}function of(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;f[g>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=og(d)|0;if(e>>>0>4294967279)Wl(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Yi(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)Od(a|0,d|0,e|0)|0;b[a+e>>0]=0;Tf(c,h,g)|0;a=f[g>>2]|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Em(f[h>>2]|0);u=j;return a|0}function pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;if((d|0)!=1){f[a>>2]=0;u=j;return}g=f[b+12>>2]|0;d=f[b+4>>2]|0;b=h;e=b+36|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(e|0));Qd(i,c,g,d,h);e=f[h+24>>2]|0;if(e|0){b=h+28|0;d=f[b>>2]|0;if((d|0)!=(e|0))f[b>>2]=d+(~((d+-4-e|0)>>>2)<<2);Em(e)}f[a>>2]=f[i>>2];u=j;return}function qf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+32|0;g=j;h=j+8|0;p[g>>3]=0.0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=og(d)|0;if(e>>>0>4294967279)Wl(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Yi(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)Od(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=oe(c,h,g)|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Em(f[h>>2]|0);u=j;return a|0}function rf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+12|0;h=j;f[g>>2]=0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;e=og(d)|0;if(e>>>0>4294967279)Wl(h);if(e>>>0<11){b[h+11>>0]=e;if(!e)a=h;else{a=h;i=6}}else{i=e+16&-16;a=Yi(i)|0;f[h>>2]=a;f[h+8>>2]=i|-2147483648;f[h+4>>2]=e;i=6}if((i|0)==6)Od(a|0,d|0,e|0)|0;b[a+e>>0]=0;a=Tf(c,h,g)|0;if((b[h+11>>0]|0)>=0){u=j;return a|0}Em(f[h>>2]|0);u=j;return a|0}function sf(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+16|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);Em(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b)}Em(d);return}function tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=c+8|0;i=f[e+4>>2]|0;h=c+16|0;d=h;g=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[e>>2]|0)>>>0>g>>>0:0))){i=0;return i|0}e=b[(f[c>>2]|0)+g>>0]|0;g=Ij(g|0,d|0,1,0)|0;i=h;f[i>>2]=g;f[i+4>>2]=I;do if(e<<24>>24<0)if(tf(a,c)|0){d=a;d=tj(f[d>>2]|0,f[d+4>>2]|0,7)|0;i=I;h=a;f[h>>2]=d;f[h+4>>2]=i;d=d|e&127;e=i;break}else{i=0;return i|0}else{d=e&255;e=0}while(0);i=a;f[i>>2]=d;f[i+4>>2]=e;i=1;return i|0}function uf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=3084;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=rm()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=be(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function vf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;sk(e,c,d)|0;b[j>>0]=0;tl(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;Se(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function wf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a>>2]|0;if(!d){a=0;return a|0}e=f[c>>2]|0;if(!e){a=0;return a|0}g=f[e>>2]|0;Lf(d,g,(f[e+4>>2]|0)-g|0,0)|0;b[a+24>>0]=b[c+24>>0]|0;f[a+28>>2]=f[c+28>>2];b[a+32>>0]=b[c+32>>0]|0;e=c+40|0;d=f[e+4>>2]|0;g=a+40|0;f[g>>2]=f[e>>2];f[g+4>>2]=d;g=c+48|0;d=f[g+4>>2]|0;e=a+48|0;f[e>>2]=f[g>>2];f[e+4>>2]=d;f[a+56>>2]=f[c+56>>2];c=c+8|0;a=a+8|0;f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];a=1;return a|0}function xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){Kf(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;rj(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;tl(e+i|0,k)}u=l;return a|0}function yf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2220;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=2600;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Em(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b);Em(a);return}function zf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=ci(a,Na[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=lh(f[c>>2]|0,a)|0;d=d+1|0;if(!(Na[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function Af(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;b=Ib(a,b)|0;if(!b){c=0;return c|0}e=b+20|0;d=f[e>>2]|0;a=b+24|0;b=f[a>>2]|0;if((d|0)==(b|0)){c=0;return c|0}Yf(c,b-d|0,0);d=Lh(c,0)|0;c=f[e>>2]|0;Od(d|0,c|0,(f[a>>2]|0)-c|0)|0;c=1;return c|0}function Bf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(dl(a,f[c+8>>2]|0,g)|0)){if(dl(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else Ai(0,c,d,e);while(0);return}function Cf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function Df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+16|0;e=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;c=f[c+4>>2]|0;if(c>>>0>4294967279)Wl(a);if(c>>>0<11)b[a+11>>0]=c;else{i=c+16&-16;h=Yi(i)|0;f[a>>2]=h;f[a+8>>2]=i|-2147483648;f[a+4>>2]=c;a=h}wk(a,d,c)|0;b[e>>0]=0;tl(a+c|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=g;return}function Ef(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;if(!a){d=1;return d|0}j=d+8|0;k=f[j+4>>2]|0;i=d+16|0;g=i;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((k|0)>(g|0)|((k|0)==(g|0)?(f[j>>2]|0)>>>0>h>>>0:0))){k=0;return k|0}k=b[(f[d>>2]|0)+h>>0]|0;h=Ij(h|0,g|0,1,0)|0;j=i;f[j>>2]=h;f[j+4>>2]=I;switch(k<<24>>24){case 0:{k=Nb(a,c,d,e)|0;return k|0}case 1:{k=gc(a,d,e)|0;return k|0}default:{k=0;return k|0}}return 0}function Ff(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function Gf(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2220;e=a+48|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);f[a>>2]=2600;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Em(b);return}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;g=h;f[a>>2]=c;f[a+68>>2]=0;f[a+72>>2]=0;bd(g,c);e=a+4|0;i=f[g>>2]|0;f[g>>2]=0;d=f[e>>2]|0;f[e>>2]=i;if(d){Sf(d);Em(d);d=f[g>>2]|0;f[g>>2]=0;if(d|0){Sf(d);Em(d)}}else f[g>>2]=0;if(!(f[e>>2]|0)){i=0;u=h;return i|0}i=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0;b[g>>0]=0;Wd(a+56|0,i,g);i=1;u=h;return i|0}function If(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1024;c=a+16|0;d=f[c>>2]|0;f[c>>2]=0;if(!d)return;c=d+88|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a)}a=f[d+68>>2]|0;if(a|0){c=d+72|0;b=f[c>>2]|0;if((b|0)!=(a|0))f[c>>2]=b+(~((b+-4-a|0)>>>2)<<2);Em(a)}c=d+64|0;a=f[c>>2]|0;f[c>>2]=0;if(a|0){b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a)}Em(d);return}function Jf(a,b){a=a|0;b=b|0;if(!b)return;else{Jf(a,f[b>>2]|0);Jf(a,f[b+4>>2]|0);Pf(b+20|0,f[b+24>>2]|0);Em(b);return}}function Kf(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)Wl(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=Yi(k)|0;if(g|0)wk(j,l,g)|0;d=e-h-g|0;if(d|0)wk(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)Em(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function Lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){_e(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else zd(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Ij(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=Yi(32)|0,gj(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}e=Uh(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Xi(e|0,d|0,c|0,0)|0;if(!(Lf(i,0,g,I)|0)){i=0;return i|0}Jg(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function Nf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+32|0;i=h+20|0;j=h+16|0;g=h;e=b[a+24>>0]|0;f[g>>2]=f[674];f[g+4>>2]=f[675];f[g+8>>2]=f[676];f[g+12>>2]=f[677];f[j>>2]=c;f[i>>2]=f[j>>2];if(!($a(a,i,e,g)|0)){j=0;u=h;return j|0}id(d,g,g+(e<<24>>24<<2)|0);j=1;u=h;return j|0}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;g=e>>>0>1073741823?-1:e<<2;h=Bm(g)|0;Cf(h|0,0,g|0)|0;g=a+8|0;Ie(g,h,b,c);if((e|0)>=(d|0)){Cm(h);return 1}a=0-e|0;f=e;do{i=c+(f<<2)|0;Ie(g,i+(a<<2)|0,b+(f<<2)|0,i);f=f+e|0}while((f|0)<(d|0));Cm(h);return 1}function Pf(a,c){a=a|0;c=c|0;var d=0;if(!c)return;Pf(a,f[c>>2]|0);Pf(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)Em(f[d>>2]|0);if((b[a+11>>0]|0)<0)Em(f[a>>2]|0);Em(c);return}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(dl(a,b,0)|0))if((b|0)!=0?(e=fe(b,800,784,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Ua[f[(f[e>>2]|0)+28>>2]&7](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function Rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+32|0;g=h+8|0;e=h;if((d|0)==3){i=f[b+12>>2]|0;d=f[b+4>>2]|0;f[g>>2]=-1;f[g+4>>2]=-1;f[g+8>>2]=-1;f[g+12>>2]=-1;Zd(e,c,i,d,g);f[a>>2]=f[e>>2];u=h;return}else{f[a>>2]=0;u=h;return}}function Sf(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function Tf(a,c,d){a=a|0;c=c|0;d=d|0;a=Ib(a,c)|0;if(!a){d=0;return d|0}c=f[a+20>>2]|0;if(((f[a+24>>2]|0)-c|0)!=4){d=0;return d|0}a=c;a=h[a>>0]|h[a+1>>0]<<8|h[a+2>>0]<<16|h[a+3>>0]<<24;b[d>>0]=a;b[d+1>>0]=a>>8;b[d+2>>0]=a>>16;b[d+3>>0]=a>>24;d=1;return d|0}function Uf(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function Vf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=c+8|0;i=f[h+4>>2]|0;g=c+16|0;d=g;e=f[d>>2]|0;d=f[d+4>>2]|0;if(!((i|0)>(d|0)|((i|0)==(d|0)?(f[h>>2]|0)>>>0>e>>>0:0))){i=0;return i|0}h=b[(f[c>>2]|0)+e>>0]|0;i=Ij(e|0,d|0,1,0)|0;d=g;f[d>>2]=i;f[d+4>>2]=I;d=h&255;do if(d&128)if(Vf(a,c)|0){d=f[a>>2]<<7;f[a>>2]=d;d=d|h&127;break}else{i=0;return i|0}while(0);f[a>>2]=d;i=1;return i|0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=f[b+4>>2]|0;if(!d){e=0;return e|0}if((c|0)<=-1)ra(12658,12674,59,12771);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))ra(12781,12674,60,12771);e=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;a=f[d+40>>2]|0;b=f[d+44>>2]|0;if((a|0)==(b|0)){e=0;return e|0}else c=a;while(1){a=f[c>>2]|0;c=c+4|0;if((f[a+40>>2]|0)==(e|0)){c=9;break}if((c|0)==(b|0)){a=0;c=9;break}}if((c|0)==9)return a|0;return 0}function Xf(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;Em(c)}Em(b)}Em(a);return}function Yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;tl(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;tl(a+c|0,h);b[g>>0]=c;break}else xf(a,c-e|0,d)|0;while(0);u=j;return}function Zf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;i=j+4|0;f[h>>2]=c;c=Yi(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=24;d=c;e=10797;g=d+24|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[c+24>>0]=0;cg(Pb(a,h)|0,i,1);if((b[i+11>>0]|0)>=0){u=j;return}Em(f[i>>2]|0);u=j;return}function _f(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+12>>2]|0;if(b|0)Em(b);b=f[a>>2]|0;if(!b)return;Em(b);return}function $f(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=2600;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=a+8|0;b=f[d>>2]|0;if(!b){Em(a);return}e=a+12|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}Em(b);Em(a);return}function ag(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(wh(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Oa[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function bg(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=2600;b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}Em(b);return}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;nh(e,d&1);a=Pe(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}re(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function dg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(Km(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=ag(c,a)|0;Jm(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=ag(c,a)|0}while(0);return d|0}function eg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1612;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c){Em(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);Em(a);return}function fg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}j=(f[d>>2]|0)-c|0;h=j>>2;i=Yi(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Od(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;Em(c);return}function gg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1360;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c){Em(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);Em(a);return}function hg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=u;u=u+16|0;e=g;d=Yi(32)|0;f[e>>2]=d;f[e+8>>2]=-2147483616;f[e+4>>2]=26;c=d;h=10749;i=c+26|0;do{b[c>>0]=b[h>>0]|0;c=c+1|0;h=h+1|0}while((c|0)<(i|0));b[d+26>>0]=0;f[a>>2]=-1;Df(a+4|0,e);if((b[e+11>>0]|0)>=0){u=g;return}Em(f[e>>2]|0);u=g;return}function ig(a){a=a|0;var b=0,c=0;f[a>>2]=1612;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function jg(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Yl(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function kg(a){a=a|0;var b=0,c=0;f[a>>2]=1360;b=f[a+96>>2]|0;if(b|0)Em(b);b=f[a+84>>2]|0;if(b|0)Em(b);b=f[a+72>>2]|0;if(b|0)Em(b);b=f[a+60>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function lg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2280;b=a+84|0;c=a+4|0;d=c+80|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));f[b>>2]=-1;f[a+88>>2]=-1;f[a+92>>2]=-1;b=a+152|0;c=a+96|0;d=c+56|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));n[b>>2]=$(1.0);b=a+224|0;c=a+156|0;d=c+68|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(d|0));zi(b);return}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)Wl(a);g=Yi(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Od(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function ng(a,c,d){a=a|0;c=c|0;d=d|0;c=Nd(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=jg(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function og(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Oa[f[(f[g>>2]|0)+20>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function qg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2332;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2356;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Ld(a+40|0,b);a=1;return a|0}return 0}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;e=Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0;if((e|0)<=0){b=1;return b|0}d=a+36|0;c=a+48|0;a=0;while(1){g=f[(f[d>>2]|0)+(a<<2)>>2]|0;a=a+1|0;if(!(Oa[f[(f[g>>2]|0)+16>>2]&31](g,c,b)|0)){a=0;c=5;break}if((a|0)>=(e|0)){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function tg(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=zj(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+tg(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function ug(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}if(!(f[a+36>>2]|0)){a=0;return a|0}a=(f[a+72>>2]|0)!=-1;return a|0}function vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2424;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2404;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function wg(a){a=a|0;var c=0;if(!a)return;c=a+28|0;if((b[c+11>>0]|0)<0)Em(f[c>>2]|0);Jf(a+12|0,f[a+16>>2]|0);Pf(a,f[a+4>>2]|0);Em(a);return}function xg(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[13536+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=13624;e=5;break}}if((e|0)==2)if(!d)d=13624;else{a=13624;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return bm(d,f[c+20>>2]|0)|0}function yg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2332;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2356;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b)return;Em(b);return}function zg(a){a=a|0;if(!(f[a+64>>2]|0)){a=0;return a|0}if(!(f[a+68>>2]|0)){a=0;return a|0}if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}if(!(f[a+56>>2]|0)){a=0;return a|0}a=(f[a+92>>2]|0)!=-1;return a|0}function Ag(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2424;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}f[a+12>>2]=2404;b=f[a+32>>2]|0;if(b|0)Em(b);b=f[a+20>>2]|0;if(!b)return;Em(b);return}function Bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Yi(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=ge(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;Sf(a);Em(a);return}function Cg(a,b,c){a=a|0;b=b|0;c=c|0;switch(c<<24>>24){case 0:{c=Yi(20)|0;Mj(c);break}case 1:{c=Yi(24)|0;kk(c);break}case 2:{c=Yi(36)|0;cj(c);break}case 3:{c=Yi(28)|0;dk(c);break}default:c=0}f[a>>2]=c;return}function Dg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=hk(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return hk((_b(h,g,hk(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function Eg(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Pg(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function Fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Oi(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=il(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function Gg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2652;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+84>>2]|0;if(!b){Ed(a);Em(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Ed(a);Em(a);return}function Hg(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function Ig(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Bb(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){hi(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function Jg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((b|0)<=-1)ra(12835,12860,63,12943);d=f[a+96>>2]|0;if((((f[a+100>>2]|0)-d|0)/12|0|0)>(b|0)){a=d+(b*12|0)|0;jd(c,a,a+12|0);return 1}else ra(12948,12860,64,12943);return 0}function Lg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;hg(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Wh(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Em(f[c>>2]|0);u=e;return d|0}function Mg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2652;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);Em(b)}b=f[a+84>>2]|0;if(!b){Ed(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Ed(a);return}function Ng(a,b,c){a=a|0;b=b|0;c=c|0;if(!(ij(a,b,c)|0)){c=0;return c|0}b=f[b+4>>2]|0;if((c|0)<=-1)ra(12658,12674,67,12771);a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0))ra(12781,12674,68,12771);c=(f[(f[a+(c<<2)>>2]|0)+28>>2]|0)==9;return c|0}function Og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;Oc(g,a,c,d);d=a+24|0;f[d>>2]=f[g>>2];c=g+4|0;Wh(a+28|0,c)|0;if((b[c+11>>0]|0)>=0){u=e;return d|0}Em(f[c>>2]|0);u=e;return d|0}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else _e(a,b-g|0);a=a+24|0;h=a;h=Ij(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Qg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1668;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1192;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Rg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,i=0;e=h[a+12>>0]|0;g=a+8|0;b=f[g>>2]|0;if(b>>>0<4096?(d=a+4|0,c=f[d>>2]|0,(c|0)>0):0){i=f[a>>2]|0;a=c+-1|0;f[d>>2]=a;b=h[i+a>>0]|0|b<<8;f[g>>2]=b}d=b&255;a=0-e&255;e=X(b>>>8,a)|0;i=d>>>0>>0;f[g>>2]=i?e+d|0:b-a-e|0;return i|0}function Sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;if(c?!(tf(d,a)|0):0){a=0;return a|0}b[a+36>>0]=1;d=a+16|0;e=f[d>>2]|0;c=(f[a>>2]|0)+e|0;g=a+8|0;d=hk(f[g>>2]|0,f[g+4>>2]|0,e|0,f[d+4>>2]|0)|0;f[a+32>>2]=0;f[a+24>>2]=c;f[a+28>>2]=c+d;a=1;return a|0}function Tg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1416;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1192;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0;d=Yi(40)|0;f[d>>2]=-1;gj(d+8|0);Sa[f[(f[a>>2]|0)+16>>2]&7](a,d);c=b+88|0;b=f[c>>2]|0;f[c>>2]=d;if(!b)return 1;a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;Em(a)}Em(b);return 1}function Vg(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=968;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}b=f[a+4>>2]|0;if(!b){Em(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((c|b|0)<0){a=0;return a|0}d=b*3|0;if((b|0)>715827882){a=0;return a|0}od(a,d,2640);od(a+12|0,d,2636);fg(a+24|0,c);a=1;return a|0}function Xg(a){a=a|0;var b=0,c=0,d=0;b=f[a+8>>2]|0;c=f[a+12>>2]|0;if((b|0)==(c|0)){c=1;return c|0}a=a+32|0;while(1){d=f[b>>2]|0;b=b+4|0;if(!(Na[f[(f[d>>2]|0)+16>>2]&127](d,f[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 Yg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(dl(a,f[b+8>>2]|0,g)|0)Ff(0,b,c,d,e);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Zg(a){a=a|0;var b=0,c=0;f[a>>2]=1668;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function _g(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1724;Jm(a+108|0);f[a>>2]=1192;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function $g(a){a=a|0;var b=0,c=0;f[a>>2]=2092;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Cm(b);f[a>>2]=1132;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){If(a);Em(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);If(a);Em(a);return}function ah(a,b){a=a|0;b=b|0;if(!(He(a+8|0,b)|0)){a=0;return a|0}a=ed(a+88|0,b)|0;return a|0}function bh(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;Yf(a,c,0);return}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;e=a;if((c|0)==(a|0)){b=0;return b|0}d=c-a>>2;c=0;while(1){a=f[e+(c<<2)>>2]|0;if((f[a+60>>2]|0)==(b|0)){c=5;break}c=c+1|0;if(c>>>0>=d>>>0){a=0;c=5;break}}if((c|0)==5)return a|0;return 0}function dh(a){a=a|0;var b=0,c=0;f[a>>2]=1416;b=f[a+76>>2]|0;if(b|0)Em(b);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);Em(c);return}function eh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1472;Jm(a+108|0);f[a>>2]=1192;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function fh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=968;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);Em(d);return}function gh(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Cf(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Qk(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Qk(a,f,e)}u=g;return}function hh(a,b){a=a|0;b=b|0;var c=0,d=0;c=f[a+12>>2]|0;a=f[a+8>>2]|0;d=a;if((c|0)==(a|0)){b=-1;return b|0}c=c-a>>2;a=0;while(1){if((f[(f[d+(a<<2)>>2]|0)+60>>2]|0)==(b|0)){c=5;break}a=a+1|0;if(a>>>0>=c>>>0){a=-1;c=5;break}}if((c|0)==5)return a|0;return 0}function ih(a){a=a|0;var b=0,c=0;f[a>>2]=2092;c=a+28|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)Cm(b);f[a>>2]=1132;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){If(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);If(a);return}function jh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)ra(12658,12674,67,12771);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else ra(12781,12674,68,12771);return 0}function kh(a){a=a|0;var b=0,c=0;f[a>>2]=1724;Jm(a+108|0);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function lh(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function mh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(dl(a,f[b+8>>2]|0,0)|0)Hg(0,b,c,d);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+28>>2]&7](a,b,c,d)}return}function nh(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;bh(d);ef(a,d,b);ok(d);u=c;return}function oh(a){a=a|0;var b=0,c=0;f[a>>2]=1472;Jm(a+108|0);f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((vk(Aa(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function qh(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function rh(a,b){a=a|0;b=b|0;var c=0;Hi(a);f[a>>2]=1072;c=a+36|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;c=f[b>>2]|0;f[b>>2]=0;f[a+60>>2]=c;return}function sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function th(a,b,c){a=a|0;b=b|0;c=c|0;if(!(Mf(f[a+8>>2]|0,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0)){a=0;return a|0}a=Oa[f[(f[a>>2]|0)+32>>2]&31](a,b,c)|0;return a|0}function uh(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=Ud(f[(f[a+36>>2]|0)+(c<<2)>>2]|0)|0;return a|0}function vh(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function wh(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function xh(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function yh(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;if((b|0)!=0&(c|0)!=0){xb(a,b,c);return}else{Fb(a,0,0);return}}function Ah(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;id(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function Bh(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;za(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;za(12);return -1}return b|0}function Ch(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function Dh(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function Eh(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Fh(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Gh(a,c){a=a|0;c=c|0;var d=0,e=0;d=u;u=u+32|0;e=d;kf(e,c);a=f[e+16>>2]|0;c=e+4|0;if((b[c+11>>0]|0)>=0){u=d;return a|0}Em(f[c>>2]|0);u=d;return a|0}function Hh(a,b){a=a|0;b=b|0;if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,b)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,b)|0)){a=0;return a|0}a=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;return a|0}function Ih(a,c,d){a=a|0;c=c|0;d=d|0;if(!(ij(a,c,d)|0)){a=0;return a|0}d=f[a+8>>2]|0;if((b[d+24>>0]|0)!=3){a=0;return a|0}a=(f[d+28>>2]|0)==9;return a|0}function Jh(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Kh(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(dl(a,f[b+8>>2]|0,g)|0)Ff(0,b,c,d,e);return}function Lh(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a+11>>0]|0;e=d<<24>>24<0;if(e)d=f[a+4>>2]|0;else d=d&255;if(d>>>0<=c>>>0)Wl(a);if(e)a=f[a>>2]|0;return a+c|0}function Mh(a){a=a|0;var b=0,c=0;f[a>>2]=1132;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){If(a);Em(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);If(a);Em(a);return}function Nh(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1192;b=f[a+32>>2]|0;if(!b){Em(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function Oh(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;return Mb(a,b,c)|0}function Qh(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Wd(a+20|0,e,d);u=c;return}function Rh(a,c){a=a|0;c=c|0;if(((c|0)!=0?(f[c+56>>2]|0)==0:0)?(b[c+24>>0]|0)==3:0){f[a+60>>2]=c;c=1}else c=0;return c|0}function Sh(){var a=0,b=0;a=Yi(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Th(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Wd(a+20|0,e,d);u=c;return}function Uh(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 Vh(a){a=a|0;f[a>>2]=2380;df(a+8|0);Em(a);return}function Wh(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;vf(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Yh(a){a=a|0;var c=0,d=0;b[a+36>>0]=0;d=Ij(f[a+32>>2]|0,0,7,0)|0;d=zj(d|0,I|0,3)|0;a=a+16|0;c=a;c=Ij(d|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;f[a>>2]=c;f[a+4>>2]=I;return}function Zh(a){a=a|0;var b=0,c=0;f[a>>2]=1132;c=a+20|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){If(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);If(a);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;ra(4599,4605,76,4758);return 0}function $h(a,b){a=a|0;b=b|0;var c=0,d=0;d=og(b)|0;c=Yi(d+13|0)|0;f[c>>2]=d;f[c+4>>2]=d;f[c+8>>2]=0;c=zl(c)|0;Od(c|0,b|0,d+1|0)|0;f[a>>2]=c;return}function ai(a){a=a|0;f[a>>2]=2380;df(a+8|0);return}function bi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f[b+44>>2]=e;Hb(a,b,c,d,e);return}function ci(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function di(a){a=a|0;var b=0,c=0;f[a>>2]=1192;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function ei(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(dl(a,f[b+8>>2]|0,0)|0)Hg(0,b,c,d);return}function fi(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function gi(a){a=a|0;var b=0;f[a>>2]=2600;b=a+4|0;f[a+40>>2]=0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;f[b+16>>2]=0;f[b+20>>2]=0;f[b+24>>2]=0;f[b+28>>2]=0;d[b+32>>1]=0;return}function hi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Od(a,c,d)|0;return a|0}function ii(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function ji(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=940;b=f[a+8>>2]|0;if(!b){Em(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b);Em(a);return}function ki(a,b){a=a|0;b=b|0;var c=0;if((b|0)<=-1)ra(12658,12674,59,12771);c=f[a+8>>2]|0;if(((f[a+12>>2]|0)-c>>2|0)>(b|0))return f[c+(b<<2)>>2]|0;else ra(12781,12674,60,12771);return 0}function li(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<31>>31^e>>>1;d=d+1|0}while((d|0)!=(b|0));return}function mi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[13518+(a&15)>>0]|0|e;a=zj(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function ni(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Oa[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function oi(){var a=0,b=0;b=Vi()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)zk(f[a+12>>2]|0);zk(Nl()|0)}function pi(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function qi(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);Em(b)}Em(a);return}function ri(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function si(a){a=a|0;var b=0,c=0;if(im(a)|0?(b=Fl(f[a>>2]|0)|0,c=b+8|0,a=f[c>>2]|0,f[c>>2]=a+-1,(a+-1|0)<0):0)Em(b);return}function ti(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function ui(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;d[a+38>>1]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;b[c+28>>0]=0;return}function vi(a,b){a=a|0;b=b|0;return Na[f[(f[a>>2]|0)+48>>2]&127](a,(f[b+4>>2]|0)-(f[b>>2]|0)>>2)|0}function wi(a){a=a|0;var b=0,c=0;f[a>>2]=940;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);Em(c);return}function xi(a,b){a=a|0;b=b|0;return He(a+8|0,b)|0}function yi(a,b,c){a=a|0;b=b|0;c=c|0;ob(a,b,c);return}function zi(a){a=a|0;ui(a);ui(a+40|0);cm(a+80|0);ui(a+96|0);f[a+136>>2]=0;f[a+140>>2]=0;f[a+144>>2]=0;return}function Ai(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function Bi(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(9504,5065,61,9515);return 0}function Ci(a){a=a|0;var b=0;f[a>>2]=2356;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function Di(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=zj(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Ei(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(9504,9099,65,9515);return 0}function Fi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Od(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Gi(){var a=0,b=0;a=Yi(24)|0;f[a>>2]=940;f[a+4>>2]=-1;b=a+8|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;return a|0}function Hi(a){a=a|0;f[a>>2]=968;a=a+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function Ii(a){a=a|0;var c=0;Eh(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Ji(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a+8>>2]|0;if(b|0){c=a+12|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;Em(b)}Em(a);return}function Ki(a){a=a|0;var b=0;f[a>>2]=2404;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b){Em(a);return}Em(b);Em(a);return}function Li(a,b,c,e){a=a|0;b=b|0;c=c|0;e=e|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;d[a+38>>1]=e;e=a+16|0;f[e>>2]=0;f[e+4>>2]=0;return}function Mi(a,b,c){a=a|0;b=$(b);c=c|0;var d=Ka;if((c|0)<1){a=0;return a|0}d=$($(1.0)/$(c|0));n[a+4>>2]=d;n[a>>2]=b;a=1;return a|0}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;return _c(a,b,c)|0}function Oi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;_b(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Pi(a){a=a|0;f[a>>2]=1924;Jm(a+88|0);Em(a);return}function Qi(a){a=a|0;var b=0;f[a>>2]=2356;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b)return;Em(b);return}function Ri(a){a=a|0;jl(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function Si(a){a=a|0;Dj(a);f[a>>2]=2652;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Ti(a){a=a|0;f[a>>2]=2008;Jm(a+88|0);Em(a);return}function Ui(a){a=a|0;f[a>>2]=1924;Jm(a+88|0);return}function Vi(){var a=0,b=0;a=u;u=u+16|0;if(!(Ha(16568,3)|0)){b=Fa(f[4143]|0)|0;u=a;return b|0}else xj(15706,a);return 0}function Wi(a){a=a|0;var b=0;f[a>>2]=2404;b=f[a+20>>2]|0;if(b|0)Em(b);b=f[a+8>>2]|0;if(!b)return;Em(b);return}function Xi(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=Xh(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function Yi(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0)break;a=Hl()|0;if(!a){a=0;break}Qa[a&3]()}return a|0}function Zi(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=Hm(f[a+60>>2]|0)|0;f[c>>2]=a;a=vk(Ca(6,c|0)|0)|0;u=b;return a|0}function _i(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Mc(b,c,d)|0}function $i(a){a=a|0;var b=0;b=u;u=u+16|0;sb(a);if(!(Ia(f[4143]|0,0)|0)){u=b;return}else xj(15805,b)}function aj(a){a=a|0;f[a>>2]=2008;Jm(a+88|0);return}function bj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _c(b,c,d)|0}function cj(a){a=a|0;kk(a);f[a>>2]=2092;f[a+24>>2]=-1;f[a+28>>2]=0;n[a+32>>2]=$(0.0);return}function dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ni(b,c,d)|0}function ej(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=b;b=a+8|0;f[b>>2]=c;f[b+4>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=uf(a,b,c,g)|0;u=e;return d|0}function gj(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function hj(a,b,c){a=a|0;b=b|0;c=c|0;return 1}function ij(a,b,c){a=a|0;b=b|0;c=c|0;return jh(a,b,c)|0}function jj(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 Pa[a&15](b|0,c|0,d|0,e|0,f|0,g|0)|0}function kj(a,b,c){a=a|0;b=b|0;c=c|0;return ci(b,c)|0}function lj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ud(b,c,d)|0}function mj(){var a=0;a=u;u=u+16|0;if(!(Ga(16572,83)|0)){u=a;return}else xj(15755,a)}function nj(a){a=a|0;vc(a);Em(a);return}function oj(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 pj(a){a=a|0;if(!(f[a+44>>2]|0))return 0;else return Ma[f[(f[a>>2]|0)+48>>2]&127](a)|0;return 0}function qj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Nf(b,c,d)|0}function rj(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Cf(a|0,(dm(c)|0)&255|0,b|0)|0;return a|0}function sj(a){a=a|0;return 4}function tj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Na[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function vj(a){a=a|0;var c=0;if(!a)return;c=a+4|0;if((b[c+11>>0]|0)<0)Em(f[c>>2]|0);Em(a);return}function wj(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Na[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function xj(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[678]|0;be(b,a,c)|0;dg(10,b)|0;Da()}function yj(a,b){a=a|0;b=b|0;a=f[a+48>>2]|0;return Na[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function zj(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Aj(a,b,c){a=a|0;b=b|0;c=c|0;return Lg(a,b,c)|0}function Bj(a){a=a|0;mc(a);Em(a);return}function Cj(a){a=a|0;return 5}function Dj(a){a=a|0;var b=0;f[a>>2]=2680;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Ej(a){a=a|0;return 6}function Fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Kg(b,c,d)|0}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Hj(){}function Ij(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Jj(a,b){a=a|0;b=b|0;if(!b)b=0;else b=se(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Kj(a,b,c){a=a|0;b=b|0;c=c|0;return kj(a,b,c)|0}function Lj(a,b,c){a=a|0;b=b|0;c=c|0;return ld(b,c)|0}function Mj(a){a=a|0;f[a>>2]=1024;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;f[a+16>>2]=0;return}function Nj(a,b){a=a|0;b=b|0;Zf(a,b);return}function Oj(a){a=a|0;a=a+4|0;if((b[a+11>>0]|0)<0){a=f[a>>2]|0;return a|0}else return a|0;return 0}function Pj(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va[a&3](b|0,c|0,d|0,e|0,f|0)}function Qj(a,b,c){a=a|0;b=b|0;c=c|0;return Og(a,b,c)|0}function Rj(a,b,c){a=a|0;b=b|0;c=c|0;return bf(a,b,c)|0}function Sj(a,b,c){a=a|0;b=b|0;c=c|0;return qf(a,b,c)|0}function Tj(a,b,c){a=a|0;b=b|0;c=c|0;return Qe(a,b,c)|0}function Uj(a,b,c){a=a|0;b=b|0;c=c|0;return +(+nf(a,b,c))}function Vj(a){a=a|0;a=f[a+48>>2]|0;return Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Wj(a,b){a=a|0;b=b|0;return Na[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function Xj(a,b){a=a|0;b=b|0;return Na[f[(f[a>>2]|0)+56>>2]&127](a,b)|0}function Yj(a){a=a|0;a=f[a+48>>2]|0;return Ma[f[(f[a>>2]|0)+24>>2]&127](a)|0}function Zj(a,b,c){a=a|0;b=b|0;c=c|0;return Wf(a,b,c)|0}function _j(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return 1}function $j(a,b,c){a=a|0;b=b|0;c=c|0;return qk(b,c)|0}function ak(a){a=a|0;a=f[a+48>>2]|0;return Ma[f[(f[a>>2]|0)+36>>2]&127](a)|0}function bk(a,b,c){a=a|0;b=b|0;c=c|0;return rf(a,b,c)|0}function ck(a,b,c){a=a|0;b=b|0;c=c|0;return of(a,b,c)|0}function dk(a){a=a|0;kk(a);f[a>>2]=1808;f[a+24>>2]=-1;return}function ek(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function fk(a,b,c){a=a|0;b=b|0;c=c|0;return ue(b,c)|0}function gk(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function hk(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 (I=d,a-c>>>0|0)|0}function ik(){var a=0;a=Yi(40)|0;f[a>>2]=-1;gj(a+8|0);return a|0}function jk(){var a=0;a=Yi(8)|0;f[a>>2]=912;f[a+4>>2]=-1;return a|0}function kk(a){a=a|0;Mj(a);f[a>>2]=1132;f[a+20>>2]=0;return}function lk(a,b){a=a|0;b=b|0;Nj(a,b);return}function mk(a,b){a=a|0;b=b|0;return $(n[(f[a+8>>2]|0)+(b<<2)>>2])}function nk(a,b){a=a|0;b=b|0;return Gh(a,b)|0}function ok(a){a=a|0;if((b[a+11>>0]|0)<0)Em(f[a>>2]|0);return}function pk(a){a=a|0;if(!a)return;Ra[f[(f[a>>2]|0)+4>>2]&127](a);return}function qk(a,b){a=a|0;b=b|0;return ch(a,b)|0}function rk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ua[a&7](b|0,c|0,d|0,e|0)}function sk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)hi(a|0,b|0,c|0)|0;return a|0}function tk(a){a=a|0;var b=0;b=a+60|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function uk(a,b,c){a=a|0;b=b|0;c=c|0;return ki(b,c)|0}function vk(a){a=a|0;var b=0;if(a>>>0>4294963200){b=rm()|0;f[b>>2]=0-a;a=-1}return a|0}function wk(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Od(a|0,b|0,c|0)|0;return a|0}function xk(a,b){a=a|0;b=b|0;return -1}function yk(a){a=a|0;return 3}function zk(a){a=a|0;var b=0;b=u;u=u+16|0;Qa[a&3]();xj(15858,b)}function Ak(a){a=a|0;if(!a)a=0;else a=(fe(a,800,888,0)|0)!=0;return a&1|0}function Bk(a){a=a|0;Be(a);Em(a);return}function Ck(a){a=a|0;Lk(a);f[a>>2]=2220;f[a+48>>2]=0;return}function Dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa[a&31](b|0,c|0,d|0)|0}function Ek(a,b,c){a=a|0;b=b|0;c=c|0;ej(a,b,c);return}function Fk(a,b){a=a|0;b=b|0;f[a>>2]=3688;$h(a+4|0,b);return}function Gk(a){a=a|0;if(!a)return;Jm(a+24|0);Em(a);return}function Hk(a,b){a=a|0;b=b|0;return f[(f[a+4>>2]|0)+(b<<2)>>2]|0}function Ik(){var a=0;a=Yi(64)|0;Eh(a);return a|0}function Jk(a,b){a=a|0;b=b|0;return $(Pk(a,b))}function Kk(a){a=a|0;return f[a+8>>2]|0}function Lk(a){a=a|0;gi(a);f[a>>2]=2160;f[a+44>>2]=0;return}function Mk(a){a=a|0;if(!a)return;lf(a);Em(a);return}function Nk(a,b){a=a|0;b=b|0;return ul(a,b)|0}function Ok(a){a=a|0;return b[(f[a+8>>2]|0)+24>>0]|0}function Pk(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function Qk(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))Te(b,c,a)|0;return}function Rk(a){a=a|0;return (f[a+8>>2]|0)-(f[a+4>>2]|0)>>2|0}function Sk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&7](b|0,c|0,d|0)}function Tk(){var a=0;a=Yi(96)|0;Ii(a);return a|0}function Uk(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Vk(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Wk(a,b){a=a|0;b=b|0;if(!a)a=0;else a=ff(a,b,0)|0;return a|0}function Xk(a){a=a|0;var b=0;b=(Am()|0)+188|0;return xg(a,f[b>>2]|0)|0}function Yk(){var a=0;a=Yi(12)|0;ll(a);return a|0}function Zk(){var a=0;a=Yi(40)|0;ui(a);return a|0}function _k(a,b){a=a|0;b=b|0;return 1}function $k(a,b){a=a|0;b=b|0;return gl(a,b)|0}function al(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function bl(a){a=a|0;If(a);Em(a);return}function cl(a){a=a|0;n[a>>2]=$(1.0);n[a+4>>2]=$(1.0);return}function dl(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function el(a,b){a=a|0;b=b|0;var c=0;c=ql(a|0)|0;return ((b|0)==0?a:c)|0}function fl(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function gl(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function hl(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function il(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return _b(a,b,c,d,0)|0}function jl(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function kl(){var a=0;a=Yi(84)|0;Dj(a);return a|0}function ll(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function ml(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function nl(a){a=a|0;f[a>>2]=3688;si(a+4|0);return}function ol(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a&127](b|0,c|0)|0}function pl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function ql(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function rl(a){a=a|0;Lk(a);f[a>>2]=2516;return}function sl(){var a=0;a=Yi(1)|0;Jm(a);return a|0}function tl(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function ul(a,b){a=a|0;b=b|0;return f[b+4>>2]|0}function vl(a){a=a|0;return $(n[a+20>>2])}function wl(a){a=a|0;return f[a+4>>2]|0}function xl(a){a=a|0;if(!a)return;Em(a);return}function yl(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function zl(a){a=a|0;return a+12|0}function Al(a){a=a|0;return f[a+88>>2]|0}function Bl(a,b,c){a=a|0;b=b|0;c=c|0;Sa[a&7](b|0,c|0)}function Cl(){var a=0;a=Yi(40)|0;Ri(a);return a|0}function Dl(){var a=0;a=Yi(108)|0;Si(a);return a|0}function El(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function Fl(a){a=a|0;return a+-12|0}function Gl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function Hl(){var a=0;a=f[4144]|0;f[4144]=a+0;return a|0}function Il(a){a=a|0;return gm(a+4|0)|0}function Jl(a){a=a|0;return f[a+56>>2]|0}function Kl(a){a=a|0;Ed(a);Em(a);return}function Ll(a){a=a|0;Jm(a);Em(a);return}function Ml(a){a=a|0;return b[a+24>>0]|0}function Nl(){var a=0;a=f[898]|0;f[898]=a+0;return a|0}function Ol(a,b){a=a|0;b=b|0;return 0}function Pl(a){a=a|0;return f[a+40>>2]|0}function Ql(a){a=a|0;return f[a+48>>2]|0}function Rl(a,b){a=a|0;b=b|0;return Ma[a&127](b|0)|0}function Sl(a){a=a|0;return f[a+60>>2]|0}function Tl(a){a=a|0;return f[a+28>>2]|0}function Ul(a){a=a|0;ta(a|0)|0;oi()}function Vl(a){a=a|0;nl(a);Em(a);return}function Wl(a){a=a|0;Da()}function Xl(a,b){a=a|0;b=b|0;u=a;v=b}function Yl(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Zl(a){a=a|0;return (f[a>>2]|0)==0|0}function _l(a){a=a|0;return f[a+80>>2]|0}function $l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function am(a,b){a=a|0;b=b|0;Ra[a&127](b|0)}function bm(a,b){a=a|0;b=b|0;return Jj(a,b)|0}function cm(a){a=a|0;b[a+12>>0]=0;return}function dm(a){a=a|0;return a&255|0}function em(a){a=a|0;f[a>>2]=0;return}function fm(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function gm(a){a=a|0;return f[a>>2]|0}function hm(a){a=a|0;return 2}function im(a){a=a|0;return 1}function jm(a,b){a=+a;b=b|0;return +(+tg(a,b))}function km(){return 3}function lm(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function mm(){return -4}function nm(){return 4}function om(){return -3}function pm(){return 1}function qm(){return 2}function rm(){return (Am()|0)+64|0}function sm(){return -5}function tm(a,b){a=a|0;b=b|0;aa(1);return 0}function um(a){a=a|0;Qa[a&3]()}function vm(){return -2}function wm(){va()}function xm(){return -1}function ym(a,b){a=a|0;b=b|0;aa(6)}function zm(){return 0}function Am(){return Om()|0}function Bm(a){a=a|0;return Yi(a)|0}function Cm(a){a=a|0;Em(a);return}function Dm(a){a=a|0;u=a}function Em(a){a=a|0;sb(a);return}function Fm(a){a=a|0;I=a}function Gm(){return 16504}function Hm(a){a=a|0;return a|0}function Im(a){a=a|0;aa(0);return 0}function Jm(a){a=a|0;return}function Km(a){a=a|0;return 0}function Lm(){return I|0}function Mm(){return u|0}function Nm(a){a=a|0;aa(5)}function Om(){return 2840}function Pm(){aa(4)} +function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[4002]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=16048+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[4002]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[4004]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=16048+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[4007]|0;b=l>>>3;c=16048+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[4004]=g;f[4007]=e;w=h;u=x;return w|0}i=f[4003]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[16312+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=16312+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[4003]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[4007]|0;b=l>>>3;c=16048+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[4004]=j;f[4007]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[4003]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[16312+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[16312+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[4004]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=16312+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=16048+(b<<1<<2)|0;a=f[4002]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=16312+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[4004]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[4007]|0;if(a>>>0>15){w=b+m|0;f[4007]=w;f[4004]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[4004]=0;f[4007]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[4005]|0;if(h>>>0>m>>>0){t=h-m|0;f[4005]=t;w=f[4008]|0;v=w+m|0;f[4008]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[4120]|0)){f[4122]=4096;f[4121]=4096;f[4123]=-1;f[4124]=-1;f[4125]=0;f[4113]=0;a=n&-16^1431655768;f[n>>2]=a;f[4120]=a;a=4096}else a=f[4122]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[4112]|0;if(a|0?(l=f[4110]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[4113]&4)){c=f[4008]|0;c:do if(c){e=16456;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=Bh(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=Bh(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[4121]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[4110]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[4112]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=Bh(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[4122]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((Bh(a|0)|0)==(-1|0)){Bh(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[4113]=f[4113]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=Bh(k|0)|0,q=Bh(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[4110]|0)+g|0;f[4110]=b;if(b>>>0>(f[4111]|0)>>>0)f[4111]=b;j=f[4008]|0;do if(j){e=16456;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[4005]|0)+(g-w)|0;f[4008]=v;f[4005]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[4009]=f[4124];break}if(h>>>0<(f[4006]|0)>>>0)f[4006]=h;c=h+g|0;a=16456;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[4007]|0)){w=(f[4004]|0)+i|0;f[4004]=w;f[4007]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[4002]=f[4002]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=16312+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[4003]=f[4003]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=16048+(b<<1<<2)|0;a=f[4002]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=16312+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[4003]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[4005]|0)+i|0;f[4005]=w;f[4008]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=16456;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[4008]=v;f[4005]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[4009]=f[4124];c=a+4|0;f[c>>2]=27;f[b>>2]=f[4114];f[b+4>>2]=f[4115];f[b+8>>2]=f[4116];f[b+12>>2]=f[4117];f[4114]=h;f[4115]=g;f[4117]=0;f[4116]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=16048+(b<<1<<2)|0;a=f[4002]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=16312+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[4003]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[4006]|0;if((w|0)==0|h>>>0>>0)f[4006]=h;f[4114]=h;f[4115]=g;f[4117]=0;f[4011]=f[4120];f[4010]=-1;b=0;do{w=16048+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[4008]=v;f[4005]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[4009]=f[4124]}while(0);b=f[4005]|0;if(b>>>0>m>>>0){t=b-m|0;f[4005]=t;w=f[4008]|0;v=w+m|0;f[4008]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=rm()|0;f[w>>2]=12;w=0;u=x;return w|0}function Ya(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=u;u=u+80|0;Z=fa+56|0;ca=fa+40|0;da=fa+16|0;aa=fa+4|0;I=fa+36|0;U=fa;f[ca>>2]=0;ea=ca+4|0;f[ea>>2]=0;f[ca+8>>2]=0;f[da>>2]=0;f[da+4>>2]=0;f[da+8>>2]=0;f[da+12>>2]=0;n[da+16>>2]=$(1.0);f[aa>>2]=0;ba=aa+4|0;f[ba>>2]=0;f[aa+8>>2]=0;J=(f[a+212>>2]|0)==(f[a+216>>2]|0);_=a+120|0;S=f[a+124>>2]|0;a:do if((c|0)>0){R=a+224|0;H=a+396|0;K=a+392|0;x=a+8|0;E=ca+8|0;Q=a+36|0;C=a+40|0;P=c+-1|0;A=a+420|0;B=a+408|0;D=da+4|0;z=a+380|0;F=aa+8|0;w=0;while(1){h=w+1|0;d=f[H>>2]|0;b:do if((d|0)==-1){f[K>>2]=7;T=92}else{t=(f[A>>2]|0)+(d<<2)|0;v=f[t>>2]|0;d=v+-1|0;f[t>>2]=d;if((v|0)<1){d=-1;T=172;break a}d=f[(f[(f[B>>2]|0)+((f[H>>2]|0)*12|0)>>2]|0)+(d<<2)>>2]|0;e=f[2488+(d<<2)>>2]|0;f[K>>2]=e;if(!d){d=f[ea>>2]|0;if((f[ca>>2]|0)==(d|0)){d=-1;T=172;break a}v=d+-4|0;o=f[v>>2]|0;t=f[x>>2]|0;m=(o|0)<0;e=o+1|0;if(!m?(M=((e|0)%3|0|0)==0?o+-2|0:e,(M|0)>=0):0)s=f[(f[t>>2]|0)+(M<<2)>>2]|0;else s=-1073741824;q=f[t+24>>2]|0;i=f[q+(s<<2)>>2]|0;e=i+1|0;r=q;if((i|0)>=0)i=((e|0)%3|0|0)==0?i+-2|0:e;p=w*3|0;j=p+1|0;k=f[t+12>>2]|0;f[k+(o<<2)>>2]=j;f[k+(j<<2)>>2]=o;l=p+2|0;f[k+(i<<2)>>2]=l;f[k+(l<<2)>>2]=i;k=f[t>>2]|0;f[k+(p<<2)>>2]=s;e=i+1|0;if((i|0)>=0?(N=((e|0)%3|0|0)==0?i+-2|0:e,(N|0)>=0):0)e=f[k+(N<<2)>>2]|0;else e=-1073741824;f[k+(j<<2)>>2]=e;if(!m?(L=(((o>>>0)%3|0|0)==0?2:-1)+o|0,(L|0)>=0):0){e=f[k+(L<<2)>>2]|0;f[k+(l<<2)>>2]=e;if((e|0)!=-1073741824){i=l;e=q+(e<<2)|0;T=22}}else{i=-1073741824;e=k+(l<<2)|0;T=22}if((T|0)==22){T=0;f[e>>2]=i}if(((f[t+28>>2]|0)-r>>2|0)>(S|0)){d=-1;T=172;break a}t=(f[_>>2]|0)+(s>>>5<<2)|0;f[t>>2]=f[t>>2]&~(1<<(s&31));f[v>>2]=p}else{i=(d|0)==3;switch(e|0){case 7:{T=92;break b}case 3:case 5:{d=f[ea>>2]|0;if((f[ca>>2]|0)==(d|0)){d=-1;T=172;break a}m=f[d+-4>>2]|0;p=w*3|0;l=i?p:p+2|0;o=(i&1)+p|0;j=(i?2:1)+p|0;v=f[x>>2]|0;i=f[v+12>>2]|0;f[i+(j<<2)>>2]=m;f[i+(m<<2)>>2]=j;i=v+24|0;e=v+28|0;d=f[e>>2]|0;if((d|0)==(f[v+32>>2]|0)){hf(i,2320);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}d=(d-(f[i>>2]|0)>>2)+-1|0;i=f[x>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=d;if((d|0)!=-1073741824)f[(f[i+24>>2]|0)+(d<<2)>>2]=j;if((m|0)>=0){d=(((m>>>0)%3|0|0)==0?2:-1)+m|0;if((d|0)>=0){d=f[k+(d<<2)>>2]|0;f[k+(l<<2)>>2]=d;if((d|0)!=-1073741824){e=l;d=(f[i+24>>2]|0)+(d<<2)|0;T=38}}else{e=-1073741824;d=k+(l<<2)|0;T=38}if((T|0)==38)f[d>>2]=e;d=m+1|0;d=((d|0)%3|0|0)==0?m+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[k+(d<<2)>>2]|0}else{f[k+(l<<2)>>2]=-1073741824;d=-1073741824}f[k+(o<<2)>>2]=d;T=f[ea>>2]|0;f[T+-4>>2]=p;f[I>>2]=f[T+-4>>2];f[Z>>2]=f[I>>2];ec(R,Z);T=110;break b}case 1:break;default:{d=-1;T=172;break a}}e=f[ca>>2]|0;d=f[ea>>2]|0;if((e|0)==(d|0)){d=-1;T=172;break a}o=d+-4|0;v=f[o>>2]|0;f[ea>>2]=o;l=f[D>>2]|0;c:do if(l){k=l+-1|0;j=(k&l|0)==0;if(!j)if(w>>>0>>0)m=w;else m=(w>>>0)%(l>>>0)|0;else m=k&w;i=f[(f[da>>2]|0)+(m<<2)>>2]|0;if((i|0)!=0?(G=f[i>>2]|0,(G|0)!=0):0){d:do if(j){i=G;while(1){t=f[i+4>>2]|0;j=(t|0)==(w|0);if(!(j|(t&k|0)==(m|0))){d=o;break c}if(j?(f[i+8>>2]|0)==(w|0):0)break d;i=f[i>>2]|0;if(!i){d=o;break c}}}else{i=G;while(1){j=f[i+4>>2]|0;if((j|0)==(w|0)){if((f[i+8>>2]|0)==(w|0))break d}else{if(j>>>0>=l>>>0)j=(j>>>0)%(l>>>0)|0;if((j|0)!=(m|0)){d=o;break c}}i=f[i>>2]|0;if(!i){d=o;break c}}}while(0);i=i+12|0;if((o|0)==(f[E>>2]|0)){hf(ca,i);e=f[ca>>2]|0;d=f[ea>>2]|0;break}else{f[o>>2]=f[i>>2];f[ea>>2]=d;break}}else d=o}else d=o;while(0);if((e|0)==(d|0)){d=-1;T=172;break a}i=f[d+-4>>2]|0;t=w*3|0;m=t+2|0;q=f[x>>2]|0;s=f[q+12>>2]|0;f[s+(i<<2)>>2]=m;f[s+(m<<2)>>2]=i;l=t+1|0;f[s+(v<<2)>>2]=l;f[s+(l<<2)>>2]=v;if((i|0)>=0){e=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((e|0)<0)k=-1073741824;else k=f[(f[q>>2]|0)+(e<<2)>>2]|0;j=f[q>>2]|0;f[j+(t<<2)>>2]=k;e=i+1|0;e=((e|0)%3|0|0)==0?i+-2|0:e;if((e|0)<0){o=j;p=q;e=-1073741824;r=k}else{o=j;p=q;e=f[j+(e<<2)>>2]|0;r=k}}else{o=f[q>>2]|0;f[o+(t<<2)>>2]=-1073741824;p=q;e=-1073741824;r=-1073741824}f[o+(l<<2)>>2]=e;if((v|0)>=0){e=(((v>>>0)%3|0|0)==0?2:-1)+v|0;if((e|0)>=0){e=f[o+(e<<2)>>2]|0;f[o+(m<<2)>>2]=e;if((e|0)!=-1073741824){i=m;e=(f[q+24>>2]|0)+(e<<2)|0;T=77}}else{i=-1073741824;e=o+(m<<2)|0;T=77}if((T|0)==77){T=0;f[e>>2]=i}i=v+1|0;i=((i|0)%3|0|0)==0?v+-2|0:i;if((i|0)<0){e=i;i=-1073741824}else{e=i;i=f[o+(i<<2)>>2]|0}}else{f[o+(m<<2)>>2]=-1073741824;e=v;i=-1073741824}f[Z>>2]=i;v=f[z>>2]|0;k=v+(r<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[v+(i<<2)>>2]|0);k=f[q+24>>2]|0;if((r|0)!=-1073741824)f[k+(r<<2)>>2]=f[k+(f[Z>>2]<<2)>>2];e:do if((e|0)>-1){j=f[p>>2]|0;do{f[j+(e<<2)>>2]=r;v=e+1|0;e=((v|0)%3|0|0)==0?e+-2|0:v;if((e|0)<0)break e;i=f[s+(e<<2)>>2]|0;e=i+1|0;if((i|0)<0)break e;e=((e|0)%3|0|0)==0?i+-2|0:e}while((e|0)>-1)}while(0);f[k+(f[Z>>2]<<2)>>2]=-1073741824;do if(J){e=f[ba>>2]|0;if((e|0)==(f[F>>2]|0)){hf(aa,Z);d=f[ea>>2]|0;break}else{f[e>>2]=f[Z>>2];f[ba>>2]=e+4;break}}while(0);f[d+-4>>2]=t}f[I>>2]=f[d+-4>>2];f[Z>>2]=f[I>>2];ec(R,Z)}while(0);if((T|0)==92){T=0;f[Z>>2]=w*3;v=f[x>>2]|0;i=v+24|0;e=v+28|0;d=f[e>>2]|0;if((d|0)==(f[v+32>>2]|0)){hf(i,2320);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}o=d-(f[i>>2]|0)>>2;m=o+-1|0;j=f[x>>2]|0;k=f[Z>>2]|0;d=f[j>>2]|0;f[d+(k<<2)>>2]=m;l=j+24|0;i=j+28|0;e=f[i>>2]|0;if((e|0)==(f[j+32>>2]|0)){hf(l,2320);e=f[i>>2]|0;d=f[j>>2]|0}else{f[e>>2]=-1073741824;e=e+4|0;f[i>>2]=e}f[d+(k+1<<2)>>2]=(e-(f[l>>2]|0)>>2)+-1;i=f[x>>2]|0;j=(f[Z>>2]|0)+2|0;k=i+24|0;e=i+28|0;d=f[e>>2]|0;if((d|0)==(f[i+32>>2]|0)){hf(k,2320);d=f[e>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[e>>2]=d}f[(f[i>>2]|0)+(j<<2)>>2]=(d-(f[k>>2]|0)>>2)+-1;if((m|0)!=-1073741824){e=f[(f[x>>2]|0)+24>>2]|0;f[e+(m<<2)>>2]=f[Z>>2];f[e+(o<<2)>>2]=(f[Z>>2]|0)+1;d=o+1|0;if((d|0)!=-1073741824)T=104}else{e=f[(f[x>>2]|0)+24>>2]|0;f[e+(o<<2)>>2]=(f[Z>>2]|0)+1;d=-1073741822;T=104}if((T|0)==104)f[e+(d<<2)>>2]=(f[Z>>2]|0)+2;d=f[ea>>2]|0;if((d|0)==(f[E>>2]|0)){hf(ca,Z);d=f[ea>>2]|0}else{f[d>>2]=f[Z>>2];d=d+4|0;f[ea>>2]=d}f[I>>2]=f[d+-4>>2];f[Z>>2]=f[I>>2];ec(R,Z);T=110}f:do if((T|0)==110?(T=0,O=c-w+-1|0,y=f[C>>2]|0,(y|0)!=(f[Q>>2]|0)):0){d=y;do{e=f[d+-8>>2]|0;if(e>>>0>O>>>0){d=-1;T=172;break a}if((e|0)!=(O|0))break f;e=b[d+-4>>0]|0;j=f[d+-12>>2]|0;f[C>>2]=d+-12;if((j|0)<0){d=-1;T=172;break a}d=f[(f[ea>>2]|0)+-4>>2]|0;i=(d|0)<0;do if(!(e&1)){if(!i)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{e=d+1|0;if(!i)d=((e|0)%3|0|0)==0?d+-2|0:e}while(0);f[Z>>2]=P-j;w=lc(da,Z)|0;f[w>>2]=d;d=f[C>>2]|0}while((d|0)!=(f[Q>>2]|0))}while(0);if((h|0)<(c|0))w=h;else{T=123;break}}}else{x=a+8|0;h=0;T=123}while(0);g:do if((T|0)==123){d=f[x>>2]|0;if(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2|0)<=(S|0)){e=f[ea>>2]|0;do if((e|0)!=(f[ca>>2]|0)){q=a+304|0;w=a+60|0;v=a+64|0;s=a+68|0;r=a+76|0;t=a+80|0;p=a+72|0;h:while(1){a=e;f[Z>>2]=f[a+-4>>2];f[ea>>2]=a+-4;do if(!(Rg(q)|0)){d=f[v>>2]|0;e=f[s>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){T=151;break h}a=e<<6;T=d+32&-32;Me(w,d>>>0<1073741823?(a>>>0>>0?T:a):2147483647);d=f[v>>2]|0}f[v>>2]=d+1;a=(f[w>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[r>>2]|0;if((d|0)==(f[t>>2]|0)){hf(p,Z);d=h;break}else{f[d>>2]=f[Z>>2];f[r>>2]=d+4;d=h;break}}else{k=f[x>>2]|0;a=f[k>>2]|0;o=a;if((h|0)>=(((f[k+4>>2]|0)-a>>2>>>0)/3|0|0)){T=157;break h}l=f[Z>>2]|0;d=l+1|0;if((l|0)>=0?(Y=((d|0)%3|0|0)==0?l+-2|0:d,(Y|0)>=0):0)m=f[o+(Y<<2)>>2]|0;else m=-1073741824;i=f[k+24>>2]|0;e=f[i+(m<<2)>>2]|0;d=e+1|0;if((e|0)>=0){e=((d|0)%3|0|0)==0?e+-2|0:d;d=e+1|0;if((e|0)>=0?(X=((d|0)%3|0|0)==0?e+-2|0:d,(X|0)>=0):0)j=f[o+(X<<2)>>2]|0;else j=-1073741824}else j=-1073741824;d=f[i+(j<<2)>>2]|0;i=d+1|0;if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;i=d+1|0;if((d|0)>=0?(W=((i|0)%3|0|0)==0?d+-2|0:i,(W|0)>=0):0)i=f[o+(W<<2)>>2]|0;else i=-1073741824}else i=-1073741824;T=h*3|0;f[U>>2]=T;a=f[k+12>>2]|0;f[a+(T<<2)>>2]=l;f[a+(l<<2)>>2]=T;T=(f[U>>2]|0)+1|0;f[a+(T<<2)>>2]=e;f[a+(e<<2)>>2]=T;T=(f[U>>2]|0)+2|0;f[a+(T<<2)>>2]=d;f[a+(d<<2)>>2]=T;a=f[U>>2]|0;d=o+(a<<2)|0;f[d>>2]=j;f[o+(a+1<<2)>>2]=i;f[o+(a+2<<2)>>2]=m;if((a|0)<0)d=-1073741824;else d=f[d>>2]|0;e=f[_>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[U>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[o+(d+1<<2)>>2]|0;a=e+(d>>>5<<2)|0;f[a>>2]=f[a>>2]&~(1<<(d&31));d=f[U>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[o+(d+2<<2)>>2]|0;e=e+(d>>>5<<2)|0;f[e>>2]=f[e>>2]&~(1<<(d&31));h=h+1|0;d=f[v>>2]|0;e=f[s>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){T=141;break h}a=e<<6;T=d+32&-32;Me(w,d>>>0<1073741823?(a>>>0>>0?T:a):2147483647);d=f[v>>2]|0}f[v>>2]=d+1;a=(f[w>>2]|0)+(d>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(d&31);d=f[r>>2]|0;if((d|0)==(f[t>>2]|0))hf(p,U);else{f[d>>2]=f[U>>2];f[r>>2]=d+4}d=h}while(0);e=f[ea>>2]|0;if((e|0)==(f[ca>>2]|0)){T=158;break}else h=d}if((T|0)==141)Wl(w);else if((T|0)==151)Wl(w);else if((T|0)==157){d=-1;T=172;break g}else if((T|0)==158){g=f[x>>2]|0;V=d;break}}else{g=d;V=h}while(0);if((V|0)==(((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0|0)){d=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;e=f[aa>>2]|0;p=f[ba>>2]|0;if((e|0)==(p|0))g=d;else{m=Z+4|0;l=Z+8|0;o=Z+12|0;do{k=f[e>>2]|0;h=d+-1|0;i=f[g+24>>2]|0;if((f[i+(h<<2)>>2]|0)<0){h=d;while(1){d=h+-1|0;h=h+-2|0;if((f[i+(h<<2)>>2]|0)<0)h=d;else{j=h;break}}}else j=h;if((j|0)>=(k|0)){f[Z>>2]=g;h=f[i+(j<<2)>>2]|0;f[m>>2]=h;f[l>>2]=h;b[o>>0]=1;if((h|0)>=0)do{f[(f[g>>2]|0)+(h<<2)>>2]=k;Td(Z);h=f[l>>2]|0;g=f[x>>2]|0}while((h|0)>=0);h=f[g+24>>2]|0;if((k|0)==-1073741824)h=h+(j<<2)|0;else{Y=h+(j<<2)|0;f[h+(k<<2)>>2]=f[Y>>2];h=Y}f[h>>2]=-1073741824;W=f[_>>2]|0;Y=W+(j>>>5<<2)|0;X=1<<(j&31);W=W+(k>>>5<<2)|0;V=1<<(k&31);U=f[W>>2]|0;f[W>>2]=f[Y>>2]&X|0?U|V:U&~V;f[Y>>2]=f[Y>>2]&~X;d=d+-1|0}e=e+4|0}while((e|0)!=(p|0));T=172}}else{d=-1;T=172}}else{d=-1;T=172}}while(0);if((T|0)==172){e=f[aa>>2]|0;g=d}if(e|0){d=f[ba>>2]|0;if((d|0)!=(e|0))f[ba>>2]=d+(~((d+-4-e|0)>>>2)<<2);Em(e)}d=f[da+8>>2]|0;if(d|0)do{ba=d;d=f[d>>2]|0;Em(ba)}while((d|0)!=0);d=f[da>>2]|0;f[da>>2]=0;if(d|0)Em(d);d=f[ca>>2]|0;if(!d){u=fa;return g|0}e=f[ea>>2]|0;if((e|0)!=(d|0))f[ea>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d);u=fa;return g|0}function Za(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=u;u=u+80|0;ba=ea+56|0;ca=ea+36|0;_=ea+24|0;Z=ea+8|0;T=ea;f[ba>>2]=0;da=ba+4|0;f[da>>2]=0;f[ba+8>>2]=0;f[ca>>2]=0;f[ca+4>>2]=0;f[ca+8>>2]=0;f[ca+12>>2]=0;n[ca+16>>2]=$(1.0);f[_>>2]=0;aa=_+4|0;f[aa>>2]=0;f[_+8>>2]=0;K=(f[a+212>>2]|0)==(f[a+216>>2]|0);Y=a+120|0;Q=f[a+124>>2]|0;a:do if((c|0)>0){I=a+300|0;B=ca+4|0;y=a+8|0;C=_+8|0;D=ba+8|0;J=a+296|0;G=a+288|0;H=a+292|0;P=a+36|0;A=a+40|0;O=c+-1|0;z=0;b:while(1){i=z+1|0;c:do if(!(b[I>>0]|0))S=44;else{j=f[J>>2]|0;l=f[G>>2]|0;m=f[H>>2]|0;d=l+(j>>>3)|0;if(d>>>0>>0?(x=h[d>>0]|0,F=j+1|0,f[J>>2]=F,x&1<<(j&7)|0):0){d=l+(F>>>3)|0;if(d>>>0>>0){k=(h[d>>0]|0)>>>(F&7)&1;j=j+2|0;f[J>>2]=j}else{j=F;k=0}d=l+(j>>>3)|0;if(d>>>0>>0){d=(h[d>>0]|0)>>>(j&7);f[J>>2]=j+1;d=d<<1&2}else d=0;x=(d|k)<<1|1;j=(x|0)==5;switch(x&7){case 1:{S=44;break c}case 3:case 5:{d=f[da>>2]|0;if((f[ba>>2]|0)==(d|0)){d=-1;S=175;break a}p=f[d+-4>>2]|0;r=z*3|0;o=j?r:r+2|0;q=(j&1)+r|0;l=(j?2:1)+r|0;x=f[y>>2]|0;k=f[x+12>>2]|0;f[k+(l<<2)>>2]=p;f[k+(p<<2)>>2]=l;k=x+24|0;j=x+28|0;d=f[j>>2]|0;if((d|0)==(f[x+32>>2]|0)){hf(k,2320);d=f[j>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[j>>2]=d}d=(d-(f[k>>2]|0)>>2)+-1|0;k=f[y>>2]|0;m=f[k>>2]|0;f[m+(l<<2)>>2]=d;if((d|0)!=-1073741824)f[(f[k+24>>2]|0)+(d<<2)>>2]=l;if((p|0)>=0){d=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((d|0)>=0){d=f[m+(d<<2)>>2]|0;f[m+(o<<2)>>2]=d;if((d|0)!=-1073741824){j=o;d=(f[k+24>>2]|0)+(d<<2)|0;S=40}}else{j=-1073741824;d=m+(o<<2)|0;S=40}if((S|0)==40){S=0;f[d>>2]=j}d=p+1|0;d=((d|0)%3|0|0)==0?p+-2|0:d;if((d|0)<0)d=-1073741824;else d=f[m+(d<<2)>>2]|0}else{f[m+(o<<2)>>2]=-1073741824;d=-1073741824}f[m+(q<<2)>>2]=d;f[(f[da>>2]|0)+-4>>2]=r;break}case 7:{f[Z>>2]=z*3;x=f[y>>2]|0;k=x+24|0;j=x+28|0;d=f[j>>2]|0;if((d|0)==(f[x+32>>2]|0)){hf(k,2320);d=f[j>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[j>>2]=d}q=d-(f[k>>2]|0)>>2;p=q+-1|0;l=f[y>>2]|0;m=f[Z>>2]|0;d=f[l>>2]|0;f[d+(m<<2)>>2]=p;o=l+24|0;k=l+28|0;j=f[k>>2]|0;if((j|0)==(f[l+32>>2]|0)){hf(o,2320);j=f[k>>2]|0;d=f[l>>2]|0}else{f[j>>2]=-1073741824;j=j+4|0;f[k>>2]=j}f[d+(m+1<<2)>>2]=(j-(f[o>>2]|0)>>2)+-1;k=f[y>>2]|0;l=(f[Z>>2]|0)+2|0;m=k+24|0;j=k+28|0;d=f[j>>2]|0;if((d|0)==(f[k+32>>2]|0)){hf(m,2320);d=f[j>>2]|0}else{f[d>>2]=-1073741824;d=d+4|0;f[j>>2]=d}f[(f[k>>2]|0)+(l<<2)>>2]=(d-(f[m>>2]|0)>>2)+-1;if((p|0)!=-1073741824){j=f[(f[y>>2]|0)+24>>2]|0;f[j+(p<<2)>>2]=f[Z>>2];f[j+(q<<2)>>2]=(f[Z>>2]|0)+1;d=q+1|0;if((d|0)!=-1073741824)S=105}else{j=f[(f[y>>2]|0)+24>>2]|0;f[j+(q<<2)>>2]=(f[Z>>2]|0)+1;d=-1073741822;S=105}if((S|0)==105){S=0;f[j+(d<<2)>>2]=(f[Z>>2]|0)+2}d=f[da>>2]|0;if((d|0)==(f[D>>2]|0))hf(ba,Z);else{f[d>>2]=f[Z>>2];f[da>>2]=d+4}break}default:break b}m=c-z+-1|0;d=f[A>>2]|0;if((d|0)==(f[P>>2]|0))break;while(1){j=f[d+-8>>2]|0;if(j>>>0>m>>>0){d=-1;S=175;break a}if((j|0)!=(m|0))break c;j=b[d+-4>>0]|0;l=f[d+-12>>2]|0;f[A>>2]=d+-12;if((l|0)<0){d=-1;S=175;break a}d=f[(f[da>>2]|0)+-4>>2]|0;k=(d|0)<0;do if(!(j&1)){if(!k)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else{j=d+1|0;if(!k)d=((j|0)%3|0|0)==0?d+-2|0:j}while(0);f[Z>>2]=O-l;z=lc(ca,Z)|0;f[z>>2]=d;d=f[A>>2]|0;if((d|0)==(f[P>>2]|0))break c}}d=f[da>>2]|0;if((f[ba>>2]|0)==(d|0)){d=-1;S=175;break a}w=d+-4|0;q=f[w>>2]|0;v=f[y>>2]|0;p=(q|0)<0;d=q+1|0;if(!p?(M=((d|0)%3|0|0)==0?q+-2|0:d,(M|0)>=0):0)t=f[(f[v>>2]|0)+(M<<2)>>2]|0;else t=-1073741824;r=f[v+24>>2]|0;j=f[r+(t<<2)>>2]|0;d=j+1|0;s=r;if((j|0)>=0)j=((d|0)%3|0|0)==0?j+-2|0:d;o=z*3|0;k=o+1|0;l=f[v+12>>2]|0;f[l+(q<<2)>>2]=k;f[l+(k<<2)>>2]=q;m=o+2|0;f[l+(j<<2)>>2]=m;f[l+(m<<2)>>2]=j;l=f[v>>2]|0;f[l+(o<<2)>>2]=t;d=j+1|0;if((j|0)>=0?(N=((d|0)%3|0|0)==0?j+-2|0:d,(N|0)>=0):0)d=f[l+(N<<2)>>2]|0;else d=-1073741824;f[l+(k<<2)>>2]=d;if(!p?(L=(((q>>>0)%3|0|0)==0?2:-1)+q|0,(L|0)>=0):0){d=f[l+(L<<2)>>2]|0;f[l+(m<<2)>>2]=d;if((d|0)!=-1073741824){j=m;d=r+(d<<2)|0;S=25}}else{j=-1073741824;d=l+(m<<2)|0;S=25}if((S|0)==25){S=0;f[d>>2]=j}if(((f[v+28>>2]|0)-s>>2|0)>(Q|0)){d=-1;S=175;break a}z=(f[Y>>2]|0)+(t>>>5<<2)|0;f[z>>2]=f[z>>2]&~(1<<(t&31));f[w>>2]=o}while(0);if((S|0)==44){S=0;j=f[ba>>2]|0;d=f[da>>2]|0;if((j|0)==(d|0)){d=-1;S=175;break a}q=d+-4|0;x=f[q>>2]|0;f[da>>2]=q;o=f[B>>2]|0;d:do if(o){m=o+-1|0;l=(m&o|0)==0;if(!l)if(z>>>0>>0)p=z;else p=(z>>>0)%(o>>>0)|0;else p=m&z;k=f[(f[ca>>2]|0)+(p<<2)>>2]|0;if((k|0)!=0?(E=f[k>>2]|0,(E|0)!=0):0){e:do if(l){k=E;while(1){w=f[k+4>>2]|0;l=(w|0)==(z|0);if(!(l|(w&m|0)==(p|0))){d=q;break d}if(l?(f[k+8>>2]|0)==(z|0):0)break e;k=f[k>>2]|0;if(!k){d=q;break d}}}else{k=E;while(1){l=f[k+4>>2]|0;if((l|0)==(z|0)){if((f[k+8>>2]|0)==(z|0))break e}else{if(l>>>0>=o>>>0)l=(l>>>0)%(o>>>0)|0;if((l|0)!=(p|0)){d=q;break d}}k=f[k>>2]|0;if(!k){d=q;break d}}}while(0);k=k+12|0;if((q|0)==(f[D>>2]|0)){hf(ba,k);j=f[ba>>2]|0;d=f[da>>2]|0;break}else{f[q>>2]=f[k>>2];f[da>>2]=d;break}}else d=q}else d=q;while(0);if((j|0)==(d|0)){d=-1;S=175;break a}k=f[d+-4>>2]|0;w=z*3|0;p=w+2|0;s=f[y>>2]|0;v=f[s+12>>2]|0;f[v+(k<<2)>>2]=p;f[v+(p<<2)>>2]=k;o=w+1|0;f[v+(x<<2)>>2]=o;f[v+(o<<2)>>2]=x;if((k|0)>=0){j=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((j|0)<0)m=-1073741824;else m=f[(f[s>>2]|0)+(j<<2)>>2]|0;l=f[s>>2]|0;f[l+(w<<2)>>2]=m;j=k+1|0;j=((j|0)%3|0|0)==0?k+-2|0:j;if((j|0)<0){q=l;r=s;j=-1073741824;t=m}else{q=l;r=s;j=f[l+(j<<2)>>2]|0;t=m}}else{q=f[s>>2]|0;f[q+(w<<2)>>2]=-1073741824;r=s;j=-1073741824;t=-1073741824}f[q+(o<<2)>>2]=j;if((x|0)>=0){j=(((x>>>0)%3|0|0)==0?2:-1)+x|0;if((j|0)>=0){j=f[q+(j<<2)>>2]|0;f[q+(p<<2)>>2]=j;if((j|0)!=-1073741824){k=p;j=(f[s+24>>2]|0)+(j<<2)|0;S=79}}else{k=-1073741824;j=q+(p<<2)|0;S=79}if((S|0)==79){S=0;f[j>>2]=k}k=x+1|0;k=((k|0)%3|0|0)==0?x+-2|0:k;if((k|0)<0){j=k;k=-1073741824}else{j=k;k=f[q+(k<<2)>>2]|0}}else{f[q+(p<<2)>>2]=-1073741824;j=x;k=-1073741824}f[Z>>2]=k;m=f[s+24>>2]|0;if((t|0)!=-1073741824)f[m+(t<<2)>>2]=f[m+(k<<2)>>2];f:do if((j|0)>-1){l=f[r>>2]|0;do{f[l+(j<<2)>>2]=t;z=j+1|0;j=((z|0)%3|0|0)==0?j+-2|0:z;if((j|0)<0)break f;k=f[v+(j<<2)>>2]|0;j=k+1|0;if((k|0)<0)break f;j=((j|0)%3|0|0)==0?k+-2|0:j}while((j|0)>-1)}while(0);f[m+(f[Z>>2]<<2)>>2]=-1073741824;do if(K){j=f[aa>>2]|0;if((j|0)==(f[C>>2]|0)){hf(_,Z);d=f[da>>2]|0;break}else{f[j>>2]=f[Z>>2];f[aa>>2]=j+4;break}}while(0);f[d+-4>>2]=w}if((i|0)<(c|0))z=i;else{S=125;break a}}}else{y=a+8|0;i=0;S=125}while(0);g:do if((S|0)==125){d=f[y>>2]|0;if(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2|0)<=(Q|0)){g=f[da>>2]|0;do if((g|0)!=(f[ba>>2]|0)){w=a+304|0;x=a+60|0;v=a+64|0;s=a+68|0;r=a+76|0;t=a+80|0;q=a+72|0;h:while(1){S=g;f[Z>>2]=f[S+-4>>2];f[da>>2]=S+-4;do if(!(Rg(w)|0)){d=f[v>>2]|0;g=f[s>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){S=153;break h}S=g<<6;a=d+32&-32;Me(x,d>>>0<1073741823?(S>>>0>>0?a:S):2147483647);d=f[v>>2]|0}f[v>>2]=d+1;S=(f[x>>2]|0)+(d>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(d&31));d=f[r>>2]|0;if((d|0)==(f[t>>2]|0)){hf(q,Z);d=i;break}else{f[d>>2]=f[Z>>2];f[r>>2]=d+4;d=i;break}}else{l=f[y>>2]|0;S=f[l>>2]|0;p=S;if((i|0)>=(((f[l+4>>2]|0)-S>>2>>>0)/3|0|0)){S=159;break h}m=f[Z>>2]|0;d=m+1|0;if((m|0)>=0?(X=((d|0)%3|0|0)==0?m+-2|0:d,(X|0)>=0):0)o=f[p+(X<<2)>>2]|0;else o=-1073741824;j=f[l+24>>2]|0;g=f[j+(o<<2)>>2]|0;d=g+1|0;if((g|0)>=0){g=((d|0)%3|0|0)==0?g+-2|0:d;d=g+1|0;if((g|0)>=0?(W=((d|0)%3|0|0)==0?g+-2|0:d,(W|0)>=0):0)k=f[p+(W<<2)>>2]|0;else k=-1073741824}else k=-1073741824;d=f[j+(k<<2)>>2]|0;j=d+1|0;if((d|0)>=0){d=((j|0)%3|0|0)==0?d+-2|0:j;j=d+1|0;if((d|0)>=0?(V=((j|0)%3|0|0)==0?d+-2|0:j,(V|0)>=0):0)j=f[p+(V<<2)>>2]|0;else j=-1073741824}else j=-1073741824;a=i*3|0;f[T>>2]=a;S=f[l+12>>2]|0;f[S+(a<<2)>>2]=m;f[S+(m<<2)>>2]=a;a=(f[T>>2]|0)+1|0;f[S+(a<<2)>>2]=g;f[S+(g<<2)>>2]=a;a=(f[T>>2]|0)+2|0;f[S+(a<<2)>>2]=d;f[S+(d<<2)>>2]=a;S=f[T>>2]|0;d=p+(S<<2)|0;f[d>>2]=k;f[p+(S+1<<2)>>2]=j;f[p+(S+2<<2)>>2]=o;if((S|0)<0)d=-1073741824;else d=f[d>>2]|0;g=f[Y>>2]|0;S=g+(d>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(d&31));d=f[T>>2]|0;if((d|0)<-1)d=-1073741824;else d=f[p+(d+1<<2)>>2]|0;S=g+(d>>>5<<2)|0;f[S>>2]=f[S>>2]&~(1<<(d&31));d=f[T>>2]|0;if((d|0)<-2)d=-1073741824;else d=f[p+(d+2<<2)>>2]|0;g=g+(d>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(d&31));i=i+1|0;d=f[v>>2]|0;g=f[s>>2]|0;if((d|0)==(g<<5|0)){if((d+1|0)<0){S=143;break h}S=g<<6;a=d+32&-32;Me(x,d>>>0<1073741823?(S>>>0>>0?a:S):2147483647);d=f[v>>2]|0}f[v>>2]=d+1;S=(f[x>>2]|0)+(d>>>5<<2)|0;f[S>>2]=f[S>>2]|1<<(d&31);d=f[r>>2]|0;if((d|0)==(f[t>>2]|0))hf(q,T);else{f[d>>2]=f[T>>2];f[r>>2]=d+4}d=i}while(0);g=f[da>>2]|0;if((g|0)==(f[ba>>2]|0)){S=160;break}else i=d}if((S|0)==143)Wl(x);else if((S|0)==153)Wl(x);else if((S|0)==159){d=-1;S=175;break g}else if((S|0)==160){e=f[y>>2]|0;U=d;break}}else{e=d;U=i}while(0);if((U|0)==(((f[e+4>>2]|0)-(f[e>>2]|0)>>2>>>0)/3|0|0)){d=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;g=f[_>>2]|0;q=f[aa>>2]|0;if((g|0)==(q|0))R=d;else{o=Z+4|0;m=Z+8|0;p=Z+12|0;do{l=f[g>>2]|0;i=d+-1|0;j=f[e+24>>2]|0;if((f[j+(i<<2)>>2]|0)<0){i=d;while(1){d=i+-1|0;i=i+-2|0;if((f[j+(i<<2)>>2]|0)<0)i=d;else{k=i;break}}}else k=i;if((k|0)>=(l|0)){f[Z>>2]=e;i=f[j+(k<<2)>>2]|0;f[o>>2]=i;f[m>>2]=i;b[p>>0]=1;if((i|0)>=0)do{f[(f[e>>2]|0)+(i<<2)>>2]=l;Td(Z);i=f[m>>2]|0;e=f[y>>2]|0}while((i|0)>=0);i=f[e+24>>2]|0;if((l|0)==-1073741824)i=i+(k<<2)|0;else{X=i+(k<<2)|0;f[i+(l<<2)>>2]=f[X>>2];i=X}f[i>>2]=-1073741824;V=f[Y>>2]|0;X=V+(k>>>5<<2)|0;W=1<<(k&31);V=V+(l>>>5<<2)|0;U=1<<(l&31);T=f[V>>2]|0;f[V>>2]=f[X>>2]&W|0?T|U:T&~U;f[X>>2]=f[X>>2]&~W;d=d+-1|0}g=g+4|0}while((g|0)!=(q|0));S=175}}else{d=-1;S=175}}else{d=-1;S=175}}while(0);if((S|0)==175){g=f[_>>2]|0;R=d}if(g|0){d=f[aa>>2]|0;if((d|0)!=(g|0))f[aa>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(g)}d=f[ca+8>>2]|0;if(d|0)do{aa=d;d=f[d>>2]|0;Em(aa)}while((d|0)!=0);d=f[ca>>2]|0;f[ca>>2]=0;if(d|0)Em(d);d=f[ba>>2]|0;if(!d){u=ea;return R|0}e=f[da>>2]|0;if((e|0)!=(d|0))f[da>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d);u=ea;return R|0}function _a(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(Ch(3400,3592,c,b)|0)-3400>>2;a=e;e=0;a:while(1){b=(f[3400+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[3208+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=Ch(3208,3400,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function $a(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=Ka;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=Xi(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=Ij(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=Xi(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=Ij(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Ij(Xi(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function ab(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=u;u=u+64|0;U=V+16|0;I=V;H=a+8|0;f[H>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Ve(i,e-j|0);d=U;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[I>>2]=0;if(!e){d=0;g=0}else{ee(U,e,I);d=f[U+12>>2]|0;g=f[U+16>>2]|0}f[I>>2]=0;h=U+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else ee(U+12|0,e-i|0,I);i=U+24|0;f[I>>2]=0;h=U+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else ee(i,e-j|0,I);i=U+36|0;f[I>>2]=0;h=U+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else ee(i,e-j|0,I);h=f[U>>2]|0;if((f[H>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{G=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(G|0)?G:d}j=j+1|0;d=f[H>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;r=18}}else{d=d-(f[i>>2]|0)|0;r=18}if((r|0)==18){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}B=f[a+48>>2]|0;C=f[a+52>>2]|0;G=Yi(16)|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;f[I>>2]=0;F=I+4|0;f[F>>2]=0;f[I+8>>2]=0;do if(e)if(e>>>0>1073741823)Wl(I);else{E=e<<2;p=Yi(E)|0;f[I>>2]=p;o=p+(e<<2)|0;f[I+8>>2]=o;Cf(p|0,0,E|0)|0;f[F>>2]=o;o=p;break}else{o=0;p=0}while(0);D=a+56|0;d=f[D>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;A=g-h|0;E=A>>2;do if((A|0)>4){x=B+64|0;t=B+28|0;w=(e|0)>0;z=a+16|0;v=a+32|0;A=a+12|0;y=a+20|0;s=e<<2;if(g-h>>2>>>0>1){q=h;Q=1}else{r=d;Wl(r)}while(1){n=f[q+(Q<<2)>>2]|0;q=n+((n|0)<0?0:((n>>>0)%3|0|0)==0?2:-1)|0;p=q>>>5;r=1<<(q&31);o=(q|0)<0;g=n;m=1;d=0;a:while(1){do{if((g|0)<=-1){r=63;break a}h=f[U+(d*12|0)>>2]|0;if(((f[(f[B>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0?(R=f[(f[(f[x>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(R|0)>=0):0)?(L=f[t>>2]|0,l=f[C>>2]|0,J=f[l+(f[L+(R<<2)>>2]<<2)>>2]|0,K=R+1|0,K=f[l+(f[L+((((K|0)%3|0|0)==0?R+-2|0:K)<<2)>>2]<<2)>>2]|0,L=f[l+(f[L+((((R>>>0)%3|0|0)==0?2:-1)+R<<2)>>2]<<2)>>2]|0,(J|0)<(Q|0)&(K|0)<(Q|0)&(L|0)<(Q|0)):0){j=X(J,e)|0;k=X(K,e)|0;l=X(L,e)|0;if(w){i=0;do{f[h+(i<<2)>>2]=(f[c+(i+l<<2)>>2]|0)+(f[c+(i+k<<2)>>2]|0)-(f[c+(i+j<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;r=44;break a}}do if(m){h=g+1|0;g=((h|0)%3|0|0)==0?g+-2|0:h;h=f[B>>2]|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[x>>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=f[B>>2]|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[x>>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)==(n|0)){r=63;break a}}while(!(m&(g|0)<0));g=(r&f[h+(p<<2)>>2]|0)!=0;if(g|o){g=g?-1073741824:q;m=0;continue}g=f[(f[(f[x>>2]|0)+12>>2]|0)+(q<<2)>>2]|0;if((g|0)<0){m=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;m=0;continue}else{g=g+-1|0;m=0;continue}}if((r|0)==63)if((d|0)>0)r=44;else{P=X(Q,e)|0;r=75}if((r|0)==44){r=0;if(w){Cf(f[I>>2]|0,0,s|0)|0;j=d+-1|0;l=G+(j<<2)|0;j=f[a+60+(j*12|0)>>2]|0;k=f[I>>2]|0;m=0;g=0;do{q=f[l>>2]|0;f[l>>2]=q+1;if(!(f[j+(q>>>5<<2)>>2]&1<<(q&31))){h=f[U+(m*12|0)>>2]|0;i=0;do{q=k+(i<<2)|0;f[q>>2]=(f[q>>2]|0)+(f[h+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));g=g+1|0}m=m+1|0}while((m|0)!=(d|0))}else{h=d+-1|0;j=G+(h<<2)|0;h=f[a+60+(h*12|0)>>2]|0;i=f[j>>2]|0;k=0;g=0;do{q=i;i=i+1|0;f[j>>2]=i;g=g+((f[h+(q>>>5<<2)>>2]&1<<(q&31)|0)==0&1)|0;k=k+1|0}while((k|0)!=(d|0))}h=X(Q,e)|0;if(g){j=f[I>>2]|0;if(w){d=0;do{q=j+(d<<2)|0;f[q>>2]=(f[q>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=b+(h<<2)|0;k=c+(h<<2)|0;if((f[H>>2]|0)>0){h=0;do{d=f[j+(h<<2)>>2]|0;g=f[z>>2]|0;if((d|0)>(g|0)){i=f[v>>2]|0;f[i+(h<<2)>>2]=g}else{q=f[A>>2]|0;i=f[v>>2]|0;f[i+(h<<2)>>2]=(d|0)<(q|0)?q:d}h=h+1|0;d=f[H>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;do if((d|0)>(f[z>>2]|0)){d=d-(f[y>>2]|0)|0;r=97}else{if((d|0)>=(f[A>>2]|0))break;d=(f[y>>2]|0)+d|0;r=97}while(0);if((r|0)==97){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}}else{P=h;r=75}}if((r|0)==75?(r=0,M=c+((X(Q+-1|0,e)|0)<<2)|0,N=b+(P<<2)|0,O=c+(P<<2)|0,(f[H>>2]|0)>0):0){h=0;do{d=f[M+(h<<2)>>2]|0;g=f[z>>2]|0;if((d|0)>(g|0)){i=f[v>>2]|0;f[i+(h<<2)>>2]=g}else{q=f[A>>2]|0;i=f[v>>2]|0;f[i+(h<<2)>>2]=(d|0)<(q|0)?q:d}h=h+1|0;d=f[H>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[N+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=O+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[z>>2]|0)){if((d|0)<(f[A>>2]|0)){d=(f[y>>2]|0)+d|0;r=85}}else{d=d-(f[y>>2]|0)|0;r=85}if((r|0)==85){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[H>>2]|0))}}Q=Q+1|0;if((Q|0)>=(E|0)){r=28;break}d=f[D>>2]|0;q=f[d>>2]|0;if((f[d+4>>2]|0)-q>>2>>>0<=Q>>>0){r=34;break}}if((r|0)==28){T=f[I>>2]|0;S=T;break}else if((r|0)==34)Wl(d)}else{S=p;T=o}while(0);if(S|0){d=f[F>>2]|0;if((d|0)!=(S|0))f[F>>2]=d+(~((d+-4-S|0)>>>2)<<2);Em(T)}Em(G);g=f[U+36>>2]|0;if(g|0){h=U+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(g)}d=f[U+24>>2]|0;if(d|0){h=U+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}d=f[U+12>>2]|0;if(d|0){h=U+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}h=f[U>>2]|0;if(!h){u=V;return 1}g=U+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h);u=V;return 1}function bb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=u;u=u+64|0;R=S+16|0;J=S;I=a+8|0;f[I>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0)f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2)}else Ve(i,e-j|0);d=R;g=d+48|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(g|0));f[J>>2]=0;if(!e){d=0;g=0}else{ee(R,e,J);d=f[R+12>>2]|0;g=f[R+16>>2]|0}f[J>>2]=0;h=R+16|0;i=g-d>>2;if(i>>>0>=e>>>0){if(i>>>0>e>>>0?(l=d+(e<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else ee(R+12|0,e-i|0,J);i=R+24|0;f[J>>2]=0;h=R+28|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(m=d+(e<<2)|0,(g|0)!=(m|0)):0)f[h>>2]=g+(~((g+-4-m|0)>>>2)<<2)}else ee(i,e-j|0,J);i=R+36|0;f[J>>2]=0;h=R+40|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0){if(j>>>0>e>>>0?(n=d+(e<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else ee(i,e-j|0,J);h=f[R>>2]|0;if((f[I>>2]|0)>0){l=a+16|0;i=a+32|0;m=a+12|0;j=0;do{d=f[h+(j<<2)>>2]|0;g=f[l>>2]|0;if((d|0)>(g|0)){k=f[i>>2]|0;f[k+(j<<2)>>2]=g}else{H=f[m>>2]|0;k=f[i>>2]|0;f[k+(j<<2)>>2]=(d|0)<(H|0)?H:d}j=j+1|0;d=f[I>>2]|0}while((j|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[k+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[l>>2]|0)){if((d|0)<(f[m>>2]|0)){d=(f[i>>2]|0)+d|0;r=18}}else{d=d-(f[i>>2]|0)|0;r=18}if((r|0)==18){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}C=f[a+48>>2]|0;D=f[a+52>>2]|0;H=Yi(16)|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;do if(e)if(e>>>0>1073741823)Wl(J);else{F=e<<2;p=Yi(F)|0;f[J>>2]=p;o=p+(e<<2)|0;f[J+8>>2]=o;Cf(p|0,0,F|0)|0;f[G>>2]=o;o=p;break}else{o=0;p=0}while(0);E=a+56|0;d=f[E>>2]|0;g=f[d+4>>2]|0;h=f[d>>2]|0;B=g-h|0;F=B>>2;do if((B|0)>4){w=C+12|0;y=(e|0)>0;A=a+16|0;x=a+32|0;B=a+12|0;z=a+20|0;v=e<<2;if(g-h>>2>>>0>1){q=h;O=1}else{t=d;Wl(t)}while(1){r=f[q+(O<<2)>>2]|0;t=(((r>>>0)%3|0|0)==0?2:-1)+r|0;s=(r|t|0)<0;q=(r|0)<0?r:t;g=r;p=1;d=0;a:while(1){do{if((g|0)<=-1){r=64;break a}n=f[R+(d*12|0)>>2]|0;o=f[w>>2]|0;i=f[o+(g<<2)>>2]|0;if((i|0)>=0){j=f[C>>2]|0;k=f[D>>2]|0;m=f[k+(f[j+(i<<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=f[j+(h<<2)>>2]|0;l=f[k+(h<<2)>>2]|0;h=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((h|0)<0)h=-1073741824;else h=f[j+(h<<2)>>2]|0;h=f[k+(h<<2)>>2]|0;if((m|0)<(O|0)&(l|0)<(O|0)&(h|0)<(O|0)){k=X(m,e)|0;j=X(l,e)|0;i=X(h,e)|0;if(y){h=0;do{f[n+(h<<2)>>2]=(f[c+(h+i<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+k<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}d=d+1|0;if((d|0)==4){d=4;r=47;break a}}}do if(p){n=g+1|0;g=((n|0)%3|0|0)==0?g+-2|0:n;if((g|0)>=0){g=f[o+(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=f[o+(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)==(r|0)){r=64;break a}}while(!(p&(g|0)<0));if(s){g=q;p=0;continue}g=f[o+(t<<2)>>2]|0;if((g|0)<0){p=0;continue}if(!((g>>>0)%3|0)){g=g+2|0;p=0;continue}else{g=g+-1|0;p=0;continue}}if((r|0)==64)if((d|0)>0)r=47;else{N=X(O,e)|0;r=76}if((r|0)==47){r=0;if(y){Cf(f[J>>2]|0,0,v|0)|0;j=d+-1|0;l=H+(j<<2)|0;j=f[a+60+(j*12|0)>>2]|0;k=f[J>>2]|0;m=0;g=0;do{t=f[l>>2]|0;f[l>>2]=t+1;if(!(f[j+(t>>>5<<2)>>2]&1<<(t&31))){h=f[R+(m*12|0)>>2]|0;i=0;do{t=k+(i<<2)|0;f[t>>2]=(f[t>>2]|0)+(f[h+(i<<2)>>2]|0);i=i+1|0}while((i|0)!=(e|0));g=g+1|0}m=m+1|0}while((m|0)!=(d|0))}else{h=d+-1|0;j=H+(h<<2)|0;h=f[a+60+(h*12|0)>>2]|0;i=f[j>>2]|0;k=0;g=0;do{t=i;i=i+1|0;f[j>>2]=i;g=g+((f[h+(t>>>5<<2)>>2]&1<<(t&31)|0)==0&1)|0;k=k+1|0}while((k|0)!=(d|0))}h=X(O,e)|0;if(g){j=f[J>>2]|0;if(y){d=0;do{t=j+(d<<2)|0;f[t>>2]=(f[t>>2]|0)/(g|0)|0;d=d+1|0}while((d|0)!=(e|0))}l=b+(h<<2)|0;k=c+(h<<2)|0;if((f[I>>2]|0)>0){h=0;do{d=f[j+(h<<2)>>2]|0;g=f[A>>2]|0;if((d|0)>(g|0)){i=f[x>>2]|0;f[i+(h<<2)>>2]=g}else{t=f[B>>2]|0;i=f[x>>2]|0;f[i+(h<<2)>>2]=(d|0)<(t|0)?t:d}h=h+1|0;d=f[I>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[l+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=k+(h<<2)|0;f[g>>2]=d;do if((d|0)>(f[A>>2]|0)){d=d-(f[z>>2]|0)|0;r=98}else{if((d|0)>=(f[B>>2]|0))break;d=(f[z>>2]|0)+d|0;r=98}while(0);if((r|0)==98){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}}else{N=h;r=76}}if((r|0)==76?(r=0,K=c+((X(O+-1|0,e)|0)<<2)|0,L=b+(N<<2)|0,M=c+(N<<2)|0,(f[I>>2]|0)>0):0){h=0;do{d=f[K+(h<<2)>>2]|0;g=f[A>>2]|0;if((d|0)>(g|0)){i=f[x>>2]|0;f[i+(h<<2)>>2]=g}else{t=f[B>>2]|0;i=f[x>>2]|0;f[i+(h<<2)>>2]=(d|0)<(t|0)?t:d}h=h+1|0;d=f[I>>2]|0}while((h|0)<(d|0));if((d|0)>0){h=0;do{d=(f[L+(h<<2)>>2]|0)+(f[i+(h<<2)>>2]|0)|0;g=M+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[A>>2]|0)){if((d|0)<(f[B>>2]|0)){d=(f[z>>2]|0)+d|0;r=86}}else{d=d-(f[z>>2]|0)|0;r=86}if((r|0)==86){r=0;f[g>>2]=d}h=h+1|0}while((h|0)<(f[I>>2]|0))}}O=O+1|0;if((O|0)>=(F|0)){r=28;break}d=f[E>>2]|0;q=f[d>>2]|0;if((f[d+4>>2]|0)-q>>2>>>0<=O>>>0){r=34;break}}if((r|0)==28){Q=f[J>>2]|0;P=Q;break}else if((r|0)==34)Wl(d)}else{P=p;Q=o}while(0);if(P|0){d=f[G>>2]|0;if((d|0)!=(P|0))f[G>>2]=d+(~((d+-4-P|0)>>>2)<<2);Em(Q)}Em(H);g=f[R+36>>2]|0;if(g|0){h=R+40|0;d=f[h>>2]|0;if((d|0)!=(g|0))f[h>>2]=d+(~((d+-4-g|0)>>>2)<<2);Em(g)}d=f[R+24>>2]|0;if(d|0){h=R+28|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}d=f[R+12>>2]|0;if(d|0){h=R+16|0;g=f[h>>2]|0;if((g|0)!=(d|0))f[h>>2]=g+(~((g+-4-d|0)>>>2)<<2);Em(d)}h=f[R>>2]|0;if(!h){u=S;return 1}g=R+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-4-h|0)>>>2)<<2);Em(h);u=S;return 1}function cb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+80|0;t=y+40|0;i=y+68|0;m=y+64|0;q=y+60|0;l=y+52|0;w=y;r=y+56|0;s=y+48|0;f[a+132>>2]=0;h=a+148|0;if(f[h>>2]|0){e=a+144|0;c=f[e>>2]|0;if(c|0)do{v=c;c=f[c>>2]|0;Em(v)}while((c|0)!=0);f[e>>2]=0;c=f[a+140>>2]|0;if(c|0){e=a+136|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[h>>2]=0}n=a+4|0;if(!(Vf(i,f[(f[n>>2]|0)+32>>2]|0)|0)){x=0;u=y;return x|0}k=a+156|0;f[k>>2]=f[i>>2];v=(Vf(m,f[(f[n>>2]|0)+32>>2]|0)|0)^1;do if(!((f[m>>2]|0)>>>0>715827882|v)){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);p=Yi(60)|0;tk(p);v=a+8|0;c=f[v>>2]|0;f[v>>2]=p;if(c|0?(Sf(c),Em(c),(f[v>>2]|0)==0):0){c=0;break}h=a+160|0;c=f[h>>2]|0;g=a+164|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);fg(h,f[m>>2]|0);h=a+172|0;c=f[h>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);fg(h,f[m>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;c=f[(f[n>>2]|0)+32>>2]|0;p=c+8|0;o=f[p+4>>2]|0;h=c+16|0;g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;if((o|0)>(g|0)|((o|0)==(g|0)?(f[p>>2]|0)>>>0>e>>>0:0)){j=b[(f[c>>2]|0)+e>>0]|0;i=Ij(e|0,g|0,1,0)|0;p=h;f[p>>2]=i;f[p+4>>2]=I;p=a+212|0;i=f[p>>2]|0;o=a+216|0;c=f[o>>2]|0;if((c|0)!=(i|0))do{f[o>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){h=c+-8|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-28>>2]|0;if(e|0){h=c+-24|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-40>>2]|0;if(e|0){h=c+-36|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}_f(c+-112|0);c=f[o>>2]|0}while((c|0)!=(i|0));c=j&255;Ae(p,c);if(Vf(q,f[(f[n>>2]|0)+32>>2]|0)|0?(f[m>>2]|0)>>>0>=(f[q>>2]|0)>>>0:0)if((Vf(l,f[(f[n>>2]|0)+32>>2]|0)|0?Wg(f[v>>2]|0,f[m>>2]|0,(f[l>>2]|0)+(f[k>>2]|0)|0)|0:0)?(m=(f[l>>2]|0)+(f[k>>2]|0)|0,b[t>>0]=1,Wd(a+120|0,m,t),(nc(a,f[(f[n>>2]|0)+32>>2]|0)|0)!=-1):0){j=a+224|0;f[a+368>>2]=a;g=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;g=f[g>>2]|0;g=(f[g>>2]|0)+(f[g+16>>2]|0)|0;e=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;e=f[e>>2]|0;k=e+8|0;e=e+16|0;e=hk(f[k>>2]|0,f[k+4>>2]|0,f[e>>2]|0,f[e+4>>2]|0)|0;k=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Li(j,g,e,d[(f[k>>2]|0)+38>>1]|0);f[a+364>>2]=c;ui(w);k=a+264|0;c=k;e=j;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));a:do if(Sg(k,1,t)|0){c=j;e=k;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));e=t;c=f[e>>2]|0;e=f[e+4>>2]|0;m=a+232|0;i=a+240|0;h=i;g=f[h>>2]|0;h=f[h+4>>2]|0;m=hk(f[m>>2]|0,f[m+4>>2]|0,g|0,h|0)|0;l=I;if(e>>>0>l>>>0|(e|0)==(l|0)&c>>>0>m>>>0){x=46;break}l=Ij(g|0,h|0,c|0,e|0)|0;m=i;f[m>>2]=l;f[m+4>>2]=I;ed(a+304|0,j)|0;if(!($e(j)|0)){c=0;break}c=w;e=j;g=c+40|0;do{f[c>>2]=f[e>>2];c=c+4|0;e=e+4|0}while((c|0)<(g|0));m=Za(a,f[q>>2]|0)|0;if((m|0)==-1){c=0;break}q=f[(f[n>>2]|0)+32>>2]|0;n=w+16|0;j=f[n>>2]|0;l=(f[w>>2]|0)+j|0;i=w+8|0;n=hk(f[i>>2]|0,f[i+4>>2]|0,j|0,f[n+4>>2]|0)|0;Li(q,l,n,d[q+38>>1]|0);do if((f[o>>2]|0)!=(f[p>>2]|0)){q=f[v>>2]|0;if(((f[q+4>>2]|0)-(f[q>>2]|0)|0)<=0)break;c=0;do{f[r>>2]=c;f[t>>2]=f[r>>2];c=c+3|0;if(!(Bc(a,t)|0)){c=0;break a}q=f[v>>2]|0}while((c|0)<((f[q+4>>2]|0)-(f[q>>2]|0)>>2|0))}while(0);if(b[a+300>>0]|0)Yh(k);c=f[p>>2]|0;if((f[o>>2]|0)!=(c|0)){h=0;do{mf(c+(h*116|0)+4|0,f[v>>2]|0)|0;c=f[p>>2]|0;e=f[c+(h*116|0)+104>>2]|0;g=f[c+(h*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[s>>2]=f[e>>2];f[t>>2]=f[s>>2];Kd(c+(h*116|0)+4|0,t);e=e+4|0;c=f[p>>2]|0}while((e|0)!=(g|0));zh(c+(h*116|0)+4|0,0,0);h=h+1|0;c=f[p>>2]|0}while(h>>>0<(((f[o>>2]|0)-c|0)/116|0)>>>0)}j=f[v>>2]|0;j=(f[j+28>>2]|0)-(f[j+24>>2]|0)>>2;g=a+196|0;i=a+200|0;h=f[i>>2]|0;c=f[g>>2]|0;e=h-c>>2;do if(j>>>0>e>>>0)Ve(g,j-e|0);else{if(j>>>0>=e>>>0)break;c=c+(j<<2)|0;if((h|0)==(c|0))break;f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2)}while(0);fg(a+184|0,j);c=f[p>>2]|0;if((f[o>>2]|0)!=(c|0)){l=0;do{k=(f[c+(l*116|0)+60>>2]|0)-(f[c+(l*116|0)+56>>2]|0)>>2;h=f[v>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;k=(k|0)<(h|0)?h:k;h=c+(l*116|0)+88|0;j=c+(l*116|0)+92|0;i=f[j>>2]|0;e=f[h>>2]|0;g=i-e>>2;do if(k>>>0>g>>>0)Ve(h,k-g|0);else{if(k>>>0>=g>>>0)break;e=e+(k<<2)|0;if((i|0)==(e|0))break;f[j>>2]=i+(~((i+-4-e|0)>>>2)<<2)}while(0);fg(c+(l*116|0)+76|0,k);l=l+1|0;c=f[p>>2]|0}while(l>>>0<(((f[o>>2]|0)-c|0)/116|0)>>>0)}c=jb(a,m)|0}else x=46;while(0);if((x|0)==46)c=0;Jm(w+24|0)}else c=0;else c=0}else c=0}else c=0;while(0);x=c;u=y;return x|0}function db(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+32|0;E=F+16|0;D=F+4|0;A=F;f[a+36>>2]=b;B=a+24|0;z=a+28|0;e=f[z>>2]|0;d=f[B>>2]|0;h=e-d>>2;if(h>>>0>=b>>>0){if(h>>>0>b>>>0?(g=d+(b<<2)|0,(e|0)!=(g|0)):0)f[z>>2]=e+(~((e+-4-g|0)>>>2)<<2)}else ee(B,b-h|0,2636);f[E>>2]=0;y=E+4|0;f[y>>2]=0;x=E+8|0;f[x>>2]=0;if(b){if((b|0)<0)Wl(E);d=((b+-1|0)>>>5)+1|0;h=Yi(d<<2)|0;f[E>>2]=h;f[x>>2]=d;f[y>>2]=b;d=b>>>5;Cf(h|0,0,d<<2|0)|0;e=b-(d<<5)|0;d=h+(d<<2)|0;g=h;if(!e)k=b;else{f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));k=b}}else{k=0;g=0;h=0}w=a+4|0;l=f[a>>2]|0;d=(f[w>>2]|0)-l|0;j=d>>2;f[D>>2]=0;i=D+4|0;f[i>>2]=0;e=D+8|0;f[e>>2]=0;do if(j){if((d|0)<0)Wl(D);d=((j+-1|0)>>>5)+1|0;m=Yi(d<<2)|0;f[D>>2]=m;f[e>>2]=d;f[i>>2]=j;d=j>>>5;Cf(m|0,0,d<<2|0)|0;e=j-(d<<5)|0;d=m+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));if(j>>>0>2){q=a+12|0;t=a+32|0;r=a+52|0;s=a+56|0;v=a+48|0;j=l;e=m;p=0;d=b;a:while(1){o=p*3|0;if((p|0)>=0){l=f[j+(o<<2)>>2]|0;i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;if((i|0)<0)k=-1073741824;else k=f[j+(i<<2)>>2]|0;i=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((i|0)<0)i=-1073741824;else i=f[j+(i<<2)>>2]|0;if((l|0)!=(k|0)?!((l|0)==(i|0)|(k|0)==(i|0)):0){i=d;n=0;while(1){j=n+o|0;if(!(f[e+(j>>>5<<2)>>2]&1<<(j&31))){d=f[(f[a>>2]|0)+(j<<2)>>2]|0;f[A>>2]=d;if(!(f[h+(d>>>5<<2)>>2]&1<<(d&31))){k=0;b=i}else{d=f[z>>2]|0;if((d|0)==(f[t>>2]|0))hf(B,2636);else{f[d>>2]=-1073741824;f[z>>2]=d+4}d=f[r>>2]|0;if((d|0)==(f[s>>2]|0))hf(v,A);else{f[d>>2]=f[A>>2];f[r>>2]=d+4}d=f[y>>2]|0;e=f[x>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){i=52;break a}b=e<<6;m=d+32&-32;Me(E,d>>>0<1073741823?(b>>>0>>0?m:b):2147483647);d=f[y>>2]|0}f[y>>2]=d+1;k=(f[E>>2]|0)+(d>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(d&31));f[A>>2]=i;d=i;k=1;b=i+1|0}h=f[E>>2]|0;g=h+(d>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(d&31);g=h;b:do if(k){d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);i=f[A>>2]|0;f[(f[B>>2]|0)+(i<<2)>>2]=d;f[(f[a>>2]|0)+(d<<2)>>2]=i;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}else{d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);f[(f[B>>2]|0)+(f[A>>2]<<2)>>2]=d;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}while(0);do if((i|0)==68){i=0;if((j|0)==-1073741824){d=-1073741824;i=75}}else if((i|0)==69){if((j|0)<0){d=j;i=75;break}d=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((d|0)<0){i=75;break}d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=75;break}if(!((d>>>0)%3|0)){d=d+2|0;i=75;break}else{d=d+-1|0;i=75;break}}while(0);c:do if((i|0)==75){e=f[D>>2]|0;i=e+(d>>>5<<2)|0;l=1<<(d&31);j=(d|0)<0;if((d|0)==-1073741824)break;if(!k){k=d;e=j;d=l;while(1){if(e){i=87;break a}f[i>>2]=f[i>>2]|d;d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);e=f[D>>2]|0;if((d|0)==-1073741824)break c;else{k=d;i=e+(d>>>5<<2)|0;e=(d|0)<0;d=1<<(d&31)}}}m=f[a>>2]|0;k=i;e=l;while(1){i=m+(d<<2)|0;do{f[k>>2]=f[k>>2]|e;f[i>>2]=f[A>>2]}while(j);d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=d;break}if(!((d>>>0)%3|0)){i=d+2|0;break}else{i=d+-1|0;break}}else i=d;while(0);e=f[D>>2]|0;if((i|0)==-1073741824)break;else{d=i;k=e+(i>>>5<<2)|0;j=(i|0)<0;e=1<<(i&31)}}}while(0);d=b}else d=i;n=n+1|0;if((n|0)>=3)break;else i=d}}}p=p+1|0;j=f[a>>2]|0;if((p|0)>=(((f[w>>2]|0)-j>>2>>>0)/3|0|0)){i=18;break}}if((i|0)==18){c=g;C=f[y>>2]|0;break}else if((i|0)==52)Wl(E);else if((i|0)==87)while(1)i=87}else{c=g;C=k}}else{c=g;C=k}while(0);j=a+44|0;f[j>>2]=0;B=C>>>5;i=c+(B<<2)|0;h=C&31;d=(B|0)!=0;d:do if(B|h|0){if(!h){e=c;c=0;while(1){e:do if(d){d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break;else d=d+1|0}}else{d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break e;d=d+1|0;if(!d)break d}}while(0);e=e+4|0;if((e|0)==(i|0))break d;else d=1}}if(d){e=c;c=0;d=0;do{g=0;while(1){if(!(f[e>>2]&1<>2]=d;c=d}if((g|0)==31)break;else g=g+1|0}e=e+4|0}while((e|0)!=(i|0))}else{e=c;c=0}d=0;do{if(!(f[e>>2]&1<>2]=c}d=d+1|0}while((d|0)!=(h|0))}while(0);c=f[D>>2]|0;if(c|0)Em(c);c=f[E>>2]|0;if(!c){u=F;return 1}Em(c);u=F;return 1}function eb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=Ka,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Cf(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function fb(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;gk(c)|0;if((I|0)<0){C=1;A=13483;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?13484:13489):13486}gk(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+jm(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=Fg(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[13518+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;gh(a,32,d,j,g);Qk(a,p,o);gh(a,48,d,j,g^65536);Qk(a,F,C);gh(a,48,D-C|0,0,0);Qk(a,n,E);gh(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=tj(f[j>>2]|0,0,o|0)|0;x=Ij(x|0,I|0,l|0,0)|0;y=I;v=Oi(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=il(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=Fg(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;gh(a,32,d,j,g);Qk(a,A,C);gh(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=Fg(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){Cf(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Qk(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Qk(a,13534,1);if(m>>>0>>0&(k|0)>0)while(1){l=Fg(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){Cf(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Qk(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}gh(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=Fg(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Qk(a,l,1);if(e&(k|0)<1){l=m;break}Qk(a,13534,1);l=m}else{if(l>>>0<=F>>>0)break;Cf(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Qk(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}gh(a,48,k+18|0,18,0);Qk(a,v,D-v|0)}gh(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;gh(a,32,d,j,g&-65537);Qk(a,A,C);Qk(a,c!=c|0.0!=0.0?(F?13510:13514):F?13502:13506,3);gh(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function gb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+80|0;t=x+64|0;i=x+60|0;q=x+56|0;p=x+52|0;m=x+48|0;w=x;r=x+44|0;s=x+40|0;f[a+132>>2]=0;h=a+148|0;if(f[h>>2]|0){e=a+144|0;c=f[e>>2]|0;if(c|0)do{v=c;c=f[c>>2]|0;Em(v)}while((c|0)!=0);f[e>>2]=0;c=f[a+140>>2]|0;if(c|0){e=a+136|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(c|0))}f[h>>2]=0}l=a+4|0;if(!(Vf(i,f[(f[l>>2]|0)+32>>2]|0)|0)){w=0;u=x;return w|0}k=a+156|0;f[k>>2]=f[i>>2];v=(Vf(q,f[(f[l>>2]|0)+32>>2]|0)|0)^1;do if(!((f[q>>2]|0)>>>0>715827882|v)){c=f[a+24>>2]|0;g=a+28|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);o=Yi(60)|0;tk(o);v=a+8|0;c=f[v>>2]|0;f[v>>2]=o;if(c|0?(Sf(c),Em(c),(f[v>>2]|0)==0):0){c=0;break}h=a+160|0;c=f[h>>2]|0;g=a+164|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);fg(h,f[q>>2]|0);h=a+172|0;c=f[h>>2]|0;g=a+176|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);fg(h,f[q>>2]|0);c=f[a+36>>2]|0;g=a+40|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~(((e+-12-c|0)>>>0)/12|0)*12|0);c=f[a+48>>2]|0;g=a+52|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+64>>2]=0;c=f[a+72>>2]|0;g=a+76|0;e=f[g>>2]|0;if((e|0)!=(c|0))f[g>>2]=e+(~((e+-4-c|0)>>>2)<<2);f[a+84>>2]=-1;f[a+92>>2]=-1;f[a+88>>2]=-1;c=f[(f[l>>2]|0)+32>>2]|0;o=c+8|0;n=f[o+4>>2]|0;h=c+16|0;g=h;e=f[g>>2]|0;g=f[g+4>>2]|0;if((n|0)>(g|0)|((n|0)==(g|0)?(f[o>>2]|0)>>>0>e>>>0:0)){j=b[(f[c>>2]|0)+e>>0]|0;i=Ij(e|0,g|0,1,0)|0;o=h;f[o>>2]=i;f[o+4>>2]=I;o=a+212|0;i=f[o>>2]|0;n=a+216|0;c=f[n>>2]|0;if((c|0)!=(i|0))do{f[n>>2]=c+-116;e=f[c+-12>>2]|0;if(e|0){h=c+-8|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-28>>2]|0;if(e|0){h=c+-24|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}e=f[c+-40>>2]|0;if(e|0){h=c+-36|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}_f(c+-112|0);c=f[n>>2]|0}while((c|0)!=(i|0));c=j&255;Ae(o,c);if(Vf(p,f[(f[l>>2]|0)+32>>2]|0)|0?(f[q>>2]|0)>>>0>=(f[p>>2]|0)>>>0:0)if((Vf(m,f[(f[l>>2]|0)+32>>2]|0)|0?Wg(f[v>>2]|0,f[q>>2]|0,(f[m>>2]|0)+(f[k>>2]|0)|0)|0:0)?(q=(f[m>>2]|0)+(f[k>>2]|0)|0,b[t>>0]=1,Wd(a+120|0,q,t),(nc(a,f[(f[l>>2]|0)+32>>2]|0)|0)!=-1):0){q=a+224|0;f[a+368>>2]=a;h=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;h=f[h>>2]|0;h=(f[h>>2]|0)+(f[h+16>>2]|0)|0;i=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;i=f[i>>2]|0;j=i+8|0;i=i+16|0;i=hk(f[j>>2]|0,f[j+4>>2]|0,f[i>>2]|0,f[i+4>>2]|0)|0;j=(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)+32|0;Li(q,h,i,d[(f[j>>2]|0)+38>>1]|0);j=Ma[f[(f[a>>2]|0)+36>>2]&127](a)|0;f[a+372>>2]=j;f[a+376>>2]=(f[m>>2]|0)+(f[k>>2]|0);f[a+364>>2]=c;ui(w);a:do if(bc(q,w)|0){m=Ya(a,f[p>>2]|0)|0;if((m|0)==-1){c=0;break}q=f[(f[l>>2]|0)+32>>2]|0;p=w+16|0;k=f[p>>2]|0;l=(f[w>>2]|0)+k|0;j=w+8|0;p=hk(f[j>>2]|0,f[j+4>>2]|0,k|0,f[p+4>>2]|0)|0;Li(q,l,p,d[q+38>>1]|0);do if((f[n>>2]|0)!=(f[o>>2]|0)){q=f[v>>2]|0;if(((f[q+4>>2]|0)-(f[q>>2]|0)|0)<=0)break;c=0;do{f[r>>2]=c;f[t>>2]=f[r>>2];c=c+3|0;if(!(Ac(a,t)|0)){c=0;break a}q=f[v>>2]|0}while((c|0)<((f[q+4>>2]|0)-(f[q>>2]|0)>>2|0))}while(0);if(b[a+300>>0]|0)Yh(a+264|0);c=f[o>>2]|0;if((f[n>>2]|0)!=(c|0)){h=0;do{mf(c+(h*116|0)+4|0,f[v>>2]|0)|0;c=f[o>>2]|0;e=f[c+(h*116|0)+104>>2]|0;g=f[c+(h*116|0)+108>>2]|0;if((e|0)!=(g|0))do{f[s>>2]=f[e>>2];f[t>>2]=f[s>>2];Kd(c+(h*116|0)+4|0,t);e=e+4|0;c=f[o>>2]|0}while((e|0)!=(g|0));zh(c+(h*116|0)+4|0,0,0);h=h+1|0;c=f[o>>2]|0}while(h>>>0<(((f[n>>2]|0)-c|0)/116|0)>>>0)}j=f[v>>2]|0;j=(f[j+28>>2]|0)-(f[j+24>>2]|0)>>2;g=a+196|0;i=a+200|0;h=f[i>>2]|0;c=f[g>>2]|0;e=h-c>>2;do if(j>>>0>e>>>0)Ve(g,j-e|0);else{if(j>>>0>=e>>>0)break;c=c+(j<<2)|0;if((h|0)==(c|0))break;f[i>>2]=h+(~((h+-4-c|0)>>>2)<<2)}while(0);fg(a+184|0,j);c=f[o>>2]|0;if((f[n>>2]|0)!=(c|0)){l=0;do{k=(f[c+(l*116|0)+60>>2]|0)-(f[c+(l*116|0)+56>>2]|0)>>2;h=f[v>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;k=(k|0)<(h|0)?h:k;h=c+(l*116|0)+88|0;j=c+(l*116|0)+92|0;i=f[j>>2]|0;e=f[h>>2]|0;g=i-e>>2;do if(k>>>0>g>>>0)Ve(h,k-g|0);else{if(k>>>0>=g>>>0)break;e=e+(k<<2)|0;if((i|0)==(e|0))break;f[j>>2]=i+(~((i+-4-e|0)>>>2)<<2)}while(0);fg(c+(l*116|0)+76|0,k);l=l+1|0;c=f[o>>2]|0}while(l>>>0<(((f[n>>2]|0)-c|0)/116|0)>>>0)}c=jb(a,m)|0}else c=0;while(0);Jm(w+24|0)}else c=0;else c=0}else c=0}else c=0;while(0);w=c;u=x;return w|0}function hb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=rm()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Qk(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=ii(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=ii(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(13002+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Lc(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Di(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=13466;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=hk(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=13466;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?13466:13468):13467;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=13466;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=13466;i=x;break}case 109:{i=rm()|0;i=Xk(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:13476;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){gh(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=fb(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=13466;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=mi(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?13466:13466+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=Fg(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=Ke(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=13466;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Wk(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}gh(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Wk(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Qk(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;gh(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;gh(a,32,i,l,n);Qk(a,j,k);gh(a,48,i,l,n^65536);gh(a,48,q,r,0);Qk(a,o,r);gh(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Lc(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function ib(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+32|0;y=A+20|0;z=A+16|0;x=A+4|0;k=A;w=a+32|0;if(!(Vf(y,f[w>>2]|0)|0)){a=0;u=A;return a|0}if(!(Vf(z,f[w>>2]|0)|0)){a=0;u=A;return a|0}o=f[y>>2]|0;if(o>>>0>1431655765){a=0;u=A;return a|0}c=f[z>>2]|0;v=Xi(o|0,0,3,0)|0;t=I;if(0>t>>>0|0==(t|0)&c>>>0>v>>>0){a=0;u=A;return a|0}m=f[w>>2]|0;v=m+8|0;t=f[v+4>>2]|0;d=m+16|0;j=d;i=f[j>>2]|0;j=f[j+4>>2]|0;if(!((t|0)>(j|0)|((t|0)==(j|0)?(f[v>>2]|0)>>>0>i>>>0:0))){a=0;u=A;return a|0}t=b[(f[m>>2]|0)+i>>0]|0;l=Ij(i|0,j|0,1,0)|0;v=I;s=d;f[s>>2]=l;f[s+4>>2]=v;a:do if(!(t<<24>>24)){if(!(Rc(a,o)|0)){a=0;u=A;return a|0}}else{if(c>>>0<256){if(!o)break;p=a+44|0;q=x+4|0;r=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;c=m+8|0;d=f[c>>2]|0;c=f[c+4>>2]|0;b:do if((c|0)>(v|0)|(c|0)==(v|0)&d>>>0>l>>>0){j=m;n=o;k=v;i=c;g=d;m=0;while(1){e=j+16|0;d=f[j>>2]|0;t=b[d+l>>0]|0;c=Ij(l|0,k|0,1,0)|0;v=I;s=e;f[s>>2]=c;f[s+4>>2]=v;f[x>>2]=t&255;if(!((i|0)>(v|0)|(i|0)==(v|0)&g>>>0>c>>>0))break b;t=b[d+c>>0]|0;c=Ij(l|0,k|0,2,0)|0;v=I;s=e;f[s>>2]=c;f[s+4>>2]=v;f[q>>2]=t&255;if(!((i|0)>(v|0)|(i|0)==(v|0)&g>>>0>c>>>0))break b;d=b[d+c>>0]|0;c=Ij(l|0,k|0,3,0)|0;f[e>>2]=c;f[e+4>>2]=I;f[r>>2]=d&255;d=f[p>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Re(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=n}m=m+1|0;if(m>>>0>=c>>>0)break a;j=f[w>>2]|0;k=j+16|0;l=f[k>>2]|0;k=f[k+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;i=j+8|0;g=f[i>>2]|0;i=f[i+4>>2]|0;if(!((i|0)>(k|0)|(i|0)==(k|0)&g>>>0>l>>>0))break;else n=c}}while(0);a=0;u=A;return a|0}if(c>>>0<65536){if(!o)break;r=a+44|0;s=x+4|0;t=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;e=m+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=Ij(i|0,j|0,3,0)|0;d=I;c:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;j=v;n=e;k=g;q=0;while(1){i=m+16|0;g=f[m>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8;c=i;f[c>>2]=p;f[c+4>>2]=d;f[x>>2]=e&65535;e=Ij(l|0,j|0,4,0)|0;c=I;if((n|0)<(c|0)|(n|0)==(c|0)&k>>>0>>0)break c;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8;v=i;f[v>>2]=e;f[v+4>>2]=c;f[s>>2]=d&65535;c=Ij(l|0,j|0,6,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0>>0)break c;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8;v=i;f[v>>2]=c;f[v+4>>2]=d;f[t>>2]=e&65535;d=f[r>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Re(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=o}q=q+1|0;if(q>>>0>=c>>>0)break a;m=f[w>>2]|0;j=m+16|0;l=f[j>>2]|0;j=f[j+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;n=m+8|0;k=f[n>>2]|0;n=f[n+4>>2]|0;p=Ij(l|0,j|0,2,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0

>>0)break;else o=c}}while(0);a=0;u=A;return a|0}t=a+44|0;if((f[(f[t>>2]|0)+80>>2]|0)<2097152?(((h[a+36>>0]|0)<<8|(h[a+37>>0]|0))&65535)>513:0){if(!o)break;i=x+4|0;j=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;d:do if(Vf(k,m)|0){g=0;do{f[x>>2]=f[k>>2];if(!(Vf(k,f[w>>2]|0)|0))break d;f[i>>2]=f[k>>2];if(!(Vf(k,f[w>>2]|0)|0))break d;f[j>>2]=f[k>>2];d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0))Re(d+96|0,x);else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12}g=g+1|0;if(g>>>0>=(f[y>>2]|0)>>>0)break a;v=f[w>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0}while(Vf(k,v)|0)}while(0);a=0;u=A;return a|0}if(o|0){r=x+4|0;s=x+8|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;e=m+8|0;g=f[e>>2]|0;e=f[e+4>>2]|0;c=Ij(i|0,j|0,5,0)|0;d=I;e:do if(!((e|0)<(d|0)|(e|0)==(d|0)&g>>>0>>0)){p=c;j=v;n=e;k=g;q=0;while(1){i=m+16|0;g=f[m>>2]|0;e=g+l|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;c=i;f[c>>2]=p;f[c+4>>2]=d;f[x>>2]=e;e=Ij(l|0,j|0,8,0)|0;c=I;if((n|0)<(c|0)|(n|0)==(c|0)&k>>>0>>0)break e;d=g+p|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;v=i;f[v>>2]=e;f[v+4>>2]=c;f[r>>2]=d;c=Ij(l|0,j|0,12,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0>>0)break e;e=g+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;v=i;f[v>>2]=c;f[v+4>>2]=d;f[s>>2]=e;d=f[t>>2]|0;e=d+100|0;c=f[e>>2]|0;if((c|0)==(f[d+104>>2]|0)){Re(d+96|0,x);c=f[y>>2]|0}else{f[c>>2]=f[x>>2];f[c+4>>2]=f[x+4>>2];f[c+8>>2]=f[x+8>>2];f[e>>2]=(f[e>>2]|0)+12;c=o}q=q+1|0;if(q>>>0>=c>>>0)break a;m=f[w>>2]|0;j=m+16|0;l=f[j>>2]|0;j=f[j+4>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;n=m+8|0;k=f[n>>2]|0;n=f[n+4>>2]|0;p=Ij(l|0,j|0,4,0)|0;d=I;if((n|0)<(d|0)|(n|0)==(d|0)&k>>>0

>>0)break;else o=c}}while(0);a=0;u=A;return a|0}}while(0);f[(f[a+4>>2]|0)+80>>2]=f[z>>2];a=1;u=A;return a|0}function jb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+48|0;H=J+36|0;I=J+24|0;D=J+12|0;C=J;G=a+4|0;e=f[(f[G>>2]|0)+44>>2]|0;E=a+8|0;h=f[E>>2]|0;h=((f[h+4>>2]|0)-(f[h>>2]|0)>>2>>>0)/3|0;i=e+96|0;e=e+100|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;d=f[e>>2]|0;c=f[i>>2]|0;j=(d-c|0)/12|0;if(h>>>0<=j>>>0){if(h>>>0>>0?(g=c+(h*12|0)|0,(d|0)!=(g|0)):0)f[e>>2]=d+(~(((d+-12-g|0)>>>0)/12|0)*12|0)}else Id(i,h-j|0,H);s=a+212|0;r=a+216|0;if((f[s>>2]|0)==(f[r>>2]|0)){e=f[G>>2]|0;c=f[e+44>>2]|0;g=f[c+100>>2]|0;d=f[c+96>>2]|0;if((g-d|0)>0){o=I+4|0;p=I+8|0;k=c;c=e;h=e;n=0;while(1){f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;e=n*3|0;if((n|0)<0)m=-1073741824;else m=f[(f[f[E>>2]>>2]|0)+(e<<2)>>2]|0;f[I>>2]=m;if((e|0)<-1){f[o>>2]=-1073741824;if((e|0)==-2)F=89;else e=-1073741824}else{f[o>>2]=f[(f[f[E>>2]>>2]|0)+(e+1<<2)>>2];F=89}if((F|0)==89){F=0;e=f[(f[f[E>>2]>>2]|0)+(e+2<<2)>>2]|0}f[p>>2]=e;j=k+96|0;e=k+100|0;a=(g-d|0)/12|0;i=d;l=n;n=n+1|0;if((l|0)<(a|0))e=k;else{c=g;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;if(n>>>0<=a>>>0)if(n>>>0>>0?(q=i+(n*12|0)|0,(c|0)!=(q|0)):0){g=c+(~(((c+-12-q|0)>>>0)/12|0)*12|0)|0;f[e>>2]=g;e=k}else e=k;else{Id(j,n-a|0,H);h=f[G>>2]|0;d=f[h+44>>2]|0;i=f[j>>2]|0;e=d;g=f[d+100>>2]|0;d=f[d+96>>2]|0}c=h}f[i+(l*12|0)>>2]=m;f[i+(l*12|0)+4>>2]=f[o>>2];f[i+(l*12|0)+8>>2]=f[p>>2];if((n|0)>=((g-d|0)/12|0|0))break;else k=e}}else c=e;f[(f[c+4>>2]|0)+80>>2]=b;u=J;return 1}f[I>>2]=0;A=I+4|0;f[A>>2]=0;f[I+8>>2]=0;e=f[E>>2]|0;d=(f[e+4>>2]|0)-(f[e>>2]|0)|0;c=d>>2;f[D>>2]=0;b=D+4|0;f[b>>2]=0;f[D+8>>2]=0;do if(c|0)if(c>>>0>1073741823)Wl(D);else{p=Yi(d)|0;f[D>>2]=p;q=p+(c<<2)|0;f[D+8>>2]=q;Cf(p|0,0,d|0)|0;f[b>>2]=q;break}while(0);if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)>0){p=a+120|0;q=I+8|0;c=e;o=0;do{i=f[(f[c+24>>2]|0)+(o<<2)>>2]|0;a:do if((i|0)>=0){b:do if((f[(f[p>>2]|0)+(o>>>5<<2)>>2]&1<<(o&31)|0)==0?(t=f[r>>2]|0,v=f[s>>2]|0,w=v,(t|0)!=(v|0)):0){a=(((i>>>0)%3|0|0)==0?2:-1)+i|0;k=(a|0)<0;m=(t-v|0)/116|0;j=c+12|0;h=c+12|0;l=0;c:while(1){n=f[(f[f[w+(l*116|0)+68>>2]>>2]|0)+(i<<2)>>2]|0;do if(1<<(n&31)&f[(f[w+(l*116|0)+16>>2]|0)+(n>>>5<<2)>>2]|0){g=f[w+(l*116|0)+32>>2]|0;n=f[g+(i<<2)>>2]|0;if(!k){d=f[(f[j>>2]|0)+(a<<2)>>2]|0;do 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)==(i|0))break;else e=d}else e=a;while(1){d=f[g+(e<<2)>>2]|0;if((e|0)<0)break c;if((d|0)!=(n|0)){i=e;break b}d=(((e>>>0)%3|0|0)==0?2:-1)+e|0;do if((d|0)>=0){d=f[(f[h>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);if((d|0)==(i|0))break;else e=d}}while(0);l=l+1|0;if(l>>>0>=m>>>0)break b}while(1)if((d|0)==(n|0))d=n;else{i=e;break}}while(0);d=f[A>>2]|0;f[(f[D>>2]|0)+(i<<2)>>2]=d-(f[I>>2]|0)>>2;f[H>>2]=i;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=i;f[A>>2]=d+4}else{hf(I,H);c=f[E>>2]|0}if((((i|0)>=0?(x=(((i>>>0)%3|0|0)==0?2:-1)+i|0,(x|0)>=0):0)?(y=f[(f[c+12>>2]|0)+(x<<2)>>2]|0,(y|0)>=0):0)?(z=y+(((y>>>0)%3|0|0)==0?2:-1)|0,(z|0)>-1&(z|0)!=(i|0)):0){h=z;g=i;while(1){c=f[r>>2]|0;d=f[s>>2]|0;e=d;d:do if((c|0)!=(d|0)){d=(c-d|0)/116|0;c=0;while(1){n=f[e+(c*116|0)+32>>2]|0;c=c+1|0;if((f[n+(h<<2)>>2]|0)!=(f[n+(g<<2)>>2]|0))break;if(c>>>0>=d>>>0){F=64;break d}}c=f[A>>2]|0;f[(f[D>>2]|0)+(h<<2)>>2]=c-(f[I>>2]|0)>>2;f[H>>2]=h;if(c>>>0<(f[q>>2]|0)>>>0){f[c>>2]=h;f[A>>2]=c+4}else hf(I,H)}else F=64;while(0);if((F|0)==64){F=0;n=f[D>>2]|0;f[n+(h<<2)>>2]=f[n+(g<<2)>>2]}c=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((c|0)<0)break a;c=f[(f[(f[E>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break a;c=c+(((c>>>0)%3|0|0)==0?2:-1)|0;if((c|0)>-1&(c|0)!=(i|0)){g=h;h=c}else break}}}while(0);o=o+1|0;c=f[E>>2]|0}while((o|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0))}g=f[G>>2]|0;c=f[g+44>>2]|0;e=f[c+100>>2]|0;d=f[c+96>>2]|0;if((e-d|0)>0){n=C+4|0;o=C+8|0;k=d;d=g;h=g;l=0;while(1){f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;j=(f[D>>2]|0)+(l*3<<2)|0;f[C>>2]=f[j>>2];f[C+4>>2]=f[j+4>>2];f[C+8>>2]=f[j+8>>2];j=c+96|0;i=c+100|0;a=(e-k|0)/12|0;g=k;m=l;l=l+1|0;if((m|0)<(a|0))i=k;else{d=e;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;if(l>>>0<=a>>>0)if(l>>>0>>0?(B=g+(l*12|0)|0,(d|0)!=(B|0)):0){e=d+(~(((d+-12-B|0)>>>0)/12|0)*12|0)|0;f[i>>2]=e;d=k}else d=k;else{Id(j,l-a|0,H);h=f[G>>2]|0;d=f[h+44>>2]|0;g=f[j>>2]|0;c=d;e=f[d+100>>2]|0;d=f[d+96>>2]|0}i=d;d=h}f[g+(m*12|0)>>2]=f[C>>2];f[g+(m*12|0)+4>>2]=f[n>>2];f[g+(m*12|0)+8>>2]=f[o>>2];if((l|0)>=((e-i|0)/12|0|0))break;else k=i}}else d=g;c=f[I>>2]|0;f[(f[d+4>>2]|0)+80>>2]=(f[A>>2]|0)-c>>2;d=f[D>>2]|0;if(d){c=f[b>>2]|0;if((c|0)!=(d|0))f[b>>2]=c+(~((c+-4-d|0)>>>2)<<2);Em(d);c=f[I>>2]|0}if(c|0){d=f[A>>2]|0;if((d|0)!=(c|0))f[A>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}u=J;return 1}function kb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Xi(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Xi(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Ij(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Cf(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function lb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;k=F+76|0;l=F+72|0;D=F+48|0;m=F+24|0;x=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)i=-1073741824;else i=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;i=-1073741824}h=f[a+36>>2]|0;g=f[h>>2]|0;j=(f[h+4>>2]|0)-g>>2;if(j>>>0<=c>>>0)Wl(h);w=f[g+(c<<2)>>2]|0;if(j>>>0<=i>>>0)Wl(h);h=f[g+(i<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){z=w<<1;q=f[d+(z<<2)>>2]|0;y=((q|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(q|0)|(o|0)!=(z|0))){f[a+8>>2]=q;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;r=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,r,x)|0;r=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;r=hk(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=hk(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=hk(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Xi(r|0,s|0,r|0,s|0)|0;x=I;B=Xi(t|0,v|0,t|0,v|0)|0;x=Ij(B|0,I|0,C|0,x|0)|0;C=I;B=Xi(l|0,m|0,l|0,m|0)|0;B=Ij(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=hk(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=hk(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=hk(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Xi(K|0,J|0,r|0,s|0)|0;d=I;g=Xi(H|0,G|0,t|0,v|0)|0;d=Ij(g|0,I|0,k|0,d|0)|0;k=I;g=Xi(h|0,i|0,l|0,m|0)|0;g=Ij(d|0,k|0,g|0,I|0)|0;k=I;d=hk(n|0,((n|0)<0)<<31>>31|0,q|0,y|0)|0;c=I;w=hk(o|0,((o|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;o=Xi(B|0,C|0,q|0,y|0)|0;n=I;q=Xi(B|0,C|0,z|0,A|0)|0;p=I;D=Xi(g|0,k|0,d|0,c|0)|0;e=I;j=Xi(g|0,k|0,w|0,x|0)|0;A=I;n=Ij(D|0,e|0,o|0,n|0)|0;o=I;p=Ij(j|0,A|0,q|0,p|0)|0;q=I;A=Xi(g|0,k|0,r|0,s|0)|0;j=I;e=Xi(g|0,k|0,t|0,v|0)|0;D=I;m=Xi(g|0,k|0,l|0,m|0)|0;k=I;j=Dg(A|0,j|0,B|0,C|0)|0;l=I;D=Dg(e|0,D|0,B|0,C|0)|0;e=I;k=Dg(m|0,k|0,B|0,C|0)|0;m=I;l=hk(K|0,J|0,j|0,l|0)|0;j=I;e=hk(H|0,G|0,D|0,e|0)|0;D=I;m=hk(h|0,i|0,k|0,m|0)|0;k=I;j=Xi(l|0,j|0,l|0,j|0)|0;l=I;D=Xi(e|0,D|0,e|0,D|0)|0;l=Ij(D|0,I|0,j|0,l|0)|0;j=I;k=Xi(m|0,k|0,m|0,k|0)|0;k=Ij(l|0,j|0,k|0,I|0)|0;j=I;l=hk(0,0,d|0,c|0)|0;m=I;j=Xi(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=23}break}case 1:{if(!c){g=1;c=0;E=24}else{g=1;c=0;h=j;i=k;E=23}break}default:{g=1;c=0;h=j;i=k;E=23}}if((E|0)==23)while(1){g=tj(g|0,c|0,1)|0;c=I;K=h;h=zj(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=24;break}else{i=I;E=23}}if((E|0)==24)while(1){K=il(j|0,k|0,g|0,c|0)|0;g=Ij(K|0,I|0,g|0,c|0)|0;g=zj(g|0,I|0,1)|0;c=I;K=Xi(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=24;else break}E=Xi(g|0,c|0,w|0,x|0)|0;G=I;d=Xi(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=hk(0,0,E|0,G|0)|0;G=Ij(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=hk(0,0,d|0,H|0)|0;H=Ij(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=Dg(G|0,J|0,B|0,C|0)|0;K=Dg(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function mb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;k=F+76|0;l=F+72|0;D=F+48|0;m=F+24|0;x=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);i=f[(f[h>>2]|0)+28>>2]|0;h=f[i+(c<<2)>>2]|0;i=f[i+(g<<2)>>2]|0;g=f[a+36>>2]|0;c=f[g>>2]|0;j=(f[g+4>>2]|0)-c>>2;if(j>>>0<=h>>>0)Wl(g);w=f[c+(h<<2)>>2]|0;if(j>>>0<=i>>>0)Wl(g);h=f[c+(i<<2)>>2]|0;p=(w|0)<(e|0);do if(p&(h|0)<(e|0)){y=w<<1;A=f[d+(y<<2)>>2]|0;q=((A|0)<0)<<31>>31;y=f[d+((y|1)<<2)>>2]|0;z=((y|0)<0)<<31>>31;o=h<<1;n=f[d+(o<<2)>>2]|0;o=f[d+((o|1)<<2)>>2]|0;if(!((n|0)!=(A|0)|(o|0)!=(y|0))){f[a+8>>2]=A;f[a+12>>2]=y;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;r=b[g+24>>0]|0;f[k>>2]=f[l>>2];eb(g,k,r,x)|0;r=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;r=hk(f[r>>2]|0,f[r+4>>2]|0,h|0,i|0)|0;s=I;t=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;t=hk(f[t>>2]|0,f[t+4>>2]|0,j|0,k|0)|0;v=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=hk(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Xi(r|0,s|0,r|0,s|0)|0;x=I;B=Xi(t|0,v|0,t|0,v|0)|0;x=Ij(B|0,I|0,C|0,x|0)|0;C=I;B=Xi(l|0,m|0,l|0,m|0)|0;B=Ij(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=hk(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=hk(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=hk(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Xi(K|0,J|0,r|0,s|0)|0;d=I;g=Xi(H|0,G|0,t|0,v|0)|0;d=Ij(g|0,I|0,k|0,d|0)|0;k=I;g=Xi(h|0,i|0,l|0,m|0)|0;g=Ij(d|0,k|0,g|0,I|0)|0;k=I;d=hk(n|0,((n|0)<0)<<31>>31|0,A|0,q|0)|0;c=I;w=hk(o|0,((o|0)<0)<<31>>31|0,y|0,z|0)|0;x=I;o=Xi(B|0,C|0,A|0,q|0)|0;n=I;q=Xi(B|0,C|0,y|0,z|0)|0;p=I;D=Xi(g|0,k|0,d|0,c|0)|0;e=I;j=Xi(g|0,k|0,w|0,x|0)|0;A=I;n=Ij(D|0,e|0,o|0,n|0)|0;o=I;p=Ij(j|0,A|0,q|0,p|0)|0;q=I;A=Xi(g|0,k|0,r|0,s|0)|0;j=I;e=Xi(g|0,k|0,t|0,v|0)|0;D=I;m=Xi(g|0,k|0,l|0,m|0)|0;k=I;j=Dg(A|0,j|0,B|0,C|0)|0;l=I;D=Dg(e|0,D|0,B|0,C|0)|0;e=I;k=Dg(m|0,k|0,B|0,C|0)|0;m=I;l=hk(K|0,J|0,j|0,l|0)|0;j=I;e=hk(H|0,G|0,D|0,e|0)|0;D=I;m=hk(h|0,i|0,k|0,m|0)|0;k=I;j=Xi(l|0,j|0,l|0,j|0)|0;l=I;D=Xi(e|0,D|0,e|0,D|0)|0;l=Ij(D|0,I|0,j|0,l|0)|0;j=I;k=Xi(m|0,k|0,m|0,k|0)|0;k=Ij(l|0,j|0,k|0,I|0)|0;j=I;l=hk(0,0,d|0,c|0)|0;m=I;j=Xi(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=22}break}case 1:{if(!c){g=1;c=0;E=23}else{g=1;c=0;h=j;i=k;E=22}break}default:{g=1;c=0;h=j;i=k;E=22}}if((E|0)==22)while(1){g=tj(g|0,c|0,1)|0;c=I;K=h;h=zj(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=23;break}else{i=I;E=22}}if((E|0)==23)while(1){K=il(j|0,k|0,g|0,c|0)|0;g=Ij(K|0,I|0,g|0,c|0)|0;g=zj(g|0,I|0,1)|0;c=I;K=Xi(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=23;else break}E=Xi(g|0,c|0,w|0,x|0)|0;G=I;d=Xi(g|0,c|0,l|0,m|0)|0;H=I;J=a+20|0;D=(f[J>>2]|0)+-1|0;K=(1<<(D&31)&f[(f[a+16>>2]|0)+(D>>>5<<2)>>2]|0)!=0;f[J>>2]=D;J=hk(0,0,E|0,G|0)|0;G=Ij(n|0,o|0,(K?E:J)|0,(K?G:I)|0)|0;J=I;E=hk(0,0,d|0,H|0)|0;H=Ij(p|0,q|0,(K?d:E)|0,(K?H:I)|0)|0;K=I;J=Dg(G|0,J|0,B|0,C|0)|0;K=Dg(H|0,K|0,B|0,C|0)|0;f[a+8>>2]=J;f[a+12>>2]=K;u=F;return}while(0);do if(p)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function nb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;S=u;u=u+96|0;F=S+92|0;G=S+88|0;H=S+72|0;M=S+48|0;N=S+24|0;O=S;L=a+4|0;m=f[L>>2]|0;if(!m)ra(8295,8317,46,8487);K=a+8|0;l=f[K>>2]|0;if(!l)ra(8295,8317,46,8487);J=a+16|0;k=f[J>>2]|0;n=f[c>>2]|0;f[H>>2]=k;f[H+4>>2]=n;D=H+8|0;f[D>>2]=n;b[H+12>>0]=1;k=f[(f[k+28>>2]|0)+(n<<2)>>2]|0;E=a+20|0;i=f[E>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0)Wl(i);c=f[l+(f[c+(k<<2)>>2]<<2)>>2]|0;if(!(b[m+84>>0]|0))c=f[(f[m+68>>2]|0)+(c<<2)>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;f[G>>2]=c;i=b[m+24>>0]|0;f[F>>2]=f[G>>2];eb(m,F,i,M)|0;i=f[D>>2]|0;w=a+28|0;c=(f[w>>2]|0)==0;a:do if((i|0)>=0){A=N+8|0;x=M+8|0;C=N+16|0;y=M+16|0;z=O+8|0;B=O+16|0;k=(n|0)<0;t=n+1|0;v=n+(k?0:((n>>>0)%3|0|0)==0?2:-1)|0;t=k?n:((t|0)%3|0|0)==0?n+-2|0:t;k=0;r=0;l=0;s=0;m=0;o=0;while(1){do if(!c){c=i+1|0;c=((c|0)%3|0|0)==0?i+-2|0:c;if(!((i>>>0)%3|0)){q=i+2|0;break}else{q=i+-1|0;break}}else{c=t;q=v}while(0);p=f[L>>2]|0;if(!p){c=16;break}a=f[K>>2]|0;if(!a){c=16;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(c<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=18;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;f[G>>2]=c;n=b[p+24>>0]|0;f[F>>2]=f[G>>2];eb(p,F,n,N)|0;p=f[L>>2]|0;if(!p){c=23;break}a=f[K>>2]|0;if(!a){c=23;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(q<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=25;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;f[O+16>>2]=0;f[O+20>>2]=0;f[G>>2]=c;i=b[p+24>>0]|0;f[F>>2]=f[G>>2];eb(p,F,i,O)|0;i=N;_=M;Z=f[_>>2]|0;_=f[_+4>>2]|0;i=hk(f[i>>2]|0,f[i+4>>2]|0,Z|0,_|0)|0;c=I;q=A;aa=x;$=f[aa>>2]|0;aa=f[aa+4>>2]|0;q=hk(f[q>>2]|0,f[q+4>>2]|0,$|0,aa|0)|0;p=I;U=C;n=y;T=f[n>>2]|0;n=f[n+4>>2]|0;U=hk(f[U>>2]|0,f[U+4>>2]|0,T|0,n|0)|0;V=I;W=O;_=hk(f[W>>2]|0,f[W+4>>2]|0,Z|0,_|0)|0;Z=I;W=z;aa=hk(f[W>>2]|0,f[W+4>>2]|0,$|0,aa|0)|0;$=I;W=B;n=hk(f[W>>2]|0,f[W+4>>2]|0,T|0,n|0)|0;T=I;W=Xi(n|0,T|0,q|0,p|0)|0;a=I;Y=Xi(aa|0,$|0,U|0,V|0)|0;X=I;V=Xi(_|0,Z|0,U|0,V|0)|0;U=I;T=Xi(n|0,T|0,i|0,c|0)|0;n=I;c=Xi(aa|0,$|0,i|0,c|0)|0;i=I;p=Xi(_|0,Z|0,q|0,p|0)|0;q=I;k=hk(k|0,r|0,Y|0,X|0)|0;k=Ij(k|0,I|0,W|0,a|0)|0;a=I;l=Ij(V|0,U|0,l|0,s|0)|0;l=hk(l|0,I|0,T|0,n|0)|0;n=I;m=hk(m|0,o|0,p|0,q|0)|0;m=Ij(m|0,I|0,c|0,i|0)|0;o=I;dd(H);i=f[D>>2]|0;c=(f[w>>2]|0)==0;if((i|0)<0){j=a;Q=k;R=n;h=l;g=o;e=m;P=c;break a}else{r=a;s=n}}if((c|0)==16)ra(8295,8544,70,8714);else if((c|0)==18)Wl(n);else if((c|0)==23)ra(8295,8544,70,8714);else if((c|0)==25)Wl(n)}else{j=0;Q=0;R=0;h=0;g=0;e=0;P=c}while(0);aa=(j|0)>-1|(j|0)==-1&Q>>>0>4294967295;i=hk(0,0,Q|0,j|0)|0;c=aa?j:I;X=(R|0)>-1|(R|0)==-1&h>>>0>4294967295;Y=hk(0,0,h|0,R|0)|0;Z=X?R:I;$=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;_=hk(0,0,e|0,g|0)|0;$=Ij((X?h:Y)|0,Z|0,($?e:_)|0,($?g:I)|0)|0;c=Ij($|0,I|0,(aa?Q:i)|0,c|0)|0;i=I;if(P)if((c|0)>536870912){aa=zj(c|0,i|0,29)|0;aa=aa&7;i=Dg(Q|0,j|0,aa|0,0)|0;j=I;h=Dg(h|0,R|0,aa|0,0)|0;c=I;e=Dg(e|0,g|0,aa|0,0)|0;g=I}else{i=Q;c=R}else if((i|0)>0|(i|0)==0&c>>>0>536870912){$=zj(c|0,i|0,29)|0;aa=I;i=Dg(Q|0,j|0,$|0,aa|0)|0;j=I;h=Dg(h|0,R|0,$|0,aa|0)|0;c=I;e=Dg(e|0,g|0,$|0,aa|0)|0;g=I}else{i=Q;c=R}_=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;$=hk(0,0,i|0,j|0)|0;aa=_?j:I;V=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;W=hk(0,0,h|0,c|0)|0;X=V?c:I;Z=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Y=hk(0,0,e|0,g|0)|0;Z=Ij((V?h:W)|0,X|0,(Z?e:Y)|0,(Z?g:I)|0)|0;aa=Ij(Z|0,I|0,(_?i:$)|0,aa|0)|0;$=I;if(($|0)<0|($|0)==0&aa>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=S;return}else ra(8509,8317,95,8487)}function ob(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=Ka,l=Ka,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=Jb(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];Zc(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;g=f[d>>2]|0;j=(f[d+4>>2]|0)-g|0;if(!j)i=0;else{_e(B,j);i=f[B>>2]|0;g=f[d>>2]|0}Od(i|0,g|0,j|0)|0;Df(A,c);j=A+12|0;f[j>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;i=f[z>>2]|0;g=f[B>>2]|0;d=i-g|0;if(!d){d=i;i=0}else{_e(j,d);d=f[z>>2]|0;i=f[j>>2]|0;g=f[B>>2]|0}Od(i|0,g|0,d-g|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){i=t;g=s;d=s;while(1){v=X(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else i=i+4|0}v=s+-4|0;i=v&-4;d=t+(i+4)|0;i=v-i|0}else{d=t;g=s;i=s}switch(i|0){case 3:{g=h[d+2>>0]<<16^g;w=12;break}case 2:{w=12;break}case 1:{w=13;break}default:{}}if((w|0)==12){g=h[d+1>>0]<<8^g;w=13}if((w|0)==13)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;j=f[q>>2]|0;r=(j|0)==0;a:do if(!r){p=j+-1|0;d=(p&j|0)==0;if(!d)if(v>>>0>>0)i=v;else i=(v>>>0)%(j>>>0)|0;else i=v&p;g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(i|0))){w=54;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=54;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(i|0))){w=54;break a}g=o+8|0;c=b[g+11>>0]|0;m=c<<24>>24<0;c=c&255;do if(((m?f[o+12>>2]|0:c)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(sh(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{c=c+-1|0;g=g+1|0;if(!c)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=54;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0;if((g|0)!=(i|0)){w=54;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=54;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0;if((g|0)!=(i|0)){w=54;break a}}g=o+8|0;c=b[g+11>>0]|0;m=c<<24>>24<0;c=c&255;do if(((m?f[o+12>>2]|0:c)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(sh(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{c=c+-1|0;g=g+1|0;if(!c)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=54;break}}}else w=54}else{i=0;w=54}while(0);if((w|0)==54){ce(e,a,v,A);c=a+12|0;l=$(((f[c>>2]|0)+1|0)>>>0);D=$(j>>>0);k=$(n[a+16>>2]);do if(r|l>$(D*k)){g=(j>>>0<3|(j+-1&j|0)!=0)&1|j<<1;i=~~$(W($(l/k)))>>>0;ze(a,g>>>0>>0?i:g);g=f[q>>2]|0;i=g+-1|0;if(!(i&g)){j=g;i=i&v;break}if(v>>>0>>0){j=g;i=v}else{j=g;i=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;i=j+-1|0;if(i&j){if(g>>>0>=j>>>0)g=(g>>>0)%(j>>>0)|0}else g=g&i;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[c>>2]=(f[c>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;Em(e)}if((b[x>>0]|0)<0)Em(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;Em(e);u=C;return}function pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))hf(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Fd(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Fd(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Fd(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Fd(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))hf(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))hf(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0;A=u;u=u+176|0;s=A+136|0;w=A+32|0;v=A;t=A+104|0;x=A+100|0;y=a+4|0;q=f[y>>2]|0;d=f[q+32>>2]|0;o=d+8|0;n=f[o>>2]|0;o=f[o+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((o|0)>(l|0)|(o|0)==(l|0)&n>>>0>k>>>0)){c=0;u=A;return c|0}j=f[d>>2]|0;r=b[j+k>>0]|0;d=Ij(k|0,l|0,1,0)|0;m=I;i=p;f[i>>2]=d;f[i+4>>2]=m;if(!((o|0)>(m|0)|(o|0)==(m|0)&n>>>0>d>>>0)){c=0;u=A;return c|0}m=b[j+d>>0]|0;d=Ij(k|0,l|0,2,0)|0;e=I;i=p;f[i>>2]=d;f[i+4>>2]=e;do if(r<<24>>24>-1){i=r<<24>>24;g=f[a+212>>2]|0;if(i>>>0<(((f[a+216>>2]|0)-g|0)/116|0)>>>0){f[g+(i*116|0)>>2]=c;break}else{c=0;u=A;return c|0}}while(0);do if((((h[q+36>>0]|0)<<8|(h[q+37>>0]|0))&65535)>257)if((o|0)>(e|0)|(o|0)==(e|0)&n>>>0>d>>>0){e=b[j+d>>0]|0;o=Ij(k|0,l|0,3,0)|0;f[p>>2]=o;f[p+4>>2]=I;e=e&255;break}else{c=0;u=A;return c|0}else e=0;while(0);n=f[q+44>>2]|0;if(!(m<<24>>24)){if(r<<24>>24<0)d=a+184|0;else{d=r<<24>>24;w=f[a+212>>2]|0;b[w+(d*116|0)+72>>0]=0;d=w+(d*116|0)+76|0}switch((e&255)<<24>>24){case 0:{ac(s,a,d);d=f[s>>2]|0;break}case 1:{zc(s,a,d);d=f[s>>2]|0;break}default:{c=0;u=A;return c|0}}if(!d){c=0;u=A;return c|0}}else{if(e|0){c=0;u=A;return c|0}j=r<<24>>24;if(r<<24>>24<0){c=0;u=A;return c|0}d=Yi(88)|0;i=f[a+212>>2]|0;k=i+(j*116|0)+76|0;f[d+4>>2]=0;f[d>>2]=2332;l=d+12|0;f[l>>2]=2356;m=d+64|0;f[m>>2]=0;f[d+68>>2]=0;f[d+72>>2]=0;e=d+16|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[d+76>>2]=n;f[d+80>>2]=k;f[d+84>>2]=0;p=w+4|0;f[p>>2]=2356;o=w+56|0;f[o>>2]=0;q=w+60|0;f[q>>2]=0;f[w+64>>2]=0;e=w+8|0;g=e+44|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));g=i+(j*116|0)+4|0;f[v>>2]=2356;e=v+4|0;a=e+4|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[e>>2]=g;i=f[i+(j*116|0)+68>>2]|0;i=((f[i+4>>2]|0)-(f[i>>2]|0)>>2>>>0)/3|0;b[s>>0]=0;Wd(v+8|0,i,s);Ra[f[(f[v>>2]|0)+8>>2]&127](v);Wc(t,v);Wc(s,t);f[w>>2]=f[s+4>>2];i=w+4|0;nd(i,s)|0;f[s>>2]=2356;e=f[s+20>>2]|0;if(e|0)Em(e);e=f[s+8>>2]|0;if(e|0)Em(e);f[w+36>>2]=g;f[w+40>>2]=k;f[w+44>>2]=n;f[w+48>>2]=d;f[t>>2]=2356;e=f[t+20>>2]|0;if(e|0)Em(e);e=f[t+8>>2]|0;if(e|0)Em(e);f[d+8>>2]=f[w>>2];nd(l,i)|0;e=d+44|0;t=w+36|0;f[e>>2]=f[t>>2];f[e+4>>2]=f[t+4>>2];f[e+8>>2]=f[t+8>>2];f[e+12>>2]=f[t+12>>2];b[e+16>>0]=b[t+16>>0]|0;qd(m,f[o>>2]|0,f[q>>2]|0);f[v>>2]=2356;e=f[v+20>>2]|0;if(e|0)Em(e);e=f[v+8>>2]|0;if(e|0)Em(e);e=f[o>>2]|0;if(e|0){g=f[q>>2]|0;if((g|0)!=(e|0))f[q>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}f[p>>2]=2356;e=f[w+24>>2]|0;if(e|0)Em(e);e=f[w+12>>2]|0;if(e|0)Em(e)}e=Yi(64)|0;f[x>>2]=d;rh(e,x);l=e;d=f[x>>2]|0;f[x>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[y>>2]|0;if((c|0)<0){Ra[f[(f[e>>2]|0)+4>>2]&127](e);c=0;u=A;return c|0}k=d+8|0;j=d+12|0;d=f[j>>2]|0;e=f[k>>2]|0;i=d-e>>2;do if((i|0)<=(c|0)){g=c+1|0;if(g>>>0>i>>>0){Dd(k,g-i|0);break}if(g>>>0>>0?(z=e+(g<<2)|0,(d|0)!=(z|0)):0)do{y=d+-4|0;f[j>>2]=y;d=f[y>>2]|0;f[y>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[j>>2]|0}while((d|0)!=(z|0))}while(0);c=(f[k>>2]|0)+(c<<2)|0;d=f[c>>2]|0;f[c>>2]=l;if(!d){c=1;u=A;return c|0}Ra[f[(f[d>>2]|0)+4>>2]&127](d);c=1;u=A;return c|0}function rb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))hf(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Fd(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Fd(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;g=d+(i>>>5<<2)|0;f[g>>2]=1<<(i&31)|f[g>>2];g=f[(f[e+28>>2]|0)+(f[b>>2]<<2)>>2]|0;d=(f[n>>2]|0)+(g>>>5<<2)|0;i=1<<(g&31);c=f[d>>2]|0;do if(!(i&c)){h=f[(f[e+40>>2]|0)+(g<<2)>>2]|0;if((h|0)<0){f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Fd(k,t,w);y=40;break}m=f[(f[f[e+64>>2]>>2]|0)+(h<<2)>>2]|0;m=(1<<(m&31)&f[(f[e+12>>2]|0)+(m>>>5<<2)>>2]|0)==0;f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Fd(k,t,w);if(m){e=f[a>>2]|0;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}else y=40}else y=40;while(0);if((y|0)==40){y=0;e=f[a>>2]|0;d=f[b>>2]|0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){hf(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function sb(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[4006]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[4007]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[4004]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[4002]=f[4002]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=16312+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[4003]=f[4003]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[4007]|0;if((k|0)==(f[4008]|0)){k=(f[4005]|0)+b|0;f[4005]=k;f[4008]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[4007]=0;f[4004]=0;return}if((k|0)==(a|0)){k=(f[4004]|0)+b|0;f[4004]=k;f[4007]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[4002]=f[4002]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=16312+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[4003]=f[4003]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[4007]|0)){f[4004]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=16048+(a<<1<<2)|0;b=f[4002]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=16312+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[4003]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[4003]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[4010]|0)+-1|0;f[4010]=k;if(!k)a=16464;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[4010]=-1;return}function tb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+48|0;I=J+24|0;G=J+12|0;m=J;if(!b){I=0;u=J;return I|0}F=a+12|0;n=a+4|0;c=f[n>>2]|0;d=f[a>>2]|0;j=c-d>>2;h=a+16|0;g=f[h>>2]|0;e=f[F>>2]|0;k=g-e>>2;if(j>>>0<=k>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{ee(F,j-k|0,2636);d=f[a>>2]|0;c=f[n>>2]|0}f[I>>2]=0;B=I+4|0;f[B>>2]=0;f[I+8>>2]=0;fg(I,c-d>>2);c=f[n>>2]|0;d=f[a>>2]|0;if((c-d|0)>0){j=0;do{k=f[d+(j<<2)>>2]|0;g=f[B>>2]|0;e=f[I>>2]|0;i=g-e>>2;if((k|0)>=(i|0)){h=k+1|0;f[G>>2]=0;if(h>>>0<=i>>>0){if(h>>>0>>0?(l=e+(h<<2)|0,(g|0)!=(l|0)):0)f[B>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{ee(I,h-i|0,G);c=f[n>>2]|0;d=f[a>>2]|0}}A=(f[I>>2]|0)+(k<<2)|0;f[A>>2]=(f[A>>2]|0)+1;j=j+1|0}while((j|0)<(c-d>>2|0))}c=c-d|0;h=c>>2;f[G>>2]=0;A=G+4|0;f[A>>2]=0;f[G+8>>2]=0;if(!h){e=0;d=0}else{if(h>>>0>536870911)Wl(G);g=Yi(c<<1)|0;f[A>>2]=g;f[G>>2]=g;f[G+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){z=e;f[z>>2]=-1;f[z+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[A>>2]=g+(h<<3);e=g;d=g}c=f[B>>2]|0;g=f[I>>2]|0;h=c-g|0;z=h>>2;f[m>>2]=0;y=m+4|0;f[y>>2]=0;f[m+8>>2]=0;x=g;do if(z)if(z>>>0>1073741823)Wl(m);else{E=Yi(h)|0;f[m>>2]=E;D=E+(z<<2)|0;f[m+8>>2]=D;Cf(E|0,0,h|0)|0;f[y>>2]=D;C=E;break}else{C=0;D=0;E=0}while(0);if((c|0)!=(g|0)){c=0;g=0;do{f[C+(c<<2)>>2]=g;g=(f[x+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}w=f[a>>2]|0;c=(f[n>>2]|0)-w|0;if((c|0)>0){v=a+40|0;t=c>>2;l=C;r=0;j=e;p=e;q=e;o=e;s=e;while(1){i=(r|0)<0;c=r+1|0;if(!i){c=((c|0)%3|0|0)==0?r+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[w+(c<<2)>>2]|0;c=(r>>>0)%3|0;g=((c|0)==0?2:-1)+r|0;if((g|0)<0){a=-1073741824;n=h}else{a=f[w+(g<<2)>>2]|0;n=h}}else{c=(r>>>0)%3|0;a=-1073741824;n=-1073741824}if((r|0)==((i?-1073741824:r-c|0)|0)){if(i)c=-1073741824;else c=f[w+(r<<2)>>2]|0;if((n|0)==(a|0)|((c|0)==(n|0)|(c|0)==(a|0))){f[v>>2]=(f[v>>2]|0)+1;i=r+2|0;h=p;k=q;c=o;g=s}else H=55}else H=55;a:do if((H|0)==55){H=0;m=f[x+(a<<2)>>2]|0;b:do if((m|0)>0){c=0;i=f[l+(a<<2)>>2]|0;while(1){g=f[o+(i<<3)>>2]|0;if((g|0)<0){g=j;h=p;c=o;break b}if((g|0)==(n|0))break;c=c+1|0;if((c|0)<(m|0))i=i+1|0;else{g=j;h=p;c=o;break b}}k=f[o+(i<<3)+4>>2]|0;h=p;while(1){c=c+1|0;if((c|0)>=(m|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[j+(i<<3)>>2]|0)<0)break;else{i=g;h=j}}f[q+(i<<3)>>2]=-1;if((k|0)<0){g=q;h=q;c=q}else{i=f[F>>2]|0;f[i+(r<<2)>>2]=k;f[i+(k<<2)>>2]=r;i=r;j=q;h=q;k=q;c=q;g=s;break a}}else{g=j;h=p;c=o}while(0);i=f[x+(n<<2)>>2]|0;if((i|0)>0){h=0;c=f[C+(n<<2)>>2]|0;while(1){g=s+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){l=C;i=r;j=s;h=s;k=s;c=s;g=s;break a}else c=c+1|0}f[g>>2]=a;f[e+(c<<3)+4>>2]=r;l=C;i=r;j=e;h=e;k=e;c=e;g=e}else{i=r;j=g;k=q;g=s}}while(0);r=i+1|0;if((r|0)>=(t|0))break;else{p=h;q=k;o=c;s=g}}}f[b>>2]=z;if(C){if((D|0)!=(C|0))f[y>>2]=D+(~((D+-4-C|0)>>>2)<<2);Em(E);d=f[G>>2]|0;e=d}if(e|0){c=f[A>>2]|0;if((c|0)!=(e|0))f[A>>2]=c+(~((c+-8-e|0)>>>3)<<3);Em(d)}c=f[I>>2]|0;if(c|0){d=f[B>>2]|0;if((d|0)!=(c|0))f[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}I=1;u=J;return I|0}function ub(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))hf(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Fd(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Fd(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){m=(c|0)/3|0;d=d+(m>>>5<<2)|0;f[d>>2]=1<<(m&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)i=-1073741824;else i=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;h=(f[n>>2]|0)+(i>>>5<<2)|0;j=1<<(i&31);g=f[h>>2]|0;do if(!(j&g)){e=f[a>>2]|0;c=f[(f[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=f[(f[e+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}}f[h>>2]=g|j;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Fd(k,t,w);if((c|0)<0){d=f[b>>2]|0;y=42;break}d=f[a>>2]|0;c=f[b>>2]|0;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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}else y=42;while(0);if((y|0)==42){y=0;e=f[a>>2]|0;if((d|0)<0){y=45;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=50;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=55;break a}}else y=50;while(0);if((y|0)==50){y=0;if(g){y=52;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=52;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==45){f[w>>2]=-1073741824;y=52}else if((y|0)==55){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){hf(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==52){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function vb(a,c){a=a|0;c=c|0;var d=0,e=0,g=Ka,i=Ka,j=0,k=0,l=0,m=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=Ka;v=b[c+11>>0]|0;x=v<<24>>24<0;w=x?f[c>>2]|0:c;v=x?f[c+4>>2]|0:v&255;if(v>>>0>3){j=w;m=v;k=v;while(1){x=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(x>>>24^x,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}x=v+-4|0;k=x&-4;l=w+(k+4)|0;j=m;k=x-k|0}else{l=w;j=v;k=v}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;z=6;break}case 2:{o=j;z=6;break}case 1:{p=j;z=7;break}default:q=j}if((z|0)==6){p=h[l+1>>0]<<8^o;z=7}if((z|0)==7)q=X(h[l>>0]^p,1540483477)|0;x=X(q>>>13^q,1540483477)|0;x=x>>>15^x;t=a+4|0;s=f[t>>2]|0;u=(s|0)==0;a:do if(!u){q=s+-1|0;k=(q&s|0)==0;if(!k)if(x>>>0>>0)r=x;else r=(x>>>0)%(s>>>0)|0;else r=x&q;j=f[(f[a>>2]|0)+(r<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){p=(v|0)==0;if(k){if(p){d=e;while(1){w=f[d+4>>2]|0;if(!((w|0)==(x|0)|(w&q|0)==(r|0))){d=r;break a}w=b[d+8+11>>0]|0;if(!((w<<24>>24<0?f[d+12>>2]|0:w&255)|0)){j=d;break}d=f[d>>2]|0;if(!d){d=r;break a}}a=j+20|0;return a|0}else j=e;b:while(1){o=f[j+4>>2]|0;if(!((o|0)==(x|0)|(o&q|0)==(r|0))){d=r;break a}k=j+8|0;m=b[k+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[j+12>>2]|0:m)|0)==(v|0)){l=f[k>>2]|0;if(o)if(!(sh(l,w,v)|0)){z=63;break b}else break;if((l&255)<<24>>24==(b[w>>0]|0)){l=w;do{m=m+-1|0;k=k+1|0;if(!m){z=63;break b}l=l+1|0}while((b[k>>0]|0)==(b[l>>0]|0))}}while(0);j=f[j>>2]|0;if(!j){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}if(p){while(1){d=f[e+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=s>>>0)d=(d>>>0)%(s>>>0)|0;if((d|0)!=(r|0)){d=r;break a}}w=b[e+8+11>>0]|0;if(!((w<<24>>24<0?f[e+12>>2]|0:w&255)|0)){j=e;break}e=f[e>>2]|0;if(!e){d=r;break a}}a=j+20|0;return a|0}c:while(1){j=f[e+4>>2]|0;if((j|0)!=(x|0)){if(j>>>0>=s>>>0)j=(j>>>0)%(s>>>0)|0;if((j|0)!=(r|0)){d=r;break a}}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(v|0)){k=f[j>>2]|0;if(m)if(!(sh(k,w,v)|0)){j=e;z=63;break c}else break;if((k&255)<<24>>24==(b[w>>0]|0)){k=w;do{l=l+-1|0;j=j+1|0;if(!l){j=e;z=63;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}else d=r}else d=0;while(0);l=Yi(24)|0;Df(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=x;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);A=$(s>>>0);g=$(n[a+16>>2]);do if(u|i>$(A*g)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~$(W($(i/g)))>>>0;ze(a,d>>>0>>0?e:d);d=f[t>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&x;break}if(x>>>0>>0){j=d;d=x}else{j=d;d=(x>>>0)%(d>>>0)|0}}else j=s;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(e&j){if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0}else d=d&e;y=(f[a>>2]|0)+(d<<2)|0;z=61}}else{f[l>>2]=f[d>>2];y=d;z=61}if((z|0)==61)f[y>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))ra(8295,8317,46,8487);if(!(f[a+8>>2]|0))ra(8295,8317,46,8487);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];we(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];we(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];we(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=hk(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=hk(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=hk(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=hk(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=hk(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=hk(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Xi(H|0,J|0,i|0,h|0)|0;M=I;P=Xi(T|0,S|0,K|0,L|0)|0;O=I;L=Xi(R|0,Q|0,K|0,L|0)|0;K=I;J=Xi(H|0,J|0,n|0,j|0)|0;H=I;j=Xi(T|0,S|0,n|0,j|0)|0;n=I;h=Xi(R|0,Q|0,i|0,h|0)|0;i=I;l=hk(l|0,k|0,P|0,O|0)|0;l=Ij(l|0,I|0,N|0,M|0)|0;k=I;g=Ij(L|0,K|0,g|0,m|0)|0;g=hk(g|0,I|0,J|0,H|0)|0;m=I;c=hk(c|0,e|0,h|0,i|0)|0;c=Ij(c|0,I|0,j|0,n|0)|0;e=I;Td(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=hk(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=hk(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=hk(0,0,c|0,e|0)|0;S=Ij((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Ij(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=zj(h|0,i|0,29)|0;T=T&7;i=Dg(l|0,k|0,T|0,0)|0;j=I;g=Dg(g|0,m|0,T|0,0)|0;h=I;c=Dg(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=zj(h|0,i|0,29)|0;T=I;i=Dg(l|0,k|0,S|0,T|0)|0;j=I;g=Dg(g|0,m|0,S|0,T|0)|0;h=I;c=Dg(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=hk(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=hk(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=hk(0,0,c|0,e|0)|0;Q=Ij((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Ij(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else ra(8509,8317,95,8487)}function xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else hf(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))hf(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else hf(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){hf(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)ra(12948,12860,64,12943);else if((C|0)==33)ra(12948,12860,64,12943)}function yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=u;u=u+16|0;k=l;i=c+8|0;o=i;m=f[o>>2]|0;o=f[o+4>>2]|0;j=c+16|0;g=j;e=f[g>>2]|0;g=Ij(e|0,f[g+4>>2]|0,5,0)|0;n=I;if((o|0)<(n|0)|(o|0)==(n|0)&m>>>0>>0){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}e=(f[c>>2]|0)+e|0;b[d>>0]=b[e>>0]|0;b[d+1>>0]=b[e+1>>0]|0;b[d+2>>0]=b[e+2>>0]|0;b[d+3>>0]=b[e+3>>0]|0;b[d+4>>0]=b[e+4>>0]|0;e=j;e=Ij(f[e>>2]|0,f[e+4>>2]|0,5,0)|0;g=I;o=j;f[o>>2]=e;f[o+4>>2]=g;if(sh(d,12051,5)|0){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=17;g=e;c=12057;i=g+17|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+17>>0]=0;f[a>>2]=-1;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}o=i;n=f[o+4>>2]|0;if(!((n|0)>(g|0)|((n|0)==(g|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}b[d+5>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Ij(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}b[d+6>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Ij(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}b[d+7>>0]=b[(f[c>>2]|0)+e>>0]|0;e=j;e=Ij(f[e>>2]|0,f[e+4>>2]|0,1,0)|0;n=I;o=j;f[o>>2]=e;f[o+4>>2]=n;o=i;m=f[o+4>>2]|0;if(!((m|0)>(n|0)|((m|0)==(n|0)?(f[o>>2]|0)>>>0>e>>>0:0))){e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}b[d+8>>0]=b[(f[c>>2]|0)+e>>0]|0;o=j;m=f[o>>2]|0;o=f[o+4>>2]|0;e=Ij(m|0,o|0,1,0)|0;n=j;f[n>>2]=e;f[n+4>>2]=I;n=f[i>>2]|0;i=f[i+4>>2]|0;o=Ij(m|0,o|0,3,0)|0;m=I;if(!((i|0)<(m|0)|(i|0)==(m|0)&n>>>0>>0)){n=d+10|0;o=(f[c>>2]|0)+e|0;o=h[o>>0]|h[o+1>>0]<<8;b[n>>0]=o;b[n+1>>0]=o>>8;n=j;n=Ij(f[n>>2]|0,f[n+4>>2]|0,2,0)|0;o=j;f[o>>2]=n;f[o+4>>2]=I;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=l;return}e=Yi(32)|0;f[k>>2]=e;f[k+8>>2]=-2147483616;f[k+4>>2]=29;g=e;c=12021;i=g+29|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(i|0));b[e+29>>0]=0;f[a>>2]=-2;Df(a+4|0,k);if((b[k+11>>0]|0)<0)Em(f[k>>2]|0);u=l;return}function zb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=a+8|0;f[z>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{Ve(i,e-j|0);d=f[z>>2]|0}w=f[a+48>>2]|0;x=f[a+52>>2]|0;v=e>>>0>1073741823?-1:e<<2;y=Bm(v)|0;Cf(y|0,0,v|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[y+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;B=18}}else{d=d-(f[i>>2]|0)|0;B=18}if((B|0)==18){B=0;f[g>>2]=d}h=h+1|0;d=f[z>>2]|0}while((h|0)<(d|0))}}r=f[a+56>>2]|0;g=f[r>>2]|0;u=(f[r+4>>2]|0)-g|0;v=u>>2;if((u|0)<=4){Cm(y);return 1}t=a+16|0;s=a+32|0;u=a+12|0;q=a+20|0;o=w+12|0;p=(e|0)>0;n=1;while(1){if(v>>>0<=n>>>0){B=24;break}h=f[g+(n<<2)>>2]|0;m=X(n,e)|0;if((h|0)>=0?(A=f[(f[o>>2]|0)+(h<<2)>>2]|0,(A|0)>=0):0){i=f[w>>2]|0;j=f[x>>2]|0;k=f[j+(f[i+(A<<2)>>2]<<2)>>2]|0;h=A+1|0;h=((h|0)%3|0|0)==0?A+-2|0:h;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;l=f[j+(h<<2)>>2]|0;h=(((A>>>0)%3|0|0)==0?2:-1)+A|0;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;h=f[j+(h<<2)>>2]|0;if((k|0)<(n|0)&(l|0)<(n|0)&(h|0)<(n|0)){k=X(k,e)|0;j=X(l,e)|0;i=X(h,e)|0;if(p){h=0;do{f[y+(h<<2)>>2]=(f[c+(h+i<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+k<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}l=b+(m<<2)|0;k=c+(m<<2)|0;if((d|0)>0){i=0;do{d=f[y+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){j=f[s>>2]|0;f[j+(i<<2)>>2]=h}else{m=f[u>>2]|0;j=f[s>>2]|0;f[j+(i<<2)>>2]=(d|0)<(m|0)?m:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[l+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;h=k+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;B=56}}else{d=d-(f[q>>2]|0)|0;B=56}if((B|0)==56){B=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}else B=34}else B=34;if((B|0)==34){B=0;j=c+((X(n+-1|0,e)|0)<<2)|0;a=b+(m<<2)|0;l=c+(m<<2)|0;if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){k=f[s>>2]|0;f[k+(i<<2)>>2]=h}else{m=f[u>>2]|0;k=f[s>>2]|0;f[k+(i<<2)>>2]=(d|0)<(m|0)?m:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;B=44}}else{d=d-(f[q>>2]|0)|0;B=44}if((B|0)==44){B=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}n=n+1|0;if((n|0)>=(v|0)){B=22;break}}if((B|0)==22){Cm(y);return 1}else if((B|0)==24)Wl(r);return 0}function Ab(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;z=a+8|0;f[z>>2]=e;i=a+32|0;h=a+36|0;g=f[h>>2]|0;d=f[i>>2]|0;j=g-d>>2;if(j>>>0>=e>>>0)if(j>>>0>e>>>0?(k=d+(e<<2)|0,(g|0)!=(k|0)):0){f[h>>2]=g+(~((g+-4-k|0)>>>2)<<2);d=e}else d=e;else{Ve(i,e-j|0);d=f[z>>2]|0}w=f[a+48>>2]|0;x=f[a+52>>2]|0;v=e>>>0>1073741823?-1:e<<2;y=Bm(v)|0;Cf(y|0,0,v|0)|0;if((d|0)>0){k=a+16|0;h=a+32|0;l=a+12|0;i=0;do{d=f[y+(i<<2)>>2]|0;g=f[k>>2]|0;if((d|0)>(g|0)){j=f[h>>2]|0;f[j+(i<<2)>>2]=g}else{v=f[l>>2]|0;j=f[h>>2]|0;f[j+(i<<2)>>2]=(d|0)<(v|0)?v:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=a+20|0;h=0;do{d=(f[b+(h<<2)>>2]|0)+(f[j+(h<<2)>>2]|0)|0;g=c+(h<<2)|0;f[g>>2]=d;if((d|0)<=(f[k>>2]|0)){if((d|0)<(f[l>>2]|0)){d=(f[i>>2]|0)+d|0;E=18}}else{d=d-(f[i>>2]|0)|0;E=18}if((E|0)==18){E=0;f[g>>2]=d}h=h+1|0;d=f[z>>2]|0}while((h|0)<(d|0))}}r=f[a+56>>2]|0;g=f[r>>2]|0;u=(f[r+4>>2]|0)-g|0;v=u>>2;if((u|0)<=4){Cm(y);return 1}t=a+16|0;s=a+32|0;u=a+12|0;q=a+20|0;p=w+64|0;n=w+28|0;o=(e|0)>0;m=1;while(1){if(v>>>0<=m>>>0){E=24;break}h=f[g+(m<<2)>>2]|0;l=X(m,e)|0;if((!((h|0)<0?1:(1<<(h&31)&f[(f[w>>2]|0)+(h>>>5<<2)>>2]|0)!=0)?(D=f[(f[(f[p>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(D|0)>=0):0)?(C=f[n>>2]|0,a=f[x>>2]|0,A=f[a+(f[C+(D<<2)>>2]<<2)>>2]|0,B=D+1|0,B=f[a+(f[C+((((B|0)%3|0|0)==0?D+-2|0:B)<<2)>>2]<<2)>>2]|0,C=f[a+(f[C+((((D>>>0)%3|0|0)==0?2:-1)+D<<2)>>2]<<2)>>2]|0,(A|0)<(m|0)&(B|0)<(m|0)&(C|0)<(m|0)):0){i=X(A,e)|0;j=X(B,e)|0;k=X(C,e)|0;if(o){h=0;do{f[y+(h<<2)>>2]=(f[c+(h+k<<2)>>2]|0)+(f[c+(h+j<<2)>>2]|0)-(f[c+(h+i<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}a=b+(l<<2)|0;k=c+(l<<2)|0;if((d|0)>0){i=0;do{d=f[y+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){j=f[s>>2]|0;f[j+(i<<2)>>2]=h}else{l=f[u>>2]|0;j=f[s>>2]|0;f[j+(i<<2)>>2]=(d|0)<(l|0)?l:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[j+(i<<2)>>2]|0)|0;h=k+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;E=52}}else{d=d-(f[q>>2]|0)|0;E=52}if((E|0)==52){E=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}else{j=c+((X(m+-1|0,e)|0)<<2)|0;a=b+(l<<2)|0;l=c+(l<<2)|0;if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[t>>2]|0;if((d|0)>(h|0)){k=f[s>>2]|0;f[k+(i<<2)>>2]=h}else{h=f[u>>2]|0;k=f[s>>2]|0;f[k+(i<<2)>>2]=(d|0)<(h|0)?h:d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0));if((d|0)>0){i=0;do{d=(f[a+(i<<2)>>2]|0)+(f[k+(i<<2)>>2]|0)|0;h=l+(i<<2)|0;f[h>>2]=d;if((d|0)<=(f[t>>2]|0)){if((d|0)<(f[u>>2]|0)){d=(f[q>>2]|0)+d|0;E=40}}else{d=d-(f[q>>2]|0)|0;E=40}if((E|0)==40){E=0;f[h>>2]=d}i=i+1|0;d=f[z>>2]|0}while((i|0)<(d|0))}}}m=m+1|0;if((m|0)>=(v|0)){E=22;break}}if((E|0)==22){Cm(y);return 1}else if((E|0)==24)Wl(r);return 0}function Bb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))ra(12781,12674,68,12771);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Em(g)}Em(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;Em(g)}Em(e)}Em(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);Em(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;Em(d)}Em(c)}Em(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){lf(d);Em(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){lf(c);Em(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){hi(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v;t=a+68|0;f[t>>2]=(f[t>>2]|0)+1;t=(f[a+8+(b*12|0)+4>>2]|0)-(f[a+8+(b*12|0)>>2]|0)|0;s=t>>2;if((t|0)<=0){u=v;return}p=a+4|0;o=a+56|0;q=a+72|0;t=a+76|0;b=f[a+44+(b<<2)>>2]|0;n=0;a:while(1){l=(b|0)<0;j=l?-1073741824:(b>>>0)/3|0;k=(f[o>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]|1<<(j&31);f[q>>2]=(f[q>>2]|0)+1;do if(n){d=f[a>>2]|0;if((b|0)==-1073741824)h=-1073741824;else{g=(b|0)/3|0;if((b|0)<=-3){m=39;break a}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){m=41;break a}h=f[e+(g*12|0)+(((b|0)%3|0)<<2)>>2]|0}f[t>>2]=h;f[r>>2]=h;g=f[c>>2]|0;e=g+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+8>>2]|0)>>>0){f[d>>2]=h;f[e>>2]=d+4}else hf(g,r);if(!(n&1)){d=b+1|0;if(l)break;b=((d|0)%3|0|0)==0?b+-2|0:d;m=53;break}if(!l)if(!((b>>>0)%3|0)){b=b+2|0;m=53;break}else{b=b+-1|0;m=53;break}}else{e=f[a>>2]|0;h=(b|0)==-1073741824;if(h)e=-1073741824;else{g=(b|0)/3|0;if((b|0)<=-3){m=7;break a}d=f[e+96>>2]|0;if((g|0)>=(((f[e+100>>2]|0)-d|0)/12|0|0)){m=9;break a}e=f[d+(g*12|0)+(((b|0)%3|0)<<2)>>2]|0}f[r>>2]=e;k=f[c>>2]|0;i=k+4|0;d=f[i>>2]|0;j=k+8|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else hf(k,r);d=b+1|0;if(l)if((b|0)==-1073741824)e=-1073741824;else{d=b;m=17}else if(!((d|0)%3|0)){d=b+-2|0;m=19}else m=17;if((m|0)==17)if((d|0)>-3)m=19;else{m=18;break a}if((m|0)==19){m=0;w=f[a>>2]|0;g=(d|0)/3|0;e=f[w+96>>2]|0;if((g|0)>=(((f[w+100>>2]|0)-e|0)/12|0|0)){m=20;break a}e=f[e+(g*12|0)+(((d|0)%3|0)<<2)>>2]|0}f[r>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else hf(k,r);if(l)if(h)e=-1073741824;else{h=b;m=28}else{h=(((b>>>0)%3|0|0)==0?2:-1)+b|0;m=28}if((m|0)==28){d=f[a>>2]|0;g=(h|0)/3|0;if((h|0)<=-3){m=29;break a}e=f[d+96>>2]|0;if((g|0)>=(((f[d+100>>2]|0)-e|0)/12|0|0)){m=31;break a}e=f[e+(g*12|0)+(((h|0)%3|0)<<2)>>2]|0}f[t>>2]=e;f[r>>2]=e;d=f[i>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=e;f[i>>2]=d+4}else hf(k,r);m=53}while(0);if((m|0)==53){m=0;if((b|0)>=0)b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0}n=n+1|0;if((n|0)>=(s|0)){m=3;break}}if((m|0)==3){u=v;return}else if((m|0)==7)ra(12835,12860,63,12943);else if((m|0)==9)ra(12948,12860,64,12943);else if((m|0)==18)ra(12835,12860,63,12943);else if((m|0)==20)ra(12948,12860,64,12943);else if((m|0)==29)ra(12835,12860,63,12943);else if((m|0)==31)ra(12948,12860,64,12943);else if((m|0)==39)ra(12835,12860,63,12943);else if((m|0)==41)ra(12948,12860,64,12943)}function Db(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(6911,6922,60,7043);if((d|0)>=31)ra(7063,6922,61,7043);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(8295,9099,99,9262);if((e|0)!=2)ra(9284,9099,102,9262);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Wl(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];nb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Ij(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Ij(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Xi(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Dg(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Xi(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Dg(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Rg(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;Ie(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Wl(d);else if((g|0)==16)ra(9308,9099,116,9262);else if((g|0)==21)ra(9375,6922,99,9463);return 0}function Eb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=u;u=u+32|0;v=C+28|0;w=C+16|0;x=C+8|0;t=C;y=a+8|0;d=f[y>>2]|0;if((d|0)<=1)ra(6911,6922,60,7043);if((d|0)>=31)ra(7063,6922,61,7043);f[a+72>>2]=d;s=1<>2]=s+-1;s=s+-2|0;r=a+80|0;f[r>>2]=s;q=a+84|0;f[q>>2]=(s|0)/2|0;s=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(8295,9099,99,9262);if((e|0)!=2)ra(9284,9099,102,9262);o=a+36|0;g=f[o>>2]|0;n=(f[g+4>>2]|0)-(f[g>>2]|0)|0;p=n>>2;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;if((n|0)<=0){u=C;return 1}m=w+4|0;n=w+8|0;l=a+88|0;k=x+4|0;d=f[g>>2]|0;if((f[g+4>>2]|0)==(d|0)){j=g;Wl(j)}else{h=d;B=0}while(1){f[t>>2]=f[h+(B<<2)>>2];f[v>>2]=f[t>>2];wb(s,v,w);d=f[w>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[m>>2]|0;e=(g|0)>-1?g:0-g|0;a=Ij(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[n>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Ij(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;i=f[q>>2]|0;if((e|0)==0&(a|0)==0){g=w;d=i}else{D=((i|0)<0)<<31>>31;j=Xi(i|0,D|0,d|0,((d|0)<0)<<31>>31|0)|0;j=Dg(j|0,I|0,e|0,a|0)|0;f[w>>2]=j;d=Xi(i|0,D|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Dg(d|0,I|0,e|0,a|0)|0;f[m>>2]=d;d=i-((j|0)>-1?j:0-j|0)-((d|0)>-1?d:0-d|0)|0;g=n;d=h?d:0-d|0}f[g>>2]=d;j=f[w>>2]|0;h=f[m>>2]|0;D=f[n>>2]|0;if((((h|0)>-1?h:0-h|0)+((j|0)>-1?j:0-j|0)+((D|0)>-1?D:0-D|0)|0)!=(i|0)){g=16;break}D=Rg(l)|0;d=f[w>>2]|0;if(D){d=0-d|0;g=0-(f[m>>2]|0)|0;i=0-(f[n>>2]|0)|0;f[w>>2]=d;f[m>>2]=g;f[n>>2]=i}else{g=f[m>>2]|0;i=f[n>>2]|0}a=(d|0)>-1;h=(g|0)>-1?g:0-g|0;e=(i|0)>-1?i:0-i|0;j=h+(a?d:0-d|0)+e|0;if((j|0)!=(f[q>>2]|0)){g=21;break}if(!a){if((g|0)<0)d=e;else d=(f[r>>2]|0)-e|0;if((i|0)<0){g=d;d=h}else{g=d;d=(f[r>>2]|0)-h|0}}else{g=j+g|0;d=j+i|0}e=(g|0)==0;a=(d|0)==0;h=f[r>>2]|0;do if((d|g|0)!=0?(z=(h|0)==(d|0),A=(h|0)==(g|0),!(e&z|a&A)):0){if(e&(j|0)<(d|0)){g=0;d=(j<<1)-d|0;break}if((j|0)>(d|0)&A){d=(j<<1)-d|0;break}if((j|0)>(g|0)&z){g=(j<<1)-g|0;break}else{g=(j|0)<(g|0)&a?(j<<1)-g|0:g;break}}else{g=h;d=h}while(0);f[x>>2]=g;f[k>>2]=d;D=B<<1;Ie(y,x,b+(D<<2)|0,c+(D<<2)|0);B=B+1|0;if((B|0)>=(p|0)){g=11;break}d=f[o>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=B>>>0){g=12;break}}if((g|0)==11){u=C;return 1}else if((g|0)==12)Wl(d);else if((g|0)==16)ra(9308,9099,116,9262);else if((g|0)==21)ra(9375,6922,99,9463);return 0}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))hf(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))hf(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))hf(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){hf(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Gb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;D=u;u=u+80|0;z=D+76|0;y=D;C=D+72|0;x=D+64|0;B=D+68|0;if(!(Vf(z,c)|0)){C=0;u=D;return C|0}d=f[z>>2]|0;if(!d){C=0;u=D;return C|0}A=a+4|0;h=a+8|0;g=f[h>>2]|0;e=f[A>>2]|0;j=g-e>>2;if(d>>>0>j>>>0){Ve(A,d-j|0);if(!(f[z>>2]|0)){C=1;u=D;return C|0}}else if(d>>>0>>0?(i=e+(d<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2);o=f[a+32>>2]|0;r=c+8|0;t=c+16|0;v=y+60|0;q=o+8|0;p=o+12|0;s=a+16|0;m=a+20|0;n=0;while(1){g=r;e=f[g>>2]|0;g=f[g+4>>2]|0;a=t;j=f[a>>2]|0;a=f[a+4>>2]|0;if(!((g|0)>(a|0)|(g|0)==(a|0)&e>>>0>j>>>0)){d=0;e=44;break}h=f[c>>2]|0;l=b[h+j>>0]|0;d=Ij(j|0,a|0,1,0)|0;k=I;i=t;f[i>>2]=d;f[i+4>>2]=k;if(!((g|0)>(k|0)|(g|0)==(k|0)&e>>>0>d>>>0)){d=0;e=44;break}k=b[h+d>>0]|0;d=Ij(j|0,a|0,2,0)|0;i=I;E=t;f[E>>2]=d;f[E+4>>2]=i;if(!((g|0)>(i|0)|(g|0)==(i|0)&e>>>0>d>>>0)){d=0;e=44;break}i=b[h+d>>0]|0;d=Ij(j|0,a|0,3,0)|0;E=I;F=t;f[F>>2]=d;f[F+4>>2]=E;if(!((g|0)>(E|0)|(g|0)==(E|0)&e>>>0>d>>>0)){d=0;e=44;break}e=b[h+d>>0]|0;F=Ij(j|0,a|0,4,0)|0;d=t;f[d>>2]=F;f[d+4>>2]=I;d=k&255;if((k+-1&255)>10){d=0;e=44;break}Eh(y);h=X(Uh(d)|0,i&255)|0;Uf(y,l&255,0,i,d,e<<24>>24!=0,h,((h|0)<0)<<31>>31,0,0);Vf(C,c)|0;f[v>>2]=f[C>>2];i=Yi(96)|0;xh(i,y);f[x>>2]=i;i=ae(o,x)|0;h=f[x>>2]|0;f[x>>2]=0;if(h|0){F=h+88|0;d=f[F>>2]|0;f[F>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}d=f[h+68>>2]|0;if(d|0){g=h+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);Em(d)}F=h+64|0;d=f[F>>2]|0;f[F>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;Em(e)}Em(d)}Em(h)}if((i|0)<=-1){e=33;break}d=f[q>>2]|0;if(((f[p>>2]|0)-d>>2|0)<=(i|0)){e=35;break}f[(f[d+(i<<2)>>2]|0)+60>>2]=f[C>>2];f[(f[A>>2]|0)+(n<<2)>>2]=i;e=f[m>>2]|0;d=f[s>>2]|0;h=e-d>>2;if((i|0)>=(h|0)){g=i+1|0;f[B>>2]=-1;if(g>>>0<=h>>>0){if(g>>>0>>0?(w=d+(g<<2)|0,(e|0)!=(w|0)):0)f[m>>2]=e+(~((e+-4-w|0)>>>2)<<2)}else{ee(s,g-h|0,B);d=f[s>>2]|0}}f[d+(i<<2)>>2]=n;n=n+1|0;if(n>>>0>=(f[z>>2]|0)>>>0){d=1;e=44;break}}if((e|0)==33)ra(12658,12674,67,12771);else if((e|0)==35)ra(12781,12674,68,12771);else if((e|0)==44){u=D;return d|0}return 0}function Hb(a,c,e,g,i){a=a|0;c=c|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;k=n+12|0;m=n;f[c+40>>2]=e;j=c+32|0;f[j>>2]=g;f[c+4>>2]=i;yb(a,g,k);if(f[a>>2]|0){u=n;return}l=a+4|0;i=l+11|0;if((b[i>>0]|0)<0)Em(f[l>>2]|0);g=h[k+7>>0]|0;if((g|0)!=(Ma[f[(f[c>>2]|0)+8>>2]&127](c)|0)){e=Yi(64)|0;f[m>>2]=e;f[m+8>>2]=-2147483584;f[m+4>>2]=50;g=e;i=12102;j=g+50|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+50>>0]=0;f[a>>2]=-1;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}e=b[k+5>>0]|0;b[c+36>>0]=e;g=b[k+6>>0]|0;b[c+37>>0]=g;if((e+-1&255)>1){e=Yi(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=22;g=e;i=12153;j=g+22|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+22>>0]=0;f[a>>2]=-5;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}if(e<<24>>24==2&(g&255)>2){e=Yi(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=22;g=e;i=12176;j=g+22|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+22>>0]=0;f[a>>2]=-5;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}g=(g&255|(e&255)<<8)&65535;d[(f[j>>2]|0)+38>>1]=g;if((g&65535)>258?(d[k+10>>1]|0)<0:0){Cc(a,c);if(f[a>>2]|0){u=n;return}if((b[i>>0]|0)<0)Em(f[l>>2]|0)}if(!(Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0)){e=Yi(48)|0;f[m>>2]=e;f[m+8>>2]=-2147483600;f[m+4>>2]=33;g=e;i=12199;j=g+33|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+33>>0]=0;f[a>>2]=-1;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}if(!(Ma[f[(f[c>>2]|0)+20>>2]&127](c)|0)){e=Yi(32)|0;f[m>>2]=e;f[m+8>>2]=-2147483616;f[m+4>>2]=31;g=e;i=12233;j=g+31|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+31>>0]=0;f[a>>2]=-1;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}if(Ma[f[(f[c>>2]|0)+24>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=n;return}e=Yi(48)|0;f[m>>2]=e;f[m+8>>2]=-2147483600;f[m+4>>2]=34;g=e;i=12265;j=g+34|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[e+34>>0]=0;f[a>>2]=-1;Df(l,m);if((b[m+11>>0]|0)<0)Em(f[m>>2]|0);u=n;return}function Ib(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(m|0)==(q|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(sh(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(m|0)==(c|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(sh(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function Jb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(q|0)==(m|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(sh(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(c|0)==(m|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(sh(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function Kb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)Em(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;Fk(a,12569);f[a>>2]=3708;wa(a|0,856,80)}s=Yi(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)Em(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(!s){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&r;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;else{h=g;i=e;e=g}a:while(1){q=h;g=i;p=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!s){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&r;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{n=e+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[e+12>>2]|0:m;l=(o|0)==0;if(k){i=e;while(1){j=h+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[h+12>>2]|0:m&255)|0)){h=i;break c}if(!l?sh(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{m=h;h=i;i=m}}}if(l){i=e;while(1){o=b[h+8+11>>0]|0;if((o<<24>>24<0?f[h+12>>2]|0:o&255)|0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{o=h;h=i;i=o}}}l=e;while(1){i=h+8|0;k=b[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[h+12>>2]|0:k&255)|0)){h=l;break c}i=j?f[i>>2]|0:i;if((f[n>>2]&255)<<24>>24==(b[i>>0]|0)){j=m;k=n}else{h=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((b[k>>0]|0)!=(b[i>>0]|0)){h=l;break c}}i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[q>>2]|0;if(!e){d=43;break a}}g=f[e>>2]|0;if(!g){d=43;break a}else{q=e;p=e}}f[h>>2]=p;i=f[e>>2]|0;if(!i){d=43;break}else{h=e;d=g}}if((d|0)==43)return}function Lb(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=a+4|0;t=f[c>>2]|0;c=t;do if((t|0)!=(o|0)){j=t+16|0;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[t+20>>2]|0:i&255;q=b[g+11>>0]|0;r=q<<24>>24<0;q=r?f[g+4>>2]|0:q&255;l=i>>>0>>0;h=l?i:q;if((h|0)!=0?(k=sh(r?f[g>>2]|0:g,m?f[j>>2]|0:j,h)|0,(k|0)!=0):0){if((k|0)<0)break}else u=4;if((u|0)==4?q>>>0>>0:0)break;h=q>>>0>>0?q:i;if((h|0)!=0?(n=sh(m?f[j>>2]|0:j,r?f[g>>2]|0:g,h)|0,(n|0)!=0):0){if((n|0)>=0)u=36}else u=20;if((u|0)==20?!l:0)u=36;if((u|0)==36){f[d>>2]=c;f[e>>2]=c;d=e;return d|0}m=t+4|0;h=f[m>>2]|0;if(!h){i=t+8|0;h=f[i>>2]|0;if((f[h>>2]|0)!=(t|0))do{p=f[i>>2]|0;i=p+8|0;h=f[i>>2]|0}while((f[h>>2]|0)!=(p|0))}else while(1){i=f[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(o|0)){j=h+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;k=l?f[h+20>>2]|0:k&255;i=k>>>0>>0?k:q;if((i|0)!=0?(s=sh(r?f[g>>2]|0:g,l?f[j>>2]|0:j,i)|0,(s|0)!=0):0){if((s|0)<0)break}else u=30;if((u|0)==30?q>>>0>>0:0)break;d=vd(a,d,g)|0;return d|0}while(0);if(!(f[t+4>>2]|0)){f[d>>2]=c;d=m;return d|0}else{f[d>>2]=h;d=h;return d|0}}while(0);e=f[t>>2]|0;do if((t|0)!=(f[a>>2]|0)){if(!e){h=t;while(1){c=f[h+8>>2]|0;if((f[c>>2]|0)==(h|0))h=c;else{h=c;break}}}else{h=e;while(1){c=f[h+4>>2]|0;if(!c)break;else h=c}}c=h;j=h+16|0;k=b[g+11>>0]|0;l=k<<24>>24<0;k=l?f[g+4>>2]|0:k&255;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[h+20>>2]|0:i&255;h=k>>>0>>0?k:i;if((h|0)!=0?(p=sh(m?f[j>>2]|0:j,l?f[g>>2]|0:g,h)|0,(p|0)!=0):0){if((p|0)<0)break}else u=12;if((u|0)==12?i>>>0>>0:0)break;d=vd(a,d,g)|0;return d|0}while(0);if(!e){f[d>>2]=t;d=t;return d|0}else{u=c;f[d>>2]=u;d=u+4|0;return d|0}return 0}function Mb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;if((r|0)<1){c=0;return c|0}m=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;s=X(m,r)|0;Cd(a,m,r);m=a+16|0;q=f[m>>2]|0;q=(f[f[q>>2]>>2]|0)+(f[q+48>>2]|0)|0;o=d+8|0;g=o;e=f[g>>2]|0;g=f[g+4>>2]|0;p=d+16|0;l=p;k=f[l>>2]|0;l=f[l+4>>2]|0;if(!((g|0)>(l|0)|(g|0)==(l|0)&e>>>0>k>>>0)){c=0;return c|0}h=f[d>>2]|0;n=b[h+k>>0]|0;i=Ij(k|0,l|0,1,0)|0;j=I;t=p;f[t>>2]=i;f[t+4>>2]=j;a:do if(!(n<<24>>24)){if(!((g|0)>(j|0)|(g|0)==(j|0)&e>>>0>i>>>0)){t=0;return t|0}n=b[h+i>>0]|0;t=Ij(k|0,l|0,2,0)|0;l=p;f[l>>2]=t;f[l+4>>2]=I;l=n&255;t=(l|0)==(Uh(5)|0);e=f[(f[m>>2]|0)+64>>2]|0;e=(f[e+4>>2]|0)-(f[e>>2]|0)|0;if(t){g=s<<2;if(e>>>0>>0){t=0;return t|0}m=o;o=f[m>>2]|0;m=f[m+4>>2]|0;t=p;e=f[t>>2]|0;t=Ij(e|0,f[t+4>>2]|0,g|0,0)|0;n=I;if((m|0)<(n|0)|(m|0)==(n|0)&o>>>0>>0){t=0;return t|0}else{Od(q|0,(f[d>>2]|0)+e|0,g|0)|0;t=p;t=Ij(f[t>>2]|0,f[t+4>>2]|0,g|0,0)|0;i=p;f[i>>2]=t;f[i+4>>2]=I;i=18;break}}i=X(l,s)|0;if(e>>>0>>0){t=0;return t|0}j=o;h=f[j>>2]|0;j=f[j+4>>2]|0;g=p;e=f[g>>2]|0;g=f[g+4>>2]|0;t=hk(h|0,j|0,e|0,g|0)|0;m=I;if((m|0)<0|(m|0)==0&t>>>0>>0){t=0;return t|0}if(!s)i=19;else{k=n&255;i=j;j=0;while(1){t=Ij(e|0,g|0,k|0,0)|0;n=I;if(!((i|0)<(n|0)|(i|0)==(n|0)&h>>>0>>0)){Od(q+(j<<2)|0,(f[d>>2]|0)+e|0,l|0)|0;e=p;e=Ij(f[e>>2]|0,f[e+4>>2]|0,k|0,0)|0;g=I;t=p;f[t>>2]=e;f[t+4>>2]=g}j=j+1|0;if((j|0)==(s|0)){i=18;break a}h=o;i=f[h+4>>2]|0;h=f[h>>2]|0}}}else if(Ef(s,r,d,q)|0)i=18;else{t=0;return t|0}while(0);do if((i|0)==18)if(!s)i=19;else{g=a+20|0;e=f[g>>2]|0;if(e|0?Ma[f[(f[e>>2]|0)+32>>2]&127](e)|0:0){h=1;break}li(q,s,q);h=1}while(0);if((i|0)==19){g=a+20|0;h=0}e=f[g>>2]|0;if(e|0){if(!(Na[f[(f[e>>2]|0)+40>>2]&127](e,d)|0)){t=0;return t|0}if(h?(t=f[g>>2]|0,!(Pa[f[(f[t>>2]|0)+44>>2]&15](t,q,q,s,r,f[c>>2]|0)|0)):0){t=0;return t|0}}t=1;return t|0}function Nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+64|0;E=F;g=E;i=g+40|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));a:do if(Jc(E,d)|0?md(E,d)|0:0){g=(a|0)==0;b:do if(!g){if(!(f[E+12>>2]|0)){k=0;break a}Sg(d,0,0)|0;if(!g){z=E+44|0;C=E+48|0;y=E+40|0;s=E+16|0;t=E+28|0;A=(c|0)>0;D=d+36|0;x=d+32|0;v=d+24|0;w=d+28|0;i=f[C>>2]|0;B=0;g=0;while(1){c:do if(i>>>0<16384){j=f[z>>2]|0;do{if((j|0)<=0)break c;r=f[y>>2]|0;j=j+-1|0;f[z>>2]=j;i=h[r+j>>0]|i<<8;f[C>>2]=i}while(i>>>0<16384)}while(0);p=i&4095;r=f[(f[s>>2]|0)+(p<<2)>>2]|0;q=f[t>>2]|0;i=(X(f[q+(r<<3)>>2]|0,i>>>12)|0)+p-(f[q+(r<<3)+4>>2]|0)|0;f[C>>2]=i;if(A){p=(r|0)>0;if((r|0)<=-1){g=22;break}if((r|0)<33){q=0;o=g}else{g=21;break}while(1){if(!(b[D>>0]|0)){k=0;break a}if(p){l=f[v>>2]|0;m=f[w>>2]|0;k=f[x>>2]|0;n=0;j=0;do{g=l+(k>>>3)|0;if(g>>>0>>0){g=(h[g>>0]|0)>>>(k&7)&1;k=k+1|0;f[x>>2]=k}else g=0;j=g<>2]=j;q=q+1|0;if((q|0)>=(c|0))break;else o=g}}B=B+c|0;if(B>>>0>=a>>>0)break b}if((g|0)==21){if(!(b[D>>0]|0)){k=0;break a}ra(12416,12315,156,12408)}else if((g|0)==22){if(!(b[D>>0]|0)){k=0;break a}ra(12300,12315,155,12408)}}}else Sg(d,0,0)|0;while(0);Yh(d);k=1}else k=0;while(0);g=f[E+28>>2]|0;if(g|0){j=E+32|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-8-g|0)>>>3)<<3);Em(g)}g=f[E+16>>2]|0;if(g|0){j=E+20|0;i=f[j>>2]|0;if((i|0)!=(g|0))f[j>>2]=i+(~((i+-4-g|0)>>>2)<<2);Em(g)}j=f[E>>2]|0;if(!j){u=F;return k|0}i=E+4|0;g=f[i>>2]|0;if((g|0)!=(j|0))f[i>>2]=g+(~((g+-4-j|0)>>>2)<<2);Em(j);u=F;return k|0}function Ob(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{l=d;d=d+-116|0;f[g+-116>>2]=f[d>>2];j=l+-112|0;f[g+-112>>2]=f[j>>2];k=l+-108|0;f[g+-108>>2]=f[k>>2];m=l+-104|0;f[g+-104>>2]=f[m>>2];f[j>>2]=0;f[k>>2]=0;f[m>>2]=0;m=l+-100|0;f[g+-100>>2]=f[m>>2];k=l+-96|0;f[g+-96>>2]=f[k>>2];j=l+-92|0;f[g+-92>>2]=f[j>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;b[g+-88>>0]=b[l+-88>>0]|0;j=g+-84|0;k=l+-84|0;f[j>>2]=0;m=g+-80|0;f[m>>2]=0;f[g+-76>>2]=0;f[j>>2]=f[k>>2];j=l+-80|0;f[m>>2]=f[j>>2];m=l+-76|0;f[g+-76>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;k=g+-72|0;j=l+-72|0;f[k>>2]=0;m=g+-68|0;f[m>>2]=0;f[g+-64>>2]=0;f[k>>2]=f[j>>2];k=l+-68|0;f[m>>2]=f[k>>2];m=l+-64|0;f[g+-64>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-60|0;k=l+-60|0;f[j>>2]=0;m=g+-56|0;f[m>>2]=0;f[g+-52>>2]=0;f[j>>2]=f[k>>2];j=l+-56|0;f[m>>2]=f[j>>2];m=l+-52|0;f[g+-52>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-48>>2]=f[l+-48>>2];b[g+-44>>0]=b[l+-44>>0]|0;k=g+-40|0;j=l+-40|0;f[k>>2]=0;m=g+-36|0;f[m>>2]=0;f[g+-32>>2]=0;f[k>>2]=f[j>>2];k=l+-36|0;f[m>>2]=f[k>>2];m=l+-32|0;f[g+-32>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[j>>2]=0;j=g+-28|0;k=l+-28|0;f[j>>2]=0;m=g+-24|0;f[m>>2]=0;f[g+-20>>2]=0;f[j>>2]=f[k>>2];j=l+-24|0;f[m>>2]=f[j>>2];m=l+-20|0;f[g+-20>>2]=f[m>>2];f[m>>2]=0;f[j>>2]=0;f[k>>2]=0;f[g+-16>>2]=f[l+-16>>2];k=g+-12|0;j=l+-12|0;f[k>>2]=0;m=g+-8|0;f[m>>2]=0;f[g+-4>>2]=0;f[k>>2]=f[j>>2];k=l+-8|0;f[m>>2]=f[k>>2];l=l+-4|0;f[g+-4>>2]=f[l>>2];f[l>>2]=0;f[k>>2]=0;f[j>>2]=0;g=(f[h>>2]|0)+-116|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Pb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;i=q+32|0;h=q+28|0;o=q+16|0;p=q;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){p=c;p=p+20|0;u=q;return p|0}}jl(o);f[p>>2]=f[b>>2];l=p+4|0;f[p+8>>2]=0;k=p+12|0;f[k>>2]=0;m=p+8|0;f[l>>2]=m;c=f[o>>2]|0;n=o+4|0;if((c|0)!=(n|0)){g=m;do{d=c+16|0;f[h>>2]=g;f[i>>2]=f[h>>2];Vd(l,i,d,d)|0;d=f[c+4>>2]|0;if(!d){d=c+8|0;e=f[d>>2]|0;if((f[e>>2]|0)==(c|0))c=e;else do{b=f[d>>2]|0;d=b+8|0;c=f[d>>2]|0}while((f[c>>2]|0)!=(b|0))}else{c=d;while(1){d=f[c>>2]|0;if(!d)break;else c=d}}}while((c|0)!=(n|0))}i=a+12|0;c=f[j>>2]|0;do if(c){g=f[p>>2]|0;e=a+16|0;while(1){d=f[c+16>>2]|0;if((g|0)<(d|0)){d=f[c>>2]|0;if(!d){d=23;break}else e=c}else{if((d|0)>=(g|0)){d=27;break}e=c+4|0;d=f[e>>2]|0;if(!d){d=26;break}}c=d}if((d|0)==23){h=c;e=c;break}else if((d|0)==26){h=c;break}else if((d|0)==27){h=c;break}}else{h=j;e=j}while(0);c=f[e>>2]|0;if(!c){c=Yi(32)|0;f[c+16>>2]=f[p>>2];b=c+20|0;f[b>>2]=f[l>>2];g=c+24|0;d=f[p+8>>2]|0;f[g>>2]=d;j=f[k>>2]|0;f[c+28>>2]=j;if(!j)f[b>>2]=g;else{f[d+8>>2]=g;f[l>>2]=m;f[m>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[e>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[e>>2]|0}wc(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}Pf(p+4|0,f[m>>2]|0);Pf(o,f[n>>2]|0);p=c;p=p+20|0;u=q;return p|0}function Qb(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Yi(60)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1556;e=b;f[a>>2]=e;return}case 4:{b=Yi(112)|0;f[b>>2]=1192;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1612;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 5:{b=Yi(104)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1668;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Yi(124)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1724;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1780;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cm(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;r=y+12|0;s=y+4|0;p=y+8|0;q=y;x=a+8+(b*12|0)|0;d=f[x>>2]|0;t=a+8+(b*12|0)+4|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c>>2]|0;m=a+4|0;f[s>>2]=(d|0)<0?-1073741824:(d>>>0)/3|0;w=a+56|0;l=a+8+(b*12|0)+8|0;e=d;o=0;do{n=(o|0)==1;if(n){g=(d|0)<0;do if(!g)if(!((d>>>0)%3|0)){e=d+2|0;break}else{e=d+-1|0;break}else e=d;while(0);f[p>>2]=e;f[r>>2]=f[p>>2];if((Sc(a,r)|0)<0)break;e=d+1|0;if(g){v=12;break}e=((e|0)%3|0|0)==0?d+-2|0:e;f[c>>2]=e;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;if((e|0)<0){v=16;break}e=f[(f[(f[m>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;g=e+1|0;if((e|0)<0){v=16;break}e=((g|0)%3|0|0)==0?e+-2|0:g;f[c>>2]=e;if((e|0)<0)break;else{g=0;v=18}}else{i=f[s>>2]|0;k=e;j=0}while(1){if((v|0)==18){v=0;i=(e>>>0)/3|0;f[s>>2]=i;k=e;j=g}h=(f[w>>2]|0)+(i>>>5<<2)|0;g=1<<(i&31);e=f[h>>2]|0;if(g&e|0){e=k;g=j;break}f[h>>2]=e|g;e=f[t>>2]|0;if((e|0)==(f[l>>2]|0))hf(x,s);else{f[e>>2]=f[s>>2];f[t>>2]=e+4}g=j+1|0;if((j|0)>0){do if(!(g&1)){d=n?k:d;if((k|0)>=0)if(!((k>>>0)%3|0)){e=k+2|0;break}else{e=k+-1|0;break}else e=k}else{e=k+1|0;if((k|0)<0)e=k;else e=((e|0)%3|0|0)==0?k+-2|0:e}while(0);f[c>>2]=e}else e=k;f[q>>2]=e;f[r>>2]=f[q>>2];e=Sc(a,r)|0;f[c>>2]=e;if((e|0)<0)break;else v=18}if(!((g&1|0)==0|n^1)){n=f[t>>2]|0;j=f[n+-4>>2]|0;k=(f[w>>2]|0)+(j>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(j&31));f[t>>2]=n+-4}o=o+1|0}while((o|0)<2);if((v|0)==12){f[c>>2]=d;e=d;v=16}if((v|0)==16)f[c>>2]=e;f[a+44+(b<<2)>>2]=d;e=f[t>>2]|0;d=f[x>>2]|0;h=d;if((e|0)==(d|0)){u=y;return}g=f[w>>2]|0;e=e-d>>2;d=0;do{w=f[h+(d<<2)>>2]|0;x=g+(w>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(w&31));d=d+1|0}while(d>>>0>>0);u=y;return}function Sb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Dc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+4194304|0;f[l>>2]=g;e=g>>>0>1073741823;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<4194304)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<4194304);while(0);o=g&1048575;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>20)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Ec(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+2097152|0;f[l>>2]=g;e=g>>>0>536870911;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<2097152)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<2097152);while(0);o=g&524287;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>19)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Fc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+1048576|0;f[l>>2]=g;e=g>>>0>268435455;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<1048576)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<1048576);while(0);o=g&262143;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>18)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Vb(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=Yi(60)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1304;e=b;f[a>>2]=e;return}case 4:{b=Yi(112)|0;f[b>>2]=1192;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1360;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 5:{b=Yi(104)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1416;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=Yi(124)|0;f[b>>2]=1192;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];mg(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1472;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1528;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cm(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Gc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+262144|0;f[l>>2]=g;e=g>>>0>67108863;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<262144)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<262144);while(0);o=g&65535;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>16)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Hc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+131072|0;f[l>>2]=g;e=g>>>0>33554431;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<131072)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<131072);while(0);o=g&32767;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>15)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Ic(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+32768|0;f[l>>2]=g;e=g>>>0>8388607;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<32768)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<32768);while(0);o=g&8191;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>13)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function Zb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+64|0;i=t;s=t+8|0;e=s;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));a:do if(Jc(s,c)|0){p=(a|0)==0;if(!p?(f[s+12>>2]|0)==0:0){c=0;break}if(tf(i,c)|0?(l=i,n=f[l>>2]|0,l=f[l+4>>2]|0,r=c+8|0,m=c+16|0,k=m,j=f[k>>2]|0,k=f[k+4>>2]|0,r=hk(f[r>>2]|0,f[r+4>>2]|0,j|0,k|0)|0,i=I,!(l>>>0>i>>>0|(l|0)==(i|0)&n>>>0>r>>>0)):0){r=(f[c>>2]|0)+j|0;l=Ij(j|0,k|0,n|0,l|0)|0;f[m>>2]=l;f[m+4>>2]=I;b:do if((n|0)>=1){f[s+40>>2]=r;g=n+-1|0;e=r+g|0;switch((h[e>>0]|0)>>>6&3){case 0:{f[s+44>>2]=g;q=g;o=b[e>>0]&63;break}case 1:{if((n|0)<2)break b;q=n+-2|0;f[s+44>>2]=q;o=r+n+-2|0;o=(h[o+1>>0]|0)<<8&16128|(h[o>>0]|0);break}case 2:{if((n|0)<3)break b;q=n+-3|0;f[s+44>>2]=q;o=r+n+-3|0;o=(h[o+1>>0]|0)<<8|(h[o>>0]|0)|(h[o+2>>0]|0)<<16&4128768;break}case 3:{q=n+-4|0;f[s+44>>2]=q;o=r+n+-4|0;o=(h[o+2>>0]|0)<<16|(h[o+3>>0]|0)<<24&1056964608|(h[o+1>>0]|0)<<8|(h[o>>0]|0);break}default:{}}l=s+48|0;g=o+16384|0;f[l>>2]=g;e=g>>>0>4194303;if(e|p){c=e^1;break a}k=s+44|0;c=s+16|0;j=s+28|0;e=q;i=0;while(1){c:do if(g>>>0<16384)do{if((e|0)<=0)break c;e=e+-1|0;f[k>>2]=e;g=h[r+e>>0]|0|g<<8;f[l>>2]=g}while(g>>>0<16384);while(0);o=g&4095;q=f[(f[c>>2]|0)+(o<<2)>>2]|0;p=f[j>>2]|0;g=(X(f[p+(q<<3)>>2]|0,g>>>12)|0)+o-(f[p+(q<<3)+4>>2]|0)|0;f[l>>2]=g;f[d+(i<<2)>>2]=q;i=i+1|0;if((i|0)==(a|0)){c=1;break a}}}while(0);c=0;break}c=0}else c=0;while(0);e=f[s+28>>2]|0;if(e|0){i=s+32|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-8-e|0)>>>3)<<3);Em(e)}e=f[s+16>>2]|0;if(e|0){i=s+20|0;g=f[i>>2]|0;if((g|0)!=(e|0))f[i>>2]=g+(~((g+-4-e|0)>>>2)<<2);Em(e)}i=f[s>>2]|0;if(!i){u=t;return c|0}g=s+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);Em(i);u=t;return c|0}function _b(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=pi(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((pi(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Ij(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;hk(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=hk(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0} // EMSCRIPTEN_END_FUNCS -var Ma=[dm,Ij,nh,yh,ij,Ne,jj,sd,Gb,Nh,Te,Th,Pg,Xe,Th,Qd,uh,Ii,Jf,dm,dm,dm,dm,dm,dm,dm,dm,dm,dm,dm,dm,dm];var Na=[Hl,uf,Wd,Hl];var Oa=[Nm,Jm,Cm,zi,ni,jh,Yg,Af,bl,ye,Ck,ci,Qh,hi,Rh,Rh,Rh,hg,ag,hh,Wg,sh,ih,Jm,Cm,Rh,eg,$f,ah,Rg,oh,bh,Jm,Cm,Qh,Jm,Cm,Wi,Ri,Jm,Cm,cj,Vi,Jm,Cm,mh,ch,Zf,Vf,zf,sf,gc,Bj,vg,ng,Si,Fi,Uh,ei,Zh,Yi,Ni,Xh,yg,sg,oc,oj,Vf,Jm,Cm,Vf,Ng,Gg,zd,Kl,Jm,am,Jm,Jm,am,Jm,am,bj,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm];var Pa=[ym,Dg,ld,Kg,Ab,ym,ym,ym];var Qa=[al,ec,yb,db,pc,di,zb,cb,mc,di,If,Db,Eb,al,al,al];var Ra=[Im,fm,hm,Rk,Sl,hm,uc,Ok,zl,Km,Km,hm,Km,hm,hm,Eh,tj,Eh,Ej,Bh,hm,Gj,wg,hm,Sl,hm,Eh,tj,Eh,Ej,Bh,hm,Gj,wg,hm,Sl,fm,Km,zl,hm,Km,hm,zk,Gj,rg,hm,Sl,Gj,rg,hm,Sl,Xc,hm,hm,qj,lc,_g,hm,Km,be,Wj,bk,Zj,$a,hm,zl,Kk,Nd,id,Sd,bb,hm,zl,Kk,jb,gf,Km,hm,$i,tm,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im];var Sa=[km,Bg,vb,ub,ub,vb,Ed,pd];var Ta=[Pm,wm,Ze,nj];var Ua=[wl,Ph,$g,wl];var Va=[sm,Jh,oe,Fb,Mh,Hk,Nl,_k,fk,_k,tf,xc,Pd,zh,pg,mg,yi,ic,yk,Nl,te,Mc,Ei,Vh,wc,Hi,Sh,_d,wi,Mc,Ei,Vh,wc,Hi,Sh,_d,wi,De,yk,Nl,Ai,Hi,Lh,eh,wi,Hi,Lh,eh,wi,Yj,gd,Nl,Nl,yj,wj,vj,$j,Me,Ue,qb,Pc,Tc,Rc,$j,Me,Ue,qb,wd,vi,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm,sm];var Wa=[Vl,jf,Kf,ii,qh,Vl,Vl,Vl];return{_emscripten_bind_Decoder_GetAttributeFloat_3:rj,_emscripten_bind_PointAttribute_normalized_0:Gl,_bitshift64Lshr:zj,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:aj,_emscripten_bind_DecoderBuffer_Init_2:Fk,_emscripten_bind_PointAttribute_size_0:Yl,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:zm,_sbrk:Hh,_memcpy:Ld,stackSave:Mm,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:xm,_emscripten_bind_Decoder_GetAttributeIdByName_2:gk,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:zm,___udivmoddi4:Wb,_emscripten_bind_Status_ok_0:Xl,_emscripten_bind_Mesh_num_faces_0:Vk,_emscripten_get_global_libc:Gm,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Aj,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:zm,runPostSets:Cj,_emscripten_bind_Decoder_GetEncodedGeometryType_1:ok,___cxa_can_catch:ri,_free:rb,_emscripten_bind_GeometryAttribute___destroy___0:Al,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:xm,_emscripten_bind_PointAttribute_byte_stride_0:Ol,_emscripten_bind_Metadata_Metadata_0:Wh,_emscripten_bind_AttributeQuantizationTransform_min_value_1:nk,_emscripten_bind_Decoder_Decoder_0:El,_emscripten_bind_MetadataQuerier_GetStringEntry_2:Uj,_emscripten_bind_MetadataQuerier_GetIntEntry_2:dk,_emscripten_bind_Decoder___destroy___0:Ag,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:pm,getTempRet0:Lm,setThrew:Bl,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Sj,_emscripten_bind_AttributeTransformData___destroy___0:Mi,_emscripten_bind_PointAttribute_num_components_0:Ll,___cxa_is_pointer_type:Bk,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:ik,_llvm_cttz_i32:ti,_emscripten_bind_AttributeQuantizationTransform___destroy___0:qk,stackAlloc:Uk,_emscripten_bind_DracoInt32Array___destroy___0:ui,_emscripten_bind_Mesh_num_points_0:Yl,___divdi3:Cg,_emscripten_bind_Mesh_Mesh_0:Fl,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:ul,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:ak,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:mj,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Tj,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:Vj,_emscripten_bind_Mesh_num_attributes_0:fl,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:zl,_emscripten_bind_AttributeOctahedronTransform___destroy___0:qk,_llvm_bswap_i32:sl,_emscripten_bind_Decoder_GetAttributeMetadata_2:_j,_emscripten_bind_PointAttribute_unique_id_0:Rl,establishStackSpace:Ul,_emscripten_enum_draco_StatusCode_IO_ERROR:vm,_emscripten_bind_MetadataQuerier_HasIntEntry_2:ck,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:Lj,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:jm,_emscripten_bind_PointCloud_num_attributes_0:fl,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Zk,_emscripten_bind_DracoInt32Array_size_0:ol,_emscripten_bind_Decoder_SkipAttributeTransform_1:mk,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:om,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:ej,_emscripten_enum_draco_StatusCode_ERROR:xm,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:zl,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:nm,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:pm,_emscripten_bind_VoidPtr___destroy___0:Al,_memset:vf,_emscripten_bind_PointAttribute_attribute_type_0:Jl,_emscripten_bind_MetadataQuerier___destroy___0:Al,_emscripten_bind_DracoInt32Array_GetValue_1:$k,_emscripten_bind_DecoderBuffer___destroy___0:Gk,_emscripten_bind_Decoder_GetAttribute_2:vk,_emscripten_bind_PointCloud___destroy___0:qk,_i64Subtract:Dj,setTempRet0:Fm,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Yk,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:rm,_emscripten_bind_DracoFloat32Array___destroy___0:ui,_emscripten_bind_PointCloud_num_points_0:Yl,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:om,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Ik,___muldsi3:ai,_emscripten_bind_Decoder_GetFaceFromMesh_3:Hj,_emscripten_bind_PointAttribute_data_type_0:Sl,_emscripten_bind_DracoFloat32Array_size_0:ol,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:Xj,_malloc:Za,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:Cl,_emscripten_bind_PointAttribute_byte_offset_0:Pl,_emscripten_replace_memory:La,_memmove:li,_emscripten_bind_PointCloud_PointCloud_0:kl,_emscripten_bind_Status_error_msg_0:Pj,_emscripten_bind_Mesh___destroy___0:qk,_emscripten_bind_Metadata___destroy___0:Mk,_emscripten_bind_Status___destroy___0:Oj,___udivdi3:il,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:xm,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Ji,_emscripten_bind_AttributeQuantizationTransform_range_0:yl,_bitshift64Shl:uj,_emscripten_bind_Decoder_GetAttributeId_2:Kj,_emscripten_enum_draco_StatusCode_OK:zm,_emscripten_bind_AttributeTransformData_transform_type_0:em,_emscripten_bind_Status_code_0:em,___muldi3:Zi,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:jk,___uremdi3:Qi,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Yk,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:mm,_i64Add:lk,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Rj,_emscripten_bind_DracoFloat32Array_GetValue_1:Jk,_emscripten_bind_PointAttribute_PointAttribute_0:Tk,_emscripten_bind_Decoder_GetMetadata_1:Nk,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:om,stackRestore:Dm,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:Xj,_emscripten_bind_PointAttribute___destroy___0:Rf,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:lm,stackAlloc:Uk,stackSave:Mm,stackRestore:Dm,establishStackSpace:Ul,setThrew:Bl,setTempRet0:Fm,getTempRet0:Lm,dynCall_iiii:Ek,dynCall_viiiii:Qj,dynCall_vi:Zl,dynCall_vii:Dl,dynCall_iiiiiii:kj,dynCall_ii:Ql,dynCall_viii:Sk,dynCall_v:um,dynCall_viiiiii:pj,dynCall_iii:rl,dynCall_viiii:sk}}) +var Ma=[Im,hm,im,Rk,Tl,im,pc,Ok,wl,Km,Km,im,Km,im,im,yh,sj,yh,Cj,vh,im,Ej,zg,im,Tl,im,yh,sj,yh,Cj,vh,im,Ej,zg,im,Tl,hm,Km,wl,im,Km,im,yk,Ej,ug,im,Tl,Ej,ug,im,Tl,$c,im,im,pj,rc,Xg,im,Km,_d,Vj,ak,Yj,cb,im,wl,Kk,xd,cd,Hd,gb,im,wl,Kk,ib,jf,Km,im,Zi,Il,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im,Im];var Na=[tm,Dh,qe,Gb,Hh,Hk,Ol,_k,ek,_k,zf,yc,Rd,uh,sg,pg,vi,ic,xk,Ol,xe,Nc,Bi,Rh,xc,Ei,Oh,Yd,ti,Nc,Bi,Rh,xc,Ei,Oh,Yd,ti,Ge,xk,Ol,xi,Ei,Fh,ah,ti,Ei,Fh,ah,ti,Xj,kd,Ol,Ol,yj,wj,uj,_j,Ne,We,qb,Qc,Vc,Tc,_j,Ne,We,qb,Ad,ri,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm,tm];var Oa=[fm,Gj,jh,th,hj,Oe,ij,td,Mb,Ih,Ue,Ph,Ng,Ze,Ph,Sd,ph,Fi,Qf,fm,fm,fm,fm,fm,fm,fm,fm,fm,fm,fm,fm,fm];var Pa=[al,fc,zb,bb,jc,_h,Ab,ab,hc,_h,Of,Db,Eb,al,al,al];var Qa=[Pm,wm,af,mj];var Ra=[Nm,Jm,Cm,wi,ji,fh,Vg,If,bl,Be,Bk,Zh,Mh,di,Nh,Nh,Nh,kg,gg,dh,Tg,oh,eh,Jm,Cm,Nh,ig,eg,Zg,Qg,kh,_g,Jm,Cm,Mh,Jm,Cm,Ui,Pi,Jm,Cm,aj,Ti,Jm,Cm,ih,$g,bg,$f,Gf,yf,mc,Bj,yg,qg,Qi,Ci,Qh,ai,Vh,Wi,Ki,Th,Ag,vg,vc,nj,$f,Jm,Cm,$f,Mg,Gg,Ed,Kl,Jm,Ll,Jm,Jm,Ll,nl,Vl,Vl,$i,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm,Nm];var Sa=[ym,Eg,pd,Ig,Bb,ym,ym,ym];var Ta=[lm,Cg,wb,nb,nb,wb,Jd,sd];var Ua=[$l,pf,Rf,ei,mh,$l,$l,$l];var Va=[Gl,Bf,Xd,Gl];var Wa=[pl,Kh,Yg,pl];return{___cxa_can_catch:ni,___cxa_is_pointer_type:Ak,___divdi3:Dg,___muldi3:Xi,___udivdi3:il,___uremdi3:Oi,_bitshift64Lshr:zj,_bitshift64Shl:tj,_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0:jk,_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1:Wj,_emscripten_bind_AttributeOctahedronTransform___destroy___0:pk,_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0:wl,_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0:Gi,_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1:Wj,_emscripten_bind_AttributeQuantizationTransform___destroy___0:pk,_emscripten_bind_AttributeQuantizationTransform_min_value_1:mk,_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0:wl,_emscripten_bind_AttributeQuantizationTransform_range_0:vl,_emscripten_bind_AttributeTransformData_AttributeTransformData_0:ik,_emscripten_bind_AttributeTransformData___destroy___0:Ji,_emscripten_bind_AttributeTransformData_transform_type_0:gm,_emscripten_bind_DecoderBuffer_DecoderBuffer_0:Zk,_emscripten_bind_DecoderBuffer_Init_2:Ek,_emscripten_bind_DecoderBuffer___destroy___0:Gk,_emscripten_bind_Decoder_DecodeBufferToMesh_2:Qj,_emscripten_bind_Decoder_DecodeBufferToPointCloud_2:Aj,_emscripten_bind_Decoder_Decoder_0:Cl,_emscripten_bind_Decoder_GetAttributeByUniqueId_2:$j,_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3:_i,_emscripten_bind_Decoder_GetAttributeFloat_3:qj,_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3:lj,_emscripten_bind_Decoder_GetAttributeIdByName_2:fk,_emscripten_bind_Decoder_GetAttributeId_2:Kj,_emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3:bj,_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3:dj,_emscripten_bind_Decoder_GetAttributeMetadata_2:Zj,_emscripten_bind_Decoder_GetAttribute_2:uk,_emscripten_bind_Decoder_GetEncodedGeometryType_1:nk,_emscripten_bind_Decoder_GetFaceFromMesh_3:Fj,_emscripten_bind_Decoder_GetMetadata_1:Nk,_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2:Lj,_emscripten_bind_Decoder_SkipAttributeTransform_1:lk,_emscripten_bind_Decoder___destroy___0:wg,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Yk,_emscripten_bind_DracoFloat32Array_GetValue_1:Jk,_emscripten_bind_DracoFloat32Array___destroy___0:qi,_emscripten_bind_DracoFloat32Array_size_0:ml,_emscripten_bind_DracoInt32Array_DracoInt32Array_0:Yk,_emscripten_bind_DracoInt32Array_GetValue_1:$k,_emscripten_bind_DracoInt32Array___destroy___0:qi,_emscripten_bind_DracoInt32Array_size_0:ml,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:Ik,_emscripten_bind_GeometryAttribute___destroy___0:xl,_emscripten_bind_Mesh_Mesh_0:Dl,_emscripten_bind_Mesh___destroy___0:pk,_emscripten_bind_Mesh_num_attributes_0:fl,_emscripten_bind_Mesh_num_faces_0:Vk,_emscripten_bind_Mesh_num_points_0:_l,_emscripten_bind_MetadataQuerier_GetDoubleEntry_2:Uj,_emscripten_bind_MetadataQuerier_GetIntEntry_2:ck,_emscripten_bind_MetadataQuerier_GetStringEntry_2:Tj,_emscripten_bind_MetadataQuerier_HasDoubleEntry_2:Sj,_emscripten_bind_MetadataQuerier_HasIntEntry_2:bk,_emscripten_bind_MetadataQuerier_HasStringEntry_2:Rj,_emscripten_bind_MetadataQuerier_MetadataQuerier_0:sl,_emscripten_bind_MetadataQuerier___destroy___0:xl,_emscripten_bind_Metadata_Metadata_0:Sh,_emscripten_bind_Metadata___destroy___0:Mk,_emscripten_bind_PointAttribute_GetAttributeTransformData_0:Al,_emscripten_bind_PointAttribute_PointAttribute_0:Tk,_emscripten_bind_PointAttribute___destroy___0:Xf,_emscripten_bind_PointAttribute_attribute_type_0:Jl,_emscripten_bind_PointAttribute_byte_offset_0:Ql,_emscripten_bind_PointAttribute_byte_stride_0:Pl,_emscripten_bind_PointAttribute_data_type_0:Tl,_emscripten_bind_PointAttribute_normalized_0:El,_emscripten_bind_PointAttribute_num_components_0:Ml,_emscripten_bind_PointAttribute_size_0:_l,_emscripten_bind_PointAttribute_unique_id_0:Sl,_emscripten_bind_PointCloud_PointCloud_0:kl,_emscripten_bind_PointCloud___destroy___0:pk,_emscripten_bind_PointCloud_num_attributes_0:fl,_emscripten_bind_PointCloud_num_points_0:_l,_emscripten_bind_Status___destroy___0:vj,_emscripten_bind_Status_code_0:gm,_emscripten_bind_Status_error_msg_0:Oj,_emscripten_bind_Status_ok_0:Zl,_emscripten_bind_VoidPtr___destroy___0:xl,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM:xm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM:zm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM:qm,_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM:pm,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:xm,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:zm,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:pm,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:qm,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:nm,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:xm,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:pm,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:zm,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:km,_emscripten_enum_draco_StatusCode_ERROR:xm,_emscripten_enum_draco_StatusCode_INVALID_PARAMETER:om,_emscripten_enum_draco_StatusCode_IO_ERROR:vm,_emscripten_enum_draco_StatusCode_OK:zm,_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION:sm,_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION:mm,_emscripten_get_global_libc:Gm,_emscripten_replace_memory:La,_free:sb,_i64Add:Ij,_i64Subtract:hk,_llvm_bswap_i32:ql,_malloc:Xa,_memcpy:Od,_memmove:hi,_memset:Cf,_sbrk:Bh,dynCall_ii:Rl,dynCall_iii:ol,dynCall_iiii:Dk,dynCall_iiiiiii:jj,dynCall_v:um,dynCall_vi:am,dynCall_vii:Bl,dynCall_viii:Sk,dynCall_viiii:rk,dynCall_viiiii:Pj,dynCall_viiiiii:oj,establishStackSpace:Xl,getTempRet0:Lm,runPostSets:Hj,setTempRet0:Fm,setThrew:yl,stackAlloc:Uk,stackRestore:Dm,stackSave:Mm}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var _emscripten_bind_Decoder_GetAttributeFloat_3=Module["_emscripten_bind_Decoder_GetAttributeFloat_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloat_3"];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 _emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3"];var _emscripten_bind_DecoderBuffer_Init_2=Module["_emscripten_bind_DecoderBuffer_Init_2"]=asm["_emscripten_bind_DecoderBuffer_Init_2"];var _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var stackSave=Module["stackSave"]=asm["stackSave"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_bind_Decoder_GetAttributeIdByName_2=Module["_emscripten_bind_Decoder_GetAttributeIdByName_2"]=asm["_emscripten_bind_Decoder_GetAttributeIdByName_2"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _emscripten_bind_Status_ok_0=Module["_emscripten_bind_Status_ok_0"]=asm["_emscripten_bind_Status_ok_0"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _emscripten_bind_Decoder_DecodeBufferToPointCloud_2=Module["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToPointCloud_2"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var _emscripten_bind_Decoder_GetEncodedGeometryType_1=Module["_emscripten_bind_Decoder_GetEncodedGeometryType_1"]=asm["_emscripten_bind_Decoder_GetEncodedGeometryType_1"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];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_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_AttributeQuantizationTransform_min_value_1=Module["_emscripten_bind_AttributeQuantizationTransform_min_value_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_min_value_1"];var _emscripten_bind_Decoder_Decoder_0=Module["_emscripten_bind_Decoder_Decoder_0"]=asm["_emscripten_bind_Decoder_Decoder_0"];var _emscripten_bind_MetadataQuerier_GetStringEntry_2=Module["_emscripten_bind_MetadataQuerier_GetStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetStringEntry_2"];var _emscripten_bind_MetadataQuerier_GetIntEntry_2=Module["_emscripten_bind_MetadataQuerier_GetIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetIntEntry_2"];var _emscripten_bind_Decoder___destroy___0=Module["_emscripten_bind_Decoder___destroy___0"]=asm["_emscripten_bind_Decoder___destroy___0"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var _emscripten_bind_MetadataQuerier_HasStringEntry_2=Module["_emscripten_bind_MetadataQuerier_HasStringEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasStringEntry_2"];var _emscripten_bind_AttributeTransformData___destroy___0=Module["_emscripten_bind_AttributeTransformData___destroy___0"]=asm["_emscripten_bind_AttributeTransformData___destroy___0"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _emscripten_bind_AttributeTransformData_AttributeTransformData_0=Module["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"]=asm["_emscripten_bind_AttributeTransformData_AttributeTransformData_0"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _emscripten_bind_AttributeQuantizationTransform___destroy___0=Module["_emscripten_bind_AttributeQuantizationTransform___destroy___0"]=asm["_emscripten_bind_AttributeQuantizationTransform___destroy___0"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _emscripten_bind_DracoInt32Array___destroy___0=Module["_emscripten_bind_DracoInt32Array___destroy___0"]=asm["_emscripten_bind_DracoInt32Array___destroy___0"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_MetadataQuerier_MetadataQuerier_0=Module["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"]=asm["_emscripten_bind_MetadataQuerier_MetadataQuerier_0"];var _emscripten_bind_Decoder_GetAttributeByUniqueId_2=Module["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"]=asm["_emscripten_bind_Decoder_GetAttributeByUniqueId_2"];var _emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=Module["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"]=asm["_emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3"];var _emscripten_bind_MetadataQuerier_HasDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasDoubleEntry_2"];var _emscripten_bind_MetadataQuerier_GetDoubleEntry_2=Module["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"]=asm["_emscripten_bind_MetadataQuerier_GetDoubleEntry_2"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=Module["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_quantization_bits_0"];var _emscripten_bind_AttributeOctahedronTransform___destroy___0=Module["_emscripten_bind_AttributeOctahedronTransform___destroy___0"]=asm["_emscripten_bind_AttributeOctahedronTransform___destroy___0"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _emscripten_bind_Decoder_GetAttributeMetadata_2=Module["_emscripten_bind_Decoder_GetAttributeMetadata_2"]=asm["_emscripten_bind_Decoder_GetAttributeMetadata_2"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _emscripten_enum_draco_StatusCode_IO_ERROR=Module["_emscripten_enum_draco_StatusCode_IO_ERROR"]=asm["_emscripten_enum_draco_StatusCode_IO_ERROR"];var _emscripten_bind_MetadataQuerier_HasIntEntry_2=Module["_emscripten_bind_MetadataQuerier_HasIntEntry_2"]=asm["_emscripten_bind_MetadataQuerier_HasIntEntry_2"];var _emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=Module["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"]=asm["_emscripten_bind_Decoder_GetTriangleStripsFromMesh_2"];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_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_DecoderBuffer_DecoderBuffer_0=Module["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"]=asm["_emscripten_bind_DecoderBuffer_DecoderBuffer_0"];var _emscripten_bind_DracoInt32Array_size_0=Module["_emscripten_bind_DracoInt32Array_size_0"]=asm["_emscripten_bind_DracoInt32Array_size_0"];var _emscripten_bind_Decoder_SkipAttributeTransform_1=Module["_emscripten_bind_Decoder_SkipAttributeTransform_1"]=asm["_emscripten_bind_Decoder_SkipAttributeTransform_1"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM"];var _emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=Module["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"]=asm["_emscripten_bind_Decoder_GetAttributeIntForAllPoints_3"];var _emscripten_enum_draco_StatusCode_ERROR=Module["_emscripten_enum_draco_StatusCode_ERROR"]=asm["_emscripten_enum_draco_StatusCode_ERROR"];var _emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=Module["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_quantization_bits_0"];var _emscripten_enum_draco_StatusCode_INVALID_PARAMETER=Module["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"]=asm["_emscripten_enum_draco_StatusCode_INVALID_PARAMETER"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_0"];var _emscripten_bind_MetadataQuerier___destroy___0=Module["_emscripten_bind_MetadataQuerier___destroy___0"]=asm["_emscripten_bind_MetadataQuerier___destroy___0"];var _emscripten_bind_DracoInt32Array_GetValue_1=Module["_emscripten_bind_DracoInt32Array_GetValue_1"]=asm["_emscripten_bind_DracoInt32Array_GetValue_1"];var _emscripten_bind_DecoderBuffer___destroy___0=Module["_emscripten_bind_DecoderBuffer___destroy___0"]=asm["_emscripten_bind_DecoderBuffer___destroy___0"];var _emscripten_bind_Decoder_GetAttribute_2=Module["_emscripten_bind_Decoder_GetAttribute_2"]=asm["_emscripten_bind_Decoder_GetAttribute_2"];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 setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _emscripten_bind_DracoInt32Array_DracoInt32Array_0=Module["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"]=asm["_emscripten_bind_DracoInt32Array_DracoInt32Array_0"];var _emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=Module["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNKNOWN_VERSION"];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_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_Decoder_GetFaceFromMesh_3=Module["_emscripten_bind_Decoder_GetFaceFromMesh_3"]=asm["_emscripten_bind_Decoder_GetFaceFromMesh_3"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_bind_PointAttribute_GetAttributeTransformData_0=Module["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"]=asm["_emscripten_bind_PointAttribute_GetAttributeTransformData_0"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_Status_error_msg_0=Module["_emscripten_bind_Status_error_msg_0"]=asm["_emscripten_bind_Status_error_msg_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var _emscripten_bind_Status___destroy___0=Module["_emscripten_bind_Status___destroy___0"]=asm["_emscripten_bind_Status___destroy___0"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=Module["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"]=asm["_emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM"];var _emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=Module["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0"];var _emscripten_bind_AttributeQuantizationTransform_range_0=Module["_emscripten_bind_AttributeQuantizationTransform_range_0"]=asm["_emscripten_bind_AttributeQuantizationTransform_range_0"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Decoder_GetAttributeId_2=Module["_emscripten_bind_Decoder_GetAttributeId_2"]=asm["_emscripten_bind_Decoder_GetAttributeId_2"];var _emscripten_enum_draco_StatusCode_OK=Module["_emscripten_enum_draco_StatusCode_OK"]=asm["_emscripten_enum_draco_StatusCode_OK"];var _emscripten_bind_AttributeTransformData_transform_type_0=Module["_emscripten_bind_AttributeTransformData_transform_type_0"]=asm["_emscripten_bind_AttributeTransformData_transform_type_0"];var _emscripten_bind_Status_code_0=Module["_emscripten_bind_Status_code_0"]=asm["_emscripten_bind_Status_code_0"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var _emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=Module["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"]=asm["_emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];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_Decoder_DecodeBufferToMesh_2=Module["_emscripten_bind_Decoder_DecodeBufferToMesh_2"]=asm["_emscripten_bind_Decoder_DecodeBufferToMesh_2"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_bind_Decoder_GetMetadata_1=Module["_emscripten_bind_Decoder_GetMetadata_1"]=asm["_emscripten_bind_Decoder_GetMetadata_1"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=Module["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"]=asm["_emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var _emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=Module["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"]=asm["_emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_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=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});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)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;i3)return false;if(version[0]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoEncoderModule!=="undefined"?DracoEncoderModule:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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 __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}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=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+24496;__ATINIT__.push();allocate([124,27,0,0,109,28,0,0,164,27,0,0,70,28,0,0,8,0,0,0,0,0,0,0,164,27,0,0,138,28,0,0,8,0,0,0,0,0,0,0,124,27,0,0,78,29,0,0,164,27,0,0,125,31,0,0,48,0,0,0,0,0,0,0,124,27,0,0,159,31,0,0,164,27,0,0,196,31,0,0,48,0,0,0,0,0,0,0,164,27,0,0,15,45,0,0,72,0,0,0,0,0,0,0,164,27,0,0,244,31,0,0,128,0,0,0,0,0,0,0,164,27,0,0,77,32,0,0,144,0,0,0,0,0,0,0,164,27,0,0,161,32,0,0,160,0,0,0,0,0,0,0,164,27,0,0,213,32,0,0,176,0,0,0,0,0,0,0,124,27,0,0,0,33,0,0,164,27,0,0,36,33,0,0,200,0,0,0,0,0,0,0,124,27,0,0,194,33,0,0,164,27,0,0,243,34,0,0,224,0,0,0,0,0,0,0,164,27,0,0,139,35,0,0,128,0,0,0,0,0,0,0,164,27,0,0,20,36,0,0,224,0,0,0,0,0,0,0,164,27,0,0,174,36,0,0,224,0,0,0,0,0,0,0,164,27,0,0,64,37,0,0,224,0,0,0,0,0,0,0,164,27,0,0,230,37,0,0,224,0,0,0,0,0,0,0,164,27,0,0,129,38,0,0,224,0,0,0,0,0,0,0,164,27,0,0,23,39,0,0,80,1,0,0,0,0,0,0,124,27,0,0,194,39,0,0,164,27,0,0,109,40,0,0,104,1,0,0,0,0,0,0,164,27,0,0,18,41,0,0,128,0,0,0,0,0,0,0,164,27,0,0,168,41,0,0,104,1,0,0,0,0,0,0,164,27,0,0,79,42,0,0,104,1,0,0,0,0,0,0,164,27,0,0,238,42,0,0,104,1,0,0,0,0,0,0,164,27,0,0,161,43,0,0,104,1,0,0,0,0,0,0,164,27,0,0,73,44,0,0,104,1,0,0,0,0,0,0,164,27,0,0,150,68,0,0,96,0,0,0,0,0,0,0,164,27,0,0,41,50,0,0,232,1,0,0,0,0,0,0,164,27,0,0,154,50,0,0,144,0,0,0,0,0,0,0,164,27,0,0,199,52,0,0,8,2,0,0,0,0,0,0,124,27,0,0,125,53,0,0,164,27,0,0,230,55,0,0,32,2,0,0,0,0,0,0,164,27,0,0,150,56,0,0,232,1,0,0,0,0,0,0,164,27,0,0,215,57,0,0,32,2,0,0,0,0,0,0,164,27,0,0,32,59,0,0,32,2,0,0,0,0,0,0,164,27,0,0,202,59,0,0,32,2,0,0,0,0,0,0,164,27,0,0,136,60,0,0,32,2,0,0,0,0,0,0,164,27,0,0,59,61,0,0,32,2,0,0,0,0,0,0,164,27,0,0,233,61,0,0,144,2,0,0,0,0,0,0,124,27,0,0,172,62,0,0,164,27,0,0,111,63,0,0,168,2,0,0,0,0,0,0,164,27,0,0,44,64,0,0,232,1,0,0,0,0,0,0,164,27,0,0,218,64,0,0,168,2,0,0,0,0,0,0,164,27,0,0,153,65,0,0,168,2,0,0,0,0,0,0,164,27,0,0,80,66,0,0,168,2,0,0,0,0,0,0,164,27,0,0,27,67,0,0,168,2,0,0,0,0,0,0,164,27,0,0,219,67,0,0,168,2,0,0,0,0,0,0,164,27,0,0,193,68,0,0,96,0,0,0,0,0,0,0,164,27,0,0,197,69,0,0,152,3,0,0,0,0,0,0,164,27,0,0,199,72,0,0,128,3,0,0,0,0,0,0,124,27,0,0,230,69,0,0,164,27,0,0,46,70,0,0,80,3,0,0,0,0,0,0,124,27,0,0,248,70,0,0,124,27,0,0,18,71,0,0,164,27,0,0,77,71,0,0,80,3,0,0,0,0,0,0,164,27,0,0,10,72,0,0,80,3,0,0,0,0,0,0,124,27,0,0,19,73,0,0,164,27,0,0,65,73,0,0,128,3,0,0,0,0,0,0,164,27,0,0,148,73,0,0,200,3,0,0,0,0,0,0,164,27,0,0,218,73,0,0,152,3,0,0,0,0,0,0,164,27,0,0,192,73,0,0,80,3,0,0,0,0,0,0,124,27,0,0,250,73,0,0,164,27,0,0,208,74,0,0,200,3,0,0,0,0,0,0,164,27,0,0,242,74,0,0,200,3,0,0,0,0,0,0,164,27,0,0,44,77,0,0,0,4,0,0,0,0,0,0,124,27,0,0,210,78,0,0,124,27,0,0,190,91,0,0,164,27,0,0,30,92,0,0,32,4,0,0,0,0,0,0,164,27,0,0,203,91,0,0,48,4,0,0,0,0,0,0,124,27,0,0,236,91,0,0,164,27,0,0,249,91,0,0,16,4,0,0,0,0,0,0,164,27,0,0,15,93,0,0,8,4,0,0,0,0,0,0,164,27,0,0,64,93,0,0,32,4,0,0,0,0,0,0,164,27,0,0,28,93,0,0,88,4,0,0,0,0,0,0,0,0,0,0,16,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,32,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,192,0,0,0,192,0,0,0,0,48,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,3,0,0,0,1,0,0,0,8,0,0,0,0,0,0,0,56,0,0,0,5,0,0,0,7,0,0,0,1,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,3,0,0,0,9,0,0,0,10,0,0,0,0,0,0,0,72,0,0,0,8,0,0,0,9,0,0,0,3,0,0,0,11,0,0,0,12,0,0,0,4,0,0,0,13,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,15,0,0,0,5,0,0,0,0,0,0,0,80,0,0,0,10,0,0,0,11,0,0,0,6,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,18,0,0,0,7,0,0,0,19,0,0,0,20,0,0,0,8,0,0,0,21,0,0,0,22,0,0,0,9,0,0,0,1,0,0,0,0,0,0,0,96,0,0,0,12,0,0,0,13,0,0,0,8,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,13,0,0,0,5,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,0,0,0,192,0,0,0,0,128,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,1,0,0,0,0,0,0,0,112,0,0,0,14,0,0,0,16,0,0,0,15,0,0,0,11,0,0,0,16,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,1,0,0,0,0,0,0,0,48,1,0,0,14,0,0,0,17,0,0,0,17,0,0,0,11,0,0,0,18,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,2,0,0,0,0,0,0,0,32,1,0,0,14,0,0,0,18,0,0,0,19,0,0,0,11,0,0,0,20,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,3,0,0,0,0,0,0,0,16,1,0,0,19,0,0,0,20,0,0,0,21,0,0,0,11,0,0,0,22,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,27,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,21,0,0,0,22,0,0,0,23,0,0,0,11,0,0,0,24,0,0,0,25,0,0,0,28,0,0,0,29,0,0,0,13,0,0,0,14,0,0,0,30,0,0,0,5,0,0,0,0,0,0,0,240,0,0,0,23,0,0,0,24,0,0,0,26,0,0,0,11,0,0,0,27,0,0,0,28,0,0,0,31,0,0,0,32,0,0,0,13,0,0,0,14,0,0,0,33,0,0,0,6,0,0,0,0,0,0,0,208,0,0,0,25,0,0,0,26,0,0,0,29,0,0,0,11,0,0,0,30,0,0,0,31,0,0,0,34,0,0,0,35,0,0,0,13,0,0,0,14,0,0,0,36,0,0,0,7,0,0,0,0,0,0,0,184,0,0,0,27,0,0,0,28,0,0,0,37,0,0,0,32,0,0,0,3,0,0,0,0,0,0,0,184,1,0,0,14,0,0,0,29,0,0,0,33,0,0,0,11,0,0,0,34,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,8,0,0,0,0,0,0,0,168,1,0,0,14,0,0,0,30,0,0,0,35,0,0,0,11,0,0,0,36,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,26,0,0,0,9,0,0,0,0,0,0,0,152,1,0,0,31,0,0,0,32,0,0,0,37,0,0,0,11,0,0,0,38,0,0,0,12,0,0,0,24,0,0,0,25,0,0,0,13,0,0,0,14,0,0,0,38,0,0,0,10,0,0,0,0,0,0,0,136,1,0,0,33,0,0,0,34,0,0,0,39,0,0,0,11,0,0,0,40,0,0,0,41,0,0,0,39,0,0,0,40,0,0,0,13,0,0,0,14,0,0,0,41,0,0,0,11,0,0,0,0,0,0,0,120,1,0,0,35,0,0,0,36,0,0,0,42,0,0,0,11,0,0,0,43,0,0,0,44,0,0,0,42,0,0,0,43,0,0,0,13,0,0,0,14,0,0,0,44,0,0,0,12,0,0,0,0,0,0,0,88,1,0,0,37,0,0,0,38,0,0,0,45,0,0,0,11,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,46,0,0,0,13,0,0,0,14,0,0,0,47,0,0,0,13,0,0,0,0,0,0,0,64,1,0,0,39,0,0,0,40,0,0,0,48,0,0,0,48,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,41,0,0,0,42,0,0,0,11,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,49,0,0,0,49,0,0,0,50,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,5,0,0,0,12,0,0,0,0,0,0,0,216,1,0,0,43,0,0,0,44,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,14,0,0,0,0,0,0,0,112,2,0,0,43,0,0,0,45,0,0,0,57,0,0,0,52,0,0,0,58,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,15,0,0,0,0,0,0,0,96,2,0,0,43,0,0,0,46,0,0,0,59,0,0,0,52,0,0,0,60,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,16,0,0,0,0,0,0,0,80,2,0,0,47,0,0,0,48,0,0,0,61,0,0,0,52,0,0,0,62,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,53,0,0,0,17,0,0,0,0,0,0,0,64,2,0,0,49,0,0,0,50,0,0,0,63,0,0,0,52,0,0,0,64,0,0,0,65,0,0,0,54,0,0,0,55,0,0,0,55,0,0,0,56,0,0,0,56,0,0,0,18,0,0,0,0,0,0,0,48,2,0,0,51,0,0,0,52,0,0,0,66,0,0,0,52,0,0,0,67,0,0,0,68,0,0,0,57,0,0,0,58,0,0,0,55,0,0,0,56,0,0,0,59,0,0,0,19,0,0,0,0,0,0,0,16,2,0,0,53,0,0,0,54,0,0,0,69,0,0,0,52,0,0,0,70,0,0,0,71,0,0,0,60,0,0,0,61,0,0,0,55,0,0,0,56,0,0,0,62,0,0,0,20,0,0,0,0,0,0,0,248,1,0,0,55,0,0,0,56,0,0,0,63,0,0,0,72,0,0,0,6,0,0,0,0,0,0,0,248,2,0,0,43,0,0,0,57,0,0,0,73,0,0,0,52,0,0,0,74,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,21,0,0,0,0,0,0,0,232,2,0,0,43,0,0,0,58,0,0,0,75,0,0,0,52,0,0,0,76,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,52,0,0,0,22,0,0,0,0,0,0,0,216,2,0,0,59,0,0,0,60,0,0,0,77,0,0,0,52,0,0,0,78,0,0,0,54,0,0,0,50,0,0,0,51,0,0,0,55,0,0,0,56,0,0,0,64,0,0,0,23,0,0,0,0,0,0,0,200,2,0,0,61,0,0,0,62,0,0,0,79,0,0,0,52,0,0,0,80,0,0,0,81,0,0,0,65,0,0,0,66,0,0,0,55,0,0,0,56,0,0,0,67,0,0,0,24,0,0,0,0,0,0,0,184,2,0,0,63,0,0,0,64,0,0,0,82,0,0,0,52,0,0,0,83,0,0,0,84,0,0,0,68,0,0,0,69,0,0,0,55,0,0,0,56,0,0,0,70,0,0,0,25,0,0,0,0,0,0,0,152,2,0,0,65,0,0,0,66,0,0,0,85,0,0,0,52,0,0,0,86,0,0,0,87,0,0,0,71,0,0,0,72,0,0,0,55,0,0,0,56,0,0,0,73,0,0,0,26,0,0,0,0,0,0,0,128,2,0,0,67,0,0,0,68,0,0,0,74,0,0,0,88,0,0,0,7,0,0,0,0,0,0,0,8,3,0,0,69,0,0,0,70,0,0,0,13,0,0,0,11,0,0,0,23,0,0,0,4,0,0,0,75,0,0,0,89,0,0,0,90,0,0,0,14,0,0,0,15,0,0,0,9,0,0,0,2,0,0,0,14,0,0,0,0,0,0,0,24,3,0,0,71,0,0,0,72,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,76,0,0,0,77,0,0,0,98,0,0,0,99,0,0,0,78,0,0,0,79,0,0,0,100,0,0,0,0,0,0,0,40,3,0,0,73,0,0,0,74,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,101,0,0,0,102,0,0,0,85,0,0,0,103,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,64,3,0,0,75,0,0,0,76,0,0,0,86,0,0,0,104,0,0,0,0,0,0,0,56,3,0,0,77,0,0,0,78,0,0,0,79,0,0,0,0,0,0,192,0,0,0,0,96,3,0,0,80,0,0,0,81,0,0,0,87,0,0,0,105,0,0,0,0,0,0,0,88,3,0,0,82,0,0,0,83,0,0,0,84,0,0,0,0,0,0,0,112,3,0,0,85,0,0,0,86,0,0,0,88,0,0,0,106,0,0,0,0,0,0,0,136,3,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,107,0,0,0,108,0,0,0,94,0,0,0,109,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,152,3,0,0,89,0,0,0,90,0,0,0,91,0,0,0,1,0,0,0,110,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,1,0,0,0,95,0,0,0,98,0,0,0,111,0,0,0,96,0,0,0,97,0,0,0,1,0,0,0,0,0,0,0,168,3,0,0,89,0,0,0,91,0,0,0,91,0,0,0,112,0,0,0,110,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,95,0,0,0,98,0,0,0,111,0,0,0,96,0,0,0,97,0,0,0,113,0,0,0,0,0,0,0,184,3,0,0,92,0,0,0,93,0,0,0,99,0,0,0,114,0,0,0,0,0,0,0,200,3,0,0,89,0,0,0,94,0,0,0,115,0,0,0,1,0,0,0,110,0,0,0,94,0,0,0,116,0,0,0,96,0,0,0,97,0,0,0,1,0,0,0,95,0,0,0,98,0,0,0,0,0,0,0,208,3,0,0,89,0,0,0,95,0,0,0,115,0,0,0,117,0,0,0,110,0,0,0,94,0,0,0,118,0,0,0,96,0,0,0,97,0,0,0,100,0,0,0,95,0,0,0,98,0,0,0,0,0,0,0,224,3,0,0,89,0,0,0,96,0,0,0,115,0,0,0,119,0,0,0,110,0,0,0,94,0,0,0,120,0,0,0,96,0,0,0,97,0,0,0,101,0,0,0,95,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,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,0,240,3,0,0,97,0,0,0,98,0,0,0,8,0,0,0,3,0,0,0,121,0,0,0,99,0,0,0,9,0,0,0,0,0,0,192,0,0,0,0,0,4,0,0,100,0,0,0,101,0,0,0,10,0,0,0,4,0,0,0,121,0,0,0,99,0,0,0,11,0,0,0,0,0,0,192,3,0,0,0,216,23,0,0,5,0,0,0,0,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,172,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,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,181,91,0,0,0,0,0,0,16,4,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,18,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,56,4,0,0,102,0,0,0,106,0,0,0,104,0,0,0,105,0,0,0,18,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,72,4,0,0,107,0,0,0,108,0,0,0,123,0,0,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,47,97,116,116,114,105,98,117,116,101,95,111,99,116,97,104,101,100,114,111,110,95,116,114,97,110,115,102,111,114,109,46,99,99,0,78,53,100,114,97,99,111,50,56,65,116,116,114,105,98,117,116,101,79,99,116,97,104,101,100,114,111,110,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,49,56,65,116,116,114,105,98,117,116,101,84,114,97,110,115,102,111,114,109,69,0,78,53,100,114,97,99,111,51,48,65,116,116,114,105,98,117,116,101,81,117,97,110,116,105,122,97,116,105,111,110,84,114,97,110,115,102,111,114,109,69,0,105,115,95,105,110,105,116,105,97,108,105,122,101,100,40,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,47,97,116,116,114,105,98,117,116,101,95,113,117,97,110,116,105,122,97,116,105,111,110,95,116,114,97,110,115,102,111,114,109,46,99,99,0,71,101,110,101,114,97,116,101,80,111,114,116,97,98,108,101,65,116,116,114,105,98,117,116,101,0,78,53,100,114,97,99,111,49,55,65,116,116,114,105,98,117,116,101,115,69,110,99,111,100,101,114,69,0,40,99,111,109,112,114,101,115,115,105,111,110,95,108,101,118,101,108,41,32,60,61,32,40,54,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,107,100,95,116,114,101,101,95,97,116,116,114,105,98,117,116,101,115,95,101,110,99,111,100,101,114,46,99,99,0,69,110,99,111,100,101,68,97,116,97,78,101,101,100,101,100,66,121,80,111,114,116,97,98,108,101,84,114,97,110,115,102,111,114,109,115,0,40,116,114,117,101,41,32,61,61,32,40,40,101,110,100,32,45,32,98,101,103,105,110,41,32,62,32,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,100,121,110,97,109,105,99,95,105,110,116,101,103,101,114,95,112,111,105,110,116,115,95,107,100,95,116,114,101,101,95,101,110,99,111,100,101,114,46,104,0,69,110,99,111,100,101,73,110,116,101,114,110,97,108,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,100,105,114,101,99,116,95,98,105,116,95,101,110,99,111,100,101,114,46,104,0,40,116,114,117,101,41,32,61,61,32,40,101,110,100,32,45,32,98,101,103,105,110,32,33,61,32,48,41,0,71,101,116,65,120,105,115,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,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,69,110,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,69,110,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,69,110,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,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,84,121,112,101,100,69,110,99,111,100,101,114,73,110,116,101,114,102,97,99,101,73,105,105,69,69,0,78,53,100,114,97,99,111,51,50,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,110,116,101,114,102,97,99,101,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,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,119,114,97,112,95,116,114,97,110,115,102,111,114,109,95,98,97,115,101,46,104,0,78,53,100,114,97,99,111,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,51,55,80,114,101,100,105,99],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,51,55,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,87,114,97,112,69,110,99,111,100,105,110,103,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,117,115,101,95,98,117,105,108,116,95,105,110,95,97,116,116,114,105,98,117,116,101,95,99,111,109,112,114,101,115,115,105,111,110,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,69,110,99,111,100,101,114,69,0,40,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,32,37,32,50,41,32,61,61,32,40,49,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,98,97,115,101,46,104,0,115,101,116,95,109,97,120,95,113,117,97,110,116,105,122,101,100,95,118,97,108,117,101,0,40,113,41,32,62,61,32,40,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,110,111,114,109,97,108,95,99,111,109,112,114,101,115,115,105,111,110,95,117,116,105,108,115,46,104,0,83,101,116,81,117,97,110,116,105,122,97,116,105,111,110,66,105,116,115,0,40,113,41,32,60,61,32,40,51,48,41,0,102,97,108,115,101,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,109,112,114,101,115,115,105,111,110,47,97,116,116,114,105,98,117,116,101,115,47,115,101,113,117,101,110,116,105,97,108,95,110,111,114,109,97,108,95,97,116,116,114,105,98,117,116,101,95,101,110,99,111,100,101,114,46,104,0,67,114,101,97,116,101,73,110,116,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,0,40,112,114,101,100,95,118,97,108,115,91,48,93,41,32,60,61,32,40,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,32,42,32,50,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,101,110,99,111,100,105,110,103,95,116,114,97,110,115,102,111,114,109,46,104,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,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,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,32,42,32,50,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,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,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,115,73,110,68,105,97,109,111,110,100,0,40,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,120,41,32,60,61,32,40,116,104,105,115,45,62,99,101,110,116,101,114,95,118,97,108,117,101,40,41,32,42,32,50,41,0,77,97,107,101,80,111,115,105,116,105,118,101,0,40,42,115,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,118,101,114,116,68,105,97,109,111,110,100,0,40,42,116,41,32,60,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,115,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,40,42,116,41,32,62,61,32,40,45,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,78,53,100,114,97,99,111,50,56,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,68,101,108,116,97,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,78,53,100,114,97,99,111,50,51,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,84,114,97,110,115,102,111,114,109,73,105,69,69,69,69,0,116,104,105,115,45,62,73,115,73,110,105,116,105,97,108,105,122,101,100,40,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,97,114,101,97,46,104,0,67,111,109,112,117,116,101,80,114,101,100,105,99,116,101,100,86,97,108,117,101,0,40,110,111,114,109,97,108,46,65,98,115,83,117,109,40,41,41,32,60,61,32,40,117,112,112,101,114,95,98,111,117,110,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,112,114,101,100,105,99,116,111,114,95,98,97,115,101,46,104,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,67,111,114,110,101,114,0,71,101,116,80,111,115,105,116,105,111,110,70,111,114,68,97,116,97,73,100,0,78,53,100,114,97,99,111,52,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,103,101,111,109,101,116,114,105,99,95,110,111,114,109,97,108,95,101,110,99,111,100,101,114,46,104,0,67,111,109,112,117,116,101,67,111,114,114,101,99,116,105,111,110,86,97,108,117,101,115,0,40,110,117,109,95,99,111,109,112,111,110,101,110,116,115,41,32,61,61,32,40,50,41,0,40,112,114,101,100,95,110,111,114,109,97,108,95,51,100,46,65,98,115,83,117,109,40,41,41,32,61,61,32,40,111,99,116,97,104,101,100,114,111,110,95,116,111,111,108,95,98,111,120,95,46,99,101,110,116,101,114,95,118,97,108,117,101,40,41,41,0,40,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,48,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,49,93,41,32,43,32,115,116,100,58,58,97,98,115,40,105,110,116,95,118,101,99,91,50,93,41,41,32,61,61,32,40,99,101,110,116,101,114,95,118,97,108,117,101,95,41,0,73,110,116,101,103,101,114,86,101,99,116,111,114,84,111,81,117,97,110,116,105,122,101,100,79,99,116,97,104,101,100,114,97,108,67,111,111,114,100,115,0,40,105,41,32,61,61,32,40,48,41,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,52,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,112,111,114,116,97,98,108,101,95,101,110,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,52,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,95,101,110,99,111,100,101,114,46,104,0,78,53,100,114,97,99,111,51,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,65,114,101,97,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,56,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,80,114,101,100,105,99,116,111,114,66,97,115,101,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,50,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,71,101,111,109,101,116,114,105,99,78,111,114,109,97,108,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,55,77,101,115,104,80,114,101,100,105,99,116,105,111,110,83,99,104,101,109,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,52,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,80,111,114,116,97,98,108,101,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,54,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,53,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,48,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,69,110,99,111,100,101,114,73,105,78,83,95,54,50,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,69,110,99,111,100,105,110,103,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,69,110,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,69,110,99,111,100,101,114,69,0,112,114,101,100,105,99,116,105,111,110,95,115,99,104,101,109,101,0,101,110,99,111,100,105,110,103,95,115,112,101,101,100,0,100,101,99,111,100,105,110,103,95,115,112,101,101,100,0,113,117,97,110,116,105,122,97,116,105,111,110,95,111,114,105,103,105,110,0,113,117,97,110,116,105,122,97,116,105,111,110,95,114,97,110,103,101,0,32,0,101,110,99,111,100,105,110,103,95,109,101,116,104,111,100,0,113,117,97,110,116,105,122,97,116,105,111,110,95,98,105,116,115,0,73,110,118,97,108,105,100,32,101,110,99,111,100,105,110,103,32,109,101,116,104,111,100,46,0,115,116,97,110,100,97,114,100,95,101,100,103,101,98,114,101,97,107,101,114,0,112,114,101,100,105,99,116,105,118,101,95,101,100,103,101,98,114,101,97,107,101,114,0,101,100,103,101,98,114,101,97,107,101,114,95,109,101,116,104,111,100,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,69,110,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,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,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,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,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,115,112,108,105,116,95,109,101,115,104,95,111,110,95,115,101,97,109,115,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,69,110,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,69,110,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,69,110,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,69,110,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,69,110,99,111,100,101,114,69,69,69,0,78,53,100,114,97,99,111,49,49,77,101,115,104,69,110,99,111,100,101,114,69,0,99,111,109,112,114,101,115,115,95,99,111,110,110,101,99,116,105,118,105,116,121,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,50,49,77,101,115,104,83,101,113,117,101,110,116,105,97,108,69,110,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,69,110,99,111,100,101,114,69,0,73,110,118,97,108,105,100,32,105,110,112,117,116,32,103,101,111,109,101,116,114,121,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,109,101,116,97,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,101,110,99,111,100,101,114,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,105,110,116,101,114,110,97,108,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,103,101,111,109,101,116,114,121,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,101,110,99,111,100,101,32,112,111,105,110,116,32,97,116,116,114,105,98,117,116,101,115,46,0,68,82,65,67,79,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,69,110,99,111,100,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,69,110,99,111,100,101,114,69,0,40,97,110,115,95,46,115,116,97,116,101,41,32,62,61,32,40,108,95,114,97,110,115,95,98,97,115,101,41,0,119,114,105,116,101,95,101,110,100,0,40,97,110,115,95,46,115,116,97,116,101,41,32,60,32,40,108,95,114,97,110,115,95,98,97,115,101,32,42,32,50,53,54,41,0,40,110,98,105,116,115,41,32,62,61,32,40,48,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,101,110,99,111,100,101,114,95,98,117,102,102,101,114,46,104,0,80,117,116,66,105,116,115,0,40,110,98,105,116,115,41,32,60,61,32,40,51,50,41,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,99,111,114,101,47,98,105,116,95,99,111,100,101,114,115,47,114,97,110,115,95,98,105,116,95,101,110,99,111,100,101,114,46,99,99,0,69,110,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,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,78,53,100,114,97,99,111,52,77,101,115,104,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,47,97,116,116,114,105,98,117,116,101,115,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,97,116,116,95,105,100,32,62,61,32,48,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,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,40,99,111,109,112,114,101,115,115,105,111,110,95,108,101,118,101,108,95,41,32,60,61,32,40,54,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97,99,111,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,102,108,111,97,116,95,112,111,105,110,116,115,95,116,114,101,101,95,101,110,99,111,100,101,114,46,99,99,0,70,108,111,97,116,80,111,105,110,116,115,84,114,101,101,69,110,99,111,100,101,114,0,69,110,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,48,41,32,60,61,32,40,97,116,116,95,105,100,41,0,47,103,111,111,103,108,101,47,115,114,99,47,99,108,111,117,100,47,111,115,116,97,118,97,47,102,105,120,47,103,111,111,103,108,101,51,47,116,104,105,114,100,95,112,97,114,116,121,47,100,114,97,99,111,47,115,114,99,47,100,114,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([99,111,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,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,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,105,110,102,105,110,105,116,121,0,110,97,110,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,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,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,33,34,98,97,115,105,99,95,115,116,114,105,110,103,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,119,97,115,109,47,101,109,115,100,107,47,101,109,115,99,114,105,112,116,101,110,47,105,110,99,111,109,105,110,103,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,37,100,0,37,102,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+20480);var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;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){Module["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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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["_bitshift64Lshr"]=_bitshift64Lshr;Module["_bitshift64Shl"]=_bitshift64Shl;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;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}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["___divdi3"]=___divdi3;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["___udivdi3"]=___udivdi3;var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;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 ___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;Module["_llvm_bswap_i32"]=_llvm_bswap_i32;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 ___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;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity,"byteLength":byteLength};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_ii":invoke_ii,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_viiii":invoke_viiii,"_pthread_getspecific":_pthread_getspecific,"_pthread_setspecific":_pthread_setspecific,"___cxa_throw":___cxa_throw,"_pthread_key_create":_pthread_key_create,"___syscall6":___syscall6,"___setErrNo":___setErrNo,"_abort":_abort,"___cxa_begin_catch":___cxa_begin_catch,"___syscall146":___syscall146,"_pthread_once":_pthread_once,"_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,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM -var asm=(function(global,env,buffer) { -"almost asm";var a=global.Int8Array;var b=new a(buffer);var c=global.Int16Array;var d=new c(buffer);var e=global.Int32Array;var f=new e(buffer);var g=global.Uint8Array;var h=new g(buffer);var i=global.Uint16Array;var j=new i(buffer);var k=global.Uint32Array;var l=new k(buffer);var m=global.Float32Array;var n=new m(buffer);var o=global.Float64Array;var p=new o(buffer);var q=global.byteLength;var r=env.DYNAMICTOP_PTR|0;var s=env.tempDoublePtr|0;var t=env.ABORT|0;var u=env.STACKTOP|0;var v=env.STACK_MAX|0;var w=env.cttz_i8|0;var x=0;var y=0;var z=0;var A=0;var B=global.NaN,C=global.Infinity;var D=0,E=0,F=0,G=0,H=0.0;var I=0;var J=global.Math.floor;var K=global.Math.abs;var L=global.Math.sqrt;var M=global.Math.pow;var N=global.Math.cos;var O=global.Math.sin;var P=global.Math.tan;var Q=global.Math.acos;var R=global.Math.asin;var S=global.Math.atan;var T=global.Math.atan2;var U=global.Math.exp;var V=global.Math.log;var W=global.Math.ceil;var X=global.Math.imul;var Y=global.Math.min;var Z=global.Math.max;var _=global.Math.clz32;var $=global.Math.fround;var aa=env.abort;var ba=env.assert;var ca=env.enlargeMemory;var da=env.getTotalMemory;var ea=env.abortOnCannotGrowMemory;var fa=env.invoke_iiii;var ga=env.invoke_viiiii;var ha=env.invoke_vi;var ia=env.invoke_vii;var ja=env.invoke_iiiiiii;var ka=env.invoke_ii;var la=env.invoke_viii;var ma=env.invoke_v;var na=env.invoke_viiiiii;var oa=env.invoke_iii;var pa=env.invoke_viiii;var qa=env._pthread_getspecific;var ra=env._pthread_setspecific;var sa=env.___cxa_throw;var ta=env._pthread_key_create;var ua=env.___syscall6;var va=env.___setErrNo;var wa=env._abort;var xa=env.___cxa_begin_catch;var ya=env.___syscall146;var za=env._pthread_once;var Aa=env._emscripten_memcpy_big;var Ba=env.___gxx_personality_v0;var Ca=env.___syscall140;var Da=env.___resumeException;var Ea=env.___cxa_find_matching_catch;var Fa=env.___assert_fail;var Ga=env.___cxa_pure_virtual;var Ha=env.___cxa_allocate_exception;var Ia=env.__ZSt18uncaught_exceptionv;var Ja=$(0);const Ka=$(0);function La(newBuffer){if(q(newBuffer)&16777215||q(newBuffer)<=16777215||q(newBuffer)>2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} +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]==1&&version[1]>=0&&version[1]<=2)return true;if(version[0]!=0||version[1]>10)return false;return true}Module["isVersionSupported"]=isVersionSupported;var Module;if(!Module)Module=(typeof DracoEncoderModule!=="undefined"?DracoEncoderModule:null)||{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);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};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);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"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}else{Module["read"]=function shell_read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}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);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function shell_print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function shell_printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw new Error("Unknown runtime environment. Where are we?")}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i>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];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}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"]};function ccall(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)}}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 stop;ptr=ret;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){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var WASM_PAGE_SIZE=65536;var ASMJS_PAGE_SIZE=16777216;var MIN_TOTAL_MEMORY=16777216;function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}if(!Module["reallocBuffer"])Module["reallocBuffer"]=(function(size){var ret;try{if(ArrayBuffer.transfer){ret=ArrayBuffer.transfer(buffer,size)}else{var oldHEAP8=HEAP8;ret=new ArrayBuffer(size);var temp=new Int8Array(ret);temp.set(oldHEAP8)}}catch(e){return false}var success=_emscripten_replace_memory(ret);if(!success)return false;return ret});function enlargeMemory(){var PAGE_MULTIPLE=Module["usingWasm"]?WASM_PAGE_SIZE:ASMJS_PAGE_SIZE;var LIMIT=2147483648-PAGE_MULTIPLE;if(HEAP32[DYNAMICTOP_PTR>>2]>LIMIT){return false}var OLD_TOTAL_MEMORY=TOTAL_MEMORY;TOTAL_MEMORY=Math.max(TOTAL_MEMORY,MIN_TOTAL_MEMORY);while(TOTAL_MEMORY>2]){if(TOTAL_MEMORY<=536870912){TOTAL_MEMORY=alignUp(2*TOTAL_MEMORY,PAGE_MULTIPLE)}else{TOTAL_MEMORY=Math.min(alignUp((3*TOTAL_MEMORY+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=Module["reallocBuffer"](TOTAL_MEMORY);if(!replacement||replacement.byteLength!=TOTAL_MEMORY){TOTAL_MEMORY=OLD_TOTAL_MEMORY;return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();return true}var byteLength;try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get);byteLength(new ArrayBuffer(4))}catch(e){byteLength=(function(buffer){return buffer.byteLength})}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPreMain(cb){__ATMAIN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}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}assert(Math["imul"]&&Math["fround"]&&Math["clz32"]&&Math["trunc"],"this is a legacy browser, build with LEGACY_VM_SUPPORT");var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var ASM_CONSTS=[];STATIC_BASE=Runtime.GLOBAL_BASE;STATICTOP=STATIC_BASE+24400;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,jBsAAJccAAC0GwAAcBwAAAgAAAAAAAAAtBsAALQcAAAIAAAAAAAAAIwbAAB+HQAAtBsAAL8fAAAwAAAAAAAAAIwbAADhHwAAtBsAAAYgAAAwAAAAAAAAALQbAABXLQAASAAAAAAAAAC0GwAANiAAAIAAAAAAAAAAtBsAAI8gAACQAAAAAAAAALQbAADjIAAAoAAAAAAAAAC0GwAAFyEAALAAAAAAAAAAjBsAAEIhAAC0GwAAZiEAAMgAAAAAAAAAjBsAAAQiAAC0GwAAOyMAAOAAAAAAAAAAtBsAANMjAACAAAAAAAAAALQbAABcJAAA4AAAAAAAAAC0GwAA9iQAAOAAAAAAAAAAtBsAAIglAADgAAAAAAAAALQbAAAuJgAA4AAAAAAAAAC0GwAAySYAAOAAAAAAAAAAtBsAAF8nAABQAQAAAAAAAIwbAAAKKAAAtBsAALUoAABoAQAAAAAAALQbAABaKQAAgAAAAAAAAAC0GwAA8CkAAGgBAAAAAAAAtBsAAJcqAABoAQAAAAAAALQbAAA2KwAAaAEAAAAAAAC0GwAA6SsAAGgBAAAAAAAAtBsAAJEsAABoAQAAAAAAALQbAAD/RAAAYAAAAAAAAAC0GwAAiTIAAOgBAAAAAAAAtBsAAPoyAACQAAAAAAAAALQbAAAeNQAACAIAAAAAAACMGwAA1DUAALQbAABDOAAAIAIAAAAAAAC0GwAA8zgAAOgBAAAAAAAAtBsAADo6AAAgAgAAAAAAALQbAACJOwAAIAIAAAAAAAC0GwAAMzwAACACAAAAAAAAtBsAAPE8AAAgAgAAAAAAALQbAACkPQAAIAIAAAAAAAC0GwAAUj4AAJACAAAAAAAAjBsAABU/AAC0GwAA2D8AAKgCAAAAAAAAtBsAAJVAAADoAQAAAAAAALQbAABDQQAAqAIAAAAAAAC0GwAAAkIAAKgCAAAAAAAAtBsAALlCAACoAgAAAAAAALQbAACEQwAAqAIAAAAAAAC0GwAAREQAAKgCAAAAAAAAtBsAACpFAABgAAAAAAAAALQbAAAuRgAAmAMAAAAAAAC0GwAAMEkAAIADAAAAAAAAjBsAAE9GAAC0GwAAl0YAAFADAAAAAAAAjBsAAGFHAACMGwAAe0cAALQbAAC2RwAAUAMAAAAAAAC0GwAAc0gAAFADAAAAAAAAjBsAAHxJAAC0GwAAqkkAAIADAAAAAAAAtBsAAP1JAADIAwAAAAAAALQbAABDSgAAmAMAAAAAAAC0GwAAKUoAAFADAAAAAAAAjBsAAGNKAAC0GwAAOUsAAMgDAAAAAAAAtBsAAFtLAADIAwAAAAAAALQbAACnTQAAAAQAAAAAAACMGwAAo08AAIwbAABcWwAAtBsAALxbAAAgBAAAAAAAALQbAABpWwAAMAQAAAAAAACMGwAAilsAALQbAACXWwAAEAQAAAAAAAC0GwAAnlwAAAgEAAAAAAAAtBsAAK5cAABIBAAAAAAAALQbAADjXAAAIAQAAAAAAAC0GwAAv1wAAGgEAAAAAAAAAAAAABAAAAABAAAAAgAAAAEAAAABAAAAAQAAAAAAAAAgAAAAAwAAAAQAAAACAAAAAgAAAAIAAAAAAADAAAAAwAAAAAAwAAAABQAAAAYAAAABAAAAAwAAAAEAAAAEAAAABQAAAAIAAAAGAAAABwAAAAMAAAABAAAACAAAAAAAAAA4AAAABQAAAAcAAAABAAAAAwAAAAQAAAAEAAAABQAAAAIAAAAGAAAABwAAAAMAAAAJAAAACgAAAAAAAABIAAAACAAAAAkAAAADAAAACwAAAAwAAAAEAAAADQAAAAUAAAAGAAAADgAAAA8AAAAFAAAAAAAAAFAAAAAKAAAACwAAAAYAAAAQAAAABwAAABEAAAASAAAABwAAABMAAAAUAAAACAAAABUAAAAWAAAACQAAAAEAAAAAAAAAYAAAAAwAAAANAAAACAAAAAsAAAAXAAAABAAAAA0AAAAFAAAACgAAAA4AAAAPAAAACQAAAAIAAAAKAAAAAAAAwAAAAACAAAAADgAAAA8AAAABAAAACwAAAAEAAAAMAAAAGAAAABkAAAANAAAADgAAABoAAAABAAAAAAAAAHAAAAAOAAAAEAAAAA8AAAALAAAAEAAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGgAAAAEAAAAAAAAAMAEAAA4AAAARAAAAEQAAAAsAAAASAAAADAAAABgAAAAZAAAADQAAAA4AAAAaAAAAAgAAAAAAAAAgAQAADgAAABIAAAATAAAACwAAABQAAAAMAAAAGAAAABkAAAANAAAADgAAABoAAAADAAAAAAAAABABAAATAAAAFAAAABUAAAALAAAAFgAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGwAAAAQAAAAAAAAAAAEAABUAAAAWAAAAFwAAAAsAAAAYAAAAGQAAABwAAAAdAAAADQAAAA4AAAAeAAAABQAAAAAAAADwAAAAFwAAABgAAAAaAAAACwAAABsAAAAcAAAAHwAAACAAAAANAAAADgAAACEAAAAGAAAAAAAAANAAAAAZAAAAGgAAAB0AAAALAAAAHgAAAB8AAAAiAAAAIwAAAA0AAAAOAAAAJAAAAAcAAAAAAAAAuAAAABsAAAAcAAAAJQAAACAAAAADAAAAAAAAALgBAAAOAAAAHQAAACEAAAALAAAAIgAAAAwAAAAYAAAAGQAAAA0AAAAOAAAAGgAAAAgAAAAAAAAAqAEAAA4AAAAeAAAAIwAAAAsAAAAkAAAADAAAABgAAAAZAAAADQAAAA4AAAAaAAAACQAAAAAAAACYAQAAHwAAACAAAAAlAAAACwAAACYAAAAMAAAAGAAAABkAAAANAAAADgAAACYAAAAKAAAAAAAAAIgBAAAhAAAAIgAAACcAAAALAAAAKAAAACkAAAAnAAAAKAAAAA0AAAAOAAAAKQAAAAsAAAAAAAAAeAEAACMAAAAkAAAAKgAAAAsAAAArAAAALAAAACoAAAArAAAADQAAAA4AAAAsAAAADAAAAAAAAABYAQAAJQAAACYAAAAtAAAACwAAAC4AAAAvAAAALQAAAC4AAAANAAAADgAAAC8AAAANAAAAAAAAAEABAAAnAAAAKAAAADAAAAAwAAAABAAAAAAAAADIAQAAKQAAACoAAAALAAAACwAAABcAAAAEAAAAMQAAADEAAAAyAAAADgAAAA8AAAAJAAAABQAAAAwAAAAAAAAA2AEAACsAAAAsAAAAMwAAADQAAAA1AAAANgAAADIAAAAzAAAANwAAADgAAAA0AAAADgAAAAAAAABwAgAAKwAAAC0AAAA5AAAANAAAADoAAAA2AAAAMgAAADMAAAA3AAAAOAAAADQAAAAPAAAAAAAAAGACAAArAAAALgAAADsAAAA0AAAAPAAAADYAAAAyAAAAMwAAADcAAAA4AAAANAAAABAAAAAAAAAAUAIAAC8AAAAwAAAAPQAAADQAAAA+AAAANgAAADIAAAAzAAAANwAAADgAAAA1AAAAEQAAAAAAAABAAgAAMQAAADIAAAA/AAAANAAAAEAAAABBAAAANgAAADcAAAA3AAAAOAAAADgAAAASAAAAAAAAADACAAAzAAAANAAAAEIAAAA0AAAAQwAAAEQAAAA5AAAAOgAAADcAAAA4AAAAOwAAABMAAAAAAAAAEAIAADUAAAA2AAAARQAAADQAAABGAAAARwAAADwAAAA9AAAANwAAADgAAAA+AAAAFAAAAAAAAAD4AQAANwAAADgAAAA/AAAASAAAAAYAAAAAAAAA+AIAACsAAAA5AAAASQAAADQAAABKAAAANgAAADIAAAAzAAAANwAAADgAAAA0AAAAFQAAAAAAAADoAgAAKwAAADoAAABLAAAANAAAAEwAAAA2AAAAMgAAADMAAAA3AAAAOAAAADQAAAAWAAAAAAAAANgCAAA7AAAAPAAAAE0AAAA0AAAATgAAADYAAAAyAAAAMwAAADcAAAA4AAAAQAAAABcAAAAAAAAAyAIAAD0AAAA+AAAATwAAADQAAABQAAAAUQAAAEEAAABCAAAANwAAADgAAABDAAAAGAAAAAAAAAC4AgAAPwAAAEAAAABSAAAANAAAAFMAAABUAAAARAAAAEUAAAA3AAAAOAAAAEYAAAAZAAAAAAAAAJgCAABBAAAAQgAAAFUAAAA0AAAAVgAAAFcAAABHAAAASAAAADcAAAA4AAAASQAAABoAAAAAAAAAgAIAAEMAAABEAAAASgAAAFgAAAAHAAAAAAAAAAgDAABFAAAARgAAAA0AAAALAAAAFwAAAAQAAABLAAAAWQAAAFoAAAAOAAAADwAAAAkAAAACAAAADgAAAAAAAAAYAwAARwAAAEgAAABbAAAAXAAAAF0AAABeAAAAXwAAAGAAAABhAAAATAAAAE0AAABiAAAAYwAAAE4AAABPAAAAZAAAAAAAAAAoAwAASQAAAEoAAABQAAAAUQAAAFIAAABTAAAAVAAAAGUAAABmAAAAVQAAAGcAAAABAAAAAwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAAwAAAAAAAABAAwAASwAAAEwAAABWAAAAaAAAAAAAAAA4AwAATQAAAE4AAABPAAAAAAAAwAAAAABgAwAAUAAAAFEAAABXAAAAaQAAAAAAAABYAwAAUgAAAFMAAABUAAAAAAAAAHADAABVAAAAVgAAAFgAAABqAAAAAAAAAIgDAABXAAAAWAAAAFkAAABaAAAAWwAAAFwAAABdAAAAawAAAGwAAABeAAAAbQAAAAAAAAABAAAABQAAAAIAAAAFAAAAAwAAAAUAAAAEAAAAAAAAAJgDAABZAAAAWgAAAFsAAAABAAAAbgAAAF4AAABfAAAAYAAAAGEAAAABAAAAXwAAAGIAAABvAAAAYAAAAGEAAAABAAAAAAAAAKgDAABZAAAAWwAAAFsAAABwAAAAbgAAAF4AAABfAAAAYAAAAGEAAABiAAAAXwAAAGIAAABvAAAAYAAAAGEAAABxAAAAAAAAALgDAABcAAAAXQAAAGMAAAByAAAAAAAAAMgDAABZAAAAXgAAAHMAAAABAAAAbgAAAF4AAAB0AAAAYAAAAGEAAAABAAAAXwAAAGIAAAAAAAAA0AMAAFkAAABfAAAAcwAAAHUAAABuAAAAXgAAAHYAAABgAAAAYQAAAGQAAABfAAAAYgAAAAAAAADgAwAAWQAAAGAAAABzAAAAdwAAAG4AAABeAAAAeAAAAGAAAABhAAAAZQAAAF8AAABiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAVlVVVQIAAAAAAAAAAgAAAJqZmZkDAAAAVlVVVQMAAAAlSZIkAwAAAAAAAAADAAAAyHEcxwQAAACamZmZBAAAAEYXXXQEAAAAVlVVVQQAAAA8sRM7BAAAACVJkiQEAAAAEhEREQQAAAAAAAAABAAAAOLh4eEFAAAAyHEcxwUAAADLayivBQAAAJqZmZkFAAAAh2EYhgUAAABGF110BQAAAJGFLGQFAAAAVlVVVQUAAAB7FK5HBQAAADyxEzsFAAAA20toLwUAAAAlSZIkBQAAABKWexoFAAAAEhEREQUAAACFEEIIBQAAAAAAAAAFAAAACB988AYAAADi4eHhBgAAANVBHdQGAAAAyHEcxwYAAABNkc+6BgAAAMtrKK8GAAAApUEapAYAAACamZmZBgAAAPoYnI8GAAAAh2EYhgYAAAAY9AV9BgAAAEYXXXQGAAAAbcEWbAYAAACRhSxkBgAAALqCmFwGAAAAVlVVVQYAAABzCl5OBgAAAHsUrkcGAAAAQkFBQQYAAAA8sRM7BgAAALPPITUGAAAA20toLwYAAACfEuQpBgAAACVJkiQGAAAA3UdwHwYAAAASlnsaBgAAAPjlsRUGAAAAEhEREQYAAAD8FJcMBgAAAIUQQggGAAAABUEQBAYAAAAAAAAABgAAAPmBH/gHAAAACB988AcAAADAGhPpBwAAAOLh4eEHAAAAbAfm2gcAAADVQR3UBwAAAJFohc0HAAAAyHEcxwcAAAA5cODABwAAAE2Rz7oHAAAATxvotAcAAADLayivBwAAAAf2jqkHAAAApUEapAcAAABS6cieBwAAAJqZmZkHAAAAzg+LlAcAAAD6GJyPBwAAAPeQy4oHAAAAh2EYhgcAAACCgYGBBwAAABj0BX0HAAAAGMikeAcAAABGF110BwAAAMEFLnAHAAAAbcEWbAcAAABpgRZoBwAAAJGFLGQHAAAABhZYYAcAAAC6gphcBwAAAAkj7VgHAAAAVlVVVQcAAACvftBRBwAAAHMKXk4HAAAABmr9SgcAAAB7FK5HBwAAAFeGb0QHAAAAQkFBQQcAAADPyyI+BwAAADyxEzsHAAAAOYETOAcAAACzzyE1BwAAAKM0PjIHAAAA20toLwcAAADZtJ8sBwAAAJ8S5CkHAAAAiQs1JwcAAAAlSZIkBwAAABN4+yEHAAAA3UdwHwcAAADbavAcBwAAABKWexoHAAAAGYERGAcAAAD45bEVBwAAABSBXBMHAAAAEhEREQcAAAC/Vs8OBwAAAPwUlwwHAAAApxBoCgcAAACFEEIIBwAAADDdJAYHAAAABUEQBAcAAAARCAQCBwAAAAAAAAAHAAAAIPAH/AgAAAD5gR/4CAAAAOVZRvQIAAAACB988AgAAAAxe8DsCAAAAMAaE+kIAAAAkaxz5QgAAADi4eHhCAAAAEBuXd4IAAAAbAfm2ggAAABMZXvXCAAAANVBHdQIAAAA91jL0AgAAACRaIXNCAAAAFYwS8oIAAAAyHEcxwgAAAAd8PjDCAAAADlw4MAIAAAAmrjSvQgAAABNkc+6CAAAAN7D1rcIAAAATxvotAgAAAAHZAOyCAAAAMtrKK8IAAAArQFXrAgAAAAH9o6pCAAAAG4a0KYIAAAApUEapAgAAACYP22hCAAAAFLpyJ4IAAAA7xQtnAgAAACamZmZCAAAAIFPDpcIAAAAzg+LlAgAAACetA+SCAAAAPoYnI8IAAAA1BgwjQgAAAD3kMuKCAAAAAtfbogIAAAAh2EYhggAAACsd8mDCAAAAIKBgYEIAAAA0V9AfwgAAAAY9AV9CAAAAI8g0noIAAAAGMikeAgAAABEzn12CAAAAEYXXXQIAAAA9YdCcggAAADBBS5wCAAAALV2H24IAAAAbcEWbAgAAAAWzRNqCAAAAGmBFmgIAAAApsYeZggAAACRhSxkCAAAAHGnP2IIAAAABhZYYAgAAACOu3VeCAAAALqCmFwIAAAAsVbAWggAAAAJI+1YCAAAAMbTHlcIAAAAVlVVVQgAAACQlJBTCAAAAK9+0FEIAAAAUQEVUAgAAABzCl5OCAAAAHOIq0wIAAAABmr9SggAAAA8nlNJCAAAAHsUrkcIAAAAgLwMRggAAABXhm9ECAAAAF5i1kIIAAAAQkFBQQgAAAD8E7A/CAAAAM/LIj4IAAAASFqZPAgAAAA8sRM7CAAAAMLCkTkIAAAAOYETOAgAAAA+35g2CAAAALPPITUIAAAAtkWuMwgAAACjND4yCAAAABSQ0TAIAAAA20toLwgAAAAFXAIuCAAAANm0nywIAAAA0UpAKwgAAACfEuQpCAAAACkBiygIAAAAiQs1JwgAAAAJJ+IlCAAAACVJkiQIAAAAimdFIwgAAAATePshCAAAAMdwtCAIAAAA3UdwHwgAAAC08y4eCAAAANtq8BwIAAAABaS0GwgAAAASlnsaCAAAAAk4RRkIAAAAGYERGAgAAACVaOAWCAAAAPjlsRUIAAAA4fCFFAgAAAAUgVwTCAAAAHaONRIIAAAAEhEREQgAAAAQAe8PCAAAAL9Wzw4IAAAAiQqyDQgAAAD8FJcMCAAAAMNufgsIAAAApxBoCggAAACR81MJCAAAAIUQQggIAAAApWAyBwgAAAAw3SQGCAAAAH5/GQUIAAAABUEQBAgAAABSGwkDCAAAABEIBAIIAAAAAgEBAQgAAAAAAADAAAAAAPADAABhAAAAYgAAAAgAAAADAAAAeQAAAGMAAAAJAAAAAAAAwAAAAAAABAAAZAAAAGUAAAAKAAAABAAAAHkAAABjAAAACwAAAAAAAMADAAAA6BcAAAUAAAAAAAAAAAAAAHoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAQAAAATF8AAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFX3CJAP8JLw8AAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAAACAAAAU1sAAAAAAAAQBAAAZgAAAGcAAABoAAAAaQAAABIAAAABAAAAAQAAAAEAAAAAAAAAOAQAAGYAAABqAAAAaAAAAGkAAAASAAAAAgAAAAIAAAACAAAAAAAAAEgEAABrAAAAbAAAAHsAAAAAAAAAWAQAAGsAAABtAAAAewAAAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vYXR0cmlidXRlcy9hdHRyaWJ1dGVfb2N0YWhlZHJvbl90cmFuc2Zvcm0uY2MATjVkcmFjbzI4QXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybUUATjVkcmFjbzE4QXR0cmlidXRlVHJhbnNmb3JtRQBONWRyYWNvMzBBdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1FAGlzX2luaXRpYWxpemVkKCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9hdHRyaWJ1dGVzL2F0dHJpYnV0ZV9xdWFudGl6YXRpb25fdHJhbnNmb3JtLmNjAEdlbmVyYXRlUG9ydGFibGVBdHRyaWJ1dGUATjVkcmFjbzE3QXR0cmlidXRlc0VuY29kZXJFAChjb21wcmVzc2lvbl9sZXZlbCkgPD0gKDYpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9rZF90cmVlX2F0dHJpYnV0ZXNfZW5jb2Rlci5jYwBFbmNvZGVEYXRhTmVlZGVkQnlQb3J0YWJsZVRyYW5zZm9ybXMAKHRydWUpID09ICgoZW5kIC0gYmVnaW4pID4gMCkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9wb2ludF9jbG91ZC9hbGdvcml0aG1zL2R5bmFtaWNfaW50ZWdlcl9wb2ludHNfa2RfdHJlZV9lbmNvZGVyLmgARW5jb2RlSW50ZXJuYWwAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2JpdF9jb2RlcnMvZGlyZWN0X2JpdF9lbmNvZGVyLmgAKHRydWUpID09IChlbmQgLSBiZWdpbiAhPSAwKQBHZXRBeGlzAE1ldGhvZCBub3Qgc3VwcG9ydGVkLiAKAE41ZHJhY28yM0tkVHJlZUF0dHJpYnV0ZXNFbmNvZGVyRQBONWRyYWNvMjZTZXF1ZW50aWFsQXR0cmlidXRlRW5jb2RlckUATjVkcmFjbzM3U2VxdWVudGlhbEF0dHJpYnV0ZUVuY29kZXJzQ29udHJvbGxlckUATjVkcmFjbzI4UHJlZGljdGlvblNjaGVtZURlbHRhRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMjNQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVFRQBONWRyYWNvMzdQcmVkaWN0aW9uU2NoZW1lVHlwZWRFbmNvZGVySW50ZXJmYWNlSWlpRUUATjVkcmFjbzMyUHJlZGljdGlvblNjaGVtZUVuY29kZXJJbnRlcmZhY2VFAE41ZHJhY28yNVByZWRpY3Rpb25TY2hlbWVJbnRlcmZhY2VFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL3ByZWRpY3Rpb25fc2NoZW1lX3dyYXBfdHJhbnNmb3JtX2Jhc2UuaABONWRyYWNvNDJNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbEVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28zNk1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQwTWVzaFByZWRpY3Rpb25TY2hlbWVQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JCYXNlSWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQyTWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU18zN1ByZWRpY3Rpb25TY2hlbWVXcmFwRW5jb2RpbmdUcmFuc2Zvcm1JaWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNTZNZXNoUHJlZGljdGlvblNjaGVtZUNvbnN0cmFpbmVkTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NU1lc2hQcmVkaWN0aW9uU2NoZW1lTXVsdGlQYXJhbGxlbG9ncmFtRW5jb2RlcklpTlNfMzdQcmVkaWN0aW9uU2NoZW1lV3JhcEVuY29kaW5nVHJhbnNmb3JtSWlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzM3UHJlZGljdGlvblNjaGVtZVdyYXBFbmNvZGluZ1RyYW5zZm9ybUlpaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQB1c2VfYnVpbHRfaW5fYXR0cmlidXRlX2NvbXByZXNzaW9uAE41ZHJhY28zM1NlcXVlbnRpYWxJbnRlZ2VyQXR0cmlidXRlRW5jb2RlckUAKG1heF9xdWFudGl6ZWRfdmFsdWUgJSAyKSA9PSAoMSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3ByZWRpY3Rpb25fc2NoZW1lcy9wcmVkaWN0aW9uX3NjaGVtZV9ub3JtYWxfb2N0YWhlZHJvbl90cmFuc2Zvcm1fYmFzZS5oAHNldF9tYXhfcXVhbnRpemVkX3ZhbHVlAChxKSA+PSAoMikAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL25vcm1hbF9jb21wcmVzc2lvbl91dGlscy5oAFNldFF1YW50aXphdGlvbkJpdHMAKHEpIDw9ICgzMCkAZmFsc2UAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb21wcmVzc2lvbi9hdHRyaWJ1dGVzL3NlcXVlbnRpYWxfbm9ybWFsX2F0dHJpYnV0ZV9lbmNvZGVyLmgAQ3JlYXRlSW50UHJlZGljdGlvblNjaGVtZQAocHJlZF92YWxzWzBdKSA8PSAodGhpcy0+Y2VudGVyX3ZhbHVlKCkgKiAyKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL3ByZWRpY3Rpb25fc2NoZW1lX25vcm1hbF9vY3RhaGVkcm9uX2Nhbm9uaWNhbGl6ZWRfZW5jb2RpbmdfdHJhbnNmb3JtLmgAQ29tcHV0ZUNvcnJlY3Rpb24AKHByZWRfdmFsc1sxXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKG9yaWdfdmFsc1swXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKG9yaWdfdmFsc1sxXSkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikAKDApIDw9IChwcmVkX3ZhbHNbMF0pACgwKSA8PSAocHJlZF92YWxzWzFdKQAoMCkgPD0gKG9yaWdfdmFsc1swXSkAKDApIDw9IChvcmlnX3ZhbHNbMV0pAChzKSA8PSAoY2VudGVyX3ZhbHVlXykASXNJbkRpYW1vbmQAKHQpIDw9IChjZW50ZXJfdmFsdWVfKQAocykgPj0gKC1jZW50ZXJfdmFsdWVfKQAodCkgPj0gKC1jZW50ZXJfdmFsdWVfKQAoeCkgPD0gKHRoaXMtPmNlbnRlcl92YWx1ZSgpICogMikATWFrZVBvc2l0aXZlACgqcykgPD0gKGNlbnRlcl92YWx1ZV8pAEludmVydERpYW1vbmQAKCp0KSA8PSAoY2VudGVyX3ZhbHVlXykAKCpzKSA+PSAoLWNlbnRlcl92YWx1ZV8pACgqdCkgPj0gKC1jZW50ZXJfdmFsdWVfKQBONWRyYWNvMjhQcmVkaWN0aW9uU2NoZW1lRGVsdGFFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAE41ZHJhY28yM1ByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRUVFAHRoaXMtPklzSW5pdGlhbGl6ZWQoKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfZ2VvbWV0cmljX25vcm1hbF9wcmVkaWN0b3JfYXJlYS5oAENvbXB1dGVQcmVkaWN0ZWRWYWx1ZQAobm9ybWFsLkFic1N1bSgpKSA8PSAodXBwZXJfYm91bmQpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX3ByZWRpY3Rvcl9iYXNlLmgAR2V0UG9zaXRpb25Gb3JDb3JuZXIATjVkcmFjbzQ4TWVzaFByZWRpY3Rpb25TY2hlbWVHZW9tZXRyaWNOb3JtYWxQcmVkaWN0b3JBcmVhSWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDhNZXNoUHJlZGljdGlvblNjaGVtZUdlb21ldHJpY05vcm1hbFByZWRpY3RvckJhc2VJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV9nZW9tZXRyaWNfbm9ybWFsX2VuY29kZXIuaABDb21wdXRlQ29ycmVjdGlvblZhbHVlcwAobnVtX2NvbXBvbmVudHMpID09ICgyKQAocHJlZF9ub3JtYWxfM2QuQWJzU3VtKCkpID09IChvY3RhaGVkcm9uX3Rvb2xfYm94Xy5jZW50ZXJfdmFsdWUoKSkAKHN0ZDo6YWJzKGludF92ZWNbMF0pICsgc3RkOjphYnMoaW50X3ZlY1sxXSkgKyBzdGQ6OmFicyhpbnRfdmVjWzJdKSkgPT0gKGNlbnRlcl92YWx1ZV8pAEludGVnZXJWZWN0b3JUb1F1YW50aXplZE9jdGFoZWRyYWxDb29yZHMAKGkpID09ICgwKQBHZXRQYXJlbnRBdHRyaWJ1dGVUeXBlAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18xMUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzI3TWVzaFByZWRpY3Rpb25TY2hlbWVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL2NvbXByZXNzaW9uL2F0dHJpYnV0ZXMvcHJlZGljdGlvbl9zY2hlbWVzL21lc2hfcHJlZGljdGlvbl9zY2hlbWVfdGV4X2Nvb3Jkc19wb3J0YWJsZV9lbmNvZGVyLmgATjVkcmFjbzQ0TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNQb3J0YWJsZUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vYXR0cmlidXRlcy9wcmVkaWN0aW9uX3NjaGVtZXMvbWVzaF9wcmVkaWN0aW9uX3NjaGVtZV90ZXhfY29vcmRzX2VuY29kZXIuaABONWRyYWNvMzZNZXNoUHJlZGljdGlvblNjaGVtZVRleENvb3Jkc0VuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY281Nk1lc2hQcmVkaWN0aW9uU2NoZW1lQ29uc3RyYWluZWRNdWx0aVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzExQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280ME1lc2hQcmVkaWN0aW9uU2NoZW1lUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMTFDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQXJlYUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280OE1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsUHJlZGljdG9yQmFzZUlpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280Mk1lc2hQcmVkaWN0aW9uU2NoZW1lR2VvbWV0cmljTm9ybWFsRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY28yN01lc2hQcmVkaWN0aW9uU2NoZW1lRW5jb2RlcklpTlNfNjJQcmVkaWN0aW9uU2NoZW1lTm9ybWFsT2N0YWhlZHJvbkNhbm9uaWNhbGl6ZWRFbmNvZGluZ1RyYW5zZm9ybUlpRUVOU18yNE1lc2hQcmVkaWN0aW9uU2NoZW1lRGF0YUlOU18yNE1lc2hBdHRyaWJ1dGVDb3JuZXJUYWJsZUVFRUVFAE41ZHJhY280NE1lc2hQcmVkaWN0aW9uU2NoZW1lVGV4Q29vcmRzUG9ydGFibGVFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzM2TWVzaFByZWRpY3Rpb25TY2hlbWVUZXhDb29yZHNFbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzU2TWVzaFByZWRpY3Rpb25TY2hlbWVDb25zdHJhaW5lZE11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDVNZXNoUHJlZGljdGlvblNjaGVtZU11bHRpUGFyYWxsZWxvZ3JhbUVuY29kZXJJaU5TXzYyUHJlZGljdGlvblNjaGVtZU5vcm1hbE9jdGFoZWRyb25DYW5vbmljYWxpemVkRW5jb2RpbmdUcmFuc2Zvcm1JaUVFTlNfMjRNZXNoUHJlZGljdGlvblNjaGVtZURhdGFJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVFRQBONWRyYWNvNDBNZXNoUHJlZGljdGlvblNjaGVtZVBhcmFsbGVsb2dyYW1FbmNvZGVySWlOU182MlByZWRpY3Rpb25TY2hlbWVOb3JtYWxPY3RhaGVkcm9uQ2Fub25pY2FsaXplZEVuY29kaW5nVHJhbnNmb3JtSWlFRU5TXzI0TWVzaFByZWRpY3Rpb25TY2hlbWVEYXRhSU5TXzI0TWVzaEF0dHJpYnV0ZUNvcm5lclRhYmxlRUVFRUUATjVkcmFjbzMyU2VxdWVudGlhbE5vcm1hbEF0dHJpYnV0ZUVuY29kZXJFAE41ZHJhY28zOFNlcXVlbnRpYWxRdWFudGl6YXRpb25BdHRyaWJ1dGVFbmNvZGVyRQBwcmVkaWN0aW9uX3NjaGVtZQBlbmNvZGluZ19zcGVlZABkZWNvZGluZ19zcGVlZABxdWFudGl6YXRpb25fb3JpZ2luAHF1YW50aXphdGlvbl9yYW5nZQAgAGVuY29kaW5nX21ldGhvZABxdWFudGl6YXRpb25fYml0cwBJbnZhbGlkIGVuY29kaW5nIG1ldGhvZC4Ac3RhbmRhcmRfZWRnZWJyZWFrZXIAcHJlZGljdGl2ZV9lZGdlYnJlYWtlcgBlZGdlYnJlYWtlcl9tZXRob2QATjVkcmFjbzIyTWVzaEVkZ2VCcmVha2VyRW5jb2RlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUUATjVkcmFjbzIyTWVzaFRyYXZlcnNhbFNlcXVlbmNlcklOU18yMEVkZ2VCcmVha2VyVHJhdmVyc2VySU5TXzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMjRNZXNoQXR0cmlidXRlQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRU5TXzE5RWRnZUJyZWFrZXJPYnNlcnZlckVFRUVFAE41ZHJhY28xNVBvaW50c1NlcXVlbmNlckUATjVkcmFjbzI5Q29ybmVyVGFibGVUcmF2ZXJzYWxQcm9jZXNzb3JJTlNfMTFDb3JuZXJUYWJsZUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzIwRWRnZUJyZWFrZXJUcmF2ZXJzZXJJTlNfMjlDb3JuZXJUYWJsZVRyYXZlcnNhbFByb2Nlc3NvcklOU18xMUNvcm5lclRhYmxlRUVFTlNfMzZNZXNoQXR0cmlidXRlSW5kaWNlc0VuY29kaW5nT2JzZXJ2ZXJJUzNfRUVOU18xOUVkZ2VCcmVha2VyT2JzZXJ2ZXJFRUVFRQBONWRyYWNvMjJNZXNoVHJhdmVyc2FsU2VxdWVuY2VySU5TXzI1UHJlZGljdGlvbkRlZ3JlZVRyYXZlcnNlcklOU18yOUNvcm5lclRhYmxlVHJhdmVyc2FsUHJvY2Vzc29ySU5TXzExQ29ybmVyVGFibGVFRUVOU18zNk1lc2hBdHRyaWJ1dGVJbmRpY2VzRW5jb2RpbmdPYnNlcnZlcklTM19FRUVFRUUAc3BsaXRfbWVzaF9vbl9zZWFtcwBONWRyYWNvMjZNZXNoRWRnZUJyZWFrZXJFbmNvZGVySW1wbElOU18zMU1lc2hFZGdlQnJlYWtlclRyYXZlcnNhbEVuY29kZXJFRUUATjVkcmFjbzM1TWVzaEVkZ2VCcmVha2VyRW5jb2RlckltcGxJbnRlcmZhY2VFAE41ZHJhY28yNk1lc2hFZGdlQnJlYWtlckVuY29kZXJJbXBsSU5TXzM4TWVzaEVkZ2VCcmVha2VyVHJhdmVyc2FsVmFsZW5jZUVuY29kZXJFRUUATjVkcmFjbzExTWVzaEVuY29kZXJFAGNvbXByZXNzX2Nvbm5lY3Rpdml0eQBONWRyYWNvMTVMaW5lYXJTZXF1ZW5jZXJFAE41ZHJhY28yMU1lc2hTZXF1ZW50aWFsRW5jb2RlckUATjVkcmFjbzE3UG9pbnRDbG91ZEVuY29kZXJFAEludmFsaWQgaW5wdXQgZ2VvbWV0cnkuAEZhaWxlZCB0byBpbml0aWFsaXplIGVuY29kZXIuAEZhaWxlZCB0byBlbmNvZGUgaW50ZXJuYWwgZGF0YS4ARmFpbGVkIHRvIGVuY29kZSBnZW9tZXRyeSBkYXRhLgBGYWlsZWQgdG8gZW5jb2RlIHBvaW50IGF0dHJpYnV0ZXMuAEZhaWxlZCB0byBlbmNvZGUgbWV0YWRhdGEuAERSQUNPAE41ZHJhY28yM1BvaW50Q2xvdWRLZFRyZWVFbmNvZGVyRQBONWRyYWNvMjdQb2ludENsb3VkU2VxdWVudGlhbEVuY29kZXJFAChhbnNfLnN0YXRlKSA+PSAobF9yYW5zX2Jhc2UpAHdyaXRlX2VuZAAoYW5zXy5zdGF0ZSkgPCAobF9yYW5zX2Jhc2UgKiAyNTYpAChuYml0cykgPj0gKDApAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9lbmNvZGVyX2J1ZmZlci5oAFB1dEJpdHMAKG5iaXRzKSA8PSAoMzIpACh0cnVlKSA9PSAobmJpdHMgPD0gMzIpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29yZS9iaXRfY29kZXJzL3JhbnNfYml0X2VuY29kZXIuY2MARW5jb2RlTGVhc3RTaWduaWZpY2FudEJpdHMzMgAodHJ1ZSkgPT0gKG5iaXRzID4gMCkAKGFucy0+c3RhdGUpID49ICgoMTAyNHUgKiA0KSkAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9jb3JlL2Fucy5oAGFuc193cml0ZV9lbmQAKGFucy0+c3RhdGUpIDwgKCgxMDI0dSAqIDQpICogMjU2KQBONWRyYWNvNE1lc2hFACgwKSA8PSAoZmFjZV9pZC52YWx1ZSgpKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL21lc2gvbWVzaC5oAGZhY2UAKGZhY2VfaWQudmFsdWUoKSkgPCAoc3RhdGljX2Nhc3Q8aW50PihmYWNlc18uc2l6ZSgpKSkAIWlkZW50aXR5X21hcHBpbmdfAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vYXR0cmlidXRlcy9wb2ludF9hdHRyaWJ1dGUuaABTZXRQb2ludE1hcEVudHJ5AGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUAYXR0X2lkID49IDAAL2dvb2dsZS9zcmMvY2xvdWQvb3N0YXZhL2ZpeF9wZXJmMy9nb29nbGUzL3RoaXJkX3BhcnR5L2RyYWNvL3NyYy9kcmFjby9wb2ludF9jbG91ZC9wb2ludF9jbG91ZC5jYwBTZXRBdHRyaWJ1dGUATjVkcmFjbzEwUG9pbnRDbG91ZEUAKGNvbXByZXNzaW9uX2xldmVsXykgPD0gKDYpAC9nb29nbGUvc3JjL2Nsb3VkL29zdGF2YS9maXhfcGVyZjMvZ29vZ2xlMy90aGlyZF9wYXJ0eS9kcmFjby9zcmMvZHJhY28vY29tcHJlc3Npb24vcG9pbnRfY2xvdWQvYWxnb3JpdGhtcy9mbG9hdF9wb2ludHNfdHJlZV9lbmNvZGVyLmNjAEZsb2F0UG9pbnRzVHJlZUVuY29kZXIARW5jb2RlUG9pbnRDbG91ZEtkVHJlZUludGVybmFsACgwKSA8PSAoYXR0X2lkKQAvZ29vZ2xlL3NyYy9jbG91ZC9vc3RhdmEvZml4X3BlcmYzL2dvb2dsZTMvdGhpcmRfcGFydHkvZHJhY28vc3JjL2RyYWNvL3BvaW50X2Nsb3VkL3BvaW50X2Nsb3VkLmgAYXR0cmlidXRlAChhdHRfaWQpIDwgKHN0YXRpY19jYXN0PGludDMyX3Q+KGF0dHJpYnV0ZXNfLnNpemUoKSkpABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABpbmZpbml0eQBuYW4AJWQAJWYAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlczogJXMAdGVybWluYXRpbmcgd2l0aCAlcyBleGNlcHRpb24gb2YgdHlwZSAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGZvcmVpZ24gZXhjZXB0aW9uAHRlcm1pbmF0aW5nAHVuY2F1Z2h0AFN0OWV4Y2VwdGlvbgBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBwdGhyZWFkX29uY2UgZmFpbHVyZSBpbiBfX2N4YV9nZXRfZ2xvYmFsc19mYXN0KCkAY2Fubm90IGNyZWF0ZSBwdGhyZWFkIGtleSBmb3IgX19jeGFfZ2V0X2dsb2JhbHMoKQBjYW5ub3QgemVybyBvdXQgdGhyZWFkIHZhbHVlIGZvciBfX2N4YV9nZXRfZ2xvYmFscygpAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0U=";var tempDoublePtr=STATICTOP;STATICTOP+=16;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 ___cxa_allocate_exception(size){return _malloc(size)}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){Module["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 ___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 ___cxa_pure_virtual(){ABORT=true;throw"Pure virtual function called!"}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(Runtime.setTempRet0(0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(Runtime.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(Runtime.setTempRet0(typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(Runtime.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."}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___gxx_personality_v0(){}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 ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;if(!___syscall146.buffer){___syscall146.buffers=[null,[],[]];___syscall146.printChar=(function(stream,curr){var buffer=___syscall146.buffers[stream];assert(buffer);if(curr===0||curr===10){(stream===1?Module["print"]:Module["printErr"])(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}})}for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Module["dynCall_v"](func);_pthread_once.seen[ptr]=1}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}__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=Runtime.staticAlloc(4);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;var ASSERTIONS=false;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 intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var decodeBase64=typeof atob==="function"?atob:(function(input){var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i2147483648)return false;b=new a(newBuffer);d=new c(newBuffer);f=new e(newBuffer);h=new g(newBuffer);j=new i(newBuffer);l=new k(newBuffer);n=new m(newBuffer);p=new o(newBuffer);buffer=newBuffer;return true} // EMSCRIPTEN_START_FUNCS -function Lc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(c|0){case 0:{l=24;m=-149;i=4;break}case 1:{l=53;m=-1074;i=4;break}case 2:{l=53;m=-1074;i=4;break}default:e=0.0}a:do if((i|0)==4){o=a+4|0;n=a+100|0;do{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0}while((Ep(c)|0)!=0);b:do switch(c|0){case 43:case 45:{g=1-(((c|0)==45&1)<<1)|0;c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0;k=g;break b}else{c=Pi(a)|0;k=g;break b}}default:k=1}while(0);g=c;c=0;do{if((g|32|0)!=(b[23003+c>>0]|0))break;do if(c>>>0<7){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Pi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<8);c:do switch(c|0){case 8:break;case 3:{i=23;break}default:{j=(d|0)!=0;if(j&c>>>0>3)if((c|0)==8)break c;else{i=23;break c}d:do if(!c){c=0;do{if((g|32|0)!=(b[23012+c>>0]|0))break d;do if(c>>>0<2){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Pi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<3)}while(0);switch(c|0){case 3:{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;if((c|0)==40)c=1;else{if(!(f[n>>2]|0)){e=B;break a}f[o>>2]=(f[o>>2]|0)+-1;e=B;break a}while(1){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0}else g=Pi(a)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;c=c+1|0}if((g|0)==41){e=B;break a}g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!j){o=aq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}if(!c){e=B;break a}while(1){c=c+-1|0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!c){e=B;break a}}}case 0:{if((g|0)==48){c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;if((c|32|0)==120){e=+Ec(a,l,m,k,d);break a}if(!(f[n>>2]|0))c=48;else{f[o>>2]=(f[o>>2]|0)+-1;c=48}}else c=g;e=+Jb(a,c,l,m,k,d);break a}default:{if(f[n>>2]|0)f[o>>2]=(f[o>>2]|0)+-1;o=aq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}}}}while(0);if((i|0)==23){g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if((d|0)!=0&c>>>0>3)do{if(!g)f[o>>2]=(f[o>>2]|0)+-1;c=c+-1|0}while(c>>>0>3)}e=+$($(k|0)*$(C))}while(0);return +e}function Mc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))zi(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))zi(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))zi(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){zi(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Nc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+48|0;o=t+32|0;n=t+28|0;r=t+4|0;p=t;l=t+16|0;q=t+36|0;if((c|0)<0){s=0;u=t;return s|0}if(!c){s=1;u=t;return s|0}g=(d|0)>1;m=g?d:1;f[r>>2]=0;s=r+4|0;f[s>>2]=0;f[r+8>>2]=0;j=r+8|0;if(c>>>0>1073741823){t=Ha(4)|0;Pp(t);sa(t|0,1096,107)}k=_m(c<<2)|0;i=k;f[r>>2]=i;f[s>>2]=i;f[j>>2]=k+(c<<2);f[p>>2]=0;a:do if(g){h=0;do{d=1;g=f[a+(h<<2)>>2]|0;do{k=f[a+(d+h<<2)>>2]|0;g=g>>>0>>0?k:g;d=d+1|0}while((d|0)!=(m|0));d=(_(g|0)|0)^31;if(g>>>0>(f[p>>2]|0)>>>0)f[p>>2]=g;g=(g|0)==0?1:d+1|0;f[o>>2]=g;d=f[s>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=g;f[s>>2]=d+4}else zi(r,o);h=h+m|0}while((h|0)<(c|0))}else{i=0;d=0;while(1){g=f[a+(d<<2)>>2]|0;h=(_(g|0)|0)^31;if(g>>>0>i>>>0)f[p>>2]=g;h=(g|0)==0?1:h+1|0;f[o>>2]=h;g=f[s>>2]|0;if(g>>>0<(f[j>>2]|0)>>>0){f[g>>2]=h;f[s>>2]=g+4}else zi(r,o);d=d+m|0;if((d|0)>=(c|0))break a;i=f[p>>2]|0}}while(0);yj(l,r);k=l+4|0;g=f[k>>2]|0;h=f[l>>2]|0;j=h;i=g-h>>2;if((g|0)==(h|0)){g=0;d=0}else{g=0;d=0;h=0;do{g=Zn(f[j+(h<<2)>>2]|0,0,g|0,d|0)|0;d=I;h=h+1|0}while(h>>>0>>0)}v=fg(j,i,32,o)|0;j=I;i=f[o>>2]<<3;i=tn(i|0,((i|0)<0)<<31>>31|0,1)|0;h=I;d=Zm(g|0,d|0,m|0,0)|0;d=Zn(v|0,j|0,d|0,I|0)|0;h=Zn(d|0,I|0,i|0,h|0)|0;i=I;d=f[l>>2]|0;if(d|0){g=f[k>>2]|0;if((g|0)!=(d|0))f[k>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}v=f[p>>2]|0;k=fg(a,c,v,o)|0;j=f[o>>2]|0;l=((v-j|0)/64|0)+j<<3;j=j<<3;k=Zn(j|0,((j|0)<0)<<31>>31|0,k|0,I|0)|0;l=Zn(k|0,I|0,l|0,((l|0)<0)<<31>>31|0)|0;k=I;if((i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0|((_((v>>>0>1?v:1)|0)|0)^30)>>>0>17){b[q>>0]=0;v=e+16|0;p=f[v+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[v>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,q,q+1|0)|0}h=Jc(a,c,m,r,e)|0}else{b[q>>0]=1;v=e+16|0;m=f[v+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[v>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,q,q+1|0)|0}h=id(a,c,p,e)|0}d=f[r>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}v=h;u=t;return v|0}function Oc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+16|0;v=w+8|0;l=w+4|0;p=w;q=a+124|0;f[q>>2]=(f[q>>2]|0)+1;q=a+88|0;m=a+120|0;j=f[m>>2]|0;c=j+1|0;do if((j|0)>=0){c=((c|0)%3|0|0)==0?j+-2|0:c;if(!((j>>>0)%3|0)){h=j+2|0;break}else{h=j+-1|0;break}}else{c=j;h=j}while(0);r=a+104|0;o=a+92|0;e=f[o>>2]|0;i=e+(c<<2)|0;g=f[r>>2]|0;d=g+(f[i>>2]<<2)|0;t=f[d>>2]|0;switch(b|0){case 1:case 0:{f[d>>2]=t+-1;j=g+(f[e+(h<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+-1;if((b|0)==1){if((h|0)>=0?(k=f[(f[(f[q>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(k|0)>-1):0){g=a+64|0;e=k;d=1;do{k=f[g>>2]|0;j=f[(f[k>>2]|0)+36>>2]|0;f[l>>2]=(e>>>0)/3|0;f[v>>2]=f[l>>2];if(Va[j&127](k,v)|0)break;k=e+1|0;e=((k|0)%3|0|0)==0?e+-2|0:k;if((e|0)<0){s=12;break}e=f[(f[(f[q>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;d=d+1|0}while((e|0)>-1);if((s|0)==12)d=d+1|0;g=f[r>>2]|0;e=f[o>>2]|0}else d=1;f[g+(f[e+(f[m>>2]<<2)>>2]<<2)>>2]=d;h=a+108|0;d=f[h>>2]|0;g=d-g>>2;if((c|0)>=0?(n=f[(f[(f[q>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(n|0)>-1):0){e=a+64|0;d=n;c=1;do{n=f[e>>2]|0;m=f[(f[n>>2]|0)+36>>2]|0;f[p>>2]=(d>>>0)/3|0;f[v>>2]=f[p>>2];if(Va[m&127](n,v)|0)break;n=d+1|0;f[(f[o>>2]|0)+((((n|0)%3|0|0)==0?d+-2|0:n)<<2)>>2]=g;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0){s=20;break}d=f[(f[(f[q>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;c=c+1|0}while((d|0)>-1);if((s|0)==20)c=c+1|0;d=f[h>>2]|0}else c=1;f[v>>2]=c;if(d>>>0<(f[a+112>>2]|0)>>>0){f[d>>2]=c;f[h>>2]=d+4}else zi(r,v)}break}case 5:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}case 3:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;break}case 7:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}default:{}}i=a+116|0;e=f[i>>2]|0;if((e|0)==-1){f[i>>2]=b;u=w;return}d=f[a+128>>2]|0;if((t|0)<(d|0))c=d;else{c=f[a+132>>2]|0;c=(t|0)>(c|0)?c:t}h=c-d|0;g=f[a+136>>2]|0;c=f[3596+(e<<2)>>2]|0;f[v>>2]=c;e=g+(h*12|0)+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+(h*12|0)+8>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else zi(g+(h*12|0)|0,v);f[i>>2]=b;u=w;return}function Pc(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+32|0;r=x;s=x+20|0;q=x+24|0;v=x+8|0;t=f[a>>2]|0;w=t+8|0;d=f[t>>2]|0;t=f[t+4>>2]|0;w=Zn(d|0,t|0,f[w>>2]|0,f[w+4>>2]|0)|0;n=I;n=Zn((w|0)==0&(n|0)==0&1|0,0,w|0,n|0)|0;n=~~((+(d>>>0)+4294967296.0*+(t>>>0))/(+(n>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;n=n>>>0<255?n:255;b[q>>0]=((n|0)==0&1)+n;n=a+12|0;t=a+16|0;d=((f[t>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[v>>2]=0;w=v+4|0;f[w>>2]=0;f[v+8>>2]=0;if(!d)o=0;else{if((d|0)<0)Wo(v);e=_m(d)|0;f[w>>2]=e;f[v>>2]=e;f[v+8>>2]=e+d;do{b[e>>0]=0;e=(f[w>>2]|0)+1|0;f[w>>2]=e;d=d+-1|0}while((d|0)!=0);o=f[v>>2]|0}p=a+28|0;e=(f[p>>2]|0)+-1|0;if((e|0)>-1){k=a+24|0;d=4096;h=0;do{g=b[q>>0]|0;i=256-(g&255)|0;j=(f[k>>2]&1<>>0>=g<<12>>>0){b[o+h>>0]=d;d=d>>>8;h=h+1|0}Zm(f[3964+(g<<3)>>2]|0,0,d|0,0)|0;d=d+(j?0:i&255)+(X((I+d|0)>>>(f[3964+(g<<3)+4>>2]|0),256-g|0)|0)|0;e=e+-1|0}while((e|0)>-1);e=d}else{e=4096;h=0}d=f[t>>2]|0;if((d|0)==(f[n>>2]|0))g=e;else{g=h;while(1){d=d+-4|0;m=f[d>>2]|0;j=31;while(1){i=b[q>>0]|0;k=256-(i&255)|0;l=(1<>>0>>0)h=g;else{b[o+g>>0]=e;e=e>>>8;h=g+1|0}Zm(f[3964+(i<<3)>>2]|0,0,e|0,0)|0;e=e+(l?0:k&255)+(X((I+e|0)>>>(f[3964+(i<<3)+4>>2]|0),256-i|0)|0)|0;if((j|0)<=0)break;else{g=h;j=j+-1|0}}if((d|0)==(f[n>>2]|0)){g=e;break}else g=h}}if(g>>>0<=4095)Fa(19601,19631,132,19707);if(g>>>0>=1048576)Fa(19721,19631,133,19707);d=g+-4096|0;do if(d>>>0>=64){e=o+h|0;if(d>>>0<16384){d=g+12288|0;b[e>>0]=d;g=2;e=e+1|0;d=d>>>8;break}else{d=g+8384512|0;b[e>>0]=d;b[e+1>>0]=d>>>8;g=3;e=e+2|0;d=d>>>16;break}}else{g=1;e=o+h|0}while(0);b[e>>0]=d;e=g+h|0;g=c+16|0;o=g;n=f[o+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ie(c,r,q,q+1|0)|0}Mh(e,c)|0;d=f[v>>2]|0;q=g;o=f[q+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[q>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ie(c,r,d,d+e|0)|0}d=r;f[d>>2]=0;f[d+4>>2]=0;Te(a,2,r);d=f[a+12>>2]|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+24>>2]=0;f[p>>2]=0;d=f[v>>2]|0;if(!d){u=x;return}if((f[w>>2]|0)!=(d|0))f[w>>2]=d;mq(d);u=x;return}function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>262144){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;mb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>131072){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;nb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>65536){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;ob(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>32768){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;pb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>16384){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==1048576){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;qb(h,l,n);a:do if((i|0)<1048576){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=1048576-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-1048576|0;while(1){e=1048576.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==1048576){i=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=1048576){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>8192){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*524288.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==524288){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;rb(h,l,n);a:do if((i|0)<524288){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=524288-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>524288;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-524288|0;while(1){e=524288.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==524288){i=524288;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=524288){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*1.9073486328125e-06)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>4096){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*262144.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==262144){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;sb(h,l,n);a:do if((i|0)<262144){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=262144-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>262144;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-262144|0;while(1){e=262144.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==262144){i=262144;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=262144){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*3.814697265625e-06)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>2048){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*65536.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==65536){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;tb(h,l,n);a:do if((i|0)<65536){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=65536-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>65536;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-65536|0;while(1){e=65536.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==65536){i=65536;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=65536){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.0000152587890625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>1024){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*32768.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==32768){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;ub(h,l,n);a:do if((i|0)<32768){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=32768-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>32768;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-32768|0;while(1){e=32768.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==32768){i=32768;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=32768){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000030517578125)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>512){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*8192.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==8192){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;vb(h,l,n);a:do if((i|0)<8192){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=8192-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>8192;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-8192|0;while(1){e=8192.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==8192){i=8192;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=8192){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.0001220703125)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>256){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;wb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>128){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;xb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>64){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;yb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>32){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;zb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>16){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Ab(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>8){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Bb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function ed(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>4){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Cb(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function fd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0;t=u;u=u+16|0;n=t;r=t+4|0;if((c|0)>2){a=0;u=t;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{s=b+(j<<3)|0;p=f[s>>2]|0;s=f[s+4>>2]|0;h=Zn(p|0,s|0,h|0,g|0)|0;g=I;i=(p|0)==0&(s|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));p=i}else{g=0;h=0;p=0}s=p+1|0;f[a+12>>2]=s;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(s>>>0<=k>>>0){if(s>>>0>>0?(l=i+(s<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else Rg(a,s-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);o=(p|0)<0;if(!o){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)==4096){if(o){a=0;u=t;return a|0}}else q=13}else{i=0;q=13}if((q|0)==13){yk(r,s);h=f[r>>2]|0;if(!o){g=0;do{f[h+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(s|0))}m=r+4|0;l=f[m>>2]|0;f[n>>2]=a;Db(h,l,n);a:do if((i|0)<4096){q=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[q>>2]=4096-i+(f[q>>2]|0);i=0}else{if((p|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[r>>2]|0;l=f[a>>2]|0;g=i+-4096|0;while(1){e=4096.0/+(i|0);c=p;while(1){j=l+(f[k+(c<<2)>>2]<<3)|0;h=f[j>>2]|0;if(h>>>0<2){q=24;break}n=h-~~+J(+(e*+(h>>>0)))|0;n=(n|0)==0?1:n;n=(n|0)<(h|0)?n:h+-1|0;n=(n|0)>(g|0)?g:n;f[j>>2]=h-n;i=i-n|0;g=g-n|0;if((i|0)==4096){i=4096;break}if((c|0)>1)c=c+-1|0;else break}if((q|0)==24){q=0;if((c|0)==(p|0)){i=1;break a}}if((g|0)<=0){i=0;break}}}while(0);g=f[r>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);mq(g)}if((i|0)!=0|o){a=0;u=t;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(s|0));if((i|0)!=4096){a=0;u=t;return a|0}if(o)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){r=b+(i<<3)|0;v=+((f[r>>2]|0)>>>0)+4294967296.0*+((f[r+4>>2]|0)>>>0);e=e+v*+Mg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(s|0))}v=+W(+-e);s=+K(v)>=1.0?(v>0.0?~~+Y(+J(v/4294967296.0),4294967295.0)>>>0:~~+W((v-+(~~v>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~v>>>0;f[b+4>>2]=s;a=Ce(a,d)|0;u=t;return a|0}function gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;r=f[a+28>>2]|0;s=f[a+32>>2]|0;y=e>>>0>1073741823?-1:e<<2;v=jq(y)|0;Xi(v|0,0,y|0)|0;w=jq(y)|0;Xi(w|0,0,y|0)|0;y=a+36|0;h=f[y>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;i=d-g|0;a:do if((i|0)>4){x=(e|0)>0;z=a+8|0;u=r+12|0;t=e<<2;p=i>>2;while(1){q=p+-1|0;if(d-g>>2>>>0<=q>>>0){Vo(h);g=f[h>>2]|0}o=f[g+(q<<2)>>2]|0;if(x)Xi(v|0,0,t|0)|0;if((o|0)>-1){n=f[u>>2]|0;m=o;l=0;while(1){d=f[n+(m<<2)>>2]|0;if((d|0)>=0){h=f[r>>2]|0;i=f[s>>2]|0;k=f[i+(f[h+(d<<2)>>2]<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;j=f[i+(g<<2)>>2]|0;g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;g=f[i+(g<<2)>>2]|0;if((k|0)<(q|0)&(j|0)<(q|0)&(g|0)<(q|0)){i=X(k,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(x){g=0;do{f[w+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(x){g=0;do{k=v+(g<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[w+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else l=h}g=X(q,e)|0;if(!h)A=32;else{if(x){d=0;do{p=v+(d<<2)|0;f[p>>2]=(f[p>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}Xh(z,b+(g<<2)|0,v,c+(g<<2)|0)}}else{g=X(q,e)|0;A=32}if((A|0)==32){A=0;Xh(z,b+(g<<2)|0,b+((X(p+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((q|0)<=1)break a;g=f[y>>2]|0;d=f[g+4>>2]|0;h=g;g=f[g>>2]|0;p=q}}while(0);if((e|0)<=0){A=a+8|0;Xh(A,b,v,c);kq(w);kq(v);return 1}Xi(v|0,0,e<<2|0)|0;A=a+8|0;Xh(A,b,v,c);kq(w);kq(v);return 1}function hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;p=f[a+28>>2]|0;q=f[a+32>>2]|0;x=e>>>0>1073741823?-1:e<<2;t=jq(x)|0;Xi(t|0,0,x|0)|0;u=jq(x)|0;Xi(u|0,0,x|0)|0;x=a+36|0;h=f[x>>2]|0;d=f[h+4>>2]|0;g=f[h>>2]|0;i=d-g|0;a:do if((i|0)>4){v=(e|0)>0;y=a+8|0;w=p+64|0;s=p+28|0;r=e<<2;n=i>>2;while(1){o=n+-1|0;if(d-g>>2>>>0<=o>>>0){Vo(h);g=f[h>>2]|0}m=f[g+(o<<2)>>2]|0;if(v)Xi(t|0,0,r|0)|0;if((m|0)>-1){l=f[p>>2]|0;k=m;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(C=f[(f[(f[w>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(C|0)>=0):0)?(B=f[s>>2]|0,i=f[q>>2]|0,z=f[i+(f[B+(C<<2)>>2]<<2)>>2]|0,A=C+1|0,A=f[i+(f[B+((((A|0)%3|0|0)==0?C+-2|0:A)<<2)>>2]<<2)>>2]|0,B=f[i+(f[B+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(z|0)<(o|0)&(A|0)<(o|0)&(B|0)<(o|0)):0){d=X(z,e)|0;h=X(A,e)|0;i=X(B,e)|0;if(v){g=0;do{f[u+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(v){g=0;do{i=t+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[u+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}j=j+1|0}g=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[w>>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);k=(g|0)==(m|0)?-1073741824:g}while((k|0)>-1);g=X(o,e)|0;if(!j)D=30;else{if(v){d=0;do{n=t+(d<<2)|0;f[n>>2]=(f[n>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}Xh(y,b+(g<<2)|0,t,c+(g<<2)|0)}}else{g=X(o,e)|0;D=30}if((D|0)==30){D=0;Xh(y,b+(g<<2)|0,b+((X(n+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((o|0)<=1)break a;g=f[x>>2]|0;d=f[g+4>>2]|0;h=g;g=f[g>>2]|0;n=o}}while(0);if((e|0)<=0){D=a+8|0;Xh(D,b,t,c);kq(u);kq(t);return 1}Xi(t|0,0,e<<2|0)|0;D=a+8|0;Xh(D,b,t,c);kq(u);kq(t);return 1}function id(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+8|0;i=m+4|0;k=m;l=m+12|0;f[k>>2]=0;if(!d)if((c|0)>0){g=0;h=0;while(1){d=f[a+(h<<2)>>2]|0;if(d>>>0>g>>>0)f[k>>2]=d;else d=g;h=h+1|0;if((h|0)==(c|0)){g=7;break}else g=d}}else d=1;else{d=f[d>>2]|0;f[k>>2]=d;g=7}if((g|0)==7){g=((_(d|0)|0)^31)+1|0;if(d)if(g>>>0>18){e=0;u=m;return e|0}else d=g;else d=1}b[l>>0]=d;h=e+16|0;g=f[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)){f[i>>2]=f[e+4>>2];f[j>>2]=f[i>>2];Ie(e,j,l,l+1|0)|0}do switch(d|0){case 1:case 0:{e=ze(a,c,k,e)|0;u=m;return e|0}case 2:{e=ye(a,c,k,e)|0;u=m;return e|0}case 3:{e=xe(a,c,k,e)|0;u=m;return e|0}case 4:{e=we(a,c,k,e)|0;u=m;return e|0}case 5:{e=ve(a,c,k,e)|0;u=m;return e|0}case 6:{e=ue(a,c,k,e)|0;u=m;return e|0}case 7:{e=te(a,c,k,e)|0;u=m;return e|0}case 8:{e=se(a,c,k,e)|0;u=m;return e|0}case 9:{e=re(a,c,k,e)|0;u=m;return e|0}case 10:{e=pe(a,c,k,e)|0;u=m;return e|0}case 11:{e=oe(a,c,k,e)|0;u=m;return e|0}case 12:{e=ne(a,c,k,e)|0;u=m;return e|0}case 13:{e=me(a,c,k,e)|0;u=m;return e|0}case 14:{e=le(a,c,k,e)|0;u=m;return e|0}case 15:{e=ke(a,c,k,e)|0;u=m;return e|0}case 16:{e=je(a,c,k,e)|0;u=m;return e|0}case 17:{e=ie(a,c,k,e)|0;u=m;return e|0}case 18:{e=he(a,c,k,e)|0;u=m;return e|0}default:{e=0;u=m;return e|0}}while(0);return 0}function jd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2852;e=b;f[a>>2]=e;return}case 2:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2908;e=b;f[a>>2]=e;return}case 4:{b=_m(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2964;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3020;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3076;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3132;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=3188;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function kd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2488;e=b;f[a>>2]=e;return}case 2:{b=_m(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2544;e=b;f[a>>2]=e;return}case 4:{b=_m(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2600;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2656;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2712;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2768;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=2824;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function ld(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+1264|0;t=x+1252|0;q=x+1248|0;v=x+16|0;d=x+1244|0;i=x+1240|0;w=x+8|0;r=x+1236|0;e=x+1232|0;g=x+1228|0;h=x+1224|0;j=x+1220|0;k=x+1216|0;l=x+1212|0;m=x+1208|0;n=x+1204|0;o=x+12|0;p=x+4|0;s=x;c=f[a+48>>2]|0;if(c>>>0>=7)Fa(20199,20227,45,20379);switch(c|0){case 0:{th(v,3);f[d>>2]=f[b>>2];f[i>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[d>>2];f[t>>2]=f[i>>2];of(v,q,t,w,a+16|0)|0;gf(v);u=x;return 1}case 1:{th(v,3);f[r>>2]=f[b>>2];f[e>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[r>>2];f[t>>2]=f[e>>2];of(v,q,t,w,a+16|0)|0;gf(v);u=x;return 1}case 2:{uh(v,3);f[g>>2]=f[b>>2];f[h>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[g>>2];f[t>>2]=f[h>>2];qf(v,q,t,w,a+16|0)|0;hf(v);u=x;return 1}case 3:{uh(v,3);f[j>>2]=f[b>>2];f[k>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[j>>2];f[t>>2]=f[k>>2];qf(v,q,t,w,a+16|0)|0;hf(v);u=x;return 1}case 4:{bh(v,3);f[l>>2]=f[b>>2];f[m>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[l>>2];f[t>>2]=f[m>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}case 5:{bh(v,3);f[n>>2]=f[b>>2];f[o>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[n>>2];f[t>>2]=f[o>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}default:{bh(v,3);f[p>>2]=f[b>>2];f[s>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[p>>2];f[t>>2]=f[s>>2];We(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}}return 0}function md(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}q=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(q)g=c&p;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){o=c;b:while(1){c:do if(q){c=e;while(1){n=f[c+4>>2]&p;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=c+10|0;k=c+12|0;l=c+14|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[m>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break d}if((d[l>>1]|0)!=(d[e+14>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=40;break a}}}else{c=e;while(1){n=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=c+10|0;k=c+12|0;l=c+14|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[m>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break e}if((d[l>>1]|0)!=(d[e+14>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=40;break a}}}while(0);e=f[c>>2]|0;if(!e){c=40;break a}else{i=c;o=c}}f[e>>2]=o;e=f[c>>2]|0;if(!e){c=40;break}else i=c}if((c|0)==40)return}function nd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}p=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)e=c&o;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){n=c;b:while(1){c:do if(p){c=d;while(1){m=f[c+4>>2]&o;if((m|0)==(e|0))break c;d=(f[a>>2]|0)+(m<<2)|0;if(!(f[d>>2]|0)){e=m;break b}l=c+12|0;j=c+16|0;k=c+20|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[l>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break d}if((f[k>>2]|0)!=(f[d+20>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{q=d;d=g;g=q}}}while(0);f[n>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=40;break a}}}else{c=d;while(1){m=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(e|0))break c;d=(f[a>>2]|0)+(m<<2)|0;if(!(f[d>>2]|0)){e=m;break b}l=c+12|0;j=c+16|0;k=c+20|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[l>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break e}if((f[k>>2]|0)!=(f[d+20>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{q=d;d=g;g=q}}}while(0);f[n>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=40;break a}}}while(0);d=f[c>>2]|0;if(!d){c=40;break a}else{h=c;n=c}}f[d>>2]=n;d=f[c>>2]|0;if(!d){c=40;break}else h=c}if((c|0)==40)return}function od(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}q=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=q;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;p=c+-1|0;q=(p&c|0)==0;if(q)g=d&p;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){o=d;b:while(1){c:do if(q){d=e;while(1){n=f[d+4>>2]&p;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=d+9|0;k=d+10|0;l=d+11|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[m>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break d}if((b[l>>0]|0)!=(b[e+11>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}}else{d=e;while(1){n=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((n|0)==(g|0))break c;e=(f[a>>2]|0)+(n<<2)|0;if(!(f[e>>2]|0)){g=n;break b}m=d+9|0;k=d+10|0;l=d+11|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[m>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break e}if((b[l>>0]|0)!=(b[e+11>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{r=e;e=h;h=r}}}while(0);f[o>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}}while(0);e=f[d>>2]|0;if(!e){d=40;break a}else{i=d;o=d}}f[e>>2]=o;e=f[d>>2]|0;if(!e){d=40;break}else i=d}if((d|0)==40)return}function pd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+32|0;h=j+12|0;i=j;f[b+48>>2]=c;g=b+44|0;f[g>>2]=d;d=f[b+8>>2]|0;e=b+12|0;c=f[e>>2]|0;if((c|0)!=(d|0))do{k=c+-4|0;f[e>>2]=k;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(d|0));c=f[b+20>>2]|0;e=b+24|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);c=f[b+32>>2]|0;e=b+36|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);c=b+4|0;if(!(f[c>>2]|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,18966,23);f[a>>2]=-1;dl(a+4|0,h);_n(h);u=j;return}Od(a,b);if(f[a>>2]|0){u=j;return}d=a+4|0;_n(d);c=f[(f[c>>2]|0)+4>>2]|0;do if(c){if(nj(h,f[g>>2]|0,c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;break}f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18990,26);f[a>>2]=-1;dl(d,i);_n(i);if(f[a>>2]|0){u=j;return}}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}while(0);_n(d);if(!(Ra[f[(f[b>>2]|0)+16>>2]&127](b)|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19017,29);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}if(!(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19047,31);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}if(!(Ra[f[(f[b>>2]|0)+24>>2]&127](b)|0)){f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19079,31);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}if(Ra[f[(f[b>>2]|0)+28>>2]&127](b)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=j;return}else{f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,19111,34);f[a>>2]=-1;dl(d,h);_n(h);u=j;return}}function qd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;u=a+8|0;f[u>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}else d=0;g=d-e|0;if((g|0)>0){o=0-e|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;d=f[u>>2]|0;do{l=b+(g<<2)|0;m=c+(g<<2)|0;if((d|0)>0){k=0;j=l+(o<<2)|0;while(1){if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[r>>2]|0;if((d|0)>(h|0)){d=f[n>>2]|0;f[d+(i<<2)>>2]=h}else{w=f[t>>2]|0;h=f[n>>2]|0;f[h+(i<<2)>>2]=(d|0)<(w|0)?w:d;d=h}i=i+1|0}while((i|0)<(f[u>>2]|0));i=d}else i=f[n>>2]|0;d=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=m+(k<<2)|0;f[h>>2]=d;if((d|0)>=(f[s>>2]|0)){if((d|0)>(f[p>>2]|0)){d=d-(f[q>>2]|0)|0;v=41}}else{d=(f[q>>2]|0)+d|0;v=41}if((v|0)==41){v=0;f[h>>2]=d}k=k+1|0;d=f[u>>2]|0;if((k|0)>=(d|0))break;else j=i}}g=g-e|0}while((g|0)>0)}else d=f[u>>2]|0;w=e>>>0>1073741823?-1:e<<2;m=jq(w)|0;Xi(m|0,0,w|0)|0;if((d|0)<=0){kq(m);return 1}o=a+16|0;l=a+32|0;q=a+12|0;p=a+28|0;n=a+20|0;k=a+24|0;j=0;h=m;do{if((d|0)>0){i=0;do{d=f[h+(i<<2)>>2]|0;g=f[o>>2]|0;if((d|0)>(g|0)){d=f[l>>2]|0;f[d+(i<<2)>>2]=g}else{a=f[q>>2]|0;w=f[l>>2]|0;f[w+(i<<2)>>2]=(d|0)<(a|0)?a:d;d=w}i=i+1|0}while((i|0)<(f[u>>2]|0));h=d}else h=f[l>>2]|0;d=(f[b+(j<<2)>>2]|0)-(f[h+(j<<2)>>2]|0)|0;g=c+(j<<2)|0;f[g>>2]=d;if((d|0)>=(f[p>>2]|0)){if((d|0)>(f[k>>2]|0)){d=d-(f[n>>2]|0)|0;v=26}}else{d=(f[n>>2]|0)+d|0;v=26}if((v|0)==26){v=0;f[g>>2]=d}j=j+1|0;d=f[u>>2]|0}while((j|0)<(d|0));kq(m);return 1}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}s=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(s)g=d&r;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){q=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(s)p=e&r;else p=(e>>>0)%(c>>>0)|0;if((p|0)==(g|0))break;e=(f[a>>2]|0)+(p<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{n=d+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[d+12>>2]|0:m;l=(o|0)==0;if(k){h=d;while(1){j=e+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[e+12>>2]|0:m&255)|0)){e=h;break c}if(!l?il(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{m=e;e=h;h=m}}}if(l){h=d;while(1){o=b[e+8+11>>0]|0;if((o<<24>>24<0?f[e+12>>2]|0:o&255)|0){e=h;break c}h=f[e>>2]|0;if(!h)break c;else{o=e;e=h;h=o}}}l=d;while(1){h=e+8|0;k=b[h+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[e+12>>2]|0:k&255)|0)){e=l;break c}h=j?f[h>>2]|0:h;if((f[n>>2]&255)<<24>>24==(b[h>>0]|0)){j=m;k=n}else{e=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;h=h+1|0;if((b[k>>0]|0)!=(b[h>>0]|0)){e=l;break c}}h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[q>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(p<<2)>>2]>>2];f[f[(f[a>>2]|0)+(p<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=41;break a}}e=f[d>>2]|0;if(!e){d=41;break a}else{i=d;q=d}}f[e>>2]=q;e=f[d>>2]|0;if(!e){d=41;break}else{i=d;g=p}}if((d|0)==41)return}function sd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}p=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(p)g=c&o;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){n=c;b:while(1){c:do if(p){c=e;while(1){m=f[c+4>>2]&o;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=c+10|0;k=c+12|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[l>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=38;break a}}}else{c=e;while(1){m=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=c+10|0;k=c+12|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[l>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+12>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=38;break a}}}while(0);e=f[c>>2]|0;if(!e){c=38;break a}else{i=c;n=c}}f[e>>2]=n;e=f[c>>2]|0;if(!e){c=38;break}else i=c}if((c|0)==38)return}function td(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}o=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)e=c&n;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){m=c;b:while(1){c:do if(o){c=d;while(1){l=f[c+4>>2]&n;if((l|0)==(e|0))break c;d=(f[a>>2]|0)+(l<<2)|0;if(!(f[d>>2]|0)){e=l;break b}k=c+12|0;j=c+16|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[k>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{p=d;d=g;g=p}}}while(0);f[m>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=38;break a}}}else{c=d;while(1){l=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(e|0))break c;d=(f[a>>2]|0)+(l<<2)|0;if(!(f[d>>2]|0)){e=l;break b}k=c+12|0;j=c+16|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[k>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+16>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{p=d;d=g;g=p}}}while(0);f[m>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=38;break a}}}while(0);d=f[c>>2]|0;if(!d){c=38;break a}else{h=c;m=c}}f[d>>2]=m;d=f[c>>2]|0;if(!d){c=38;break}else h=c}if((c|0)==38)return}function ud(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}p=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=p;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;o=c+-1|0;p=(o&c|0)==0;if(p)g=d&o;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){n=d;b:while(1){c:do if(p){d=e;while(1){m=f[d+4>>2]&o;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=d+9|0;k=d+10|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[l>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=38;break a}}}else{d=e;while(1){m=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((m|0)==(g|0))break c;e=(f[a>>2]|0)+(m<<2)|0;if(!(f[e>>2]|0)){g=m;break b}l=d+9|0;k=d+10|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[l>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+10>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{q=e;e=h;h=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=38;break a}}}while(0);e=f[d>>2]|0;if(!e){d=38;break a}else{i=d;n=d}}f[e>>2]=n;e=f[d>>2]|0;if(!e){d=38;break}else i=d}if((d|0)==38)return}function vd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;i=r+20|0;j=r+12|0;p=r;g=r+16|0;h=r+24|0;k=a+16|0;cn(k);e=(f[d+4>>2]|0)-(f[c+4>>2]|0)|0;m=a+12|0;f[m>>2]=e;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;Ji(p,e);f[g>>2]=p;f[i>>2]=f[g>>2];Fc(c,d,a,i)|0;g=a+32|0;c=g;d=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,6096,6100)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}e=a+8|0;b[h>>0]=f[e>>2];if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,h,h+1|0)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}if(!((c|0)>0|(c|0)==0&d>>>0>0)?(f[j>>2]=f[a+20>>2],f[i>>2]=f[j>>2],Ie(k,i,a,a+4|0)|0,h=g,d=f[h+4>>2]|0,n=a+4|0,!((d|0)>0|(d|0)==0&(f[h>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,n,n+4|0)|0;n=g;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,m,m+4|0)|0}}else o=9;if((f[e>>2]|0)==1?(l=a+48|0,o=g,n=f[o+4>>2]|0,!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ie(k,i,l,l+4|0)|0}do if(f[m>>2]|0)if((f[e>>2]|0)==1){e=ld(a,p)|0;break}else{zl(8037,23,1,f[1525]|0)|0;e=0;break}else e=1;while(0);c=f[p>>2]|0;if(!c){u=r;return e|0}d=f[q>>2]|0;if((d|0)!=(c|0))f[q>>2]=d+(~(((d+-12-c|0)>>>0)/12|0)*12|0);mq(c);u=r;return e|0}function wd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17739,15);l=Ck(c,m,-1)|0;_n(m);switch(l|0){case 0:{g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3916;break}case -1:{if((bj(c)|0)==10){g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3916}else n=5;break}default:n=5}a:do if((n|0)==5){g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g|0)<=0)Fa(20527,20426,60,20517);g=f[g>>2]|0;b:do if((f[g+56>>2]|0)==0?(b[g+24>>0]|0)==3:0){switch(f[g+28>>2]|0){case 9:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17755,17);j=c+16|0;h=f[j>>2]|0;if(h){g=j;i=h;c:while(1){h=i;while(1){if((f[h+16>>2]|0)>=0)break;h=f[h+4>>2]|0;if(!h)break c}i=f[h>>2]|0;if(!i){g=h;break}else g=h}if(((g|0)!=(j|0)?(k=g+20|0,(f[g+16>>2]|0)<=0):0)?(Kh(k,m)|0)!=0:0)g=Ck(k,m,-1)|0;else n=19}else n=19;if((n|0)==19)g=Ck(c,m,-1)|0;_n(m);if((g|0)<1)break b;break}case 6:break;default:break b}g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3860;break a}while(0);if((l|0)!=1){g=_m(52)|0;h=g;i=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(i|0));zn(g);h=3916;break}f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17773,24);f[a>>2]=-1;dl(a+4|0,m);_n(m);u=o;return}while(0);f[g>>2]=h;No(g,d);pd(a,g,c,e);Oa[f[(f[g>>2]|0)+4>>2]&127](g);u=o;return}function xd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+48|0;m=r+32|0;h=r+28|0;p=r+16|0;q=r;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){q=c;q=q+20|0;u=r;return q|0}}Qo(p);f[q>>2]=f[b>>2];l=q+4|0;f[q+8>>2]=0;k=q+12|0;f[k>>2]=0;n=q+8|0;f[l>>2]=n;c=f[p>>2]|0;o=p+4|0;if((c|0)!=(o|0)){g=n;e=c;d=c;while(1){c=e+16|0;f[h>>2]=g;f[m>>2]=f[h>>2];Sg(l,m,c,c)|0;c=f[d+4>>2]|0;if(!c)while(1){c=f[d+8>>2]|0;if((f[c>>2]|0)==(d|0))break;else d=c}else while(1){d=f[c>>2]|0;if(!d)break;else c=d}if((c|0)==(o|0))break;else{e=c;d=c}}}i=a+12|0;c=f[j>>2]|0;do if(c){e=f[q>>2]|0;g=c;while(1){c=f[g+16>>2]|0;if((e|0)<(c|0)){c=f[g>>2]|0;if(!c){c=19;break}}else{if((c|0)>=(e|0)){c=24;break}d=g+4|0;c=f[d>>2]|0;if(!c){c=23;break}}g=c}if((c|0)==19){f[m>>2]=g;h=g;b=g;break}else if((c|0)==23){f[m>>2]=g;h=g;b=d;break}else if((c|0)==24){f[m>>2]=g;h=g;b=m;break}}else{f[m>>2]=j;h=j;b=j}while(0);c=f[b>>2]|0;if(!c){c=_m(32)|0;f[c+16>>2]=f[q>>2];g=c+20|0;f[g>>2]=f[l>>2];e=c+24|0;d=f[q+8>>2]|0;f[e>>2]=d;m=f[k>>2]|0;f[c+28>>2]=m;if(!m)f[g>>2]=e;else{f[d+8>>2]=e;f[l>>2]=n;f[n>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[b>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[b>>2]|0}Je(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}mj(q+4|0,f[n>>2]|0);mj(p,f[o>>2]|0);q=c;q=q+20|0;u=r;return q|0}function yd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(b-a>>2|0){case 2:{l=b+-4|0;i=f[l>>2]|0;k=f[a>>2]|0;d=f[c>>2]|0;g=f[d+4>>2]|0;e=f[d>>2]|0;if(g-e>>3>>>0>i>>>0){j=d;h=e;d=e}else{Vo(d);g=f[c>>2]|0;j=g;h=f[d>>2]|0;d=f[g>>2]|0;g=f[g+4>>2]|0}e=f[h+(i<<3)>>2]|0;if(g-d>>3>>>0<=k>>>0){Vo(j);d=f[j>>2]|0}if(e>>>0>=(f[d+(k<<3)>>2]|0)>>>0){a=1;return a|0}c=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=c;a=1;return a|0}case 3:{Wd(a,a+4|0,b+-4|0,c)|0;a=1;return a|0}case 4:{Ne(a,a+4|0,a+8|0,b+-4|0,c)|0;a=1;return a|0}case 5:{Vd(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{g=a+8|0;Wd(a,a+4|0,g,c)|0;e=a+12|0;a:do if((e|0)==(b|0)){e=1;d=0}else{d=0;n=e;e=g;while(1){k=f[n>>2]|0;m=f[e>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}if(h>>>0<(f[g+(m<<3)>>2]|0)>>>0){m=f[n>>2]|0;g=n;while(1){f[g>>2]=f[e>>2];if((e|0)==(a|0)){e=a;break}l=e+-4|0;k=f[l>>2]|0;j=f[c>>2]|0;h=f[j+4>>2]|0;g=f[j>>2]|0;if(h-g>>3>>>0>m>>>0)i=g;else{Vo(j);o=f[c>>2]|0;i=f[j>>2]|0;g=f[o>>2]|0;h=f[o+4>>2]|0;j=o}i=f[i+(m<<3)>>2]|0;if(h-g>>3>>>0<=k>>>0){Vo(j);g=f[j>>2]|0}if(i>>>0<(f[g+(k<<3)>>2]|0)>>>0){g=e;e=l}else break}f[e>>2]=m;d=d+1|0;if((d|0)==8){e=0;d=(n+4|0)==(b|0);break a}}e=n+4|0;if((e|0)==(b|0)){e=1;d=0;break}else{o=n;n=e;e=o}}}while(0);o=d|e;return o|0}}return 0}function zd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=a+4|0;s=f[c>>2]|0;c=s;do if((s|0)!=(n|0)){i=s+16|0;o=b[e+11>>0]|0;p=o<<24>>24<0;o=p?f[e+4>>2]|0:o&255;h=b[i+11>>0]|0;l=h<<24>>24<0;h=l?f[s+20>>2]|0:h&255;k=h>>>0>>0;g=k?h:o;if((g|0)!=0?(j=il(p?f[e>>2]|0:e,l?f[i>>2]|0:i,g)|0,(j|0)!=0):0){if((j|0)<0)break}else t=4;if((t|0)==4?o>>>0>>0:0)break;g=o>>>0>>0?o:h;if((g|0)!=0?(m=il(l?f[i>>2]|0:i,p?f[e>>2]|0:e,g)|0,(m|0)!=0):0){if((m|0)>=0)t=34}else t=20;if((t|0)==20?!k:0)t=34;if((t|0)==34){f[d>>2]=c;return d|0}k=s+4|0;c=f[k>>2]|0;l=(c|0)==0;if(l){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))break;else g=c}}else while(1){g=f[c>>2]|0;if(!g)break;else c=g}do if((c|0)!=(n|0)){h=c+16|0;i=b[h+11>>0]|0;j=i<<24>>24<0;i=j?f[c+20>>2]|0:i&255;g=i>>>0>>0?i:o;if((g|0)!=0?(q=il(p?f[e>>2]|0:e,j?f[h>>2]|0:h,g)|0,(q|0)!=0):0){if((q|0)<0)break}else t=28;if((t|0)==28?o>>>0>>0:0)break;d=xg(a,d,e)|0;return d|0}while(0);if(l){f[d>>2]=s;d=k;return d|0}else{f[d>>2]=c;d=c;return d|0}}while(0);do if((s|0)!=(f[a>>2]|0)){c=f[s>>2]|0;if(!c){g=s;while(1){c=f[g+8>>2]|0;if((f[c>>2]|0)==(g|0))g=c;else{g=c;break}}}else while(1){g=f[c+4>>2]|0;if(!g){g=c;break}else c=g}c=g;k=g+16|0;h=b[k+11>>0]|0;l=h<<24>>24<0;h=l?f[g+20>>2]|0:h&255;i=b[e+11>>0]|0;j=i<<24>>24<0;i=j?f[e+4>>2]|0:i&255;g=i>>>0>>0?i:h;if((g|0)!=0?(r=il(l?f[k>>2]|0:k,j?f[e>>2]|0:e,g)|0,(r|0)!=0):0){if((r|0)<0)break}else t=12;if((t|0)==12?h>>>0>>0:0)break;d=xg(a,d,e)|0;return d|0}while(0);if(!(f[s>>2]|0)){f[d>>2]=s;d=s;return d|0}else{t=c;f[d>>2]=t;d=t+4|0;return d|0}return 0}function Ad(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=mm(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((mm(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Zn(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;Dn(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=Dn(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function Bd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}o=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(o)g=c&n;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){m=c;b:while(1){c:do if(o){c=e;while(1){l=f[c+4>>2]&n;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=c+10|0;e=f[c>>2]|0;d:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break d}if((d[k>>1]|0)!=(d[e+10>>1]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=36;break a}}}else{c=e;while(1){l=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=c+10|0;e=f[c>>2]|0;e:do if(!e)e=c;else{j=d[c+8>>1]|0;h=c;while(1){if(j<<16>>16!=(d[e+8>>1]|0)){e=h;break e}if((d[k>>1]|0)!=(d[e+10>>1]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=c;c=f[i>>2]|0;if(!c){c=36;break a}}}while(0);e=f[c>>2]|0;if(!e){c=36;break a}else{i=c;m=c}}f[e>>2]=m;e=f[c>>2]|0;if(!e){c=36;break}else i=c}if((c|0)==36)return}function Cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=jq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)kq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}o=a+56|0;i=f[o>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[x>>2]=f[g+(h<<2)>>2];f[y>>2]=f[x>>2];sc(a,y,b,h);m=X(h,e)|0;d=b+(m<<2)|0;m=c+(m<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=f[w>>2]|0;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[p>>2]|0)){g=g-(f[q>>2]|0)|0;z=33}}else{g=(f[q>>2]|0)+g|0;z=33}if((z|0)==33){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[o>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Dd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=b[c+11>>0]|0;m=n<<24>>24<0;o=m?f[c>>2]|0:c;n=m?f[c+4>>2]|0:n&255;if(n>>>0>3){c=o;g=n;d=n;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=n+-4|0;d=m&-4;e=o+(d+4)|0;c=g;d=m-d|0}else{e=o;c=n;d=n}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;l=6;break}case 2:{i=c;l=6;break}case 1:{j=c;l=7;break}default:k=c}if((l|0)==6){j=h[e+1>>0]<<8^i;l=7}if((l|0)==7)k=X(h[e>>0]^j,1540483477)|0;c=X(k>>>13^k,1540483477)|0;c=c>>>15^c;k=f[a+4>>2]|0;if(!k){o=0;return o|0}l=k+-1|0;d=(l&k|0)==0;if(d)m=c&l;else m=(c>>>0)%(k>>>0)|0;c=f[(f[a>>2]|0)+(m<<2)>>2]|0;if(!c){o=0;return o|0}c=f[c>>2]|0;if(!c){o=0;return o|0}a=(n|0)==0;if(d){a:while(1){if((f[c+4>>2]&l|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break a}if(!(il(i,o,n)|0)){l=35;break a}else break}if(a){l=35;break a}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break a}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}else{b:while(1){if((((f[c+4>>2]|0)>>>0)%(k>>>0)|0|0)!=(m|0)){c=0;l=35;break}d=c+8|0;g=b[d+11>>0]|0;j=g<<24>>24<0;g=g&255;do if(((j?f[c+12>>2]|0:g)|0)==(n|0)){e=f[d>>2]|0;i=j?e:d;if(j){if(a){l=35;break b}if(!(il(i,o,n)|0)){l=35;break b}else break}if(a){l=35;break b}if((e&255)<<24>>24==(b[o>>0]|0)){e=o;do{g=g+-1|0;d=d+1|0;if(!g){l=35;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;l=35;break}}if((l|0)==35)return c|0}return 0}function Ed(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}n=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)e=c&m;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){l=c;b:while(1){c:do if(n){c=d;while(1){k=f[c+4>>2]&m;if((k|0)==(e|0))break c;d=(f[a>>2]|0)+(k<<2)|0;if(!(f[d>>2]|0)){e=k;break b}j=c+12|0;d=f[c>>2]|0;d:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break d}if((f[j>>2]|0)!=(f[d+12>>2]|0)){d=g;break d}g=f[d>>2]|0;if(!g)break;else{o=d;d=g;g=o}}}while(0);f[l>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=36;break a}}}else{c=d;while(1){k=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((k|0)==(e|0))break c;d=(f[a>>2]|0)+(k<<2)|0;if(!(f[d>>2]|0)){e=k;break b}j=c+12|0;d=f[c>>2]|0;e:do if(!d)d=c;else{i=f[c+8>>2]|0;g=c;while(1){if((i|0)!=(f[d+8>>2]|0)){d=g;break e}if((f[j>>2]|0)!=(f[d+12>>2]|0)){d=g;break e}g=f[d>>2]|0;if(!g)break;else{o=d;d=g;g=o}}}while(0);f[l>>2]=f[d>>2];f[d>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[h>>2]|0;if(!c){c=36;break a}}}while(0);d=f[c>>2]|0;if(!d){c=36;break a}else{h=c;l=c}}f[d>>2]=l;d=f[c>>2]|0;if(!d){c=36;break}else h=c}if((c|0)==36)return}function Fd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}o=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=o;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;n=c+-1|0;o=(n&c|0)==0;if(o)g=d&n;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){m=d;b:while(1){c:do if(o){d=e;while(1){l=f[d+4>>2]&n;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=d+9|0;e=f[d>>2]|0;d:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break d}if((b[k>>0]|0)!=(b[e+9>>0]|0)){e=h;break d}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=36;break a}}}else{d=e;while(1){l=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((l|0)==(g|0))break c;e=(f[a>>2]|0)+(l<<2)|0;if(!(f[e>>2]|0)){g=l;break b}k=d+9|0;e=f[d>>2]|0;e:do if(!e)e=d;else{j=b[d+8>>0]|0;h=d;while(1){if(j<<24>>24!=(b[e+8>>0]|0)){e=h;break e}if((b[k>>0]|0)!=(b[e+9>>0]|0)){e=h;break e}h=f[e>>2]|0;if(!h)break;else{p=e;e=h;h=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=36;break a}}}while(0);e=f[d>>2]|0;if(!e){d=36;break a}else{i=d;m=d}}f[e>>2]=m;e=f[d>>2]|0;if(!e){d=36;break}else i=d}if((d|0)==36)return}function Gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=jq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)kq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}o=a+56|0;i=f[o>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[x>>2]=f[g+(h<<2)>>2];f[y>>2]=f[x>>2];pc(a,y,b,h);m=X(h,e)|0;d=b+(m<<2)|0;m=c+(m<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=f[w>>2]|0;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[p>>2]|0)){g=g-(f[q>>2]|0)|0;z=33}}else{g=(f[q>>2]|0)+g|0;z=33}if((z|0)==33){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[o>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Hd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{j=d;d=d+-108|0;f[g+-108>>2]=f[d>>2];l=j+-104|0;f[g+-104>>2]=f[l>>2];k=j+-100|0;f[g+-100>>2]=f[k>>2];m=j+-96|0;f[g+-96>>2]=f[m>>2];f[l>>2]=0;f[k>>2]=0;f[m>>2]=0;m=j+-92|0;f[g+-92>>2]=f[m>>2];k=j+-88|0;f[g+-88>>2]=f[k>>2];l=j+-84|0;f[g+-84>>2]=f[l>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;b[g+-80>>0]=b[j+-80>>0]|0;l=g+-76|0;k=j+-76|0;f[l>>2]=0;m=g+-72|0;f[m>>2]=0;f[g+-68>>2]=0;f[l>>2]=f[k>>2];l=j+-72|0;f[m>>2]=f[l>>2];m=j+-68|0;f[g+-68>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;k=g+-64|0;l=j+-64|0;f[k>>2]=0;m=g+-60|0;f[m>>2]=0;f[g+-56>>2]=0;f[k>>2]=f[l>>2];k=j+-60|0;f[m>>2]=f[k>>2];m=j+-56|0;f[g+-56>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-52|0;k=j+-52|0;f[l>>2]=0;m=g+-48|0;f[m>>2]=0;f[g+-44>>2]=0;f[l>>2]=f[k>>2];l=j+-48|0;f[m>>2]=f[l>>2];m=j+-44|0;f[g+-44>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-40>>2]=f[j+-40>>2];b[g+-36>>0]=b[j+-36>>0]|0;k=g+-32|0;l=j+-32|0;f[k>>2]=0;m=g+-28|0;f[m>>2]=0;f[g+-24>>2]=0;f[k>>2]=f[l>>2];k=j+-28|0;f[m>>2]=f[k>>2];m=j+-24|0;f[g+-24>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-20|0;k=j+-20|0;f[l>>2]=0;m=g+-16|0;f[m>>2]=0;f[g+-12>>2]=0;f[l>>2]=f[k>>2];l=j+-16|0;f[m>>2]=f[l>>2];m=j+-12|0;f[g+-12>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-8>>2]=f[j+-8>>2];f[g+-4>>2]=f[j+-4>>2];g=(f[h>>2]|0)+-108|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Id(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;y=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}p=a+56|0;i=f[p>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}o=a+68|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;m=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[w>>2]=f[g+(h<<2)>>2];f[x>>2]=f[w>>2];Gb(y,x,b,h);a=X(h,e)|0;d=b+(a<<2)|0;a=c+(a<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=o;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=a+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[m>>2]|0)){g=g-(f[q>>2]|0)|0;z=30}}else{g=(f[q>>2]|0)+g|0;z=30}if((z|0)==30){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[p>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Jd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;y=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}p=a+56|0;i=f[p>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;k=h-g|0;if((k|0)<=0){u=A;return 1}o=a+68|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;m=a+24|0;j=h;h=(k>>>2)+-1|0;while(1){if(j-g>>2>>>0<=h>>>0){Vo(i);g=f[i>>2]|0}f[w>>2]=f[g+(h<<2)>>2];f[x>>2]=f[w>>2];Eb(y,x,b,h);a=X(h,e)|0;d=b+(a<<2)|0;a=c+(a<<2)|0;g=f[v>>2]|0;if((g|0)>0){l=0;j=o;do{if((g|0)>0){k=0;do{g=f[j+(k<<2)>>2]|0;i=f[r>>2]|0;if((g|0)>(i|0)){g=f[n>>2]|0;f[g+(k<<2)>>2]=i}else{B=f[t>>2]|0;i=f[n>>2]|0;f[i+(k<<2)>>2]=(g|0)<(B|0)?B:g;g=i}k=k+1|0}while((k|0)<(f[v>>2]|0));j=g}else j=f[n>>2]|0;g=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=a+(l<<2)|0;f[i>>2]=g;if((g|0)>=(f[s>>2]|0)){if((g|0)>(f[m>>2]|0)){g=g-(f[q>>2]|0)|0;z=30}}else{g=(f[q>>2]|0)+g|0;z=30}if((z|0)==30){z=0;f[i>>2]=g}l=l+1|0;g=f[v>>2]|0}while((l|0)<(g|0))}h=h+-1|0;if((h|0)<=-1)break;i=f[p>>2]|0;g=f[i>>2]|0;j=f[i+4>>2]|0}u=A;return 1}function Kd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+176|0;i=x+136|0;w=x+104|0;v=x;l=x+72|0;q=_m(88)|0;j=f[c+8>>2]|0;f[q+4>>2]=0;f[q>>2]=3484;m=q+12|0;f[m>>2]=3508;o=q+64|0;f[o>>2]=0;f[q+68>>2]=0;f[q+72>>2]=0;g=q+16|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[q+76>>2]=j;f[q+80>>2]=d;r=q+84|0;f[r>>2]=0;n=q;f[w>>2]=3508;e=w+4|0;k=e+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=f[c+12>>2]|0;s=v+4|0;f[s>>2]=3508;p=v+56|0;f[p>>2]=0;t=v+60|0;f[t>>2]=0;f[v+64>>2]=0;g=v+8|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=k;f[e>>2]=g;g=((f[g+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;Kg(w+8|0,g,i);Oa[f[(f[w>>2]|0)+8>>2]&127](w);tf(l,w);tf(i,l);f[v>>2]=f[i+4>>2];g=v+4|0;eg(g,i)|0;f[i>>2]=3508;e=f[i+20>>2]|0;if(e|0)mq(e);e=f[i+8>>2]|0;if(e|0)mq(e);f[v+36>>2]=k;f[v+40>>2]=d;f[v+44>>2]=j;f[v+48>>2]=q;f[l>>2]=3508;e=f[l+20>>2]|0;if(e|0)mq(e);e=f[l+8>>2]|0;if(e|0)mq(e);f[r>>2]=c+72;f[q+8>>2]=f[v>>2];eg(m,g)|0;e=q+44|0;c=v+36|0;f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];f[e+12>>2]=f[c+12>>2];b[e+16>>0]=b[c+16>>0]|0;vf(o,f[p>>2]|0,f[t>>2]|0);f[a>>2]=n;e=f[p>>2]|0;if(e|0){g=f[t>>2]|0;if((g|0)!=(e|0))f[t>>2]=g+(~((g+-4-e|0)>>>2)<<2);mq(e)}f[s>>2]=3508;e=f[v+24>>2]|0;if(e|0)mq(e);e=f[v+12>>2]|0;if(e|0)mq(e);f[w>>2]=3508;e=f[w+20>>2]|0;if(e|0)mq(e);e=f[w+8>>2]|0;if(!e){u=x;return}mq(e);u=x;return}function Ld(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+32|0;h=l+4|0;i=l;j=l+16|0;g=a+48|0;e=f[g>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,17798,20);e=Ak(e+24|0,h)|0;_n(h);d=f[g>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,17819,22);d=Ak(d+24|0,h)|0;_n(h);k=a+56|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[a+52>>2]|0;c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)<12e3;m=f[g>>2]|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,17842,18);m=Ck(m,h,-1)|0;_n(h);switch(m|0){case -1:{if(e?c|((bj(f[g>>2]|0)|0)>4|d^1):0)e=7;else e=11;break}case 0:{if(e)e=7;else e=15;break}case 2:{e=11;break}default:e=15}if((e|0)==7){c=f[a+44>>2]|0;b[j>>0]=0;m=c+16|0;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Ie(c,h,j,j+1|0)|0}c=_m(296)|0;Di(c);d=f[k>>2]|0;f[k>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);e=15}}else if((e|0)==11){c=f[a+44>>2]|0;b[j>>0]=2;m=c+16|0;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[c+4>>2];f[h>>2]=f[i>>2];Ie(c,h,j,j+1|0)|0}c=_m(360)|0;di(c);d=f[k>>2]|0;f[k>>2]=c;if(d){Oa[f[(f[d>>2]|0)+4>>2]&127](d);e=15}}if((e|0)==15){c=f[k>>2]|0;if(!c){m=0;u=l;return m|0}}m=Va[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;u=l;return m|0}function Md(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=Ka,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;k=y;e=a+4|0;if((f[e>>2]|0)!=-1){x=0;u=y;return x|0}f[e>>2]=d;v=b[c+24>>0]|0;w=v<<24>>24;x=a+20|0;n[x>>2]=$(0.0);f[k>>2]=0;d=k+4|0;f[d>>2]=0;f[k+8>>2]=0;do if(v<<24>>24)if(v<<24>>24<0){Wo(k);y=Ha(4)|0;Pp(y);sa(y|0,1096,107)}else{t=w<<2;j=_m(t)|0;f[k>>2]=j;f[k+8>>2]=j+(w<<2);Xi(j|0,0,t|0)|0;j=j+(w<<2)|0;f[d>>2]=j;break}else j=0;while(0);t=a+8|0;d=f[t>>2]|0;i=a+12|0;if(!d)d=a+16|0;else{e=f[i>>2]|0;if((e|0)!=(d|0))f[i>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=a+16|0;f[d>>2]=0;f[i>>2]=0;f[t>>2]=0}f[t>>2]=f[k>>2];f[i>>2]=j;f[d>>2]=f[k+8>>2];s=w>>>0>1073741823?-1:w<<2;r=jq(s)|0;s=jq(s)|0;m=c+48|0;o=f[m>>2]|0;p=c+40|0;l=f[p>>2]|0;q=f[c>>2]|0;Eg(s|0,(f[q>>2]|0)+o|0,l|0)|0;Eg(f[t>>2]|0,(f[q>>2]|0)+o|0,l|0)|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=f[p>>2]|0;p=f[p+4>>2]|0;q=f[c>>2]|0;Eg(r|0,(f[q>>2]|0)+l|0,o|0)|0;k=f[c+80>>2]|0;a:do if((k|0)>1){if(v<<24>>24<=0){d=1;while(1){c=Zm(o|0,p|0,d|0,((d|0)<0)<<31>>31|0)|0;c=Zn(c|0,I|0,l|0,m|0)|0;Eg(s|0,(f[q>>2]|0)+c|0,o|0)|0;d=d+1|0;if((d|0)>=(k|0))break a}}i=f[t>>2]|0;a=1;do{j=Zm(o|0,p|0,a|0,((a|0)<0)<<31>>31|0)|0;j=Zn(j|0,I|0,l|0,m|0)|0;Eg(s|0,(f[q>>2]|0)+j|0,o|0)|0;j=0;do{e=i+(j<<2)|0;h=$(n[e>>2]);d=s+(j<<2)|0;g=$(n[d>>2]);if(h>g){n[e>>2]=g;g=$(n[d>>2])}d=r+(j<<2)|0;if($(n[d>>2])>2]=g;j=j+1|0}while((j|0)!=(w|0));a=a+1|0}while((a|0)<(k|0))}while(0);if(v<<24>>24>0){d=f[t>>2]|0;g=$(n[x>>2]);e=0;do{h=$(n[r+(e<<2)>>2]);h=$(h-$(n[d+(e<<2)>>2]));if(h>g){n[x>>2]=h;g=h}e=e+1|0}while((e|0)!=(w|0))}kq(s);kq(r);x=1;u=y;return x|0}function Nd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}v=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=v;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;u=c+-1|0;v=(u&c|0)==0;if(v)g=d&u;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;t=a+24|0;i=h;e=d;d=h;a:while(1){s=d;b:while(1){d=e;while(1){e=f[d+4>>2]|0;if(v)r=e&u;else r=(e>>>0)%(c>>>0)|0;if((r|0)==(g|0))break;e=(f[a>>2]|0)+(r<<2)|0;if(!(f[e>>2]|0))break b;e=f[d>>2]|0;c:do if(!e)e=d;else{p=f[d+8>>2]|0;n=f[t>>2]|0;o=f[n+8>>2]|0;n=(f[n+12>>2]|0)-o|0;q=n>>>2;if((n|0)>0)l=d;else while(1){h=f[e>>2]|0;if(!h)break c;else e=h}while(1){m=f[e+8>>2]|0;n=0;do{h=f[o+(n<<2)>>2]|0;j=(b[h+84>>0]|0)==0;if(j)k=f[(f[h+68>>2]|0)+(p<<2)>>2]|0;else k=p;if((q|0)<=(n|0)){d=35;break a}if(j)h=f[(f[h+68>>2]|0)+(m<<2)>>2]|0;else h=m;n=n+1|0;if((k|0)!=(h|0)){e=l;break c}}while((n|0)<(q|0));h=f[e>>2]|0;if(!h)break;else{l=e;e=h}}}while(0);f[s>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(r<<2)>>2]>>2];f[f[(f[a>>2]|0)+(r<<2)>>2]>>2]=d;d=f[i>>2]|0;if(!d){d=40;break a}}e=f[d>>2]|0;if(!e){d=40;break a}else{i=d;s=d}}f[e>>2]=s;e=f[d>>2]|0;if(!e){d=40;break}else{i=d;g=r}}if((d|0)==35)Fa(20527,20426,68,20517);else if((d|0)==40)return}function Od(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q+4|0;n=q;j=q+12|0;k=q+11|0;l=q+10|0;p=q+8|0;m=c+44|0;e=f[m>>2]|0;g=e+16|0;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>0|(g|0)==0&h>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,19146,19151)|0;e=f[m>>2]|0;h=e+16|0;g=f[h+4>>2]|0;h=f[h>>2]|0}b[j>>0]=2;b[k>>0]=2;if(!((g|0)>0|(g|0)==0&h>>>0>0)?(f[n>>2]=f[e+4>>2],f[o>>2]=f[n>>2],Ie(e,o,j,j+1|0)|0,i=f[m>>2]|0,j=i+16|0,h=f[j+4>>2]|0,!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)):0){f[n>>2]=f[i+4>>2];f[o>>2]=f[n>>2];Ie(i,o,k,k+1|0)|0}e=(Ra[f[(f[c>>2]|0)+8>>2]&127](c)|0)&255;b[l>>0]=e;e=f[m>>2]|0;k=e+16|0;j=f[k+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,l,l+1|0)|0;e=f[m>>2]|0}l=Ra[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[p>>0]=l;l=e+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,p,p+1|0)|0}d[p>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;e=f[m>>2]|0;c=e+16|0;m=f[c+4>>2]|0;if((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ie(e,o,p,p+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}function Pd(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;p[s>>3]=a;c=f[s>>2]|0;k=f[s+4>>2]|0;p[s>>3]=b;l=f[s>>2]|0;m=f[s+4>>2]|0;d=yn(c|0,k|0,52)|0;d=d&2047;h=yn(l|0,m|0,52)|0;h=h&2047;n=k&-2147483648;j=tn(l|0,m|0,1)|0;i=I;a:do if(!((j|0)==0&(i|0)==0)?(g=Xn(b)|0,e=I&2147483647,!((d|0)==2047|(e>>>0>2146435072|(e|0)==2146435072&g>>>0>0))):0){e=tn(c|0,k|0,1)|0;g=I;if(!(g>>>0>i>>>0|(g|0)==(i|0)&e>>>0>j>>>0))return +((e|0)==(j|0)&(g|0)==(i|0)?a*0.0:a);if(!d){d=tn(c|0,k|0,12)|0;e=I;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){g=d;d=0;do{d=d+-1|0;g=tn(g|0,e|0,1)|0;e=I}while((e|0)>-1|(e|0)==-1&g>>>0>4294967295)}else d=0;c=tn(c|0,k|0,1-d|0)|0;i=I}else i=k&1048575|1048576;if(!h){e=tn(l|0,m|0,12)|0;g=I;if((g|0)>-1|(g|0)==-1&e>>>0>4294967295){h=0;do{h=h+-1|0;e=tn(e|0,g|0,1)|0;g=I}while((g|0)>-1|(g|0)==-1&e>>>0>4294967295)}else h=0;l=tn(l|0,m|0,1-h|0)|0;k=I}else k=m&1048575|1048576;j=Dn(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;b:do if((d|0)>(h|0)){while(1){if(g)if((j|0)==0&(e|0)==0)break;else c=j;else e=i;c=tn(c|0,e|0,1)|0;i=I;d=d+-1|0;j=Dn(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;if((d|0)<=(h|0)){h=j;break b}}b=a*0.0;break a}else h=j;while(0);if(g)if((h|0)==0&(e|0)==0){b=a*0.0;break}else c=h;else e=i;if(e>>>0<1048576|(e|0)==1048576&c>>>0<0)do{c=tn(c|0,e|0,1)|0;e=I;d=d+-1|0}while(e>>>0<1048576|(e|0)==1048576&c>>>0<0);if((d|0)>0){m=Zn(c|0,e|0,0,-1048576)|0;c=I;d=tn(d|0,0,52)|0;c=c|I;d=m|d}else{d=yn(c|0,e|0,1-d|0)|0;c=I}f[s>>2]=d;f[s+4>>2]=c|n;b=+p[s>>3]}else o=3;while(0);if((o|0)==3){b=a*b;b=b/b}return +b}function Qd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}n=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)mq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(n)g=c&m;else g=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;c=f[h>>2]|0;if(!c)return;else{i=h;e=c;c=h}a:while(1){b:do if(n){l=i;j=c;while(1){c=e;while(1){k=f[c+4>>2]&m;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=c+8|0;h=c;while(1){e=f[h>>2]|0;if(!e)break;if((d[i>>1]|0)==(d[e+8>>1]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[l>>2]|0;if(!c){c=34;break a}}e=f[c>>2]|0;if(!e){c=34;break a}else{l=c;j=c}}}else{l=i;j=c;while(1){c=e;while(1){k=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=c+8|0;h=c;while(1){e=f[h>>2]|0;if(!e)break;if((d[i>>1]|0)==(d[e+8>>1]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=c;c=f[l>>2]|0;if(!c){c=34;break a}}e=f[c>>2]|0;if(!e){c=34;break a}else{l=c;j=c}}}while(0);f[e>>2]=h;e=f[c>>2]|0;if(!e){c=34;break}else i=c}if((c|0)==34)return}function Rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)mq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}n=_m(c<<2)|0;d=f[a>>2]|0;f[a>>2]=n;if(d|0)mq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;m=c+-1|0;n=(m&c|0)==0;if(n)g=d&m;else g=(d>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=e;d=f[h>>2]|0;if(!d)return;else{i=h;e=d;d=h}a:while(1){b:do if(n){l=i;j=d;while(1){d=e;while(1){k=f[d+4>>2]&m;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=d+8|0;h=d;while(1){e=f[h>>2]|0;if(!e)break;if((b[i>>0]|0)==(b[e+8>>0]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=d;d=f[l>>2]|0;if(!d){d=34;break a}}e=f[d>>2]|0;if(!e){d=34;break a}else{l=d;j=d}}}else{l=i;j=d;while(1){d=e;while(1){k=((f[d+4>>2]|0)>>>0)%(c>>>0)|0;if((k|0)==(g|0))break;e=(f[a>>2]|0)+(k<<2)|0;if(!(f[e>>2]|0)){h=j;g=k;break b}i=d+8|0;h=d;while(1){e=f[h>>2]|0;if(!e)break;if((b[i>>0]|0)==(b[e+8>>0]|0))h=e;else break}f[j>>2]=e;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=d;d=f[l>>2]|0;if(!d){d=34;break a}}e=f[d>>2]|0;if(!e){d=34;break a}else{l=d;j=d}}}while(0);f[e>>2]=h;e=f[d>>2]|0;if(!e){d=34;break}else i=d}if((d|0)==34)return}function Sd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=f[c>>2]|0;l=f[b>>2]|0;b=m-l|0;o=(b|0)/12|0;if(!b)Fa(8e3,7742,232,8029);n=a+8|0;h=f[n>>2]|0;if((b|0)<768){if(h>>>0<=1){a=0;return a|0}c=f[e>>2]|0;g=1;b=0;do{b=(f[c+(b<<2)>>2]|0)>>>0>(f[c+(g<<2)>>2]|0)>>>0?g:b;g=g+1|0}while(g>>>0>>0);return b|0}if(h){j=f[e>>2]|0;k=f[a+1140>>2]|0;h=f[d>>2]|0;i=f[a+1128>>2]|0;if((l|0)==(m|0)){c=0;do{f[k+(c<<2)>>2]=(f[a>>2]|0)-(f[j+(c<<2)>>2]|0);b=i+(c<<2)|0;l=f[b>>2]|0;m=o-l|0;f[b>>2]=m>>>0>>0?l:m;c=c+1|0;b=f[n>>2]|0}while(c>>>0>>0)}else{d=0;do{g=(f[a>>2]|0)-(f[j+(d<<2)>>2]|0)|0;f[k+(d<<2)>>2]=g;g=(1<>2]|0)|0;e=i+(d<<2)|0;b=l;c=f[e>>2]|0;do{c=c+((f[b+(d<<2)>>2]|0)>>>0>>0&1)|0;f[e>>2]=c;b=b+12|0}while((b|0)!=(m|0));b=o-c|0;f[e>>2]=b>>>0>>0?c:b;d=d+1|0;b=f[n>>2]|0}while(d>>>0>>0)}if(b){e=f[a+1140>>2]|0;h=a+1128|0;c=0;d=0;g=0;do{if(f[e+(d<<2)>>2]|0){o=f[(f[h>>2]|0)+(d<<2)>>2]|0;n=g>>>0>>0;c=n?d:c;g=n?o:g}d=d+1|0}while(d>>>0>>0);i=c}else i=0}else i=0;d=a+1088|0;j=a+1104|0;b=f[j>>2]|0;g=32-b|0;h=a+1100|0;c=f[h>>2]|0;if((g|0)<4){e=i&15;g=4-g|0;f[j>>2]=g;g=e>>>g|c;f[h>>2]=g;c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))zi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=e<<32-(f[j>>2]|0);a=i;return a|0}g=c|i<<28>>>b;f[h>>2]=g;o=b+4|0;f[j>>2]=o;if((o|0)!=32){a=i;return a|0}c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))zi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=0;f[j>>2]=0;a=i;return a|0}function Td(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;i=f[a>>2]|0;h=i;b=i+((f[b>>2]|0)-h>>2<<2)|0;k=f[c>>2]|0;e=f[d>>2]|0;p=e-k|0;l=p>>2;c=k;o=e;if((p|0)<=0){p=b;return p|0}n=a+8|0;d=f[n>>2]|0;p=a+4|0;m=f[p>>2]|0;g=m;if((l|0)<=(d-g>>2|0)){j=b;i=g-j|0;d=i>>2;if((l|0)>(d|0)){d=c+(d<<2)|0;e=d;if((d|0)==(o|0))d=m;else{h=o+-4-e|0;g=m;while(1){f[g>>2]=f[d>>2];d=d+4|0;if((d|0)==(o|0))break;else g=g+4|0}d=m+((h>>>2)+1<<2)|0;f[p>>2]=d}if((i|0)<=0){p=b;return p|0}}else d=m;k=d-(b+(l<<2))>>2;g=b+(k<<2)|0;if(g>>>0>>0){h=(m+(0-k<<2)+~j|0)>>>2;i=d;j=g;while(1){f[i>>2]=f[j>>2];j=j+4|0;if(j>>>0>=m>>>0)break;else i=i+4|0}f[p>>2]=d+(h+1<<2)}if(k|0)do{g=g+-4|0;d=d+-4|0;f[d>>2]=f[g>>2]}while((g|0)!=(b|0));if((c|0)==(e|0)){p=b;return p|0}else d=b;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(e|0))break;else d=d+4|0}return b|0}e=(g-h>>2)+l|0;if(e>>>0>1073741823){Wo(a);i=f[a>>2]|0;h=i;d=f[n>>2]|0}j=d-h|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;j=b;d=j-h>>2;do if(g)if(g>>>0>1073741823){p=Ha(4)|0;Pp(p);sa(p|0,1096,107)}else{e=_m(g<<2)|0;break}else e=0;while(0);h=e+(d<<2)|0;g=e+(g<<2)|0;if((c|0)==(o|0))d=h;else{e=((o+-4-k|0)>>>2)+1|0;d=h;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(o|0))break;else d=d+4|0}d=h+(e<<2)|0}c=j-i|0;e=h+(0-(c>>2)<<2)|0;if((c|0)>0)Eg(e|0,i|0,c|0)|0;c=(f[p>>2]|0)-j|0;if((c|0)>0){Eg(d|0,b|0,c|0)|0;b=d+(c>>>2<<2)|0}else b=d;f[a>>2]=e;f[p>>2]=b;f[n>>2]=g;if(!i){p=h;return p|0}mq(i);p=h;return p|0}function Ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}m=_m(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)mq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(m)e=c&l;else e=(c>>>0)%(b>>>0)|0;f[(f[a>>2]|0)+(e<<2)>>2]=d;c=f[g>>2]|0;if(!c)return;else{h=g;d=c;c=g}a:while(1){b:do if(m){k=h;i=c;while(1){c=d;while(1){j=f[c+4>>2]&l;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}else{k=h;i=c;while(1){c=d;while(1){j=((f[c+4>>2]|0)>>>0)%(b>>>0)|0;if((j|0)==(e|0))break;d=(f[a>>2]|0)+(j<<2)|0;if(!(f[d>>2]|0)){g=i;e=j;break b}h=c+8|0;g=c;while(1){d=f[g>>2]|0;if(!d)break;if((f[h>>2]|0)==(f[d+8>>2]|0))g=d;else break}f[i>>2]=d;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=c;c=f[k>>2]|0;if(!c){c=34;break a}}d=f[c>>2]|0;if(!d){c=34;break a}else{k=c;i=c}}}while(0);f[d>>2]=g;d=f[c>>2]|0;if(!d){c=34;break}else h=c}if((c|0)==34)return}function Vd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=Ne(a,b,c,d,g)|0;l=f[e>>2]|0;n=f[d>>2]|0;h=f[g>>2]|0;j=f[h+4>>2]|0;i=f[h>>2]|0;if(j-i>>3>>>0>l>>>0){m=h;k=i;h=i}else{Vo(h);j=f[g>>2]|0;m=j;k=f[h>>2]|0;h=f[j>>2]|0;j=f[j+4>>2]|0}i=f[k+(l<<3)>>2]|0;if(j-h>>3>>>0<=n>>>0){Vo(m);h=f[m>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0)return o|0;l=f[d>>2]|0;f[d>>2]=f[e>>2];f[e>>2]=l;l=f[d>>2]|0;n=f[c>>2]|0;j=f[g>>2]|0;i=f[j+4>>2]|0;h=f[j>>2]|0;if(i-h>>3>>>0>l>>>0){m=h;k=i}else{Vo(j);e=f[g>>2]|0;m=f[j>>2]|0;h=f[e>>2]|0;k=f[e+4>>2]|0;j=e}i=f[m+(l<<3)>>2]|0;if(k-h>>3>>>0<=n>>>0){Vo(j);h=f[j>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0){o=o+1|0;return o|0}l=f[c>>2]|0;f[c>>2]=f[d>>2];f[d>>2]=l;l=f[c>>2]|0;n=f[b>>2]|0;j=f[g>>2]|0;i=f[j+4>>2]|0;h=f[j>>2]|0;if(i-h>>3>>>0>l>>>0){m=h;k=i}else{Vo(j);d=f[g>>2]|0;m=f[j>>2]|0;h=f[d>>2]|0;k=f[d+4>>2]|0;j=d}i=f[m+(l<<3)>>2]|0;if(k-h>>3>>>0<=n>>>0){Vo(j);h=f[j>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0){o=o+2|0;return o|0}m=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=m;m=f[b>>2]|0;n=f[a>>2]|0;j=f[g>>2]|0;i=f[j+4>>2]|0;h=f[j>>2]|0;if(i-h>>3>>>0>m>>>0){l=h;k=i}else{Vo(j);g=f[g>>2]|0;l=f[j>>2]|0;h=f[g>>2]|0;k=f[g+4>>2]|0;j=g}i=f[l+(m<<3)>>2]|0;if(k-h>>3>>>0<=n>>>0){Vo(j);h=f[j>>2]|0}if(i>>>0>=(f[h+(n<<3)>>2]|0)>>>0){o=o+3|0;return o|0}g=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=g;o=o+4|0;return o|0}function Wd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=f[b>>2]|0;l=f[a>>2]|0;e=f[d>>2]|0;h=f[e+4>>2]|0;g=f[e>>2]|0;if(h-g>>3>>>0>j>>>0){k=e;i=g;e=g}else{Vo(e);h=f[d>>2]|0;k=h;i=f[e>>2]|0;e=f[h>>2]|0;h=f[h+4>>2]|0}g=f[i+(j<<3)>>2]|0;if(h-e>>3>>>0>l>>>0)h=k;else{Vo(k);e=f[k>>2]|0;h=f[d>>2]|0}m=g>>>0<(f[e+(l<<3)>>2]|0)>>>0;j=f[c>>2]|0;l=f[b>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);g=f[d>>2]|0;k=f[h>>2]|0;e=f[g>>2]|0;i=f[g+4>>2]|0;h=g}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}e=g>>>0<(f[e+(l<<3)>>2]|0)>>>0;if(!m){if(!e){b=0;return b|0}k=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=k;k=f[b>>2]|0;l=f[a>>2]|0;h=f[d>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>k>>>0){j=e;i=g}else{Vo(h);c=f[d>>2]|0;j=f[h>>2]|0;e=f[c>>2]|0;i=f[c+4>>2]|0;h=c}g=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){b=1;return b|0}c=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=c;b=2;return b|0}l=f[a>>2]|0;if(e){f[a>>2]=f[c>>2];f[c>>2]=l;b=1;return b|0}f[a>>2]=f[b>>2];f[b>>2]=l;k=f[c>>2]|0;h=f[d>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>k>>>0){j=e;i=g}else{Vo(h);a=f[d>>2]|0;j=f[h>>2]|0;e=f[a>>2]|0;i=f[a+4>>2]|0;h=a}g=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){b=1;return b|0}a=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=a;b=2;return b|0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=e>>>0>1073741823?-1:e<<2;q=jq(n)|0;Xi(q|0,0,n|0)|0;n=f[a+28>>2]|0;s=a+36|0;d=f[s>>2]|0;h=f[d+4>>2]|0;g=f[d>>2]|0;i=h-g|0;a:do if((i|0)>4){o=f[a+32>>2]|0;t=a+8|0;p=n+12|0;r=(e|0)>0;l=i>>2;while(1){m=l+-1|0;if(h-g>>2>>>0<=m>>>0){Vo(d);g=f[d>>2]|0}g=f[g+(m<<2)>>2]|0;k=X(m,e)|0;if((g|0)>=0?(u=f[(f[p>>2]|0)+(g<<2)>>2]|0,(u|0)>=0):0){d=f[n>>2]|0;h=f[o>>2]|0;i=f[h+(f[d+(u<<2)>>2]<<2)>>2]|0;g=u+1|0;g=((g|0)%3|0|0)==0?u+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;j=f[h+(g<<2)>>2]|0;g=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;g=f[h+(g<<2)>>2]|0;if((i|0)<(m|0)&(j|0)<(m|0)&(g|0)<(m|0)){i=X(i,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(r){g=0;do{f[q+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}Xh(t,b+(k<<2)|0,q,c+(k<<2)|0)}else v=17}else v=17;if((v|0)==17){v=0;Xh(t,b+(k<<2)|0,b+((X(l+-2|0,e)|0)<<2)|0,c+(k<<2)|0)}if((m|0)<=1)break a;h=f[s>>2]|0;d=h;g=f[h>>2]|0;h=f[h+4>>2]|0;l=m}}while(0);if((e|0)<=0){v=a+8|0;Xh(v,b,q,c);kq(q);return 1}Xi(q|0,0,e<<2|0)|0;v=a+8|0;Xh(v,b,q,c);kq(q);return 1}function Yd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;p=t+4|0;q=t;s=t+8|0;r=a+4|0;o=a+8|0;Mh((f[o>>2]|0)-(f[r>>2]|0)>>2,c)|0;d=f[r>>2]|0;if((f[o>>2]|0)==(d|0)){u=t;return 1}n=a+32|0;m=c+16|0;h=c+4|0;i=s+1|0;j=s+1|0;l=s+1|0;k=s+1|0;a=d;g=0;while(1){a=f[a+(g<<2)>>2]|0;d=f[n>>2]|0;if((a|0)<=-1){a=5;break}e=f[d+8>>2]|0;if(((f[d+12>>2]|0)-e>>2|0)<=(a|0)){a=7;break}e=f[e+(a<<2)>>2]|0;b[s>>0]=f[e+56>>2];a=m;d=f[a>>2]|0;a=f[a+4>>2]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,k)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=f[e+28>>2];if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,l)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+24>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,j)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+32>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ie(c,p,s,i)|0}Mh(f[e+60>>2]|0,c)|0;g=g+1|0;a=f[r>>2]|0;if(g>>>0>=(f[o>>2]|0)-a>>2>>>0){a=3;break}}if((a|0)==3){u=t;return 1}else if((a|0)==5)Fa(20410,20426,59,20517);else if((a|0)==7)Fa(20527,20426,60,20517);return 0}function Zd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+60|0;Mh(f[g>>2]|0,b)|0;an(k);Wk(k);c=f[a+56>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;oj(k);u=m;return 1}function _d(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;k=a+12|0;b=f[k>>2]|0;p=(f[b+4>>2]|0)-(f[b>>2]|0)|0;o=p>>2;if((p|0)<=0){u=r;return 1}j=a+152|0;p=a+140|0;l=a+144|0;i=a+148|0;a=0;while(1){f[m>>2]=(a>>>0)/3|0;f[n>>2]=f[m>>2];if(!(Cj(b,n)|0)?(f[(f[(f[k>>2]|0)+12>>2]|0)+(a<<2)>>2]|0)==-1073741824:0){b=a+1|0;b=((b|0)%3|0|0)==0?a+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[(f[f[k>>2]>>2]|0)+(b<<2)>>2]|0;c=f[j>>2]|0;if((f[c+(d<<2)>>2]|0)==-1){h=f[l>>2]|0;b=f[i>>2]|0;if((h|0)==(b<<5|0)){if((h+1|0)<0){Wo(p);b=f[i>>2]|0}c=b<<6;g=h+32&-32;bi(p,b<<5>>>0<1073741823?(c>>>0>>0?g:c):2147483647);b=f[l>>2]|0;c=f[j>>2]|0}else b=h;f[l>>2]=b+1;g=(f[p>>2]|0)+(b>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(b&31));b=c+(d<<2)|0;if((f[b>>2]|0)==-1){d=a;while(1){f[b>>2]=h;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;a:do if((b|0)>=0){g=f[k>>2]|0;e=f[g+12>>2]|0;while(1){d=f[e+(b<<2)>>2]|0;if((d|0)==-1073741824)break;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;if((b|0)<0){q=18;break a}}d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)<0){d=-1073741824;e=b}else{d=f[(f[g>>2]|0)+(d<<2)>>2]|0;e=b}}else q=18;while(0);if((q|0)==18){q=0;b=(b|0)==-1073741824;do{}while(!b);d=-1073741824;e=-1073741824}b=c+(d<<2)|0;if((f[b>>2]|0)!=-1)break;else d=e}}}}a=a+1|0;if((a|0)>=(o|0))break;b=f[k>>2]|0}u=r;return 1}function $d(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+80|0;Mh(f[g>>2]|0,b)|0;an(k);Wk(k);c=f[a+76>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,l,l+4|0)|0;oj(k);u=m;return 1}function ae(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;i=l+4|0;j=l;e=l+9|0;k=l+8|0;c=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[e>>0]=c;g=a+4|0;d=f[(f[g>>2]|0)+44>>2]|0;m=d+16|0;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[j>>2]=f[d+4>>2];f[i>>2]=f[j>>2];Ie(d,i,e,e+1|0)|0;c=b[e>>0]|0}a:do if(c<<24>>24>-1){d=a+172|0;n=f[(f[d>>2]|0)+((c<<24>>24)*108|0)>>2]|0;m=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;e=b[e>>0]|0;c=f[d>>2]|0;d=f[c+(e*108|0)+104>>2]|0;switch(f[(f[(f[m>>2]|0)+84>>2]|0)+(n<<2)>>2]|0){case 0:{h=7;break a}case 1:{if(b[c+(e*108|0)+28>>0]|0){h=7;break a}break}default:{}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=1;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,k,k+1|0)|0}}else{d=f[a+68>>2]|0;h=7}while(0);if((h|0)==7){c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=0;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,k,k+1|0)|0}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=d;n=c+16|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0){u=l;return 1}f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,k,k+1|0)|0;u=l;return 1}function be(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=Ka,B=Ka;y=u;u=u+16|0;x=y;h=c+4|0;if((f[h>>2]|0)==-1)Fa(7347,7364,113,7476);q=e+4|0;j=b[d+24>>0]|0;w=j<<24>>24;ri(a,c,(f[q>>2]|0)-(f[e>>2]|0)>>2,w,g,d);o=f[a>>2]|0;o=(f[f[o>>2]>>2]|0)+(f[o+48>>2]|0)|0;v=f[h>>2]|0;dp(x);no(x,$(n[c+20>>2]),(1<>>0>1073741823?-1:w<<2)|0;g=f[q>>2]|0;a=f[e>>2]|0;q=a;if((g|0)==(a|0)){kq(v);u=y;return}r=d+68|0;s=d+48|0;t=d+40|0;k=c+8|0;l=x+4|0;p=(b[d+84>>0]|0)==0;m=g-a>>2;if(j<<24>>24>0){e=0;c=0}else{g=0;do{a=f[q+(g<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;w=s;o=f[w>>2]|0;w=f[w+4>>2]|0;l=t;x=f[l>>2]|0;l=Zm(x|0,f[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;w=Zn(l|0,I|0,o|0,w|0)|0;Eg(v|0,(f[f[d>>2]>>2]|0)+w|0,x|0)|0;g=g+1|0}while(g>>>0>>0);kq(v);u=y;return}while(1){a=f[q+(c<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;h=s;j=f[h>>2]|0;h=f[h+4>>2]|0;z=t;g=f[z>>2]|0;a=Zm(g|0,f[z+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Zn(a|0,I|0,j|0,h|0)|0;Eg(v|0,(f[f[d>>2]>>2]|0)+a|0,g|0)|0;a=f[k>>2]|0;i=$(n[x>>2]);g=0;h=e;while(1){A=$(n[v+(g<<2)>>2]);A=$(A-$(n[a+(g<<2)>>2]));j=A<$(0.0);B=$(-A);A=$((j?B:A)/i);z=~~$(J($($($(f[l>>2]|0)*A)+$(.5))));f[o+(h<<2)>>2]=j?0-z|0:z;g=g+1|0;if((g|0)==(w|0))break;else h=h+1|0}c=c+1|0;if(c>>>0>=m>>>0)break;else e=w+e|0}kq(v);u=y;return}function ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+32|0;k=l;h=a+8|0;g=f[h>>2]|0;j=a+4|0;d=f[j>>2]|0;if(((g-d|0)/108|0)>>>0>=c>>>0){do{f[d>>2]=-1;cm(d+4|0);b[d+72>>0]=1;k=d+76|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;f[k+24>>2]=0;d=(f[j>>2]|0)+108|0;f[j>>2]=d;c=c+-1|0}while((c|0)!=0);u=l;return}e=f[a>>2]|0;i=((d-e|0)/108|0)+c|0;if(i>>>0>39768215){Wo(a);e=f[a>>2]|0;g=f[h>>2]|0;d=f[j>>2]|0}j=(g-e|0)/108|0;h=j<<1;h=j>>>0<19884107?(h>>>0>>0?i:h):39768215;d=(d-e|0)/108|0;f[k+12>>2]=0;f[k+16>>2]=a+8;do if(h)if(h>>>0>39768215){l=Ha(4)|0;Pp(l);sa(l|0,1096,107)}else{e=_m(h*108|0)|0;break}else e=0;while(0);f[k>>2]=e;d=e+(d*108|0)|0;i=k+8|0;f[i>>2]=d;g=k+4|0;f[g>>2]=d;f[k+12>>2]=e+(h*108|0);do{f[d>>2]=-1;cm(d+4|0);b[d+72>>0]=1;j=d+76|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;d=(f[i>>2]|0)+108|0;f[i>>2]=d;c=c+-1|0}while((c|0)!=0);Hd(a,k);h=f[g>>2]|0;c=f[i>>2]|0;if((c|0)!=(h|0))do{f[i>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}xj(c+-104|0);c=f[i>>2]|0}while((c|0)!=(h|0));c=f[k>>2]|0;if(c|0)mq(c);u=l;return}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;m=o+8|0;n=o;l=b+4|0;h=f[(f[l>>2]|0)+48>>2]|0;k=b+12|0;e=f[k>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;Kj(m,17755,17);g=h+16|0;b=f[g>>2]|0;if(b){c=g;a:while(1){d=b;while(1){if((f[d+16>>2]|0)>=(e|0))break;b=f[d+4>>2]|0;if(!b)break a;else d=b}b=f[d>>2]|0;if(!b){c=d;break}else c=d}if(((c|0)!=(g|0)?(i=c+20|0,(e|0)>=(f[c+16>>2]|0)):0)?(Kh(i,m)|0)!=0:0)c=Ck(i,m,-1)|0;else j=10}else j=10;if((j|0)==10)c=Ck(h,m,-1)|0;_n(m);c=(1<>2]=-1;f[m+4>>2]=-1;f[m+8>>2]=-1;f[m+12>>2]=-1;if(((c|0)%2|0|0)!=1)Fa(11579,11612,67,11772);b=(_(c|0)|0)^31;c=b+1|0;if(!b)Fa(11796,11807,60,11922);if(c>>>0>=31)Fa(11942,11807,61,11922);f[m>>2]=c;j=2<>2]=j+-1;j=j+-2|0;f[m+8>>2]=j;f[m+12>>2]=(j|0)/2|0;switch(hi(f[k>>2]|0,f[l>>2]|0)|0){case 6:{Tg(n,6,f[k>>2]|0,f[l>>2]|0,m);f[a>>2]=f[n>>2];u=o;return}case 0:{Tg(n,0,f[k>>2]|0,f[l>>2]|0,m);f[a>>2]=f[n>>2];u=o;return}default:Fa(11954,11960,69,12086)}}function ee(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;l=e>>>0>1073741823?-1:e<<2;o=jq(l)|0;Xi(o|0,0,l|0)|0;l=f[a+28>>2]|0;r=a+36|0;d=f[r>>2]|0;h=f[d+4>>2]|0;g=f[d>>2]|0;i=h-g|0;a:do if((i|0)>4){m=f[a+32>>2]|0;s=a+8|0;q=l+64|0;n=l+28|0;p=(e|0)>0;i=i>>2;while(1){k=i+-1|0;if(h-g>>2>>>0<=k>>>0){Vo(d);g=f[d>>2]|0}g=f[g+(k<<2)>>2]|0;j=X(k,e)|0;if((!((g|0)<0?1:(1<<(g&31)&f[(f[l>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(w=f[(f[(f[q>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(w|0)>=0):0)?(v=f[n>>2]|0,h=f[m>>2]|0,t=f[h+(f[v+(w<<2)>>2]<<2)>>2]|0,u=w+1|0,u=f[h+(f[v+((((u|0)%3|0|0)==0?w+-2|0:u)<<2)>>2]<<2)>>2]|0,v=f[h+(f[v+((((w>>>0)%3|0|0)==0?2:-1)+w<<2)>>2]<<2)>>2]|0,(t|0)<(k|0)&(u|0)<(k|0)&(v|0)<(k|0)):0){d=X(t,e)|0;h=X(u,e)|0;i=X(v,e)|0;if(p){g=0;do{f[o+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}Xh(s,b+(j<<2)|0,o,c+(j<<2)|0)}else Xh(s,b+(j<<2)|0,b+((X(i+-2|0,e)|0)<<2)|0,c+(j<<2)|0);if((k|0)<=1)break a;h=f[r>>2]|0;d=h;g=f[h>>2]|0;h=f[h+4>>2]|0;i=k}}while(0);if((e|0)<=0){a=a+8|0;Xh(a,b,o,c);kq(o);return 1}Xi(o|0,0,e<<2|0)|0;a=a+8|0;Xh(a,b,o,c);kq(o);return 1}function fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<>>0>31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if(e>>>0<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if(!h){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function ge(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;m=r+4|0;l=r;f[a+64>>2]=b;q=a+128|0;f[q>>2]=2;p=a+132|0;f[p>>2]=7;g=Ra[f[(f[b>>2]|0)+32>>2]&127](b)|0;n=a+88|0;f[n>>2]=g;k=a+104|0;g=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;j=a+108|0;b=f[j>>2]|0;c=f[k>>2]|0;h=b-c>>2;d=c;e=b;if(g>>>0<=h>>>0){if(g>>>0>>0?(i=d+(g<<2)|0,(e|0)!=(i|0)):0){b=e+(~((e+-4-i|0)>>>2)<<2)|0;f[j>>2]=b}}else{gi(k,g-h|0);c=f[k>>2]|0;b=f[j>>2]|0}if((b-c|0)>0){b=0;do{h=f[n>>2]|0;f[l>>2]=b;f[m>>2]=f[l>>2];h=Ph(h,m)|0;i=f[k>>2]|0;f[i+(b<<2)>>2]=h;b=b+1|0}while((b|0)<((f[j>>2]|0)-i>>2|0))}j=a+92|0;d=f[n>>2]|0;b=f[d>>2]|0;i=(f[d+4>>2]|0)-b>>2;g=a+96|0;e=f[g>>2]|0;c=f[j>>2]|0;h=e-c>>2;if(i>>>0<=h>>>0){if(i>>>0>>0?(o=c+(i<<2)|0,(e|0)!=(o|0)):0)f[g>>2]=e+(~((e+-4-o|0)>>>2)<<2)}else{gi(j,i-h|0);b=f[n>>2]|0;d=b;b=f[b>>2]|0}c=f[d+4>>2]|0;if((c-b|0)>0){b=0;do{o=f[d>>2]|0;f[(f[j>>2]|0)+(b<<2)>>2]=f[o+(b<<2)>>2];b=b+1|0}while((b|0)<(c-o>>2|0))}e=(f[p>>2]|0)-(f[q>>2]|0)+1|0;g=a+136|0;h=a+140|0;b=f[h>>2]|0;c=f[g>>2]|0;d=(b-c|0)/12|0;if(e>>>0>d>>>0){rf(g,e-d|0);u=r;return 1}if(e>>>0>=d>>>0){u=r;return 1}e=c+(e*12|0)|0;if((b|0)==(e|0)){u=r;return 1}do{c=b+-12|0;f[h>>2]=c;d=f[c>>2]|0;if(!d)b=c;else{c=b+-8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);b=f[h>>2]|0}}while((b|0)!=(e|0));u=r;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Qc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Rc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Sc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Tc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Uc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(h){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Bf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Vc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=2097152;if(h){d=2097152;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<19)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Cf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Wc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=1048576;if(h){d=1048576;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<18)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Df(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function oe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Xc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=262144;if(h){d=262144;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<16)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function pe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Yc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=131072;if(h){d=131072;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<15)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ff(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function qe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<>>0>31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while(e>>>0>31);h=h&31}if(!h){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function re(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;Zc(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=32768;if(h){d=32768;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<13)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Hf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function se(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;_c(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function te(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;$c(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ue(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;ad(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ve(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;bd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function we(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;cd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function xe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;dd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ye(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;ed(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function ze(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;q=r+48|0;o=r;h=(f[d>>2]|0)+1|0;g=o;f[g>>2]=0;f[g+4>>2]=0;wj(q,h,o);h=(c|0)>0;g=f[q>>2]|0;if(h){d=0;do{p=g+(f[a+(d<<2)>>2]<<3)|0;n=p;n=Zn(f[n>>2]|0,f[n+4>>2]|0,1,0)|0;f[p>>2]=n;f[p+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;p=m;f[p>>2]=0;f[p+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;p=q+4|0;fd(o,g,(f[p>>2]|0)-g>>3,e)|0;n=o+16|0;n=tn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Zn(n|0,I|0,39,0)|0;n=yn(n|0,I|0,3)|0;n=Zn(n|0,I|0,8,0)|0;l=Zn(n|0,I|0,l|0,0)|0;sl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(h){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}ig(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(h)}d=f[q>>2]|0;if(!d){u=r;return 1}g=f[p>>2]|0;if((g|0)!=(d|0))f[p>>2]=g+(~((g+-8-d|0)>>>3)<<3);mq(d);u=r;return 1}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+32|0;p=s+16|0;n=s+12|0;m=s+8|0;o=s+4|0;q=s;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Qo(e);if((a|0)!=(b|0)){f[m>>2]=f[b>>2];f[o>>2]=b+4;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(a,n,p)}d=b+24|0;if((e|0)!=(d|0)){f[m>>2]=f[d>>2];f[o>>2]=b+28;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(e,n,p)}f[q>>2]=0;l=c+8|0;k=c+12|0;d=f[k>>2]|0;e=f[l>>2]|0;if((d-e|0)<=0){u=s;return}j=b+16|0;c=0;while(1){if((c|0)<=-1){d=9;break}i=f[(f[e+(c<<2)>>2]|0)+56>>2]|0;b=f[j>>2]|0;if(b){h=j;g=b;a:while(1){b=g;while(1){if((f[b+16>>2]|0)>=(i|0))break;b=f[b+4>>2]|0;if(!b){b=h;break a}}g=f[b>>2]|0;if(!g)break;else h=b}if((b|0)!=(j|0)?(r=b+20|0,(i|0)>=(f[b+16>>2]|0)):0){d=xd(a,q)|0;if((d|0)!=(r|0)){f[m>>2]=f[r>>2];f[o>>2]=b+24;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(d,n,p)}c=f[q>>2]|0;e=f[l>>2]|0;d=f[k>>2]|0}}c=c+1|0;f[q>>2]=c;if((c|0)>=(d-e>>2|0)){d=7;break}}if((d|0)==7){u=s;return}else if((d|0)==9)Fa(20410,20426,59,20517)}function Be(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n;h=a+4|0;d=f[h>>2]|0;e=f[(f[a>>2]|0)+52>>2]|0;if(!d){if(!(Ma[e&31](a,c,0)|0)){m=0;u=n;return m|0}}else if(!(Ma[e&31](a,c,f[(f[d+4>>2]|0)+80>>2]|0)|0)){m=0;u=n;return m|0}if(!(b[a+28>>0]|0)){m=1;u=n;return m|0}j=f[a+8>>2]|0;i=f[a+32>>2]|0;d=f[j+80>>2]|0;f[m>>2]=0;l=m+4|0;f[l>>2]=0;f[m+8>>2]=0;do if(d)if(d>>>0>1073741823){Wo(m);n=Ha(4)|0;Pp(n);sa(n|0,1096,107)}else{a=d<<2;g=_m(a)|0;f[m>>2]=g;k=g+(d<<2)|0;f[m+8>>2]=k;Xi(g|0,0,a|0)|0;f[l>>2]=k;break}else{g=0;k=0}while(0);e=f[c+4>>2]|0;d=f[c>>2]|0;c=d;a:do if((e|0)!=(d|0)){a=e-d>>2;if(b[j+84>>0]|0){d=0;while(1){f[g+(f[c+(d<<2)>>2]<<2)>>2]=d;d=d+1|0;if(d>>>0>=a>>>0)break a}}d=f[j+68>>2]|0;e=0;do{f[g+(f[d+(f[c+(e<<2)>>2]<<2)>>2]<<2)>>2]=e;e=e+1|0}while(e>>>0>>0)}while(0);c=f[(f[(f[h>>2]|0)+4>>2]|0)+80>>2]|0;if((c|0)>0){e=j+68|0;a=(b[i+84>>0]|0)==0;g=f[m>>2]|0;d=i+68|0;if(!(b[j+84>>0]|0)){if(!a)Fa(19931,19950,89,20044);a=f[e>>2]|0;d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while((e|0)<(c|0))}else{if(!a)Fa(19931,19950,89,20044);d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(e<<2)>>2];e=e+1|0}while((e|0)<(c|0))}}d=f[m>>2]|0;if(d|0){if((k|0)!=(d|0))f[l>>2]=k+(~((k+-4-d|0)>>>2)<<2);mq(d)}m=1;u=n;return m|0}function Ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+16|0;n=t+4|0;o=t;r=t+8|0;q=a+12|0;Mh(f[q>>2]|0,c)|0;if(!(f[q>>2]|0)){s=1;u=t;return s|0}p=c+16|0;j=c+4|0;k=r+1|0;l=r+1|0;m=r+1|0;d=0;while(1){i=f[a>>2]|0;h=f[i+(d<<3)>>2]|0;if(h>>>0>63)if(h>>>0>16383)if(h>>>0>4194303){d=0;s=20;break}else{g=2;s=13}else{g=1;s=13}else if(!h){g=d+1|0;e=0;do{if(f[i+(g+e<<3)>>2]|0)break;e=e+1|0}while(e>>>0<63);b[r>>0]=e<<2|3;i=p;h=f[i+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ie(c,n,r,m)|0}d=e+d|0}else{g=0;s=13}if((s|0)==13){s=0;b[r>>0]=g|h<<2;i=p;e=f[i+4>>2]|0;if(!((e|0)>0|(e|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ie(c,n,r,l)|0}if(g){e=0;do{e=e+1|0;b[r>>0]=h>>>((e<<3)+-2|0);i=p;v=f[i+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ie(c,n,r,k)|0}}while((e|0)<(g|0))}}d=d+1|0;if(d>>>0>=(f[q>>2]|0)>>>0){d=1;s=20;break}}if((s|0)==20){u=t;return d|0}return 0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;l=e<<5;d=b-g|0;if(l>>>0>>0|g>>>0>(l-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0){Wo(a);e=f[m>>2]|0}h=e<<6;b=b+31&-32;bi(o,e<<5>>>0<1073741823?(h>>>0>>0?b:h):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;dm(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)mq(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;Xi(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;Xi(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;i=f[(f[b+4>>2]|0)+(c<<2)>>2]|0;d=f[b+28>>2]|0;c=f[d+4>>2]|0;if((i|0)<=-1)Fa(20410,20426,59,20517);b=f[c+8>>2]|0;if(((f[c+12>>2]|0)-b>>2|0)<=(i|0))Fa(20527,20426,60,20517);h=f[b+(i<<2)>>2]|0;switch(f[h+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{l=_m(40)|0;Yn(l);f[a>>2]=l;u=m;return}case 9:{l=7;break}default:{}}if((l|0)==7){e=f[d+48>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kj(k,17755,17);g=e+16|0;b=f[g>>2]|0;if(b){c=g;a:while(1){d=b;while(1){if((f[d+16>>2]|0)>=(i|0))break;b=f[d+4>>2]|0;if(!b)break a;else d=b}b=f[d>>2]|0;if(!b){c=d;break}else c=d}if(((c|0)!=(g|0)?(j=c+20|0,(i|0)>=(f[c+16>>2]|0)):0)?(Kh(j,k)|0)!=0:0)c=Ck(j,k,-1)|0;else l=16}else l=16;if((l|0)==16)c=Ck(e,k,-1)|0;_n(k);if((c|0)>0)if((f[h+56>>2]|0)==1){c=_m(48)|0;b=c;d=b+48|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));Yn(c);f[c>>2]=2368;f[c+40>>2]=1152;f[c+44>>2]=-1;l=c;f[a>>2]=l;u=m;return}else{l=_m(64)|0;rm(l);f[a>>2]=l;u=m;return}}l=_m(36)|0;tm(l);f[a>>2]=l;u=m;return}function Fe(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=Ka,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka;l=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(c)h=g&l;else h=(l>>>0)%(i>>>0)|0;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(b)if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}if((f[b+4>>2]&g|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else{do{b=f[b>>2]|0;if(!b){b=h;break a}if((((f[b+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(h|0)){b=h;break a}}while((f[b+8>>2]|0)!=(l|0));a=b+12|0;return a|0}else b=h}else b=0;while(0);m=_m(16)|0;f[m+8>>2]=l;f[m+12>>2]=0;f[m+4>>2]=l;f[m>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;si(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&l;break}else{g=b;b=(l>>>0)%(b>>>0)|0;break}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[m>>2]=f[b>>2];f[b>>2]=m;f[c>>2]=b;b=f[m>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(!(c&g))b=b&c;else b=(b>>>0)%(g>>>0)|0;b=(f[a>>2]|0)+(b<<2)|0;o=24}}else{f[m>>2]=f[b>>2];o=24}if((o|0)==24)f[b>>2]=m;f[h>>2]=(f[h>>2]|0)+1;a=m;a=a+12|0;return a|0}function Ge(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b+12|0;h=f[m>>2]|0;l=c+4|0;k=(f[l>>2]|0)-h|0;e=c;f[e>>2]=(f[c>>2]|0)-h;f[e+4>>2]=k;e=(f[d>>2]|0)-h|0;k=d+4|0;h=(f[k>>2]|0)-h|0;g=d;f[g>>2]=e;f[g+4>>2]=h;g=f[m>>2]|0;if((g|0)<(e|0))Fa(12576,11807,250,12599);if((g|0)<(h|0))Fa(12611,11807,251,12599);i=0-g|0;if((e|0)<(i|0))Fa(12634,11807,252,12599);if((h|0)<(i|0))Fa(12658,11807,253,12599);if((((h|0)>-1?h:0-h|0)+((e|0)>-1?e:0-e|0)|0)>(g|0)){Lh(b,c,l);Lh(b,d,k);e=f[d>>2]|0}if(!e){g=f[k>>2]|0;if(!g)g=0;else j=14}else{g=f[k>>2]|0;if(!((e|0)<0&(g|0)<1))j=14}if((j|0)==14){if(!e)h=(g|0)==0?0:(g|0)>0?3:1;else h=(e|0)>0?(g>>31)+2|0:(g|0)<1?0:3;e=f[c>>2]|0;g=f[l>>2]|0;switch(h|0){case 1:{j=c;f[j>>2]=g;f[j+4>>2]=0-e;e=f[k>>2]|0;g=0-(f[d>>2]|0)|0;break}case 2:{j=c;f[j>>2]=0-e;f[j+4>>2]=0-g;e=0-(f[d>>2]|0)|0;g=0-(f[k>>2]|0)|0;break}case 3:{j=c;f[j>>2]=0-g;f[j+4>>2]=e;e=0-(f[k>>2]|0)|0;g=f[d>>2]|0;break}default:{j=c;f[j>>2]=e;f[j+4>>2]=g;e=f[d>>2]|0;g=f[k>>2]|0}}f[d>>2]=e;f[d+4>>2]=g}e=(f[c>>2]|0)-e|0;f[a>>2]=e;i=(f[l>>2]|0)-g|0;h=a+4|0;f[h>>2]=i;g=f[m>>2]<<1;if((g|0)<(e|0))Fa(12682,11807,313,12716);if((e|0)<0)e=(f[b+4>>2]|0)+e|0;f[a>>2]=e;if((g|0)<(i|0))Fa(12682,11807,313,12716);if((i|0)>=0){b=i;f[h>>2]=b;return}b=(f[b+4>>2]|0)+i|0;f[h>>2]=b;return}function He(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f[b>>2]|0;l=a+12|0;i=(h|0)<0;do if(!i)if(!((h>>>0)%3|0)){d=h+2|0;break}else{d=h+-1|0;break}else d=h;while(0);a:do if((d|0)<0)m=7;else{g=f[(f[l>>2]|0)+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824){e=0;break a}b=e+1|0;if((e|0)<0)d=e;else d=((b|0)%3|0|0)==0?e+-2|0:b;if((d|0)<0){m=7;break}}}while(0);if((m|0)==7){b=(d|0)==-1073741824;do{}while(!b);e=1;d=-1073741824}if(i)k=-1073741824;else k=f[(f[f[l>>2]>>2]|0)+(h<<2)>>2]|0;if(c){b=(f[a+84>>2]|0)+(k>>>5<<2)|0;f[b>>2]=f[b>>2]|1<<(k&31);b=1}else b=0;i=f[(f[a+152>>2]|0)+(k<<2)>>2]|0;c=(f[a+140>>2]|0)+(i>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(i&31);if(!e?(j=(((d>>>0)%3|0|0)==0?2:-1)+d|0,(j|0)>=0):0)e=f[(f[f[l>>2]>>2]|0)+(j<<2)>>2]|0;else e=-1073741824;if((e|0)==(k|0)){m=b;return m|0}i=a+84|0;do{a=(f[i>>2]|0)+(e>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(e&31);b=b+1|0;e=d+1|0;if((d|0)>=0)d=((e|0)%3|0|0)==0?d+-2|0:e;b:do if((d|0)>=0){h=f[l>>2]|0;g=f[h+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824)break;d=e+1|0;if((e|0)<0)d=e;else d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0){m=26;break b}}e=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((e|0)<0)e=-1073741824;else e=f[(f[h>>2]|0)+(e<<2)>>2]|0}else m=26;while(0);if((m|0)==26){m=0;d=(d|0)==-1073741824;do{}while(!d);e=-1073741824;d=-1073741824}}while((e|0)!=(k|0));return b|0}function Ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=f[a>>2]|0;i=k;c=k+((f[c>>2]|0)-i)|0;l=e-d|0;if((l|0)<=0){o=c;return o|0}n=a+8|0;g=f[n>>2]|0;o=a+4|0;m=f[o>>2]|0;h=m;if((l|0)<=(g-h|0)){i=h-c|0;if((l|0)>(i|0)){j=d+i|0;if((j|0)==(e|0))g=m;else{g=m;h=j;do{b[g>>0]=b[h>>0]|0;h=h+1|0;g=(f[o>>2]|0)+1|0;f[o>>2]=g}while((h|0)!=(e|0))}if((i|0)>0)e=j;else{o=c;return o|0}}else g=m;j=g-(c+l)|0;h=c+j|0;if(h>>>0>>0){i=g;do{b[i>>0]=b[h>>0]|0;h=h+1|0;i=(f[o>>2]|0)+1|0;f[o>>2]=i}while((h|0)!=(m|0))}if(j|0)dm(g+(0-j)|0,c|0,j|0)|0;if((e|0)==(d|0)){o=c;return o|0}else g=c;while(1){b[g>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else g=g+1|0}return c|0}h=h-i+l|0;if((h|0)<0){Wo(a);k=f[a>>2]|0;j=k;g=f[n>>2]|0}else j=i;m=g-j|0;l=m<<1;h=m>>>0<1073741823?(l>>>0>>0?h:l):2147483647;l=c;if(!h)i=0;else i=_m(h)|0;m=i+(l-j)|0;g=m;j=i+h|0;if((d|0)==(e|0)){d=k;h=g}else{h=m;do{b[h>>0]=b[d>>0]|0;h=g+1|0;g=h;d=d+1|0}while((d|0)!=(e|0));d=f[a>>2]|0;h=g}g=l-d|0;i=m+(0-g)|0;if((g|0)>0)Eg(i|0,d|0,g|0)|0;g=(f[o>>2]|0)-l|0;if((g|0)>0){l=h;Eg(l|0,c|0,g|0)|0;d=f[a>>2]|0;c=l+g|0}else c=h;f[a>>2]=i;f[o>>2]=c;f[n>>2]=j;if(!d){o=m;return o|0}mq(d);o=m;return o|0}function Je(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){e=23;break}i=h+8|0;d=f[i>>2]|0;e=f[d>>2]|0;if((e|0)==(h|0)){e=f[d+4>>2]|0;if(!e){e=7;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=7;break}}else{if(!e){e=16;break}e=e+12|0;if(!(b[e>>0]|0))c=e;else{e=16;break}}b[g>>0]=1;i=(d|0)==(a|0);b[d+12>>0]=i&1;b[c>>0]=1;if(i){e=23;break}else c=d}if((e|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;c=f[a>>2]|0;e=f[c>>2]|0;f[a>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}a=c+8|0;f[a>>2]=d;d=f[i>>2]|0;f[((f[d>>2]|0)==(h|0)?d:d+4|0)>>2]=c;f[c>>2]=h;f[i>>2]=c;d=f[a>>2]|0}b[c+12>>0]=1;b[d+12>>0]=0;c=f[d>>2]|0;g=c+4|0;e=f[g>>2]|0;f[d>>2]=e;if(e|0)f[e+8>>2]=d;i=d+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(d|0)?h:h+4|0)>>2]=c;f[g>>2]=d;f[i>>2]=c;return}else if((e|0)==16){if((f[h>>2]|0)==(c|0)){c=f[h>>2]|0;g=c+4|0;e=f[g>>2]|0;f[h>>2]=e;if(e){f[e+8>>2]=h;d=f[i>>2]|0}e=c+8|0;f[e>>2]=d;a=f[i>>2]|0;f[((f[a>>2]|0)==(h|0)?a:a+4|0)>>2]=c;f[g>>2]=h;f[i>>2]=c;e=f[e>>2]|0}else{c=h;e=d}b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((e|0)==23)return}function Ke(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;q=s+4|0;k=s;f[q>>2]=0;r=q+4|0;f[r>>2]=0;f[q+8>>2]=0;m=a+52|0;b=f[m>>2]|0;j=(f[b+100>>2]|0)-(f[b+96>>2]|0)|0;n=(j|0)/12|0;do if((j|0)>0){j=q+8|0;c=f[b+96>>2]|0;if(((f[b+100>>2]|0)-c|0)>0){d=c;l=0;i=0}else Fa(19877,19795,64,19872);while(1){g=f[d+(l*12|0)>>2]|0;c=g-i|0;c=((c|0)>-1?c:0-c|0)<<1|c>>>31;f[k>>2]=c;b=f[r>>2]|0;e=f[j>>2]|0;if((b|0)==(e|0)){zi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[b>>2]=c;c=b+4|0;f[r>>2]=c}h=f[d+(l*12|0)+4>>2]|0;b=h-g|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0)){zi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[c>>2]=b;c=c+4|0;f[r>>2]=c}i=f[d+(l*12|0)+8>>2]|0;b=i-h|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0))zi(q,k);else{f[c>>2]=b;f[r>>2]=c+4}l=l+1|0;if((l|0)>=(n|0)){b=3;break}h=f[m>>2]|0;d=f[h+96>>2]|0;if((l|0)>=(((f[h+100>>2]|0)-d|0)/12|0|0)){b=5;break}}if((b|0)==3){o=f[q>>2]|0;p=f[r>>2]|0;break}else if((b|0)==5)Fa(19877,19795,64,19872)}else{o=0;p=0}while(0);Nc(o,p-o>>2,1,f[a+44>>2]|0)|0;c=f[q>>2]|0;if(!c){u=s;return 1}b=f[r>>2]|0;if((b|0)!=(c|0))f[r>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);u=s;return 1}function Le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=f[b>>2]|0;b=e*3|0;h=a+12|0;e=(e|0)<0;if(e)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(e)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;g=f[a+152>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!e)b=((d|0)%3|0|0)==0?b+-2|0:d;a=(b|0)<0;if(a)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(a)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!a){b=((d|0)%3|0|0)==0?b+-2|0:d;if((b|0)<0){d=b;a=1}else{d=b;a=0;b=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0}}else{d=b;a=1}if((b|0)==-1073741824){i=0;h=d;f[c>>2]=h;return i|0}if(a)b=-1073741824;else b=f[(f[f[h>>2]>>2]|0)+(d<<2)>>2]|0;if((f[g+(b<<2)>>2]|0)==-1){b=d+1|0;if(a){i=1;h=d;f[c>>2]=h;return i|0}i=1;h=((b|0)%3|0|0)==0?d+-2|0:b;f[c>>2]=h;return i|0}else b=d}}if((b|0)<=-1){i=0;h=b;f[c>>2]=h;return i|0}while(1){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)<0)break;d=f[(f[(f[h>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=11;break}d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((d|0)>-1)b=d;else{i=11;break}}if((i|0)==11?(b|0)<0:0){i=0;h=b;f[c>>2]=h;return i|0}if(!((b>>>0)%3|0)){i=0;h=b+2|0;f[c>>2]=h;return i|0}else{i=0;h=b+-1|0;f[c>>2]=h;return i|0}return 0}function Me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;g=n;if((f[c+56>>2]|0)==-1){e=-1;u=n;return e|0}m=_m(96)|0;ql(m,c);f[g>>2]=m;m=dh(a,g)|0;i=f[g>>2]|0;f[g>>2]=0;if(i|0){k=i+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c+8>>2]|0;if(g|0){h=c+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(c)}c=f[i+68>>2]|0;if(c|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(c|0))f[h>>2]=g+(~((g+-4-c|0)>>>2)<<2);mq(c)}k=i+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c>>2]|0;if(g|0){h=c+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(c)}mq(i)}if((m|0)<=-1)Fa(20410,20426,67,20517);j=a+8|0;k=a+12|0;c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))Fa(20527,20426,68,20517);i=c+(m<<2)|0;c=f[i>>2]|0;do if(!d){d=f[a+80>>2]|0;b[c+84>>0]=0;a=c+68|0;h=c+72|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c>>2;if(d>>>0>i>>>0){Pg(a,d-i|0,6092);break}if(d>>>0>>0?(l=c+(d<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{b[c+84>>0]=1;h=f[c+68>>2]|0;g=c+72|0;c=f[g>>2]|0;if((c|0)!=(h|0))f[g>>2]=c+(~((c+-4-h|0)>>>2)<<2);f[(f[i>>2]|0)+80>>2]=f[a+80>>2]}while(0);if((e|0)<=0){e=m;u=n;return e|0}c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))Fa(20527,20426,68,20517);gj(f[c+(m<<2)>>2]|0,e)|0;e=m;u=n;return e|0}function Ne(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=Wd(a,b,c,e)|0;k=f[d>>2]|0;m=f[c>>2]|0;g=f[e>>2]|0;i=f[g+4>>2]|0;h=f[g>>2]|0;if(i-h>>3>>>0>k>>>0){l=g;j=h;g=h}else{Vo(g);i=f[e>>2]|0;l=i;j=f[g>>2]|0;g=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-g>>3>>>0<=m>>>0){Vo(l);g=f[l>>2]|0}if(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0)return n|0;k=f[c>>2]|0;f[c>>2]=f[d>>2];f[d>>2]=k;k=f[c>>2]|0;m=f[b>>2]|0;i=f[e>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);d=f[e>>2]|0;l=f[i>>2]|0;g=f[d>>2]|0;j=f[d+4>>2]|0;i=d}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}if(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0){n=n+1|0;return n|0}l=f[b>>2]|0;f[b>>2]=f[c>>2];f[c>>2]=l;l=f[b>>2]|0;m=f[a>>2]|0;i=f[e>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>l>>>0){k=g;j=h}else{Vo(i);e=f[e>>2]|0;k=f[i>>2]|0;g=f[e>>2]|0;j=f[e+4>>2]|0;i=e}h=f[k+(l<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}if(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0){n=n+2|0;return n|0}e=f[a>>2]|0;f[a>>2]=f[b>>2];f[b>>2]=e;n=n+3|0;return n|0}function Oe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+144|0;m=q+136|0;p=q+104|0;i=q;j=_m(124)|0;e=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3528;f[j+12>>2]=3508;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;n=j+16|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[j+112>>2]=e;f[j+116>>2]=d;k=j+120|0;f[k>>2]=0;g=j;f[p>>2]=3508;l=p+4|0;h=l+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;h=f[c+12>>2]|0;f[i+4>>2]=3508;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;n=i+8|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));o=h;f[l>>2]=o;o=((f[o+4>>2]|0)-(f[h>>2]|0)>>2>>>0)/3|0;b[m>>0]=0;Kg(p+8|0,o,m);Oa[f[(f[p>>2]|0)+8>>2]&127](p);f[i>>2]=f[l>>2];eg(i+4|0,p)|0;f[i+36>>2]=h;f[i+40>>2]=d;f[i+44>>2]=e;f[i+48>>2]=j;f[k>>2]=c+72;kg(j,i);f[a>>2]=g;yi(i);f[p>>2]=3508;e=f[p+20>>2]|0;if(e|0)mq(e);e=f[p+8>>2]|0;if(!e){u=q;return}mq(e);u=q;return}function Pe(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3552;pi(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}Ri(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+140>>2]|0;if(b|0)mq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;mq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)mq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+28>>2]|0;if(b|0)mq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;lj(b);mq(b);return}function Qe(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3352;Zi(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}Ri(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+140>>2]|0;if(b|0)mq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;mq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)mq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+28>>2]|0;if(b|0)mq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;lj(b);mq(b);return}function Re(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Se(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+16|0;h=n+4|0;g=n;i=n+8|0;if(!(Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)){a=0;u=n;return a|0}m=a+44|0;d=f[m>>2]|0;k=a+8|0;j=a+12|0;e=f[j>>2]|0;c=f[k>>2]|0;b[i>>0]=(e-c|0)>>>2;o=d+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ie(d,h,i,i+1|0)|0;c=f[k>>2]|0;e=f[j>>2]|0}a:do if((c|0)!=(e|0)){d=a+4|0;while(1){p=f[c>>2]|0;c=c+4|0;if(!(Ma[f[(f[p>>2]|0)+8>>2]&31](p,a,f[d>>2]|0)|0)){c=0;break}if((c|0)==(e|0))break a}u=n;return c|0}while(0);if(!(vc(a)|0)){p=0;u=n;return p|0}e=a+32|0;c=f[e>>2]|0;g=a+36|0;d=f[g>>2]|0;b:do if((c|0)!=(d|0)){do{if(!(Va[f[(f[a>>2]|0)+40>>2]&127](a,f[c>>2]|0)|0)){c=0;l=18;break}c=c+4|0}while((c|0)!=(d|0));if((l|0)==18){u=n;return c|0}c=f[e>>2]|0;d=f[g>>2]|0;if((c|0)!=(d|0)){while(1){p=f[(f[k>>2]|0)+(f[c>>2]<<2)>>2]|0;c=c+4|0;if(!(Va[f[(f[p>>2]|0)+12>>2]&127](p,f[m>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}u=n;return c|0}}while(0);p=Ra[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=n;return p|0}function Te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>3>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>3;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){m=c;l=f[m+4>>2]|0;k=e;f[k>>2]=f[m>>2];f[k+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(!g){d=j+(b<<3)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-8-d|0)>>>3)<<3)|0;break}}else{g=b-h|0;d=i;e=g;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=a;d=i+(g<<3)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-8-h|0)>>>3)<<3);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>536870911){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;m=d-e|0;d=m>>2;d=m>>3>>>0<268435455?(d>>>0>>0?b:d):536870911;if(d>>>0>536870911){Wo(a);m=Ha(4)|0;Pp(m);sa(m|0,1096,107)}h=_m(d<<3)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<3);d=h;e=b;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=g;d=h+(b<<3)|0}while(0);f[e>>2]=d;return}function Ue(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Fa(20410,20426,59,20517);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Fa(20527,20426,60,20517);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ra[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Va[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Va[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;kd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;jd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+1176|0;b=f[g>>2]|0;if(b|0){h=a+1180|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}g=a+1164|0;b=f[g>>2]|0;if(b|0){h=a+1168|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+1152>>2]|0;if(b|0){d=a+1156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+1140>>2]|0;if(b|0){d=a+1144|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+1128>>2]|0;if(!b){h=a+1108|0;jl(h);h=a+1088|0;jl(h);h=a+1068|0;jl(h);h=a+1036|0;oj(h);a=a+12|0;ph(a);return}d=a+1132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);h=a+1108|0;jl(h);h=a+1088|0;jl(h);h=a+1068|0;jl(h);h=a+1036|0;oj(h);a=a+12|0;ph(a);return}function We(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ie(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ie(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}Yf(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];hb(a,k,m);d=0;do{Pc(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);Pc(a+1036|0,e);gg(g,e);gg(c,e);gg(b,e);u=n;return 1}function Xe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ie(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ie(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}Yf(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];jb(a,k,m);d=0;do{Pc(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);Pc(a+1036|0,e);gg(g,e);gg(c,e);gg(b,e);u=n;return 1}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+60>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,g,g+4|0)|0}an(k);Wk(k);if((f[g>>2]|0)>0){c=a+56|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;Ui(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}Pc(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;oj(k);u=m;return 1}function Ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)Fa(20410,20426,59,20517);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))Fa(20527,20426,60,20517);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ra[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Va[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Va[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;Hc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;Gc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function _e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+80>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,g,g+4|0)|0}an(k);Wk(k);if((f[g>>2]|0)>0){c=a+76|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;Ui(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}Pc(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){oj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ie(b,j,l,l+4|0)|0;oj(k);u=m;return 1}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=a+4|0;c=f[j>>2]|0;i=a+100|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;switch(c|0){case 43:case 45:{d=(c|0)==45&1;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0;if((b|0)!=0&(c+-48|0)>>>0>9?(f[i>>2]|0)!=0:0){f[j>>2]=(f[j>>2]|0)+-1;g=d}else g=d;break}default:g=0}if((c+-48|0)>>>0>9)if(!(f[i>>2]|0)){d=-2147483648;c=0}else{f[j>>2]=(f[j>>2]|0)+-1;d=-2147483648;c=0}else{d=0;do{d=c+-48+(d*10|0)|0;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0}while((c+-48|0)>>>0<10&(d|0)<214748364);b=((d|0)<0)<<31>>31;if((c+-48|0)>>>0<10){do{b=Zm(d|0,b|0,10,0)|0;d=I;c=Zn(c|0,((c|0)<0)<<31>>31|0,-48,-1)|0;d=Zn(c|0,I|0,b|0,d|0)|0;b=I;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Pi(a)|0}while((c+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&d>>>0<2061584302));e=d;d=c}else{e=d;d=c}c=f[i>>2]|0;if((d+-48|0)>>>0<10)do{d=f[j>>2]|0;if(d>>>0>>0){f[j>>2]=d+1;d=h[d>>0]|0}else{d=Pi(a)|0;c=f[i>>2]|0}}while((d+-48|0)>>>0<10);if(c|0)f[j>>2]=(f[j>>2]|0)+-1;j=(g|0)!=0;c=Dn(0,0,e|0,b|0)|0;d=j?I:b;c=j?c:e}I=d;return c|0}function af(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=u;u=u+96|0;o=p;if(!c){o=-1;u=p;return o|0}Im(o);qj(o,d,0,g&255,9,0,g<<2,0,0,0);j=Me(c,o,1,e)|0;if((j|0)<=-1)Fa(20410,20426,67,20517);a=f[c+8>>2]|0;if(((f[c+12>>2]|0)-a>>2|0)<=(j|0))Fa(20527,20426,68,20517);a=f[a+(j<<2)>>2]|0;if((e|0)>0){m=a+84|0;k=a+68|0;l=a+40|0;d=a+64|0;i=0;do{if(!(b[m>>0]|0))a=f[(f[k>>2]|0)+(i<<2)>>2]|0;else a=i;r=h+((X(i,g)|0)<<2)|0;s=l;q=f[s>>2]|0;a=Zm(a|0,((a|0)<0)<<31>>31|0,q|0,f[s+4>>2]|0)|0;Eg((f[f[d>>2]>>2]|0)+a|0,r|0,q|0)|0;i=i+1|0}while((i|0)!=(e|0))}d=c+80|0;a=f[d>>2]|0;if(a)if((a|0)==(e|0))n=14;else j=-1;else{f[d>>2]=e;n=14}s=o+88|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){d=f[a+8>>2]|0;if(d|0){i=a+12|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;mq(d)}mq(a)}a=f[o+68>>2]|0;if(a|0){i=o+72|0;d=f[i>>2]|0;if((d|0)!=(a|0))f[i>>2]=d+(~((d+-4-a|0)>>>2)<<2);mq(a)}s=o+64|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){d=f[a>>2]|0;if(d|0){i=a+4|0;if((f[i>>2]|0)!=(d|0))f[i>>2]=d;mq(d)}mq(a)}s=j;u=p;return s|0}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Pg(j,m-l|0,3472);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)Fa(19877,19795,64,19872);else if((e|0)==12)Fa(19931,19950,89,20044);else if((e|0)==14)return d|0;return 0}function cf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=f[b>>2]|0;d=f[c>>2]|0;g=d-l>>2;h=a+8|0;b=f[h>>2]|0;i=f[a>>2]|0;j=i;k=d;if(g>>>0<=b-i>>2>>>0){a=a+4|0;h=(f[a>>2]|0)-i>>2;e=g>>>0>h>>>0;h=e?l+(h<<2)|0:d;d=h-l|0;b=d>>2;if(b|0)dm(i|0,l|0,d|0)|0;d=j+(b<<2)|0;if(!e){b=f[a>>2]|0;if((b|0)==(d|0))return;f[a>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}c=f[c>>2]|0;b=h;if((b|0)==(c|0))return;g=f[a>>2]|0;e=c+-4-h|0;d=g;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[a>>2]=g+((e>>>2)+1<<2);return}e=i;if(i){d=a+4|0;b=f[d>>2]|0;if((b|0)!=(j|0))f[d>>2]=b+(~((b+-4-i|0)>>>2)<<2);mq(e);f[h>>2]=0;f[d>>2]=0;f[a>>2]=0;b=0}if(g>>>0>1073741823){Wo(a);d=f[a>>2]|0;b=f[h>>2]|0}else d=0;j=b-d|0;b=j>>1;b=j>>2>>>0<536870911?(b>>>0>>0?g:b):1073741823;if(b>>>0>1073741823){Wo(a);l=Ha(4)|0;Pp(l);sa(l|0,1096,107)}g=_m(b<<2)|0;c=a+4|0;f[c>>2]=g;f[a>>2]=g;f[h>>2]=g+(b<<2);b=l;if((b|0)==(k|0))return;e=k+-4-l|0;d=g;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(k|0))break;else d=d+4|0}f[c>>2]=g+((e>>>2)+1<<2);return}function df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Pg(j,m-l|0,3472);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Fa(19877,19795,64,19872);else if((e|0)==12)Fa(19931,19950,89,20044);else if((e|0)==13)return d|0;return 0}function ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{Pg(j,m-l|0,3472);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)Fa(19877,19795,64,19872);else if((e|0)==12)Fa(19931,19950,89,20044);else if((e|0)==13)return d|0;return 0}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=_m(40)|0;e=l+16|0;dl(e,c);dl(l+28|0,c+12|0);c=a+4|0;d=f[c>>2]|0;do if(d){j=b[l+27>>0]|0;i=j<<24>>24<0;j=i?f[l+20>>2]|0:j&255;i=i?f[e>>2]|0:e;h=d;while(1){d=h+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[h+20>>2]|0:e&255;c=e>>>0>>0?e:j;if((c|0)!=0?(k=il(i,g?f[d>>2]|0:d,c)|0,(k|0)!=0):0)if((k|0)<0)g=7;else g=9;else if(j>>>0>>0)g=7;else g=9;if((g|0)==7){c=f[h>>2]|0;if(!c){g=8;break}}else if((g|0)==9){d=h+4|0;c=f[d>>2]|0;if(!c){g=11;break}}h=c}if((g|0)==8){e=h;d=h;break}else if((g|0)==11){e=h;break}}else{e=c;d=c}while(0);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=e;f[d>>2]=l;c=f[f[a>>2]>>2]|0;if(!c){k=l;j=a+4|0;j=f[j>>2]|0;Je(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}f[a>>2]=c;k=f[d>>2]|0;j=a+4|0;j=f[j>>2]|0;Je(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}function gf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;jl(h);h=a+52|0;jl(h);h=a+32|0;jl(h);a=a+12|0;jl(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);h=a+72|0;jl(h);h=a+52|0;jl(h);h=a+32|0;jl(h);a=a+12|0;jl(a);return}function hf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+152|0;b=f[g>>2]|0;if(b|0){h=a+156|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+128>>2]|0;if(b|0){d=a+132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+104>>2]|0;if(!b){h=a+84|0;jl(h);h=a+64|0;jl(h);h=a+44|0;jl(h);a=a+12|0;oj(a);return}d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);h=a+84|0;jl(h);h=a+64|0;jl(h);h=a+44|0;jl(h);a=a+12|0;oj(a);return}function jf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)dm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}h=_m(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+40+(h*12|0)+4|0;Mh(f[c>>2]|0,b)|0;if(f[c>>2]|0){an(i);Wk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+40+(h*12|0)|0;do{d=0;while(1){m=d+c|0;Ui(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}Pc(i,b);oj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;u=l;return 1}function lf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)dm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;l=d-e|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}h=_m(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function mf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=c;j=d-l|0;k=a+8|0;e=f[k>>2]|0;i=f[a>>2]|0;m=i;if(j>>>0>e-i>>2>>>0){h=i;if(i){g=a+4|0;e=f[g>>2]|0;if((e|0)!=(m|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(h);f[k>>2]=0;f[g>>2]=0;f[a>>2]=0;e=0}if(j>>>0>1073741823){Wo(a);g=f[a>>2]|0;e=f[k>>2]|0}else g=0;m=e-g|0;g=m>>1;g=m>>2>>>0<536870911?(g>>>0>>0?j:g):1073741823;if(g>>>0>1073741823){Wo(a);d=Ha(4)|0;Pp(d);sa(d|0,1096,107)}e=_m(g<<2)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[k>>2]=e+(g<<2);if((c|0)==(d|0))return;do{f[e>>2]=b[c>>0];c=c+1|0;e=e+4|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{k=a+4|0;g=f[k>>2]|0;h=g-i>>2;i=j>>>0>h>>>0;j=c+h|0;h=i?j:d;if((h|0)==(c|0))c=m;else{e=m;while(1){f[e>>2]=b[c>>0];c=c+1|0;if((c|0)==(h|0))break;else e=e+4|0}c=m+(h-l<<2)|0}if(!i){if((g|0)==(c|0))return;f[k>>2]=g+(~((g+-4-c|0)>>>2)<<2);return}if((h|0)==(d|0))return;e=f[k>>2]|0;c=j;do{f[e>>2]=b[c>>0];c=c+1|0;e=e+4|0;f[k>>2]=e}while((c|0)!=(d|0));return}}function nf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+60+(h*12|0)+4|0;Mh(f[c>>2]|0,b)|0;if(f[c>>2]|0){an(i);Wk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+60+(h*12|0)|0;do{d=0;while(1){m=d+c|0;Ui(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}Pc(i,b);oj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ie(b,i,k,k+4|0)|0;u=l;return 1}function of(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ie(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ie(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;wm(c);b=a+32|0;wm(b);m=a+52|0;wm(m);n=a+72|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];kb(a,i,k);gg(c,e);gg(b,e);gg(m,e);gg(n,e);u=l;return 1} -function Fb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=Ka,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}Xi(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function Gb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;n=F+76|0;o=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);m=f[(f[h>>2]|0)+28>>2]|0;l=f[m+(c<<2)>>2]|0;m=f[m+(g<<2)>>2]|0;g=a+36|0;h=f[g>>2]|0;c=f[h+4>>2]|0;k=f[h>>2]|0;if(c-k>>2>>>0>l>>>0){i=c;j=h;g=k;c=k}else{Vo(h);c=f[g>>2]|0;i=f[c+4>>2]|0;j=c;g=f[h>>2]|0;c=f[c>>2]|0}w=f[g+(l<<2)>>2]|0;if(i-c>>2>>>0<=m>>>0){Vo(j);c=f[j>>2]|0}h=f[c+(m<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){z=w<<1;v=f[d+(z<<2)>>2]|0;y=((v|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(v|0)|(s|0)!=(z|0))){f[a+8>>2]=v;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;i=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,i,B)|0;n=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=Dn(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=Dn(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Zm(n|0,o|0,n|0,o|0)|0;x=I;B=Zm(p|0,q|0,p|0,q|0)|0;x=Zn(B|0,I|0,C|0,x|0)|0;C=I;B=Zm(l|0,m|0,l|0,m|0)|0;B=Zn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=Dn(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=Dn(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=Dn(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Zm(K|0,J|0,n|0,o|0)|0;D=I;g=Zm(H|0,G|0,p|0,q|0)|0;D=Zn(g|0,I|0,k|0,D|0)|0;k=I;g=Zm(h|0,i|0,l|0,m|0)|0;g=Zn(D|0,k|0,g|0,I|0)|0;k=I;D=Dn(r|0,((r|0)<0)<<31>>31|0,v|0,y|0)|0;c=I;w=Dn(s|0,((s|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;s=Zm(B|0,C|0,v|0,y|0)|0;r=I;v=Zm(B|0,C|0,z|0,A|0)|0;t=I;A=Zm(g|0,k|0,D|0,c|0)|0;z=I;j=Zm(g|0,k|0,w|0,x|0)|0;y=I;r=Zn(A|0,z|0,s|0,r|0)|0;s=I;t=Zn(j|0,y|0,v|0,t|0)|0;v=I;y=Zm(g|0,k|0,n|0,o|0)|0;j=I;z=Zm(g|0,k|0,p|0,q|0)|0;A=I;m=Zm(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=Dn(K|0,J|0,j|0,l|0)|0;j=I;z=Dn(H|0,G|0,A|0,z|0)|0;A=I;m=Dn(h|0,i|0,k|0,m|0)|0;k=I;j=Zm(l|0,j|0,l|0,j|0)|0;l=I;A=Zm(z|0,A|0,z|0,A|0)|0;l=Zn(A|0,I|0,j|0,l|0)|0;j=I;k=Zm(m|0,k|0,m|0,k|0)|0;k=Zn(l|0,j|0,k|0,I|0)|0;j=I;l=Dn(0,0,D|0,c|0)|0;m=I;j=Zm(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=24}break}case 1:{if(!c){g=1;c=0;E=25}else{g=1;c=0;h=j;i=k;E=24}break}default:{g=1;c=0;h=j;i=k;E=24}}if((E|0)==24)while(1){g=tn(g|0,c|0,1)|0;c=I;K=h;h=yn(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=25;break}else{i=I;E=24}}if((E|0)==25)while(1){K=Oo(j|0,k|0,g|0,c|0)|0;g=Zn(K|0,I|0,g|0,c|0)|0;g=yn(g|0,I|0,1)|0;c=I;K=Zm(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=25;else break}o=Zm(g|0,c|0,w|0,x|0)|0;K=I;n=Zm(g|0,c|0,l|0,m|0)|0;l=I;J=Zn(o|0,K|0,r|0,s|0)|0;g=I;k=Zn(n|0,l|0,t|0,v|0)|0;c=I;g=kk(J|0,g|0,B|0,C|0)|0;J=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;K=Dn(r|0,s|0,o|0,K|0)|0;o=I;l=Dn(t|0,v|0,n|0,l|0)|0;n=I;o=kk(K|0,o|0,B|0,C|0)|0;K=I;n=kk(l|0,n|0,B|0,C|0)|0;l=I;h=e<<1;j=f[d+(h<<2)>>2]|0;H=((j|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;m=((h|0)<0)<<31>>31;J=Dn(j|0,H|0,g|0,J|0)|0;G=I;k=Dn(h|0,m|0,c|0,k|0)|0;i=I;G=Zm(J|0,G|0,J|0,G|0)|0;J=I;i=Zm(k|0,i|0,k|0,i|0)|0;J=Zn(i|0,I|0,G|0,J|0)|0;G=I;K=Dn(j|0,H|0,o|0,K|0)|0;H=I;l=Dn(h|0,m|0,n|0,l|0)|0;m=I;H=Zm(K|0,H|0,K|0,H|0)|0;K=I;m=Zm(l|0,m|0,l|0,m|0)|0;K=Zn(m|0,I|0,H|0,K|0)|0;H=I;m=a+16|0;l=a+20|0;h=f[l>>2]|0;j=a+24|0;i=f[j>>2]|0;k=(h|0)==(i<<5|0);if(G>>>0>>0|(G|0)==(H|0)&J>>>0>>0){if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;K=(f[m>>2]|0)+(h>>>5<<2)|0;f[K>>2]=f[K>>2]|1<<(h&31)}else{if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;g=(f[m>>2]|0)+(h>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(h&31));g=o;c=n}f[a+8>>2]=g;f[a+12>>2]=c;u=F;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return}function Hb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;A=B+16|0;z=B+4|0;x=B;f[a+36>>2]=b;y=a+24|0;w=a+28|0;d=f[w>>2]|0;c=f[y>>2]|0;g=d-c>>2;if(g>>>0>=b>>>0){if(g>>>0>b>>>0?(e=c+(b<<2)|0,(d|0)!=(e|0)):0)f[w>>2]=d+(~((d+-4-e|0)>>>2)<<2)}else Pg(y,b-g|0,6012);f[A>>2]=0;v=A+4|0;f[v>>2]=0;t=A+8|0;f[t>>2]=0;if(b|0){if((b|0)<0)Wo(A);c=((b+-1|0)>>>5)+1|0;s=_m(c<<2)|0;f[A>>2]=s;f[t>>2]=c;f[v>>2]=b;c=b>>>5;Xi(s|0,0,c<<2|0)|0;d=b-(c<<5)|0;c=s+(c<<2)|0;if(d|0)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}s=a+4|0;c=(f[s>>2]|0)-(f[a>>2]|0)|0;g=c>>2;f[z>>2]=0;e=z+4|0;f[e>>2]=0;d=z+8|0;f[d>>2]=0;if(g){if((c|0)<0)Wo(z);c=((g+-1|0)>>>5)+1|0;h=_m(c<<2)|0;f[z>>2]=h;f[d>>2]=c;f[e>>2]=g;c=g>>>5;Xi(h|0,0,c<<2|0)|0;d=g-(c<<5)|0;c=h+(c<<2)|0;if(d)f[c>>2]=f[c>>2]&~(-1>>>(32-d|0))}else h=0;c=f[a>>2]|0;a:do if((f[s>>2]|0)-c>>2>>>0>2){n=a+12|0;q=a+32|0;o=a+52|0;p=a+56|0;r=a+48|0;m=0;d=b;b:while(1){l=m*3|0;if((m|0)>=0){b=f[c+(l<<2)>>2]|0;e=l+1|0;e=((e|0)%3|0|0)==0?l+-2|0:e;if((e|0)<0)g=-1073741824;else g=f[c+(e<<2)>>2]|0;e=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((e|0)<0)c=-1073741824;else c=f[c+(e<<2)>>2]|0;if((b|0)!=(g|0)?!((b|0)==(c|0)|(g|0)==(c|0)):0){k=0;do{g=k+l|0;if(!(f[h+(g>>>5<<2)>>2]&1<<(g&31))){c=f[(f[a>>2]|0)+(g<<2)>>2]|0;f[x>>2]=c;e=f[A>>2]|0;if(!(f[e+(c>>>5<<2)>>2]&1<<(c&31)))b=0;else{c=f[w>>2]|0;if((c|0)==(f[q>>2]|0))zi(y,6012);else{f[c>>2]=-1073741824;f[w>>2]=c+4}c=f[o>>2]|0;if((c|0)==(f[p>>2]|0))zi(r,x);else{f[c>>2]=f[x>>2];f[o>>2]=c+4}c=f[v>>2]|0;e=f[t>>2]|0;if((c|0)==(e<<5|0)){if((c+1|0)<0){Wo(A);e=f[t>>2]|0}j=e<<6;c=c+32&-32;bi(A,e<<5>>>0<1073741823?(j>>>0>>0?c:j):2147483647);c=f[v>>2]|0}f[v>>2]=c+1;e=f[A>>2]|0;b=e+(c>>>5<<2)|0;f[b>>2]=f[b>>2]&~(1<<(c&31));f[x>>2]=d;c=d;b=1;d=d+1|0}j=e+(c>>>5<<2)|0;f[j>>2]=f[j>>2]|1<<(c&31);c:do if(b){c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);e=f[x>>2]|0;f[(f[y>>2]|0)+(e<<2)>>2]=c;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}else{c=g;while(1){if((c|0)==-1073741824){e=68;break c}h=f[z>>2]|0;e=h+(c>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(c&31);f[(f[y>>2]|0)+(f[x>>2]<<2)>>2]=c;e=c+1|0;do if((c|0)>=0){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)<0)break;c=f[(f[n>>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}while(0);if((c|0)==(g|0)){e=67;break}}}while(0);do if((e|0)==67){e=0;if((g|0)==-1073741824){c=-1073741824;e=74}}else if((e|0)==68)if((g|0)>=0){c=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=74;break}if(!((c>>>0)%3|0)){c=c+2|0;e=74;break}else{c=c+-1|0;e=74;break}}else e=74}else{c=g;e=74}while(0);d:do if((e|0)==74){h=f[z>>2]|0;g=h+(c>>>5<<2)|0;i=1<<(c&31);e=(c|0)<0;if((c|0)!=-1073741824){if(!b){b=c;c=i;while(1){if(e)break b;f[g>>2]=f[g>>2]|c;c=(((b>>>0)%3|0|0)==0?2:-1)+b|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0)break;if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}}while(0);h=f[z>>2]|0;if((c|0)==-1073741824)break d;else{b=c;g=h+(c>>>5<<2)|0;e=(c|0)<0;c=1<<(c&31)}}}j=f[a>>2]|0;b=g;h=e;e=i;while(1){g=j+(c<<2)|0;do{f[b>>2]=f[b>>2]|e;f[g>>2]=f[x>>2]}while(h);c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;do if((c|0)>=0){c=f[(f[n>>2]|0)+(c<<2)>>2]|0;if((c|0)<0){e=c;break}if(!((c>>>0)%3|0)){e=c+2|0;break}else{e=c+-1|0;break}}else e=c;while(0);h=f[z>>2]|0;if((e|0)==-1073741824)break;else{c=e;b=h+(e>>>5<<2)|0;h=(e|0)<0;e=1<<(e&31)}}}}while(0)}k=k+1|0}while((k|0)<3)}}m=m+1|0;c=f[a>>2]|0;if((m|0)>=(((f[s>>2]|0)-c>>2>>>0)/3|0|0))break a}while(1){}}while(0);j=a+44|0;f[j>>2]=0;c=f[A>>2]|0;b=f[v>>2]|0;y=b>>>5;i=c+(y<<2)|0;b=b&31;e=(y|0)!=0;e:do if(y|b|0){if(!b){g=c;d=0;while(1){f:do if(e){e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break;else e=e+1|0}}else{e=0;while(1){if(!(f[g>>2]&1<>2]=d}if((e|0)==31)break f;e=e+1|0;if(!e)break e}}while(0);g=g+4|0;if((g|0)==(i|0))break e;else e=1}}if(e){g=c;d=0;e=0;do{h=0;while(1){if(!(f[g>>2]&1<>2]=e;d=e}if((h|0)==31)break;else h=h+1|0}g=g+4|0}while((g|0)!=(i|0))}else{g=c;d=0}e=0;do{if(!(f[g>>2]&1<>2]=d}e=e+1|0}while((e|0)!=(b|0))}while(0);d=f[z>>2]|0;if(d){mq(d);c=f[A>>2]|0}if(!c){u=B;return 1}mq(c);u=B;return 1}function Ib(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;Xn(c)|0;if((I|0)<0){C=1;A=21062;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?21063:21068):21065}Xn(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+Up(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=ok(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[21093+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Rk(a,32,d,j,g);zo(a,p,o);Rk(a,48,d,j,g^65536);zo(a,F,C);Rk(a,48,D-C|0,0,0);zo(a,n,E);Rk(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=tn(f[j>>2]|0,0,o|0)|0;x=Zn(x|0,I|0,l|0,0)|0;y=I;v=Sm(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=Oo(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=ok(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Rk(a,32,d,j,g);zo(a,A,C);Rk(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=ok(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){Xi(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}zo(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)zo(a,21109,1);if(m>>>0>>0&(k|0)>0)while(1){l=ok(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){Xi(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}zo(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Rk(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=ok(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;zo(a,l,1);if(e&(k|0)<1){l=m;break}zo(a,21109,1);l=m}else{if(l>>>0<=F>>>0)break;Xi(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;zo(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Rk(a,48,k+18|0,18,0);zo(a,v,D-v|0)}Rk(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Rk(a,32,d,j,g&-65537);zo(a,A,C);zo(a,c!=c|0.0!=0.0?(F?23012:21089):F?21081:21085,3);Rk(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function Jb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0.0;H=u;u=u+512|0;E=H;F=d+c|0;G=0-F|0;B=a+4|0;C=a+100|0;j=b;m=0;a:while(1){switch(j|0){case 46:{A=6;break a}case 48:break;default:{l=0;b=0;p=0;break a}}b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0;m=1;continue}else{j=Pi(a)|0;m=1;continue}}if((A|0)==6){b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0}else j=Pi(a)|0;if((j|0)==48){j=0;b=0;while(1){l=Zn(j|0,b|0,-1,-1)|0;b=I;j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Pi(a)|0;if((j|0)==48)j=l;else{m=1;p=1;break}}}else{l=0;b=0;p=1}}f[E>>2]=0;v=j+-48|0;n=(j|0)==46;b:do if(n|v>>>0<10){A=E+496|0;y=l;z=0;t=0;w=n;o=0;l=0;n=0;c:while(1){do if(w)if(!p){y=z;b=t;p=1}else break c;else{w=Zn(z|0,t|0,1,0)|0;t=I;x=(j|0)!=48;if((l|0)>=125){if(!x){z=w;break}f[A>>2]=f[A>>2]|1;z=w;break}m=E+(l<<2)|0;if(!o)j=v;else j=j+-48+((f[m>>2]|0)*10|0)|0;f[m>>2]=j;o=o+1|0;v=(o|0)==9;z=w;m=1;o=v?0:o;l=(v&1)+l|0;n=x?w:n}while(0);j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Pi(a)|0;v=j+-48|0;w=(j|0)==46;if(!(w|v>>>0<10)){w=y;v=z;A=29;break b}}v=z;p=y;j=(m|0)!=0;A=37}else{w=l;v=0;t=0;o=0;l=0;n=0;A=29}while(0);do if((A|0)==29){z=(p|0)==0;p=z?v:w;b=z?t:b;w=(m|0)!=0;if(!(w&(j|32|0)==101))if((j|0)>-1){j=w;A=37;break}else{m=t;j=w;A=39;break}m=$e(a,g)|0;j=I;if((m|0)==0&(j|0)==-2147483648){if(!g){Lm(a,0);i=0.0;break}if(!(f[C>>2]|0)){m=0;j=0}else{f[B>>2]=(f[B>>2]|0)+-1;m=0;j=0}}y=Zn(m|0,j|0,p|0,b|0)|0;p=v;b=I;m=t;A=41}while(0);if((A|0)==37)if(f[C>>2]|0){f[B>>2]=(f[B>>2]|0)+-1;if(j){y=p;p=v;m=t;A=41}else A=40}else{m=t;A=39}if((A|0)==39)if(j){y=p;p=v;A=41}else A=40;do if((A|0)==40){G=aq()|0;f[G>>2]=22;Lm(a,0);i=0.0}else if((A|0)==41){j=f[E>>2]|0;if(!j){i=+(e|0)*0.0;break}if(((m|0)<0|(m|0)==0&p>>>0<10)&((y|0)==(p|0)&(b|0)==(m|0))?(c|0)>30|(j>>>c|0)==0:0){i=+(e|0)*+(j>>>0);break}a=(d|0)/-2|0;C=((a|0)<0)<<31>>31;if((b|0)>(C|0)|(b|0)==(C|0)&y>>>0>a>>>0){G=aq()|0;f[G>>2]=34;i=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=d+-106|0;C=((a|0)<0)<<31>>31;if((b|0)<(C|0)|(b|0)==(C|0)&y>>>0>>0){G=aq()|0;f[G>>2]=34;i=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(o){if((o|0)<9){m=E+(l<<2)|0;b=o;j=f[m>>2]|0;do{j=j*10|0;b=b+1|0}while((b|0)!=9);f[m>>2]=j}l=l+1|0}if((n|0)<9?(n|0)<=(y|0)&(y|0)<18:0){b=f[E>>2]|0;if((y|0)==9){i=+(e|0)*+(b>>>0);break}if((y|0)<9){i=+(e|0)*+(b>>>0)/+(f[6596+(8-y<<2)>>2]|0);break}a=c+27+(X(y,-3)|0)|0;if((a|0)>30|(b>>>a|0)==0){i=+(e|0)*+(b>>>0)*+(f[6596+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){m=0;b=0}else{t=(y|0)>-1?b:b+9|0;m=f[6596+(8-t<<2)>>2]|0;if(l){o=1e9/(m|0)|0;b=0;n=0;p=0;j=y;do{B=E+(p<<2)|0;C=f[B>>2]|0;a=((C>>>0)/(m>>>0)|0)+n|0;f[B>>2]=a;n=X(o,(C>>>0)%(m>>>0)|0)|0;a=(p|0)==(b|0)&(a|0)==0;j=a?j+-9|0:j;b=a?b+1&127:b;p=p+1|0}while((p|0)!=(l|0));if(n){f[E+(l<<2)>>2]=n;l=l+1|0}}else{b=0;j=y;l=0}m=b;b=0;y=9-t+j|0}d:while(1){v=(y|0)<18;w=(y|0)==18;t=E+(m<<2)|0;while(1){if(!v){if(!w){j=y;break d}if((f[t>>2]|0)>>>0>=9007199){j=18;break d}}n=0;j=l+127|0;x=l;while(1){p=j&127;o=E+(p<<2)|0;j=tn(f[o>>2]|0,0,29)|0;j=Zn(j|0,I|0,n|0,0)|0;l=I;if(l>>>0>0|(l|0)==0&j>>>0>1e9){n=Oo(j|0,l|0,1e9,0)|0;j=Sm(j|0,l|0,1e9,0)|0}else n=0;f[o>>2]=j;a=(p|0)==(m|0);x=(j|0)==0&(((p|0)!=(x+127&127|0)|a)^1)?p:x;if(a)break;else j=p+-1|0}b=b+-29|0;if(n|0)break;else l=x}m=m+127&127;l=x+127&127;j=E+((x+126&127)<<2)|0;if((m|0)==(x|0))f[j>>2]=f[j>>2]|f[E+(l<<2)>>2];else l=x;f[E+(m<<2)>>2]=n;y=y+9|0}e:while(1){x=l+1&127;y=E+((l+127&127)<<2)|0;v=j;while(1){o=(v|0)==18;w=(v|0)>27?9:1;z=m;while(1){j=0;while(1){m=j+z&127;if((m|0)==(l|0)){D=2;A=88;break}m=f[E+(m<<2)>>2]|0;n=f[6628+(j<<2)>>2]|0;if(m>>>0>>0){D=2;A=88;break}if(m>>>0>n>>>0)break;j=j+1|0;if((j|0)>=2){D=j;A=88;break}}if((A|0)==88?(A=0,o&(D|0)==2):0){n=0;i=0.0;break e}b=w+b|0;if((z|0)==(l|0))z=l;else break}t=(1<>>w;m=z;o=0;n=z;j=v;do{B=E+(n<<2)|0;C=f[B>>2]|0;a=(C>>>w)+o|0;f[B>>2]=a;o=X(C&t,p)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(!o){v=j;continue}if((x|0)!=(m|0))break;f[y>>2]=f[y>>2]|1;v=j}f[E+(l<<2)>>2]=o;l=x}while(1){m=n+z&127;j=l+1&127;if((m|0)==(l|0))f[E+(j+-1<<2)>>2]=0;else j=l;i=i*1.0e9+ +((f[E+(m<<2)>>2]|0)>>>0);n=n+1|0;if((n|0)==2)break;else l=j}s=+(e|0);k=s*i;m=b+53|0;p=m-d|0;o=(p|0)<(c|0);n=o?((p|0)>0?p:0):c;if((n|0)<53){J=+Sp(+Qj(1.0,105-n|0),k);q=+bq(k,+Qj(1.0,53-n|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=z+2&127;if((l|0)!=(j|0)){l=f[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=s*.75+i;break}if((z+3&127|0)==(j|0)){i=s*.5+i;break}else{i=s*.75+i;break}}else{if((l|0)==0?(z+3&127|0)==(j|0):0)break;i=s*.25+i}while(0);if((53-n|0)>1?!(+bq(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((m&2147483647|0)>(-2-F|0)){F=!(+K(+i)>=9007199254740992.0);b=((F^1)&1)+b|0;i=F?i:i*.5;if((b+50|0)<=(G|0)?!(k!=0.0&(o&((n|0)!=(p|0)|F))):0)break;G=aq()|0;f[G>>2]=34}while(0);i=+Tp(i,b)}while(0);u=H;return +i}function Kb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=aq()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)zo(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=em(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=em(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(20581+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Re(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Cm(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=21045;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=Dn(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=21045;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?21045:21047):21046;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=21045;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=21045;i=x;break}case 109:{i=aq()|0;i=Fo(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:21055;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Rk(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=Ib(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=21045;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=im(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?21045:21045+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=ok(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=Yh(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=21045;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Eo(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Rk(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Eo(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}zo(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Rk(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Rk(a,32,i,l,n);zo(a,j,k);Rk(a,48,i,l,n^65536);Rk(a,48,q,r,0);zo(a,o,r);Rk(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Re(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function Lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2])>>>0;f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3]>>>0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function Mb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=Zm(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function Nb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+48|0;z=B+36|0;v=B+24|0;y=B+12|0;w=B;if(!(ah(a,c,d)|0)){A=0;u=B;return A|0}e=f[c+4>>2]|0;if((d|0)<=-1)Fa(20410,20426,59,20517);g=f[e+8>>2]|0;if(((f[e+12>>2]|0)-g>>2|0)<=(d|0))Fa(20527,20426,60,20517);l=f[g+(d<<2)>>2]|0;if((f[l+28>>2]|0)!=9){A=0;u=B;return A|0}s=c+48|0;i=f[s>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;Kj(z,17755,17);j=i+16|0;g=f[j>>2]|0;if(g){e=j;c=g;a:while(1){g=c;while(1){if((f[g+16>>2]|0)>=(d|0))break;g=f[g+4>>2]|0;if(!g)break a}c=f[g>>2]|0;if(!c){e=g;break}else e=g}if(((e|0)!=(j|0)?(k=e+20|0,(f[e+16>>2]|0)<=(d|0)):0)?(Kh(k,z)|0)!=0:0)t=Ck(k,z,-1)|0;else A=16}else A=16;if((A|0)==16)t=Ck(i,z,-1)|0;_n(z);if((t|0)<1){A=0;u=B;return A|0}e=f[s>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;Kj(z,17698,19);j=e+16|0;c=f[j>>2]|0;if(c){g=j;b:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break b;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=25}else A=25;if(Kh(e,z)|0){e=f[s>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;Kj(v,17718,18);j=e+16|0;c=f[j>>2]|0;if(c){g=j;c:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break c;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=35}else A=35;p=(Kh(e,v)|0)==0;_n(v);_n(z);if(!p){o=l+24|0;e=b[o>>0]|0;g=e<<24>>24;f[y>>2]=0;p=y+4|0;f[p>>2]=0;f[y+8>>2]=0;do if(e<<24>>24)if(e<<24>>24<0){Wo(y);B=Ha(4)|0;Pp(B);sa(B|0,1096,107)}else{l=g<<2;k=_m(l)|0;f[y>>2]=k;m=k+(g<<2)|0;f[y+8>>2]=m;Xi(k|0,0,l|0)|0;f[p>>2]=m;break}while(0);j=f[s>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;Kj(w,17698,19);k=b[o>>0]|0;m=k<<24>>24;l=f[y>>2]|0;i=j+16|0;e=f[i>>2]|0;if(e){g=i;d:while(1){c=e;while(1){if((f[c+16>>2]|0)>=(d|0))break;e=f[c+4>>2]|0;if(!e)break d;else c=e}e=f[c>>2]|0;if(!e){g=c;break}else g=c}if(((g|0)!=(i|0)?(f[g+16>>2]|0)<=(d|0):0)?(q=g+20|0,(Kh(q,w)|0)!=0):0){e=Dg(q,w)|0;if((e|0)!=(g+24|0)){dl(z,e+28|0);q=b[z+11>>0]|0;e=q<<24>>24<0;if((e?f[z+4>>2]|0:q&255)|0)e:do if(k<<24>>24>0){e=e?f[z>>2]|0:z;g=0;do{h=$(Gp(e,v));q=e;e=f[v>>2]|0;if((q|0)==(e|0))break e;n[l+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(m|0))}while(0);_n(z)}}else A=57}else A=57;if((A|0)==57?(r=Dg(j,w)|0,(r|0)!=(j+4|0)):0){dl(z,r+28|0);r=b[z+11>>0]|0;e=r<<24>>24<0;if((e?f[z+4>>2]|0:r&255)|0)f:do if(k<<24>>24>0){e=e?f[z>>2]|0:z;g=0;do{h=$(Gp(e,v));r=e;e=f[v>>2]|0;if((r|0)==(e|0))break f;n[l+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(m|0))}while(0);_n(z)}_n(w);i=f[s>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;Kj(z,17718,18);j=i+16|0;g=f[j>>2]|0;if(g){e=j;g:while(1){c=g;while(1){if((f[c+16>>2]|0)>=(d|0))break;g=f[c+4>>2]|0;if(!g)break g;else c=g}g=f[c>>2]|0;if(!g){e=c;break}else e=c}if(((e|0)!=(j|0)?(x=e+20|0,(f[e+16>>2]|0)<=(d|0)):0)?(Kh(x,z)|0)!=0:0)h=$(wk(x,z,$(1.0)));else A=74}else A=74;if((A|0)==74)h=$(wk(i,z,$(1.0)));_n(z);ul(a+40|0,t,f[y>>2]|0,b[o>>0]|0,h);e=f[y>>2]|0;if(e|0){g=f[p>>2]|0;if((g|0)!=(e|0))f[p>>2]=g+(~((g+-4-e|0)>>>2)<<2);mq(e)}A=1;u=B;return A|0}}else _n(z);Md(a+40|0,l,t)|0;A=1;u=B;return A|0}function Ob(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+352|0;if(b[k>>0]|0?(z=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))zi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{Pg(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))Fa(20527,20426,60,20517);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=_m(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3436;n=h+12|0;f[n>>2]=3460;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3460;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3460;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Kg(x+8|0,g,y);Oa[f[(f[x>>2]|0)+8>>2]&127](x);sf(v,x);sf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;eg(g,y)|0;f[y>>2]=3460;d=f[y+20>>2]|0;if(d|0)mq(d);d=f[y+8>>2]|0;if(d|0)mq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3460;d=f[v+20>>2]|0;if(d|0)mq(d);d=f[v+8>>2]|0;if(d|0)mq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];eg(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;vf(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}f[r>>2]=3460;d=f[w+24>>2]|0;if(d|0)mq(d);d=f[w+12>>2]|0;if(d|0)mq(d);f[x>>2]=3460;d=f[x+20>>2]|0;if(d|0)mq(d);d=f[x+8>>2]|0;if(d|0)mq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((bj(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Oe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Kd(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=_m(76)|0;f[A>>2]=h;ml(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))zi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else pg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Pb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+288|0;if(b[k>>0]|0?(z=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))zi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{Pg(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))Fa(20527,20426,60,20517);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=_m(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3436;n=h+12|0;f[n>>2]=3460;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3460;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3460;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Kg(x+8|0,g,y);Oa[f[(f[x>>2]|0)+8>>2]&127](x);sf(v,x);sf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;eg(g,y)|0;f[y>>2]=3460;d=f[y+20>>2]|0;if(d|0)mq(d);d=f[y+8>>2]|0;if(d|0)mq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3460;d=f[v+20>>2]|0;if(d|0)mq(d);d=f[v+8>>2]|0;if(d|0)mq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];eg(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;vf(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);mq(d)}f[r>>2]=3460;d=f[w+24>>2]|0;if(d|0)mq(d);d=f[w+12>>2]|0;if(d|0)mq(d);f[x>>2]=3460;d=f[x+20>>2]|0;if(d|0)mq(d);d=f[x+8>>2]|0;if(d|0)mq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((bj(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Oe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Kd(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=_m(76)|0;f[A>>2]=h;ml(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))zi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else pg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Oa[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Qb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=Ka,m=Ka,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+16|0;B=F;x=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[x>>2]=$(1.0);E=a+20|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[a+36>>2]=$(1.0);d=f[c+8>>2]|0;a:do if(d|0){z=a+4|0;A=a+12|0;y=a+8|0;e=d;w=d;while(1){v=e+8|0;s=b[v+11>>0]|0;r=s<<24>>24<0;t=r?f[v>>2]|0:v;s=r?f[e+12>>2]|0:s&255;if(s>>>0>3){e=t;d=s;g=s;while(1){r=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;d=(X(r>>>24^r,1540483477)|0)^(X(d,1540483477)|0);g=g+-4|0;if(g>>>0<=3)break;else e=e+4|0}r=s+-4|0;e=r&-4;g=t+(e+4)|0;e=r-e|0}else{g=t;d=s;e=s}switch(e|0){case 3:{d=h[g+2>>0]<<16^d;D=8;break}case 2:{D=8;break}case 1:{D=9;break}default:{}}if((D|0)==8){d=h[g+1>>0]<<8^d;D=9}if((D|0)==9){D=0;d=X(h[g>>0]^d,1540483477)|0}r=X(d>>>13^d,1540483477)|0;r=r>>>15^r;i=f[z>>2]|0;q=(i|0)==0;b:do if(!q){p=i+-1|0;g=(p&i|0)==0;if(g)e=r&p;else e=(r>>>0)%(i>>>0)|0;d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(C=f[d>>2]|0,(C|0)!=0):0){d=(s|0)==0;if(g){if(d){d=C;while(1){if((f[d+4>>2]&p|0)!=(e|0)){D=43;break b}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break b;d=f[d>>2]|0;if(!d){D=43;break b}}}else o=C;while(1){if((f[o+4>>2]&p|0)!=(e|0)){D=43;break b}d=o+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[o+12>>2]|0:j)|0)==(s|0)){g=f[d>>2]|0;if(k)if(!(il(g,t,s)|0))break b;else break;if((g&255)<<24>>24==(b[t>>0]|0)){g=t;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){D=43;break}}}else{if(d){d=C;while(1){if((((f[d+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){D=43;break b}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break b;d=f[d>>2]|0;if(!d){D=43;break b}}}else o=C;while(1){if((((f[o+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){D=43;break b}d=o+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[o+12>>2]|0:j)|0)==(s|0)){g=f[d>>2]|0;if(k)if(!(il(g,t,s)|0))break b;else break;if((g&255)<<24>>24==(b[t>>0]|0)){g=t;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){D=43;break}}}}else D=43}else{e=0;D=43}while(0);if((D|0)==43){D=0;Qh(B,a,r,v);m=$(((f[A>>2]|0)+1|0)>>>0);G=$(i>>>0);l=$(n[x>>2]);do if(q|m>$(G*l)){d=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(m/l)))>>>0;Rh(a,d>>>0>>0?e:d);d=f[z>>2]|0;e=d+-1|0;if(!(e&d)){i=d;e=e&r;break}else{i=d;e=(r>>>0)%(d>>>0)|0;break}}while(0);d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if(!d){f[f[B>>2]>>2]=f[y>>2];f[y>>2]=f[B>>2];f[(f[a>>2]|0)+(e<<2)>>2]=y;g=f[B>>2]|0;d=f[g>>2]|0;if(d|0){d=f[d+4>>2]|0;e=i+-1|0;if(!(e&i))d=d&e;else d=(d>>>0)%(i>>>0)|0;f[(f[a>>2]|0)+(d<<2)>>2]=g}}else{f[f[B>>2]>>2]=f[d>>2];f[d>>2]=f[B>>2]}f[A>>2]=(f[A>>2]|0)+1}d=f[w>>2]|0;if(!d)break a;else{e=d;w=d}}}while(0);d=f[c+28>>2]|0;if(!d){u=F;return}do{D=d;a=_m(40)|0;Qb(a,f[D+20>>2]|0);D=zc(E,D+8|0)|0;k=f[D>>2]|0;f[D>>2]=a;if(k|0){e=f[k+28>>2]|0;if(e|0)do{D=e;e=f[e>>2]|0;Zh(D+8|0);mq(D)}while((e|0)!=0);D=k+20|0;e=f[D>>2]|0;f[D>>2]=0;if(e|0)mq(e);e=f[k+8>>2]|0;if(e|0)do{j=e;e=f[e>>2]|0;g=f[j+20>>2]|0;if(g|0){i=j+24|0;if((f[i>>2]|0)!=(g|0))f[i>>2]=g;mq(g)}_n(j+8|0);mq(j)}while((e|0)!=0);e=f[k>>2]|0;f[k>>2]=0;if(e|0)mq(e);mq(k)}d=f[d>>2]|0}while((d|0)!=0);u=F;return}function Rb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=a+8|0;f[J>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{H=f[b+(i<<2)>>2]|0;G=(H|0)<(g|0);g=G?H:g;h=G?h:(H|0)>(h|0)?H:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;H=1-g+h|0;f[a+20>>2]=H;g=(H|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(H&1))f[h>>2]=g+-1}r=f[a+48>>2]|0;s=f[a+52>>2]|0;x=e>>>0>1073741823?-1:e<<2;G=jq(x)|0;Xi(G|0,0,x|0)|0;H=jq(x)|0;Xi(H|0,0,x|0)|0;x=a+56|0;i=f[x>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){w=(e|0)>0;A=a+16|0;v=a+32|0;C=a+12|0;B=a+28|0;z=a+20|0;y=a+24|0;u=r+12|0;t=e<<2;p=j>>2;while(1){q=p+-1|0;if(h-g>>2>>>0<=q>>>0){Vo(i);g=f[i>>2]|0}o=f[g+(q<<2)>>2]|0;if(w)Xi(G|0,0,t|0)|0;if((o|0)>-1){n=f[u>>2]|0;m=o;d=0;while(1){h=f[n+(m<<2)>>2]|0;if((h|0)>=0){i=f[r>>2]|0;j=f[s>>2]|0;l=f[j+(f[i+(h<<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=f[i+(g<<2)>>2]|0;k=f[j+(g<<2)>>2]|0;g=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;g=f[j+(g<<2)>>2]|0;if((l|0)<(q|0)&(k|0)<(q|0)&(g|0)<(q|0)){j=X(l,e)|0;i=X(k,e)|0;h=X(g,e)|0;if(w){g=0;do{f[H+(g<<2)>>2]=(f[b+(g+h<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(w){g=0;do{l=G+(g<<2)|0;f[l>>2]=(f[l>>2]|0)+(f[H+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}i=d+1|0}else i=d}else i=d;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else d=i}h=X(q,e)|0;if(i){if(w){g=0;do{o=G+(g<<2)|0;f[o>>2]=(f[o>>2]|0)/(i|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[J>>2]|0;if((g|0)>0){k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[A>>2]|0;if((g|0)>(h|0)){g=f[v>>2]|0;f[g+(j<<2)>>2]=h}else{n=f[C>>2]|0;o=f[v>>2]|0;f[o+(j<<2)>>2]=(g|0)<(n|0)?n:g;g=o}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[v>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[B>>2]|0)){if((g|0)>(f[y>>2]|0)){g=g-(f[z>>2]|0)|0;K=69}}else{g=(f[z>>2]|0)+g|0;K=69}if((K|0)==69){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0))}}else{I=h;K=42}}else{I=X(q,e)|0;K=42}if((K|0)==42?(K=0,E=b+(I<<2)|0,F=c+(I<<2)|0,D=f[J>>2]|0,(D|0)>0):0){h=D;k=0;j=b+((X(p+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[A>>2]|0;if((g|0)>(h|0)){g=f[v>>2]|0;f[g+(i<<2)>>2]=h}else{o=f[C>>2]|0;p=f[v>>2]|0;f[p+(i<<2)>>2]=(g|0)<(o|0)?o:g;g=p}i=i+1|0}while((i|0)<(f[J>>2]|0))}else g=f[v>>2]|0;h=(f[E+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=F+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[B>>2]|0)){if((h|0)>(f[y>>2]|0)){h=h-(f[z>>2]|0)|0;K=54}}else{h=(f[z>>2]|0)+h|0;K=54}if((K|0)==54){K=0;f[i>>2]=h}k=k+1|0;h=f[J>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((q|0)<=1)break a;i=f[x>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;p=q}}while(0);if((e|0)>0)Xi(G|0,0,e<<2|0)|0;g=f[J>>2]|0;if((g|0)<=0){kq(H);kq(G);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{e=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(e|0)?e:g;g=a}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;K=84}}else{g=(f[m>>2]|0)+g|0;K=84}if((K|0)==84){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0));kq(H);kq(G);return 1}function Sb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;M=a+8|0;f[M>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{J=f[b+(i<<2)>>2]|0;I=(J|0)<(g|0);g=I?J:g;h=I?h:(J|0)>(h|0)?J:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;J=1-g+h|0;f[a+20>>2]=J;g=(J|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(J&1))f[h>>2]=g+-1}p=f[a+48>>2]|0;q=f[a+52>>2]|0;w=e>>>0>1073741823?-1:e<<2;I=jq(w)|0;Xi(I|0,0,w|0)|0;J=jq(w)|0;Xi(J|0,0,w|0)|0;w=a+56|0;i=f[w>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){u=(e|0)>0;z=a+16|0;t=a+32|0;B=a+12|0;A=a+28|0;y=a+20|0;x=a+24|0;v=p+64|0;s=p+28|0;r=e<<2;n=j>>2;while(1){o=n+-1|0;if(h-g>>2>>>0<=o>>>0){Vo(i);g=f[i>>2]|0}m=f[g+(o<<2)>>2]|0;if(u)Xi(I|0,0,r|0)|0;if((m|0)>-1){d=f[p>>2]|0;l=m;k=0;do{if(((f[d+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(L=f[(f[(f[v>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(L|0)>=0):0)?(E=f[s>>2]|0,j=f[q>>2]|0,C=f[j+(f[E+(L<<2)>>2]<<2)>>2]|0,D=L+1|0,D=f[j+(f[E+((((D|0)%3|0|0)==0?L+-2|0:D)<<2)>>2]<<2)>>2]|0,E=f[j+(f[E+((((L>>>0)%3|0|0)==0?2:-1)+L<<2)>>2]<<2)>>2]|0,(C|0)<(o|0)&(D|0)<(o|0)&(E|0)<(o|0)):0){h=X(C,e)|0;i=X(D,e)|0;j=X(E,e)|0;if(u){g=0;do{f[J+(g<<2)>>2]=(f[b+(g+j<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+h<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(u){g=0;do{j=I+(g<<2)|0;f[j>>2]=(f[j>>2]|0)+(f[J+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}k=k+1|0}g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if(!(f[d+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[v>>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);l=(g|0)==(m|0)?-1073741824:g}while((l|0)>-1);h=X(o,e)|0;if(k){if(u){g=0;do{m=I+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(k|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[M>>2]|0;if((g|0)>0){k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[z>>2]|0;if((g|0)>(h|0)){g=f[t>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[B>>2]|0;m=f[t>>2]|0;f[m+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=m}j=j+1|0}while((j|0)<(f[M>>2]|0));i=g}else i=f[t>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[A>>2]|0)){if((g|0)>(f[x>>2]|0)){g=g-(f[y>>2]|0)|0;N=67}}else{g=(f[y>>2]|0)+g|0;N=67}if((N|0)==67){N=0;f[h>>2]=g}k=k+1|0;g=f[M>>2]|0}while((k|0)<(g|0))}}else{K=h;N=40}}else{K=X(o,e)|0;N=40}if((N|0)==40?(N=0,G=b+(K<<2)|0,H=c+(K<<2)|0,F=f[M>>2]|0,(F|0)>0):0){h=F;k=0;j=b+((X(n+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[z>>2]|0;if((g|0)>(h|0)){g=f[t>>2]|0;f[g+(i<<2)>>2]=h}else{m=f[B>>2]|0;n=f[t>>2]|0;f[n+(i<<2)>>2]=(g|0)<(m|0)?m:g;g=n}i=i+1|0}while((i|0)<(f[M>>2]|0))}else g=f[t>>2]|0;h=(f[G+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=H+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[A>>2]|0)){if((h|0)>(f[x>>2]|0)){h=h-(f[y>>2]|0)|0;N=52}}else{h=(f[y>>2]|0)+h|0;N=52}if((N|0)==52){N=0;f[i>>2]=h}k=k+1|0;h=f[M>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((o|0)<=1)break a;i=f[w>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;n=o}}while(0);if((e|0)>0)Xi(I|0,0,e<<2|0)|0;g=f[M>>2]|0;if((g|0)<=0){kq(J);kq(I);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{L=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(L|0)?L:g;g=a}j=j+1|0}while((j|0)<(f[M>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;N=82}}else{g=(f[m>>2]|0)+g|0;N=82}if((N|0)==82){N=0;f[h>>2]=g}k=k+1|0;g=f[M>>2]|0}while((k|0)<(g|0));kq(J);kq(I);return 1}function Tb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;P=u;u=u+48|0;O=P+12|0;K=P+32|0;N=P;G=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[G>>2]=$(1.0);M=a+80|0;yk(N,f[M>>2]|0);h=f[M>>2]|0;a:do if((h|0)>0){D=c+48|0;E=c+40|0;B=K+2|0;C=K+4|0;x=O+4|0;A=O+12|0;y=O+8|0;F=a+40|0;z=a+64|0;w=f[e>>2]|0;r=0;v=0;t=0;while(1){l=w+v|0;j=D;k=f[j>>2]|0;j=f[j+4>>2]|0;s=E;l=Zm(f[s>>2]|0,f[s+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;j=Zn(l|0,I|0,k|0,j|0)|0;j=(f[f[c>>2]>>2]|0)+j|0;b[K>>0]=b[j>>0]|0;b[K+1>>0]=b[j+1>>0]|0;b[K+2>>0]=b[j+2>>0]|0;b[K+3>>0]=b[j+3>>0]|0;b[K+4>>0]=b[j+4>>0]|0;b[K+5>>0]=b[j+5>>0]|0;j=d[K>>1]|0;k=d[B>>1]|0;l=d[C>>1]|0;s=(((j^318)&65535)+239^k&65535)+239^l&65535;q=(r|0)==0;b:do if(!q){h=r+-1|0;g=(h&r|0)==0;if(g)i=s&h;else i=(s>>>0)%(r>>>0)|0;e=f[(f[O>>2]|0)+(i<<2)>>2]|0;do if(e|0?(J=f[e>>2]|0,J|0):0){c:do if(g){e=J;while(1){if((f[e+4>>2]&h|0)!=(i|0)){i=22;break c}if(((d[e+8>>1]|0)==j<<16>>16?(d[e+10>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0){i=21;break c}e=f[e>>2]|0;if(!e){i=22;break}}}else{e=J;while(1){if((((f[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(i|0)){i=22;break c}if(((d[e+8>>1]|0)==j<<16>>16?(d[e+10>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0){i=21;break c}e=f[e>>2]|0;if(!e){i=22;break}}}while(0);if((i|0)==21){i=0;f[(f[N>>2]|0)+(v<<2)>>2]=f[e+16>>2];g=t;break b}else if((i|0)==22)if(q){e=0;i=39;break b}else break}while(0);i=r+-1|0;h=(i&r|0)==0;if(h)e=i&s;else e=(s>>>0)%(r>>>0)|0;g=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(H=f[g>>2]|0,(H|0)!=0):0)if(h){g=H;while(1){if((f[g+4>>2]&i|0)!=(e|0)){i=39;break b}if(((d[g+8>>1]|0)==j<<16>>16?(d[g+10>>1]|0)==k<<16>>16:0)?(d[g+12>>1]|0)==l<<16>>16:0){i=52;break b}g=f[g>>2]|0;if(!g){i=39;break}}}else{g=H;while(1){if((((f[g+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(e|0)){i=39;break b}if(((d[g+8>>1]|0)==j<<16>>16?(d[g+10>>1]|0)==k<<16>>16:0)?(d[g+12>>1]|0)==l<<16>>16:0){i=52;break b}g=f[g>>2]|0;if(!g){i=39;break}}}else i=39}else{e=0;i=39}while(0);if((i|0)==39){i=0;m=_m(20)|0;d[m+8>>1]=j;d[m+10>>1]=k;d[m+12>>1]=l;f[m+16>>2]=t;f[m+4>>2]=s;f[m>>2]=0;p=$(((f[A>>2]|0)+1|0)>>>0);Q=$(r>>>0);o=$(n[G>>2]);do if(q|p>$(Q*o)){e=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;g=~~$(W($(p/o)))>>>0;xh(O,e>>>0>>0?g:e);e=f[x>>2]|0;g=e+-1|0;if(!(g&e)){h=e;e=g&s;break}else{h=e;e=(s>>>0)%(e>>>0)|0;break}}else h=r;while(0);g=(f[O>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[m>>2]=f[y>>2];f[y>>2]=m;f[g>>2]=y;e=f[m>>2]|0;if(e|0){e=f[e+4>>2]|0;g=h+-1|0;if(!(g&h))e=e&g;else e=(e>>>0)%(h>>>0)|0;e=(f[O>>2]|0)+(e<<2)|0;i=50}}else{f[m>>2]=f[e>>2];i=50}if((i|0)==50)f[e>>2]=m;f[A>>2]=(f[A>>2]|0)+1;i=52}if((i|0)==52){s=F;g=f[s>>2]|0;s=Zm(g|0,f[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;Eg((f[f[z>>2]>>2]|0)+s|0,K|0,g|0)|0;f[(f[N>>2]|0)+(v<<2)>>2]=t;g=t+1|0}e=v+1|0;h=f[M>>2]|0;if((e|0)>=(h|0)){m=g;break a}r=f[x>>2]|0;v=e;t=g}}else m=0;while(0);if((m|0)!=(h|0)){l=a+84|0;if(!(b[l>>0]|0)){h=f[a+68>>2]|0;e=(f[a+72>>2]|0)-h|0;if((e|0)>0){i=f[N>>2]|0;g=e>>2;e=0;do{a=h+(e<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;g=f[i>>2]|0;e=f[j>>2]|0;k=g-e>>2;if(h>>>0<=k>>>0){if(h>>>0>>0?(L=e+(h<<2)|0,(g|0)!=(L|0)):0)f[i>>2]=g+(~((g+-4-L|0)>>>2)<<2)}else{Pg(j,h-k|0,1204);h=f[M>>2]|0}if((h|0)>0){i=f[N>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[i+(g<<2)>>2];g=g+1|0}while((g|0)<(h|0))}}f[M>>2]=m}h=f[N>>2]|0;if(h|0){g=N+4|0;e=f[g>>2]|0;if((e|0)!=(h|0))f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);mq(h)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;mq(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return m|0}mq(e);u=P;return m|0}function Ub(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+12|0;J=O+32|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);g=f[L>>2]|0;a:do if((g|0)>0){C=c+48|0;D=c+40|0;A=J+1|0;B=J+2|0;w=N+4|0;z=N+12|0;x=N+8|0;E=a+40|0;y=a+64|0;v=f[d>>2]|0;q=0;t=0;s=0;while(1){k=v+t|0;i=C;j=f[i>>2]|0;i=f[i+4>>2]|0;r=D;k=Zm(f[r>>2]|0,f[r+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;i=Zn(k|0,I|0,j|0,i|0)|0;i=(f[f[c>>2]>>2]|0)+i|0;b[J>>0]=b[i>>0]|0;b[J+1>>0]=b[i+1>>0]|0;b[J+2>>0]=b[i+2>>0]|0;i=b[J>>0]|0;j=b[A>>0]|0;k=b[B>>0]|0;r=((i&255^318)+239^j&255)+239^k&255;p=(q|0)==0;b:do if(!p){g=q+-1|0;e=(g&q|0)==0;if(e)h=r&g;else h=(r>>>0)%(q>>>0)|0;d=f[(f[N>>2]|0)+(h<<2)>>2]|0;do if(d|0?(H=f[d>>2]|0,H|0):0){c:do if(e){d=H;while(1){if((f[d+4>>2]&g|0)!=(h|0)){h=22;break c}if(((b[d+8>>0]|0)==i<<24>>24?(b[d+9>>0]|0)==j<<24>>24:0)?(b[d+10>>0]|0)==k<<24>>24:0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}else{d=H;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(h|0)){h=22;break c}if(((b[d+8>>0]|0)==i<<24>>24?(b[d+9>>0]|0)==j<<24>>24:0)?(b[d+10>>0]|0)==k<<24>>24:0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}while(0);if((h|0)==21){h=0;f[(f[M>>2]|0)+(t<<2)>>2]=f[d+12>>2];e=s;break b}else if((h|0)==22)if(p){d=0;h=39;break b}else break}while(0);h=q+-1|0;g=(h&q|0)==0;if(g)d=h&r;else d=(r>>>0)%(q>>>0)|0;e=f[(f[N>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0)if(g){e=G;while(1){if((f[e+4>>2]&h|0)!=(d|0)){h=39;break b}if(((b[e+8>>0]|0)==i<<24>>24?(b[e+9>>0]|0)==j<<24>>24:0)?(b[e+10>>0]|0)==k<<24>>24:0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else{e=G;while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(d|0)){h=39;break b}if(((b[e+8>>0]|0)==i<<24>>24?(b[e+9>>0]|0)==j<<24>>24:0)?(b[e+10>>0]|0)==k<<24>>24:0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else h=39}else{d=0;h=39}while(0);if((h|0)==39){h=0;l=_m(16)|0;b[l+8>>0]=i;b[l+9>>0]=j;b[l+10>>0]=k;f[l+12>>2]=s;f[l+4>>2]=r;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);P=$(q>>>0);m=$(n[F>>2]);do if(p|o>$(P*m)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(o/m)))>>>0;Eh(N,d>>>0>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=q;while(0);e=(f[N>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[x>>2];f[x>>2]=l;f[e>>2]=x;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[N>>2]|0)+(d<<2)|0;h=50}}else{f[l>>2]=f[d>>2];h=50}if((h|0)==50)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;h=52}if((h|0)==52){r=E;e=f[r>>2]|0;r=Zm(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+r|0,J|0,e|0)|0;f[(f[M>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[L>>2]|0;if((d|0)>=(g|0)){l=e;break a}q=f[w>>2]|0;t=d;s=e}}else l=0;while(0);if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[M>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=d+(g<<2)|0,(e|0)!=(K|0)):0)f[h>>2]=e+(~((e+-4-K|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[L>>2]=l}g=f[M>>2]|0;if(g|0){e=M+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;mq(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}mq(d);u=O;return l|0}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+24|0;J=O+12|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);g=f[L>>2]|0;a:do if((g|0)>0){C=c+48|0;D=c+40|0;A=J+4|0;B=J+8|0;w=N+4|0;z=N+12|0;x=N+8|0;E=a+40|0;y=a+64|0;v=f[d>>2]|0;r=0;t=0;s=0;while(1){g=v+t|0;e=C;d=f[e>>2]|0;e=f[e+4>>2]|0;q=D;g=Zm(f[q>>2]|0,f[q+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Zn(g|0,I|0,d|0,e|0)|0;d=J;e=(f[f[c>>2]>>2]|0)+e|0;g=d+12|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));i=f[J>>2]|0;j=f[A>>2]|0;k=f[B>>2]|0;q=((i^318)+239^j)+239^k;p=(r|0)==0;b:do if(!p){g=r+-1|0;e=(g&r|0)==0;if(e)h=q&g;else h=(q>>>0)%(r>>>0)|0;d=f[(f[N>>2]|0)+(h<<2)>>2]|0;do if(d|0?(H=f[d>>2]|0,H|0):0){c:do if(e){d=H;while(1){if((f[d+4>>2]&g|0)!=(h|0)){h=22;break c}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}else{d=H;while(1){if((((f[d+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(h|0)){h=22;break c}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0){h=21;break c}d=f[d>>2]|0;if(!d){h=22;break}}}while(0);if((h|0)==21){h=0;f[(f[M>>2]|0)+(t<<2)>>2]=f[d+20>>2];e=s;break b}else if((h|0)==22)if(p){d=0;h=39;break b}else break}while(0);h=r+-1|0;g=(h&r|0)==0;if(g)d=h&q;else d=(q>>>0)%(r>>>0)|0;e=f[(f[N>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0)if(g){e=G;while(1){if((f[e+4>>2]&h|0)!=(d|0)){h=39;break b}if(((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else{e=G;while(1){if((((f[e+4>>2]|0)>>>0)%(r>>>0)|0|0)!=(d|0)){h=39;break b}if(((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0){h=52;break b}e=f[e>>2]|0;if(!e){h=39;break}}}else h=39}else{d=0;h=39}while(0);if((h|0)==39){h=0;l=_m(24)|0;f[l+8>>2]=i;f[l+12>>2]=j;f[l+16>>2]=k;f[l+20>>2]=s;f[l+4>>2]=q;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);P=$(r>>>0);m=$(n[F>>2]);do if(p|o>$(P*m)){d=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;e=~~$(W($(o/m)))>>>0;Bh(N,d>>>0>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&q;break}else{g=d;d=(q>>>0)%(d>>>0)|0;break}}else g=r;while(0);e=(f[N>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[x>>2];f[x>>2]=l;f[e>>2]=x;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[N>>2]|0)+(d<<2)|0;h=50}}else{f[l>>2]=f[d>>2];h=50}if((h|0)==50)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;h=52}if((h|0)==52){r=E;e=f[r>>2]|0;r=Zm(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+r|0,J|0,e|0)|0;f[(f[M>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[L>>2]|0;if((d|0)>=(g|0)){l=e;break a}r=f[w>>2]|0;t=d;s=e}}else l=0;while(0);if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[M>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=d+(g<<2)|0,(e|0)!=(K|0)):0)f[h>>2]=e+(~((e+-4-K|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[L>>2]=l}g=f[M>>2]|0;if(g|0){e=M+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[N+8>>2]|0;if(d|0)do{M=d;d=f[d>>2]|0;mq(M)}while((d|0)!=0);d=f[N>>2]|0;f[N>>2]=0;if(!d){u=O;return l|0}mq(d);u=O;return l|0}function Wb(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;v=B+4|0;w=B;o=B+16|0;z=a+52|0;p=f[z>>2]|0;p=(f[p+100>>2]|0)-(f[p+96>>2]|0)|0;A=(p|0)/12|0;x=a+44|0;Mh(A,f[x>>2]|0)|0;Mh(f[(f[z>>2]|0)+80>>2]|0,f[x>>2]|0)|0;q=f[a+48>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;Kj(v,18858,21);q=Pj(q,v,0)|0;_n(v);c=f[x>>2]|0;if(q){b[o>>0]=0;A=c+16|0;z=f[A+4>>2]|0;if(!((z|0)>0|(z|0)==0&(f[A>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,o+1|0)|0}Ke(a)|0;u=B;return 1}b[o>>0]=1;q=c+16|0;m=f[q+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[q>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,o+1|0)|0}q=f[z>>2]|0;m=f[q+80>>2]|0;if((m|0)<256){if((p|0)<=0){u=B;return 1}h=o+1|0;j=o+1|0;i=o+1|0;c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){e=c;k=0}else Fa(19877,19795,64,19872);while(1){a=f[x>>2]|0;b[o>>0]=f[e+(k*12|0)>>2];c=a+16|0;g=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[a+4>>2];f[v>>2]=f[w>>2];Ie(a,v,o,i)|0;a=f[x>>2]|0;g=a+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[o>>0]=f[e+(k*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[a+4>>2];f[v>>2]=f[w>>2];Ie(a,v,o,j)|0;a=f[x>>2]|0;g=a+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[o>>0]=f[e+(k*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[a+4>>2];f[v>>2]=f[w>>2];Ie(a,v,o,h)|0}k=k+1|0;if((k|0)>=(A|0)){c=44;break}g=f[z>>2]|0;e=f[g+96>>2]|0;if((k|0)>=(((f[g+100>>2]|0)-e|0)/12|0|0)){c=10;break}}if((c|0)==10)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}}if((m|0)<65536){if((p|0)<=0){u=B;return 1}j=o+2|0;h=o+2|0;i=o+2|0;c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){l=c;n=0}else Fa(19877,19795,64,19872);while(1){g=l;c=f[x>>2]|0;d[o>>1]=f[g+(n*12|0)>>2];a=c+16|0;e=f[a>>2]|0;a=f[a+4>>2]|0;if(!((a|0)>0|(a|0)==0&e>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,i)|0;c=f[x>>2]|0;e=c+16|0;a=f[e+4>>2]|0;e=f[e>>2]|0}d[o>>1]=f[g+(n*12|0)+4>>2];if(!((a|0)>0|(a|0)==0&e>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,h)|0;c=f[x>>2]|0;e=c+16|0;a=f[e+4>>2]|0;e=f[e>>2]|0}d[o>>1]=f[g+(n*12|0)+8>>2];if(!((a|0)>0|(a|0)==0&e>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,o,j)|0}n=n+1|0;if((n|0)>=(A|0)){c=44;break}k=f[z>>2]|0;l=f[k+96>>2]|0;if((n|0)>=(((f[k+100>>2]|0)-l|0)/12|0|0)){c=22;break}}if((c|0)==22)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}}a=(p|0)>0;if((m|0)<2097152){if(!a){u=B;return 1}c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){r=c;s=0}else Fa(19877,19795,64,19872);while(1){Mh(f[r+(s*12|0)>>2]|0,f[x>>2]|0)|0;Mh(f[r+(s*12|0)+4>>2]|0,f[x>>2]|0)|0;Mh(f[r+(s*12|0)+8>>2]|0,f[x>>2]|0)|0;s=s+1|0;if((s|0)>=(A|0)){c=44;break}p=f[z>>2]|0;r=f[p+96>>2]|0;if((s|0)>=(((f[p+100>>2]|0)-r|0)/12|0|0)){c=36;break}}if((c|0)==36)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}}if(!a){u=B;return 1}c=f[q+96>>2]|0;if(((f[q+100>>2]|0)-c|0)>0){t=c;y=0}else Fa(19877,19795,64,19872);while(1){a=t+(y*12|0)|0;c=f[x>>2]|0;t=c+16|0;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ie(c,v,a,a+12|0)|0}y=y+1|0;if((y|0)>=(A|0)){c=44;break}s=f[z>>2]|0;t=f[s+96>>2]|0;if((y|0)>=(((f[s+100>>2]|0)-t|0)/12|0|0)){c=39;break}}if((c|0)==39)Fa(19877,19795,64,19872);else if((c|0)==44){u=B;return 1}return 0}function Xb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;M=u;u=u+48|0;L=M+24|0;J=M+12|0;z=M;if(!b){L=0;u=M;return L|0}I=a+12|0;A=a+4|0;k=f[A>>2]|0;c=f[a>>2]|0;i=k-c>>2;g=a+16|0;e=f[g>>2]|0;d=f[I>>2]|0;j=e-d>>2;l=c;if(i>>>0<=j>>>0)if(i>>>0>>0?(h=d+(i<<2)|0,(e|0)!=(h|0)):0){f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2);g=c}else g=c;else{Pg(I,i-j|0,6012);l=f[a>>2]|0;g=l;k=f[A>>2]|0}f[L>>2]=0;H=L+4|0;f[H>>2]=0;f[L+8>>2]=0;e=k-g|0;d=e>>2;c=L+8|0;do if(d)if(d>>>0>1073741823){M=Ha(4)|0;Pp(M);sa(M|0,1096,107)}else{i=_m(e)|0;h=i;f[L>>2]=h;f[H>>2]=h;f[c>>2]=i+(d<<2);break}else{i=0;h=0}while(0);if((e|0)>0){v=i;w=k;x=g;d=h;o=h;p=i;q=i;r=i;s=h;j=h;n=g;e=i;t=0;while(1){l=f[l+(t<<2)>>2]|0;c=f[H>>2]|0;if((l|0)<(c-d>>2|0)){g=v;h=w;i=x;m=e;c=n}else{e=l+1|0;f[J>>2]=0;g=c-d>>2;if(e>>>0<=g>>>0)if(e>>>0>>0?(y=d+(e<<2)|0,(c|0)!=(y|0)):0){f[H>>2]=c+(~((c+-4-y|0)>>>2)<<2);d=v;e=w;c=x}else{d=v;e=w;c=x}else{Pg(L,e-g|0,J);d=f[L>>2]|0;e=f[A>>2]|0;c=f[a>>2]|0}j=d;g=d;h=e;i=c;o=j;p=d;q=d;r=d;s=j;m=d;k=e}G=m+(l<<2)|0;f[G>>2]=(f[G>>2]|0)+1;t=t+1|0;if((t|0)>=(k-c>>2|0)){l=s;i=q;break}else{v=g;w=h;x=i;l=c;d=m;n=c;e=m}}}else{c=g;j=h;l=h;r=i;o=h;p=i}c=k-c|0;h=c>>2;f[J>>2]=0;G=J+4|0;f[G>>2]=0;f[J+8>>2]=0;if(!h){d=0;e=0}else{if(h>>>0>536870911){Wo(J);M=Ha(4)|0;Pp(M);sa(M|0,1096,107)}g=_m(c<<1)|0;f[G>>2]=g;f[J>>2]=g;f[J+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){F=e;f[F>>2]=-1;f[F+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[G>>2]=g+(h<<3);d=g;e=g}F=f[H>>2]|0;g=F-j|0;c=g>>2;f[z>>2]=0;E=z+4|0;f[E>>2]=0;f[z+8>>2]=0;do if(c)if(c>>>0>1073741823){Wo(z);M=Ha(4)|0;Pp(M);sa(M|0,1096,107)}else{D=_m(g)|0;f[z>>2]=D;C=D+(c<<2)|0;f[z+8>>2]=C;Xi(D|0,0,g|0)|0;f[E>>2]=C;B=D;break}else{B=0;C=0;D=0}while(0);if((F|0)!=(l|0)){h=F-r>>2;c=0;g=0;do{f[B+(c<<2)>>2]=g;g=(f[r+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}z=f[a>>2]|0;c=(f[A>>2]|0)-z|0;A=z;if((c|0)>0){z=a+40|0;y=c>>2;k=i;m=B;j=0;v=e;t=e;w=e;s=e;x=e;while(1){i=(j|0)<0;c=j+1|0;if(!i){c=((c|0)%3|0|0)==0?j+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[A+(c<<2)>>2]|0;c=(j>>>0)%3|0;g=((c|0)==0?2:-1)+j|0;if((g|0)<0){r=-1073741824;q=h}else{r=f[A+(g<<2)>>2]|0;q=h}}else{c=(j>>>0)%3|0;r=-1073741824;q=-1073741824}if((j|0)==((i?-1073741824:j-c|0)|0)){if(i)c=-1073741824;else c=f[A+(j<<2)>>2]|0;if((q|0)==(r|0)|((c|0)==(q|0)|(c|0)==(r|0))){f[z>>2]=(f[z>>2]|0)+1;j=j+2|0;c=v;g=t;l=w;h=s;i=x}else K=60}else K=60;a:do if((K|0)==60){K=0;n=f[k+(r<<2)>>2]|0;b:do if((n|0)>0){c=0;i=f[m+(r<<2)>>2]|0;while(1){g=f[s+(i<<3)>>2]|0;if((g|0)<0){c=v;g=t;h=s;break b}if((g|0)==(q|0))break;c=c+1|0;if((c|0)<(n|0))i=i+1|0;else{c=v;g=t;h=s;break b}}l=f[s+(i<<3)+4>>2]|0;h=t;while(1){c=c+1|0;if((c|0)>=(n|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[v+(i<<3)>>2]|0)<0)break;else{i=g;h=v}}f[w+(i<<3)>>2]=-1;if((l|0)<0){c=w;g=w;h=w}else{c=f[I>>2]|0;f[c+(j<<2)>>2]=l;f[c+(l<<2)>>2]=j;c=w;g=w;l=w;h=w;i=x;break a}}else{c=v;g=t;h=s}while(0);i=f[p+(q<<2)>>2]|0;if((i|0)>0){h=0;c=f[B+(q<<2)>>2]|0;while(1){g=x+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){m=B;k=p;c=x;g=x;l=x;h=x;i=x;break a}else c=c+1|0}f[g>>2]=r;f[e+(c<<3)+4>>2]=j;m=B;k=p;c=e;g=e;l=e;h=e;i=e}else{k=p;l=w;i=x}}while(0);j=j+1|0;if((j|0)>=(y|0))break;else{v=c;t=g;w=l;s=h;x=i}}}f[b>>2]=F-o>>2;if(B){if((C|0)!=(B|0))f[E>>2]=C+(~((C+-4-B|0)>>>2)<<2);mq(D);d=f[J>>2]|0;e=d}if(e|0){c=f[G>>2]|0;if((c|0)!=(e|0))f[G>>2]=c+(~((c+-8-e|0)>>>3)<<3);mq(d)}c=f[L>>2]|0;if(c|0){d=f[H>>2]|0;if((d|0)!=(c|0))f[H>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}L=1;u=M;return L|0}function Yb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=Ka;M=u;u=u+48|0;L=M+20|0;G=M;K=M+8|0;D=L+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;n[D>>2]=$(1.0);J=a+80|0;yk(K,f[J>>2]|0);g=f[J>>2]|0;a:do if((g|0)>0){A=c+48|0;B=c+40|0;x=L+4|0;z=L+12|0;w=L+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;q=0;t=0;s=0;while(1){p=v+t|0;k=A;j=f[k>>2]|0;k=f[k+4>>2]|0;r=B;r=Zm(p|0,((p|0)<0)<<31>>31|0,f[r>>2]|0,f[r+4>>2]|0)|0;k=Zn(r|0,I|0,j|0,k|0)|0;k=(f[f[c>>2]>>2]|0)+k|0;j=k;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;k=k+4|0;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;r=G;f[r>>2]=j;f[r+4>>2]=k;r=(j^318)+239^k;p=(q|0)==0;b:do if(!p){g=q+-1|0;e=(g&q|0)==0;if(e)i=r&g;else i=(r>>>0)%(q>>>0)|0;d=f[(f[L>>2]|0)+(i<<2)>>2]|0;do if(d|0?(F=f[d>>2]|0,F|0):0){c:do if(e){d=F;while(1){if((f[d+4>>2]&g|0)!=(i|0)){i=20;break c}if((f[d+8>>2]|0)==(j|0)?(f[d+12>>2]|0)==(k|0):0){i=19;break c}d=f[d>>2]|0;if(!d){i=20;break}}}else{d=F;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(i|0)){i=20;break c}if((f[d+8>>2]|0)==(j|0)?(f[d+12>>2]|0)==(k|0):0){i=19;break c}d=f[d>>2]|0;if(!d){i=20;break}}}while(0);if((i|0)==19){i=0;f[(f[K>>2]|0)+(t<<2)>>2]=f[d+16>>2];e=s;break b}else if((i|0)==20)if(p){d=0;i=35;break b}else break}while(0);i=q+-1|0;g=(i&q|0)==0;if(g)d=i&r;else d=(r>>>0)%(q>>>0)|0;e=f[(f[L>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(E=f[e>>2]|0,(E|0)!=0):0)if(g){e=E;while(1){if((f[e+4>>2]&i|0)!=(d|0)){i=35;break b}if((f[e+8>>2]|0)==(j|0)?(f[e+12>>2]|0)==(k|0):0){i=48;break b}e=f[e>>2]|0;if(!e){i=35;break}}}else{e=E;while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(d|0)){i=35;break b}if((f[e+8>>2]|0)==(j|0)?(f[e+12>>2]|0)==(k|0):0){i=48;break b}e=f[e>>2]|0;if(!e){i=35;break}}}else i=35}else{d=0;i=35}while(0);if((i|0)==35){i=0;l=_m(20)|0;g=l+8|0;f[g>>2]=j;f[g+4>>2]=k;f[l+16>>2]=s;f[l+4>>2]=r;f[l>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);N=$(q>>>0);m=$(n[D>>2]);do if(p|o>$(N*m)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(o/m)))>>>0;Ch(L,d>>>0>>0?e:d);d=f[x>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=q;while(0);e=(f[L>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[l>>2]=f[w>>2];f[w>>2]=l;f[e>>2]=w;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[L>>2]|0)+(d<<2)|0;i=46}}else{f[l>>2]=f[d>>2];i=46}if((i|0)==46)f[d>>2]=l;f[z>>2]=(f[z>>2]|0)+1;i=48}if((i|0)==48){r=C;e=f[r>>2]|0;r=Zm(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+r|0,G|0,e|0)|0;f[(f[K>>2]|0)+(t<<2)>>2]=s;e=s+1|0}d=t+1|0;g=f[J>>2]|0;if((d|0)>=(g|0)){p=e;break a}q=f[x>>2]|0;t=d;s=e}}else p=0;while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[K>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(H=d+(g<<2)|0,(e|0)!=(H|0)):0)f[i>>2]=e+(~((e+-4-H|0)>>>2)<<2)}else{Pg(j,g-k|0,1204);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[J>>2]=p}g=f[K>>2]|0;if(g|0){e=K+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[L+8>>2]|0;if(d|0)do{K=d;d=f[d>>2]|0;mq(K)}while((d|0)!=0);d=f[L>>2]|0;f[L>>2]=0;if(!d){u=M;return p|0}mq(d);u=M;return p|0}function Zb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+16|0;J=O+12|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);i=f[L>>2]|0;a:do if((i|0)>0){C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;s=0;w=0;v=0;while(1){l=x+w|0;m=C;k=f[m>>2]|0;m=f[m+4>>2]|0;t=D;t=Zm(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=Zn(t|0,I|0,k|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8|h[m+2>>0]<<16|h[m+3>>0]<<24;f[J>>2]=m;k=m&65535;t=m>>>16;l=t&65535;t=(m&65535^318)+239^t;r=(s|0)==0;b:do if(!r){i=s+-1|0;g=(i&s|0)==0;if(g)j=t&i;else j=(t>>>0)%(s>>>0)|0;e=f[(f[N>>2]|0)+(j<<2)>>2]|0;do if(e|0?(H=f[e>>2]|0,H|0):0){c:do if(g){e=H;while(1){if((f[e+4>>2]&i|0)!=(j|0)){q=20;break c}if((d[e+8>>1]|0)==k<<16>>16?(d[e+10>>1]|0)==l<<16>>16:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}else{e=H;while(1){if((((f[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(j|0)){q=20;break c}if((d[e+8>>1]|0)==k<<16>>16?(d[e+10>>1]|0)==l<<16>>16:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}while(0);if((q|0)==19){q=0;f[(f[M>>2]|0)+(w<<2)>>2]=f[e+12>>2];g=v;break b}else if((q|0)==20)if(r){e=0;q=35;break b}else break}while(0);j=s+-1|0;i=(j&s|0)==0;if(i)e=j&t;else e=(t>>>0)%(s>>>0)|0;g=f[(f[N>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(G=f[g>>2]|0,(G|0)!=0):0)if(i){g=G;while(1){if((f[g+4>>2]&j|0)!=(e|0)){q=35;break b}if((d[g+8>>1]|0)==k<<16>>16?(d[g+10>>1]|0)==l<<16>>16:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else{g=G;while(1){if((((f[g+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(e|0)){q=35;break b}if((d[g+8>>1]|0)==k<<16>>16?(d[g+10>>1]|0)==l<<16>>16:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else q=35}else{e=0;q=35}while(0);if((q|0)==35){q=0;j=_m(16)|0;l=j+8|0;d[l>>1]=m;d[l+2>>1]=m>>>16;f[j+12>>2]=v;f[j+4>>2]=t;f[j>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);P=$(s>>>0);o=$(n[F>>2]);do if(r|p>$(P*o)){e=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;g=~~$(W($(p/o)))>>>0;yh(N,e>>>0>>0?g:e);e=f[z>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&t;break}else{i=e;e=(t>>>0)%(e>>>0)|0;break}}else i=s;while(0);g=(f[N>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[y>>2];f[y>>2]=j;f[g>>2]=y;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[N>>2]|0)+(e<<2)|0;q=46}}else{f[j>>2]=f[e>>2];q=46}if((q|0)==46)f[e>>2]=j;f[B>>2]=(f[B>>2]|0)+1;q=48}if((q|0)==48){t=E;g=f[t>>2]|0;t=Zm(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Eg((f[f[A>>2]>>2]|0)+t|0,J|0,g|0)|0;f[(f[M>>2]|0)+(w<<2)>>2]=v;g=v+1|0}e=w+1|0;i=f[L>>2]|0;if((e|0)>=(i|0)){q=g;break a}s=f[z>>2]|0;w=e;v=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[M>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(K=e+(i<<2)|0,(g|0)!=(K|0)):0)f[j>>2]=g+(~((g+-4-K|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[L>>2]=q}i=f[M>>2]|0;if(i|0){g=M+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;mq(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}mq(e);u=O;return q|0}function _b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;O=u;u=u+48|0;N=O+12|0;J=O+32|0;M=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;yk(M,f[L>>2]|0);i=f[L>>2]|0;a:do if((i|0)>0){C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;s=0;w=0;v=0;while(1){l=x+w|0;m=C;k=f[m>>2]|0;m=f[m+4>>2]|0;t=D;t=Zm(l|0,((l|0)<0)<<31>>31|0,f[t>>2]|0,f[t+4>>2]|0)|0;m=Zn(t|0,I|0,k|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8;d[J>>1]=m;k=m&255;t=(m&65535)>>>8;l=t&255;t=((m&255^318)+239<<16>>16^t)&65535;r=(s|0)==0;b:do if(!r){i=s+-1|0;g=(i&s|0)==0;if(g)j=t&i;else j=(t>>>0)%(s>>>0)|0;e=f[(f[N>>2]|0)+(j<<2)>>2]|0;do if(e|0?(H=f[e>>2]|0,H|0):0){c:do if(g){e=H;while(1){if((f[e+4>>2]&i|0)!=(j|0)){q=20;break c}if((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}else{e=H;while(1){if((((f[e+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(j|0)){q=20;break c}if((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0){q=19;break c}e=f[e>>2]|0;if(!e){q=20;break}}}while(0);if((q|0)==19){q=0;f[(f[M>>2]|0)+(w<<2)>>2]=f[e+12>>2];g=v;break b}else if((q|0)==20)if(r){e=0;q=35;break b}else break}while(0);j=s+-1|0;i=(j&s|0)==0;if(i)e=j&t;else e=(t>>>0)%(s>>>0)|0;g=f[(f[N>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(G=f[g>>2]|0,(G|0)!=0):0)if(i){g=G;while(1){if((f[g+4>>2]&j|0)!=(e|0)){q=35;break b}if((b[g+8>>0]|0)==k<<24>>24?(b[g+9>>0]|0)==l<<24>>24:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else{g=G;while(1){if((((f[g+4>>2]|0)>>>0)%(s>>>0)|0|0)!=(e|0)){q=35;break b}if((b[g+8>>0]|0)==k<<24>>24?(b[g+9>>0]|0)==l<<24>>24:0){q=48;break b}g=f[g>>2]|0;if(!g){q=35;break}}}else q=35}else{e=0;q=35}while(0);if((q|0)==35){q=0;j=_m(16)|0;l=j+8|0;b[l>>0]=m;b[l+1>>0]=m>>8;f[j+12>>2]=v;f[j+4>>2]=t;f[j>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);P=$(s>>>0);o=$(n[F>>2]);do if(r|p>$(P*o)){e=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;g=~~$(W($(p/o)))>>>0;Fh(N,e>>>0>>0?g:e);e=f[z>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&t;break}else{i=e;e=(t>>>0)%(e>>>0)|0;break}}else i=s;while(0);g=(f[N>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[y>>2];f[y>>2]=j;f[g>>2]=y;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[N>>2]|0)+(e<<2)|0;q=46}}else{f[j>>2]=f[e>>2];q=46}if((q|0)==46)f[e>>2]=j;f[B>>2]=(f[B>>2]|0)+1;q=48}if((q|0)==48){t=E;g=f[t>>2]|0;t=Zm(g|0,f[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;Eg((f[f[A>>2]>>2]|0)+t|0,J|0,g|0)|0;f[(f[M>>2]|0)+(w<<2)>>2]=v;g=v+1|0}e=w+1|0;i=f[L>>2]|0;if((e|0)>=(i|0)){q=g;break a}s=f[z>>2]|0;w=e;v=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[M>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(K=e+(i<<2)|0,(g|0)!=(K|0)):0)f[j>>2]=g+(~((g+-4-K|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[L>>2]|0}if((i|0)>0){j=f[M>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[L>>2]=q}i=f[M>>2]|0;if(i|0){g=M+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[N+8>>2]|0;if(e|0)do{M=e;e=f[e>>2]|0;mq(M)}while((e|0)!=0);e=f[N>>2]|0;f[N>>2]=0;if(!e){u=O;return q|0}mq(e);u=O;return q|0}function $b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;g=k+16|0;e=k+12|0;i=k+8|0;j=k+4|0;h=k;switch(f[c+28>>2]|0){case 9:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=oc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Yb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Vb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=jc(a,c,g)|0;break}default:d=0}break}case 1:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=mc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=_b(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Ub(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 11:case 2:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=mc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=_b(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Ub(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 4:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=kc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Zb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Tb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=cc(a,c,g)|0;break}default:d=0}break}case 3:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=kc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Zb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Tb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=cc(a,c,g)|0;break}default:d=0}break}case 6:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=oc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Yb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Vb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=jc(a,c,g)|0;break}default:d=0}break}case 5:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=oc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Yb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=Vb(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=jc(a,c,g)|0;break}default:d=0}break}default:{a=-1;u=k;return a|0}}a=(d|0)==0?-1:d;u=k;return a|0}function ac(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))zi(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];qg(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];qg(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];qg(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];qg(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))zi(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))zi(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=Ka,l=Ka,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Ka;A=u;u=u+48|0;e=A+24|0;z=A;j=Dd(a,c)|0;if(j|0){f[z>>2]=j;f[e>>2]=f[z>>2];Lf(a,e)|0}dl(z,c);y=z+12|0;dl(y,d);w=b[z+11>>0]|0;v=w<<24>>24<0;x=v?f[z>>2]|0:z;w=v?f[z+4>>2]|0:w&255;if(w>>>0>3){j=x;m=w;c=w;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else j=j+4|0}v=w+-4|0;c=v&-4;d=x+(c+4)|0;j=m;c=v-c|0}else{d=x;j=w;c=w}switch(c|0){case 3:{o=h[d+2>>0]<<16^j;r=8;break}case 2:{o=j;r=8;break}case 1:{p=j;r=9;break}default:q=j}if((r|0)==8){p=h[d+1>>0]<<8^o;r=9}if((r|0)==9)q=X(h[d>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;s=a+4|0;c=f[s>>2]|0;t=(c|0)==0;a:do if(!t){p=c+-1|0;d=(p&c|0)==0;if(d)q=v&p;else q=(v>>>0)%(c>>>0)|0;j=f[(f[a>>2]|0)+(q<<2)>>2]|0;if((j|0)!=0?(g=f[j>>2]|0,(g|0)!=0):0){j=(w|0)==0;if(d){if(j){while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);_n(z);u=A;return}b:while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break b}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break b}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);_n(z);u=A;return}}else{if(j){while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);_n(z);u=A;return}c:while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break c}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break c}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);_n(z);u=A;return}}}else i=q}else i=0;while(0);Oh(e,a,v,z);d=a+12|0;l=$(((f[d>>2]|0)+1|0)>>>0);B=$(c>>>0);k=$(n[a+16>>2]);do if(t|l>$(B*k)){g=(c>>>0<3|(c+-1&c|0)!=0)&1|c<<1;i=~~$(W($(l/k)))>>>0;Rh(a,g>>>0>>0?i:g);g=f[s>>2]|0;i=g+-1|0;if(!(i&g)){c=g;i=i&v;break}else{c=g;i=(v>>>0)%(g>>>0)|0;break}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=c+-1|0;if(!(i&c))g=g&i;else g=(g>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;_n(y);_n(z);u=A;return}function cc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ka;T=u;u=u+48|0;S=T+28|0;N=T+8|0;O=T;R=T+16|0;L=S+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;n[L>>2]=$(1.0);Q=a+80|0;yk(R,f[Q>>2]|0);i=f[Q>>2]|0;if((i|0)>0){B=f[e>>2]|0;G=c+48|0;H=c+40|0;E=S+4|0;F=S+12|0;D=S+8|0;J=a+40|0;C=a+64|0;K=0;z=0;while(1){w=B+K|0;y=G;x=f[y>>2]|0;y=f[y+4>>2]|0;e=H;e=Zm(w|0,((w|0)<0)<<31>>31|0,f[e>>2]|0,f[e+4>>2]|0)|0;y=Zn(e|0,I|0,x|0,y|0)|0;y=(f[f[c>>2]>>2]|0)+y|0;x=y;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;e=N;f[e>>2]=x;f[e+4>>2]=y;e=O;f[e>>2]=x;f[e+4>>2]=y;e=Vf(S,O)|0;if(!e){t=O;s=f[t>>2]|0;t=f[t+4>>2]|0;l=s&65535;y=yn(s|0,t|0,16)|0;m=y&65535;q=t&65535;v=yn(s|0,t|0,48)|0;w=I;r=v&65535;y=((((l^318)&65535)+239^y&65535)+239^t&65535)+239^v;i=f[E>>2]|0;x=(i|0)==0;a:do if(!x){k=i+-1|0;j=(k&i|0)==0;if(j)e=y&k;else e=(y>>>0)%(i>>>0)|0;g=f[(f[S>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0?(M=f[g>>2]|0,(M|0)!=0):0)if(j){g=M;while(1){if((f[g+4>>2]&k|0)!=(e|0)){A=25;break a}if((((d[g+8>>1]|0)==l<<16>>16?(d[g+10>>1]|0)==m<<16>>16:0)?(d[g+12>>1]|0)==q<<16>>16:0)?(d[g+14>>1]|0)==r<<16>>16:0)break a;g=f[g>>2]|0;if(!g){A=25;break}}}else{g=M;while(1){if((((f[g+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){A=25;break a}if((((d[g+8>>1]|0)==l<<16>>16?(d[g+10>>1]|0)==m<<16>>16:0)?(d[g+12>>1]|0)==q<<16>>16:0)?(d[g+14>>1]|0)==r<<16>>16:0)break a;g=f[g>>2]|0;if(!g){A=25;break}}}else A=25}else{e=0;A=25}while(0);if((A|0)==25){A=0;j=_m(20)|0;v=tn(v|0,w|0,48)|0;s=s|v;v=t&65535|I;w=j+8|0;t=w;d[t>>1]=s;d[t+2>>1]=s>>>16;w=w+4|0;d[w>>1]=v;d[w+2>>1]=v>>>16;f[j+16>>2]=z;f[j+4>>2]=y;f[j>>2]=0;p=$(((f[F>>2]|0)+1|0)>>>0);U=$(i>>>0);o=$(n[L>>2]);do if(x|p>$(U*o)){e=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;g=~~$(W($(p/o)))>>>0;wh(S,e>>>0>>0?g:e);e=f[E>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&y;break}else{i=e;e=(y>>>0)%(e>>>0)|0;break}}while(0);g=(f[S>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[D>>2];f[D>>2]=j;f[g>>2]=D;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[S>>2]|0)+(e<<2)|0;A=36}}else{f[j>>2]=f[e>>2];A=36}if((A|0)==36){A=0;f[e>>2]=j}f[F>>2]=(f[F>>2]|0)+1}y=J;e=f[y>>2]|0;y=Zm(e|0,f[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Eg((f[f[C>>2]>>2]|0)+y|0,N|0,e|0)|0;f[(f[R>>2]|0)+(K<<2)>>2]=z;e=z+1|0}else{f[(f[R>>2]|0)+(K<<2)>>2]=f[e+16>>2];e=z}K=K+1|0;i=f[Q>>2]|0;if((K|0)>=(i|0)){q=e;break}else z=e}}else q=0;if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[R>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(P=e+(i<<2)|0,(g|0)!=(P|0)):0)f[j>>2]=g+(~((g+-4-P|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[Q>>2]|0}if((i|0)>0){j=f[R>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[Q>>2]=q}i=f[R>>2]|0;if(i|0){g=R+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[S+8>>2]|0;if(e|0)do{R=e;e=f[e>>2]|0;mq(R)}while((e|0)!=0);e=f[S>>2]|0;f[S>>2]=0;if(!e){u=T;return q|0}mq(e);u=T;return q|0}function dc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;F=R+48|0;L=R+36|0;K=R+24|0;H=R+16|0;J=R+8|0;G=R;E=R+32|0;M=a+8|0;d=f[M>>2]|0;if((d|0)<=1)Fa(11796,13875,79,11922);if((d|0)>=31)Fa(11942,13875,80,11922);f[a+72>>2]=d;D=1<>2]=D+-1;D=D+-2|0;C=a+80|0;f[C>>2]=D;A=a+84|0;f[A>>2]=(D|0)/2|0;D=a+40|0;f[a+48>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(13062,13875,99,14032);if((e|0)!=2)Fa(14056,13875,101,14032);z=a+88|0;Wk(z);x=a+36|0;d=f[x>>2]|0;w=(f[d+4>>2]|0)-(f[d>>2]|0)|0;y=w>>2;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;v=K;f[v>>2]=0;f[v+4>>2]=0;v=H;f[v>>2]=0;f[v+4>>2]=0;v=J;f[v>>2]=0;f[v+4>>2]=0;v=G;f[v>>2]=0;f[v+4>>2]=0;if((w|0)<=0){u=R;return 1}v=L+4|0;w=L+8|0;q=K+4|0;r=H+4|0;t=J+4|0;s=G+4|0;g=0;while(1){e=f[d>>2]|0;if((f[d+4>>2]|0)-e>>2>>>0>g>>>0)d=e;else{Vo(d);d=f[d>>2]|0}f[E>>2]=f[d+(g<<2)>>2];f[F>>2]=f[E>>2];xc(D,F,L);d=f[L>>2]|0;h=(d|0)>-1?d:0-d|0;e=f[v>>2]|0;a=(e|0)>-1?e:0-e|0;h=Zn(a|0,((a|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;a=f[w>>2]|0;i=(a|0)>-1;a=i?a:0-a|0;a=Zn(h|0,I|0,a|0,((a|0)<0)<<31>>31|0)|0;h=I;p=f[A>>2]|0;if((a|0)==0&(h|0)==0){e=L;d=p}else{n=((p|0)<0)<<31>>31;o=Zm(p|0,n|0,d|0,((d|0)<0)<<31>>31|0)|0;o=kk(o|0,I|0,a|0,h|0)|0;f[L>>2]=o;d=Zm(p|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,a|0,h|0)|0;f[v>>2]=d;d=p-((o|0)>-1?o:0-o|0)-((d|0)>-1?d:0-d|0)|0;e=w;d=i?d:0-d|0}f[e>>2]=d;l=f[L>>2]|0;e=(l|0)>-1;n=0-l|0;m=f[v>>2]|0;j=0-m|0;h=(m|0)>-1?m:j;o=f[w>>2]|0;k=0-o|0;d=(o|0)>-1?o:k;if((h+(e?l:n)+d|0)!=(p|0)){d=18;break}if(!e){if((m|0)>=0)d=(f[C>>2]|0)-d|0;if((o|0)<0){a=d;e=h}else{a=d;e=(f[C>>2]|0)-h|0}}else{a=p+m|0;e=p+o|0}h=(a|0)==0;i=(e|0)==0;d=f[C>>2]|0;do if((e|a|0)!=0?(O=(d|0)==(e|0),Q=(d|0)==(a|0),!(h&O|i&Q)):0){if(h&(p|0)<(e|0)){a=0;e=(p<<1)-e|0;break}if((p|0)>(e|0)&Q){e=(p<<1)-e|0;break}if((p|0)>(a|0)&O){a=(p<<1)-a|0;break}else{a=(p|0)<(a|0)&i?(p<<1)-a|0:a;break}}else{a=d;e=d}while(0);f[K>>2]=a;f[q>>2]=e;f[L>>2]=n;f[v>>2]=j;f[w>>2]=k;h=(l|0)<1;a=(m|0)<1?j:m;e=(o|0)<1?k:o;if((a+(h?n:l)+e|0)!=(p|0)){d=35;break}if(h){i=p-m|0;h=p-o|0}else{i=(m|0)>0?e:d-e|0;h=(o|0)>0?a:d-a|0}e=(i|0)==0;a=(h|0)==0;do if((h|i|0)!=0?(N=(d|0)==(h|0),P=(d|0)==(i|0),!(e&N|a&P)):0){if(e&(p|0)<(h|0)){e=0;d=(p<<1)-h|0;break}if((p|0)>(h|0)&P){e=d;d=(p<<1)-h|0;break}if((p|0)>(i|0)&N){e=(p<<1)-i|0;break}else{e=(p|0)<(i|0)&a?(p<<1)-i|0:i;d=h;break}}else e=d;while(0);f[H>>2]=e;f[r>>2]=d;j=g<<1;d=b+(j<<2)|0;Xh(M,d,K,J);Xh(M,d,H,G);d=f[J>>2]|0;i=f[A>>2]|0;if((i|0)>=(d|0)){if((d|0)<(0-i|0))d=(f[B>>2]|0)+d|0}else d=d-(f[B>>2]|0)|0;f[J>>2]=d;e=f[t>>2]|0;if((i|0)>=(e|0)){if((e|0)<(0-i|0))e=(f[B>>2]|0)+e|0}else e=e-(f[B>>2]|0)|0;f[t>>2]=e;a=f[G>>2]|0;if((i|0)>=(a|0)){if((a|0)<(0-i|0))a=(f[B>>2]|0)+a|0}else a=a-(f[B>>2]|0)|0;f[G>>2]=a;h=f[s>>2]|0;if((i|0)>=(h|0)){if((h|0)<(0-i|0))h=(f[B>>2]|0)+h|0}else h=h-(f[B>>2]|0)|0;f[s>>2]=h;if((((e|0)>-1?e:0-e|0)+((d|0)>-1?d:0-d|0)|0)<(((a|0)>-1?a:0-a|0)+((h|0)>-1?h:0-h|0)|0)){Ui(z,0);a=J}else{Ui(z,1);a=G}d=f[a>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=68;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;e=c+(j<<2)|0;f[e>>2]=d;d=f[a+4>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=72;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;f[e+4>>2]=d;g=g+1|0;if((g|0)>=(y|0)){d=11;break}d=f[x>>2]|0}if((d|0)==11){u=R;return 1}else if((d|0)==18)Fa(14080,13875,119,14032);else if((d|0)==35)Fa(14147,11807,99,14235);else if((d|0)==68)Fa(12682,11807,313,12716);else if((d|0)==72)Fa(12682,11807,313,12716);return 0}function ec(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;F=R+48|0;L=R+36|0;K=R+24|0;H=R+16|0;J=R+8|0;G=R;E=R+32|0;M=a+8|0;d=f[M>>2]|0;if((d|0)<=1)Fa(11796,13875,79,11922);if((d|0)>=31)Fa(11942,13875,80,11922);f[a+72>>2]=d;D=1<>2]=D+-1;D=D+-2|0;C=a+80|0;f[C>>2]=D;A=a+84|0;f[A>>2]=(D|0)/2|0;D=a+40|0;f[a+48>>2]=g;if(!(Ra[f[(f[a>>2]|0)+16>>2]&127](a)|0))Fa(13062,13875,99,14032);if((e|0)!=2)Fa(14056,13875,101,14032);z=a+88|0;Wk(z);x=a+36|0;d=f[x>>2]|0;w=(f[d+4>>2]|0)-(f[d>>2]|0)|0;y=w>>2;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;v=K;f[v>>2]=0;f[v+4>>2]=0;v=H;f[v>>2]=0;f[v+4>>2]=0;v=J;f[v>>2]=0;f[v+4>>2]=0;v=G;f[v>>2]=0;f[v+4>>2]=0;if((w|0)<=0){u=R;return 1}v=L+4|0;w=L+8|0;q=K+4|0;r=H+4|0;t=J+4|0;s=G+4|0;g=0;while(1){e=f[d>>2]|0;if((f[d+4>>2]|0)-e>>2>>>0>g>>>0)d=e;else{Vo(d);d=f[d>>2]|0}f[E>>2]=f[d+(g<<2)>>2];f[F>>2]=f[E>>2];yc(D,F,L);d=f[L>>2]|0;h=(d|0)>-1?d:0-d|0;e=f[v>>2]|0;a=(e|0)>-1?e:0-e|0;h=Zn(a|0,((a|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;a=f[w>>2]|0;i=(a|0)>-1;a=i?a:0-a|0;a=Zn(h|0,I|0,a|0,((a|0)<0)<<31>>31|0)|0;h=I;p=f[A>>2]|0;if((a|0)==0&(h|0)==0){e=L;d=p}else{n=((p|0)<0)<<31>>31;o=Zm(p|0,n|0,d|0,((d|0)<0)<<31>>31|0)|0;o=kk(o|0,I|0,a|0,h|0)|0;f[L>>2]=o;d=Zm(p|0,n|0,e|0,((e|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,a|0,h|0)|0;f[v>>2]=d;d=p-((o|0)>-1?o:0-o|0)-((d|0)>-1?d:0-d|0)|0;e=w;d=i?d:0-d|0}f[e>>2]=d;l=f[L>>2]|0;e=(l|0)>-1;n=0-l|0;m=f[v>>2]|0;j=0-m|0;h=(m|0)>-1?m:j;o=f[w>>2]|0;k=0-o|0;d=(o|0)>-1?o:k;if((h+(e?l:n)+d|0)!=(p|0)){d=18;break}if(!e){if((m|0)>=0)d=(f[C>>2]|0)-d|0;if((o|0)<0){a=d;e=h}else{a=d;e=(f[C>>2]|0)-h|0}}else{a=p+m|0;e=p+o|0}h=(a|0)==0;i=(e|0)==0;d=f[C>>2]|0;do if((e|a|0)!=0?(O=(d|0)==(e|0),Q=(d|0)==(a|0),!(h&O|i&Q)):0){if(h&(p|0)<(e|0)){a=0;e=(p<<1)-e|0;break}if((p|0)>(e|0)&Q){e=(p<<1)-e|0;break}if((p|0)>(a|0)&O){a=(p<<1)-a|0;break}else{a=(p|0)<(a|0)&i?(p<<1)-a|0:a;break}}else{a=d;e=d}while(0);f[K>>2]=a;f[q>>2]=e;f[L>>2]=n;f[v>>2]=j;f[w>>2]=k;h=(l|0)<1;a=(m|0)<1?j:m;e=(o|0)<1?k:o;if((a+(h?n:l)+e|0)!=(p|0)){d=35;break}if(h){i=p-m|0;h=p-o|0}else{i=(m|0)>0?e:d-e|0;h=(o|0)>0?a:d-a|0}e=(i|0)==0;a=(h|0)==0;do if((h|i|0)!=0?(N=(d|0)==(h|0),P=(d|0)==(i|0),!(e&N|a&P)):0){if(e&(p|0)<(h|0)){e=0;d=(p<<1)-h|0;break}if((p|0)>(h|0)&P){e=d;d=(p<<1)-h|0;break}if((p|0)>(i|0)&N){e=(p<<1)-i|0;break}else{e=(p|0)<(i|0)&a?(p<<1)-i|0:i;d=h;break}}else e=d;while(0);f[H>>2]=e;f[r>>2]=d;j=g<<1;d=b+(j<<2)|0;Xh(M,d,K,J);Xh(M,d,H,G);d=f[J>>2]|0;i=f[A>>2]|0;if((i|0)>=(d|0)){if((d|0)<(0-i|0))d=(f[B>>2]|0)+d|0}else d=d-(f[B>>2]|0)|0;f[J>>2]=d;e=f[t>>2]|0;if((i|0)>=(e|0)){if((e|0)<(0-i|0))e=(f[B>>2]|0)+e|0}else e=e-(f[B>>2]|0)|0;f[t>>2]=e;a=f[G>>2]|0;if((i|0)>=(a|0)){if((a|0)<(0-i|0))a=(f[B>>2]|0)+a|0}else a=a-(f[B>>2]|0)|0;f[G>>2]=a;h=f[s>>2]|0;if((i|0)>=(h|0)){if((h|0)<(0-i|0))h=(f[B>>2]|0)+h|0}else h=h-(f[B>>2]|0)|0;f[s>>2]=h;if((((e|0)>-1?e:0-e|0)+((d|0)>-1?d:0-d|0)|0)<(((a|0)>-1?a:0-a|0)+((h|0)>-1?h:0-h|0)|0)){Ui(z,0);a=J}else{Ui(z,1);a=G}d=f[a>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=68;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;e=c+(j<<2)|0;f[e>>2]=d;d=f[a+4>>2]|0;if((f[A>>2]<<1|0)<(d|0)){d=72;break}if((d|0)<0)d=(f[B>>2]|0)+d|0;f[e+4>>2]=d;g=g+1|0;if((g|0)>=(y|0)){d=11;break}d=f[x>>2]|0}if((d|0)==11){u=R;return 1}else if((d|0)==18)Fa(14080,13875,119,14032);else if((d|0)==35)Fa(14147,11807,99,14235);else if((d|0)==68)Fa(12682,11807,313,12716);else if((d|0)==72)Fa(12682,11807,313,12716);return 0}function fc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=Ka,l=Ka,m=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=Ka;A=u;u=u+48|0;e=A+24|0;z=A;j=Dd(a,c)|0;if(j|0){f[z>>2]=j;f[e>>2]=f[z>>2];Lf(a,e)|0}dl(z,c);p[z+16>>3]=+p[d>>3];x=b[z+11>>0]|0;w=x<<24>>24<0;y=w?f[z>>2]|0:z;x=w?f[z+4>>2]|0:x&255;if(x>>>0>3){j=y;m=x;c=x;while(1){w=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(w>>>24^w,1540483477)|0)^(X(m,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else j=j+4|0}w=x+-4|0;c=w&-4;d=y+(c+4)|0;j=m;c=w-c|0}else{d=y;j=x;c=x}switch(c|0){case 3:{o=h[d+2>>0]<<16^j;s=8;break}case 2:{o=j;s=8;break}case 1:{q=j;s=9;break}default:r=j}if((s|0)==8){q=h[d+1>>0]<<8^o;s=9}if((s|0)==9)r=X(h[d>>0]^q,1540483477)|0;w=X(r>>>13^r,1540483477)|0;w=w>>>15^w;t=a+4|0;c=f[t>>2]|0;v=(c|0)==0;a:do if(!v){q=c+-1|0;d=(q&c|0)==0;if(d)r=w&q;else r=(w>>>0)%(c>>>0)|0;j=f[(f[a>>2]|0)+(r<<2)>>2]|0;if((j|0)!=0?(g=f[j>>2]|0,(g|0)!=0):0){j=(x|0)==0;if(d){if(j){while(1){if((f[g+4>>2]&q|0)!=(r|0)){i=r;break a}y=b[g+8+11>>0]|0;if(!((y<<24>>24<0?f[g+12>>2]|0:y&255)|0))break;g=f[g>>2]|0;if(!g){i=r;break a}}_n(z);u=A;return}b:while(1){if((f[g+4>>2]&q|0)!=(r|0)){i=r;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(x|0)){d=f[j>>2]|0;if(o)if(!(il(d,y,x)|0)){s=55;break b}else break;if((d&255)<<24>>24==(b[y>>0]|0)){d=y;do{m=m+-1|0;j=j+1|0;if(!m){s=55;break b}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=r;break a}}if((s|0)==55){_n(z);u=A;return}}else{if(j){while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(r|0)){i=r;break a}y=b[g+8+11>>0]|0;if(!((y<<24>>24<0?f[g+12>>2]|0:y&255)|0))break;g=f[g>>2]|0;if(!g){i=r;break a}}_n(z);u=A;return}c:while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(r|0)){i=r;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(x|0)){d=f[j>>2]|0;if(o)if(!(il(d,y,x)|0)){s=55;break c}else break;if((d&255)<<24>>24==(b[y>>0]|0)){d=y;do{m=m+-1|0;j=j+1|0;if(!m){s=55;break c}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=r;break a}}if((s|0)==55){_n(z);u=A;return}}}else i=r}else i=0;while(0);eh(e,a,w,z);d=a+12|0;l=$(((f[d>>2]|0)+1|0)>>>0);B=$(c>>>0);k=$(n[a+16>>2]);do if(v|l>$(B*k)){g=(c>>>0<3|(c+-1&c|0)!=0)&1|c<<1;i=~~$(W($(l/k)))>>>0;Rh(a,g>>>0>>0?i:g);g=f[t>>2]|0;i=g+-1|0;if(!(i&g)){c=g;i=i&w;break}else{c=g;i=(w>>>0)%(g>>>0)|0;break}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=c+-1|0;if(!(i&c))g=g&i;else g=(g>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;_n(z);u=A;return}function gc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=Ka,l=Ka,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=Ka;z=u;u=u+32|0;e=z+16|0;y=z;j=Dd(a,c)|0;if(j|0){f[y>>2]=j;f[e>>2]=f[y>>2];Lf(a,e)|0}dl(y,c);f[y+12>>2]=f[d>>2];w=b[y+11>>0]|0;v=w<<24>>24<0;x=v?f[y>>2]|0:y;w=v?f[y+4>>2]|0:w&255;if(w>>>0>3){j=x;m=w;c=w;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);c=c+-4|0;if(c>>>0<=3)break;else j=j+4|0}v=w+-4|0;c=v&-4;d=x+(c+4)|0;j=m;c=v-c|0}else{d=x;j=w;c=w}switch(c|0){case 3:{o=h[d+2>>0]<<16^j;r=8;break}case 2:{o=j;r=8;break}case 1:{p=j;r=9;break}default:q=j}if((r|0)==8){p=h[d+1>>0]<<8^o;r=9}if((r|0)==9)q=X(h[d>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;s=a+4|0;c=f[s>>2]|0;t=(c|0)==0;a:do if(!t){p=c+-1|0;d=(p&c|0)==0;if(d)q=v&p;else q=(v>>>0)%(c>>>0)|0;j=f[(f[a>>2]|0)+(q<<2)>>2]|0;if((j|0)!=0?(g=f[j>>2]|0,(g|0)!=0):0){j=(w|0)==0;if(d){if(j){while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);u=z;return}b:while(1){if((f[g+4>>2]&p|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break b}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break b}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);u=z;return}}else{if(j){while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}x=b[g+8+11>>0]|0;if(!((x<<24>>24<0?f[g+12>>2]|0:x&255)|0))break;g=f[g>>2]|0;if(!g){i=q;break a}}_n(y);u=z;return}c:while(1){if((((f[g+4>>2]|0)>>>0)%(c>>>0)|0|0)!=(q|0)){i=q;break a}j=g+8|0;m=b[j+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[g+12>>2]|0:m)|0)==(w|0)){d=f[j>>2]|0;if(o)if(!(il(d,x,w)|0)){r=55;break c}else break;if((d&255)<<24>>24==(b[x>>0]|0)){d=x;do{m=m+-1|0;j=j+1|0;if(!m){r=55;break c}d=d+1|0}while((b[j>>0]|0)==(b[d>>0]|0))}}while(0);g=f[g>>2]|0;if(!g){i=q;break a}}if((r|0)==55){_n(y);u=z;return}}}else i=q}else i=0;while(0);ii(e,a,v,y);d=a+12|0;l=$(((f[d>>2]|0)+1|0)>>>0);A=$(c>>>0);k=$(n[a+16>>2]);do if(t|l>$(A*k)){g=(c>>>0<3|(c+-1&c|0)!=0)&1|c<<1;i=~~$(W($(l/k)))>>>0;Rh(a,g>>>0>>0?i:g);g=f[s>>2]|0;i=g+-1|0;if(!(i&g)){c=g;i=i&v;break}else{c=g;i=(v>>>0)%(g>>>0)|0;break}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=c+-1|0;if(!(i&c))g=g&i;else g=(g>>>0)%(c>>>0)|0;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[d>>2]=(f[d>>2]|0)+1;f[e>>2]=0;_n(y);u=z;return}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=Ka;S=u;u=u+48|0;R=S+20|0;M=S+16|0;N=S+12|0;Q=S;K=R+16|0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;n[K>>2]=$(1.0);P=a+80|0;yk(Q,f[P>>2]|0);g=f[P>>2]|0;if((g|0)>0){A=f[d>>2]|0;F=c+48|0;G=c+40|0;D=R+4|0;E=R+12|0;C=R+8|0;H=a+40|0;B=a+64|0;J=0;y=0;while(1){v=A+J|0;d=F;x=f[d>>2]|0;d=f[d+4>>2]|0;w=G;w=Zm(v|0,((v|0)<0)<<31>>31|0,f[w>>2]|0,f[w+4>>2]|0)|0;d=Zn(w|0,I|0,x|0,d|0)|0;d=(f[f[c>>2]>>2]|0)+d|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;f[M>>2]=d;f[N>>2]=d;d=Xf(R,N)|0;if(!d){t=f[N>>2]|0;k=t&255;r=t>>>8;l=r&255;s=t>>>16;p=s&255;v=t>>>24;q=v&255;t=t&255;r=r&255;s=s&255;x=(((t^318)+239^r)+239^s)+239^v;g=f[D>>2]|0;w=(g|0)==0;a:do if(!w){j=g+-1|0;i=(j&g|0)==0;if(i)d=x&j;else d=(x>>>0)%(g>>>0)|0;e=f[(f[R>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(L=f[e>>2]|0,(L|0)!=0):0)if(i){e=L;while(1){if((f[e+4>>2]&j|0)!=(d|0)){z=25;break a}if((((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0)?(b[e+10>>0]|0)==p<<24>>24:0)?(b[e+11>>0]|0)==q<<24>>24:0)break a;e=f[e>>2]|0;if(!e){z=25;break}}}else{e=L;while(1){if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){z=25;break a}if((((b[e+8>>0]|0)==k<<24>>24?(b[e+9>>0]|0)==l<<24>>24:0)?(b[e+10>>0]|0)==p<<24>>24:0)?(b[e+11>>0]|0)==q<<24>>24:0)break a;e=f[e>>2]|0;if(!e){z=25;break}}}else z=25}else{d=0;z=25}while(0);if((z|0)==25){z=0;i=_m(16)|0;q=i+8|0;v=v<<24|t|s<<16|r<<8;b[q>>0]=v;b[q+1>>0]=v>>8;b[q+2>>0]=v>>16;b[q+3>>0]=v>>24;f[i+12>>2]=y;f[i+4>>2]=x;f[i>>2]=0;o=$(((f[E>>2]|0)+1|0)>>>0);T=$(g>>>0);m=$(n[K>>2]);do if(w|o>$(T*m)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(o/m)))>>>0;Dh(R,d>>>0>>0?e:d);d=f[D>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&x;break}else{g=d;d=(x>>>0)%(d>>>0)|0;break}}while(0);e=(f[R>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[i>>2]=f[C>>2];f[C>>2]=i;f[e>>2]=C;d=f[i>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[R>>2]|0)+(d<<2)|0;z=36}}else{f[i>>2]=f[d>>2];z=36}if((z|0)==36){z=0;f[d>>2]=i}f[E>>2]=(f[E>>2]|0)+1}x=H;d=f[x>>2]|0;x=Zm(d|0,f[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Eg((f[f[B>>2]>>2]|0)+x|0,M|0,d|0)|0;f[(f[Q>>2]|0)+(J<<2)>>2]=y;d=y+1|0}else{f[(f[Q>>2]|0)+(J<<2)>>2]=f[d+12>>2];d=y}J=J+1|0;g=f[P>>2]|0;if((J|0)>=(g|0)){p=d;break}else y=d}}else p=0;if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[Q>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(O=d+(g<<2)|0,(e|0)!=(O|0)):0)f[i>>2]=e+(~((e+-4-O|0)>>>2)<<2)}else{Pg(j,g-k|0,1204);g=f[P>>2]|0}if((g|0)>0){i=f[Q>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[P>>2]=p}g=f[Q>>2]|0;if(g|0){e=Q+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[R+8>>2]|0;if(d|0)do{Q=d;d=f[d>>2]|0;mq(Q)}while((d|0)!=0);d=f[R>>2]|0;f[R>>2]=0;if(!d){u=S;return p|0}mq(d);u=S;return p|0}function ic(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=a+8|0;f[F>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{D=f[b+(i<<2)>>2]|0;z=(D|0)<(g|0);g=z?D:g;h=z?h:(D|0)>(h|0)?D:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;D=1-g+h|0;f[a+20>>2]=D;g=(D|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(D&1))f[h>>2]=g+-1}p=e>>>0>1073741823?-1:e<<2;D=jq(p)|0;Xi(D|0,0,p|0)|0;p=f[a+48>>2]|0;u=a+56|0;i=f[u>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){q=f[a+52>>2]|0;x=a+16|0;s=a+32|0;z=a+12|0;y=a+28|0;w=a+20|0;v=a+24|0;r=p+12|0;t=(e|0)>0;n=j>>2;while(1){o=n+-1|0;if(h-g>>2>>>0<=o>>>0){Vo(i);g=f[i>>2]|0}g=f[g+(o<<2)>>2]|0;m=X(o,e)|0;if((g|0)>=0?(E=f[(f[r>>2]|0)+(g<<2)>>2]|0,(E|0)>=0):0){h=f[p>>2]|0;i=f[q>>2]|0;j=f[i+(f[h+(E<<2)>>2]<<2)>>2]|0;g=E+1|0;g=((g|0)%3|0|0)==0?E+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;k=f[i+(g<<2)>>2]|0;g=(((E>>>0)%3|0|0)==0?2:-1)+E|0;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;g=f[i+(g<<2)>>2]|0;if((j|0)<(o|0)&(k|0)<(o|0)&(g|0)<(o|0)){j=X(j,e)|0;i=X(k,e)|0;h=X(g,e)|0;if(t){g=0;do{f[D+(g<<2)>>2]=(f[b+(g+h<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(m<<2)|0;d=c+(m<<2)|0;g=f[F>>2]|0;if((g|0)>0){k=0;i=D;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[x>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(j<<2)>>2]=h}else{H=f[z>>2]|0;h=f[s>>2]|0;f[h+(j<<2)>>2]=(g|0)<(H|0)?H:g;g=h}j=j+1|0}while((j|0)<(f[F>>2]|0));i=g}else i=f[s>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[y>>2]|0)){if((g|0)>(f[v>>2]|0)){g=g-(f[w>>2]|0)|0;G=54}}else{g=(f[w>>2]|0)+g|0;G=54}if((G|0)==54){G=0;f[h>>2]=g}k=k+1|0;g=f[F>>2]|0}while((k|0)<(g|0))}}else G=27}else G=27;if((G|0)==27?(G=0,B=b+(m<<2)|0,C=c+(m<<2)|0,A=f[F>>2]|0,(A|0)>0):0){h=A;k=0;j=b+((X(n+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[x>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(i<<2)>>2]=h}else{n=f[z>>2]|0;H=f[s>>2]|0;f[H+(i<<2)>>2]=(g|0)<(n|0)?n:g;g=H}i=i+1|0}while((i|0)<(f[F>>2]|0))}else g=f[s>>2]|0;h=(f[B+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=C+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[y>>2]|0)){if((h|0)>(f[v>>2]|0)){h=h-(f[w>>2]|0)|0;G=41}}else{h=(f[w>>2]|0)+h|0;G=41}if((G|0)==41){G=0;f[i>>2]=h}k=k+1|0;h=f[F>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((o|0)<=1)break a;i=f[u>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;n=o}}while(0);if((e|0)>0)Xi(D|0,0,e<<2|0)|0;g=f[F>>2]|0;if((g|0)<=0){kq(D);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=D;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;H=f[d>>2]|0;f[H+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=H}j=j+1|0}while((j|0)<(f[F>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;G=68}}else{g=(f[m>>2]|0)+g|0;G=68}if((G|0)==68){G=0;f[h>>2]=g}k=k+1|0;g=f[F>>2]|0}while((k|0)<(g|0));kq(D);return 1}function jc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Ka;Q=u;u=u+80|0;P=Q+48|0;K=Q+32|0;L=Q+16|0;O=Q;H=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[H>>2]=$(1.0);N=a+80|0;yk(O,f[N>>2]|0);g=f[N>>2]|0;if((g|0)>0){v=f[d>>2]|0;A=c+48|0;B=c+40|0;E=L+4|0;F=L+8|0;G=L+12|0;y=P+4|0;z=P+12|0;x=P+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){g=v+D|0;d=A;e=f[d>>2]|0;d=f[d+4>>2]|0;h=B;g=Zm(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;d=Zn(g|0,I|0,e|0,d|0)|0;d=(f[f[c>>2]>>2]|0)+d|0;e=K;g=d;h=e+16|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));dm(L|0,d|0,16)|0;d=dg(P,L)|0;if(!d){i=f[L>>2]|0;j=f[E>>2]|0;k=f[F>>2]|0;l=f[G>>2]|0;r=(((i^318)+239^j)+239^k)+239^l;p=f[y>>2]|0;q=(p|0)==0;a:do if(!q){h=p+-1|0;g=(h&p|0)==0;if(g)d=r&h;else d=(r>>>0)%(p>>>0)|0;e=f[(f[P>>2]|0)+(d<<2)>>2]|0;if((e|0)!=0?(J=f[e>>2]|0,(J|0)!=0):0)if(g){e=J;while(1){if((f[e+4>>2]&h|0)!=(d|0)){t=25;break a}if((((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0)?(f[e+20>>2]|0)==(l|0):0)break a;e=f[e>>2]|0;if(!e){t=25;break}}}else{e=J;while(1){if((((f[e+4>>2]|0)>>>0)%(p>>>0)|0|0)!=(d|0)){t=25;break a}if((((f[e+8>>2]|0)==(i|0)?(f[e+12>>2]|0)==(j|0):0)?(f[e+16>>2]|0)==(k|0):0)?(f[e+20>>2]|0)==(l|0):0)break a;e=f[e>>2]|0;if(!e){t=25;break}}}else t=25}else{d=0;t=25}while(0);if((t|0)==25){t=0;h=_m(28)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=l;f[h+24>>2]=s;f[h+4>>2]=r;f[h>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);R=$(p>>>0);m=$(n[H>>2]);do if(q|o>$(R*m)){d=(p>>>0<3|(p+-1&p|0)!=0)&1|p<<1;e=~~$(W($(o/m)))>>>0;Ah(P,d>>>0>>0?e:d);d=f[y>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&r;break}else{g=d;d=(r>>>0)%(d>>>0)|0;break}}else g=p;while(0);e=(f[P>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[h>>2]=f[x>>2];f[x>>2]=h;f[e>>2]=x;d=f[h>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[P>>2]|0)+(d<<2)|0;t=36}}else{f[h>>2]=f[d>>2];t=36}if((t|0)==36){t=0;f[d>>2]=h}f[z>>2]=(f[z>>2]|0)+1}r=C;d=f[r>>2]|0;r=Zm(d|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[w>>2]>>2]|0)+r|0,K|0,d|0)|0;f[(f[O>>2]|0)+(D<<2)>>2]=s;d=s+1|0}else{f[(f[O>>2]|0)+(D<<2)>>2]=f[d+24>>2];d=s}D=D+1|0;g=f[N>>2]|0;if((D|0)>=(g|0)){l=d;break}else s=d}}else l=0;if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[O>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(M=d+(g<<2)|0,(e|0)!=(M|0)):0)f[h>>2]=e+(~((e+-4-M|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[N>>2]|0}if((g|0)>0){h=f[O>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[N>>2]=l}g=f[O>>2]|0;if(g|0){e=O+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[P+8>>2]|0;if(d|0)do{O=d;d=f[d>>2]|0;mq(O)}while((d|0)!=0);d=f[P>>2]|0;f[P>>2]=0;if(!d){u=Q;return l|0}mq(d);u=Q;return l|0}function kc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=Ka;K=u;u=u+48|0;J=K+12|0;E=K+32|0;H=K;D=J+16|0;f[J>>2]=0;f[J+4>>2]=0;f[J+8>>2]=0;f[J+12>>2]=0;n[D>>2]=$(1.0);G=a+80|0;yk(H,f[G>>2]|0);i=f[G>>2]|0;a:do if((i|0)>0){A=c+48|0;B=c+40|0;x=J+4|0;z=J+12|0;w=J+8|0;C=a+40|0;y=a+64|0;v=f[e>>2]|0;i=0;t=0;s=0;while(1){k=v+t|0;m=A;q=f[m>>2]|0;m=f[m+4>>2]|0;l=B;l=Zm(k|0,((k|0)<0)<<31>>31|0,f[l>>2]|0,f[l+4>>2]|0)|0;m=Zn(l|0,I|0,q|0,m|0)|0;m=(f[f[c>>2]>>2]|0)+m|0;m=h[m>>0]|h[m+1>>0]<<8;d[E>>1]=m;q=(m^318)&65535;b:do if(i){l=i+-1|0;k=(l&i|0)==0;if(k)g=l&q;else g=(q>>>0)%(i>>>0)|0;j=f[J>>2]|0;e=f[j+(g<<2)>>2]|0;c:do if(e|0){if(k)do{e=f[e>>2]|0;if(!e)break c;if((f[e+4>>2]&l|0)!=(g|0))break c}while((d[e+8>>1]|0)!=m<<16>>16);else do{e=f[e>>2]|0;if(!e)break c;if((((f[e+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(g|0))break c}while((d[e+8>>1]|0)!=m<<16>>16);f[(f[H>>2]|0)+(t<<2)>>2]=f[e+12>>2];g=s;break b}while(0);if(k)e=l&q;else e=(q>>>0)%(i>>>0)|0;g=f[j+(e<<2)>>2]|0;if(g)if(k)while(1){g=f[g>>2]|0;if(!g){g=0;r=28;break b}if((f[g+4>>2]&l|0)!=(e|0)){g=0;r=28;break b}if((d[g+8>>1]|0)==m<<16>>16){r=41;break}}else while(1){g=f[g>>2]|0;if(!g){g=0;r=28;break b}if((((f[g+4>>2]|0)>>>0)%(i>>>0)|0|0)!=(e|0)){g=0;r=28;break b}if((d[g+8>>1]|0)==m<<16>>16){r=41;break}}else{g=0;r=28}}else{i=0;e=0;g=1;r=28}while(0);if((r|0)==28){r=0;j=_m(16)|0;d[j+8>>1]=m;f[j+12>>2]=s;f[j+4>>2]=q;f[j>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);L=$(i>>>0);o=$(n[D>>2]);do if(g|p>$(L*o)){e=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;g=~~$(W($(p/o)))>>>0;zh(J,e>>>0>>0?g:e);e=f[x>>2]|0;g=e+-1|0;if(!(g&e)){i=e;e=g&q;break}else{i=e;e=(q>>>0)%(e>>>0)|0;break}}while(0);g=(f[J>>2]|0)+(e<<2)|0;e=f[g>>2]|0;if(!e){f[j>>2]=f[w>>2];f[w>>2]=j;f[g>>2]=w;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;g=i+-1|0;if(!(g&i))e=e&g;else e=(e>>>0)%(i>>>0)|0;e=(f[J>>2]|0)+(e<<2)|0;r=39}}else{f[j>>2]=f[e>>2];r=39}if((r|0)==39)f[e>>2]=j;f[z>>2]=(f[z>>2]|0)+1;r=41}if((r|0)==41){r=0;q=C;g=f[q>>2]|0;q=Zm(g|0,f[q+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Eg((f[f[y>>2]>>2]|0)+q|0,E|0,g|0)|0;f[(f[H>>2]|0)+(t<<2)>>2]=s;g=s+1|0}e=t+1|0;i=f[G>>2]|0;if((e|0)>=(i|0)){q=g;break a}i=f[x>>2]|0;t=e;s=g}}else q=0;while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;e=(f[a+72>>2]|0)-i|0;if((e|0)>0){j=f[H>>2]|0;g=e>>2;e=0;do{a=i+(e<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;g=f[j>>2]|0;e=f[k>>2]|0;l=g-e>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(F=e+(i<<2)|0,(g|0)!=(F|0)):0)f[j>>2]=g+(~((g+-4-F|0)>>>2)<<2)}else{Pg(k,i-l|0,1204);i=f[G>>2]|0}if((i|0)>0){j=f[H>>2]|0;if(b[m>>0]|0)Fa(19931,19950,89,20044);e=f[a+68>>2]|0;g=0;do{f[e+(g<<2)>>2]=f[j+(g<<2)>>2];g=g+1|0}while((g|0)<(i|0))}}f[G>>2]=q}i=f[H>>2]|0;if(i|0){g=H+4|0;e=f[g>>2]|0;if((e|0)!=(i|0))f[g>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[J+8>>2]|0;if(e|0)do{H=e;e=f[e>>2]|0;mq(H)}while((e|0)!=0);e=f[J>>2]|0;f[J>>2]=0;if(!e){u=K;return q|0}mq(e);u=K;return q|0}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;J=a+8|0;f[J>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else gi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{H=f[b+(i<<2)>>2]|0;A=(H|0)<(g|0);g=A?H:g;h=A?h:(H|0)>(h|0)?H:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;H=1-g+h|0;f[a+20>>2]=H;g=(H|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(H&1))f[h>>2]=g+-1}p=e>>>0>1073741823?-1:e<<2;H=jq(p)|0;Xi(H|0,0,p|0)|0;p=f[a+48>>2]|0;v=a+56|0;i=f[v>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;j=h-g|0;a:do if((j|0)>4){q=f[a+52>>2]|0;y=a+16|0;s=a+32|0;A=a+12|0;z=a+28|0;x=a+20|0;w=a+24|0;u=p+64|0;r=p+28|0;t=(e|0)>0;n=j>>2;while(1){o=n+-1|0;if(h-g>>2>>>0<=o>>>0){Vo(i);g=f[i>>2]|0}g=f[g+(o<<2)>>2]|0;m=X(o,e)|0;if((!((g|0)<0?1:(1<<(g&31)&f[(f[p>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(I=f[(f[(f[u>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(I|0)>=0):0)?(D=f[r>>2]|0,d=f[q>>2]|0,B=f[d+(f[D+(I<<2)>>2]<<2)>>2]|0,C=I+1|0,C=f[d+(f[D+((((C|0)%3|0|0)==0?I+-2|0:C)<<2)>>2]<<2)>>2]|0,D=f[d+(f[D+((((I>>>0)%3|0|0)==0?2:-1)+I<<2)>>2]<<2)>>2]|0,(B|0)<(o|0)&(C|0)<(o|0)&(D|0)<(o|0)):0){h=X(B,e)|0;i=X(C,e)|0;j=X(D,e)|0;if(t){g=0;do{f[H+(g<<2)>>2]=(f[b+(g+j<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+h<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}l=b+(m<<2)|0;d=c+(m<<2)|0;g=f[J>>2]|0;if((g|0)>0){k=0;i=H;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[y>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(j<<2)>>2]=h}else{L=f[A>>2]|0;h=f[s>>2]|0;f[h+(j<<2)>>2]=(g|0)<(L|0)?L:g;g=h}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[s>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[z>>2]|0)){if((g|0)>(f[w>>2]|0)){g=g-(f[x>>2]|0)|0;K=50}}else{g=(f[x>>2]|0)+g|0;K=50}if((K|0)==50){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0))}}else K=23;if((K|0)==23?(K=0,F=b+(m<<2)|0,G=c+(m<<2)|0,E=f[J>>2]|0,(E|0)>0):0){h=E;k=0;j=b+((X(n+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[y>>2]|0;if((g|0)>(h|0)){g=f[s>>2]|0;f[g+(i<<2)>>2]=h}else{n=f[A>>2]|0;L=f[s>>2]|0;f[L+(i<<2)>>2]=(g|0)<(n|0)?n:g;g=L}i=i+1|0}while((i|0)<(f[J>>2]|0))}else g=f[s>>2]|0;h=(f[F+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=G+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[z>>2]|0)){if((h|0)>(f[w>>2]|0)){h=h-(f[x>>2]|0)|0;K=37}}else{h=(f[x>>2]|0)+h|0;K=37}if((K|0)==37){K=0;f[i>>2]=h}k=k+1|0;h=f[J>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((o|0)<=1)break a;i=f[v>>2]|0;g=f[i>>2]|0;h=f[i+4>>2]|0;n=o}}while(0);if((e|0)>0)Xi(H|0,0,e<<2|0)|0;g=f[J>>2]|0;if((g|0)<=0){kq(H);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=H;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;L=f[d>>2]|0;f[L+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=L}j=j+1|0}while((j|0)<(f[J>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;K=64}}else{g=(f[m>>2]|0)+g|0;K=64}if((K|0)==64){K=0;f[h>>2]=g}k=k+1|0;g=f[J>>2]|0}while((k|0)<(g|0));kq(H);return 1}function mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=Ka,m=Ka,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=Ka;H=u;u=u+48|0;G=H+12|0;C=H+32|0;F=H;B=G+16|0;f[G>>2]=0;f[G+4>>2]=0;f[G+8>>2]=0;f[G+12>>2]=0;n[B>>2]=$(1.0);E=a+80|0;yk(F,f[E>>2]|0);g=f[E>>2]|0;a:do if((g|0)>0){y=c+48|0;z=c+40|0;v=G+4|0;x=G+12|0;t=G+8|0;A=a+40|0;w=a+64|0;s=f[d>>2]|0;g=0;r=0;q=0;while(1){i=s+r|0;k=y;o=f[k>>2]|0;k=f[k+4>>2]|0;j=z;j=Zm(i|0,((i|0)<0)<<31>>31|0,f[j>>2]|0,f[j+4>>2]|0)|0;k=Zn(j|0,I|0,o|0,k|0)|0;k=b[(f[f[c>>2]>>2]|0)+k>>0]|0;b[C>>0]=k;o=k&255^318;b:do if(g){j=g+-1|0;i=(j&g|0)==0;if(i)e=j&o;else e=(o>>>0)%(g>>>0)|0;h=f[G>>2]|0;d=f[h+(e<<2)>>2]|0;c:do if(d|0){if(i)do{d=f[d>>2]|0;if(!d)break c;if((f[d+4>>2]&j|0)!=(e|0))break c}while((b[d+8>>0]|0)!=k<<24>>24);else do{d=f[d>>2]|0;if(!d)break c;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(e|0))break c}while((b[d+8>>0]|0)!=k<<24>>24);f[(f[F>>2]|0)+(r<<2)>>2]=f[d+12>>2];e=q;break b}while(0);if(i)d=j&o;else d=(o>>>0)%(g>>>0)|0;e=f[h+(d<<2)>>2]|0;if(e)if(i)while(1){e=f[e>>2]|0;if(!e){e=0;p=28;break b}if((f[e+4>>2]&j|0)!=(d|0)){e=0;p=28;break b}if((b[e+8>>0]|0)==k<<24>>24){p=41;break}}else while(1){e=f[e>>2]|0;if(!e){e=0;p=28;break b}if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){e=0;p=28;break b}if((b[e+8>>0]|0)==k<<24>>24){p=41;break}}else{e=0;p=28}}else{g=0;d=0;e=1;p=28}while(0);if((p|0)==28){p=0;h=_m(16)|0;b[h+8>>0]=k;f[h+12>>2]=q;f[h+4>>2]=o;f[h>>2]=0;m=$(((f[x>>2]|0)+1|0)>>>0);J=$(g>>>0);l=$(n[B>>2]);do if(e|m>$(J*l)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(m/l)))>>>0;Gh(G,d>>>0>>0?e:d);d=f[v>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&o;break}else{g=d;d=(o>>>0)%(d>>>0)|0;break}}while(0);e=(f[G>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[h>>2]=f[t>>2];f[t>>2]=h;f[e>>2]=t;d=f[h>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[G>>2]|0)+(d<<2)|0;p=39}}else{f[h>>2]=f[d>>2];p=39}if((p|0)==39)f[d>>2]=h;f[x>>2]=(f[x>>2]|0)+1;p=41}if((p|0)==41){p=0;o=A;e=f[o>>2]|0;o=Zm(e|0,f[o+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;Eg((f[f[w>>2]>>2]|0)+o|0,C|0,e|0)|0;f[(f[F>>2]|0)+(r<<2)>>2]=q;e=q+1|0}d=r+1|0;g=f[E>>2]|0;if((d|0)>=(g|0)){o=e;break a}g=f[v>>2]|0;r=d;q=e}}else o=0;while(0);if((o|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){h=f[F>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;e=f[h>>2]|0;d=f[i>>2]|0;j=e-d>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(D=d+(g<<2)|0,(e|0)!=(D|0)):0)f[h>>2]=e+(~((e+-4-D|0)>>>2)<<2)}else{Pg(i,g-j|0,1204);g=f[E>>2]|0}if((g|0)>0){h=f[F>>2]|0;if(b[k>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[h+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[E>>2]=o}g=f[F>>2]|0;if(g|0){e=F+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[G+8>>2]|0;if(d|0)do{F=d;d=f[d>>2]|0;mq(F)}while((d|0)!=0);d=f[G>>2]|0;f[G>>2]=0;if(!d){u=H;return o|0}mq(d);u=H;return o|0}function nc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=0,s=Ka,t=Ka,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+28|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)v=-1073741824;else v=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;v=-1073741824}g=a+32|0;m=f[g>>2]|0;i=f[m+4>>2]|0;r=f[m>>2]|0;if(i-r>>2>>>0>c>>>0){g=r;k=i;l=m;i=r}else{Vo(m);l=f[g>>2]|0;g=f[l>>2]|0;k=f[l+4>>2]|0;i=f[m>>2]|0}c=f[i+(c<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+52|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}r=a+52|0;v=f[r>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+48>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+40|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;t=$(n[D>>2]);q=$(n[C>>2]);t=$(t-q);s=$(n[D+4>>2]);j=$(n[C+4>>2]);s=$(s-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(t*t)+$(0.0))+$(s*s))+$(p*p));if(o>$(0.0)){G=$($($($($(t*q)+$(0.0))+$(s*j))+$(p*h))/o);t=$(q-$(t*G));s=$(j-$(s*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(s*s)+$($(t*t)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[r>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+56|0;l=a+60|0;c=f[l>>2]|0;i=a+64|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function oc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=Ka;J=u;u=u+48|0;H=J+16|0;D=J+12|0;G=J;C=H+16|0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;n[C>>2]=$(1.0);F=a+80|0;yk(G,f[F>>2]|0);g=f[F>>2]|0;a:do if((g|0)>0){z=c+48|0;A=c+40|0;w=H+4|0;y=H+12|0;v=H+8|0;B=a+40|0;x=a+64|0;t=f[d>>2]|0;g=0;s=0;r=0;while(1){j=t+s|0;l=z;p=f[l>>2]|0;l=f[l+4>>2]|0;k=A;k=Zm(j|0,((j|0)<0)<<31>>31|0,f[k>>2]|0,f[k+4>>2]|0)|0;l=Zn(k|0,I|0,p|0,l|0)|0;l=(f[f[c>>2]>>2]|0)+l|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;f[D>>2]=l;p=l^318;b:do if(g){k=g+-1|0;j=(k&g|0)==0;if(j)e=k&p;else e=(p>>>0)%(g>>>0)|0;i=f[H>>2]|0;d=f[i+(e<<2)>>2]|0;c:do if(d|0){if(j)do{d=f[d>>2]|0;if(!d)break c;if((f[d+4>>2]&k|0)!=(e|0))break c}while((f[d+8>>2]|0)!=(l|0));else do{d=f[d>>2]|0;if(!d)break c;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(e|0))break c}while((f[d+8>>2]|0)!=(l|0));f[(f[G>>2]|0)+(s<<2)>>2]=f[d+12>>2];e=r;break b}while(0);if(j)d=k&p;else d=(p>>>0)%(g>>>0)|0;e=f[i+(d<<2)>>2]|0;if(e)if(j)while(1){e=f[e>>2]|0;if(!e){e=0;q=28;break b}if((f[e+4>>2]&k|0)!=(d|0)){e=0;q=28;break b}if((f[e+8>>2]|0)==(l|0)){q=41;break}}else while(1){e=f[e>>2]|0;if(!e){e=0;q=28;break b}if((((f[e+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(d|0)){e=0;q=28;break b}if((f[e+8>>2]|0)==(l|0)){q=41;break}}else{e=0;q=28}}else{g=0;d=0;e=1;q=28}while(0);if((q|0)==28){q=0;i=_m(16)|0;f[i+8>>2]=l;f[i+12>>2]=r;f[i+4>>2]=p;f[i>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);K=$(g>>>0);m=$(n[C>>2]);do if(e|o>$(K*m)){d=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;e=~~$(W($(o/m)))>>>0;si(H,d>>>0>>0?e:d);d=f[w>>2]|0;e=d+-1|0;if(!(e&d)){g=d;d=e&p;break}else{g=d;d=(p>>>0)%(d>>>0)|0;break}}while(0);e=(f[H>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){f[i>>2]=f[v>>2];f[v>>2]=i;f[e>>2]=v;d=f[i>>2]|0;if(d|0){d=f[d+4>>2]|0;e=g+-1|0;if(!(e&g))d=d&e;else d=(d>>>0)%(g>>>0)|0;d=(f[H>>2]|0)+(d<<2)|0;q=39}}else{f[i>>2]=f[d>>2];q=39}if((q|0)==39)f[d>>2]=i;f[y>>2]=(f[y>>2]|0)+1;q=41}if((q|0)==41){q=0;p=B;e=f[p>>2]|0;p=Zm(e|0,f[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Eg((f[f[x>>2]>>2]|0)+p|0,D|0,e|0)|0;f[(f[G>>2]|0)+(s<<2)>>2]=r;e=r+1|0}d=s+1|0;g=f[F>>2]|0;if((d|0)>=(g|0)){p=e;break a}g=f[w>>2]|0;s=d;r=e}}else p=0;while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;d=(f[a+72>>2]|0)-g|0;if((d|0)>0){i=f[G>>2]|0;e=d>>2;d=0;do{a=g+(d<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];d=d+1|0}while((d|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;d=f[j>>2]|0;k=e-d>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(E=d+(g<<2)|0,(e|0)!=(E|0)):0)f[i>>2]=e+(~((e+-4-E|0)>>>2)<<2)}else{Pg(j,g-k|0,1204);g=f[F>>2]|0}if((g|0)>0){i=f[G>>2]|0;if(b[l>>0]|0)Fa(19931,19950,89,20044);d=f[a+68>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(g|0))}}f[F>>2]=p}g=f[G>>2]|0;if(g|0){e=G+4|0;d=f[e>>2]|0;if((d|0)!=(g|0))f[e>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(g)}d=f[H+8>>2]|0;if(d|0)do{G=d;d=f[d>>2]|0;mq(G)}while((d|0)!=0);d=f[H>>2]|0;f[H>>2]=0;if(!d){u=J;return p|0}mq(d);u=J;return p|0}function pc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=0,s=Ka,t=Ka,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+48|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)v=-1073741824;else v=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;v=-1073741824}g=a+52|0;m=f[g>>2]|0;i=f[m+4>>2]|0;r=f[m>>2]|0;if(i-r>>2>>>0>c>>>0){g=r;k=i;l=m;i=r}else{Vo(m);l=f[g>>2]|0;g=f[l>>2]|0;k=f[l+4>>2]|0;i=f[m>>2]|0}c=f[i+(c<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+72|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}r=a+72|0;v=f[r>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+68>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+60|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;t=$(n[D>>2]);q=$(n[C>>2]);t=$(t-q);s=$(n[D+4>>2]);j=$(n[C+4>>2]);s=$(s-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(t*t)+$(0.0))+$(s*s))+$(p*p));if(o>$(0.0)){G=$($($($($(t*q)+$(0.0))+$(s*j))+$(p*h))/o);t=$(q-$(t*G));s=$(j-$(s*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(s*s)+$($(t*t)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[r>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+76|0;l=a+80|0;c=f[l>>2]|0;i=a+84|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function qc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=Ka,s=Ka,t=0,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+28|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);v=f[(f[i>>2]|0)+28>>2]|0;t=f[v+(c<<2)>>2]|0;v=f[v+(g<<2)>>2]|0;g=a+32|0;i=f[g>>2]|0;c=f[i+4>>2]|0;m=f[i>>2]|0;if(c-m>>2>>>0>t>>>0){k=c;l=i;c=m;g=m}else{Vo(i);g=f[g>>2]|0;k=f[g+4>>2]|0;l=g;c=f[i>>2]|0;g=f[g>>2]|0}c=f[c+(t<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+52|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}t=a+52|0;v=f[t>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+48>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+40|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;s=$(n[D>>2]);q=$(n[C>>2]);s=$(s-q);r=$(n[D+4>>2]);j=$(n[C+4>>2]);r=$(r-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(s*s)+$(0.0))+$(r*r))+$(p*p));if(o>$(0.0)){G=$($($($($(s*q)+$(0.0))+$(r*j))+$(p*h))/o);s=$(q-$(s*G));r=$(j-$(r*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[t>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+56|0;l=a+60|0;c=f[l>>2]|0;i=a+64|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function rc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[5982]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[5983]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[5980]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[5978]=f[5978]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=24216+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5979]=f[5979]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[5983]|0;if((k|0)==(f[5984]|0)){k=(f[5981]|0)+b|0;f[5981]=k;f[5984]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[5983]=0;f[5980]=0;return}if((k|0)==(a|0)){k=(f[5980]|0)+b|0;f[5980]=k;f[5983]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[5978]=f[5978]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=24216+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5979]=f[5979]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[5983]|0)){f[5980]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=23952+(a<<1<<2)|0;b=f[5978]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=24216+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[5979]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[5979]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[5986]|0)+-1|0;f[5986]=k;if(!k)a=24368;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[5986]=-1;return}function sc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=0,o=Ka,p=Ka,q=Ka,r=Ka,s=Ka,t=0,v=0,w=Ka,x=Ka,y=Ka,z=Ka,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+48|0;A=F+40|0;B=F+36|0;E=F+24|0;C=F+12|0;D=F;i=a+48|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);v=f[(f[i>>2]|0)+28>>2]|0;t=f[v+(c<<2)>>2]|0;v=f[v+(g<<2)>>2]|0;g=a+52|0;i=f[g>>2]|0;c=f[i+4>>2]|0;m=f[i>>2]|0;if(c-m>>2>>>0>t>>>0){k=c;l=i;c=m;g=m}else{Vo(i);g=f[g>>2]|0;k=f[g+4>>2]|0;l=g;c=f[i>>2]|0;g=f[g>>2]|0}c=f[c+(t<<2)>>2]|0;if(k-g>>2>>>0<=v>>>0){Vo(l);g=f[l>>2]|0}l=f[g+(v<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=F;return}while(0);k=a+72|0;e=f[k>>2]|0;i=X(e,c)|0;if((e|0)<=0){u=F;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=F;return}t=a+72|0;v=f[t>>2]|0;m=X(v,c)|0;x=$(f[d+(m<<2)>>2]|0);z=$(f[d+(m+1<<2)>>2]|0);v=X(v,l)|0;w=$(f[d+(v<<2)>>2]|0);y=$(f[d+(v+1<<2)>>2]|0);if(!(w!=x|y!=z)){a=f[a+68>>2]|0;f[a>>2]=~~w;f[a+4>>2]=~~y;u=F;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;m=a+60|0;i=f[m>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[B>>2]=g;g=b[i+24>>0]|0;f[A>>2]=f[B>>2];ab(i,A,g,E)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;c=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,c,C)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;g=f[m>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;v=b[g+24>>0]|0;f[A>>2]=f[B>>2];ab(g,A,v,D)|0;s=$(n[D>>2]);q=$(n[C>>2]);s=$(s-q);r=$(n[D+4>>2]);j=$(n[C+4>>2]);r=$(r-j);p=$(n[D+8>>2]);h=$(n[C+8>>2]);p=$(p-h);q=$($(n[E>>2])-q);j=$($(n[E+4>>2])-j);h=$($(n[E+8>>2])-h);o=$($($($(s*s)+$(0.0))+$(r*r))+$(p*p));if(o>$(0.0)){G=$($($($($(s*q)+$(0.0))+$(r*j))+$(p*h))/o);s=$(q-$(s*G));r=$(j-$(r*G));h=$(h-$(p*G));j=G;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/o)))}else{j=$(0.0);h=$(0.0)}p=$(w-x);o=$(y-z);G=$(x+$(p*j));p=$(p*h);z=$(z+$(o*j));j=$(o*h);o=$(G-j);h=$(z+p);j=$(G+j);p=$(z-p);m=X(f[t>>2]|0,e)|0;z=$(f[d+(m<<2)>>2]|0);G=$(f[d+(m+1<<2)>>2]|0);x=$(z-o);y=$(G-h);z=$(z-j);G=$(G-p);d=$($($(x*x)+$(0.0))+$(y*y))<$($($(z*z)+$(0.0))+$(G*G));m=a+76|0;l=a+80|0;c=f[l>>2]|0;i=a+84|0;g=f[i>>2]|0;k=(c|0)==(g<<5|0);if(d){if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(c&31);j=o}else{if(k){if((c+1|0)<0){Wo(m);g=f[i>>2]|0}d=g<<6;c=c+32&-32;bi(m,g<<5>>>0<1073741823?(d>>>0>>0?c:d):2147483647);c=f[l>>2]|0}f[l>>2]=c+1;d=(f[m>>2]|0)+(c>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(c&31));h=p}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=F;return}function tc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))zi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];qg(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];qg(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;d=d+(i>>>5<<2)|0;f[d>>2]=1<<(i&31)|f[d>>2];d=f[b>>2]|0;i=f[(f[e+28>>2]|0)+(d<<2)>>2]|0;c=f[(f[e+40>>2]|0)+(i<<2)>>2]|0;if((c|0)<0)j=1;else{j=f[(f[f[e+64>>2]>>2]|0)+(c<<2)>>2]|0;j=(1<<(j&31)&f[(f[e+12>>2]|0)+(j>>>5<<2)>>2]|0)!=0}g=(f[n>>2]|0)+(i>>>5<<2)|0;h=1<<(i&31);c=f[g>>2]|0;if(!(c&h)){f[g>>2]=c|h;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];qg(k,t,w);e=f[a>>2]|0;c=f[b>>2]|0;if(j){d=c;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)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}}else y=40;if((y|0)==40){y=0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){zi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function uc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))zi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];qg(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];qg(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){e=(c|0)/3|0;g=d+(e>>>5<<2)|0;f[g>>2]=1<<(e&31)|f[g>>2];g=f[b>>2]|0;e=f[a>>2]|0;if((g|0)<0)j=-1073741824;else j=f[(f[e>>2]|0)+(g<<2)>>2]|0;d=f[(f[e+24>>2]|0)+(j<<2)>>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){d=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;c=d+1|0;if((d|0)<0)i=d;else i=((c|0)%3|0|0)==0?d+-2|0:c}else i=c}else i=d;d=(f[n>>2]|0)+(j>>>5<<2)|0;h=1<<(j&31);c=f[d>>2]|0;if(!(c&h)){f[d>>2]=c|h;f[s>>2]=j;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];qg(k,t,w);d=f[a>>2]|0;c=f[b>>2]|0;if((i|0)<0){g=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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}}else y=41;if((y|0)==41){y=0;if((g|0)<0){y=44;break}c=g+1|0;c=((c|0)%3|0|0)==0?g+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=49;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=54;break a}}else y=49;while(0);if((y|0)==49){y=0;if(g){y=51;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=51;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==44){f[w>>2]=-1073741824;y=51}else if((y|0)==54){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){zi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==51){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function vc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+48|0;v=w+24|0;t=w+12|0;s=w;q=a+32|0;r=a+8|0;o=a+12|0;b=f[o>>2]|0;c=f[r>>2]|0;i=b-c>>2;g=a+36|0;e=f[g>>2]|0;d=f[q>>2]|0;j=e-d>>2;if(i>>>0<=j>>>0){if(i>>>0>>0?(h=d+(i<<2)|0,(e|0)!=(h|0)):0)f[g>>2]=e+(~((e+-4-h|0)>>>2)<<2)}else{gi(q,i-j|0);c=f[r>>2]|0;b=f[o>>2]|0}e=b-c|0;d=e>>2;f[v>>2]=0;c=v+4|0;f[c>>2]=0;b=v+8|0;f[b>>2]=0;if(d|0){if((e|0)<0)Wo(v);l=((d+-1|0)>>>5)+1|0;m=_m(l<<2)|0;f[v>>2]=m;f[b>>2]=l;f[c>>2]=d;b=d>>>5;Xi(m|0,0,b<<2|0)|0;c=d-(b<<5)|0;b=m+(b<<2)|0;if(c|0)f[b>>2]=f[b>>2]&~(-1>>>(32-c|0))}m=a+20|0;b=f[r>>2]|0;d=b;c=f[o>>2]|0;e=0;while(1){if(e>>>0>2>>>0){g=0;l=0}else{n=25;break}while(1){j=l>>>5;k=1<<(l&31);do if(!(f[(f[v>>2]|0)+(j<<2)>>2]&k)){c=f[b+(l<<2)>>2]|0;if((f[c+8>>2]|0)!=(f[c+4>>2]|0)){d=1;i=0;do{h=f[(f[c+4>>2]|0)+(i<<2)>>2]|0;c=0;while(1){b=f[b+(l<<2)>>2]|0;if((c|0)>=(Va[f[(f[b>>2]|0)+24>>2]&127](b,h)|0))break;b=f[(f[r>>2]|0)+(l<<2)>>2]|0;b=Ma[f[(f[b>>2]|0)+28>>2]&31](b,h,c)|0;if((b|0)!=(l|0)?(b=f[(f[m>>2]|0)+(b<<2)>>2]|0,(1<<(b&31)&f[(f[v>>2]|0)+(b>>>5<<2)>>2]|0)==0):0){d=0;break}b=f[r>>2]|0;c=c+1|0}i=i+1|0;b=f[r>>2]|0;c=f[b+(l<<2)>>2]|0}while(i>>>0<(f[c+8>>2]|0)-(f[c+4>>2]|0)>>2>>>0);if(!d){d=b;h=e;break}}else b=d;f[(f[q>>2]|0)+(e<<2)>>2]=l;d=(f[v>>2]|0)+(j<<2)|0;f[d>>2]=f[d>>2]|k;d=b;g=1;h=e+1|0}else h=e;while(0);l=l+1|0;c=f[o>>2]|0;e=c-d>>2;b=d;if(l>>>0>=e>>>0)break;else e=h}if(h>>>0>>0&(g^1)){c=0;break}else e=h}if((n|0)==25){f[t>>2]=0;n=t+4|0;f[n>>2]=0;f[t+8>>2]=0;e=f[a+4>>2]|0;e=(f[e+12>>2]|0)-(f[e+8>>2]|0)|0;d=e>>2;f[s>>2]=0;c=s+4|0;f[c>>2]=0;b=s+8|0;f[b>>2]=0;if(d|0){if((e|0)<0)Wo(s);m=((d+-1|0)>>>5)+1|0;a=_m(m<<2)|0;f[s>>2]=a;f[b>>2]=m;f[c>>2]=d;b=d>>>5;Xi(a|0,0,b<<2|0)|0;c=d-(b<<5)|0;b=a+(b<<2)|0;if(c|0)f[b>>2]=f[b>>2]&~(-1>>>(32-c|0))}b=f[o>>2]|0;c=f[r>>2]|0;a:do if((b|0)==(c|0))c=1;else{a=0;while(1){l=f[(f[q>>2]|0)+(a<<2)>>2]|0;k=f[c+(l<<2)>>2]|0;k=(f[k+8>>2]|0)-(f[k+4>>2]|0)|0;m=k>>2;if((k|0)>=8){c=f[n>>2]|0;b=f[t>>2]|0;d=c-b>>2;if(m>>>0<=d>>>0)if(m>>>0>>0?(p=b+(m<<2)|0,(c|0)!=(p|0)):0){f[n>>2]=c+(~((c+-4-p|0)>>>2)<<2);b=0}else b=0;else{gi(t,m-d|0);b=0}while(1){if((b|0)<(m|0)){c=0;k=0}else break;do{d=f[(f[r>>2]|0)+(l<<2)>>2]|0;h=f[(f[d+4>>2]|0)+(k<<2)>>2]|0;i=k>>>5;j=1<<(k&31);if(!(f[(f[s>>2]|0)+(i<<2)>>2]&j)){e=d;d=1;g=0;while(1){if((g|0)>=(Va[f[(f[e>>2]|0)+24>>2]&127](e,h)|0))break;e=f[(f[r>>2]|0)+(l<<2)>>2]|0;e=Ma[f[(f[e>>2]|0)+28>>2]&31](e,h,g)|0;e=(f[(f[s>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0)!=0;d=d&e;if(!e)break;e=f[(f[r>>2]|0)+(l<<2)>>2]|0;g=g+1|0}if(d){f[(f[t>>2]|0)+(b<<2)>>2]=k;c=(f[s>>2]|0)+(i<<2)|0;f[c>>2]=f[c>>2]|j;c=1;b=b+1|0}}k=k+1|0}while((k|0)<(m|0));if(!(c|(b|0)>=(m|0))){c=0;break a}}lg(f[(f[r>>2]|0)+(l<<2)>>2]|0,t);c=f[r>>2]|0;b=f[o>>2]|0}a=a+1|0;if(a>>>0>=b-c>>2>>>0){c=1;break}}}while(0);b=f[s>>2]|0;if(b|0)mq(b);b=f[t>>2]|0;if(b|0){d=f[n>>2]|0;if((d|0)!=(b|0))f[n>>2]=d+(~((d+-4-b|0)>>>2)<<2);mq(b)}}b=f[v>>2]|0;if(!b){u=w;return c|0}mq(b);u=w;return c|0}function wc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;o=r+16|0;p=r+12|0;g=r+29|0;q=r;k=r+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){q=1;u=r;return q|0}b[g>>0]=-2;n=a+36|0;e=f[n>>2]|0;if(e)if(Va[f[(f[a>>2]|0)+40>>2]&127](a,e)|0){j=f[n>>2]|0;j=(Ra[f[(f[j>>2]|0)+8>>2]&127](j)|0)&255;b[g>>0]=j;j=5}else e=0;else j=5;if((j|0)==5){m=d+16|0;l=m;i=f[l+4>>2]|0;if(!((i|0)>0|(i|0)==0&(f[l>>2]|0)>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,g,g+1|0)|0}e=f[n>>2]|0;if(e|0?(l=(Ra[f[(f[e>>2]|0)+36>>2]&127](e)|0)&255,b[q>>0]=l,l=m,i=f[l+4>>2]|0,!((i|0)>0|(i|0)==0&(f[l>>2]|0)>>>0>0)):0){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,q,q+1|0)|0}e=f[a+32>>2]|0;i=b[e+24>>0]|0;l=X(i,f[e+80>>2]|0)|0;e=(f[f[e>>2]>>2]|0)+(f[e+48>>2]|0)|0;yk(q,l);g=f[n>>2]|0;if((g|0)!=0?(Qa[f[(f[g>>2]|0)+44>>2]&31](g,e,f[q>>2]|0,l,i,f[c>>2]|0)|0,h=f[n>>2]|0,(h|0)!=0):0){if(!(Ra[f[(f[h>>2]|0)+32>>2]&127](h)|0)){g=q;e=(f[n>>2]|0)==0?e:f[q>>2]|0;j=16}}else{g=q;j=16}if((j|0)==16)nm(e,l,f[g>>2]|0);e=f[a+4>>2]|0;do if((e|0)!=0?(j=f[e+48>>2]|0,f[o>>2]=0,f[o+4>>2]=0,f[o+8>>2]=0,Kj(o,11500,34),j=Pj(j,o,1)|0,_n(o),!j):0){i=(l|0)==0;if(!i){e=f[q>>2]|0;g=0;h=0;do{h=f[e+(g<<2)>>2]|h;g=g+1|0}while((g|0)!=(l|0));if(h)a=((_(h|0)|0)>>>3^3)+1|0;else a=1}else a=1;b[k>>0]=0;e=m;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,k,k+1|0)|0;g=m;e=f[g+4>>2]|0;g=f[g>>2]|0}b[k>>0]=a;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,k,k+1|0)|0}if((a|0)==(Ql(5)|0)){e=f[q>>2]|0;k=f[m+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[m>>2]|0)>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,e,e+(l<<2)|0)|0}j=40;break}if(i)j=40;else{e=d+4|0;h=0;do{g=(f[q>>2]|0)+(h<<2)|0;k=m;j=f[k+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){f[p>>2]=f[e>>2];f[o>>2]=f[p>>2];Ie(d,o,g,g+a|0)|0}h=h+1|0}while(h>>>0>>0);j=40}}else j=21;while(0);if((j|0)==21){b[k>>0]=1;l=f[m+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[m>>2]|0)>>>0>0)){f[p>>2]=f[d+4>>2];f[o>>2]=f[p>>2];Ie(d,o,k,k+1|0)|0}if(Nc(f[q>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,i)|0,i,d)|0)j=40;else e=0}if((j|0)==40){e=f[n>>2]|0;if(!e)e=1;else{Va[f[(f[e>>2]|0)+40>>2]&127](e,d)|0;e=1}}i=f[q>>2]|0;if(i|0){h=q+4|0;g=f[h>>2]|0;if((g|0)!=(i|0))f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2);mq(i)}}q=e;u=r;return q|0}function xc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Fa(13062,13084,46,13248);if(!(f[a+8>>2]|0))Fa(13062,13084,46,13248);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Bg(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Bg(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Bg(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=Dn(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=Dn(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=Dn(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=Dn(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=Dn(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Zm(H|0,J|0,i|0,h|0)|0;M=I;P=Zm(T|0,S|0,K|0,L|0)|0;O=I;L=Zm(R|0,Q|0,K|0,L|0)|0;K=I;J=Zm(H|0,J|0,n|0,j|0)|0;H=I;j=Zm(T|0,S|0,n|0,j|0)|0;n=I;h=Zm(R|0,Q|0,i|0,h|0)|0;i=I;l=Dn(l|0,k|0,P|0,O|0)|0;l=Zn(l|0,I|0,N|0,M|0)|0;k=I;g=Zn(L|0,K|0,g|0,m|0)|0;g=Dn(g|0,I|0,J|0,H|0)|0;m=I;c=Dn(c|0,e|0,h|0,i|0)|0;c=Zn(c|0,I|0,j|0,n|0)|0;e=I;xf(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=Dn(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=Dn(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=Dn(0,0,c|0,e|0)|0;S=Zn((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Zn(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=yn(h|0,i|0,29)|0;T=T&7;i=kk(l|0,k|0,T|0,0)|0;j=I;g=kk(g|0,m|0,T|0,0)|0;h=I;c=kk(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=yn(h|0,i|0,29)|0;T=I;i=kk(l|0,k|0,S|0,T|0)|0;j=I;g=kk(g|0,m|0,S|0,T|0)|0;h=I;c=kk(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=Dn(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=Dn(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=Dn(0,0,c|0,e|0)|0;Q=Zn((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Zn(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Fa(13270,13084,95,13248)}function yc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))Fa(13062,13084,46,13248);if(!(f[a+8>>2]|0))Fa(13062,13084,46,13248);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Gg(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Gg(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Gg(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=Dn(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=Dn(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=Dn(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=Dn(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=Dn(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=Zm(H|0,J|0,i|0,h|0)|0;M=I;P=Zm(T|0,S|0,K|0,L|0)|0;O=I;L=Zm(R|0,Q|0,K|0,L|0)|0;K=I;J=Zm(H|0,J|0,n|0,j|0)|0;H=I;j=Zm(T|0,S|0,n|0,j|0)|0;n=I;h=Zm(R|0,Q|0,i|0,h|0)|0;i=I;l=Dn(l|0,k|0,P|0,O|0)|0;l=Zn(l|0,I|0,N|0,M|0)|0;k=I;g=Zn(L|0,K|0,g|0,m|0)|0;g=Dn(g|0,I|0,J|0,H|0)|0;m=I;c=Dn(c|0,e|0,h|0,i|0)|0;c=Zn(c|0,I|0,j|0,n|0)|0;e=I;Lg(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=Dn(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=Dn(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=Dn(0,0,c|0,e|0)|0;S=Zn((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Zn(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=yn(h|0,i|0,29)|0;T=T&7;i=kk(l|0,k|0,T|0,0)|0;j=I;g=kk(g|0,m|0,T|0,0)|0;h=I;c=kk(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=yn(h|0,i|0,29)|0;T=I;i=kk(l|0,k|0,S|0,T|0)|0;j=I;g=kk(g|0,m|0,S|0,T|0)|0;h=I;c=kk(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=Dn(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=Dn(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=Dn(0,0,c|0,e|0)|0;Q=Zn((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Zn(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else Fa(13270,13084,95,13248)}function zc(a,c){a=a|0;c=c|0;var d=0,e=0,g=Ka,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=Ka;t=b[c+11>>0]|0;v=t<<24>>24<0;u=v?f[c>>2]|0:c;t=v?f[c+4>>2]|0:t&255;if(t>>>0>3){j=u;m=t;k=t;while(1){v=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(v>>>24^v,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}v=t+-4|0;k=v&-4;l=u+(k+4)|0;j=m;k=v-k|0}else{l=u;j=t;k=t}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;x=6;break}case 2:{o=j;x=6;break}case 1:{p=j;x=7;break}default:q=j}if((x|0)==6){p=h[l+1>>0]<<8^o;x=7}if((x|0)==7)q=X(h[l>>0]^p,1540483477)|0;v=X(q>>>13^q,1540483477)|0;v=v>>>15^v;r=a+4|0;q=f[r>>2]|0;s=(q|0)==0;a:do if(!s){o=q+-1|0;k=(o&q|0)==0;if(k)p=v&o;else p=(v>>>0)%(q>>>0)|0;j=f[(f[a>>2]|0)+(p<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){j=(t|0)==0;if(k){if(j){while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}u=b[e+8+11>>0]|0;if(!((u<<24>>24<0?f[e+12>>2]|0:u&255)|0))break;e=f[e>>2]|0;if(!e){d=p;break a}}a=e+20|0;return a|0}b:while(1){if((f[e+4>>2]&o|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(il(k,u,t)|0)){x=54;break b}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break b}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}else{if(j){d=e;while(1){if((((f[d+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}u=b[d+8+11>>0]|0;if(!((u<<24>>24<0?f[d+12>>2]|0:u&255)|0)){e=d;break}d=f[d>>2]|0;if(!d){d=p;break a}}a=e+20|0;return a|0}c:while(1){if((((f[e+4>>2]|0)>>>0)%(q>>>0)|0|0)!=(p|0)){d=p;break a}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(t|0)){k=f[j>>2]|0;if(m)if(!(il(k,u,t)|0)){x=54;break c}else break;if((k&255)<<24>>24==(b[u>>0]|0)){k=u;do{l=l+-1|0;j=j+1|0;if(!l){x=54;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=p;break a}}if((x|0)==54){a=e+20|0;return a|0}}}else d=p}else d=0;while(0);l=_m(24)|0;dl(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=v;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);y=$(q>>>0);g=$(n[a+16>>2]);do if(s|i>$(y*g)){d=(q>>>0<3|(q+-1&q|0)!=0)&1|q<<1;e=~~$(W($(i/g)))>>>0;Rh(a,d>>>0>>0?e:d);d=f[r>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&v;break}else{j=d;d=(v>>>0)%(d>>>0)|0;break}}else j=q;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(!(e&j))d=d&e;else d=(d>>>0)%(j>>>0)|0;w=(f[a>>2]|0)+(d<<2)|0;x=52}}else{f[l>>2]=f[d>>2];w=d;x=52}if((x|0)==52)f[w>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else zi(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))zi(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else zi(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){zi(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)Fa(19877,19795,64,19872);else if((C|0)==33)Fa(19877,19795,64,19872)}function Bc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;B=u;u=u+16|0;A=B+4|0;z=B;if(!(Ci(a,d)|0)){a=0;u=B;return a|0}v=a+64|0;d=f[v>>2]|0;a:do if(((f[d+4>>2]|0)-(f[d>>2]|0)|0)>0){s=a+12|0;w=c+96|0;t=c+100|0;x=e+84|0;r=e+68|0;y=a+24|0;q=0;b:while(1){f[z>>2]=(q>>>0)/3|0;f[A>>2]=f[z>>2];p=Cj(d,A)|0;d=f[v>>2]|0;do if(!p){p=f[(f[d+12>>2]|0)+(q<<2)>>2]|0;if((p|0)<0){g=(f[a>>2]|0)+(q>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(q&31);g=q+1|0;g=((g|0)%3|0|0)==0?q+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;p=(f[s>>2]|0)+(g>>>5<<2)|0;f[p>>2]=f[p>>2]|1<<(g&31);g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;p=(f[s>>2]|0)+(g>>>5<<2)|0;f[p>>2]=f[p>>2]|1<<(g&31);break}if((p|0)>=(q|0)){o=q+1|0;k=((o|0)%3|0|0)==0?q+-2|0:o;i=p+(((p>>>0)%3|0|0)==0?2:-1)|0;h=(k|0)/3|0;if((k|0)<=-3){d=17;break b}g=f[w>>2]|0;n=((f[t>>2]|0)-g|0)/12|0;if((h|0)>=(n|0)){d=19;break b}m=g;j=f[m+(h*12|0)+(((k|0)%3|0)<<2)>>2]|0;g=(i|0)/3|0;if((i|0)<=-3){d=21;break b}if((g|0)>=(n|0)){d=23;break b}g=f[m+(g*12|0)+(((i|0)%3|0)<<2)>>2]|0;l=(b[x>>0]|0)==0;if(l){C=f[r>>2]|0;h=f[C+(g<<2)>>2]|0;g=f[C+(j<<2)>>2]|0}else{h=g;g=j}if((g|0)==(h|0)){g=k+1|0;if((k|0)<0)h=k;else h=((g|0)%3|0|0)==0?k+-2|0:g;do if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}while(0);g=(h|0)/3|0;if((h|0)<=-3){d=17;break b}if((g|0)>=(n|0)){d=19;break b}g=f[m+(g*12|0)+(((h|0)%3|0)<<2)>>2]|0;h=(i|0)/3|0;if((i|0)<=-3){d=21;break b}if((h|0)>=(n|0)){d=23;break b}h=f[m+(h*12|0)+(((i|0)%3|0)<<2)>>2]|0;if(l){C=f[r>>2]|0;h=f[C+(h<<2)>>2]|0;g=f[C+(g<<2)>>2]|0}if((g|0)==(h|0))break}b[y>>0]=0;g=f[a>>2]|0;C=g+(q>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(q&31);g=g+(p>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(p&31);g=((o|0)%3|0|0)==0?q+-2|0:o;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31);g=(((q>>>0)%3|0|0)==0?2:-1)+q|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31);g=p+1|0;g=((g|0)%3|0|0)==0?p+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31);g=(((p>>>0)%3|0|0)==0?2:-1)+p|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;C=(f[s>>2]|0)+(g>>>5<<2)|0;f[C>>2]=f[C>>2]|1<<(g&31)}}while(0);q=q+1|0;if((q|0)>=((f[d+4>>2]|0)-(f[d>>2]|0)>>2|0))break a}if((d|0)==17)Fa(19770,19795,63,19872);else if((d|0)==19)Fa(19877,19795,64,19872);else if((d|0)==21)Fa(19770,19795,63,19872);else if((d|0)==23)Fa(19877,19795,64,19872)}while(0);if((c|0)!=0&(e|0)!=0){Ac(a,c,e);C=1;u=B;return C|0}else{Mc(a,0,0);C=1;u=B;return C|0}return 0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+32|0;t=v+12|0;q=v+8|0;p=v+4|0;r=v;s=a+8|0;a:do if(f[s>>2]|0?(o=f[a>>2]|0,n=a+4|0,f[a>>2]=n,f[(f[n>>2]|0)+8>>2]=0,f[n>>2]=0,f[s>>2]=0,d=f[o+4>>2]|0,d=(d|0)==0?o:d,d|0):0){o=a+4|0;g=f[b>>2]|0;e=g;m=d;while(1){if((g|0)==(f[c>>2]|0))break;h=m+16|0;f[h>>2]=f[g+16>>2];if((m|0)!=(g|0)){f[p>>2]=f[g+20>>2];f[r>>2]=g+24;f[q>>2]=f[p>>2];f[t>>2]=f[r>>2];Kc(m+20|0,q,t)}j=m+8|0;g=f[j>>2]|0;do if(g){d=f[g>>2]|0;if((d|0)==(m|0)){f[g>>2]=0;d=f[g+4>>2]|0;if(!d){l=g;break}while(1){g=f[d>>2]|0;if(g|0){d=g;continue}g=f[d+4>>2]|0;if(!g)break;else d=g}l=d;break}else{f[g+4>>2]=0;if(!d){l=g;break}while(1){g=f[d>>2]|0;if(g|0){d=g;continue}g=f[d+4>>2]|0;if(!g)break;else d=g}l=d;break}}else l=0;while(0);d=f[n>>2]|0;do if(d){h=f[h>>2]|0;i=d;while(1){if((h|0)<(f[i+16>>2]|0)){d=f[i>>2]|0;if(!d){k=22;break}}else{g=i+4|0;d=f[g>>2]|0;if(!d){k=25;break}}i=d}if((k|0)==22){d=i;g=i;break}else if((k|0)==25){d=i;break}}else{d=n;g=n}while(0);f[m>>2]=0;f[m+4>>2]=0;f[j>>2]=d;f[g>>2]=m;d=f[f[a>>2]>>2]|0;if(!d)d=m;else{f[a>>2]=d;d=f[g>>2]|0}Je(f[o>>2]|0,d);f[s>>2]=(f[s>>2]|0)+1;d=f[e+4>>2]|0;if(!d)while(1){d=f[e+8>>2]|0;if((f[d>>2]|0)==(e|0))break;else e=d}else while(1){e=f[d>>2]|0;if(!e)break;else d=e}f[b>>2]=d;if(!l)break a;else{e=d;g=d;m=l}}d=f[m+8>>2]|0;if(!d)d=m;else while(1){e=f[d+8>>2]|0;if(!e)break;else d=e}tj(a,d)}while(0);d=f[b>>2]|0;l=f[c>>2]|0;if((d|0)==(l|0)){u=v;return}m=a+4|0;n=a+4|0;g=d;e=d;while(1){Ig(t,a,g+16|0);g=f[m>>2]|0;do if(g){d=f[t>>2]|0;i=f[d+16>>2]|0;j=g;while(1){if((i|0)<(f[j+16>>2]|0)){g=f[j>>2]|0;if(!g){k=41;break}}else{h=j+4|0;g=f[h>>2]|0;if(!g){k=44;break}}j=g}if((k|0)==41){g=j;h=j;break}else if((k|0)==44){g=j;break}}else{d=f[t>>2]|0;g=m;h=m}while(0);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=g;f[h>>2]=d;g=f[f[a>>2]>>2]|0;if(g){f[a>>2]=g;d=f[h>>2]|0}Je(f[n>>2]|0,d);f[s>>2]=(f[s>>2]|0)+1;d=f[e+4>>2]|0;if(!d)while(1){d=f[e+8>>2]|0;if((f[d>>2]|0)==(e|0))break;else e=d}else while(1){e=f[d>>2]|0;if(!e)break;else d=e}f[b>>2]=d;if((d|0)==(l|0))break;else{g=d;e=d}}u=v;return}function Dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))Fa(20527,20426,68,20517);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);mq(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;mq(g)}mq(e)}mq(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}mq(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){Gi(d);mq(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){Gi(c);mq(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){dm(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function Ec(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+4|0;i=f[w>>2]|0;v=a+100|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=0}else{i=Pi(a)|0;k=0}a:while(1){switch(i|0){case 46:{o=8;break a}case 48:break;default:{u=0;n=0;q=0;j=0;r=k;t=0;s=0;m=1.0;k=0;g=0.0;break a}}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=1;continue}else{i=Pi(a)|0;k=1;continue}}if((o|0)==8){i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Pi(a)|0;if((i|0)==48){k=0;j=0;do{i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Pi(a)|0;k=Zn(k|0,j|0,-1,-1)|0;j=I}while((i|0)==48);u=0;n=0;q=k;r=1;t=1;s=0;m=1.0;k=0;g=0.0}else{u=0;n=0;q=0;j=0;r=k;t=1;s=0;m=1.0;k=0;g=0.0}}while(1){p=i+-48|0;o=(i|0)==46;if(p>>>0>=10?!(o|((i|32)+-97|0)>>>0<6):0)break;if(o)if(!t){q=n;j=u;p=u;t=1;o=s;l=m}else{i=46;break}else{i=(i|0)>57?(i|32)+-87|0:p;do if(!((u|0)<0|(u|0)==0&n>>>0<8))if((u|0)<0|(u|0)==0&n>>>0<14){m=m*.0625;o=s;l=m;g=g+m*+(i|0);break}else{r=(s|0)!=0|(i|0)==0;o=r?s:1;l=m;g=r?g:g+m*.5;break}else{o=s;l=m;k=i+(k<<4)|0}while(0);n=Zn(n|0,u|0,1,0)|0;p=I;r=1}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;u=p;i=h[i>>0]|0;s=o;m=l;continue}else{u=p;i=Pi(a)|0;s=o;m=l;continue}}do if(!r){i=f[v>>2]|0;j=(i|0)!=0;if(j)f[w>>2]=(f[w>>2]|0)+-1;if(e){if(j)f[w>>2]=(f[w>>2]|0)+-1;if(!((t|0)==0|(i|0)==0))f[w>>2]=(f[w>>2]|0)+-1}else Lm(a,0);g=+(d|0)*0.0}else{o=(t|0)==0;p=o?n:q;o=o?u:j;if((u|0)<0|(u|0)==0&n>>>0<8){j=u;do{k=k<<4;n=Zn(n|0,j|0,1,0)|0;j=I}while((j|0)<0|(j|0)==0&n>>>0<8)}if((i|32|0)==112){j=$e(a,e)|0;i=I;if((j|0)==0&(i|0)==-2147483648){if(!e){Lm(a,0);g=0.0;break}if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}}}else if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}w=tn(p|0,o|0,2)|0;w=Zn(w|0,I|0,-32,-1)|0;i=Zn(w|0,I|0,j|0,i|0)|0;j=I;if(!k){g=+(d|0)*0.0;break}w=0-c|0;e=((w|0)<0)<<31>>31;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>w>>>0){b=aq()|0;f[b>>2]=34;g=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}w=c+-106|0;e=((w|0)<0)<<31>>31;if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0){b=aq()|0;f[b>>2]=34;g=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((k|0)>-1){do{w=!(g>=.5);k=k<<1|(w^1)&1;g=g+(w?g:g+-1.0);i=Zn(i|0,j|0,-1,-1)|0;j=I}while((k|0)>-1);n=i;m=g}else{n=i;m=g}w=((b|0)<0)<<31>>31;i=Dn(32,0,c|0,((c|0)<0)<<31>>31|0)|0;i=Zn(i|0,I|0,n|0,j|0)|0;c=I;if((w|0)>(c|0)|(w|0)==(c|0)&b>>>0>i>>>0)if((i|0)>0)o=59;else{j=0;i=84;o=61}else{i=b;o=59}if((o|0)==59)if((i|0)<53){j=i;i=84-i|0;o=61}else{l=0.0;g=+(d|0)}if((o|0)==61){g=+(d|0);l=+Sp(+Qj(1.0,i),g);i=j}d=(k&1|0)==0&(m!=0.0&(i|0)<32);g=g*(d?0.0:m)+(l+g*+(((d&1)+k|0)>>>0))-l;if(!(g!=0.0)){d=aq()|0;f[d>>2]=34}g=+Tp(g,n)}while(0);return +g}function Fc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=Ka,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=Ka;E=u;u=u+112|0;x=E+104|0;y=E+64|0;o=E+24|0;A=E+16|0;p=E+92|0;r=E+80|0;q=E+68|0;z=E;B=E+52|0;C=E+40|0;D=E+28|0;f[o>>2]=0;m=f[a>>2]|0;v=a+4|0;h=f[v>>2]|0;w=c+4|0;if((h|0)==(f[w>>2]|0))g=$(0.0);else{l=m+84|0;i=m+68|0;j=r+4|0;k=q+8|0;g=$(0.0);do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,p)|0;F=$(K($(n[p>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,r)|0;F=$(K($(n[j>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,q)|0;F=$(K($(n[k>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;h=h+1|0;g=(f[s>>2]=t,$(n[s>>2]))}while((h|0)!=(f[w>>2]|0))}t=(1<>2])+-1|0;dp(A);no(A,g,t);n[d+4>>2]=g;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;d=f[a>>2]|0;h=f[v>>2]|0;if((h|0)==(f[w>>2]|0)){D=f[e>>2]|0;u=E;return D|0}r=d+84|0;l=d+68|0;a=A+4|0;q=C+4|0;p=z+4|0;o=D+8|0;m=z+8|0;c=f[e>>2]|0;j=c+4|0;k=c+8|0;i=h;do{f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,B)|0;F=$(n[B>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[z>>2]=(v?0-e|0:e)+t;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,C)|0;F=$(n[q>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[p>>2]=(v?0-e|0:e)+t;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,D)|0;F=$(n[o>>2]);e=F<$(0.0);g=$(-F);F=$((e?g:F)/$(n[A>>2]));h=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[m>>2]=(e?0-h|0:h)+t;h=f[j>>2]|0;if((h|0)==(f[k>>2]|0))_g(c,z);else{f[h>>2]=f[z>>2];f[h+4>>2]=f[p>>2];f[h+8>>2]=f[m>>2];f[j>>2]=h+12}i=i+1|0}while((i|0)!=(f[w>>2]|0));u=E;return c|0}function Gc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2004;e=b;f[a>>2]=e;return}case 2:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2060;e=b;f[a>>2]=e;return}case 4:{b=_m(112)|0;f[b>>2]=1528;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2116;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(88)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2172;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(104)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2228;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(140)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2284;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2340;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Hc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1640;e=b;f[a>>2]=e;return}case 2:{b=_m(60)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1696;e=b;f[a>>2]=e;return}case 4:{b=_m(112)|0;f[b>>2]=1528;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1752;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=_m(88)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1808;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=_m(104)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1864;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=_m(140)|0;f[b>>2]=1528;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1920;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1976;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;an(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Ic(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>203){f[c>>2]=b+-204;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{dm(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}g=_m(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){mq(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}d=_m(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=_m(4080)|0;f[j>>2]=e;sg(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;ng(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)mq(d);u=o;return}if((c|0)!=(b|0)){n=_m(4080)|0;f[k>>2]=n;sg(a,k);u=o;return}j=_m(4080)|0;f[k>>2]=j;ng(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{dm(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}g=_m(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){mq(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function Jc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;F=u;u=u+352|0;C=F+340|0;B=F+336|0;l=F+80|0;E=F+48|0;D=F;Xi(l|0,0,256)|0;i=f[e+4>>2]|0;j=f[e>>2]|0;k=j;if((i|0)!=(j|0)){j=i-j>>2;i=0;do{A=l+(f[k+(i<<2)>>2]<<3)|0;z=A;z=Zn(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;f[A>>2]=z;f[A+4>>2]=I;i=i+1|0}while(i>>>0>>0)}jn(E);w=c<<5;y=D+40|0;z=y;f[z>>2]=0;f[z+4>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;bd(D,l,32,g)|0;z=D+16|0;z=tn(f[z>>2]|0,f[z+4>>2]|0,1)|0;A=g+4|0;x=(f[A>>2]|0)-(f[g>>2]|0)|0;v=y;f[v>>2]=x;f[v+4>>2]=0;z=Zn(z|0,I|0,39,0)|0;z=yn(z|0,I|0,3)|0;z=Zn(z|0,I|0,8,0)|0;x=Zn(z|0,I|0,x|0,0)|0;sl(g,x,I);x=D+24|0;f[x>>2]=(f[g>>2]|0)+(f[y>>2]|0);y=D+28|0;f[y>>2]=0;z=D+32|0;f[z>>2]=16384;qi(E,w,((w|0)<0)<<31>>31,0)|0;w=c-d|0;a:do if((w|0)>-1){t=(d|0)>0;s=E+16|0;r=E+12|0;v=w;b:while(1){j=f[e>>2]|0;l=f[j+(((v|0)/(d|0)|0)<<2)>>2]|0;c=f[D>>2]|0;m=f[c+(l<<3)>>2]|0;i=f[z>>2]|0;k=m<<10;if(i>>>0>=k>>>0){do{p=f[x>>2]|0;q=f[y>>2]|0;f[y>>2]=q+1;b[p+q>>0]=i;i=(f[z>>2]|0)>>>8;f[z>>2]=i}while(i>>>0>=k>>>0);j=f[e>>2]|0}f[z>>2]=(((i>>>0)/(m>>>0)|0)<<12)+((i>>>0)%(m>>>0)|0)+(f[c+(l<<3)+4>>2]|0);q=w-v|0;j=f[j+(((q|0)/(d|0)|0)<<2)>>2]|0;c:do if(t){o=(j|0)<33;p=(j|0)>0;if((j|0)>-1)n=0;else{i=s;j=f[i+4>>2]|0;i=(j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0;j=0;while(1){if(i){i=21;break b}j=j+1|0;if((j|0)>=(d|0))break c}}do{k=f[a+(n+q<<2)>>2]|0;m=s;c=f[m+4>>2]|0;if((c|0)>0|(c|0)==0&(f[m>>2]|0)>>>0>0){l=f[r>>2]|0;if(!o){i=22;break b}if(p){m=l+4|0;i=f[m>>2]|0;c=0;do{G=i>>>3;H=i&7;J=(f[l>>2]|0)+G|0;b[J>>0]=(h[J>>0]|0)&(1<>2]|0)+G|0;b[G>>0]=h[G>>0]|0|(k>>>c&1)<>2]|0)+1|0;f[m>>2]=i;c=c+1|0}while((c|0)!=(j|0))}}n=n+1|0}while((n|0)<(d|0))}while(0);v=v-d|0;if((v|0)<=-1)break a}if((i|0)==21)Fa(19299,19314,88,19401);else if((i|0)==22)Fa(19409,19314,89,19401)}while(0);ig(D,g);Of(E);i=f[E>>2]|0;l=E+4|0;J=g+16|0;H=f[J+4>>2]|0;if(!((H|0)>0|(H|0)==0&(f[J>>2]|0)>>>0>0)){J=(f[l>>2]|0)-i|0;f[B>>2]=f[A>>2];f[C>>2]=f[B>>2];Ie(g,C,i,i+J|0)|0}k=f[D>>2]|0;if(k|0){j=D+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-8-k|0)>>>3)<<3);mq(k)}J=E+12|0;i=f[J>>2]|0;f[J>>2]=0;if(i|0)mq(i);i=f[E>>2]|0;if(!i){u=F;return 1}if((f[l>>2]|0)!=(i|0))f[l>>2]=i;mq(i);u=F;return 1}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=a+8|0;a:do if(f[r>>2]|0?(t=f[a>>2]|0,s=a+4|0,f[a>>2]=s,f[(f[s>>2]|0)+8>>2]=0,f[s>>2]=0,f[r>>2]=0,e=f[t+4>>2]|0,e=(e|0)==0?t:e,e|0):0){q=s;t=a+4|0;h=f[c>>2]|0;g=h;p=e;while(1){if((h|0)==(f[d>>2]|0))break;i=p+16|0;Ul(i,h+16|0)|0;Ul(p+28|0,h+28|0)|0;n=p+8|0;h=f[n>>2]|0;do if(h){e=f[h>>2]|0;if((e|0)==(p|0)){f[h>>2]=0;e=f[h+4>>2]|0;if(!e){o=h;break}while(1){h=f[e>>2]|0;if(h|0){e=h;continue}h=f[e+4>>2]|0;if(!h)break;else e=h}o=e;break}else{f[h+4>>2]=0;if(!e){o=h;break}while(1){h=f[e>>2]|0;if(h|0){e=h;continue}h=f[e+4>>2]|0;if(!h)break;else e=h}o=e;break}}else o=0;while(0);e=f[s>>2]|0;do if(e){m=b[i+11>>0]|0;l=m<<24>>24<0;m=l?f[p+20>>2]|0:m&255;l=l?f[i>>2]|0:i;k=e;while(1){h=k+16|0;i=b[h+11>>0]|0;j=i<<24>>24<0;i=j?f[k+20>>2]|0:i&255;e=i>>>0>>0?i:m;if((e|0)!=0?(u=il(l,j?f[h>>2]|0:h,e)|0,(u|0)!=0):0)if((u|0)<0)i=22;else i=24;else if(m>>>0>>0)i=22;else i=24;if((i|0)==22){e=f[k>>2]|0;if(!e){i=23;break}}else if((i|0)==24){h=k+4|0;e=f[h>>2]|0;if(!e){i=26;break}}k=e}if((i|0)==23){e=k;h=k;break}else if((i|0)==26){e=k;break}}else{e=q;h=s}while(0);f[p>>2]=0;f[p+4>>2]=0;f[n>>2]=e;f[h>>2]=p;e=f[f[a>>2]>>2]|0;if(!e)e=p;else{f[a>>2]=e;e=f[h>>2]|0}Je(f[t>>2]|0,e);f[r>>2]=(f[r>>2]|0)+1;e=f[g+4>>2]|0;if(!e)while(1){e=f[g+8>>2]|0;if((f[e>>2]|0)==(g|0))break;else g=e}else while(1){g=f[e>>2]|0;if(!g)break;else e=g}f[c>>2]=e;if(!o)break a;else{g=e;h=e;p=o}}e=f[p+8>>2]|0;if(!e)e=p;else while(1){g=f[e+8>>2]|0;if(!g)break;else e=g}mj(a,e)}while(0);e=f[c>>2]|0;i=f[d>>2]|0;if((e|0)==(i|0))return;h=e;g=e;while(1){ff(a,h+16|0)|0;e=f[g+4>>2]|0;if(!e)while(1){e=f[g+8>>2]|0;if((f[e>>2]|0)==(g|0))break;else g=e}else while(1){g=f[e>>2]|0;if(!g)break;else e=g}f[c>>2]=e;if((e|0)==(i|0))break;else{h=e;g=e}}return} -function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[5978]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=23952+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[5978]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[5980]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=23952+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[5983]|0;b=l>>>3;c=23952+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5980]=g;f[5983]=e;w=h;u=x;return w|0}i=f[5979]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[24216+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=24216+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[5979]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[5983]|0;b=l>>>3;c=23952+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5980]=j;f[5983]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[5979]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[24216+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[24216+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[5980]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=24216+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=23952+(b<<1<<2)|0;a=f[5978]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=24216+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[5980]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[5983]|0;if(a>>>0>15){w=b+m|0;f[5983]=w;f[5980]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[5980]=0;f[5983]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[5981]|0;if(h>>>0>m>>>0){t=h-m|0;f[5981]=t;w=f[5984]|0;v=w+m|0;f[5984]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[6096]|0)){f[6098]=4096;f[6097]=4096;f[6099]=-1;f[6100]=-1;f[6101]=0;f[6089]=0;a=n&-16^1431655768;f[n>>2]=a;f[6096]=a;a=4096}else a=f[6098]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[6088]|0;if(a|0?(l=f[6086]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[6089]&4)){c=f[5984]|0;c:do if(c){e=24360;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=vl(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=vl(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[6097]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[6086]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[6088]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=vl(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[6098]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((vl(a|0)|0)==(-1|0)){vl(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[6089]=f[6089]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=vl(k|0)|0,q=vl(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[6086]|0)+g|0;f[6086]=b;if(b>>>0>(f[6087]|0)>>>0)f[6087]=b;j=f[5984]|0;do if(j){e=24360;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[5981]|0)+(g-w)|0;f[5984]=v;f[5981]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5985]=f[6100];break}if(h>>>0<(f[5982]|0)>>>0)f[5982]=h;c=h+g|0;a=24360;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[5983]|0)){w=(f[5980]|0)+i|0;f[5980]=w;f[5983]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[5978]=f[5978]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=24216+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[5979]=f[5979]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=23952+(b<<1<<2)|0;a=f[5978]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=24216+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[5979]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[5981]|0)+i|0;f[5981]=w;f[5984]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=24360;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[5984]=v;f[5981]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[5985]=f[6100];c=a+4|0;f[c>>2]=27;f[b>>2]=f[6090];f[b+4>>2]=f[6091];f[b+8>>2]=f[6092];f[b+12>>2]=f[6093];f[6090]=h;f[6091]=g;f[6093]=0;f[6092]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=23952+(b<<1<<2)|0;a=f[5978]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=24216+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[5979]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[5982]|0;if((w|0)==0|h>>>0>>0)f[5982]=h;f[6090]=h;f[6091]=g;f[6093]=0;f[5987]=f[6096];f[5986]=-1;b=0;do{w=23952+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[5984]=v;f[5981]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5985]=f[6100]}while(0);b=f[5981]|0;if(b>>>0>m>>>0){t=b-m|0;f[5981]=t;w=f[5984]|0;v=w+m|0;f[5984]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=aq()|0;f[w>>2]=12;w=0;u=x;return w|0}function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(xl(6828,7020,c,b)|0)-6828>>2;a=e;e=0;a:while(1){b=(f[6828+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[6636+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=xl(6636,6828,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function Za(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=u;u=u+112|0;Z=ja+100|0;W=ja+96|0;ia=ja+48|0;ga=ja+32|0;$=ja+104|0;_=ja+8|0;V=ja+4|0;Y=ja;fa=a+8|0;f[fa>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else gi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{U=f[c+(k<<2)>>2]|0;T=(U|0)<(i|0);i=T?U:i;j=T?j:(U|0)>(j|0)?U:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;U=1-i+j|0;f[a+20>>2]=U;i=(U|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(U&1))f[j>>2]=i+-1}T=f[a+48>>2]|0;U=f[a+52>>2]|0;i=ia;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{gi(ia,g);i=f[ia+12>>2]|0;j=f[ia+16>>2]|0}k=ia+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else gi(ia+12|0,g-l|0);l=ia+24|0;k=ia+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else gi(l,g-m|0);l=ia+36|0;k=ia+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else gi(l,g-m|0);yk(ga,g);K=a+56|0;k=f[K>>2]|0;j=f[k+4>>2]|0;i=f[k>>2]|0;l=j-i|0;a:do if((l|0)>4){J=T+64|0;C=T+28|0;H=(g|0)>0;I=_+4|0;R=_+8|0;S=_+12|0;O=a+16|0;E=a+32|0;Q=a+12|0;P=a+28|0;N=a+20|0;M=a+24|0;D=_+12|0;F=_+16|0;G=ga+4|0;L=$+1|0;B=g<<2;v=l>>2;while(1){A=v+-1|0;if(j-i>>2>>>0<=A>>>0){Vo(k);i=f[k>>2]|0}p=f[i+(A<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;j=0;b:while(1){do{if((i|0)<=-1){y=j;break b}k=f[ia+(j*12|0)>>2]|0;if(((f[(f[T>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(ea=f[(f[(f[J>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(ea|0)>=0):0)?(da=f[C>>2]|0,z=f[U>>2]|0,ba=f[z+(f[da+(ea<<2)>>2]<<2)>>2]|0,ca=ea+1|0,ca=f[z+(f[da+((((ca|0)%3|0|0)==0?ea+-2|0:ca)<<2)>>2]<<2)>>2]|0,da=f[z+(f[da+((((ea>>>0)%3|0|0)==0?2:-1)+ea<<2)>>2]<<2)>>2]|0,(ba|0)<(A|0)&(ca|0)<(A|0)&(da|0)<(A|0)):0){m=X(ba,g)|0;n=X(ca,g)|0;e=X(da,g)|0;if(H){l=0;do{f[k+(l<<2)>>2]=(f[c+(l+e<<2)>>2]|0)+(f[c+(l+n<<2)>>2]|0)-(f[c+(l+m<<2)>>2]|0);l=l+1|0}while((l|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break b}}do if(o){k=i+1|0;i=((k|0)%3|0|0)==0?i+-2|0:k;k=f[T>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[J>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;l=i+1|0;if((i|0)>=0)i=((l|0)%3|0|0)==0?i+-2|0:l}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;k=f[T>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[J>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){y=j;break b}}while(!(o&(i|0)<0));i=(t&f[k+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[J>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}z=X(A,g)|0;f[_>>2]=2147483647;b[I>>0]=0;f[R>>2]=0;f[R+4>>2]=0;f[R+8>>2]=0;f[R+12>>2]=0;k=X(v+-2|0,g)|0;if(H){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[_>>2]=i;b[I>>0]=0;f[R>>2]=0;x=c+(k<<2)|0;lf(S,x,x+(g<<2)|0);if((y|0)>=1){p=$+y|0;v=p+-1|0;r=(v|0)==($|0);t=p+-2|0;q=L>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>$>>>0;w=0;x=1;while(1){w=w+1|0;Xi($|0,1,o|0)|0;Xi($|0,0,w|0)|0;c:while(1){if(H){Xi(f[ga>>2]|0,0,B|0)|0;l=f[ga>>2]|0;i=0;m=0;do{if(!(b[$+m>>0]|0)){j=f[ia+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[_>>2]|0)){f[_>>2]=j;b[I>>0]=i;f[R>>2]=x;f[V>>2]=f[ga>>2];f[Y>>2]=f[G>>2];f[W>>2]=f[V>>2];f[Z>>2]=f[Y>>2];cf(S,W,Z)}if(r)break;aa=b[v>>0]|0;m=aa;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==($|0)){ha=76;break c}else n=i}i=p+n|0;if((m&255)<(aa&255)){k=aa;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue c}}if(((ha|0)==76?(ha=0,s):0)?(e=b[$>>0]|0,b[$>>0]=aa,b[v>>0]=e,q):0){i=t;j=L;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[I>>0]&1<>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){Wo(n);j=f[l>>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[fa>>2]|0;if((j|0)>0){i=f[S>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[O>>2]|0;if((j|0)>(k|0)){j=f[E>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[Q>>2]|0;z=f[E>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[fa>>2]|0));l=j}else l=f[E>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[P>>2]|0)){if((j|0)>(f[M>>2]|0)){j=j-(f[N>>2]|0)|0;ha=93}}else{j=(f[N>>2]|0)+j|0;ha=93}if((ha|0)==93){ha=0;f[k>>2]=j}n=n+1|0;j=f[fa>>2]|0}while((n|0)<(j|0))}else i=f[D>>2]|0;if(i|0){j=f[F>>2]|0;if((j|0)!=(i|0))f[F>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;k=f[K>>2]|0;i=f[k>>2]|0;j=f[k+4>>2]|0;v=A}}while(0);k=f[ia>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[fa>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[fa>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ha=125}}else{i=(f[o>>2]|0)+i|0;ha=125}if((ha|0)==125){ha=0;f[j>>2]=i}m=m+1|0;i=f[fa>>2]|0}while((m|0)<(i|0))}k=f[ga>>2]|0;if(k|0){j=ga+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k)}i=f[ia+36>>2]|0;if(i|0){k=ia+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[ia+24>>2]|0;if(i|0){k=ia+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[ia+12>>2]|0;if(i|0){k=ia+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}k=f[ia>>2]|0;if(!k){u=ja;return 1}j=ia+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k);u=ja;return 1}function _a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=u;u=u+112|0;Y=ea+100|0;V=ea+96|0;da=ea+48|0;ba=ea+32|0;_=ea+104|0;Z=ea+8|0;U=ea+4|0;W=ea;aa=a+8|0;f[aa>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else gi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{T=f[c+(k<<2)>>2]|0;S=(T|0)<(i|0);i=S?T:i;j=S?j:(T|0)>(j|0)?T:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;T=1-i+j|0;f[a+20>>2]=T;i=(T|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(T&1))f[j>>2]=i+-1}S=f[a+48>>2]|0;T=f[a+52>>2]|0;i=da;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{gi(da,g);i=f[da+12>>2]|0;j=f[da+16>>2]|0}k=da+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else gi(da+12|0,g-l|0);l=da+24|0;k=da+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else gi(l,g-m|0);l=da+36|0;k=da+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else gi(l,g-m|0);yk(ba,g);J=a+56|0;k=f[J>>2]|0;j=f[k+4>>2]|0;i=f[k>>2]|0;l=j-i|0;a:do if((l|0)>4){C=S+12|0;H=(g|0)>0;I=Z+4|0;Q=Z+8|0;R=Z+12|0;N=a+16|0;E=a+32|0;P=a+12|0;O=a+28|0;M=a+20|0;L=a+24|0;D=Z+12|0;F=Z+16|0;G=ba+4|0;K=_+1|0;B=g<<2;x=l>>2;while(1){A=x+-1|0;if(j-i>>2>>>0<=A>>>0){Vo(k);i=f[k>>2]|0}t=f[i+(A<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;j=0;b:while(1){do{if((i|0)<=-1){y=j;break b}p=f[da+(j*12|0)>>2]|0;q=f[C>>2]|0;l=f[q+(i<<2)>>2]|0;if((l|0)>=0){m=f[S>>2]|0;n=f[T>>2]|0;o=f[n+(f[m+(l<<2)>>2]<<2)>>2]|0;k=l+1|0;k=((k|0)%3|0|0)==0?l+-2|0:k;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;e=f[n+(k<<2)>>2]|0;k=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;k=f[n+(k<<2)>>2]|0;if((o|0)<(A|0)&(e|0)<(A|0)&(k|0)<(A|0)){n=X(o,g)|0;m=X(e,g)|0;l=X(k,g)|0;if(H){k=0;do{f[p+(k<<2)>>2]=(f[c+(k+l<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+n<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break b}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){y=j;break b}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}z=X(A,g)|0;f[Z>>2]=2147483647;b[I>>0]=0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;k=X(x+-2|0,g)|0;if(H){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[Z>>2]=i;b[I>>0]=0;f[Q>>2]=0;x=c+(k<<2)|0;lf(R,x,x+(g<<2)|0);if((y|0)>=1){p=_+y|0;v=p+-1|0;r=(v|0)==(_|0);t=p+-2|0;q=K>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>_>>>0;w=0;x=1;while(1){w=w+1|0;Xi(_|0,1,o|0)|0;Xi(_|0,0,w|0)|0;c:while(1){if(H){Xi(f[ba>>2]|0,0,B|0)|0;l=f[ba>>2]|0;i=0;m=0;do{if(!(b[_+m>>0]|0)){j=f[da+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[Z>>2]|0)){f[Z>>2]=j;b[I>>0]=i;f[Q>>2]=x;f[U>>2]=f[ba>>2];f[W>>2]=f[G>>2];f[V>>2]=f[U>>2];f[Y>>2]=f[W>>2];cf(R,V,Y)}if(r)break;$=b[v>>0]|0;m=$;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==(_|0)){ca=77;break c}else n=i}i=p+n|0;if((m&255)<($&255)){k=$;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue c}}if(((ca|0)==77?(ca=0,s):0)?(e=b[_>>0]|0,b[_>>0]=$,b[v>>0]=e,q):0){i=t;j=K;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[I>>0]&1<>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){Wo(n);j=f[l>>2]|0}x=j<<6;i=i+32&-32;bi(n,j<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[aa>>2]|0;if((j|0)>0){i=f[R>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[N>>2]|0;if((j|0)>(k|0)){j=f[E>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[P>>2]|0;z=f[E>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[aa>>2]|0));l=j}else l=f[E>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[O>>2]|0)){if((j|0)>(f[L>>2]|0)){j=j-(f[M>>2]|0)|0;ca=94}}else{j=(f[M>>2]|0)+j|0;ca=94}if((ca|0)==94){ca=0;f[k>>2]=j}n=n+1|0;j=f[aa>>2]|0}while((n|0)<(j|0))}else i=f[D>>2]|0;if(i|0){j=f[F>>2]|0;if((j|0)!=(i|0))f[F>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;k=f[J>>2]|0;i=f[k>>2]|0;j=f[k+4>>2]|0;x=A}}while(0);k=f[da>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[aa>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[aa>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ca=126}}else{i=(f[o>>2]|0)+i|0;ca=126}if((ca|0)==126){ca=0;f[j>>2]=i}m=m+1|0;i=f[aa>>2]|0}while((m|0)<(i|0))}k=f[ba>>2]|0;if(k|0){j=ba+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k)}i=f[da+36>>2]|0;if(i|0){k=da+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[da+24>>2]|0;if(i|0){k=da+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}i=f[da+12>>2]|0;if(i|0){k=da+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);mq(i)}k=f[da>>2]|0;if(!k){u=ea;return 1}j=da+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);mq(k);u=ea;return 1}function $a(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;la=u;u=u+32|0;ha=la+8|0;ja=la;ga=la+4|0;ia=a+16|0;e=f[ia>>2]|0;fa=a+20|0;d=f[fa>>2]|0;if((d|0)==(e|0))d=e;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;f[fa>>2]=d}_=a+24|0;if((d|0)==(f[_>>2]|0)){zi(ia,c);e=f[ia>>2]|0;g=f[fa>>2]|0}else{f[d>>2]=f[c>>2];g=d+4|0;f[fa>>2]=g}d=f[a+8>>2]|0;d=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;Z=(d|0)/12|0;if((e|0)==(g|0)){u=la;return 1}Y=a+28|0;G=(d|0)>0;I=a+164|0;F=a+12|0;A=a+76|0;E=a+80|0;O=a+72|0;W=a+200|0;X=a+320|0;y=a+152|0;s=a+84|0;M=a+324|0;x=a+292|0;t=a+304|0;N=a+316|0;K=a+328|0;w=a+336|0;J=a+332|0;B=a+124|0;C=a+120|0;T=ha+4|0;Q=ha+8|0;z=a+112|0;D=a+116|0;V=a+108|0;S=ha+4|0;P=ha+8|0;U=ha+4|0;R=ha+8|0;L=a+168|0;v=a+140|0;H=a+120|0;d=g;do{e=f[d+-4>>2]|0;f[c>>2]=e;a:do if((e|0)>=0?(r=(e>>>0)/3|0,$=f[Y>>2]|0,(f[$+(r>>>5<<2)>>2]&1<<(r&31)|0)==0):0){if(G){e=$;d=0;while(1){r=d+1|0;f[I>>2]=(f[I>>2]|0)+1;p=f[c>>2]|0;p=(p|0)<0?-1073741824:(p>>>0)/3|0;d=e+(p>>>5<<2)|0;f[d>>2]=1<<(p&31)|f[d>>2];d=f[A>>2]|0;if((d|0)==(f[E>>2]|0))zi(O,c);else{f[d>>2]=f[c>>2];f[A>>2]=d+4}f[X>>2]=f[c>>2];e=f[c>>2]|0;if((e|0)<0)o=-1073741824;else o=f[(f[f[F>>2]>>2]|0)+(e<<2)>>2]|0;n=(f[(f[y>>2]|0)+(o<<2)>>2]|0)!=-1;g=(f[s>>2]|0)+(o>>>5<<2)|0;h=1<<(o&31);d=f[g>>2]|0;do if(!(d&h)){f[g>>2]=d|h;if(n){e=f[c>>2]|0;ka=38;break}f[M>>2]=(f[M>>2]|0)+1;e=f[X>>2]|0;d=e+1|0;do if((e|0)>=0){d=((d|0)%3|0|0)==0?e+-2|0:d;if(!((e>>>0)%3|0)){e=e+2|0;break}else{e=e+-1|0;break}}else d=e;while(0);g=f[x>>2]|0;q=f[t>>2]|0;p=q+(f[g+(d<<2)>>2]<<2)|0;d=f[p>>2]|0;f[p>>2]=d+-1;g=q+(f[g+(e<<2)>>2]<<2)|0;f[g>>2]=(f[g>>2]|0)+-1;g=f[N>>2]|0;if((g|0)!=-1){e=f[K>>2]|0;if((d|0)<(e|0))d=e;else{q=f[J>>2]|0;d=(d|0)>(q|0)?q:d}i=d-e|0;h=f[w>>2]|0;d=f[3596+(g<<2)>>2]|0;f[ha>>2]=d;g=h+(i*12|0)+4|0;e=f[g>>2]|0;if(e>>>0<(f[h+(i*12|0)+8>>2]|0)>>>0){f[e>>2]=d;f[g>>2]=e+4}else zi(h+(i*12|0)|0,ha)}f[N>>2]=0;d=f[c>>2]|0;e=d+1|0;if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;if((d|0)>=0)d=f[(f[(f[F>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}f[c>>2]=d}else ka=38;while(0);if((ka|0)==38){ka=0;m=(e|0)<0;j=e+1|0;if(!m){d=((j|0)%3|0|0)==0?e+-2|0:j;if((d|0)<0)g=d;else g=f[(f[(f[F>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;f[ja>>2]=g;d=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((d|0)>=0)d=f[(f[(f[F>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;i=(g|0)<0;l=i?-1073741824:(g>>>0)/3|0;h=(d|0)<0;k=h?-1073741824:(d>>>0)/3|0;g=((j|0)%3|0|0)==0?e+-2|0:j;if((g|0)<0)q=h;else{q=h;g=f[(f[(f[F>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}}else{f[ja>>2]=e;q=1;i=1;d=e;k=-1073741824;l=-1073741824;g=e}if((g|0)!=-1073741824?(j=(g|0)<0?-1073741824:(g>>>0)/3|0,aa=f[Y>>2]|0,(f[aa+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!m){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[F>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)!=-1073741824?(m=(e|0)<0?-1073741824:(e>>>0)/3|0,(f[aa+(m>>>5<<2)>>2]&1<<(m&31)|0)==0):0){ka=115;break}b:do if(!q){j=f[I>>2]|0;g=f[B>>2]|0;if(!g)break;h=g+-1|0;e=(h&g|0)==0;if(e)i=h&k;else i=(k>>>0)%(g>>>0)|0;d=f[(f[C>>2]|0)+(i<<2)>>2]|0;if(!d)break;if(e)do{d=f[d>>2]|0;if(!d)break b;if((f[d+4>>2]&h|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break b;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)==-1)break;f[ha>>2]=d;f[S>>2]=j;b[P>>0]=0;d=f[z>>2]|0;if((d|0)==(f[D>>2]|0))$h(V,ha);else{f[d>>2]=f[ha>>2];f[d+4>>2]=f[ha+4>>2];f[d+8>>2]=f[ha+8>>2];f[z>>2]=(f[z>>2]|0)+12}}while(0);Oc(W,3);d=f[ja>>2]|0}else{c:do if(!i?(ba=f[I>>2]|0,ca=f[B>>2]|0,(ca|0)!=0):0){i=ca+-1|0;h=(i&ca|0)==0;if(h)j=i&l;else j=(l>>>0)%(ca>>>0)|0;g=f[(f[C>>2]|0)+(j<<2)>>2]|0;if(!g)break;if(h)do{g=f[g>>2]|0;if(!g)break c;if((f[g+4>>2]&i|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));else do{g=f[g>>2]|0;if(!g)break c;if((((f[g+4>>2]|0)>>>0)%(ca>>>0)|0|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));g=f[g+12>>2]|0;if((g|0)==-1)break;f[ha>>2]=g;f[T>>2]=ba;b[Q>>0]=1;g=f[z>>2]|0;if((g|0)==(f[D>>2]|0)){$h(V,ha);e=f[c>>2]|0}else{f[g>>2]=f[ha>>2];f[g+4>>2]=f[ha+4>>2];f[g+8>>2]=f[ha+8>>2];f[z>>2]=(f[z>>2]|0)+12}}while(0);if((e|0)>=0){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[F>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)==-1073741824){ka=71;break}p=(e|0)<0?-1073741824:(e>>>0)/3|0;if(f[(f[Y>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0){ka=71;break}Oc(W,5)}f[c>>2]=d}if((r|0)>=(Z|0))break a;e=f[Y>>2]|0;d=r}do if((ka|0)==71){ka=0;d:do if(!q?(da=f[I>>2]|0,ea=f[B>>2]|0,ea|0):0){g=ea+-1|0;e=(g&ea|0)==0;if(e)h=g&k;else h=(k>>>0)%(ea>>>0)|0;d=f[(f[C>>2]|0)+(h<<2)>>2]|0;if(d|0){if(e)do{d=f[d>>2]|0;if(!d)break d;if((f[d+4>>2]&g|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break d;if((((f[d+4>>2]|0)>>>0)%(ea>>>0)|0|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)!=-1){f[ha>>2]=d;f[U>>2]=da;b[R>>0]=0;d=f[z>>2]|0;if((d|0)==(f[D>>2]|0))$h(V,ha);else{f[d>>2]=f[ha>>2];f[d+4>>2]=f[ha+4>>2];f[d+8>>2]=f[ha+8>>2];f[z>>2]=(f[z>>2]|0)+12}}}}while(0);Oc(W,7);f[fa>>2]=(f[fa>>2]|0)+-4}else if((ka|0)==115){ka=0;Oc(W,1);f[L>>2]=(f[L>>2]|0)+1;if(n?(r=f[(f[y>>2]|0)+(o<<2)>>2]|0,(1<<(r&31)&f[(f[v>>2]|0)+(r>>>5<<2)>>2]|0)==0):0){f[ga>>2]=f[c>>2];f[ha>>2]=f[ga>>2];He(a,ha,0)|0}r=f[I>>2]|0;f[ha>>2]=p;e=Fe(H,ha)|0;f[e>>2]=r;e=f[fa>>2]|0;f[e+-4>>2]=d;if((e|0)==(f[_>>2]|0)){zi(ia,ja);break}else{f[e>>2]=f[ja>>2];f[fa>>2]=e+4;break}}while(0)}}else ka=11;while(0);if((ka|0)==11){ka=0;f[fa>>2]=d+-4}d=f[fa>>2]|0}while((f[ia>>2]|0)!=(d|0));u=la;return 1}function ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=Ka;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=Zm(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=Zn(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=Zm(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=Zn(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Zn(Zm(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=Zm(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Zn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}Xi(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function bb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=u;u=u+112|0;T=da+100|0;R=da+96|0;ca=da+48|0;W=da+32|0;V=da+104|0;U=da+8|0;Q=da+4|0;S=da;O=f[a+28>>2]|0;P=f[a+32>>2]|0;i=ca;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{gi(ca,g);i=f[ca+12>>2]|0;e=f[ca+16>>2]|0}j=ca+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else gi(ca+12|0,g-k|0);k=ca+24|0;j=ca+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else gi(k,g-l|0);k=ca+36|0;j=ca+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else gi(k,g-l|0);yk(W,g);J=a+36|0;j=f[J>>2]|0;e=f[j+4>>2]|0;i=f[j>>2]|0;k=e-i|0;a:do if((k|0)>4){I=O+64|0;C=O+28|0;G=(g|0)>0;H=U+4|0;L=U+8|0;M=U+12|0;N=a+8|0;D=U+12|0;E=U+16|0;F=W+4|0;K=V+1|0;B=g<<2;v=k>>2;while(1){A=v+-1|0;if(e-i>>2>>>0<=A>>>0){Vo(j);i=f[j>>2]|0}p=f[i+(A<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;e=0;b:while(1){do{if((i|0)<=-1){z=e;break b}j=f[ca+(e*12|0)>>2]|0;if(((f[(f[O>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(aa=f[(f[(f[I>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(aa|0)>=0):0)?($=f[C>>2]|0,z=f[P>>2]|0,Z=f[z+(f[$+(aa<<2)>>2]<<2)>>2]|0,_=aa+1|0,_=f[z+(f[$+((((_|0)%3|0|0)==0?aa+-2|0:_)<<2)>>2]<<2)>>2]|0,$=f[z+(f[$+((((aa>>>0)%3|0|0)==0?2:-1)+aa<<2)>>2]<<2)>>2]|0,(Z|0)<(A|0)&(_|0)<(A|0)&($|0)<(A|0)):0){l=X(Z,g)|0;m=X(_,g)|0;n=X($,g)|0;if(G){k=0;do{f[j+(k<<2)>>2]=(f[c+(k+n<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+l<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break b}}do if(o){j=i+1|0;i=((j|0)%3|0|0)==0?i+-2|0:j;j=f[O>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[I>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;j=f[O>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[I>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){z=e;break b}}while(!(o&(i|0)<0));i=(t&f[j+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[I>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}y=X(A,g)|0;f[U>>2]=2147483647;b[H>>0]=0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;j=X(v+-2|0,g)|0;if(G){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[U>>2]=i;b[H>>0]=0;f[L>>2]=0;x=c+(j<<2)|0;lf(M,x,x+(g<<2)|0);if((z|0)>=1){p=V+z|0;v=p+-1|0;r=(v|0)==(V|0);t=p+-2|0;q=K>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>V>>>0;w=0;x=1;while(1){w=w+1|0;Xi(V|0,1,o|0)|0;Xi(V|0,0,w|0)|0;c:while(1){if(G){Xi(f[W>>2]|0,0,B|0)|0;k=f[W>>2]|0;i=0;l=0;do{if(!(b[V+l>>0]|0)){e=f[ca+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[U>>2]|0)){f[U>>2]=e;b[H>>0]=i;f[L>>2]=x;f[Q>>2]=f[W>>2];f[S>>2]=f[F>>2];f[R>>2]=f[Q>>2];f[T>>2]=f[S>>2];cf(M,R,T)}if(r)break;Y=b[v>>0]|0;l=Y;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(V|0)){ba=67;break c}else m=i}i=p+m|0;if((l&255)<(Y&255)){j=Y;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue c}}if(((ba|0)==67?(ba=0,s):0)?(n=b[V>>0]|0,b[V>>0]=Y,b[v>>0]=n,q):0){i=t;e=K;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[H>>0]&1<>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){Wo(m);e=f[k>>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}Xh(N,c+(y<<2)|0,f[M>>2]|0,d+(y<<2)|0);i=f[D>>2]|0;if(i|0){e=f[E>>2]|0;if((e|0)!=(i|0))f[E>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;j=f[J>>2]|0;i=f[j>>2]|0;e=f[j+4>>2]|0;v=A}}while(0);if((g|0)>0)Xi(f[ca>>2]|0,0,g<<2|0)|0;Xh(a+8|0,c,f[ca>>2]|0,d);j=f[W>>2]|0;if(j|0){e=W+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j)}i=f[ca+36>>2]|0;if(i|0){j=ca+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}i=f[ca+24>>2]|0;if(i|0){j=ca+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}i=f[ca+12>>2]|0;if(i|0){j=ca+16|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}j=f[ca>>2]|0;if(!j){u=da;return 1}e=ca+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j);u=da;return 1}function cb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;fa=u;u=u+32|0;ba=fa+8|0;da=fa;aa=fa+4|0;ca=a+16|0;e=f[ca>>2]|0;$=a+20|0;d=f[$>>2]|0;if((d|0)==(e|0))d=e;else{d=d+(~((d+-4-e|0)>>>2)<<2)|0;f[$>>2]=d}U=a+24|0;if((d|0)==(f[U>>2]|0)){zi(ca,c);e=f[ca>>2]|0;g=f[$>>2]|0}else{f[d>>2]=f[c>>2];g=d+4|0;f[$>>2]=g}d=f[a+8>>2]|0;d=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;T=(d|0)/12|0;if((e|0)==(g|0)){u=fa;return 1}S=a+28|0;F=(d|0)>0;H=a+164|0;E=a+12|0;y=a+76|0;D=a+80|0;J=a+72|0;v=a+152|0;s=a+84|0;x=a+272|0;C=a+276|0;Q=a+268|0;z=a+124|0;A=a+120|0;P=ba+4|0;M=ba+8|0;w=a+112|0;B=a+116|0;R=a+108|0;N=ba+4|0;K=ba+8|0;O=ba+4|0;L=ba+8|0;I=a+168|0;t=a+140|0;G=a+120|0;d=g;do{e=f[d+-4>>2]|0;f[c>>2]=e;a:do if((e|0)>=0?(r=(e>>>0)/3|0,V=f[S>>2]|0,(f[V+(r>>>5<<2)>>2]&1<<(r&31)|0)==0):0){if(F){e=V;d=0;while(1){r=d+1|0;f[H>>2]=(f[H>>2]|0)+1;p=f[c>>2]|0;p=(p|0)<0?-1073741824:(p>>>0)/3|0;d=e+(p>>>5<<2)|0;f[d>>2]=1<<(p&31)|f[d>>2];d=f[y>>2]|0;if((d|0)==(f[D>>2]|0))zi(J,c);else{f[d>>2]=f[c>>2];f[y>>2]=d+4}e=f[c>>2]|0;if((e|0)<0)o=-1073741824;else o=f[(f[f[E>>2]>>2]|0)+(e<<2)>>2]|0;n=(f[(f[v>>2]|0)+(o<<2)>>2]|0)!=-1;g=(f[s>>2]|0)+(o>>>5<<2)|0;h=1<<(o&31);d=f[g>>2]|0;do if(!(d&h)){f[g>>2]=d|h;if(n){e=f[c>>2]|0;ea=30;break}f[ba>>2]=0;d=f[x>>2]|0;if((d|0)==(f[C>>2]|0))zi(Q,ba);else{f[d>>2]=0;f[x>>2]=d+4}d=f[c>>2]|0;e=d+1|0;if((d|0)>=0){d=((e|0)%3|0|0)==0?d+-2|0:e;if((d|0)>=0)d=f[(f[(f[E>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}f[c>>2]=d}else ea=30;while(0);if((ea|0)==30){ea=0;m=(e|0)<0;j=e+1|0;if(!m){d=((j|0)%3|0|0)==0?e+-2|0:j;if((d|0)<0)g=d;else g=f[(f[(f[E>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;f[da>>2]=g;d=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((d|0)>=0)d=f[(f[(f[E>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;i=(g|0)<0;l=i?-1073741824:(g>>>0)/3|0;h=(d|0)<0;k=h?-1073741824:(d>>>0)/3|0;g=((j|0)%3|0|0)==0?e+-2|0:j;if((g|0)<0)q=h;else{q=h;g=f[(f[(f[E>>2]|0)+12>>2]|0)+(g<<2)>>2]|0}}else{f[da>>2]=e;q=1;i=1;d=e;k=-1073741824;l=-1073741824;g=e}if((g|0)!=-1073741824?(j=(g|0)<0?-1073741824:(g>>>0)/3|0,W=f[S>>2]|0,(f[W+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!m){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[E>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)!=-1073741824?(m=(e|0)<0?-1073741824:(e>>>0)/3|0,(f[W+(m>>>5<<2)>>2]&1<<(m&31)|0)==0):0){ea=116;break}b:do if(!q){j=f[H>>2]|0;g=f[z>>2]|0;if(!g)break;h=g+-1|0;e=(h&g|0)==0;if(e)i=h&k;else i=(k>>>0)%(g>>>0)|0;d=f[(f[A>>2]|0)+(i<<2)>>2]|0;if(!d)break;if(e)do{d=f[d>>2]|0;if(!d)break b;if((f[d+4>>2]&h|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break b;if((((f[d+4>>2]|0)>>>0)%(g>>>0)|0|0)!=(i|0))break b}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)==-1)break;f[ba>>2]=d;f[N>>2]=j;b[K>>0]=0;d=f[w>>2]|0;if((d|0)==(f[B>>2]|0))$h(R,ba);else{f[d>>2]=f[ba>>2];f[d+4>>2]=f[ba+4>>2];f[d+8>>2]=f[ba+8>>2];f[w>>2]=(f[w>>2]|0)+12}}while(0);f[ba>>2]=3;d=f[x>>2]|0;if((d|0)==(f[C>>2]|0))zi(Q,ba);else{f[d>>2]=3;f[x>>2]=d+4}d=f[da>>2]|0}else{c:do if(!i?(X=f[H>>2]|0,Y=f[z>>2]|0,(Y|0)!=0):0){i=Y+-1|0;h=(i&Y|0)==0;if(h)j=i&l;else j=(l>>>0)%(Y>>>0)|0;g=f[(f[A>>2]|0)+(j<<2)>>2]|0;if(!g)break;if(h)do{g=f[g>>2]|0;if(!g)break c;if((f[g+4>>2]&i|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));else do{g=f[g>>2]|0;if(!g)break c;if((((f[g+4>>2]|0)>>>0)%(Y>>>0)|0|0)!=(j|0))break c}while((f[g+8>>2]|0)!=(l|0));g=f[g+12>>2]|0;if((g|0)==-1)break;f[ba>>2]=g;f[P>>2]=X;b[M>>0]=1;g=f[w>>2]|0;if((g|0)==(f[B>>2]|0)){$h(R,ba);e=f[c>>2]|0}else{f[g>>2]=f[ba>>2];f[g+4>>2]=f[ba+4>>2];f[g+8>>2]=f[ba+8>>2];f[w>>2]=(f[w>>2]|0)+12}}while(0);if((e|0)>=0){e=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((e|0)>=0)e=f[(f[(f[E>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}if((e|0)==-1073741824){ea=63;break}p=(e|0)<0?-1073741824:(e>>>0)/3|0;if(f[(f[S>>2]|0)+(p>>>5<<2)>>2]&1<<(p&31)|0){ea=63;break}f[ba>>2]=5;e=f[x>>2]|0;if((e|0)==(f[C>>2]|0))zi(Q,ba);else{f[e>>2]=5;f[x>>2]=e+4}}f[c>>2]=d}if((r|0)>=(T|0))break a;e=f[S>>2]|0;d=r}do if((ea|0)==63){ea=0;d:do if(!q?(Z=f[H>>2]|0,_=f[z>>2]|0,_|0):0){g=_+-1|0;e=(g&_|0)==0;if(e)h=g&k;else h=(k>>>0)%(_>>>0)|0;d=f[(f[A>>2]|0)+(h<<2)>>2]|0;if(d|0){if(e)do{d=f[d>>2]|0;if(!d)break d;if((f[d+4>>2]&g|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));else do{d=f[d>>2]|0;if(!d)break d;if((((f[d+4>>2]|0)>>>0)%(_>>>0)|0|0)!=(h|0))break d}while((f[d+8>>2]|0)!=(k|0));d=f[d+12>>2]|0;if((d|0)!=-1){f[ba>>2]=d;f[O>>2]=Z;b[L>>0]=0;d=f[w>>2]|0;if((d|0)==(f[B>>2]|0))$h(R,ba);else{f[d>>2]=f[ba>>2];f[d+4>>2]=f[ba+4>>2];f[d+8>>2]=f[ba+8>>2];f[w>>2]=(f[w>>2]|0)+12}}}}while(0);f[ba>>2]=7;d=f[x>>2]|0;if((d|0)==(f[C>>2]|0))zi(Q,ba);else{f[d>>2]=7;f[x>>2]=d+4}f[$>>2]=(f[$>>2]|0)+-4}else if((ea|0)==116){ea=0;f[ba>>2]=1;e=f[x>>2]|0;if((e|0)==(f[C>>2]|0))zi(Q,ba);else{f[e>>2]=1;f[x>>2]=e+4}f[I>>2]=(f[I>>2]|0)+1;if(n?(r=f[(f[v>>2]|0)+(o<<2)>>2]|0,(1<<(r&31)&f[(f[t>>2]|0)+(r>>>5<<2)>>2]|0)==0):0){f[aa>>2]=f[c>>2];f[ba>>2]=f[aa>>2];He(a,ba,0)|0}r=f[H>>2]|0;f[ba>>2]=p;e=Fe(G,ba)|0;f[e>>2]=r;e=f[$>>2]|0;f[e+-4>>2]=d;if((e|0)==(f[U>>2]|0)){zi(ca,da);break}else{f[e>>2]=f[da>>2];f[$>>2]=e+4;break}}while(0)}}else ea=11;while(0);if((ea|0)==11){ea=0;f[$>>2]=d+-4}d=f[$>>2]|0}while((f[ca>>2]|0)!=(d|0));u=fa;return 1}function db(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;_=u;u=u+112|0;S=_+100|0;Q=_+96|0;Z=_+48|0;V=_+32|0;U=_+104|0;T=_+8|0;P=_+4|0;R=_;N=f[a+28>>2]|0;O=f[a+32>>2]|0;i=Z;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{gi(Z,g);i=f[Z+12>>2]|0;e=f[Z+16>>2]|0}j=Z+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else gi(Z+12|0,g-k|0);k=Z+24|0;j=Z+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else gi(k,g-l|0);k=Z+36|0;j=Z+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else gi(k,g-l|0);yk(V,g);I=a+36|0;j=f[I>>2]|0;e=f[j+4>>2]|0;i=f[j>>2]|0;k=e-i|0;a:do if((k|0)>4){C=N+12|0;G=(g|0)>0;H=T+4|0;K=T+8|0;L=T+12|0;M=a+8|0;D=T+12|0;E=T+16|0;F=V+4|0;J=U+1|0;B=g<<2;x=k>>2;while(1){A=x+-1|0;if(e-i>>2>>>0<=A>>>0){Vo(j);i=f[j>>2]|0}t=f[i+(A<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;e=0;b:while(1){do{if((i|0)<=-1){z=e;break b}p=f[Z+(e*12|0)>>2]|0;q=f[C>>2]|0;k=f[q+(i<<2)>>2]|0;if((k|0)>=0){l=f[N>>2]|0;m=f[O>>2]|0;o=f[m+(f[l+(k<<2)>>2]<<2)>>2]|0;j=k+1|0;j=((j|0)%3|0|0)==0?k+-2|0:j;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;n=f[m+(j<<2)>>2]|0;j=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;j=f[m+(j<<2)>>2]|0;if((o|0)<(A|0)&(n|0)<(A|0)&(j|0)<(A|0)){m=X(o,g)|0;l=X(n,g)|0;k=X(j,g)|0;if(G){j=0;do{f[p+(j<<2)>>2]=(f[c+(j+k<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+m<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break b}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;j=i+1|0;if((i|0)>=0)i=((j|0)%3|0|0)==0?i+-2|0:j}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){z=e;break b}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}y=X(A,g)|0;f[T>>2]=2147483647;b[H>>0]=0;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;f[K+12>>2]=0;j=X(x+-2|0,g)|0;if(G){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[T>>2]=i;b[H>>0]=0;f[K>>2]=0;x=c+(j<<2)|0;lf(L,x,x+(g<<2)|0);if((z|0)>=1){p=U+z|0;v=p+-1|0;r=(v|0)==(U|0);t=p+-2|0;q=J>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>U>>>0;w=0;x=1;while(1){w=w+1|0;Xi(U|0,1,o|0)|0;Xi(U|0,0,w|0)|0;c:while(1){if(G){Xi(f[V>>2]|0,0,B|0)|0;k=f[V>>2]|0;i=0;l=0;do{if(!(b[U+l>>0]|0)){e=f[Z+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[T>>2]|0)){f[T>>2]=e;b[H>>0]=i;f[K>>2]=x;f[P>>2]=f[V>>2];f[R>>2]=f[F>>2];f[Q>>2]=f[P>>2];f[S>>2]=f[R>>2];cf(L,Q,S)}if(r)break;W=b[v>>0]|0;l=W;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(U|0)){Y=68;break c}else m=i}i=p+m|0;if((l&255)<(W&255)){j=W;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue c}}if(((Y|0)==68?(Y=0,s):0)?(n=b[U>>0]|0,b[U>>0]=W,b[v>>0]=n,q):0){i=t;e=J;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[H>>0]&1<>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){Wo(m);e=f[k>>2]|0}x=e<<6;i=i+32&-32;bi(m,e<<5>>>0<1073741823?(x>>>0>>0?i:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}Xh(M,c+(y<<2)|0,f[L>>2]|0,d+(y<<2)|0);i=f[D>>2]|0;if(i|0){e=f[E>>2]|0;if((e|0)!=(i|0))f[E>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}if((A|0)<=1)break a;j=f[I>>2]|0;i=f[j>>2]|0;e=f[j+4>>2]|0;x=A}}while(0);if((g|0)>0)Xi(f[Z>>2]|0,0,g<<2|0)|0;Xh(a+8|0,c,f[Z>>2]|0,d);j=f[V>>2]|0;if(j|0){e=V+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j)}i=f[Z+36>>2]|0;if(i|0){j=Z+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}i=f[Z+24>>2]|0;if(i|0){j=Z+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);mq(i)}e=f[Z+12>>2]|0;if(e|0){j=Z+16|0;i=f[j>>2]|0;if((i|0)!=(e|0))f[j>>2]=i+(~((i+-4-e|0)>>>2)<<2);mq(e)}j=f[Z>>2]|0;if(!j){u=_;return 1}e=Z+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);mq(j);u=_;return 1}function eb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=u;u=u+64|0;T=W+56|0;U=W+52|0;N=W+48|0;i=W+60|0;V=W;F=W+44|0;G=W+40|0;C=W+36|0;D=W+32|0;E=W+28|0;M=W+24|0;O=W+20|0;P=W+16|0;R=W+12|0;if(!(b[a+288>>0]|0)){tg(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){lj(d);mq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){lj(d);mq(d)}}else f[T>>2]=0}else{ai(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){lj(d);mq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){lj(d);mq(d)}}else f[T>>2]=0}A=a+12|0;d=f[A>>2]|0;if(!d){V=0;u=W;return V|0}K=a+200|0;f[a+264>>2]=a;S=a+4|0;Mh(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2)-(f[d+44>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=f[A>>2]|0;Mh((((f[I+4>>2]|0)-(f[I>>2]|0)>>2>>>0)/3|0)-(f[I+40>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=a+28|0;H=a+8|0;h=f[H>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[T>>0]=0;Kg(I,h,T);h=f[A>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[T>>2]=-1;yf(a+52|0,h,T);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);z=f[A>>2]|0;z=(f[z+4>>2]|0)-(f[z>>2]|0)>>2;Fj(h,z-((z>>>0)%3|0)|0);z=a+84|0;y=f[A>>2]|0;y=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2;b[T>>0]=0;Kg(z,y,T);y=a+96|0;d=f[y>>2]|0;x=a+100|0;e=f[x>>2]|0;if((e|0)!=(d|0))f[x>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;B=a+168|0;f[B>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{w=d;d=f[d>>2]|0;mq(w)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[A>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[T>>2]=-1;yf(a+152|0,v,T);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);w=f[A>>2]|0;Fj(v,((f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(_d(a)|0)){V=0;u=W;return V|0}if(!(Jf(a)|0)){V=0;u=W;return V|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[S>>2]|0)+44>>2]|0;w=e+16|0;t=f[w+4>>2]|0;if(!((t|0)>0|(t|0)==0&(f[w>>2]|0)>>>0>0)){f[U>>2]=f[e+4>>2];f[T>>2]=f[U>>2];Ie(e,T,i,i+1|0)|0;d=b[i>>0]|0}t=a+284|0;f[t>>2]=d&255;o=f[A>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Fi(K);f[V>>2]=0;w=V+4|0;f[w>>2]=0;f[V+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=V+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[I>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[A>>2]|0,f[F>>2]=d,f[T>>2]=f[F>>2],!(Cj(l,T)|0)):0){f[U>>2]=0;f[G>>2]=d;f[T>>2]=f[G>>2];i=Le(a,T,U)|0;Ui(K,i);d=f[U>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[A>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[z>>2]|0;X=i+(e>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[T>>2]=1;e=f[x>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[x>>2]=e+4}else zi(y,T);h=(f[I>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[T>>2]=g;e=f[w>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[w>>2]=e+4}else zi(V,T);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[A>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;X=(e|0)<0;d=X?-1073741824:(e>>>0)/3|0;if(X)break;if(f[(f[I>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[C>>2]=e;f[T>>2]=f[C>>2];if(!(cb(a,T)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[D>>2]=d;f[T>>2]=f[D>>2];He(a,T,1)|0;f[E>>2]=f[U>>2];f[T>>2]=f[E>>2];if(!(cb(a,T)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){J=61;break a}}e=0}else J=61;while(0);if((J|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{X=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=X;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[V>>2];f[P>>2]=f[w>>2];f[N>>2]=f[M>>2];f[U>>2]=f[O>>2];f[T>>2]=f[P>>2];Td(v,N,U,T)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[H>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[T>>0]=0,Kg(I,c,T),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[T>>2]=f[R>>2];cg(a,T)|0;c=c+4|0}while((c|0)!=(Q|0));Og(K);e=a+232|0;Pc(K,e);d=a+280|0;c=f[d>>2]|0;if((c|0?(f[t>>2]|0)>0:0)?(Pc(c,e),(f[t>>2]|0)>1):0){c=1;do{Pc((f[d>>2]|0)+(c<<5)|0,e);c=c+1|0}while((c|0)<(f[t>>2]|0))}Mh((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[S>>2]|0)+44>>2]|0)|0;Mh(f[B>>2]|0,f[(f[S>>2]|0)+44>>2]|0)|0;if(zg(a)|0){d=f[(f[S>>2]|0)+44>>2]|0;c=f[e>>2]|0;X=d+16|0;S=f[X+4>>2]|0;if(!((S|0)>0|(S|0)==0&(f[X>>2]|0)>>>0>0)){X=(f[a+236>>2]|0)-c|0;f[U>>2]=f[d+4>>2];f[T>>2]=f[U>>2];Ie(d,T,c,c+X|0)|0}e=1}else e=0}c=f[V>>2]|0;if(c|0){d=f[w>>2]|0;if((d|0)!=(c|0))f[w>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}X=e;u=W;return X|0}function fb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+1328|0;x=z+1304|0;w=z+1296|0;y=z;g=z+1284|0;n=z+1280|0;t=z+1316|0;p=z+1288|0;q=z+72|0;o=z+1268|0;i=z+64|0;l=z+56|0;m=z+80|0;d=f[a+4>>2]|0;if(((f[a+8>>2]|0)-d|0)!=4){y=0;u=z;return y|0}j=f[d>>2]|0;s=a+28|0;e=f[s>>2]|0;d=f[e+4>>2]|0;if((j|0)<=-1)Fa(20410,20426,59,20517);a=f[d+8>>2]|0;if(((f[d+12>>2]|0)-a>>2|0)<=(j|0))Fa(20527,20426,60,20517);r=f[a+(j<<2)>>2]|0;if((b[r+24>>0]|0)!=3){y=0;u=z;return y|0}e=10-(bj(f[e+48>>2]|0)|0)|0;e=(e|0)<6?e:6;b[t>>0]=e;if((e&255)>>>0>=7)Fa(7530,7557,92,7675);a:do switch(f[r+28>>2]|0){case 9:{g=f[(f[s>>2]|0)+48>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;Kj(x,17755,17);i=g+16|0;a=f[i>>2]|0;if(a){d=i;b:while(1){e=a;while(1){if((f[e+16>>2]|0)>=(j|0))break;a=f[e+4>>2]|0;if(!a)break b;else e=a}a=f[e>>2]|0;if(!a){d=e;break}else d=e}if(((d|0)!=(i|0)?(k=d+20|0,(j|0)>=(f[d+16>>2]|0)):0)?(Kh(k,x)|0)!=0:0)e=Ck(k,x,-1)|0;else v=19}else v=19;if((v|0)==19)e=Ck(g,x,-1)|0;_n(x);if((e|0)>=1){b[y>>0]=0;g=c+16|0;d=g;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,t,t+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}f[y>>2]=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2];if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+4|0)|0}Gl(y,1,e,h[t>>0]|0);f[p>>2]=r;f[p+4>>2]=0;t=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2]|0;s=q;f[s>>2]=r;f[s+4>>2]=0;f[q+4>>2]=t;f[w>>2]=f[p>>2];f[w+4>>2]=f[p+4>>2];f[x>>2]=f[q>>2];f[x+4>>2]=f[q+4>>2];if(vd(y,w,x)|0){d=f[y+16>>2]|0;t=g;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[y+20>>2]|0)-d|0;f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,d,d+t|0)|0}e=0}else e=1;c=y+28|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)mq(d);a=f[y+16>>2]|0;if(a|0){d=y+20|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;mq(a)}if(!e)v=62;else d=0}else d=0;break}case 6:{b[y>>0]=1;e=c+16|0;d=e;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+1|0)|0;a=e;d=f[a+4>>2]|0;a=f[a>>2]|0}if((d|0)>0|(d|0)==0&a>>>0>0)e=d;else{f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,t,t+1|0)|0;a=e;e=f[a+4>>2]|0;a=f[a>>2]|0}d=f[s>>2]|0;f[y>>2]=f[(f[d+4>>2]|0)+80>>2];if(!((e|0)>0|(e|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ie(c,x,y,y+4|0)|0;d=f[s>>2]|0}f[i>>2]=r;f[i+4>>2]=0;v=f[(f[d+4>>2]|0)+80>>2]|0;s=l;f[s>>2]=r;f[s+4>>2]=0;f[l+4>>2]=v;f[w>>2]=f[i>>2];f[w+4>>2]=f[i+4>>2];f[x>>2]=f[l>>2];f[x+4>>2]=f[l+4>>2];mg(o,w,x);switch(b[t>>0]|0){case 6:{bh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=We(m,w,x,n,c)|0;Ve(m);if(y)v=52;else v=57;break}case 5:{bh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(m,w,x,n,c)|0;Ve(m);if(y)v=52;else v=57;break}case 4:{bh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(m,w,x,n,c)|0;Ve(m);if(y)v=52;else v=57;break}case 3:{uh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(m,w,x,n,c)|0;hf(m);if(y)v=52;else v=57;break}case 2:{uh(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(m,w,x,n,c)|0;hf(m);if(y)v=52;else v=57;break}case 1:{th(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=of(m,w,x,n,c)|0;gf(m);if(y)v=52;else v=57;break}case 0:{th(m,3);v=f[o+4>>2]|0;f[y>>2]=f[o>>2];f[g>>2]=v;f[n>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=of(m,w,x,n,c)|0;gf(m);if(y)v=52;else v=57;break}default:v=57}if((v|0)==52){e=f[o>>2]|0;if(e|0){a=o+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);mq(e)}v=62;break a}else if((v|0)==57){e=f[o>>2]|0;if(e|0){a=o+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);mq(e)}d=0;break a}break}default:d=0}while(0);if((v|0)==62)d=1;y=d;u=z;return y|0}function gb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=u;u=u+64|0;S=V+56|0;T=V+52|0;N=V+48|0;i=V+60|0;U=V;E=V+44|0;F=V+40|0;B=V+36|0;C=V+32|0;D=V+28|0;M=V+24|0;O=V+20|0;P=V+16|0;R=V+12|0;if(!(b[a+352>>0]|0)){tg(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){lj(d);mq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){lj(d);mq(d)}}else f[S>>2]=0}else{ai(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){lj(d);mq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){lj(d);mq(d)}}else f[S>>2]=0}z=a+12|0;if(!(f[z>>2]|0)){U=0;u=V;return U|0}K=a+200|0;ge(K,a)|0;H=f[z>>2]|0;J=a+4|0;Mh(((f[H+28>>2]|0)-(f[H+24>>2]|0)>>2)-(f[H+44>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=f[z>>2]|0;Mh((((f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)/3|0)-(f[H+40>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=a+28|0;G=a+8|0;h=f[G>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[S>>0]=0;Kg(H,h,S);h=f[z>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[S>>2]=-1;yf(a+52|0,h,S);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);y=f[z>>2]|0;y=(f[y+4>>2]|0)-(f[y>>2]|0)>>2;Fj(h,y-((y>>>0)%3|0)|0);y=a+84|0;x=f[z>>2]|0;x=(f[x+28>>2]|0)-(f[x+24>>2]|0)>>2;b[S>>0]=0;Kg(y,x,S);x=a+96|0;d=f[x>>2]|0;w=a+100|0;e=f[w>>2]|0;if((e|0)!=(d|0))f[w>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;A=a+168|0;f[A>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{v=d;d=f[d>>2]|0;mq(v)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[z>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[S>>2]=-1;yf(a+152|0,v,S);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);t=f[z>>2]|0;Fj(v,((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(_d(a)|0)){U=0;u=V;return U|0}if(!(If(a)|0)){U=0;u=V;return U|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[J>>2]|0)+44>>2]|0;t=e+16|0;p=f[t+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[t>>2]|0)>>>0>0)){f[T>>2]=f[e+4>>2];f[S>>2]=f[T>>2];Ie(e,S,i,i+1|0)|0;d=b[i>>0]|0}f[a+284>>2]=d&255;o=f[z>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Fi(K);f[U>>2]=0;t=U+4|0;f[t>>2]=0;f[U+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=U+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[H>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[z>>2]|0,f[E>>2]=d,f[S>>2]=f[E>>2],!(Cj(l,S)|0)):0){f[T>>2]=0;f[F>>2]=d;f[S>>2]=f[F>>2];i=Le(a,S,T)|0;Ui(K,i);d=f[T>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[z>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[y>>2]|0;W=i+(e>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[S>>2]=1;e=f[w>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[w>>2]=e+4}else zi(x,S);h=(f[H>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[S>>2]=g;e=f[t>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[t>>2]=e+4}else zi(U,S);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;W=(e|0)<0;d=W?-1073741824:(e>>>0)/3|0;if(W)break;if(f[(f[H>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[B>>2]=e;f[S>>2]=f[B>>2];if(!($a(a,S)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[C>>2]=d;f[S>>2]=f[C>>2];He(a,S,1)|0;f[D>>2]=f[T>>2];f[S>>2]=f[D>>2];if(!($a(a,S)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){I=61;break a}}e=0}else I=61;while(0);if((I|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{W=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=W;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[U>>2];f[P>>2]=f[t>>2];f[N>>2]=f[M>>2];f[T>>2]=f[O>>2];f[S>>2]=f[P>>2];Td(v,N,T,S)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[G>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[S>>0]=0,Kg(H,c,S),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[S>>2]=f[R>>2];cg(a,S)|0;c=c+4|0}while((c|0)!=(Q|0));ji(K);Mh(f[a+324>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;Mh(f[A>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;if(zg(a)|0){c=f[(f[J>>2]|0)+44>>2]|0;d=f[a+232>>2]|0;W=c+16|0;R=f[W+4>>2]|0;if(!((R|0)>0|(R|0)==0&(f[W>>2]|0)>>>0>0)){W=(f[a+236>>2]|0)-d|0;f[T>>2]=f[c+4>>2];f[S>>2]=f[T>>2];Ie(c,S,d,d+W|0)|0}e=1}else e=0}c=f[U>>2]|0;if(c|0){d=f[t>>2]|0;if((d|0)!=(c|0))f[t>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}W=e;u=V;return W|0}function hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;I=Q+36|0;G=Q+32|0;P=Q;F=Q+28|0;H=Q+24|0;J=a+8|0;E=f[J>>2]|0;f[G>>2]=0;Jj(I,E,G);E=a+1164|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];D=f[J>>2]|0;f[G>>2]=0;Jj(I,D,G);D=a+1176|0;h=f[D>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[I>>2];f[g>>2]=f[I+4>>2];f[d>>2]=f[I+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;O=P+8|0;N=P+4|0;M=P+16|0;K=P+20|0;Ic(P);d=f[N>>2]|0;e=(f[K>>2]|0)+(f[M>>2]|0)|0;if((f[O>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[K>>2]|0)+1|0;f[K>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[M>>2]|0;e=d+-1|0;t=s+e|0;v=f[N>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;j=r+(t*20|0)|0;n=f[j>>2]|0;j=f[j+4>>2]|0;h=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[K>>2]=e;e=f[O>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[O>>2]=(f[O>>2]|0)+-4}f[b>>2]=n;f[c>>2]=j;k=f[E>>2]|0;l=k+(t*12|0)|0;m=(f[D>>2]|0)+(t*12|0)|0;f[F>>2]=n;f[H>>2]=j;g=j;i=n;f[G>>2]=f[F>>2];f[I>>2]=f[H>>2];e=Sd(a,G,I,l,m,h)|0;j=j-n|0;s=(j|0)/12|0;d=(f[a>>2]|0)-(f[(f[m>>2]|0)+(e<<2)>>2]|0)|0;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}if(!j){L=69;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[m>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[J>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){L=69;break c}}}m=1<>2]|0;d=f[l>>2]|0;k=d;j=f[(f[E>>2]|0)+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+m|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[O>>2]|0;i=f[N>>2]|0;s=j-i>>2;d=f[M>>2]|0;h=f[K>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(P);d=f[M>>2]|0;h=f[K>>2]|0;j=f[O>>2]|0;i=f[N>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[K>>2]=(f[K>>2]|0)+1}if((g|0)!=(n|0)){i=f[O>>2]|0;h=f[N>>2]|0;t=i-h>>2;d=f[M>>2]|0;g=f[K>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(P);d=f[M>>2]|0;g=f[K>>2]|0;i=f[O>>2]|0;h=f[N>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[K>>2]|0)+1|0;f[K>>2]=d}else L=69}else L=69;while(0);if((L|0)==69){L=0;d=f[K>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[N>>2]|0;e=f[M>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[O>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[K>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[N>>2]|0)+4|0;f[N>>2]=d;g=f[O>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;L=83;break}case 2:{e=204;L=83;break}default:{}}if((L|0)==83)f[M>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[N>>2]|0;e=f[O>>2]|0;if((e|0)!=(d|0))f[O>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}mq(d);u=Q;return}function ib(a){a=a|0;var c=0,d=0,e=0,g=Ka,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ka;T=u;u=u+64|0;S=T+28|0;Q=T+16|0;O=T+4|0;L=T;R=a;M=a+80|0;c=f[M>>2]|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;f[S+16>>2]=R;H=S+20|0;n[H>>2]=$(1.0);f[S+24>>2]=R;nh(S,c);c=f[M>>2]|0;f[Q>>2]=0;R=Q+4|0;f[R>>2]=0;f[Q+8>>2]=0;do if(c|0)if(c>>>0>1073741823){Wo(Q);T=Ha(4)|0;Pp(T);sa(T|0,1096,107)}else{G=c<<2;F=_m(G)|0;f[Q>>2]=F;P=F+(c<<2)|0;f[Q+8>>2]=P;Xi(F|0,0,G|0)|0;f[R>>2]=P;break}while(0);f[O>>2]=0;P=O+4|0;f[P>>2]=0;f[O+8>>2]=0;f[L>>2]=0;a:do if((c|0)>0){F=S+16|0;C=S+4|0;E=S+12|0;B=S+8|0;D=O+8|0;G=S+24|0;c=0;z=0;b:while(1){w=f[F>>2]|0;k=f[w+8>>2]|0;w=(f[w+12>>2]|0)-k|0;v=(w|0)>0;if(v){i=k;l=w>>>2;d=0;j=0;do{e=f[i+(j<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;j=j+1|0}while((j|0)<(l|0))}else d=0;x=f[C>>2]|0;y=(x|0)==0;c:do if(!y){q=x+-1|0;e=(q&x|0)==0;if(e)t=q&d;else t=(d>>>0)%(x>>>0)|0;d=f[(f[S>>2]|0)+(t<<2)>>2]|0;if((d|0)!=0?(K=f[d>>2]|0,(K|0)!=0):0){r=f[G>>2]|0;s=r+8|0;r=r+12|0;d:do if(e){d=K;while(1){if((f[d+4>>2]&q|0)!=(t|0)){A=45;break c}p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){A=39;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break;if((m|0)>=(o|0)){A=43;break d}}d=f[d>>2]|0;if(!d){A=45;break c}}}else{d=K;while(1){if((((f[d+4>>2]|0)>>>0)%(x>>>0)|0|0)!=(t|0)){A=45;break c}p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){A=39;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break;if((m|0)>=(o|0)){A=43;break d}}d=f[d>>2]|0;if(!d){A=45;break c}}}while(0);if((A|0)==43){A=0;if(!d){A=45;break}}f[(f[Q>>2]|0)+(c<<2)>>2]=f[d+12>>2];e=z}else A=45}else A=45;while(0);do if((A|0)==45){A=0;if(v){j=w>>>2;d=0;i=0;do{e=f[k+(i<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;i=i+1|0}while((i|0)<(j|0));t=d}else t=0;e:do if(!y){p=x+-1|0;e=(p&x|0)==0;if(e)s=p&t;else s=(t>>>0)%(x>>>0)|0;d=f[(f[S>>2]|0)+(s<<2)>>2]|0;if((d|0)!=0?(J=f[d>>2]|0,(J|0)!=0):0){q=f[G>>2]|0;r=q+8|0;q=q+12|0;if(e){m=J;while(1){if((f[m+4>>2]&p|0)!=(s|0)){d=s;A=80;break e}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break e;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){A=76;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break e}m=f[m>>2]|0;if(!m){d=s;A=80;break}}}else{m=J;while(1){if((((f[m+4>>2]|0)>>>0)%(x>>>0)|0|0)!=(s|0)){d=s;A=80;break e}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break e;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){A=76;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break e}m=f[m>>2]|0;if(!m){d=s;A=80;break}}}}else{d=s;A=80}}else{d=0;A=80}while(0);if((A|0)==80){A=0;i=_m(16)|0;f[i+8>>2]=c;f[i+12>>2]=z;f[i+4>>2]=t;f[i>>2]=0;h=$(((f[E>>2]|0)+1|0)>>>0);U=$(x>>>0);g=$(n[H>>2]);do if(y|h>$(U*g)){c=(x>>>0<3|(x+-1&x|0)!=0)&1|x<<1;d=~~$(W($(h/g)))>>>0;nh(S,c>>>0>>0?d:c);c=f[C>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&t;break}else{e=c;c=(t>>>0)%(c>>>0)|0;break}}else{e=x;c=d}while(0);d=(f[S>>2]|0)+(c<<2)|0;c=f[d>>2]|0;if(!c){f[i>>2]=f[B>>2];f[B>>2]=i;f[d>>2]=B;c=f[i>>2]|0;if(c|0){c=f[c+4>>2]|0;d=e+-1|0;if(!(d&e))c=c&d;else c=(c>>>0)%(e>>>0)|0;c=(f[S>>2]|0)+(c<<2)|0;A=91}}else{f[i>>2]=f[c>>2];A=91}if((A|0)==91){A=0;f[c>>2]=i}f[E>>2]=(f[E>>2]|0)+1;c=f[L>>2]|0}e=z+1|0;f[(f[Q>>2]|0)+(c<<2)>>2]=z;c=f[P>>2]|0;if((c|0)==(f[D>>2]|0)){zi(O,L);break}else{f[c>>2]=f[L>>2];f[P>>2]=c+4;break}}while(0);c=(f[L>>2]|0)+1|0;f[L>>2]=c;d=f[M>>2]|0;if((c|0)>=(d|0)){I=d;N=e;break a}else z=e}if((A|0)==39)Fa(20527,20426,68,20517);else if((A|0)==76)Fa(20527,20426,68,20517)}else{I=0;N=0}while(0);if((N|0)!=(I|0)){Sa[f[(f[a>>2]|0)+24>>2]&15](a,Q,O);f[M>>2]=N}c=f[O>>2]|0;if(c|0){d=f[P>>2]|0;if((d|0)!=(c|0))f[P>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}c=f[Q>>2]|0;if(c|0){d=f[R>>2]|0;if((d|0)!=(c|0))f[R>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}c=f[S+8>>2]|0;if(c|0)do{R=c;c=f[c>>2]|0;mq(R)}while((c|0)!=0);c=f[S>>2]|0;f[S>>2]=0;if(!c){u=T;return}mq(c);u=T;return}function jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;M=u;u=u+32|0;L=M+8|0;i=M;F=a+8|0;E=f[F>>2]|0;f[i>>2]=0;Jj(L,E,i);E=a+1164|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[L>>2];f[g>>2]=f[L+4>>2];f[d>>2]=f[L+8>>2];D=f[F>>2]|0;f[i>>2]=0;Jj(L,D,i);D=a+1176|0;h=f[D>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[L>>2];f[g>>2]=f[L+4>>2];f[d>>2]=f[L+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;K=L+8|0;J=L+4|0;I=L+16|0;G=L+20|0;Ic(L);d=f[J>>2]|0;e=(f[G>>2]|0)+(f[I>>2]|0)|0;if((f[K>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[G>>2]|0)+1|0;f[G>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[I>>2]|0;e=d+-1|0;t=s+e|0;v=f[J>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[G>>2]=e;e=f[K>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[E>>2]|0;j=m+(t*12|0)|0;e=((f[F>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[D>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[F>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[F>>2]|0}while(g>>>0>>0)}if(!k){H=69;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[F>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){H=69;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[K>>2]|0;i=f[J>>2]|0;s=j-i>>2;d=f[I>>2]|0;h=f[G>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(L);d=f[I>>2]|0;h=f[G>>2]|0;j=f[K>>2]|0;i=f[J>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[G>>2]=(f[G>>2]|0)+1}if((g|0)!=(n|0)){i=f[K>>2]|0;h=f[J>>2]|0;t=i-h>>2;d=f[I>>2]|0;g=f[G>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(L);d=f[I>>2]|0;g=f[G>>2]|0;i=f[K>>2]|0;h=f[J>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[G>>2]|0)+1|0;f[G>>2]=d}else H=69}else H=69;while(0);if((H|0)==69){H=0;d=f[G>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[J>>2]|0;e=f[I>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[K>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[G>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[J>>2]|0)+4|0;f[J>>2]=d;g=f[K>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;H=83;break}case 2:{e=204;H=83;break}default:{}}if((H|0)==83)f[I>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[J>>2]|0;e=f[K>>2]|0;if((e|0)!=(d|0))f[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[L>>2]|0;if(!d){u=M;return}mq(d);u=M;return}function kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N+8|0;i=N;G=a+8|0;F=f[G>>2]|0;f[i>>2]=0;Jj(M,F,i);F=a+128|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];E=f[G>>2]|0;f[i>>2]=0;Jj(M,E,i);E=a+140|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;L=M+8|0;K=M+4|0;J=M+16|0;H=M+20|0;Ic(M);d=f[K>>2]|0;e=(f[H>>2]|0)+(f[J>>2]|0)|0;if((f[L>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[H>>2]|0)+1|0;f[H>>2]=d;a:do if(d|0){x=a+116|0;D=a+32|0;C=a+12|0;w=a+88|0;B=a+84|0;y=a+76|0;z=a+80|0;A=a+72|0;b:while(1){s=f[J>>2]|0;e=d+-1|0;t=s+e|0;v=f[K>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[H>>2]=e;e=f[L>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[L>>2]=(f[L>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[F>>2]|0;j=m+(t*12|0)|0;e=((f[G>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[G>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[G>>2]|0}while(g>>>0>>0)}if(!k){I=65;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[G>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){I=65;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)oi(C,i,d-o|0);else oi(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[L>>2]|0;i=f[K>>2]|0;s=j-i>>2;d=f[J>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(M);d=f[J>>2]|0;h=f[H>>2]|0;j=f[L>>2]|0;i=f[K>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[H>>2]=(f[H>>2]|0)+1}if((g|0)!=(n|0)){i=f[L>>2]|0;h=f[K>>2]|0;t=i-h>>2;d=f[J>>2]|0;g=f[H>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(M);d=f[J>>2]|0;g=f[H>>2]|0;i=f[L>>2]|0;h=f[K>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[H>>2]|0)+1|0;f[H>>2]=d}else I=65}else I=65;while(0);if((I|0)==65){I=0;d=f[H>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[K>>2]|0;e=f[J>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[L>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[H>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[K>>2]|0)+4|0;f[K>>2]=d;g=f[L>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;I=79;break}case 2:{e=204;I=79;break}default:{}}if((I|0)==79)f[J>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[K>>2]|0;e=f[L>>2]|0;if((e|0)!=(d|0))f[L>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}mq(d);u=N;return}function lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N+8|0;i=N;G=a+8|0;F=f[G>>2]|0;f[i>>2]=0;Jj(M,F,i);F=a+140|0;h=f[F>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];E=f[G>>2]|0;f[i>>2]=0;Jj(M,E,i);E=a+152|0;h=f[E>>2]|0;d=f[h>>2]|0;g=h+4|0;if(!d)d=h+8|0;else{e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d);d=h+8|0;f[d>>2]=0;f[g>>2]=0;f[h>>2]=0}f[h>>2]=f[M>>2];f[g>>2]=f[M+4>>2];f[d>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;L=M+8|0;K=M+4|0;J=M+16|0;H=M+20|0;Ic(M);d=f[K>>2]|0;e=(f[H>>2]|0)+(f[J>>2]|0)|0;if((f[L>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[H>>2]|0)+1|0;f[H>>2]=d;a:do if(d|0){x=a+128|0;D=a+44|0;C=a+12|0;w=a+100|0;B=a+96|0;y=a+88|0;z=a+92|0;A=a+84|0;b:while(1){s=f[J>>2]|0;e=d+-1|0;t=s+e|0;v=f[K>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[H>>2]=e;e=f[L>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){mq(f[e+-4>>2]|0);f[L>>2]=(f[L>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[F>>2]|0;j=m+(t*12|0)|0;e=((f[G>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[G>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[G>>2]|0}while(g>>>0>>0)}if(!k){I=65;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{oi(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[G>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){I=65;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))zi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)Kf(C,i,d-o|0);else Kf(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[L>>2]|0;i=f[K>>2]|0;s=j-i>>2;d=f[J>>2]|0;h=f[H>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Ic(M);d=f[J>>2]|0;h=f[H>>2]|0;j=f[L>>2]|0;i=f[K>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[H>>2]=(f[H>>2]|0)+1}if((g|0)!=(n|0)){i=f[L>>2]|0;h=f[K>>2]|0;t=i-h>>2;d=f[J>>2]|0;g=f[H>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Ic(M);d=f[J>>2]|0;g=f[H>>2]|0;i=f[L>>2]|0;h=f[K>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[H>>2]|0)+1|0;f[H>>2]=d}else I=65}else I=65;while(0);if((I|0)==65){I=0;d=f[H>>2]|0}if(!d)break a}Fa(7712,7742,332,7883)}while(0);d=f[K>>2]|0;e=f[J>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[L>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[H>>2]=0;e=j-k>>2;if(e>>>0>2)do{mq(f[d>>2]|0);d=(f[K>>2]|0)+4|0;f[K>>2]=d;g=f[L>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;I=79;break}case 2:{e=204;I=79;break}default:{}}if((I|0)==79)f[J>>2]=e;if((d|0)!=(g|0)){do{mq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[K>>2]|0;e=f[L>>2]|0;if((e|0)!=(d|0))f[L>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}mq(d);u=N;return}function mb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}mb(a,n,c);a=n+4|0}if((s|0)==104){s=0;mb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function nb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}nb(a,n,c);a=n+4|0}if((s|0)==104){s=0;nb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function ob(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}ob(a,n,c);a=n+4|0}if((s|0)==104){s=0;ob(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function pb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}pb(a,n,c);a=n+4|0}if((s|0)==104){s=0;pb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function qb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}qb(a,n,c);a=n+4|0}if((s|0)==104){s=0;qb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function rb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}rb(a,n,c);a=n+4|0}if((s|0)==104){s=0;rb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function sb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}sb(a,n,c);a=n+4|0}if((s|0)==104){s=0;sb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function tb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}tb(a,n,c);a=n+4|0}if((s|0)==104){s=0;tb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}ub(a,n,c);a=n+4|0}if((s|0)==104){s=0;ub(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}vb(a,n,c);a=n+4|0}if((s|0)==104){s=0;vb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}wb(a,n,c);a=n+4|0}if((s|0)==104){s=0;wb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}xb(a,n,c);a=n+4|0}if((s|0)==104){s=0;xb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}yb(a,n,c);a=n+4|0}if((s|0)==104){s=0;yb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}zb(a,n,c);a=n+4|0}if((s|0)==104){s=0;zb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Ab(a,n,c);a=n+4|0}if((s|0)==104){s=0;Ab(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Bb(a,n,c);a=n+4|0}if((s|0)==104){s=0;Bb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Cb(a,n,c);a=n+4|0}if((s|0)==104){s=0;Cb(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:while(1){r=b;t=b+-4|0;while(1){b:while(1){q=a;e=r-q|0;d=e>>2;switch(d|0){case 2:{s=5;break a}case 3:{s=13;break a}case 4:{s=14;break a}case 5:{s=15;break a}case 1:case 0:{s=106;break a}default:{}}if((e|0)<124){s=17;break a}p=a+(((d|0)/2|0)<<2)|0;if((e|0)>3996){d=(d|0)/4|0;d=Vd(a,a+(d<<2)|0,p,p+(d<<2)|0,t,c)|0}else d=Wd(a,p,t,c)|0;j=f[a>>2]|0;l=f[p>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);o=f[c>>2]|0;k=f[h>>2]|0;e=f[o>>2]|0;i=f[o+4>>2]|0;h=o}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){g=t;break}else g=t;while(1){g=g+-4|0;if((a|0)==(g|0))break;k=f[g>>2]|0;m=f[p>>2]|0;e=f[c>>2]|0;i=f[e+4>>2]|0;h=f[e>>2]|0;if(i-h>>3>>>0>k>>>0){l=e;j=h;e=h}else{Vo(e);i=f[c>>2]|0;l=i;j=f[e>>2]|0;e=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-e>>3>>>0<=m>>>0){Vo(l);e=f[l>>2]|0}if(h>>>0<(f[e+(m<<3)>>2]|0)>>>0){s=71;break b}}d=a+4|0;j=f[a>>2]|0;l=f[t>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0>=(f[e+(l<<3)>>2]|0)>>>0){if((d|0)==(t|0)){s=106;break a}while(1){j=f[a>>2]|0;l=f[d>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(t|0)){s=106;break a}}q=f[d>>2]|0;f[d>>2]=f[t>>2];f[t>>2]=q;d=d+4|0}if((d|0)==(t|0)){s=106;break a}else l=t;while(1){while(1){h=f[a>>2]|0;k=f[d>>2]|0;i=f[c>>2]|0;g=f[i+4>>2]|0;e=f[i>>2]|0;if(g-e>>3>>>0>h>>>0)j=e;else{Vo(i);q=f[c>>2]|0;j=f[i>>2]|0;e=f[q>>2]|0;g=f[q+4>>2]|0;i=q}h=f[j+(h<<3)>>2]|0;if(g-e>>3>>>0<=k>>>0){Vo(i);e=f[i>>2]|0}n=d+4|0;if(h>>>0<(f[e+(k<<3)>>2]|0)>>>0){m=l;break}else d=n}do{j=f[a>>2]|0;m=m+-4|0;l=f[m>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);q=f[c>>2]|0;k=f[h>>2]|0;e=f[q>>2]|0;i=f[q+4>>2]|0;h=q}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}}while(g>>>0<(f[e+(l<<3)>>2]|0)>>>0);if(d>>>0>=m>>>0){a=d;continue b}l=f[d>>2]|0;f[d>>2]=f[m>>2];f[m>>2]=l;d=n;l=m}}if((s|0)==71){s=0;o=f[a>>2]|0;f[a>>2]=f[g>>2];f[g>>2]=o;d=d+1|0}e=a+4|0;c:do if(e>>>0>>0)while(1){o=e;while(1){k=f[o>>2]|0;m=f[p>>2]|0;j=f[c>>2]|0;i=f[j+4>>2]|0;e=f[j>>2]|0;if(i-e>>3>>>0>k>>>0){l=e;h=e;e=j}else{Vo(j);e=f[c>>2]|0;l=f[j>>2]|0;h=f[e>>2]|0;i=f[e+4>>2]|0}j=f[l+(k<<3)>>2]|0;if(i-h>>3>>>0<=m>>>0){Vo(e);h=f[e>>2]|0}e=o+4|0;if(j>>>0<(f[h+(m<<3)>>2]|0)>>>0)o=e;else{n=g;break}}do{n=n+-4|0;k=f[n>>2]|0;m=f[p>>2]|0;i=f[c>>2]|0;h=f[i+4>>2]|0;g=f[i>>2]|0;if(h-g>>3>>>0>k>>>0){l=g;j=h}else{Vo(i);h=f[c>>2]|0;l=f[i>>2]|0;g=f[h>>2]|0;j=f[h+4>>2]|0;i=h}h=f[l+(k<<3)>>2]|0;if(j-g>>3>>>0<=m>>>0){Vo(i);g=f[i>>2]|0}}while(h>>>0>=(f[g+(m<<3)>>2]|0)>>>0);if(o>>>0>n>>>0){n=o;m=p;break c}g=f[o>>2]|0;f[o>>2]=f[n>>2];f[n>>2]=g;g=n;p=(p|0)==(o|0)?n:p;d=d+1|0}else{n=e;m=p}while(0);if((n|0)!=(m|0)){j=f[m>>2]|0;l=f[n>>2]|0;h=f[c>>2]|0;g=f[h+4>>2]|0;e=f[h>>2]|0;if(g-e>>3>>>0>j>>>0){k=e;i=g}else{Vo(h);p=f[c>>2]|0;k=f[h>>2]|0;e=f[p>>2]|0;i=f[p+4>>2]|0;h=p}g=f[k+(j<<3)>>2]|0;if(i-e>>3>>>0<=l>>>0){Vo(h);e=f[h>>2]|0}if(g>>>0<(f[e+(l<<3)>>2]|0)>>>0){p=f[n>>2]|0;f[n>>2]=f[m>>2];f[m>>2]=p;d=d+1|0}}if(!d){e=yd(a,n,c)|0;d=n+4|0;if(yd(d,b,c)|0){s=105;break}if(e){a=d;continue}}p=n;if((p-q|0)>=(r-p|0)){s=104;break}Db(a,n,c);a=n+4|0}if((s|0)==104){s=0;Db(n+4|0,b,c);b=n;continue}else if((s|0)==105){s=0;if(e){s=106;break}else{b=n;continue}}}if((s|0)==5){h=f[t>>2]|0;j=f[a>>2]|0;b=f[c>>2]|0;e=f[b+4>>2]|0;d=f[b>>2]|0;if(e-d>>3>>>0>h>>>0){i=b;g=d;b=d}else{Vo(b);e=f[c>>2]|0;i=e;g=f[b>>2]|0;b=f[e>>2]|0;e=f[e+4>>2]|0}d=f[g+(h<<3)>>2]|0;if(e-b>>3>>>0<=j>>>0){Vo(i);b=f[i>>2]|0}if(d>>>0>=(f[b+(j<<3)>>2]|0)>>>0)return;c=f[a>>2]|0;f[a>>2]=f[t>>2];f[t>>2]=c;return}else if((s|0)==13){Wd(a,a+4|0,t,c)|0;return}else if((s|0)==14){Ne(a,a+4|0,a+8|0,t,c)|0;return}else if((s|0)==15){Vd(a,a+4|0,a+8|0,a+12|0,t,c)|0;return}else if((s|0)==17){Nf(a,b,c);return}else if((s|0)==106)return}function Eb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0;F=u;u=u+80|0;n=F+76|0;o=F+72|0;D=F+48|0;x=F+24|0;B=F;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0){l=c;m=-1073741824}else{l=c;m=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}}else{l=-1073741824;m=-1073741824}c=a+36|0;j=f[c>>2]|0;g=f[j+4>>2]|0;k=f[j>>2]|0;if(g-k>>2>>>0>l>>>0){c=k;h=g;i=j;g=k}else{Vo(j);i=f[c>>2]|0;c=f[i>>2]|0;h=f[i+4>>2]|0;g=f[j>>2]|0}w=f[g+(l<<2)>>2]|0;if(h-c>>2>>>0<=m>>>0){Vo(i);c=f[i>>2]|0}h=f[c+(m<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){z=w<<1;v=f[d+(z<<2)>>2]|0;y=((v|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(v|0)|(s|0)!=(z|0))){f[a+8>>2]=v;f[a+12>>2]=z;u=F;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;c=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,c,x)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;f[B+12>>2]=0;f[B+16>>2]=0;f[B+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[o>>2]=c;i=b[g+24>>0]|0;f[n>>2]=f[o>>2];Fb(g,n,i,B)|0;n=B;i=x;h=f[i>>2]|0;i=f[i+4>>2]|0;n=Dn(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=B+8|0;k=x+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=Dn(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=B+16|0;g=x+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=Dn(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=Zm(n|0,o|0,n|0,o|0)|0;x=I;B=Zm(p|0,q|0,p|0,q|0)|0;x=Zn(B|0,I|0,C|0,x|0)|0;C=I;B=Zm(l|0,m|0,l|0,m|0)|0;B=Zn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;K=D;K=Dn(f[K>>2]|0,f[K+4>>2]|0,h|0,i|0)|0;J=I;H=D+8|0;H=Dn(f[H>>2]|0,f[H+4>>2]|0,j|0,k|0)|0;G=I;h=D+16|0;h=Dn(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=Zm(K|0,J|0,n|0,o|0)|0;D=I;g=Zm(H|0,G|0,p|0,q|0)|0;D=Zn(g|0,I|0,k|0,D|0)|0;k=I;g=Zm(h|0,i|0,l|0,m|0)|0;g=Zn(D|0,k|0,g|0,I|0)|0;k=I;D=Dn(r|0,((r|0)<0)<<31>>31|0,v|0,y|0)|0;c=I;w=Dn(s|0,((s|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;s=Zm(B|0,C|0,v|0,y|0)|0;r=I;v=Zm(B|0,C|0,z|0,A|0)|0;t=I;A=Zm(g|0,k|0,D|0,c|0)|0;z=I;j=Zm(g|0,k|0,w|0,x|0)|0;y=I;r=Zn(A|0,z|0,s|0,r|0)|0;s=I;t=Zn(j|0,y|0,v|0,t|0)|0;v=I;y=Zm(g|0,k|0,n|0,o|0)|0;j=I;z=Zm(g|0,k|0,p|0,q|0)|0;A=I;m=Zm(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=Dn(K|0,J|0,j|0,l|0)|0;j=I;z=Dn(H|0,G|0,A|0,z|0)|0;A=I;m=Dn(h|0,i|0,k|0,m|0)|0;k=I;j=Zm(l|0,j|0,l|0,j|0)|0;l=I;A=Zm(z|0,A|0,z|0,A|0)|0;l=Zn(A|0,I|0,j|0,l|0)|0;j=I;k=Zm(m|0,k|0,m|0,k|0)|0;k=Zn(l|0,j|0,k|0,I|0)|0;j=I;l=Dn(0,0,D|0,c|0)|0;m=I;j=Zm(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=25}break}case 1:{if(!c){g=1;c=0;E=26}else{g=1;c=0;h=j;i=k;E=25}break}default:{g=1;c=0;h=j;i=k;E=25}}if((E|0)==25)while(1){g=tn(g|0,c|0,1)|0;c=I;K=h;h=yn(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&K>>>0>7)){E=26;break}else{i=I;E=25}}if((E|0)==26)while(1){K=Oo(j|0,k|0,g|0,c|0)|0;g=Zn(K|0,I|0,g|0,c|0)|0;g=yn(g|0,I|0,1)|0;c=I;K=Zm(g|0,c|0,g|0,c|0)|0;J=I;if(J>>>0>k>>>0|(J|0)==(k|0)&K>>>0>j>>>0)E=26;else break}o=Zm(g|0,c|0,w|0,x|0)|0;K=I;n=Zm(g|0,c|0,l|0,m|0)|0;l=I;J=Zn(o|0,K|0,r|0,s|0)|0;g=I;k=Zn(n|0,l|0,t|0,v|0)|0;c=I;g=kk(J|0,g|0,B|0,C|0)|0;J=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;K=Dn(r|0,s|0,o|0,K|0)|0;o=I;l=Dn(t|0,v|0,n|0,l|0)|0;n=I;o=kk(K|0,o|0,B|0,C|0)|0;K=I;n=kk(l|0,n|0,B|0,C|0)|0;l=I;h=e<<1;j=f[d+(h<<2)>>2]|0;H=((j|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;m=((h|0)<0)<<31>>31;J=Dn(j|0,H|0,g|0,J|0)|0;G=I;k=Dn(h|0,m|0,c|0,k|0)|0;i=I;G=Zm(J|0,G|0,J|0,G|0)|0;J=I;i=Zm(k|0,i|0,k|0,i|0)|0;J=Zn(i|0,I|0,G|0,J|0)|0;G=I;K=Dn(j|0,H|0,o|0,K|0)|0;H=I;l=Dn(h|0,m|0,n|0,l|0)|0;m=I;H=Zm(K|0,H|0,K|0,H|0)|0;K=I;m=Zm(l|0,m|0,l|0,m|0)|0;K=Zn(m|0,I|0,H|0,K|0)|0;H=I;m=a+16|0;l=a+20|0;h=f[l>>2]|0;j=a+24|0;i=f[j>>2]|0;k=(h|0)==(i<<5|0);if(G>>>0>>0|(G|0)==(H|0)&J>>>0>>0){if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;K=(f[m>>2]|0)+(h>>>5<<2)|0;f[K>>2]=f[K>>2]|1<<(h&31)}else{if(k){if((h+1|0)<0){Wo(m);i=f[j>>2]|0}K=i<<6;h=h+32&-32;bi(m,i<<5>>>0<1073741823?(K>>>0>>0?h:K):2147483647);h=f[l>>2]|0}f[l>>2]=h+1;g=(f[m>>2]|0)+(h>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(h&31));g=o;c=n}f[a+8>>2]=g;f[a+12>>2]=c;u=F;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}K=a+8|0;f[K>>2]=0;f[K+4>>2]=0;u=F;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=F;return} -function pf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;j=n+12|0;k=n+8|0;d=n+4|0;g=n;if(!b){c=_m(76)|0;b=_m(12)|0;e=f[(f[a+4>>2]|0)+80>>2]|0;f[b+4>>2]=0;f[b>>2]=3780;f[b+8>>2]=e;f[g>>2]=b;ml(c,g,0);f[d>>2]=c;b=a+12|0;e=f[b>>2]|0;if(e>>>0<(f[a+16>>2]|0)>>>0){f[d>>2]=0;f[e>>2]=c;f[b>>2]=e+4}else pg(a+8|0,d);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0;f[g>>2]=0;if(!c){u=n;return 1}Oa[f[(f[c>>2]|0)+4>>2]&127](c);u=n;return 1}e=f[f[a+8>>2]>>2]|0;f[j>>2]=b;m=e+4|0;l=e+8|0;c=f[l>>2]|0;if((c|0)==(f[e+12>>2]|0))zi(m,j);else{f[c>>2]=b;f[l>>2]=c+4}d=f[j>>2]|0;h=e+16|0;b=e+20|0;e=f[b>>2]|0;c=f[h>>2]|0;g=e-c>>2;if((d|0)>=(g|0)){a=d+1|0;f[k>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(i=c+(a<<2)|0,(e|0)!=(i|0)):0)f[b>>2]=e+(~((e+-4-i|0)>>>2)<<2)}else{Pg(h,a-g|0,k);d=f[j>>2]|0;c=f[h>>2]|0}}f[c+(d<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;u=n;return 1}function qf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ie(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ie(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;Wk(c);b=a+44|0;wm(b);m=a+64|0;wm(m);n=a+84|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];lb(a,i,k);Pc(c,e);gg(b,e);gg(m,e);gg(n,e);u=l;return 1}function rf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;g=f[l>>2]|0;e=g;if(((d-g|0)/12|0)>>>0>=b>>>0){Xi(g|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}c=f[a>>2]|0;h=((g-c|0)/12|0)+b|0;if(h>>>0>357913941){Wo(a);g=f[l>>2]|0;c=f[a>>2]|0;e=g;d=f[m>>2]|0}k=c;d=(d-c|0)/12|0;i=d<<1;i=d>>>0<178956970?(i>>>0>>0?h:i):357913941;d=(g-c|0)/12|0;do if(i)if(i>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{h=_m(i*12|0)|0;break}else h=0;while(0);g=h+(d*12|0)|0;d=g;j=h+(i*12|0)|0;Xi(g|0,0,b*12|0)|0;h=g+(b*12|0)|0;if((e|0)==(k|0))i=c;else{c=d;do{b=g+-12|0;i=e;e=e+-12|0;f[b>>2]=0;d=g+-8|0;f[d>>2]=0;f[g+-4>>2]=0;f[b>>2]=f[e>>2];b=i+-8|0;f[d>>2]=f[b>>2];i=i+-4|0;f[g+-4>>2]=f[i>>2];f[i>>2]=0;f[b>>2]=0;f[e>>2]=0;g=c+-12|0;c=g}while((e|0)!=(k|0));d=c;i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=j;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);mq(g)}}while((e|0)!=(h|0));if(!i)return;mq(i);return}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3460;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)Wo(h);c=((c+-1|0)>>>5)+1|0;o=_m(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Wo(h);o=((c+-1|0)>>>5)+1|0;a=_m(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m);u=n;return}function tf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3508;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;if(c|0){if((c|0)<0)Wo(h);c=((c+-1|0)>>>5)+1|0;o=_m(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m)}h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Wo(h);o=((c+-1|0)>>>5)+1|0;a=_m(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];Tf(h,k,m);u=n;return}function uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o+4|0;n=o;k=o+8|0;i=d+11|0;j=b[i>>0]|0;g=j<<24>>24<0;if(g){a=f[d+4>>2]|0;if(a>>>0>255){c=0;u=o;return c|0}}else a=j&255;if(!a){b[k>>0]=0;d=c+16|0;l=f[d+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[d>>2]|0)>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ie(c,m,k,k+1|0)|0}c=1;u=o;return c|0}l=d+4|0;e=f[l>>2]|0;b[k>>0]=g?e:j&255;a=c+16|0;g=a;h=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&h>>>0>0)i=g;else{f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ie(c,m,k,k+1|0)|0;h=a;j=b[i>>0]|0;i=f[h+4>>2]|0;h=f[h>>2]|0;e=f[l>>2]|0}g=j<<24>>24<0;a=g?f[d>>2]|0:d;if(!((i|0)>0|(i|0)==0&h>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ie(c,m,a,a+(g?e:j&255)|0)|0}c=1;u=o;return c|0}function vf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);mq(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[i>>2]|0}else c=0;l=d-c|0;d=l>>1;d=l>>2>>>0<536870911?(d>>>0>>0?h:d):1073741823;if(d>>>0>1073741823){Wo(a);b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}e=_m(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Eg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Eg(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;e=f[k>>2]|0;if(d-e>>2>>>0>=b>>>0){Xi(e|0,0,b<<2|0)|0;f[k>>2]=e+(b<<2);u=n;return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[l>>2]|0;e=f[k>>2]|0}i=d-c|0;j=i>>1;g=i>>2>>>0<536870911?(j>>>0>>0?g:j):1073741823;c=e-c>>2;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(g)if(g>>>0>1073741823){n=Ha(4)|0;Pp(n);sa(n|0,1096,107)}else{d=_m(g<<2)|0;break}else d=0;while(0);f[m>>2]=d;c=d+(c<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=c;j=m+12|0;f[j>>2]=d+(g<<2);Xi(c|0,0,b<<2|0)|0;f[i>>2]=c+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];Uh(m);u=n;return}function xf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function yf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);mq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823){Wo(a);e=f[a>>2]|0;d=f[i>>2]|0}else e=0;j=d-e|0;d=j>>1;d=j>>2>>>0<536870911?(d>>>0>>0?b:d):1073741823;if(d>>>0>1073741823){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}h=_m(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function zf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;r=u;u=u+48|0;n=r+24|0;o=r+8|0;p=r+4|0;q=r;h=c+4|0;if((f[h>>2]|0)==-1)Fa(7347,7128,57,7476);m=e+4|0;ri(a,c,(f[m>>2]|0)-(f[e>>2]|0)>>2,2,g,d);l=f[a>>2]|0;l=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;a=f[h>>2]|0;if((a|0)<=1)Fa(11796,11807,60,11922);if((a|0)>=31)Fa(11942,11807,61,11922);f[o>>2]=a;a=1<>2]=a+-1;a=a+-2|0;f[o+8>>2]=a;f[o+12>>2]=(a|0)/2|0;a=f[e>>2]|0;if((f[m>>2]|0)==(a|0)){u=r;return}k=d+84|0;h=d+68|0;i=d+48|0;j=d+40|0;g=0;c=0;while(1){a=f[a+(c<<2)>>2]|0;if(!(b[k>>0]|0))a=f[(f[h>>2]|0)+(a<<2)>>2]|0;t=i;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j;s=f[w>>2]|0;a=Zm(s|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Zn(a|0,I|0,v|0,t|0)|0;Eg(n|0,(f[f[d>>2]>>2]|0)+a|0,s|0)|0;Gf(o,n,p,q);f[l+(g<<2)>>2]=f[p>>2];f[l+((g|1)<<2)>>2]=f[q>>2];c=c+1|0;a=f[e>>2]|0;if(c>>>0>=(f[m>>2]|0)-a>>2>>>0)break;else g=g+2|0}u=r;return}function Af(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=u;u=u+80|0;j=i;g=i+64|0;Al(j);k=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Ql(5)|0,d)|0;qj(j,k,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=_m(96)|0;ql(h,j);gj(h,c)|0;f[g>>2]=h;Hi(a,g);h=f[g>>2]|0;f[g>>2]=0;if(h|0){k=h+88|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d+8>>2]|0;if(c|0){g=d+12|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;mq(c)}mq(d)}c=f[h+68>>2]|0;if(c|0){g=h+72|0;d=f[g>>2]|0;if((d|0)!=(c|0))f[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}k=h+64|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){g=d+4|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;mq(c)}mq(d)}mq(h)}if(!e){u=i;return}a=f[a+32>>2]|0;b[a+84>>0]=0;c=a+68|0;a=a+72|0;h=f[a>>2]|0;d=f[c>>2]|0;g=h-d>>2;if(g>>>0>>0){Pg(c,e-g|0,1516);u=i;return}if(g>>>0<=e>>>0){u=i;return}d=d+(e<<2)|0;if((h|0)==(d|0)){u=i;return}f[a>>2]=h+(~((h+-4-d|0)>>>2)<<2);u=i;return}function Bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=4194303)Fa(19224,19631,356,19254);if(e>>>0>=1073741824)Fa(19264,19631,357,19254);d=e+-4194304|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-4177920|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+4194304|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1077936128|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=2097151)Fa(19224,19631,356,19254);if(e>>>0>=536870912)Fa(19264,19631,357,19254);d=e+-2097152|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-2080768|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+6291456|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1075838976|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=1048575)Fa(19224,19631,356,19254);if(e>>>0>=268435456)Fa(19264,19631,357,19254);d=e+-1048576|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-1032192|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+7340032|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074790400|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=262143)Fa(19224,19631,356,19254);if(e>>>0>=67108864)Fa(19264,19631,357,19254);d=e+-262144|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-245760|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8126464|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074003968|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=131071)Fa(19224,19631,356,19254);if(e>>>0>=33554432)Fa(19264,19631,357,19254);d=e+-131072|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-114688|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8257536|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1073872896|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function Gf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=Ka,p=Ka,q=0.0,r=Ka;r=$(n[b>>2]);m=+$(K($(r)));p=$(n[b+4>>2]);m=m+ +$(K($(p)));o=$(n[b+8>>2]);m=m+ +$(K($(o)));h=m>1.0e-06;m=1.0/m;l=f[a+12>>2]|0;q=+(l|0);k=~~+J(+(q*(h?+r*m:1.0)+.5));g=~~+J(+(q*(h?+p*m:0.0)+.5));e=(k|0)>-1;k=e?k:0-k|0;i=l-k-((g|0)>-1?g:0-g|0)|0;b=(i|0)<0;g=(b?((g|0)>0?i:0-i|0):0)+g|0;i=b?0:i;i=(h?+o*m:0.0)<0.0?0-i|0:i;h=(g|0)>-1?g:0-g|0;b=(i|0)>-1?i:0-i|0;if((h+k+b|0)!=(l|0))Fa(14147,11807,99,14235);if(!e){if((g|0)>=0)b=(f[a+8>>2]|0)-b|0;if((i|0)<0)k=h;else k=(f[a+8>>2]|0)-h|0}else{b=l+g|0;k=l+i|0}i=(b|0)==0;j=(k|0)==0;e=f[a+8>>2]|0;if(!(k|b)){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}g=(e|0)==(k|0);h=(e|0)==(b|0);if(i&g|j&h){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}if(i&(l|0)<(k|0)){a=0;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(k|0)&h){a=b;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(b|0)&g){a=(l<<1)-b|0;l=k;f[c>>2]=a;f[d>>2]=l;return}else{a=(l|0)<(b|0)&j?(l<<1)-b|0:b;l=k;f[c>>2]=a;f[d>>2]=l;return}}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=32767)Fa(19224,19631,356,19254);if(e>>>0>=8388608)Fa(19264,19631,357,19254);d=e+-32768|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-16384|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8355840|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{i=e+-1073774592|0;b[a>>0]=i;b[a+1>>0]=i>>>8;b[a+2>>0]=i>>>16;i=4;e=a+3|0;a=h;d=192;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function If(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+352>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;ui(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Fj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;yf(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;Bc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)Fa(20527,20426,60,20517);else if((a|0)==11){u=o;return 1}return 0}function Jf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+288>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;ui(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Fj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;yf(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;Bc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)Fa(20527,20426,60,20517);else if((a|0)==11){u=o;return 1}return 0}function Kf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)Fa(19425,19449,46,19550);if((b|0)<=0)Fa(19579,19449,47,19550);g=c>>>1&1431655765|c<<1&-1431655766;g=g>>>2&858993459|g<<2&-858993460;g=g>>>4&252645135|g<<4&-252645136;g=g>>>8&16711935|g<<8&-16711936;c=32-b|0;g=(g>>>16|g<<16)>>>c;d=g-(g>>>1&1431655765)|0;d=(d>>>2&858993459)+(d&858993459)|0;d=(X((d>>>4)+d&252645135,16843009)|0)>>>24;i=b-d|0;j=f[a>>2]|0;h=j;i=Zn(f[h>>2]|0,f[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;h=j;f[h>>2]=i;f[h+4>>2]=I;j=j+8|0;h=j;d=Zn(f[h>>2]|0,f[h+4>>2]|0,d|0,0)|0;f[j>>2]=d;f[j+4>>2]=I;j=a+28|0;d=f[j>>2]|0;h=32-d|0;i=a+24|0;do if((h|0)>=(b|0)){e=-1>>>c<>2]&~e|e&g<>2]=e;b=d+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0)){zi(a+12|0,i);d=0;c=0;break}else{f[c>>2]=e;f[d>>2]=c+4;d=0;c=0;break}}else{e=-1>>>d<>2]&~e|e&g<>2]=e;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0))zi(a+12|0,i);else{f[c>>2]=e;f[d>>2]=c+4}c=b-h|0;d=c;c=-1>>>(32-c|0)&g>>>h}while(0);f[i>>2]=c;f[j>>2]=d;return}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=f[b>>2]|0;l=f[k>>2]|0;e=f[a+4>>2]|0;b=f[k+4>>2]|0;h=e+-1|0;i=(h&e|0)==0;if(i)g=h&b;else g=(b>>>0)%(e>>>0)|0;c=(f[a>>2]|0)+(g<<2)|0;j=f[c>>2]|0;while(1){b=f[j>>2]|0;if((b|0)==(k|0))break;else j=b}if((j|0)!=(a+8|0)){b=f[j+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;d=18}else d=11}else d=11;do if((d|0)==11){if(l|0){b=f[l+4>>2]|0;if(i)b=b&h;else b=(b>>>0)%(e>>>0)|0;if((b|0)==(g|0)){c=l;b=l;d=19;break}}f[c>>2]=0;c=f[k>>2]|0;d=18}while(0);if((d|0)==18){b=c;if(c)d=19}if((d|0)==19){c=f[c+4>>2]|0;if(i)c=c&h;else c=(c>>>0)%(e>>>0)|0;if((c|0)!=(g|0)){f[(f[a>>2]|0)+(c<<2)>>2]=j;b=f[k>>2]|0}}f[j>>2]=b;f[k>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!k)return l|0;b=f[k+20>>2]|0;if(b|0){c=k+24|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;mq(b)}_n(k+8|0);mq(k);return l|0}function Mf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;c=f[d>>2]|0;b=f[g>>2]|0;i=c-b>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=b+(h<<2)|0,(c|0)!=(e|0)):0)f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2)}else Pg(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];ac(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];ac(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function Nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+8|0;Wd(a,a+4|0,e,c)|0;d=a+12|0;if((d|0)==(b|0))return;while(1){k=f[d>>2]|0;m=f[e>>2]|0;g=f[c>>2]|0;i=f[g+4>>2]|0;h=f[g>>2]|0;if(i-h>>3>>>0>k>>>0){l=g;j=h;g=h}else{Vo(g);i=f[c>>2]|0;l=i;j=f[g>>2]|0;g=f[i>>2]|0;i=f[i+4>>2]|0}h=f[j+(k<<3)>>2]|0;if(i-g>>3>>>0<=m>>>0){Vo(l);g=f[l>>2]|0}if(h>>>0<(f[g+(m<<3)>>2]|0)>>>0){m=f[d>>2]|0;g=d;while(1){f[g>>2]=f[e>>2];if((e|0)==(a|0)){e=a;break}l=e+-4|0;k=f[l>>2]|0;j=f[c>>2]|0;h=f[j+4>>2]|0;g=f[j>>2]|0;if(h-g>>3>>>0>m>>>0)i=g;else{Vo(j);n=f[c>>2]|0;i=f[j>>2]|0;g=f[n>>2]|0;h=f[n+4>>2]|0;j=n}i=f[i+(m<<3)>>2]|0;if(h-g>>3>>>0<=k>>>0){Vo(j);g=f[j>>2]|0}if(i>>>0<(f[g+(k<<3)>>2]|0)>>>0){g=e;e=l}else break}f[e>>2]=m}e=d+4|0;if((e|0)==(b|0))break;else{n=d;d=e;e=n}}return}function Of(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+32|0;e=m;l=a+16|0;d=l;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){u=m;return}i=Zn(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;i=yn(i|0,I|0,3)|0;j=I;if(!(b[a+24>>0]|0)){h=a+4|0;e=h}else{n=f[a>>2]|0;g=a+4|0;n=n+((f[g>>2]|0)-n)|0;h=Zn(c|0,d|0,8,0)|0;h=n+(0-h)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;b[e+24>>0]=0;ch(i,j,e)|0;d=e+4|0;c=(f[d>>2]|0)-(f[e>>2]|0)|0;dm(h+c|0,h+8|0,i|0)|0;Eg(h|0,f[e>>2]|0,c|0)|0;h=l;c=Zn(f[h>>2]|0,f[h+4>>2]|0,8-c|0,0)|0;h=l;f[h>>2]=c;f[h+4>>2]=I;h=e+12|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)mq(c);c=f[e>>2]|0;if(c|0){if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}d=l;e=g;c=f[d>>2]|0;d=f[d+4>>2]|0;h=g}e=f[e>>2]|0;n=f[a>>2]|0;g=e-n|0;c=Dn(i|0,j|0,c|0,d|0)|0;c=Zn(c|0,I|0,g|0,0)|0;d=n;if(c>>>0<=g>>>0){if(c>>>0>>0?(k=d+c|0,(e|0)!=(k|0)):0)f[h>>2]=k}else ki(a,c-g|0);n=l;f[n>>2]=0;f[n+4>>2]=0;u=m;return}function Pf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;l=a+36|0;j=a+4|0;i=a+8|0;d=(f[i>>2]|0)-(f[j>>2]|0)>>2;g=a+40|0;b=f[g>>2]|0;c=f[l>>2]|0;e=b-c>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=c+(d<<2)|0,(b|0)!=(h|0)):0)do{e=b+-4|0;f[g>>2]=e;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[g>>2]|0}while((b|0)!=(h|0))}else bg(l,d-e|0);if((f[i>>2]|0)==(f[j>>2]|0)){a=1;u=m;return a|0}d=a+52|0;c=a+48|0;e=0;while(1){Sa[f[(f[a>>2]|0)+56>>2]&15](k,a,e);h=(f[l>>2]|0)+(e<<2)|0;g=f[k>>2]|0;f[k>>2]=0;b=f[h>>2]|0;f[h>>2]=g;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[k>>2]|0;f[k>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[(f[l>>2]|0)+(e<<2)>>2]|0;if(!b){b=0;c=19;break}if(e>>>0<(f[d>>2]|0)>>>0?f[(f[c>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0:0)ep(b);e=e+1|0;if(e>>>0>=(f[i>>2]|0)-(f[j>>2]|0)>>2>>>0){b=1;c=19;break}}if((c|0)==19){u=m;return b|0}return 0}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;j=l+4|0;i=l;Mh(f[c+12>>2]|0,b)|0;d=f[c+8>>2]|0;a:do if(d|0){k=b+16|0;h=b+4|0;while(1){e=d;if(!(uf(0,b,e+8|0)|0)){d=0;break}m=e+20|0;g=(f[e+24>>2]|0)-(f[m>>2]|0)|0;Mh(g,b)|0;e=f[m>>2]|0;m=k;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[h>>2];f[j>>2]=f[i>>2];Ie(b,j,e,e+g|0)|0}d=f[d>>2]|0;if(!d)break a}u=l;return d|0}while(0);Mh(f[c+32>>2]|0,b)|0;d=f[c+28>>2]|0;if(!d){n=1;u=l;return n|0}while(1){e=d;if(!(uf(0,b,e+8|0)|0)){d=0;e=10;break}Qf(a,b,f[e+20>>2]|0)|0;d=f[d>>2]|0;if(!d){d=1;e=10;break}}if((e|0)==10){u=l;return d|0}return 0}function Rf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Bk(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Bk(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Bk(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function Sf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)dm(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Eg(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);mq(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[h>>2]|0}else c=0;m=d-c|0;d=m>>1;d=m>>2>>>0<536870911?(d>>>0>>0?g:d):1073741823;if(d>>>0>1073741823){Wo(a);b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}e=_m(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Eg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function Tf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];fe(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=c>>>5;dm(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function Uf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=f[d>>2]|0;m=f[d+4>>2]|0;a:do if((e|0)==(m|0)){n=a+8|0;o=a+12|0;q=0}else{k=f[c>>2]|0;l=a+8|0;j=a+12|0;d=0;b:while(1){h=f[e>>2]|0;i=f[k+(h<<2)>>2]|0;if((i|0)>=(d|0)){d=f[l>>2]|0;c=(f[j>>2]|0)-d|0;if((c|0)>0){g=c>>2;a=0;do{c=f[d+(a<<2)>>2]|0;if(b[c+84>>0]|0)break b;c=f[c+68>>2]|0;f[c+(i<<2)>>2]=f[c+(h<<2)>>2];a=a+1|0}while((a|0)<(g|0))}d=i+1|0}e=e+4|0;if((e|0)==(m|0)){n=l;o=j;q=d;break a}}Fa(19931,19950,89,20044)}while(0);c=f[o>>2]|0;d=f[n>>2]|0;if((c-d|0)>0)j=0;else return;do{g=f[d+(j<<2)>>2]|0;b[g+84>>0]=0;h=g+68|0;g=g+72|0;e=f[g>>2]|0;a=f[h>>2]|0;i=e-a>>2;if(q>>>0<=i>>>0){if(q>>>0>>0?(p=a+(q<<2)|0,(e|0)!=(p|0)):0)f[g>>2]=e+(~((e+-4-p|0)>>>2)<<2)}else{Pg(h,q-i|0,6092);d=f[n>>2]|0;c=f[o>>2]|0}j=j+1|0}while((j|0)<(c-d>>2|0));return}function Vf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=d[b>>1]|0;k=d[b+2>>1]|0;l=d[b+4>>1]|0;i=d[b+6>>1]|0;b=((((j^318)&65535)+239^k&65535)+239^l&65535)+239^i&65535;e=f[a+4>>2]|0;if(!e){l=0;return l|0}h=e+-1|0;c=(h&e|0)==0;if(c)g=b&h;else g=(b>>>0)%(e>>>0)|0;b=f[(f[a>>2]|0)+(g<<2)>>2]|0;if(!b){l=0;return l|0}b=f[b>>2]|0;if(!b){l=0;return l|0}if(c){while(1){if((f[b+4>>2]&h|0)!=(g|0)){b=0;a=20;break}if((((d[b+8>>1]|0)==j<<16>>16?(d[b+10>>1]|0)==k<<16>>16:0)?(d[b+12>>1]|0)==l<<16>>16:0)?(d[b+14>>1]|0)==i<<16>>16:0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((f[b+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(g|0)){b=0;a=20;break}if((((d[b+8>>1]|0)==j<<16>>16?(d[b+10>>1]|0)==k<<16>>16:0)?(d[b+12>>1]|0)==l<<16>>16:0)?(d[b+14>>1]|0)==i<<16>>16:0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function Wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q;if(!b){c=0;u=q;return c|0}n=b+96|0;m=b+100|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;b=f[m>>2]|0;a=f[n>>2]|0;e=(b-a|0)/12|0;if(e>>>0>=c>>>0){if(e>>>0>c>>>0?(g=a+(c*12|0)|0,(b|0)!=(g|0)):0)f[m>>2]=b+(~(((b+-12-g|0)>>>0)/12|0)*12|0)}else hg(n,c-e|0,o);if((c|0)<=0){c=1;u=q;return c|0}a=f[n>>2]|0;k=0;do{h=k*3|0;i=f[d+(h<<2)>>2]|0;j=f[d+(h+1<<2)>>2]|0;h=f[d+(h+2<<2)>>2]|0;e=f[m>>2]|0;g=(e-a|0)/12|0;b=a;l=k;k=k+1|0;if((l|0)>=(g|0)){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if(k>>>0<=g>>>0){if(k>>>0>>0?(p=b+(k*12|0)|0,(e|0)!=(p|0)):0)f[m>>2]=e+(~(((e+-12-p|0)>>>0)/12|0)*12|0)}else{hg(n,k-g|0,o);a=f[n>>2]|0;b=a}}f[b+(l*12|0)>>2]=i;f[b+(l*12|0)+4>>2]=j;f[b+(l*12|0)+8>>2]=h}while((k|0)!=(c|0));a=1;u=q;return a|0}function Xf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=b[c>>0]|0;k=b[c+1>>0]|0;l=b[c+2>>0]|0;i=b[c+3>>0]|0;c=(((j&255^318)+239^k&255)+239^l&255)+239^i&255;e=f[a+4>>2]|0;if(!e){l=0;return l|0}h=e+-1|0;d=(h&e|0)==0;if(d)g=c&h;else g=(c>>>0)%(e>>>0)|0;c=f[(f[a>>2]|0)+(g<<2)>>2]|0;if(!c){l=0;return l|0}c=f[c>>2]|0;if(!c){l=0;return l|0}if(d){while(1){if((f[c+4>>2]&h|0)!=(g|0)){c=0;a=20;break}if((((b[c+8>>0]|0)==j<<24>>24?(b[c+9>>0]|0)==k<<24>>24:0)?(b[c+10>>0]|0)==l<<24>>24:0)?(b[c+11>>0]|0)==i<<24>>24:0){a=20;break}c=f[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}else{while(1){if((((f[c+4>>2]|0)>>>0)%(e>>>0)|0|0)!=(g|0)){c=0;a=20;break}if((((b[c+8>>0]|0)==j<<24>>24?(b[c+9>>0]|0)==k<<24>>24:0)?(b[c+10>>0]|0)==l<<24>>24:0)?(b[c+11>>0]|0)==i<<24>>24:0){a=20;break}c=f[c>>2]|0;if(!c){c=0;a=20;break}}if((a|0)==20)return c|0}return 0}function Yf(a){a=a|0;Wk(a);Wk(a+32|0);Wk(a+64|0);Wk(a+96|0);Wk(a+128|0);Wk(a+160|0);Wk(a+192|0);Wk(a+224|0);Wk(a+256|0);Wk(a+288|0);Wk(a+320|0);Wk(a+352|0);Wk(a+384|0);Wk(a+416|0);Wk(a+448|0);Wk(a+480|0);Wk(a+512|0);Wk(a+544|0);Wk(a+576|0);Wk(a+608|0);Wk(a+640|0);Wk(a+672|0);Wk(a+704|0);Wk(a+736|0);Wk(a+768|0);Wk(a+800|0);Wk(a+832|0);Wk(a+864|0);Wk(a+896|0);Wk(a+928|0);Wk(a+960|0);Wk(a+992|0);Wk(a+1024|0);return}function Zf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)Fa(20061,20073,110,20165);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))lh(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){zi(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;mq(e)}mq(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;mq(e)}mq(d)}mq(b);u=j;return}function _f(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;mq(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0){Wo(a);e=f[i>>2]|0;g=f[a>>2]|0}else g=0;k=e-g|0;g=k<<1;g=k>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Wo(a);e=_m(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)dm(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function $f(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;if(!(ah(a,c,d)|0)){l=0;u=m;return l|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){l=0;u=m;return l|0}h=f[c+48>>2]|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;Kj(k,17755,17);i=h+16|0;e=f[i>>2]|0;if(e){c=i;a:while(1){g=e;while(1){if((f[g+16>>2]|0)>=(d|0))break;e=f[g+4>>2]|0;if(!e)break a;else g=e}e=f[g>>2]|0;if(!e){c=g;break}else c=g}if(((c|0)!=(i|0)?(j=c+20|0,(f[c+16>>2]|0)<=(d|0)):0)?(Kh(j,k)|0)!=0:0)c=Ck(j,k,-1)|0;else l=12}else l=12;if((l|0)==12)c=Ck(h,k,-1)|0;_n(k);if((c|0)<1){l=0;u=m;return l|0}No(a+40|0,c);l=1;u=m;return l|0}function ag(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;s=u;u=u+16|0;r=s+4|0;q=s;n=a+8|0;g=f[n>>2]|0;a=f[g+40>>2]|0;p=jq((a|0)>-1?a:-1)|0;l=c+4|0;h=f[l>>2]|0;e=f[c>>2]|0;if((h|0)==(e|0)){kq(p);u=s;return 1}o=d+16|0;m=d+4|0;k=p+a|0;i=g;j=g;g=0;while(1){a=f[e+(g<<2)>>2]|0;if(!(b[i+84>>0]|0))a=f[(f[i+68>>2]|0)+(a<<2)>>2]|0;t=j+48|0;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j+40|0;i=f[w>>2]|0;a=Zm(i|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Zn(a|0,I|0,v|0,t|0)|0;Eg(p|0,(f[f[j>>2]>>2]|0)+a|0,i|0)|0;j=o;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)a=h;else{f[q>>2]=f[m>>2];f[r>>2]=f[q>>2];Ie(d,r,p,k)|0;e=f[c>>2]|0;a=f[l>>2]|0}g=g+1|0;if(g>>>0>=a-e>>2>>>0)break;j=f[n>>2]|0;i=j;h=a}kq(p);u=s;return 1}function bg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;e=f[n>>2]|0;m=a+4|0;d=f[m>>2]|0;if(e-d>>2>>>0>=b>>>0){Xi(d|0,0,b<<2|0)|0;f[m>>2]=d+(b<<2);return}c=f[a>>2]|0;h=(d-c>>2)+b|0;if(h>>>0>1073741823){Wo(a);g=f[a>>2]|0;d=f[m>>2]|0;e=f[n>>2]|0}else g=c;c=d;l=g;k=e-g|0;j=k>>1;h=k>>2>>>0<536870911?(j>>>0>>0?h:j):1073741823;j=d-g>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h<<2)|0;break}else i=0;while(0);e=i+(j<<2)|0;Xi(e|0,0,b<<2|0)|0;d=e;k=i+(h<<2)|0;h=i+(j+b<<2)|0;if((c|0)!=(l|0)){do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=d+-4|0;d=e}while((c|0)!=(l|0));g=f[a>>2]|0;c=f[m>>2]|0}f[a>>2]=d;f[m>>2]=h;f[n>>2]=k;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;mq(g);return}function cg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p;d=f[b>>2]|0;f[n>>2]=d;l=a+12|0;c=(d|0)<0;b=d+1|0;do if(!c){f[n+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[n+4>>2]=d;b=d}while(0);f[n+8>>2]=b;j=c?-1073741824:(d>>>0)/3|0;i=a+28|0;k=(f[i>>2]|0)+(j>>>5<<2)|0;f[k>>2]=1<<(j&31)|f[k>>2];k=a+172|0;j=a+176|0;h=a+280|0;c=d;b=0;while(1){if((((c|0)>=0?(o=f[(f[(f[l>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(o|0)>=0):0)?(g=(o>>>0)/3|0,(f[(f[i>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0)?(m=f[k>>2]|0,(f[j>>2]|0)!=(m|0)):0){g=c>>>5;e=1<<(c&31);c=m;a=0;do{d=(f[h>>2]|0)+(a<<5)|0;if(!(e&f[(f[c+(a*108|0)+4>>2]|0)+(g<<2)>>2]))Ui(d,0);else Ui(d,1);a=a+1|0;c=f[k>>2]|0}while(a>>>0<(((f[j>>2]|0)-c|0)/108|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[n+(b<<2)>>2]|0}u=p;return 1}function dg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=f[b>>2]|0;j=f[b+4>>2]|0;k=f[b+8>>2]|0;h=f[b+12>>2]|0;b=(((i^318)+239^j)+239^k)+239^h;d=f[a+4>>2]|0;if(!d){k=0;return k|0}g=d+-1|0;c=(g&d|0)==0;if(c)e=b&g;else e=(b>>>0)%(d>>>0)|0;b=f[(f[a>>2]|0)+(e<<2)>>2]|0;if(!b){k=0;return k|0}b=f[b>>2]|0;if(!b){k=0;return k|0}if(c){while(1){if((f[b+4>>2]&g|0)!=(e|0)){b=0;a=20;break}if((((f[b+8>>2]|0)==(i|0)?(f[b+12>>2]|0)==(j|0):0)?(f[b+16>>2]|0)==(k|0):0)?(f[b+20>>2]|0)==(h|0):0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}else{while(1){if((((f[b+4>>2]|0)>>>0)%(d>>>0)|0|0)!=(e|0)){b=0;a=20;break}if((((f[b+8>>2]|0)==(i|0)?(f[b+12>>2]|0)==(j|0):0)?(f[b+16>>2]|0)==(k|0):0)?(f[b+20>>2]|0)==(h|0):0){a=20;break}b=f[b>>2]|0;if(!b){b=0;a=20;break}}if((a|0)==20)return b|0}return 0}function eg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;f[a+4>>2]=f[b+4>>2];g=a+8|0;i=b+8|0;if((a|0)==(b|0))return a|0;h=b+12|0;c=f[h>>2]|0;if(!c)c=0;else{e=a+16|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[g>>2]|0;if(d){mq(d);f[g>>2]=0;f[e>>2]=0;f[a+12>>2]=0;c=f[h>>2]|0}if((c|0)<0)Wo(g);d=((c+-1|0)>>>5)+1|0;c=_m(d<<2)|0;f[g>>2]=c;f[a+12>>2]=0;f[e>>2]=d;d=f[h>>2]|0}else{d=c;c=f[g>>2]|0}dm(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[h>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){mq(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Wo(h);d=((c+-1|0)>>>5)+1|0;c=_m(d<<2)|0;f[h>>2]=c;f[a+24>>2]=0;f[e>>2]=d;d=f[g>>2]|0}else{d=c;c=f[h>>2]|0}dm(c|0,f[i>>2]|0,((d+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function fg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+16|0;e=o;j=c+1|0;f[e>>2]=0;n=e+4|0;f[n>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823){Wo(e);o=Ha(4)|0;Pp(o);sa(o|0,1096,107)}else{l=_m(j<<2)|0;f[e>>2]=l;m=l+(j<<2)|0;f[e+8>>2]=m;Xi(l|0,0,(c<<2)+4|0)|0;f[n>>2]=m;k=l;break}else{k=0;l=0;m=0}while(0);if((b|0)>0){e=0;do{p=l+(f[a+(e<<2)>>2]<<2)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+1|0}while((e|0)!=(b|0))}i=+(b|0);if((c|0)<0){e=0;g=0.0}else{b=0;e=0;g=0.0;do{p=f[l+(b<<2)>>2]|0;h=+(p|0);if((p|0)>0){e=e+1|0;g=g+h*+Mg(h/i)}b=b+1|0}while((b|0)!=(j|0))}if(d|0)f[d>>2]=e;i=-g;e=~~i>>>0;b=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;if(!l){I=b;u=o;return e|0}if((m|0)!=(l|0))f[n>>2]=m+(~((m+-4-l|0)>>>2)<<2);mq(k);I=b;u=o;return e|0}function gg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;h=l+8|0;i=l+4|0;g=l;k=a+12|0;j=a+4|0;c=f[j>>2]|0;if((c|0)==(f[a+8>>2]|0)){zi(a,k);c=f[j>>2]|0}else{f[c>>2]=f[k>>2];c=c+4|0;f[j>>2]=c}d=f[a>>2]|0;f[g>>2]=c-d;e=b+16|0;c=e;m=f[c+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ie(b,h,g,g+4|0)|0;d=f[a>>2]|0;c=f[g>>2]|0;m=e;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ie(b,h,d,d+c|0)|0;d=f[a>>2]|0}}c=f[j>>2]|0;if((c|0)==(d|0)){f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}f[j>>2]=c+(~((c+-4-d|0)>>>2)<<2);f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((g-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;h=((d-e|0)/12|0)+b|0;if(h>>>0>357913941){Wo(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=(g-e|0)/12|0;g=i<<1;g=i>>>0<178956970?(g>>>0>>0?h:g):357913941;d=(d-e|0)/12|0;do if(g)if(g>>>0>357913941){k=Ha(4)|0;Pp(k);sa(k|0,1096,107)}else{e=_m(g*12|0)|0;break}else e=0;while(0);i=e+(d*12|0)|0;h=e+(g*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Eg(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;mq(d);return}function ig(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;e=a+24|0;i=f[a+32>>2]|0;if(i>>>0<=16383)Fa(19224,19631,356,19254);if(i>>>0>=4194304)Fa(19264,19631,357,19254);d=i+-16384|0;do if(d>>>0>=64){g=a+28|0;a=(f[e>>2]|0)+(f[g>>2]|0)|0;if(d>>>0<16384){b[a>>0]=i;h=2;e=a+1|0;a=g;d=i>>>8;break}else{d=i+8372224|0;b[a>>0]=d;b[a+1>>0]=d>>>8;h=3;e=a+2|0;a=g;d=d>>>16;break}}else{a=a+28|0;h=1;e=(f[e>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+h|0;i=((h|0)<0)<<31>>31;jn(l);ch(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;dm(j+g|0,j|0,h|0)|0;Eg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Zn(g|0,0,h|0,i|0)|0;k=Zn(j|0,I|0,d|0,k|0)|0;sl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)mq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;mq(d);u=m;return}function jg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;i=m+4|0;j=m;l=m+8|0;k=a+4|0;if((f[k>>2]|0)==-1){l=0;u=m;return l|0}g=f[a+8>>2]|0;h=c+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){e=(f[a+12>>2]|0)-g|0;f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,g,g+e|0)|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;g=a+20|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,g,g+4|0)|0;d=h;e=f[d+4>>2]|0;d=f[d>>2]|0}}b[l>>0]=f[k>>2];if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ie(c,i,l,l+1|0)|0}l=1;u=m;return l|0}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];eg(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{vf(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);vf(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);vf(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];Sf(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;o=r+4|0;q=r;p=a+4|0;c=f[p>>2]|0;m=a+8|0;d=f[m>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[m>>2]=c}l=a+16|0;j=f[l>>2]|0;k=a+20|0;d=f[k>>2]|0;e=j;if((d|0)!=(j|0))f[k>>2]=d+(~((d+-4-e|0)>>>2)<<2);d=f[b>>2]|0;j=f[b+4>>2]|0;if((d|0)==(j|0)){u=r;return}i=a+12|0;h=d;do{d=f[h>>2]|0;f[o>>2]=d;if((c|0)==(f[i>>2]|0)){zi(p,o);e=f[l>>2]|0}else{f[c>>2]=d;f[m>>2]=c+4}d=f[o>>2]|0;b=f[k>>2]|0;g=b-e>>2;c=e;if((d|0)<(g|0))b=c;else{a=d+1|0;f[q>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(n=c+(a<<2)|0,(b|0)!=(n|0)):0)f[k>>2]=b+(~((b+-4-n|0)>>>2)<<2)}else{Pg(l,a-g|0,q);e=f[l>>2]|0;d=f[o>>2]|0;c=e}b=c}c=f[m>>2]|0;f[b+(d<<2)>>2]=(c-(f[p>>2]|0)>>2)+-1;h=h+4|0}while((h|0)!=(j|0));u=r;return}function mg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;o=q+16|0;n=q+12|0;p=q;f[a>>2]=0;m=a+4|0;f[m>>2]=0;f[a+8>>2]=0;k=c;e=f[k>>2]|0;k=f[k+4>>2]|0;l=f[d+4>>2]|0;c=l-k|0;if(!c){u=q;return}if(c>>>0>357913941){Wo(a);q=Ha(4)|0;Pp(q);sa(q|0,1096,107)}d=_m(c*12|0)|0;f[m>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(c*12|0);if((l|0)==(k|0)){u=q;return}j=e+84|0;g=e+68|0;h=p+4|0;i=p+8|0;a=k;do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[j>>0]|0))c=f[(f[g>>2]|0)+(a<<2)>>2]|0;else c=a;f[n>>2]=c;f[o>>2]=f[n>>2];Lb(e,o,3,p)|0;f[d>>2]=f[p>>2];f[d+4>>2]=f[h>>2];f[d+8>>2]=f[i>>2];a=a+1|0;d=(f[m>>2]|0)+12|0;f[m>>2]=d}while((a|0)!=(l|0));u=q;return}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{dm(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}h=_m(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{mq(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=6064;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}Vh(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Gi(c);mq(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}mq(b)}Gi(e);mq(e);return}function pg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{e=_m(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Oa[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;mq(g);return}function qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)Fa(19770,19795,63,19872);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))Fa(19877,19795,64,19872);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))zi(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){zi(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function rg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;o=p+4|0;n=p;f[a+52>>2]=e;f[a+44>>2]=g;l=jq(e>>>0>1073741823?-1:e<<2)|0;m=a+48|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)kq(d);k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;j=g-d|0;if((j|0)<=0){u=p;return 1}l=a+8|0;i=g;g=(j>>>2)+-1|0;while(1){if(i-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[n>>2]=f[d+(g<<2)>>2];f[o>>2]=f[n>>2];qc(a,o,b,g);j=X(g,e)|0;Xh(l,b+(j<<2)|0,f[m>>2]|0,c+(j<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0}u=p;return 1}function sg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{dm(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}h=_m(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){mq(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function tg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;m=n;d=fl(c,0)|0;if(!d){f[a>>2]=0;u=n;return}l=c+96|0;e=c+100|0;vj(m,((f[e>>2]|0)-(f[l>>2]|0)|0)/12|0);c=f[l>>2]|0;e=(f[e>>2]|0)-c|0;if((e|0)>0){l=d+68|0;k=f[m>>2]|0;j=(b[d+84>>0]|0)==0;i=(e|0)/12|0;h=0;do{d=c+(h*12|0)|0;if(j){o=f[l>>2]|0;e=o+(f[c+(h*12|0)+8>>2]<<2)|0;g=o+(f[c+(h*12|0)+4>>2]<<2)|0;d=o+(f[d>>2]<<2)|0}else{e=c+(h*12|0)+8|0;g=c+(h*12|0)+4|0}g=f[g>>2]|0;o=f[e>>2]|0;f[k+(h*12|0)>>2]=f[d>>2];f[k+(h*12|0)+4>>2]=g;f[k+(h*12|0)+8>>2]=o;h=h+1|0}while((h|0)<(i|0))}jk(a,m);e=f[m>>2]|0;if(e|0){d=m+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~(((c+-12-e|0)>>>0)/12|0)*12|0);mq(e)}u=n;return}function ug(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;qe(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=c>>>5;dm(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function vg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+4|0;d=f[l>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[l>>2]|0}k=a+8|0;j=(f[k>>2]|0)-c|0;g=j>>1;g=j>>2>>>0<536870911?(g>>>0>>0?e:g):1073741823;c=d-c>>2;do if(g)if(g>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{e=_m(g<<2)|0;break}else e=0;while(0);h=e+(c<<2)|0;d=h;j=e+(g<<2)|0;i=f[b>>2]|0;f[b>>2]=0;f[h>>2]=i;i=h+4|0;b=f[a>>2]|0;c=f[l>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=h;do{c=c+-4|0;h=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=h;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=i;f[k>>2]=j;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){Gi(d);mq(d)}}while((c|0)!=(e|0));if(!g)return;mq(g);return}function wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;Zf(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}mq(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){Ug(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function xg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;a=a+4|0;e=f[a>>2]|0;if(!e){f[c>>2]=a;n=a;return n|0}l=b[d+11>>0]|0;k=l<<24>>24<0;l=k?f[d+4>>2]|0:l&255;k=k?f[d>>2]|0:d;while(1){g=e+16|0;d=b[g+11>>0]|0;i=d<<24>>24<0;d=i?f[e+20>>2]|0:d&255;h=d>>>0>>0;a=h?d:l;if((a|0)!=0?(n=il(k,i?f[g>>2]|0:g,a)|0,(n|0)!=0):0)if((n|0)<0)j=7;else j=9;else if(l>>>0>>0)j=7;else j=9;if((j|0)==7){a=f[e>>2]|0;if(!a){j=8;break}}else if((j|0)==9){j=0;a=l>>>0>>0?l:d;if((a|0)!=0?(m=il(i?f[g>>2]|0:g,k,a)|0,(m|0)!=0):0){if((m|0)>=0){j=16;break}}else j=11;if((j|0)==11?(0,!h):0){j=16;break}d=e+4|0;a=f[d>>2]|0;if(!a){j=15;break}}e=a}if((j|0)==8){f[c>>2]=e;n=e;return n|0}else if((j|0)==15){f[c>>2]=e;n=d;return n|0}else if((j|0)==16){f[c>>2]=e;n=c;return n|0}return 0}function yg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;o=p+4|0;n=p;f[a+52>>2]=e;f[a+44>>2]=g;l=jq(e>>>0>1073741823?-1:e<<2)|0;m=a+48|0;d=f[m>>2]|0;f[m>>2]=l;if(d|0)kq(d);k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;j=g-d|0;if((j|0)<=0){u=p;return 1}l=a+8|0;i=g;g=(j>>>2)+-1|0;while(1){if(i-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[n>>2]=f[d+(g<<2)>>2];f[o>>2]=f[n>>2];nc(a,o,b,g);j=X(g,e)|0;Xh(l,b+(j<<2)|0,f[m>>2]|0,c+(j<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;i=f[h+4>>2]|0}u=p;return 1}function zg(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;i=a+108|0;d=(f[a+112>>2]|0)-(f[i>>2]|0)|0;g=(d|0)/12|0;e=a+4|0;Mh(g,f[(f[e>>2]|0)+44>>2]|0)|0;if(!d)return 1;a=0;c=0;while(1){j=f[i>>2]|0;d=j+(a*12|0)+4|0;Mh((f[d>>2]|0)-c|0,f[(f[e>>2]|0)+44>>2]|0)|0;Mh((f[d>>2]|0)-(f[j+(a*12|0)>>2]|0)|0,f[(f[e>>2]|0)+44>>2]|0)|0;a=a+1|0;if(a>>>0>=g>>>0)break;else c=f[d>>2]|0}qi(f[(f[e>>2]|0)+44>>2]|0,g,0,0)|0;c=0;do{a=f[(f[e>>2]|0)+44>>2]|0;j=a+16|0;d=f[j+4>>2]|0;if((d|0)>0|(d|0)==0&(f[j>>2]|0)>>>0>0){l=f[a+12>>2]|0;j=l+4|0;a=f[j>>2]|0;k=b[(f[i>>2]|0)+(c*12|0)+8>>0]&1;d=a>>>3;a=a&7;m=(f[l>>2]|0)+d|0;b[m>>0]=(h[m>>0]|0)&(1<>2]|0)+d|0;b[d>>0]=h[d>>0]|0|k<>2]=(f[j>>2]|0)+1}c=c+1|0}while(c>>>0>>0);Of(f[(f[e>>2]|0)+44>>2]|0);return 1}function Ag(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+80|0;g=e+36|0;h=e;Kn(g,c);Ae(h,b,c);rh(g,h);mj(h+24|0,f[h+28>>2]|0);tj(h+12|0,f[h+16>>2]|0);mj(h,f[h+4>>2]|0);_i(a,g,d);mj(g+24|0,f[g+28>>2]|0);tj(g+12|0,f[g+16>>2]|0);mj(g,f[g+4>>2]|0);u=e;return}function Bg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+4|0;l=n;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(13062,13305,70,13469);h=c+8|0;if(!(f[h>>2]|0))Fa(13062,13305,70,13469);i=f[(f[(f[c+16>>2]|0)+28>>2]|0)+(f[d>>2]<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=i>>>0){Vo(d);c=f[d>>2]|0;d=f[g>>2]|0;if(!d)Fa(13062,13305,62,13490);else{k=d;j=c}}else{k=e;j=c}d=f[h>>2]|0;if(!d)Fa(13062,13305,62,13490);d=f[d+(f[j+(i<<2)>>2]<<2)>>2]|0;if(!(b[k+84>>0]|0))d=f[(f[k+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[l>>2]=d;j=b[k+24>>0]|0;f[m>>2]=f[l>>2];Fb(k,m,j,a)|0;u=n;return}function Cg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))Fa(20527,20426,60,20517);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=hi(c,d)|0;if((b|0)==-2)b=0;else{do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ze(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_m(44)|0;f[b>>2]=1528;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];yj(b+32|0,e+24|0);f[b>>2]=1584}f[a>>2]=b;return}function Dg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=il(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=il(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Eg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Aa(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Fg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];tc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];tc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Gg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=c+4|0;e=f[g>>2]|0;if(!e)Fa(13062,13305,70,13469);i=c+8|0;if(!(f[i>>2]|0))Fa(13062,13305,70,13469);d=f[d>>2]|0;if((d|0)<0)h=-1073741824;else h=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;c=f[c+20>>2]|0;d=f[c>>2]|0;if((f[c+4>>2]|0)-d>>2>>>0<=h>>>0){Vo(c);e=f[g>>2]|0;d=f[c>>2]|0}c=f[d+(h<<2)>>2]|0;if(!e)Fa(13062,13305,62,13490);d=f[i>>2]|0;if(!d)Fa(13062,13305,62,13490);d=f[d+(c<<2)>>2]|0;if(!(b[e+84>>0]|0))d=f[(f[e+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[j>>2]=d;i=b[e+24>>0]|0;f[k>>2]=f[j>>2];Fb(e,k,i,a)|0;u=l;return}function Hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=co(ya(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=co(ya(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Ig(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+4;h=a+8|0;b[h>>0]=0;f[g+16>>2]=f[d>>2];i=g+20|0;f[g+24>>2]=0;f[g+28>>2]=0;a=g+24|0;f[i>>2]=a;c=f[d+4>>2]|0;g=d+8|0;if((c|0)==(g|0)){b[h>>0]=1;u=l;return}e=a;d=c;while(1){a=d+16|0;f[j>>2]=e;f[k>>2]=f[j>>2];Sg(i,k,a,a)|0;a=f[c+4>>2]|0;if(!a)while(1){a=f[c+8>>2]|0;if((f[a>>2]|0)==(c|0))break;else c=a}else while(1){c=f[a>>2]|0;if(!c)break;else a=c}if((a|0)==(g|0))break;else{d=a;c=a}}b[h>>0]=1;u=l;return}function Jg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];uc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];uc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Kg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l;i=a+4|0;f[i>>2]=0;if(!c){u=l;return}h=a+8|0;e=f[h>>2]|0;if(e<<5>>>0>>0){f[k>>2]=0;j=k+4|0;f[j>>2]=0;g=k+8|0;f[g>>2]=0;if((c|0)<0){Wo(a);e=f[h>>2]|0}m=e<<6;n=c+31&-32;bi(k,e<<5>>>0<1073741823?(m>>>0>>0?n:m):2147483647);e=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=e;k=f[i>>2]|0;f[i>>2]=c;f[j>>2]=k;k=f[h>>2]|0;f[h>>2]=f[g>>2];f[g>>2]=k;if(e|0)mq(e)}else f[i>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){Xi(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=l;return}else{Xi(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=l;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=l;return}}function Lg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function Mg(a){a=+a;var b=0,c=0,d=0,e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;p[s>>3]=a;c=f[s>>2]|0;b=f[s+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;b=f[s+4>>2]|0;d=f[s>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;f[s>>2]=d;f[s+4>>2]=(e&1048575)+1072079006;k=+p[s>>3]+-1.0;i=k*k*.5;h=k/(k+2.0);j=h*h;a=j*j;p[s>>3]=k-i;d=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=d;g=+p[s>>3];a=k-g-i+h*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+j*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));j=g*1.4426950407214463;i=+(c+(e>>>20)|0);h=i+j;a=h+(j+(i-h)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function Ng(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(Ko(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Ko(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Na[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Ua[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else ym(0,c,d,e);while(0);return}function Og(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=a+32|0;m=f[a+64>>2]|0;m=(Ra[f[(f[m>>2]|0)+40>>2]&127](m)|0)+52|0;m=f[m>>2]|0;m=(((f[m+100>>2]|0)-(f[m+96>>2]|0)|0)/12|0)*3|0;qi(n,m,((m|0)<0)<<31>>31,1)|0;m=a+68|0;c=f[m>>2]|0;d=(f[a+72>>2]|0)-c|0;if((d|0)<=0){Of(n);return}l=a+48|0;j=a+44|0;a=(d>>>2)+-1|0;while(1){c=f[c+(a<<2)>>2]|0;d=f[3396+(c<<2)>>2]|0;i=l;g=f[i+4>>2]|0;if((g|0)>0|(g|0)==0&(f[i>>2]|0)>>>0>0?(k=f[j>>2]|0,171>>>c&1|0):0){i=k+4|0;e=f[i>>2]|0;g=0;do{o=e>>>3;p=e&7;q=(f[k>>2]|0)+o|0;b[q>>0]=(h[q>>0]|0)&(1<>2]|0)+o|0;b[o>>0]=h[o>>0]|0|(c>>>g&1)<>2]|0)+1|0;f[i>>2]=e;g=g+1|0}while((g|0)!=(d|0))}a=a+-1|0;if((a|0)<=-1)break;c=f[m>>2]|0}Of(n);return}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;e=f[k>>2]|0;l=a+4|0;h=f[l>>2]|0;g=h;if(e-h>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[l>>2]=g+(b<<2);return}d=f[a>>2]|0;g=(h-d>>2)+b|0;if(g>>>0>1073741823){Wo(a);d=f[a>>2]|0;e=f[k>>2]|0;j=f[l>>2]|0}else j=h;i=e-d|0;e=i>>1;g=i>>2>>>0<536870911?(e>>>0>>0?g:e):1073741823;e=j-d>>2;do if(g)if(g>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}else{h=_m(g<<2)|0;break}else h=0;while(0);i=h+(e<<2)|0;h=h+(g<<2)|0;e=i;g=b;while(1){f[e>>2]=f[c>>2];g=g+-1|0;if(!g)break;else e=e+4|0}g=j-d|0;e=i+(0-(g>>2)<<2)|0;if((g|0)>0)Eg(e|0,d|0,g|0)|0;f[a>>2]=e;f[l>>2]=i+(b<<2);f[k>>2]=h;if(!d)return;mq(d);return}function Qg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;m=p;o=a+40|0;f[a+44>>2]=g;k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;i=g-d|0;if((i|0)<=0){u=p;return 1}l=a+8|0;j=a+48|0;a=g;g=(i>>>2)+-1|0;while(1){if(a-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Gb(o,n,b,g);i=X(g,e)|0;Xh(l,b+(i<<2)|0,j,c+(i<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function Rg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;e=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(e-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}d=f[a>>2]|0;g=(c-d>>3)+b|0;if(g>>>0>536870911){Wo(a);d=f[a>>2]|0;e=f[i>>2]|0;c=f[j>>2]|0}h=e-d|0;e=h>>2;e=h>>3>>>0<268435455?(e>>>0>>0?g:e):536870911;c=c-d>>3;do if(e)if(e>>>0>536870911){j=Ha(4)|0;Pp(j);sa(j|0,1096,107)}else{d=_m(e<<3)|0;break}else d=0;while(0);h=d+(c<<3)|0;g=d+(e<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Eg(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;mq(c);return}function Sg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+8|0;g=h+4|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=zd(a,e,g,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=_m(40)|0;dl(e+16|0,d);dl(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}Je(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function Tg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))Fa(20527,20426,60,20517);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=hi(c,d)|0;if((b|0)==-2)b=0;else{do if((Ra[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ue(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=_m(24)|0;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b>>2]=2432}f[a>>2]=b;return}function Ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;d=f[j>>2]|0;k=a+4|0;g=f[k>>2]|0;e=g;if(d-g>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[k>>2]=e+(b<<2);return}c=f[a>>2]|0;e=(g-c>>2)+b|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[j>>2]|0;i=f[k>>2]|0}else i=g;h=d-c|0;d=h>>1;e=h>>2>>>0<536870911?(d>>>0>>0?e:d):1073741823;d=i-c>>2;do if(e)if(e>>>0>1073741823){b=Ha(4)|0;Pp(b);sa(b|0,1096,107)}else{g=_m(e<<2)|0;break}else g=0;while(0);h=g+(d<<2)|0;g=g+(e<<2)|0;d=h;e=b;while(1){f[d>>2]=1;e=e+-1|0;if(!e)break;else d=d+4|0}e=i-c|0;d=h+(0-(e>>2)<<2)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=h+(b<<2);f[j>>2]=g;if(!c)return;mq(c);return}function Vg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;d=a+4|0;i=f[d>>2]|0;i=(f[i+12>>2]|0)-(f[i+8>>2]|0)|0;b=i>>2;a:do if((i|0)>0){c=0;while(1){if(!(Va[f[(f[a>>2]|0)+36>>2]&127](a,c)|0)){b=0;break}c=c+1|0;b=f[d>>2]|0;b=(f[b+12>>2]|0)-(f[b+8>>2]|0)>>2;if((c|0)>=(b|0))break a}return b|0}while(0);i=a+20|0;e=a+24|0;c=f[e>>2]|0;d=f[i>>2]|0;g=c-d>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=d+(b<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else gi(i,b-g|0);c=f[a+12>>2]|0;b=f[a+8>>2]|0;a=b;if((c|0)==(b|0)){i=1;return i|0}h=c-b>>2;g=0;do{c=f[a+(g<<2)>>2]|0;b=f[c+8>>2]|0;c=f[c+4>>2]|0;d=c;if((b|0)!=(c|0)){e=f[i>>2]|0;c=b-c>>2;b=0;do{f[e+(f[d+(b<<2)>>2]<<2)>>2]=g;b=b+1|0}while(b>>>0>>0)}g=g+1|0}while(g>>>0>>0);b=1;return b|0}function Wg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=a+4|0;f[h>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);c=f[c+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);c=(Kh(c,i)|0)==0;_n(i);d=f[(f[h>>2]|0)+48>>2]|0;if(c){i=(bj(d)|0)>5&1;b[a+352>>0]=i;u=j;return 1}else{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);h=(Pj(d,i,0)|0)&1;b[a+352>>0]=h;_n(i);u=j;return 1}return 0}function Xg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p+4|0;m=p;o=a+40|0;f[a+44>>2]=g;k=a+36|0;h=f[k>>2]|0;g=f[h+4>>2]|0;d=f[h>>2]|0;i=g-d|0;if((i|0)<=0){u=p;return 1}l=a+8|0;j=a+48|0;a=g;g=(i>>>2)+-1|0;while(1){if(a-d>>2>>>0<=g>>>0){Vo(h);d=f[h>>2]|0}f[m>>2]=f[d+(g<<2)>>2];f[n>>2]=f[m>>2];Eb(o,n,b,g);i=X(g,e)|0;Xh(l,b+(i<<2)|0,j,c+(i<<2)|0);g=g+-1|0;if((g|0)<=-1)break;h=f[k>>2]|0;d=f[h>>2]|0;a=f[h+4>>2]|0}u=p;return 1}function Yg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=a+4|0;f[h>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);c=f[c+48>>2]|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);c=(Kh(c,i)|0)==0;_n(i);d=f[(f[h>>2]|0)+48>>2]|0;if(c){i=(bj(d)|0)>5&1;b[a+288>>0]=i;u=j;return 1}else{f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,18611,19);h=(Pj(d,i,0)|0)&1;b[a+288>>0]=h;_n(i);u=j;return 1}return 0}function Zg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;k=o+4|0;l=o;f[a>>2]=1216;n=a+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;f[n+24>>2]=0;f[n+28>>2]=0;f[k>>2]=b;n=a+4|0;m=a+8|0;zi(n,k);c=f[k>>2]|0;h=a+20|0;d=f[h>>2]|0;i=a+16|0;b=f[i>>2]|0;g=d-b>>2;if((c|0)<(g|0)){k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}e=c+1|0;f[l>>2]=-1;a=d;if(e>>>0<=g>>>0){if(e>>>0>>0?(j=b+(e<<2)|0,(a|0)!=(j|0)):0)f[h>>2]=a+(~((a+-4-j|0)>>>2)<<2)}else{Pg(i,e-g|0,l);c=f[k>>2]|0;b=f[i>>2]|0}k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}function _g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+4|0;c=f[m>>2]|0;d=f[a>>2]|0;g=((c-d|0)/12|0)+1|0;if(g>>>0>357913941){Wo(a);c=f[m>>2]|0;d=f[a>>2]|0}k=d;e=c;l=a+8|0;j=((f[l>>2]|0)-d|0)/12|0;i=j<<1;g=j>>>0<178956970?(i>>>0>>0?g:i):357913941;i=(c-d|0)/12|0;do if(g)if(g>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{h=_m(g*12|0)|0;break}else h=0;while(0);c=h+(i*12|0)|0;j=h+(g*12|0)|0;f[c>>2]=f[b>>2];f[h+(i*12|0)+4>>2]=f[b+4>>2];f[h+(i*12|0)+8>>2]=f[b+8>>2];g=c+12|0;if((e|0)!=(k|0))do{b=e;e=e+-12|0;f[c+-12>>2]=f[e>>2];f[c+-8>>2]=f[b+-8>>2];f[c+-4>>2]=f[b+-4>>2];c=c+-12|0}while((e|0)!=(k|0));f[a>>2]=c;f[m>>2]=g;f[l>>2]=j;if(!d)return;mq(d);return}function $g(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+88|0;Pc(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;a=a+88|0;Pc(a,b);u=j;return 1}function ah(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;d=e;if(!(Yk(a,b,c)|0)){a=0;u=e;return a|0}if((Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){a=0;u=e;return a|0}b=Th(c,f[b+48>>2]|0)|0;Sa[f[(f[a>>2]|0)+48>>2]&15](d,a,b);b=a+36|0;g=f[d>>2]|0;f[d>>2]=0;c=f[b>>2]|0;f[b>>2]=g;if(c){Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c)}else f[d>>2]=0;c=f[b>>2]|0;if(!c){g=1;u=e;return g|0}if(Va[f[(f[a>>2]|0)+36>>2]&127](a,c)|0){g=1;u=e;return g|0}c=f[b>>2]|0;f[b>>2]=0;if(!c){g=1;u=e;return g|0}Oa[f[(f[c>>2]|0)+4>>2]&127](c);g=1;u=e;return g|0}function bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;qh(a+12|0);an(a+1036|0);Tn(a+1068|0);Tn(a+1088|0);Tn(a+1108|0);f[i>>2]=0;Jj(a+1128|0,b,i);f[i>>2]=0;Jj(a+1140|0,b,i);f[i>>2]=0;Jj(a+1152|0,b,i);g=b<<5|1;f[h>>2]=0;Jj(i,b,h);Gj(a+1164|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}f[h>>2]=0;Jj(i,b,h);Gj(a+1176|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);u=j;return}function ch(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+4|0;g=j;i=j+8|0;e=a&255;b[i>>0]=e&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=e|-128;e=d+16|0;k=f[e+4>>2]|0;if((k|0)>0|(k|0)==0&(f[e>>2]|0)>>>0>0){a=0;break}else{f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ie(d,h,i,i+1|0)|0;a=yn(a|0,c|0,7)|0;a=ch(a,I,d)|0;break}}else{k=d+16|0;e=f[k+4>>2]|0;if((e|0)>0|(e|0)==0&(f[k>>2]|0)>>>0>0){a=0;break}f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ie(d,h,i,i+1|0)|0;k=1;u=j;return k|0}while(0);k=a;u=j;return k|0}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Sa[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);mq(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}mq(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function eh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0,j=0;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;i=g+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=g+20|0;f[i>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;ki(i,8);g=e+16|0;j=g;j=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;g=g+4|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;e=f[i>>2]|0;i=e;b[i>>0]=j;b[i+1>>0]=j>>8;b[i+2>>0]=j>>16;b[i+3>>0]=j>>24;e=e+4|0;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+108|0;Pc(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;a=a+108|0;Pc(a,b);u=j;return 1}function gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((Kb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=sq(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=Kb(a,c,m,p,q)|0;if(d){Ma[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=Kb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)rq(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function hh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Ko(m,e,0)|0){f[o+48>>2]=1;Ua[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Na[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function ih(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=$(g);var h=0,i=0,j=0;h=u;u=u+16|0;j=h;i=h+4|0;f[j>>2]=b;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17755,17);hj(xd(a,j)|0,i,c);_n(i);f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17698,19);ci(xd(a,j)|0,i,e,d);_n(i);f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17718,18);aj(xd(a,j)|0,i,g);_n(i);u=h;return}function jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{gi(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(Xb(a,n)|0)){a=0;u=o;return a|0}Hb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function kh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;g=h;if((c|0)<0|((b|0)==0|(d|0)==0)){d=0;u=h;return d|0}a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0)){d=0;u=h;return d|0}e=b+4|0;if(!(f[e>>2]|0)){i=_m(52)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);j=i+20|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[i+36>>2]=$(1.0);f[i+40>>2]=0;f[i+44>>2]=0;f[i+48>>2]=0;f[b+4>>2]=i}if((c|0)<=-1)Fa(20410,20426,67,20517);a=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;j=_m(44)|0;Qb(j,d);f[j+40>>2]=a;a=f[e>>2]|0;f[g>>2]=j;Yj(a,g)|0;a=f[g>>2]|0;f[g>>2]=0;if(!a){j=1;u=h;return j|0}Gi(a);mq(a);j=1;u=h;return j|0}function lh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){wf(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;mq(d)}mq(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;mq(d)}mq(c)}mq(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function mh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{gi(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Nd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+20>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Nd(a,b);return}function oh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)So(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{eo(a,d,(e&255)+1|0)|0;mq(d);g=15}}else{c=_m(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{eo(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){eo(c,d,(f[a+4>>2]|0)+1|0)|0;mq(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function ph(a){a=a|0;oj(a+992|0);oj(a+960|0);oj(a+928|0);oj(a+896|0);oj(a+864|0);oj(a+832|0);oj(a+800|0);oj(a+768|0);oj(a+736|0);oj(a+704|0);oj(a+672|0);oj(a+640|0);oj(a+608|0);oj(a+576|0);oj(a+544|0);oj(a+512|0);oj(a+480|0);oj(a+448|0);oj(a+416|0);oj(a+384|0);oj(a+352|0);oj(a+320|0);oj(a+288|0);oj(a+256|0);oj(a+224|0);oj(a+192|0);oj(a+160|0);oj(a+128|0);oj(a+96|0);oj(a+64|0);oj(a+32|0);oj(a);return}function qh(a){a=a|0;an(a);an(a+32|0);an(a+64|0);an(a+96|0);an(a+128|0);an(a+160|0);an(a+192|0);an(a+224|0);an(a+256|0);an(a+288|0);an(a+320|0);an(a+352|0);an(a+384|0);an(a+416|0);an(a+448|0);an(a+480|0);an(a+512|0);an(a+544|0);an(a+576|0);an(a+608|0);an(a+640|0);an(a+672|0);an(a+704|0);an(a+736|0);an(a+768|0);an(a+800|0);an(a+832|0);an(a+864|0);an(a+896|0);an(a+928|0);an(a+960|0);an(a+992|0);return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i+12|0;d=i+8|0;c=i+4|0;e=i;h=(a|0)==(b|0);if(!h){f[c>>2]=f[b>>2];f[e>>2]=b+4;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a,d,g)}if(!h){f[c>>2]=f[b+12>>2];f[e>>2]=b+16;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Cc(a+12|0,d,g)}if(h){u=i;return}f[c>>2]=f[b+24>>2];f[e>>2]=b+28;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a+24|0,d,g);u=i;return}function sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=Lo(f[a+8>>2]|0,o)|0;e=Lo(f[a+12>>2]|0,o)|0;g=Lo(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=Lo(f[a+(g<<2)>>2]|0,o)|0;g=Lo(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Fl(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=Lo(f[a+(e<<2)>>2]|0,o)|0;e=Lo(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;Tn(a+12|0);Tn(a+32|0);Tn(a+52|0);Tn(a+72|0);f[i>>2]=0;Jj(a+92|0,b,i);f[i>>2]=0;Jj(a+104|0,b,i);f[i>>2]=0;Jj(a+116|0,b,i);g=b<<5|1;f[h>>2]=0;Jj(i,b,h);Gj(a+128|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}f[h>>2]=0;Jj(i,b,h);Gj(a+140|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);u=j;return}function uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j+4|0;h=j;f[a>>2]=0;f[a+8>>2]=b;an(a+12|0);Tn(a+44|0);Tn(a+64|0);Tn(a+84|0);f[i>>2]=0;Jj(a+104|0,b,i);f[i>>2]=0;Jj(a+116|0,b,i);f[i>>2]=0;Jj(a+128|0,b,i);g=b<<5|1;f[h>>2]=0;Jj(i,b,h);Gj(a+140|0,g,i);c=f[i>>2]|0;if(c|0){e=i+4|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}f[h>>2]=0;Jj(i,b,h);Gj(a+152|0,g,i);e=f[i>>2]|0;if(!e){u=j;return}d=i+4|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);u=j;return}function vh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;be(g,a+40|0,f[a+8>>2]|0,b,c);Hi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}mq(d);u=e;return 1}function wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){md(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;md(a,b);return}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){sd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;sd(a,b);return}function yh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Bd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Bd(a,b);return}function zh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Qd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Qd(a,b);return}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){nd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;nd(a,b);return}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){td(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;td(a,b);return}function Ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ed(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ed(a,b);return}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){od(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;od(a,b);return}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){ud(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ud(a,b);return}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Fd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Fd(a,b);return}function Gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Rd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Rd(a,b);return}function Hh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;zf(g,a+40|0,f[a+8>>2]|0,b,c);Hi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;mq(b)}mq(c)}mq(d);u=e;return 1}function Ih(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1392;e=a+72|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Oa[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+60>>2]|0;if(b|0){d=a+64|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+48>>2]|0;if(b|0)mq(b);d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}mq(b)}f[a>>2]=1216;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function Jh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=u;u=u+48|0;a=i+36|0;h=i+24|0;e=i+12|0;g=i;if(!b){b=0;u=i;return b|0}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;Kj(a,c,Tj(c)|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;Kj(h,d,Tj(d)|0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,c,Tj(c)|0);f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;Kj(g,d,Tj(d)|0);Tm(b,e,g);_n(g);_n(e);_n(h);_n(a);b=1;u=i;return b|0}function Kh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=il(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=il(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))Fa(12729,11807,259,12753);d=f[c>>2]|0;if((d|0)>(e|0))Fa(12767,11807,260,12753);a=0-e|0;if((i|0)<(a|0))Fa(12791,11807,261,12753);if((d|0)<(a|0))Fa(12816,11807,262,12753);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function Mh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;b[g>>0]=a&127;do if(a>>>0>127){b[g>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){d=0;break}else{f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ie(c,e,g,g+1|0)|0;d=Mh(a>>>7,c)|0;break}}else{j=c+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){d=0;break}f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ie(c,e,g,g+1|0)|0;j=1;u=h;return j|0}while(0);j=d;u=h;return j|0}function Nh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;l=o+4|0;k=o;j=f[a+8>>2]|0;n=j+24|0;m=b[n>>0]|0;e=c+4|0;Af(a,(f[e>>2]|0)-(f[c>>2]|0)>>2,m,d);i=f[a+32>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;d=f[c>>2]|0;e=f[e>>2]|0;if((d|0)==(e|0)){n=1;u=o;return n|0}h=j+84|0;g=j+68|0;c=0;while(1){a=f[d>>2]|0;if(!(b[h>>0]|0))a=f[(f[g>>2]|0)+(a<<2)>>2]|0;f[k>>2]=a;a=b[n>>0]|0;f[l>>2]=f[k>>2];if(!(Mb(j,l,a,i+(c<<2)|0)|0)){d=0;a=7;break}d=d+4|0;if((d|0)==(e|0)){d=1;a=7;break}else c=c+m|0}if((a|0)==7){u=o;return d|0}return 0}function Oh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;h=_m(32)|0;f[a>>2]=h;f[a+4>>2]=c+8;k=a+8|0;b[k>>0]=0;j=h+8|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=h+20|0;l=e+12|0;f[j>>2]=0;f[h+24>>2]=0;f[h+28>>2]=0;h=l+11|0;g=b[h>>0]|0;i=e+16|0;e=f[i>>2]|0;c=g<<24>>24<0?e:g&255;if(!c)c=0;else{ki(j,c);g=b[h>>0]|0;e=f[i>>2]|0;c=f[j>>2]|0}j=g<<24>>24<0;Eg(c|0,(j?f[l>>2]|0:l)|0,(j?e:g&255)|0)|0;b[k>>0]=1;a=f[a>>2]|0;f[a+4>>2]=d;f[a>>2]=0;return}function Ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;b=f[b>>2]|0;if((b|0)==-1073741824){h=-1;return h|0}g=f[(f[a+24>>2]|0)+(b<<2)>>2]|0;if((g|0)<0){h=0;return h|0}e=a+12|0;b=0;d=0;a=g;a:while(1){while(1){b=b+1|0;if(d){h=10;break}c=a+1|0;a=((c|0)%3|0|0)==0?a+-2|0:c;if((a|0)<0){a=g;break}c=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=c+1|0;if((c|0)<0){a=g;break}a=((a|0)%3|0|0)==0?c+-2|0:a;if((a|0)<0){a=g;break}if((a|0)==(g|0)){h=16;break a}}do if((h|0)==10){h=0;a=(((a>>>0)%3|0|0)==0?2:-1)+a|0;if((a|0)<0){h=16;break a}a=f[(f[e>>2]|0)+(a<<2)>>2]|0;if((a|0)<0){h=16;break a}if(!((a>>>0)%3|0)){a=a+2|0;break}else{a=a+-1|0;break}}while(0);if((a|0)<0){h=16;break}else d=1}if((h|0)==16)return b|0;return 0}function Qh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;dl(g+8|0,e);j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Eg(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}ki(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Eg(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function Rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){rd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;rd(a,b);return}function Sh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;k=n+4|0;j=n;l=n+8|0;if(!(Yd(a,c)|0)){m=0;u=n;return m|0}m=a+36|0;e=a+40|0;a=f[m>>2]|0;if((f[e>>2]|0)==(a|0)){m=1;u=n;return m|0}i=c+16|0;g=c+4|0;h=l+1|0;d=0;do{a=f[a+(d<<2)>>2]|0;a=Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[l>>0]=a;a=i;o=f[a+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[a>>2]|0)>>>0>0)){f[j>>2]=f[g>>2];f[k>>2]=f[j>>2];Ie(c,k,l,h)|0}d=d+1|0;a=f[m>>2]|0}while(d>>>0<(f[e>>2]|0)-a>>2>>>0);a=1;u=n;return a|0}function Th(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;i=k;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;Kj(i,17650,17);g=b+16|0;d=f[g>>2]|0;if(d){c=g;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(a|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if(((c|0)!=(g|0)?(h=c+20|0,(f[c+16>>2]|0)<=(a|0)):0)?(Kh(h,i)|0)!=0:0)b=h;else j=9}else j=9;j=Ck(b,i,-1)|0;_n(i);u=k;return ((j|0)==-1?-1:j>>>0>6?-2:j)|0}function Uh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}mq(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;mq(b);return}function Vh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);mq(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;mq(d)}mq(c)}mq(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}mq(b);return}function Wh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+48|0;e=g;d=g+32|0;if(!b){e=0;u=g;return e|0}jn(e);if((($l(b,0)|0)!=-1?Ra[f[(f[b>>2]|0)+16>>2]&127](b)|0:0)?(Oa[f[(f[b>>2]|0)+20>>2]&127](b),Ag(d,a,b,e),a=(f[d>>2]|0)==0,_n(d+4|0),a):0){a=f[e>>2]|0;d=e+4|0;mf(c,a,a+((f[d>>2]|0)-a)|0);d=(f[d>>2]|0)-(f[e>>2]|0)|0}else d=0;a=e+12|0;c=f[a>>2]|0;f[a>>2]=0;if(c|0)mq(c);b=f[e>>2]|0;if(b|0){c=e+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;mq(b)}e=d;u=g;return e|0}function Xh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+16|0;i=m+8|0;j=m;h=f[c>>2]|0;l=f[a+12>>2]<<1;if((h|0)>(l|0))Fa(12112,12157,81,12335);e=f[c+4>>2]|0;if((e|0)>(l|0))Fa(12353,12157,82,12335);g=f[b>>2]|0;if((g|0)>(l|0))Fa(12398,12157,83,12335);c=f[b+4>>2]|0;if((c|0)>(l|0))Fa(12443,12157,84,12335);if((h|0)<=-1)Fa(12488,12157,85,12335);if((e|0)<=-1)Fa(12510,12157,86,12335);if((g|0)<=-1)Fa(12532,12157,87,12335);if((c|0)>-1){f[i>>2]=g;f[i+4>>2]=c;f[j>>2]=h;f[j+4>>2]=e;Ge(k,a,i,j);f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];u=m;return}else Fa(12554,12157,88,12335)}function Yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function Zh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;e=a+12|0;g=f[e>>2]|0;f[e>>2]=0;if(!g){_n(a);return}b=f[g+28>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;Zh(e+8|0);mq(e)}while((b|0)!=0);e=g+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)mq(b);b=f[g+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}_n(e+8|0);mq(e)}while((b|0)!=0);b=f[g>>2]|0;f[g>>2]=0;if(b|0)mq(b);mq(g);_n(a);return}function _h(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;u=j;return 1}function $h(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=((d-c|0)/12|0)+1|0;if(e>>>0>357913941){Wo(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=((f[j>>2]|0)-c|0)/12|0;h=i<<1;h=i>>>0<178956970?(h>>>0>>0?e:h):357913941;e=(d-c|0)/12|0;do if(h)if(h>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h*12|0)|0;break}else i=0;while(0);g=i+(e*12|0)|0;f[g>>2]=f[b>>2];f[g+4>>2]=f[b+4>>2];f[g+8>>2]=f[b+8>>2];e=d-c|0;d=g+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+12;f[j>>2]=i+(h*12|0);if(!c)return;mq(c);return}function ai(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;g=h;e=b+96|0;c=b+100|0;vj(g,((f[c>>2]|0)-(f[e>>2]|0)|0)/12|0);b=f[e>>2]|0;c=(f[c>>2]|0)-b|0;if((c|0)>0){e=f[g>>2]|0;d=(c|0)/12|0;c=0;do{j=f[b+(c*12|0)+4>>2]|0;i=f[b+(c*12|0)+8>>2]|0;f[e+(c*12|0)>>2]=f[b+(c*12|0)>>2];f[e+(c*12|0)+4>>2]=j;f[e+(c*12|0)+8>>2]=i;c=c+1|0}while((c|0)<(d|0))}jk(a,g);d=f[g>>2]|0;if(!d){u=h;return}c=g+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~(((b+-12-d|0)>>>0)/12|0)*12|0);mq(d);u=h;return}function bi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)Wo(i);l=((b+-1|0)>>>5)+1|0;k=_m(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;ug(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)mq(b);u=j;return}function ci(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;l=u;u=u+32|0;j=l+12|0;k=l;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((e|0)>0){g=k+11|0;h=k+4|0;i=0;do{if((i|0)>0)en(j,17737)|0;_k(k,$(n[d+(i<<2)>>2]));m=b[g>>0]|0;o=m<<24>>24<0;Ni(j,o?f[k>>2]|0:k,o?f[h>>2]|0:m&255)|0;_n(k);i=i+1|0}while((i|0)<(e|0))}Ul(ni(a,c)|0,j)|0;_n(j);u=l;return}function di(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3552;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);c=a+140|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[a+164>>2]=-1;c=a+168|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;an(a+200|0);jn(a+232|0);c=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[c>>2]=-1;f[a+320>>2]=-1073741824;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function ei(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ie(b,g,i,i+4|0)|0;u=j;return 1}function fi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;i=l;if((Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){k=1;u=l;return k|0}j=a+4|0;g=a+20|0;h=a+24|0;e=a+16|0;d=0;while(1){c=f[(f[j>>2]|0)+4>>2]|0;c=$l(c,Va[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;f[i>>2]=c;if((c|0)==-1)break;a=f[g>>2]|0;if((a|0)==(f[h>>2]|0))zi(e,i);else{f[a>>2]=c;f[g>>2]=a+4}al(f[j>>2]|0,f[i>>2]|0)|0;d=d+1|0;if((d|0)>=(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;k=9;break}}if((k|0)==9){u=l;return a|0}k=0;u=l;return k|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+8|0;d=f[k>>2]|0;j=a+4|0;e=f[j>>2]|0;if(d-e>>2>>>0>=b>>>0){Xi(e|0,0,b<<2|0)|0;f[j>>2]=e+(b<<2);return}c=f[a>>2]|0;g=(e-c>>2)+b|0;if(g>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[k>>2]|0;e=f[j>>2]|0}d=d-c|0;h=d>>1;h=d>>2>>>0<536870911?(h>>>0>>0?g:h):1073741823;d=e-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h<<2)|0;break}else i=0;while(0);g=i+(d<<2)|0;Xi(g|0,0,b<<2|0)|0;e=e-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[j>>2]=g+(b<<2);f[k>>2]=i+(h<<2);if(!c)return;mq(c);return}function hi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+48|0;if((bj(f[e>>2]|0)|0)>9){e=0;return e|0}if((Ra[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){e=0;return e|0}d=b+4|0;b=f[d>>2]|0;if((a|0)<=-1)Fa(20410,20426,59,20517);c=f[b+8>>2]|0;if(((f[b+12>>2]|0)-c>>2|0)<=(a|0))Fa(20527,20426,60,20517);c=(f[c+(a<<2)>>2]|0)+56|0;b=f[c>>2]|0;do if((b|0)==3)if((bj(f[e>>2]|0)|0)<4){e=5;return e|0}else{b=f[c>>2]|0;break}while(0);c=bj(f[e>>2]|0)|0;if((b|0)==1){e=(c|0)<4?6:0;return e|0}if((c|0)>7){e=0;return e|0}if((bj(f[e>>2]|0)|0)>1){e=1;return e|0}else return ((f[(f[d>>2]|0)+80>>2]|0)<40?1:4)|0;return 0}function ii(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,i=0;g=_m(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;c=a+8|0;b[c>>0]=0;i=g+8|0;f[i>>2]=f[e>>2];f[i+4>>2]=f[e+4>>2];f[i+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;i=g+20|0;f[i>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;ki(i,4);g=e+12|0;e=f[i>>2]|0;g=h[g>>0]|h[g+1>>0]<<8|h[g+2>>0]<<16|h[g+3>>0]<<24;b[e>>0]=g;b[e+1>>0]=g>>8;b[e+2>>0]=g>>16;b[e+3>>0]=g>>24;b[c>>0]=1;c=f[a>>2]|0;f[c+4>>2]=d;f[c>>2]=0;return}function ji(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+32|0;Pc(a,h);c=a+80|0;b=f[c>>2]|0;if((b|0?(d=a+84|0,(f[d>>2]|0)>0):0)?(Pc(b,h),(f[d>>2]|0)>1):0){b=1;do{Pc((f[c>>2]|0)+(b<<5)|0,h);b=b+1|0}while((b|0)<(f[d>>2]|0))}g=a+136|0;e=a+140|0;b=f[g>>2]|0;if((f[e>>2]|0)==(b|0))return;a=0;do{Mh((f[b+(a*12|0)+4>>2]|0)-(f[b+(a*12|0)>>2]|0)>>2,h)|0;b=f[g>>2]|0;c=f[b+(a*12|0)>>2]|0;d=(f[b+(a*12|0)+4>>2]|0)-c>>2;if(d){Nc(c,d,1,h)|0;b=f[g>>2]|0}a=a+1|0}while(a>>>0<(((f[e>>2]|0)-b|0)/12|0)>>>0);return}function ki(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((g-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}e=f[a>>2]|0;h=d-e+c|0;if((h|0)<0){Wo(a);e=f[a>>2]|0;g=f[j>>2]|0;d=f[k>>2]|0}i=g-e|0;g=i<<1;g=i>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if(!g)h=0;else h=_m(g)|0;i=h+(d-e)|0;h=h+g|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Eg(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;mq(d);return}function li(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)So(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=_m(l)|0;if(g|0)eo(k,m,g)|0;if(i|0)eo(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)eo(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)mq(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;_o(k+m|0,n);u=o;return}function mi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(pl(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Ma[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Ma[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Eg(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=xg(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=_m(40)|0;dl(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}Je(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function oi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)Fa(19425,7898,49,19550);if((b|0)<=0)Fa(19579,7898,50,19550);j=a+16|0;g=f[j>>2]|0;h=32-g|0;e=32-b|0;c=c<>2]|0;if((h|0)<(b|0)){g=c>>>e;e=b-h|0;f[j>>2]=e;e=g>>>e|d;f[i>>2]=e;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))zi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=g<<32-(f[j>>2]|0);return}e=d|c>>>g;f[i>>2]=e;b=g+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))zi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=0;f[j>>2]=0;return}function pi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+136|0;b=f[g>>2]|0;if(b|0){h=a+140|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);mq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}mq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+92>>2]|0;if(!b){Zi(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);Zi(a);return}function qi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=a+16|0;j=g;i=f[j+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)){a=0;return a|0}b[a+24>>0]=e&1;l=Zn(c|0,d|0,7,0)|0;l=kk(l|0,I|0,8,0)|0;d=I;h=g;f[h>>2]=l;f[h+4>>2]=d;h=a+4|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c|0;j=Zn(i|0,0,8,0)|0;j=e?j:i;d=Zn(j|0,(e?I:0)|0,l|0,d|0)|0;if(d>>>0<=i>>>0){if(d>>>0>>0?(k=c+d|0,(g|0)!=(k|0)):0)f[h>>2]=k}else{ki(a,d-i|0);c=f[a>>2]|0}k=_m(8)|0;f[k>>2]=c+j;f[k+4>>2]=0;l=a+12|0;c=f[l>>2]|0;f[l>>2]=k;if(!c){l=1;return l|0}mq(c);l=1;return l|0}function ri(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+64|0;j=i;Al(j);h=f[h+56>>2]|0;c=X(Ql(5)|0,e)|0;qj(j,h,0,e&255,5,0,c,((c|0)<0)<<31>>31,0,0);c=_m(96)|0;ql(c,j);f[a>>2]=c;gj(c,d)|0;if(!g){u=i;return}b[c+84>>0]=0;d=c+68|0;a=c+72|0;e=f[a>>2]|0;c=f[d>>2]|0;h=e-c>>2;if(h>>>0>>0){Pg(d,g-h|0,1200);u=i;return}if(h>>>0<=g>>>0){u=i;return}c=c+(g<<2)|0;if((e|0)==(c|0)){u=i;return}f[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);u=i;return}function si(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ud(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ud(a,b);return}function ti(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=u;u=u+16|0;e=h;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17739,15);g=Ck(b,e,-1)|0;_n(e);switch(g|0){case -1:{if((bj(b)|0)==10)g=4;else g=3;break}case 1:{g=3;break}default:g=4}if((g|0)==3){e=_m(60)|0;oo(e)}else if((g|0)==4){e=_m(56)|0;Zo(e)}Wn(e,c);pd(a,e,b,d);Oa[f[(f[e>>2]|0)+4>>2]&127](e);u=h;return}function ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/108|0;if(d>>>0>>0){ce(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*108|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-108;c=f[e+-20>>2]|0;if(c|0){d=e+-16|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}c=f[e+-32>>2]|0;if(c|0){d=e+-28|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}xj(e+-104|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function vi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Xm()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1756];wn(23427,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Ma[f[(f[258]|0)+16>>2]&31](1032,d,e)|0;b=f[1756]|0;if(d){i=f[e>>2]|0;i=Ra[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;wn(23341,g)}else{f[i>>2]=b;f[i+4>>2]=a;wn(23386,i)}}wn(23465,h)}function wi(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0.0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=c+11|0;g=b[i>>0]|0;if(g<<24>>24<0)e=f[c+4>>2]|0;else e=g&255;h=+d;while(1){if(g<<24>>24<0)g=f[c>>2]|0;else g=c;p[j>>3]=h;g=fn(g,e+1|0,23338,j)|0;if((g|0)>-1)if(g>>>0>e>>>0)e=g;else break;else e=e<<1|1;sj(c,e,0);g=b[i>>0]|0}sj(c,g,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=k;return}function xi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1336;d=a+32|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}mq(e)}d=f[a+16>>2]|0;if(!d)return;c=a+20|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function yi(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+4>>2]=3508;b=f[a+24>>2]|0;if(b|0)mq(b);b=f[a+12>>2]|0;if(!b)return;mq(b);return}function zi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;d=f[k>>2]|0;c=f[a>>2]|0;e=(d-c>>2)+1|0;if(e>>>0>1073741823){Wo(a);c=f[a>>2]|0;d=f[k>>2]|0}j=a+8|0;i=(f[j>>2]|0)-c|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?e:h):1073741823;e=d-c>>2;do if(h)if(h>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}else{i=_m(h<<2)|0;break}else i=0;while(0);g=i+(e<<2)|0;f[g>>2]=f[b>>2];e=d-c|0;d=g+(0-(e>>2)<<2)|0;if((e|0)>0)Eg(d|0,c|0,e|0)|0;f[a>>2]=d;f[k>>2]=g+4;f[j>>2]=i+(h<<2);if(!c)return;mq(c);return}function Ai(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=fn(e,g+1|0,23335,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;sj(c,g,0);e=b[h>>0]|0}sj(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function Bi(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(iq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=aq()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=aq()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Ci(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;Kg(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;Kg(a+12|0,j,d);yf(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,6052);Fj(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Fj(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function Di(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3352;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);g=a+140|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[a+164>>2]=-1;g=a+168|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;an(a+200|0);jn(a+232|0);g=a+264|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;b[g+24>>0]=0;return}function Ei(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=a+8|0;b=f[j>>2]|0;if((b|0)<0){j=0;return j|0}i=a+4|0;a=f[i>>2]|0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+(b<<2)|0,(d|0)!=(h|0)):0)f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2)}else{gi(a,b-g|0);b=f[j>>2]|0}if((b|0)>0)d=0;else{j=1;return j|0}do{a=f[i>>2]|0;c=f[a>>2]|0;if((f[a+4>>2]|0)-c>>2>>>0<=d>>>0){Vo(a);c=f[a>>2]|0;b=f[j>>2]|0}f[c+(d<<2)>>2]=d;d=d+1|0}while((d|0)<(b|0));b=1;return b|0}function Fi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;Wk(a);g=a+84|0;b=f[g>>2]|0;if((b|0)<=0)return;d=b<<5;d=jq(b>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<5)|0;b=d;do{an(b);b=b+32|0}while((b|0)!=(c|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){c=a+-4|0;b=f[c>>2]|0;if(b|0){b=a+(b<<5)|0;do{b=b+-32|0;oj(b)}while((b|0)!=(a|0))}kq(c)}if((f[g>>2]|0)>0)b=0;else return;do{Wk((f[e>>2]|0)+(b<<5)|0);b=b+1|0}while((b|0)<(f[g>>2]|0));return}function Gi(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+28>>2]|0;if(b|0)do{c=b;b=f[b>>2]|0;e=c+20|0;d=f[e>>2]|0;f[e>>2]=0;if(d|0){Gi(d);mq(d)}_n(c+8|0);mq(c)}while((b|0)!=0);e=a+20|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)mq(b);b=f[a+8>>2]|0;if(b|0)do{e=b;b=f[b>>2]|0;c=f[e+20>>2]|0;if(c|0){d=e+24|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}_n(e+8|0);mq(e)}while((b|0)!=0);b=f[a>>2]|0;f[a>>2]=0;if(!b)return;mq(b);return}function Hi(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);mq(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;mq(a)}mq(b)}mq(d);return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;g=f[b+12>>2]|0;b=f[b+4>>2]|0;d=h;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));Cg(i,c,g,b,h);e=f[h+24>>2]|0;if(!e){i=f[i>>2]|0;f[a>>2]=i;u=j;return}d=h+28|0;b=f[d>>2]|0;if((b|0)!=(e|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);mq(e);i=f[i>>2]|0;f[a>>2]=i;u=j;return}function Ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}k=f[i>>2]|0;e=_m(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;mq(g);return}function Ki(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=6472;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=aq()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=gh(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function Li(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!b){e=0;return e|0}if(f[b+4>>2]|0){e=0;return e|0}a=_m(52)|0;Qb(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;d=b+4|0;e=f[d>>2]|0;f[d>>2]=a;if(!e){e=1;return e|0}a=e+40|0;b=f[a>>2]|0;if(b|0){d=e+44|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[d>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Gi(c);mq(c)}c=f[d>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}mq(b)}Gi(e);mq(e);g=1;return g|0}function Mi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;bo(e,c,d)|0;b[j>>0]=0;_o(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;li(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Ni(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;j=a+11|0;e=b[j>>0]|0;i=e<<24>>24<0;if(i){h=f[a+4>>2]|0;e=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;e=10}g=h+d|0;if((e-h|0)>>>0>=d>>>0){if(d|0){if(i)e=f[a>>2]|0;else e=a;eo(e+h|0,c,d)|0;if((b[j>>0]|0)<0)f[a+4>>2]=g;else b[j>>0]=g;b[k>>0]=0;_o(e+g|0,k)}}else li(a,e,g-e|0,h,h,0,d,c);u=l;return a|0}function Oi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){cj(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;rn(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;_o(e+i|0,k)}u=l;return a|0}function Pi(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;d=a+104|0;j=f[d>>2]|0;if((j|0)!=0?(f[a+108>>2]|0)>=(j|0):0)k=4;else{c=Om(a)|0;if((c|0)>=0){e=f[d>>2]|0;d=a+8|0;if(e){i=f[d>>2]|0;j=f[a+4>>2]|0;d=a+108|0;e=e-(f[d>>2]|0)|0;g=i;if((i-j|0)<(e|0)){i=g;e=j}else{i=j+(e+-1)|0;e=j}}else{g=f[d>>2]|0;i=g;e=f[a+4>>2]|0;d=a+108|0}f[a+100>>2]=i;if(g|0)f[d>>2]=g+1-e+(f[d>>2]|0);d=e+-1|0;if((h[d>>0]|0|0)!=(c|0))b[d>>0]=c}else k=4}if((k|0)==4){f[a+100>>2]=0;c=-1}return c|0}function Qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=$l(a,Va[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=$k(f[c>>2]|0,a)|0;d=d+1|0;if(!(Va[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ra[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function Ri(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);mq(d)}xj(c+-104|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}mq(b);return}function Si(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;a=a+24|0;Qo(a);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;Kj(c,17798,20);dj(a,c,1);_n(c);f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;Kj(c,17819,22);dj(a,c,1);_n(c);u=b;return}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!(Jn(a,b,c)|0)){b=0;return b|0}if(!(Ra[f[(f[a>>2]|0)+52>>2]&127](a)|0)){b=0;return b|0}g=a+4|0;e=a+8|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){b=1;return b|0}d=a+36|0;a=0;while(1){h=f[(f[d>>2]|0)+(a<<2)>>2]|0;if(!(Ma[f[(f[h>>2]|0)+8>>2]&31](h,b,f[c+(a<<2)>>2]|0)|0)){c=0;a=7;break}a=a+1|0;c=f[g>>2]|0;if(a>>>0>=(f[e>>2]|0)-c>>2>>>0){c=1;a=7;break}}if((a|0)==7)return c|0;return 0}function Ui(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;if(b){e=c+8|0;c=e;c=Zn(f[c>>2]|0,f[c+4>>2]|0,1,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0;d=a+24|0;f[d>>2]=f[d>>2]|1<>2]|0,f[d+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0}d=c+1|0;f[e>>2]=d;if((d|0)!=32)return;d=a+24|0;b=a+16|0;c=f[b>>2]|0;if((c|0)==(f[a+20>>2]|0))zi(a+12|0,d);else{f[c>>2]=f[d>>2];f[b>>2]=c+4}f[e>>2]=0;f[d>>2]=0;return}function Vi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3804;b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Oa[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}mq(b);return}function Wi(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Ko(a,f[c+8>>2]|0,g)|0)){if(Ko(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else ym(0,c,d,e);while(0);return}function Xi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function Yi(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function Zi(a){a=a|0;var b=0,c=0,d=0;d=a+80|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<5)|0;do{b=b+-32|0;oj(b)}while((b|0)!=(c|0))}kq(d)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=a+44|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)mq(b);b=f[a+32>>2]|0;if(!b){oj(a);return}c=a+36|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;mq(b);oj(a);return}function _i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=u;u=u+16|0;d=g;e=f[b+36>>2]|0;if(!e){f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,18966,23);f[a>>2]=-1;dl(a+4|0,d);_n(d);u=g;return}d=f[b+40>>2]|0;if(!d){wd(a,b,e,c);u=g;return}else{ti(a,b,d,c);u=g;return}}function $i(a,b){a=a|0;b=b|0;if(!b)return;else{$i(a,f[b>>2]|0);$i(a,f[b+4>>2]|0);mj(b+20|0,f[b+24>>2]|0);mq(b);return}}function aj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0;g=u;u=u+16|0;e=g;_k(e,d);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}oh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;_n(e);u=g;return}function bj(a){a=a|0;var b=0,c=0,d=0;b=u;u=u+16|0;d=b;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,17668,14);c=Ck(a,d,-1)|0;_n(d);f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,17683,14);a=Ck(a,d,-1)|0;_n(d);a=(c|0)<(a|0)?a:c;u=b;return ((a|0)==-1?5:a)|0}function cj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)So(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=_m(k)|0;if(g|0)eo(j,l,g)|0;d=e-h-g|0;if(d|0)eo(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)mq(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function dj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;cl(e,d&1);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}oh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;_n(e);u=g;return}function ej(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;Uf(a,b,c);d=f[a+96>>2]|0;a=(f[a+100>>2]|0)-d|0;if((a|0)<=0)return;b=f[b>>2]|0;c=(a>>>0)/12|0;a=0;do{e=d+(a*12|0)|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+4|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+8|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function fj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){ki(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else _f(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Zn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function gj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=_m(32)|0,hn(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;mq(e)}mq(d)}e=Ql(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=Zm(e|0,d|0,c|0,0)|0;if(!(fj(i,0,g,I)|0)){i=0;return i|0}vk(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;cl(e,d);a=ni(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}oh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;_n(e);u=g;return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(Ko(a,b,0)|0))if((b|0)!=0?(e=hh(b,1056,1040,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Wa[f[(f[e>>2]|0)+28>>2]&3](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17668,14);hj(a,e,b);_n(e);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17683,14);hj(a,e,c);_n(e);u=d;return}function kj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+16|0;c=g;if(b|0){a=0;u=g;return a|0}b=_m(36)|0;lo(b,0);f[c>>2]=b;e=a+12|0;d=f[e>>2]|0;if(d>>>0<(f[a+16>>2]|0)>>>0){f[c>>2]=0;f[d>>2]=b;f[e>>2]=d+4}else pg(a+8|0,c);b=f[c>>2]|0;f[c>>2]=0;if(!b){a=1;u=g;return a|0}Oa[f[(f[b>>2]|0)+4>>2]&127](b);a=1;u=g;return a|0}function lj(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function mj(a,b){a=a|0;b=b|0;if(!b)return;else{mj(a,f[b>>2]|0);mj(a,f[b+4>>2]|0);_n(b+28|0);_n(b+16|0);mq(b);return}}function nj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!c){a=0;return a|0}d=c+40|0;g=c+44|0;Mh((f[g>>2]|0)-(f[d>>2]|0)>>2,b)|0;d=f[d>>2]|0;g=f[g>>2]|0;if((d|0)!=(g|0))do{e=f[d>>2]|0;if(e|0){Mh(f[e+40>>2]|0,b)|0;Qf(a,b,e)|0}d=d+4|0}while((d|0)!=(g|0));Qf(a,b,c)|0;a=1;return a|0}function oj(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e;d=c;f[d>>2]=0;f[d+4>>2]=0;Te(a,2,c);c=f[a+12>>2]|0;d=a+16|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c)}d=f[a>>2]|0;if(!d){u=e;return}c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-8-d|0)>>>3)<<3);mq(d);u=e;return}function pj(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;f=d-e|0;a=a+8|0;if((f|0)>0){d=0-e|0;do{g=b+(f<<2)|0;Xh(a,g,g+(d<<2)|0,c+(f<<2)|0);f=f-e|0}while((f|0)>0)}e=e>>>0>1073741823?-1:e<<2;g=jq(e)|0;Xi(g|0,0,e|0)|0;Xh(a,b,g,c);kq(g);return 1}function qj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function rj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;mq(c)}mq(b)}mq(a);return}function sj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;_o(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;_o(a+c|0,h);b[g>>0]=c;break}else Oi(a,c-e|0,d)|0;while(0);u=j;return}function tj(a,b){a=a|0;b=b|0;if(!b)return;else{tj(a,f[b>>2]|0);tj(a,f[b+4>>2]|0);mj(b+20|0,f[b+24>>2]|0);mq(b);return}}function uj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;a=f[a+4>>2]|0;if((a|0)==-1){g=0;u=h;return g|0}b[g>>0]=a;a=c+16|0;i=f[a+4>>2]|0;if(!((i|0)>0|(i|0)==0&(f[a>>2]|0)>>>0>0)){f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ie(c,e,g,g+1|0)|0}i=1;u=h;return i|0}function vj(a,b){a=a|0;b=b|0;var c=0,d=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}d=_m(b*12|0)|0;f[c>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(b*12|0);a=d;do{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=(f[c>>2]|0)+12|0;f[c>>2]=a;b=b+-1|0}while((b|0)!=0);return}function wj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>536870911){Wo(a);e=Ha(4)|0;Pp(e);sa(e|0,1096,107)}g=_m(b<<3)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<3)|0;f[a+8>>2]=e;a=g;while(1){i=c;h=f[i+4>>2]|0;g=a;f[g>>2]=f[i>>2];f[g+4>>2]=h;b=b+-1|0;if(!b)break;else a=a+8|0}f[d>>2]=e;return}function xj(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+12>>2]|0;if(b|0)mq(b);b=f[a>>2]|0;if(!b)return;mq(b);return}function yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823){Wo(a);h=Ha(4)|0;Pp(h);sa(h|0,1096,107)}g=_m(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Eg(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function zj(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}b=f[c+(b<<2)>>2]|0;if((b|0)<0){a=0;return a|0}c=a+48|0;if((f[a+52>>2]|0)>>>0<=b>>>0)De(c,b+1|0,0);c=(f[c>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(b&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=b>>>0){a=1;return a|0}ep(f[c+(b<<2)>>2]|0);a=1;return a|0}function Aj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(pl(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Ma[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Bj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;e=u;u=u+16|0;c=e+8|0;b=e+4|0;d=e;f[d>>2]=f[(f[a+4>>2]|0)+80>>2];a=f[a+44>>2]|0;g=a+16|0;h=f[g+4>>2]|0;if((h|0)>0|(h|0)==0&(f[g>>2]|0)>>>0>0){u=e;return 1}f[b>>2]=f[a+4>>2];f[c>>2]=f[b>>2];Ie(a,c,d,d+4|0)|0;u=e;return 1}function Cj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;b=f[b>>2]|0;if((b|0)==-1073741824)return 1;c=(b|0)<0?-1073741824:b*3|0;if((c|0)<0)return 1;a=f[a>>2]|0;e=f[a+(c<<2)>>2]|0;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[a+(b<<2)>>2]|0;b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=f[a+(b<<2)>>2]|0;if((e|0)==(d|0))return 1;else return (e|0)==(b|0)|(d|0)==(b|0)|0;return 0}function Dj(a){a=a|0;if(!a)return;mj(a+24|0,f[a+28>>2]|0);$i(a+12|0,f[a+16>>2]|0);mj(a,f[a+4>>2]|0);mq(a);return}function Ej(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(sq(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Aj(c,a)|0;rq(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Aj(c,a)|0}while(0);return d|0}function Fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}j=(f[d>>2]|0)-c|0;h=j>>2;i=_m(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Eg(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;mq(c);return}function Gj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941){Wo(a);c=Ha(4)|0;Pp(c);sa(c|0,1096,107)}e=_m(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{yj(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Hj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2116;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c){mq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);mq(a);return}function Ij(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1752;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c){mq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);mq(a);return}function Jj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){Wo(a);e=Ha(4)|0;Pp(e);sa(e|0,1096,107)}g=_m(b<<2)|0;f[d>>2]=g;f[a>>2]=g;e=g+(b<<2)|0;f[a+8>>2]=e;a=g;while(1){f[a>>2]=f[c>>2];b=b+-1|0;if(!b)break;else a=a+4|0}f[d>>2]=e;return}function Kj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h;if(d>>>0<=4294967279)if(d>>>0<11)b[a+11>>0]=d;else g=5;else{So(a);g=5}if((g|0)==5){i=d+16&-16;g=_m(i)|0;f[a>>2]=g;f[a+8>>2]=i|-2147483648;f[a+4>>2]=d;a=g}eo(a,c,d)|0;b[e>>0]=0;_o(a+d|0,e);u=h;return}function Lj(a){a=a|0;var b=0,c=0;f[a>>2]=2116;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Mj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Ep(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Nj(a){a=a|0;var b=0,c=0;f[a>>2]=1752;b=f[a+96>>2]|0;if(b|0)mq(b);b=f[a+84>>2]|0;if(b|0)mq(b);b=f[a+72>>2]|0;if(b|0)mq(b);b=f[a+60>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+36|0;e=a+40|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){g=1;return g|0}d=a+60|0;a=c;c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Ma[f[(f[a>>2]|0)+20>>2]&31](a,d,b)|0)){a=0;c=5;break}a=f[g>>2]|0;if(c>>>0>=(f[e>>2]|0)-a>>2>>>0){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Pj(a,c,d){a=a|0;c=c|0;d=d|0;c=Dg(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Qj(a,b){a=+a;b=b|0;var c=0,d=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;c=(d|0)<-1022;b=b+2044|0;b=c?((b|0)>-1022?b:-1022):d;a=c?a*2.2250738585072014e-308:a}}else{a=a*8988465674311579538646525.0e283;c=b+-1023|0;d=(c|0)>1023;b=b+-2046|0;b=d?((b|0)<1023?b:1023):c;a=d?a*8988465674311579538646525.0e283:a}c=tn(b+1023|0,0,52)|0;d=I;f[s>>2]=c;f[s+4>>2]=d;return +(a*+p[s>>3])}function Rj(a){a=a|0;var b=0,c=0,d=0;if(!(f[a+80>>2]|0)){d=0;return d|0}d=a+8|0;c=a+12|0;a=f[d>>2]|0;if(((f[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(wl(a,a)|0)){a=0;b=5;break}a=f[d>>2]|0;if((b|0)>=((f[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function Sj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+36|0;d=a+40|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Va[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){a=0;c=4;break}a=f[e>>2]|0;if(c>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;c=4;break}}if((c|0)==4)return a|0;return 0}function Tj(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Uj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a+176>>2]|0;a=f[a+172>>2]|0;g=a;if((d|0)==(a|0))return 0;e=(d-a|0)/108|0;d=0;while(1){if((f[g+(d*108|0)>>2]|0)==(c|0)){a=4;break}a=d+1|0;if(a>>>0>>0)d=a;else{a=6;break}}if((a|0)==4)return ((b[g+(d*108|0)+72>>0]|0)==0?0:g+(d*108|0)+4|0)|0;else if((a|0)==6)return 0;return 0}function Vj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3436;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3460;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Wj(a,b){a=a|0;b=b|0;var c=0;c=f[a+72>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+60;if(!(Ra[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}if(!(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Va[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Xj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;f[a+40>>2]=1180;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a>>2]=1460;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){xi(a);mq(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);mq(a);return}function Yj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{vg(a+40|0,b);a=1;return a|0}return 0}function Zj(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+36|0;d=a+40|0;b=f[e>>2]|0;if((f[d>>2]|0)==(b|0)){e=1;return e|0}c=a+60|0;a=b;b=0;while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(Va[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){a=0;b=5;break}a=f[e>>2]|0;if(b>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function _j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;d=u;u=u+16|0;g=d;e=d+4|0;f[g>>2]=b;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;Kj(e,17755,17);hj(xd(a,g)|0,e,c);_n(e);u=d;return}function $j(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=yn(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+$j(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function ak(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3484;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3508;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function bk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2172;b=f[a+76>>2]|0;if(b|0)mq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)kq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function ck(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0;e=u;u=u+16|0;a=e;if(!b){b=0;u=e;return b|0}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;Kj(a,c,Tj(c)|0);Rl(b,a,d);_n(a);b=1;u=e;return b|0}function dk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=u;u=u+16|0;a=e;if(!b){b=0;u=e;return b|0}f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;Kj(a,c,Tj(c)|0);Tl(b,a,d);_n(a);b=1;u=e;return b|0}function ek(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[21111+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=21199;e=5;break}}if((e|0)==2)if(!d)d=21199;else{a=21199;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return Ip(d,f[c+20>>2]|0)|0}function fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3436;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3460;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b)return;mq(b);return}function gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1808;b=f[a+76>>2]|0;if(b|0)mq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)kq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3216;f[a+40>>2]=1180;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a>>2]=1460;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){xi(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);return}function ik(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3484;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}f[a+12>>2]=3508;b=f[a+32>>2]|0;if(b|0)mq(b);b=f[a+20>>2]|0;if(!b)return;mq(b);return}function jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=_m(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=jh(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;lj(a);mq(a);return}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=Dn(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return Dn((Ad(h,g,Dn(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function lk(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Bk(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function mk(a){a=a|0;var b=0,c=0;f[a>>2]=2172;b=f[a+76>>2]|0;if(b|0)mq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)kq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0;i=u;u=u+128|0;h=i;e=h;g=e+124|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=h+4|0;f[e>>2]=a;g=h+8|0;f[g>>2]=-1;f[h+44>>2]=a;f[h+76>>2]=-1;Lm(h,0);d=+Lc(h,c,1);c=(f[e>>2]|0)-(f[g>>2]|0)+(f[h+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=i;return +d}function ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Sm(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=Oo(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6024;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+84>>2]|0;if(!b){og(a);mq(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);og(a);mq(a);return}function qk(a){a=a|0;var c=0,d=0;d=a+74|0;c=b[d>>0]|0;b[d>>0]=c+255|c;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Ma[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;c=f[a>>2]|0;if(!(c&4)){d=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=d;f[a+4>>2]=d;c=c<<27>>31}else{f[a>>2]=c|32;c=-1}return c|0}function rk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Dc(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){dm(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function tk(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}d=a+8|0;a=a+44|0;while(1){e=f[(f[d>>2]|0)+(f[b>>2]<<2)>>2]|0;b=b+4|0;if(!(Va[f[(f[e>>2]|0)+20>>2]&127](e,f[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 uk(a){a=a|0;var b=0,c=0;f[a>>2]=1808;b=f[a+76>>2]|0;if(b|0)mq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)kq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function vk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function wk(a,c,d){a=a|0;c=c|0;d=$(d);c=Dg(a,c)|0;if((c|0)==(a+4|0))return $(d);c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;d=$(+gq(c));return $(d)}function xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){d=(c-d|0)/108|0;c=0;while(1){if((f[e+(c*108|0)>>2]|0)==(b|0))break;c=c+1|0;if(c>>>0>=d>>>0)break a}a=e+(c*108|0)+76|0;return a|0}while(0);a=a+40|0;return a|0}function yk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a>>2]=0;c=a+4|0;f[c>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>1073741823){Wo(a);a=Ha(4)|0;Pp(a);sa(a|0,1096,107)}d=b<<2;e=_m(d)|0;f[a>>2]=e;b=e+(b<<2)|0;f[a+8>>2]=b;Xi(e|0,0,d|0)|0;f[c>>2]=b;return}function zk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6024;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);mq(b)}b=f[a+84>>2]|0;if(!b){og(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);og(a);return}function Ak(a,c){a=a|0;c=c|0;c=Dg(a,c)|0;if((c|0)==(a+4|0)){a=0;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=((Mj(c)|0)+1|0)>>>0>1;return a|0}function Bk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else ki(a,b-g|0);a=a+24|0;h=a;h=Zn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Ck(a,c,d){a=a|0;c=c|0;d=d|0;c=Dg(a,c)|0;if((c|0)==(a+4|0)){a=d;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;return a|0}function Dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2228;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Ek(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1864;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Fk(a){a=a|0;var b=0;f[a>>2]=2964;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2284;oj(a+108|0);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1216;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}b=f[a+4>>2]|0;if(!b){mq(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Ik(a){a=a|0;var b=0;f[a>>2]=2600;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Jk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Ko(a,f[b+8>>2]|0,g)|0)Yi(0,b,c,d,e);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Kk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1920;oj(a+108|0);f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Lk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function Mk(a){a=a|0;var b=0,c=0;f[a>>2]=2228;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Nk(a){a=a|0;var b=0;f[a>>2]=2964;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b)return;mq(b);return}function Ok(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;sj(a,c,0);return}function Pk(a){a=a|0;var b=0,c=0;f[a>>2]=1864;b=f[a+76>>2]|0;if(b|0)mq(b);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function Qk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1216;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);mq(d);return}function Rk(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Xi(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{zo(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}zo(a,f,e)}u=g;return}function Sk(a){a=a|0;var b=0;f[a>>2]=2600;b=f[a+76>>2]|0;if(b|0)mq(b);b=f[a+64>>2]|0;if(b|0)mq(b);b=f[a+52>>2]|0;if(b|0)mq(b);b=f[a+40>>2]|0;if(!b)return;mq(b);return}function Tk(a){a=a|0;var b=0,c=0;f[a>>2]=2284;oj(a+108|0);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function Uk(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Vk(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;f[d>>2]=0;f[d+4>>2]=0;f[d+8>>2]=0;Kj(d,17739,15);hj(a,d,b);_n(d);u=c;return}function Wk(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e;d=b;f[d>>2]=0;f[d+4>>2]=0;Te(a,2,b);b=f[a+12>>2]|0;d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+24>>2]=0;f[a+28>>2]=0;u=e;return}function Xk(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}c=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;b=f[c+32>>2]|0;if(b|0){a=b;return a|0}a=f[c+8>>2]|0;return a|0}function Yk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)Fa(20410,20426,59,20517);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else Fa(20527,20426,60,20517);return 0}function Zk(a){a=a|0;var b=0,c=0;f[a>>2]=1920;oj(a+108|0);f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function _k(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;Ok(d);wi(a,d,b);_n(d);u=c;return}function $k(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Va[f[(f[c>>2]|0)+36>>2]&127](c,b)|0;return c|0}function al(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Va[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function bl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ko(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function cl(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Ok(d);Ai(a,d,b);_n(d);u=c;return}function dl(a,c){a=a|0;c=c|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0)Kj(a,f[c>>2]|0,f[c+4>>2]|0);else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}return}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((co(Ca(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function fl(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function gl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function hl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){a=-1;return a|0}d=f[d+(b<<2)>>2]|0;if((d|0)<0){a=-1;return a|0}a=f[(f[(f[(f[a+36>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return a|0}function il(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function jl(a){a=a|0;var b=0,c=0,d=0;c=f[a>>2]|0;d=a+4|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+12>>2]=0;f[a+16>>2]=0;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);mq(c);return}function kl(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;a=(f[a+20>>2]|0)-(f[a+16>>2]|0)>>2;return a|0}function ll(a){a=a|0;if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}a=(f[a+36>>2]|0)!=0;return a|0}function ml(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;Zg(a,c);f[a>>2]=1392;d=a+72|0;c=a+36|0;a=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(a|0));a=f[b>>2]|0;f[b>>2]=0;f[d>>2]=a;return}function nl(a){a=a|0;var b=0,c=0;f[a>>2]=3020;b=f[a+56>>2]|0;if(b|0)mq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){mq(a);return}kq(b);mq(a);return}function ol(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function pl(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function ql(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function rl(a){a=a|0;var b=0,c=0;f[a>>2]=2656;b=f[a+56>>2]|0;if(b|0)mq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){mq(a);return}kq(b);mq(a);return}function sl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=e-c|0;if(b>>>0>d>>>0){ki(a,b-d|0);return}if(b>>>0>=d>>>0)return;c=c+b|0;if((e|0)==(c|0))return;f[g>>2]=c;return}function tl(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function ul(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;jf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function vl(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;va(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;va(12);return -1}return b|0}function wl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];a=$b(a,b,d)|0;u=c;return a|0}function xl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function yl(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function zl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(sq(d)|0)==0;a=mi(a,e,d)|0;if(!g)rq(d)}else a=mi(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function Al(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function Bl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function Cl(a,b){a=a|0;b=b|0;if(!(Ra[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Va[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Va[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Dl(a){a=a|0;var b=0;f[a>>2]=3020;b=f[a+56>>2]|0;if(b|0)mq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;kq(b);return}function El(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+40>>2]=c;a=1;return a|0}function Fl(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Gl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a+8>>2]=b;f[a+12>>2]=0;jn(a+16|0);f[a+48>>2]=d;if(d>>>0<7){f[a>>2]=c;n[a+4>>2]=$(0.0);return}else Fa(20199,20227,38,20356)}function Hl(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Ko(a,f[b+8>>2]|0,g)|0)Yi(0,b,c,d,e);return}function Il(a){a=a|0;var b=0;f[a>>2]=2656;b=f[a+56>>2]|0;if(b|0)mq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;kq(b);return}function Jl(a){a=a|0;var b=0,c=0;f[a>>2]=1460;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){xi(a);mq(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);mq(a);return}function Kl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1528;b=f[a+32>>2]|0;if(!b){mq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function Ll(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Ml(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Kg(a+20|0,e,d);u=c;return}function Nl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+60>>2]=c;a=1;return a|0}function Ol(){var a=0,b=0;a=_m(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Pl(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Kg(a+20|0,e,d);u=c;return}function Ql(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 Rl(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;fc(a,b,e);u=d;return}function Sl(a){a=a|0;f[a>>2]=3528;yi(a+8|0);mq(a);return}function Tl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;gc(a,b,e);u=d;return}function Ul(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Mi(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Vl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Wl(a){a=a|0;var b=0,c=0;f[a>>2]=3280;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Vi(a);mq(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Vi(a);mq(a);return}function Xl(a,b){a=+a;b=+b;var c=0,d=0;p[s>>3]=a;d=f[s>>2]|0;c=f[s+4>>2]|0;p[s>>3]=b;c=f[s+4>>2]&-2147483648|c&2147483647;f[s>>2]=d;f[s+4>>2]=c;return +(+p[s>>3])}function Yl(a){a=a|0;var b=0,c=0;f[a>>2]=1460;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){xi(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);xi(a);return}function Zl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Fa(11954,8800,76,17755);return 0}function _l(a){a=a|0;f[a>>2]=3528;yi(a+8|0);return}function $l(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function am(a){a=a|0;var b=0,c=0;f[a>>2]=1528;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function bm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Ko(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);return}function cm(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function dm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Eg(a,c,d)|0;return a|0}function em(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function fm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1180;b=f[a+8>>2]|0;if(!b){mq(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b);mq(a);return}function gm(a){a=a|0;var b=0;f[a>>2]=3076;b=f[a+56>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function hm(a){a=a|0;var b=0,c=0;f[a>>2]=3280;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Vi(a);return}Oa[f[(f[b>>2]|0)+4>>2]&127](b);Vi(a);return}function im(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[21093+(a&15)>>0]|0|e;a=yn(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function jm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Ma[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function km(){var a=0,b=0;b=Xm()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)io(f[a+12>>2]|0);io(rp()|0)}function lm(a){a=a|0;var b=0;f[a>>2]=2712;b=f[a+56>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function mm(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function nm(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function om(a){a=a|0;var b=0,c=0,d=0;if(!a)return;b=f[a>>2]|0;if(b|0){d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);mq(b)}mq(a);return}function pm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function qm(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function rm(a){a=a|0;Yn(a);f[a>>2]=3216;f[a+40>>2]=1180;f[a+44>>2]=-1;a=a+48|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function sm(a){a=a|0;var b=0,c=0;f[a>>2]=1180;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function tm(a){a=a|0;var c=0;f[a>>2]=1336;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function um(a){a=a|0;f[a>>2]=3076;a=f[a+56>>2]|0;if(!a)return;mq(a);return}function vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);ih(a,b,c,d,e,f);return}function wm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function xm(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14276,14647,64,14287);return 0}function ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function zm(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14276,13875,63,14287);return 0}function Am(a){a=a|0;f[a>>2]=2712;a=f[a+56>>2]|0;if(!a)return;mq(a);return}function Bm(a){a=a|0;var b=0;f[a>>2]=3460;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Cm(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=yn(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Eg(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Em(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-8-c|0)>>>3)<<3);mq(c);return}function Fm(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);mq(c);return}function Gm(a,b){a=a|0;b=b|0;if(!b)return 0;else Fa(14276,14985,68,14287);return 0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;return Ma[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Im(a){a=a|0;var c=0;Al(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Jm(a){a=a|0;f[a>>2]=3132;oj(a+88|0);mq(a);return}function Km(a){a=a|0;var b=0;f[a>>2]=3508;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b){mq(a);return}mq(b);mq(a);return}function Lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function Mm(a,b){a=a|0;b=b|0;b=f[b>>2]|0;return (1<<(b&31)&f[(f[a+28>>2]|0)+(b>>>5<<2)>>2]|0)!=0|0}function Nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);vm(a,b,c,d,e,f);return}function Om(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;if((qk(a)|0)==0?(Ma[f[a+32>>2]&31](a,b,1)|0)==1:0)b=h[b>>0]|0;else b=-1;u=c;return b|0}function Pm(a){a=a|0;f[a>>2]=2768;oj(a+88|0);mq(a);return}function Qm(a){a=a|0;f[a>>2]=3132;oj(a+88|0);return}function Rm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return af(a,b,c,d,e,f)|0}function Sm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Ad(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;bc(a,b,c);return}function Um(a){a=a|0;var b=0;f[a>>2]=3460;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b)return;mq(b);return}function Vm(a){a=a|0;f[a>>2]=2768;oj(a+88|0);return}function Wm(a){a=a|0;Gn(a);f[a>>2]=6024;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Xm(){var a=0,b=0;a=u;u=u+16|0;if(!(za(24472,3)|0)){b=qa(f[6119]|0)|0;u=a;return b|0}else wn(23616,a);return 0}function Ym(a){a=a|0;var b=0;f[a>>2]=3508;b=f[a+20>>2]|0;if(b|0)mq(b);b=f[a+8>>2]|0;if(!b)return;mq(b);return}function Zm(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=Vl(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function _m(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0)break;a=pp()|0;if(!a){a=0;break}Ta[a&3]()}return a|0}function $m(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=pq(f[a+60>>2]|0)|0;f[c>>2]=a;a=co(ua(6,c|0)|0)|0;u=b;return a|0}function an(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function bn(a){a=a|0;var b=0;b=u;u=u+16|0;rc(a);if(!(ra(f[6119]|0,0)|0)){u=b;return}else wn(23715,b)}function cn(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function dn(a,b){a=a|0;b=b|0;return jg(a+40|0,b)|0}function en(a,b){a=a|0;b=b|0;return Ni(a,b,Lp(b)|0)|0}function fn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Ki(a,b,c,g)|0;u=e;return d|0}function gn(a,b){a=a|0;b=b|0;return uj(a+40|0,b)|0}function hn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function jn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function kn(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 Qa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return kh(a,b,c,d)|0}function mn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Va[f[(f[a>>2]|0)+24>>2]&127](a,b)|0}function nn(){var a=0;a=u;u=u+16|0;if(!(ta(24476,109)|0)){u=a;return}else wn(23665,a)}function on(a,b,c){a=a|0;b=b|0;c=c|0;_j(a,b,c);return}function pn(a){a=a|0;Pe(a);mq(a);return}function qn(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;Ua[a&3](b|0,c|0,d|0,e|0,f|0,g|0)}function rn(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)Xi(a|0,(Kp(c)|0)&255|0,b|0)|0;return a|0}function sn(a){a=a|0;return 4}function tn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Va[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function vn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Va[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function wn(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[1525]|0;gh(b,a,c)|0;Ej(10,b)|0;wa()}function xn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Va[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function yn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function zn(a){a=a|0;var b=0;f[a>>2]=3804;a=a+4|0;b=a+44|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function An(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jh(a,b,c,d)|0}function Bn(a){a=a|0;Qe(a);mq(a);return}function Cn(){}function Dn(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 (I=d,a-c>>>0|0)|0}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return ck(a,b,c,d)|0}function Fn(a){a=a|0;return 5}function Gn(a){a=a|0;var b=0;f[a>>2]=6064;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Hn(a){a=a|0;return 6}function In(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return dk(a,b,c,d)|0}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Kn(a,b){a=a|0;b=b|0;Si(a);f[a+36>>2]=b;f[a+40>>2]=b;return}function Ln(a,b){a=a|0;b=b|0;if(!b)b=0;else b=sh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function Mn(a,b,c){a=a|0;b=b|0;c=c|0;on(a,b,c);return}function Nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Wf(a,b,c,d)|0}function On(a,b,c){a=a|0;b=b|0;c=c|0;return Wh(a,b,c)|0}function Pn(a,b,c){a=a|0;b=b|0;c=c|0;return Li(a,b,c)|0}function Qn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Na[a&3](b|0,c|0,d|0,e|0,f|0)}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;jj(a,b,c);return}function Sn(a){a=a|0;a=f[a+56>>2]|0;return Ra[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Tn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Un(a){a=a|0;a=f[a+56>>2]|0;return Ra[f[(f[a>>2]|0)+32>>2]&127](a)|0}function Vn(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Wn(a,b){a=a|0;b=b|0;f[a+52>>2]=b;No(a,b);return}function Xn(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function Yn(a){a=a|0;tm(a);f[a>>2]=1460;f[a+36>>2]=0;return}function Zn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function _n(a){a=a|0;if((b[a+11>>0]|0)<0)mq(f[a>>2]|0);return}function $n(a){a=a|0;if(!a)return;Oa[f[(f[a>>2]|0)+4>>2]&127](a);return}function ao(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Wa[a&3](b|0,c|0,d|0,e|0)}function bo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)dm(a|0,b|0,c|0)|0;return a|0}function co(a){a=a|0;var b=0;if(a>>>0>4294963200){b=aq()|0;f[b>>2]=0-a;a=-1}return a|0}function eo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Eg(a|0,b|0,c|0)|0;return a|0}function fo(a,b){a=a|0;b=b|0;return -1}function go(a,b){a=a|0;b=b|0;jo(a,b);return}function ho(a){a=a|0;if(!a)a=0;else a=(hh(a,1056,1128,0)|0)!=0;return a&1|0}function io(a){a=a|0;var b=0;b=u;u=u+16|0;Ta[a&3]();wn(23768,b)}function jo(a,b){a=a|0;b=b|0;Vk(a,b);return}function ko(a){a=a|0;Ih(a);mq(a);return}function lo(a,b){a=a|0;b=b|0;Zg(a,b);f[a>>2]=1276;return}function mo(a,b,c){a=a|0;b=b|0;c=c|0;ro(a,b,c);return}function no(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function oo(a){a=a|0;uo(a);f[a>>2]=3280;f[a+56>>2]=0;return}function po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ma[a&31](b|0,c|0,d|0)|0}function qo(a){a=a|0;return f[a+12>>2]|0}function ro(a,b,c){a=a|0;b=b|0;c=c|0;Rn(a,b,c);return}function so(){var a=0;a=_m(64)|0;Al(a);return a|0}function to(a,b){a=a|0;b=b|0;return $(yo(a,b))}function uo(a){a=a|0;zn(a);f[a>>2]=3636;f[a+52>>2]=0;return}function vo(a){a=a|0;if(!a)return;Gi(a);mq(a);return}function wo(a){a=a|0;return Ra[f[(f[a>>2]|0)+60>>2]&127](a)|0}function xo(a){a=a|0;return f[a+4>>2]|0}function yo(a,b){a=a|0;b=b|0;return $(n[(f[a>>2]|0)+(b<<2)>>2])}function zo(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))mi(b,c,a)|0;return}function Ao(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Sa[a&15](b|0,c|0,d|0)}function Bo(){var a=0;a=_m(96)|0;Im(a);return a|0}function Co(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Do(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Eo(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Bi(a,b,0)|0;return a|0}function Fo(a){a=a|0;var b=0;b=(iq()|0)+188|0;return ek(a,f[b>>2]|0)|0}function Go(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(4);return 0}function Ho(a,b){a=a|0;b=b|0;return Po(a,b)|0}function Io(){var a=0;a=_m(12)|0;To(a);return a|0}function Jo(a){a=a|0;xi(a);mq(a);return}function Ko(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Lo(a,b){a=a|0;b=b|0;var c=0;c=Yo(a|0)|0;return ((b|0)==0?a:c)|0}function Mo(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function No(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Oo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ad(a,b,c,d,0)|0}function Po(a,b){a=a|0;b=b|0;return f[(f[a>>2]|0)+(b<<2)>>2]|0}function Qo(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Ro(){var a=0;a=_m(84)|0;Gn(a);return a|0}function So(a){a=a|0;Fa(23184,23213,1183,23314)}function To(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function Uo(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)>>2|0}function Vo(a){a=a|0;Fa(23140,23039,315,23163)}function Wo(a){a=a|0;Fa(23016,23039,304,23314)}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;return Va[a&127](b|0,c|0)|0}function Yo(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Zo(a){a=a|0;uo(a);f[a>>2]=3708;return}function _o(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function $o(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(8)}function ap(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function bp(a){a=a|0;if(!a)return;mq(a);return}function cp(){var a=0;a=_m(1)|0;rq(a);return a|0}function dp(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function ep(a){a=a|0;b[a+28>>0]=1;return}function fp(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function gp(a){a=a|0;Si(a);return}function hp(a,b){a=a|0;b=b|0;return 1}function ip(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function jp(a,b,c){a=a|0;b=b|0;c=c|0;Pa[a&7](b|0,c|0)}function kp(){var a=0;a=_m(36)|0;Rp(a);return a|0}function lp(){var a=0;a=_m(108)|0;Wm(a);return a|0}function mp(a){a=a|0;Vi(a);mq(a);return}function np(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function op(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(1)}function pp(){var a=0;a=f[6120]|0;f[6120]=a+0;return a|0}function qp(a){a=a|0;return f[a+56>>2]|0}function rp(){var a=0;a=f[1755]|0;f[1755]=a+0;return a|0}function sp(a){a=a|0;og(a);mq(a);return}function tp(a){a=a|0;return b[a+24>>0]|0}function up(a,b){a=a|0;b=b|0;return 0}function vp(a){a=a|0;return f[a+40>>2]|0}function wp(a){a=a|0;return f[a+48>>2]|0}function xp(a,b){a=a|0;b=b|0;return Ra[a&127](b|0)|0}function yp(a){a=a|0;return f[a+60>>2]|0}function zp(a){a=a|0;return f[a+28>>2]|0}function Ap(a){a=a|0;xa(a|0)|0;km()}function Bp(a){a=a|0;return 3}function Cp(a,b){a=a|0;b=b|0;u=a;v=b}function Dp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(10)}function Ep(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Fp(a){a=a|0;return f[a+80>>2]|0}function Gp(a,b){a=a|0;b=b|0;return $(+nk(a,b,0))}function Hp(a,b){a=a|0;b=b|0;Oa[a&127](b|0)}function Ip(a,b){a=a|0;b=b|0;return Ln(a,b)|0}function Jp(a){a=a|0;rq(a);mq(a);return}function Kp(a){a=a|0;return a&255|0}function Lp(a){a=a|0;return Tj(a)|0}function Mp(a,b,c){a=a|0;b=b|0;c=c|0;aa(0);return 0}function Np(a){a=a|0;return 2}function Op(a,b){a=a|0;b=b|0;return +(+nk(a,b,1))}function Pp(a){a=a|0;f[a>>2]=7116;return}function Qp(a){a=a|0;return 1}function Rp(a){a=a|0;gp(a);return}function Sp(a,b){a=+a;b=+b;return +(+Xl(a,b))}function Tp(a,b){a=+a;b=b|0;return +(+Qj(a,b))}function Up(a,b){a=+a;b=b|0;return +(+$j(a,b))}function Vp(){return 3}function Wp(a,b,c){a=a|0;b=b|0;c=c|0;aa(6)}function Xp(){return 0}function Yp(){return -1}function Zp(){return 4}function _p(){return 1}function $p(){return 2}function aq(){return (iq()|0)+64|0}function bq(a,b){a=+a;b=+b;return +(+Pd(a,b))}function cq(a,b){a=a|0;b=b|0;aa(9);return 0}function dq(a){a=a|0;return 23808}function eq(a){a=a|0;Ta[a&3]()}function fq(){Ga()}function gq(a){a=a|0;return +(+Op(a,0))}function hq(a,b){a=a|0;b=b|0;aa(3)}function iq(){return wq()|0}function jq(a){a=a|0;return _m(a)|0}function kq(a){a=a|0;mq(a);return}function lq(a){a=a|0;u=a}function mq(a){a=a|0;rc(a);return}function nq(a){a=a|0;I=a}function oq(){return 24408}function pq(a){a=a|0;return a|0}function qq(a){a=a|0;aa(5);return 0}function rq(a){a=a|0;return}function sq(a){a=a|0;return 0}function tq(){return I|0}function uq(){return u|0}function vq(a){a=a|0;aa(2)}function wq(){return 6228}function xq(){aa(7)} +function Qc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>65536){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;wb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Rc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>16384){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;yb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Sc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>32768){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;xb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Tc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>8192){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*524288.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==524288){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;zb(n,o,p);a:do if((i|0)<524288){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=524288-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>524288;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-524288|0;g=i;while(1){e=524288.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==524288){g=524288;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=524288){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*1.9073486328125e-06)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Uc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>4096){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*262144.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==262144){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Ab(n,o,p);a:do if((i|0)<262144){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=262144-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>262144;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-262144|0;g=i;while(1){e=262144.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==262144){g=262144;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=262144){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*3.814697265625e-06)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Vc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>2048){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*65536.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==65536){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Bb(n,o,p);a:do if((i|0)<65536){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=65536-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>65536;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-65536|0;g=i;while(1){e=65536.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==65536){g=65536;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=65536){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.0000152587890625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Wc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>1024){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*32768.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==32768){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Cb(n,o,p);a:do if((i|0)<32768){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=32768-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>32768;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-32768|0;g=i;while(1){e=32768.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==32768){g=32768;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=32768){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000030517578125)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Xc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>512){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*8192.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==8192){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Db(n,o,p);a:do if((i|0)<8192){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=8192-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>8192;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-8192|0;g=i;while(1){e=8192.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==8192){g=8192;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=8192){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.0001220703125)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Yc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>256){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Eb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Zc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>128){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Fb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function _c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>64){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Gb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function $c(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>32){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Hb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function ad(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>16){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Lb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function bd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>8){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Ib(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function cd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>4){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Jb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function dd(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>2){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*4096.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==4096){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;Kb(n,o,p);a:do if((i|0)<4096){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=4096-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>4096;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-4096|0;g=i;while(1){e=4096.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==4096){g=4096;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=4096){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*.000244140625)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function ed(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+32|0;r=x;s=x+20|0;q=x+24|0;v=x+8|0;n=f[a>>2]|0;d=n+8|0;t=f[n>>2]|0;n=f[n+4>>2]|0;d=Mn(t|0,n|0,f[d>>2]|0,f[d+4>>2]|0)|0;g=I;g=Mn((d|0)==0&(g|0)==0&1|0,0,d|0,g|0)|0;g=~~((+(t>>>0)+4294967296.0*+(n>>>0))/(+(g>>>0)+4294967296.0*+(I>>>0))*256.0+.5)>>>0;g=g>>>0<255?g:255;g=((g|0)==0&1)+g&255;b[q>>0]=g;n=a+12|0;t=a+16|0;d=((f[t>>2]|0)-(f[n>>2]|0)<<1)+64|0;f[v>>2]=0;w=v+4|0;f[w>>2]=0;f[v+8>>2]=0;if(!d)o=0;else{if((d|0)<0)Fp(v);e=an(d)|0;f[w>>2]=e;f[v>>2]=e;f[v+8>>2]=e+d;do{b[e>>0]=0;e=(f[w>>2]|0)+1|0;f[w>>2]=e;d=d+-1|0}while((d|0)!=0);o=f[v>>2]|0}p=a+28|0;d=(f[p>>2]|0)+-1|0;a:do if((d|0)>-1){k=a+24|0;e=4096;h=0;while(1){i=256-(g&255)|0;j=(f[k>>2]&1<>>0>=g<<12>>>0){b[o+h>>0]=e;e=e>>>8;h=h+1|0}$m(f[3980+(g<<3)>>2]|0,0,e|0,0)|0;e=e+(j?0:i&255)+(X((I+e|0)>>>(f[3980+(g<<3)+4>>2]|0),256-g|0)|0)|0;d=d+-1|0;if((d|0)<=-1)break a;g=b[q>>0]|0}}else{e=4096;h=0}while(0);d=f[t>>2]|0;if((d|0)==(f[n>>2]|0))g=e;else{g=h;while(1){d=d+-4|0;m=f[d>>2]|0;j=31;while(1){i=b[q>>0]|0;k=256-(i&255)|0;l=(1<>>0>>0)h=g;else{b[o+g>>0]=e;e=e>>>8;h=g+1|0}$m(f[3980+(i<<3)>>2]|0,0,e|0,0)|0;e=e+(l?0:k&255)+(X((I+e|0)>>>(f[3980+(i<<3)+4>>2]|0),256-i|0)|0)|0;if((j|0)<=0)break;else{g=h;j=j+-1|0}}if((d|0)==(f[n>>2]|0)){g=e;break}else g=h}}if(g>>>0<=4095)ra(19718,19748,132,19830);if(g>>>0>=1048576)ra(19844,19748,133,19830);d=g+-4096|0;do if(d>>>0>=64){e=o+h|0;if(d>>>0<16384){d=g+12288|0;b[e>>0]=d;g=2;e=e+1|0;d=d>>>8;break}else{d=g+8384512|0;b[e>>0]=d;b[e+1>>0]=d>>>8;g=3;e=e+2|0;d=d>>>16;break}}else{g=1;e=o+h|0}while(0);b[e>>0]=d;e=g+h|0;g=c+16|0;o=g;n=f[o+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ke(c,r,q,q+1|0)|0}Rh(e,c)|0;d=f[v>>2]|0;q=g;o=f[q+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[q>>2]|0)>>>0>0)){f[s>>2]=f[c+4>>2];f[r>>2]=f[s>>2];Ke(c,r,d,d+e|0)|0}d=r;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,r);d=f[a+12>>2]|0;e=f[t>>2]|0;if((e|0)!=(d|0))f[t>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+24>>2]=0;f[p>>2]=0;d=f[v>>2]|0;if(!d){u=x;return}if((f[w>>2]|0)!=(d|0))f[w>>2]=d;pq(d);u=x;return}function fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;w=u;u=u+16|0;v=w+8|0;l=w+4|0;p=w;q=a+124|0;f[q>>2]=(f[q>>2]|0)+1;q=a+88|0;m=a+120|0;j=f[m>>2]|0;c=j+1|0;do if((j|0)>=0){c=((c|0)%3|0|0)==0?j+-2|0:c;if(!((j>>>0)%3|0)){h=j+2|0;break}else{h=j+-1|0;break}}else{c=j;h=j}while(0);r=a+104|0;o=a+92|0;e=f[o>>2]|0;i=e+(c<<2)|0;g=f[r>>2]|0;d=g+(f[i>>2]<<2)|0;t=f[d>>2]|0;switch(b|0){case 1:case 0:{f[d>>2]=t+-1;j=g+(f[e+(h<<2)>>2]<<2)|0;f[j>>2]=(f[j>>2]|0)+-1;if((b|0)==1){if((h|0)>=0?(k=f[(f[(f[q>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(k|0)>-1):0){g=a+64|0;e=k;d=1;do{k=f[g>>2]|0;j=f[(f[k>>2]|0)+36>>2]|0;f[l>>2]=(e>>>0)/3|0;f[v>>2]=f[l>>2];if(Na[j&127](k,v)|0)break;k=e+1|0;e=((k|0)%3|0|0)==0?e+-2|0:k;if((e|0)<0){s=12;break}e=f[(f[(f[q>>2]|0)+12>>2]|0)+(e<<2)>>2]|0;d=d+1|0}while((e|0)>-1);if((s|0)==12)d=d+1|0;g=f[r>>2]|0;e=f[o>>2]|0}else d=1;f[g+(f[e+(f[m>>2]<<2)>>2]<<2)>>2]=d;h=a+108|0;d=f[h>>2]|0;g=d-g>>2;if((c|0)>=0?(n=f[(f[(f[q>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(n|0)>-1):0){e=a+64|0;d=n;c=1;do{n=f[e>>2]|0;m=f[(f[n>>2]|0)+36>>2]|0;f[p>>2]=(d>>>0)/3|0;f[v>>2]=f[p>>2];if(Na[m&127](n,v)|0)break;n=d+1|0;f[(f[o>>2]|0)+((((n|0)%3|0|0)==0?d+-2|0:n)<<2)>>2]=g;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0){s=20;break}d=f[(f[(f[q>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;c=c+1|0}while((d|0)>-1);if((s|0)==20)c=c+1|0;d=f[h>>2]|0}else c=1;f[v>>2]=c;if(d>>>0<(f[a+112>>2]|0)>>>0){f[d>>2]=c;f[h>>2]=d+4}else Gi(r,v)}break}case 5:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}case 3:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-1;break}case 7:{s=g+(f[e+(j<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[i>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;s=g+(f[e+(h<<2)>>2]<<2)|0;f[s>>2]=(f[s>>2]|0)+-2;break}default:{}}i=a+116|0;e=f[i>>2]|0;if((e|0)==-1){f[i>>2]=b;u=w;return}d=f[a+128>>2]|0;if((t|0)<(d|0))c=d;else{c=f[a+132>>2]|0;c=(t|0)>(c|0)?c:t}h=c-d|0;g=f[a+136>>2]|0;c=f[3612+(e<<2)>>2]|0;f[v>>2]=c;e=g+(h*12|0)+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+(h*12|0)+8>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else Gi(g+(h*12|0)|0,v);f[i>>2]=b;u=w;return}function gd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;u=f[a+28>>2]|0;v=f[a+32>>2]|0;w=e>>>0>1073741823?-1:e<<2;x=mq(w)|0;cj(x|0,0,w|0)|0;y=mq(w)|0;cj(y|0,0,w|0)|0;w=a+36|0;h=f[w>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;r=(e|0)>0;t=a+8|0;q=u+12|0;p=e<<2;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;s=d;z=g}else{o=h;Fp(o)}while(1){o=f[k+(z<<2)>>2]|0;if(r)cj(x|0,0,p|0)|0;if((o|0)>-1){n=f[q>>2]|0;m=o;l=0;while(1){d=f[n+(m<<2)>>2]|0;if((d|0)>=0){h=f[u>>2]|0;i=f[v>>2]|0;k=f[i+(f[h+(d<<2)>>2]<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;j=f[i+(g<<2)>>2]|0;g=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((g|0)<0)g=-1073741824;else g=f[h+(g<<2)>>2]|0;g=f[i+(g<<2)>>2]|0;if((k|0)<(z|0)&(j|0)<(z|0)&(g|0)<(z|0)){i=X(k,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(r){g=0;do{f[y+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(r){g=0;do{k=x+(g<<2)|0;f[k>>2]=(f[k>>2]|0)+(f[y+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}h=l+1|0}else h=l}else h=l;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else l=h}g=X(z,e)|0;if(!h)A=30;else{if(r){d=0;do{s=x+(d<<2)|0;f[s>>2]=(f[s>>2]|0)/(h|0)|0;d=d+1|0}while((d|0)!=(e|0))}ai(t,b+(g<<2)|0,x,c+(g<<2)|0)}}else{g=X(z,e)|0;A=30}if((A|0)==30){A=0;ai(t,b+(g<<2)|0,b+((X(s+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((z|0)<=1)break a;g=f[w>>2]|0;k=f[g>>2]|0;d=z+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{s=z;z=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,x,c);nq(y);nq(x);return 1}cj(x|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,x,c);nq(y);nq(x);return 1}function hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;t=f[a+28>>2]|0;u=f[a+32>>2]|0;v=e>>>0>1073741823?-1:e<<2;w=mq(v)|0;cj(w|0,0,v|0)|0;x=mq(v)|0;cj(x|0,0,v|0)|0;v=a+36|0;h=f[v>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;p=(e|0)>0;s=a+8|0;q=t+64|0;o=t+28|0;n=e<<2;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;r=d;B=g}else{m=h;Fp(m)}while(1){m=f[k+(B<<2)>>2]|0;if(p)cj(w|0,0,n|0)|0;if((m|0)>-1){l=f[t>>2]|0;k=m;j=0;do{if(((f[l+(k>>>5<<2)>>2]&1<<(k&31)|0)==0?(C=f[(f[(f[q>>2]|0)+12>>2]|0)+(k<<2)>>2]|0,(C|0)>=0):0)?(A=f[o>>2]|0,i=f[u>>2]|0,y=f[i+(f[A+(C<<2)>>2]<<2)>>2]|0,z=C+1|0,z=f[i+(f[A+((((z|0)%3|0|0)==0?C+-2|0:z)<<2)>>2]<<2)>>2]|0,A=f[i+(f[A+((((C>>>0)%3|0|0)==0?2:-1)+C<<2)>>2]<<2)>>2]|0,(y|0)<(B|0)&(z|0)<(B|0)&(A|0)<(B|0)):0){d=X(y,e)|0;h=X(z,e)|0;i=X(A,e)|0;if(p){g=0;do{f[x+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(p){g=0;do{i=w+(g<<2)|0;f[i>>2]=(f[i>>2]|0)+(f[x+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}j=j+1|0}g=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if(!(f[l+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[q>>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);k=(g|0)==(m|0)?-1073741824:g}while((k|0)>-1);g=X(B,e)|0;if(!j)D=28;else{if(p){d=0;do{r=w+(d<<2)|0;f[r>>2]=(f[r>>2]|0)/(j|0)|0;d=d+1|0}while((d|0)!=(e|0))}ai(s,b+(g<<2)|0,w,c+(g<<2)|0)}}else{g=X(B,e)|0;D=28}if((D|0)==28){D=0;ai(s,b+(g<<2)|0,b+((X(r+-2|0,e)|0)<<2)|0,c+(g<<2)|0)}if((B|0)<=1)break a;g=f[v>>2]|0;k=f[g>>2]|0;d=B+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{r=B;B=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,w,c);nq(x);nq(w);return 1}cj(w|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,w,c);nq(x);nq(w);return 1}function id(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=an(16)|0;f[m>>2]=g;f[m+8>>2]=-2147483632;f[m+4>>2]=15;i=g;h=17844;j=i+15|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+15>>0]=0;k=Bk(c,m,-1)|0;if((b[m+11>>0]|0)<0)pq(f[m>>2]|0);switch(k|0){case 0:{g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3932;break}case -1:{if((fi(c)|0)==10){g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3932}else n=7;break}default:n=7}a:do if((n|0)==7){g=cl(d,0)|0;b:do if(((g|0?((f[d+12>>2]|0)-(f[d+8>>2]|0)|0)==4:0)?(f[g+56>>2]|0)==0:0)?(b[g+24>>0]|0)==3:0){switch(f[g+28>>2]|0){case 9:{f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=an(32)|0;f[m>>2]=g;f[m+8>>2]=-2147483616;f[m+4>>2]=17;i=g;h=17860;j=i+17|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+17>>0]=0;j=c+16|0;h=f[j>>2]|0;if(h){g=j;i=h;c:while(1){h=i;while(1){if((f[h+16>>2]|0)>=0)break;h=f[h+4>>2]|0;if(!h)break c}i=f[h>>2]|0;if(!i){g=h;break}else g=h}if(((g|0)!=(j|0)?(f[g+16>>2]|0)<=0:0)?(l=g+20|0,(Oh(l,m)|0)!=0):0)g=Bk(l,m,-1)|0;else n=21}else n=21;if((n|0)==21)g=Bk(c,m,-1)|0;if((b[m+11>>0]|0)<0)pq(f[m>>2]|0);if((g|0)<1)break b;break}case 6:break;default:break b}g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3876;break a}while(0);if((k|0)!=1){g=an(52)|0;i=g;j=i+52|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));Bn(g);h=3932;break}f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;g=an(32)|0;f[m>>2]=g;f[m+8>>2]=-2147483616;f[m+4>>2]=24;i=g;h=17878;j=i+24|0;do{b[i>>0]=b[h>>0]|0;i=i+1|0;h=h+1|0}while((i|0)<(j|0));b[g+24>>0]=0;f[a>>2]=-1;dj(a+4|0,m);if((b[m+11>>0]|0)<0)pq(f[m>>2]|0);u=o;return}while(0);f[g>>2]=h;Oo(g,d);yd(a,g,c,e);Ra[f[(f[g>>2]|0)+4>>2]&127](g);u=o;return}function jd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}r=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=r;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;q=b+-1|0;r=(q&b|0)==0;if(!r){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&q;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){p=e;b:while(1){c:do if(r){e=g;while(1){o=f[e+4>>2]&q;if((o|0)==(c|0))break c;h=(f[a>>2]|0)+(o<<2)|0;if(!(f[h>>2]|0)){c=o;break b}h=e+8|0;n=h+2|0;l=e+12|0;m=h+6|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=d[h>>1]|0;h=e;while(1){j=g+8|0;if(k<<16>>16!=(d[j>>1]|0)){g=h;break d}if((d[n>>1]|0)!=(d[j+2>>1]|0)){g=h;break d}if((d[l>>1]|0)!=(d[g+12>>1]|0)){g=h;break d}if((d[m>>1]|0)!=(d[j+6>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[p>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=43;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}j=e+8|0;o=j+2|0;m=e+12|0;n=j+6|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=d[j>>1]|0;j=e;while(1){k=h+8|0;if(l<<16>>16!=(d[k>>1]|0)){h=j;break e}if((d[o>>1]|0)!=(d[k+2>>1]|0)){h=j;break e}if((d[m>>1]|0)!=(d[h+12>>1]|0)){h=j;break e}if((d[n>>1]|0)!=(d[k+6>>1]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=43;break a}}}while(0);g=f[e>>2]|0;if(!g){c=43;break a}else{i=e;p=e}}f[h>>2]=p;g=f[e>>2]|0;if(!g){c=43;break}else i=e}if((c|0)==43)return}function kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}r=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=r;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;q=c+-1|0;r=(q&c|0)==0;if(!r){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&q;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){p=e;b:while(1){c:do if(r){e=g;while(1){o=f[e+4>>2]&q;if((o|0)==(d|0))break c;h=(f[a>>2]|0)+(o<<2)|0;if(!(f[h>>2]|0)){d=o;break b}h=e+8|0;n=h+1|0;l=h+2|0;m=h+3|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;h=e;while(1){j=g+8|0;if(k<<24>>24!=(b[j>>0]|0)){g=h;break d}if((b[n>>0]|0)!=(b[j+1>>0]|0)){g=h;break d}if((b[l>>0]|0)!=(b[j+2>>0]|0)){g=h;break d}if((b[m>>0]|0)!=(b[j+3>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[p>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(o<<2)>>2]>>2];f[f[(f[a>>2]|0)+(o<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=43;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}j=e+8|0;o=j+1|0;m=j+2|0;n=j+3|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[j>>0]|0;j=e;while(1){k=h+8|0;if(l<<24>>24!=(b[k>>0]|0)){h=j;break e}if((b[o>>0]|0)!=(b[k+1>>0]|0)){h=j;break e}if((b[m>>0]|0)!=(b[k+2>>0]|0)){h=j;break e}if((b[n>>0]|0)!=(b[k+3>>0]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=43;break a}}}while(0);g=f[e>>2]|0;if(!g){d=43;break a}else{i=e;p=e}}f[h>>2]=p;g=f[e>>2]|0;if(!g){d=43;break}else i=e}if((d|0)==43)return}function ld(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+8|0;i=m+4|0;k=m;l=m+12|0;f[k>>2]=0;if(!d)if((c|0)>0){g=0;h=0;while(1){d=f[a+(h<<2)>>2]|0;if(d>>>0>g>>>0)f[k>>2]=d;else d=g;h=h+1|0;if((h|0)==(c|0)){g=7;break}else g=d}}else d=1;else{d=f[d>>2]|0;f[k>>2]=d;g=7}if((g|0)==7){g=((_(d|0)|0)^31)+1|0;if(d)if(g>>>0>18){e=0;u=m;return e|0}else d=g;else d=1}b[l>>0]=d;h=e+16|0;g=f[h+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[h>>2]|0)>>>0>0)){f[i>>2]=f[e+4>>2];f[j>>2]=f[i>>2];Ke(e,j,l,l+1|0)|0}do switch(d|0){case 1:case 0:{e=ne(a,c,k,e)|0;u=m;return e|0}case 2:{e=me(a,c,k,e)|0;u=m;return e|0}case 3:{e=le(a,c,k,e)|0;u=m;return e|0}case 4:{e=ke(a,c,k,e)|0;u=m;return e|0}case 5:{e=je(a,c,k,e)|0;u=m;return e|0}case 6:{e=ie(a,c,k,e)|0;u=m;return e|0}case 7:{e=he(a,c,k,e)|0;u=m;return e|0}case 8:{e=ge(a,c,k,e)|0;u=m;return e|0}case 9:{e=fe(a,c,k,e)|0;u=m;return e|0}case 10:{e=ee(a,c,k,e)|0;u=m;return e|0}case 11:{e=de(a,c,k,e)|0;u=m;return e|0}case 12:{e=ce(a,c,k,e)|0;u=m;return e|0}case 13:{e=be(a,c,k,e)|0;u=m;return e|0}case 14:{e=ae(a,c,k,e)|0;u=m;return e|0}case 15:{e=$d(a,c,k,e)|0;u=m;return e|0}case 16:{e=_d(a,c,k,e)|0;u=m;return e|0}case 17:{e=Zd(a,c,k,e)|0;u=m;return e|0}case 18:{e=Yd(a,c,k,e)|0;u=m;return e|0}default:{e=0;u=m;return e|0}}while(0);return 0}function md(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}p=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(!p){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&o;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){n=d;b:while(1){c:do if(p){d=e;while(1){m=f[d+4>>2]&o;if((m|0)==(c|0))break c;g=(f[a>>2]|0)+(m<<2)|0;if(!(f[g>>2]|0)){c=m;break b}l=d+12|0;j=d+16|0;k=d+20|0;e=f[d>>2]|0;d:do if(!e)e=d;else{i=f[d+8>>2]|0;g=d;while(1){if((i|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[l>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}if((f[j>>2]|0)!=(f[e+16>>2]|0)){e=g;break d}if((f[k>>2]|0)!=(f[e+20>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{q=e;e=g;g=q}}}while(0);f[n>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(m<<2)>>2]>>2];f[f[(f[a>>2]|0)+(m<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=43;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}m=d+12|0;k=d+16|0;l=d+20|0;g=f[d>>2]|0;e:do if(!g)g=d;else{j=f[d+8>>2]|0;i=d;while(1){if((j|0)!=(f[g+8>>2]|0)){g=i;break e}if((f[m>>2]|0)!=(f[g+12>>2]|0)){g=i;break e}if((f[k>>2]|0)!=(f[g+16>>2]|0)){g=i;break e}if((f[l>>2]|0)!=(f[g+20>>2]|0)){g=i;break e}i=f[g>>2]|0;if(!i)break;else{q=g;g=i;i=q}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=43;break a}}}while(0);e=f[d>>2]|0;if(!e){c=43;break a}else{h=d;n=d}}f[g>>2]=n;e=f[d>>2]|0;if(!e){c=43;break}else h=d}if((c|0)==43)return}function nd(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2868;e=b;f[a>>2]=e;return}case 2:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2924;e=b;f[a>>2]=e;return}case 4:{b=an(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2980;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3036;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3092;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=3148;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=3204;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function od(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2504;e=b;f[a>>2]=e;return}case 2:{b=an(40)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2560;e=b;f[a>>2]=e;return}case 4:{b=an(92)|0;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];h=b+24|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2616;h=b+40|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(68)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2672;e=b+40|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(84)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2728;f[b+40>>2]=0;f[b+44>>2]=0;f[b+56>>2]=0;f[b+60>>2]=0;f[b+64>>2]=0;e=b+68|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(120)|0;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];e=b+24|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2784;f[b+44>>2]=0;f[b+48>>2]=0;e=b+52|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+40>>2]=2840;f[b+68>>2]=1;e=b+72|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+88|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function pd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+1264|0;t=x+1252|0;q=x+1248|0;v=x+16|0;d=x+1244|0;i=x+1240|0;w=x+8|0;r=x+1236|0;e=x+1232|0;g=x+1228|0;h=x+1224|0;j=x+1220|0;k=x+1216|0;l=x+1212|0;m=x+1208|0;n=x+1204|0;o=x+12|0;p=x+4|0;s=x;c=f[a+48>>2]|0;if(c>>>0>=7)ra(20408,20436,45,20594);switch(c|0){case 0:{Oe(v,3);f[d>>2]=f[b>>2];f[i>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[d>>2];f[t>>2]=f[i>>2];qf(v,q,t,w,a+16|0)|0;jf(v);u=x;return 1}case 1:{Oe(v,3);f[r>>2]=f[b>>2];f[e>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[r>>2];f[t>>2]=f[e>>2];qf(v,q,t,w,a+16|0)|0;jf(v);u=x;return 1}case 2:{Ne(v,3);f[g>>2]=f[b>>2];f[h>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[g>>2];f[t>>2]=f[h>>2];rf(v,q,t,w,a+16|0)|0;kf(v);u=x;return 1}case 3:{Ne(v,3);f[j>>2]=f[b>>2];f[k>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[j>>2];f[t>>2]=f[k>>2];rf(v,q,t,w,a+16|0)|0;kf(v);u=x;return 1}case 4:{Me(v,3);f[l>>2]=f[b>>2];f[m>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[l>>2];f[t>>2]=f[m>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}case 5:{Me(v,3);f[n>>2]=f[b>>2];f[o>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[n>>2];f[t>>2]=f[o>>2];Xe(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}default:{Me(v,3);f[p>>2]=f[b>>2];f[s>>2]=f[b+4>>2];f[w>>2]=(f[a>>2]|0)+1;f[q>>2]=f[p>>2];f[t>>2]=f[s>>2];We(v,q,t,w,a+16|0)|0;Ve(v);u=x;return 1}}return 0}function qd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}q=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=q;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;p=b+-1|0;q=(p&b|0)==0;if(!q){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&p;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){o=e;b:while(1){c:do if(q){e=g;while(1){n=f[e+4>>2]&p;if((n|0)==(c|0))break c;h=(f[a>>2]|0)+(n<<2)|0;if(!(f[h>>2]|0)){c=n;break b}h=e+8|0;m=e+12|0;g=f[e>>2]|0;d:do if(!g)g=e;else{l=d[h>>1]|0;k=h+2|0;h=e;while(1){j=g+8|0;if(l<<16>>16!=(d[j>>1]|0)){g=h;break d}if((d[k>>1]|0)!=(d[j+2>>1]|0)){g=h;break d}if((d[m>>1]|0)!=(d[g+12>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[o>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=41;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}j=e+8|0;n=e+12|0;h=f[e>>2]|0;e:do if(!h)h=e;else{m=d[j>>1]|0;l=j+2|0;j=e;while(1){k=h+8|0;if(m<<16>>16!=(d[k>>1]|0)){h=j;break e}if((d[l>>1]|0)!=(d[k+2>>1]|0)){h=j;break e}if((d[n>>1]|0)!=(d[h+12>>1]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[o>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){c=41;break a}}}while(0);g=f[e>>2]|0;if(!g){c=41;break a}else{i=e;o=e}}f[h>>2]=o;g=f[e>>2]|0;if(!g){c=41;break}else i=e}if((c|0)==41)return}function rd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;r=b[c+11>>0]|0;m=r<<24>>24<0;u=m?f[c>>2]|0:c;r=m?f[c+4>>2]|0:r&255;if(r>>>0>3){c=u;g=r;d=r;while(1){m=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(m>>>24^m,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}m=r+-4|0;d=m&-4;e=u+(d+4)|0;c=g;d=m-d|0}else{e=u;c=r;d=r}switch(d|0){case 3:{i=h[e+2>>0]<<16^c;q=6;break}case 2:{i=c;q=6;break}case 1:{j=c;q=7;break}default:k=c}if((q|0)==6){j=h[e+1>>0]<<8^i;q=7}if((q|0)==7)k=X(h[e>>0]^j,1540483477)|0;m=X(k>>>13^k,1540483477)|0;m=m>>>15^m;k=f[a+4>>2]|0;if(!k){w=0;return w|0}i=k+-1|0;d=(i&k|0)==0;if(!d)if(m>>>0>>0)l=m;else l=(m>>>0)%(k>>>0)|0;else l=m&i;c=f[(f[a>>2]|0)+(l<<2)>>2]|0;if(!c){w=0;return w|0}c=f[c>>2]|0;if(!c){w=0;return w|0}j=(r|0)==0;if(d){a:while(1){q=f[c+4>>2]|0;d=(q|0)==(m|0);if(!(d|(q&i|0)==(l|0))){c=0;q=41;break}do if(d?(n=c+8|0,o=b[n+11>>0]|0,p=o<<24>>24<0,o=o&255,((p?f[c+12>>2]|0:o)|0)==(r|0)):0){d=f[n>>2]|0;e=p?d:n;if(p){if(j){q=41;break a}if(!(fl(e,u,r)|0)){q=41;break a}else break}if(j){q=41;break a}if((d&255)<<24>>24==(b[u>>0]|0)){d=o;e=n;g=u;do{d=d+-1|0;e=e+1|0;if(!d){q=41;break a}g=g+1|0}while((b[e>>0]|0)==(b[g>>0]|0))}}while(0);c=f[c>>2]|0;if(!c){c=0;q=41;break}}if((q|0)==41)return c|0}else s=c;b:while(1){c=f[s+4>>2]|0;d=(c|0)==(m|0);if(!d){if(c>>>0>=k>>>0)c=(c>>>0)%(k>>>0)|0;if((c|0)!=(l|0)){c=0;q=41;break}if(d)q=33}else q=33;do if((q|0)==33?(q=0,t=s+8|0,v=b[t+11>>0]|0,w=v<<24>>24<0,v=v&255,((w?f[s+12>>2]|0:v)|0)==(r|0)):0){c=f[t>>2]|0;d=w?c:t;if(w){if(j){c=s;q=41;break b}if(!(fl(d,u,r)|0)){c=s;q=41;break b}else break}if(j){c=s;q=41;break b}if((c&255)<<24>>24==(b[u>>0]|0)){c=v;d=t;e=u;do{c=c+-1|0;d=d+1|0;if(!c){c=s;q=41;break b}e=e+1|0}while((b[d>>0]|0)==(b[e>>0]|0))}}while(0);s=f[s>>2]|0;if(!s){c=0;q=41;break}}if((q|0)==41)return c|0;return 0}function sd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}q=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=q;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;p=c+-1|0;q=(p&c|0)==0;if(!q){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&p;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){o=e;b:while(1){c:do if(q){e=g;while(1){n=f[e+4>>2]&p;if((n|0)==(d|0))break c;h=(f[a>>2]|0)+(n<<2)|0;if(!(f[h>>2]|0)){d=n;break b}h=e+8|0;m=h+1|0;l=h+2|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;h=e;while(1){j=g+8|0;if(k<<24>>24!=(b[j>>0]|0)){g=h;break d}if((b[m>>0]|0)!=(b[j+1>>0]|0)){g=h;break d}if((b[l>>0]|0)!=(b[j+2>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{j=g;g=h;h=j}}}while(0);f[o>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(n<<2)>>2]>>2];f[f[(f[a>>2]|0)+(n<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=41;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}j=e+8|0;n=j+1|0;m=j+2|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[j>>0]|0;j=e;while(1){k=h+8|0;if(l<<24>>24!=(b[k>>0]|0)){h=j;break e}if((b[n>>0]|0)!=(b[k+1>>0]|0)){h=j;break e}if((b[m>>0]|0)!=(b[k+2>>0]|0)){h=j;break e}j=f[h>>2]|0;if(!j)break;else{k=h;h=j;j=k}}}while(0);f[o>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[i>>2]|0;if(!e){d=41;break a}}}while(0);g=f[e>>2]|0;if(!g){d=41;break a}else{i=e;o=e}}f[h>>2]=o;g=f[e>>2]|0;if(!g){d=41;break}else i=e}if((d|0)==41)return}function td(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}s=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=s;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;r=c+-1|0;s=(r&c|0)==0;if(!s){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&r;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;else{h=g;i=e;e=g}a:while(1){q=h;g=i;p=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!s){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&r;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{n=e+8|0;m=b[n+11>>0]|0;k=m<<24>>24<0;m=m&255;o=k?f[e+12>>2]|0:m;l=(o|0)==0;if(k){i=e;while(1){j=h+8|0;m=b[j+11>>0]|0;k=m<<24>>24<0;if((o|0)!=((k?f[h+12>>2]|0:m&255)|0)){h=i;break c}if(!l?fl(f[n>>2]|0,k?f[j>>2]|0:j,o)|0:0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{m=h;h=i;i=m}}}if(l){i=e;while(1){o=b[h+8+11>>0]|0;if((o<<24>>24<0?f[h+12>>2]|0:o&255)|0){h=i;break c}i=f[h>>2]|0;if(!i)break c;else{o=h;h=i;i=o}}}l=e;while(1){i=h+8|0;k=b[i+11>>0]|0;j=k<<24>>24<0;if((o|0)!=((j?f[h+12>>2]|0:k&255)|0)){h=l;break c}i=j?f[i>>2]|0:i;if((f[n>>2]&255)<<24>>24==(b[i>>0]|0)){j=m;k=n}else{h=l;break c}while(1){j=j+-1|0;k=k+1|0;if(!j)break;i=i+1|0;if((b[k>>0]|0)!=(b[i>>0]|0)){h=l;break c}}i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[p>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[q>>2]|0;if(!e){d=43;break a}}g=f[e>>2]|0;if(!g){d=43;break a}else{q=e;p=e}}f[h>>2]=p;i=f[e>>2]|0;if(!i){d=43;break}else{h=e;d=g}}if((d|0)==43)return}function ud(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}o=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=o;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;n=b+-1|0;o=(n&b|0)==0;if(!o){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&n;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){m=d;b:while(1){c:do if(o){d=e;while(1){l=f[d+4>>2]&n;if((l|0)==(c|0))break c;g=(f[a>>2]|0)+(l<<2)|0;if(!(f[g>>2]|0)){c=l;break b}k=d+12|0;j=d+16|0;e=f[d>>2]|0;d:do if(!e)e=d;else{i=f[d+8>>2]|0;g=d;while(1){if((i|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[k>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}if((f[j>>2]|0)!=(f[e+16>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{p=e;e=g;g=p}}}while(0);f[m>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=41;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}l=d+12|0;k=d+16|0;g=f[d>>2]|0;e:do if(!g)g=d;else{j=f[d+8>>2]|0;i=d;while(1){if((j|0)!=(f[g+8>>2]|0)){g=i;break e}if((f[l>>2]|0)!=(f[g+12>>2]|0)){g=i;break e}if((f[k>>2]|0)!=(f[g+16>>2]|0)){g=i;break e}i=f[g>>2]|0;if(!i)break;else{p=g;g=i;i=p}}}while(0);f[m>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[h>>2]|0;if(!d){c=41;break a}}}while(0);e=f[d>>2]|0;if(!e){c=41;break a}else{h=d;m=d}}f[g>>2]=m;e=f[d>>2]|0;if(!e){c=41;break}else h=d}if((c|0)==41)return}function vd(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=a+4|0;t=f[c>>2]|0;c=t;do if((t|0)!=(o|0)){j=t+16|0;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[t+20>>2]|0:i&255;q=b[g+11>>0]|0;r=q<<24>>24<0;q=r?f[g+4>>2]|0:q&255;l=i>>>0>>0;h=l?i:q;if((h|0)!=0?(k=fl(r?f[g>>2]|0:g,m?f[j>>2]|0:j,h)|0,(k|0)!=0):0){if((k|0)<0)break}else u=4;if((u|0)==4?q>>>0>>0:0)break;h=q>>>0>>0?q:i;if((h|0)!=0?(n=fl(m?f[j>>2]|0:j,r?f[g>>2]|0:g,h)|0,(n|0)!=0):0){if((n|0)>=0)u=36}else u=20;if((u|0)==20?!l:0)u=36;if((u|0)==36){f[d>>2]=c;f[e>>2]=c;d=e;return d|0}m=t+4|0;h=f[m>>2]|0;if(!h){i=t+8|0;h=f[i>>2]|0;if((f[h>>2]|0)!=(t|0))do{p=f[i>>2]|0;i=p+8|0;h=f[i>>2]|0}while((f[h>>2]|0)!=(p|0))}else while(1){i=f[h>>2]|0;if(!i)break;else h=i}do if((h|0)!=(o|0)){j=h+16|0;k=b[j+11>>0]|0;l=k<<24>>24<0;k=l?f[h+20>>2]|0:k&255;i=k>>>0>>0?k:q;if((i|0)!=0?(s=fl(r?f[g>>2]|0:g,l?f[j>>2]|0:j,i)|0,(s|0)!=0):0){if((s|0)<0)break}else u=30;if((u|0)==30?q>>>0>>0:0)break;d=lg(a,d,g)|0;return d|0}while(0);if(!(f[t+4>>2]|0)){f[d>>2]=c;d=m;return d|0}else{f[d>>2]=h;d=h;return d|0}}while(0);e=f[t>>2]|0;do if((t|0)!=(f[a>>2]|0)){if(!e){h=t;while(1){c=f[h+8>>2]|0;if((f[c>>2]|0)==(h|0))h=c;else{h=c;break}}}else{h=e;while(1){c=f[h+4>>2]|0;if(!c)break;else h=c}}c=h;j=h+16|0;k=b[g+11>>0]|0;l=k<<24>>24<0;k=l?f[g+4>>2]|0:k&255;i=b[j+11>>0]|0;m=i<<24>>24<0;i=m?f[h+20>>2]|0:i&255;h=k>>>0>>0?k:i;if((h|0)!=0?(p=fl(m?f[j>>2]|0:j,l?f[g>>2]|0:g,h)|0,(p|0)!=0):0){if((p|0)<0)break}else u=12;if((u|0)==12?i>>>0>>0:0)break;d=lg(a,d,g)|0;return d|0}while(0);if(!e){f[d>>2]=t;d=t;return d|0}else{u=c;f[d>>2]=u;d=u+4|0;return d|0}return 0}function wd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;u=a+8|0;f[u>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{t=f[b+(i<<2)>>2]|0;s=(t|0)<(g|0);g=s?t:g;h=s?h:(t|0)>(h|0)?t:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;t=1-g+h|0;f[a+20>>2]=t;g=(t|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(t&1))f[h>>2]=g+-1}else d=0;g=d-e|0;if((g|0)>0){o=0-e|0;r=a+16|0;n=a+32|0;t=a+12|0;s=a+28|0;q=a+20|0;p=a+24|0;d=f[u>>2]|0;do{l=b+(g<<2)|0;m=c+(g<<2)|0;if((d|0)>0){k=0;j=l+(o<<2)|0;while(1){if((d|0)>0){i=0;do{d=f[j+(i<<2)>>2]|0;h=f[r>>2]|0;if((d|0)>(h|0)){d=f[n>>2]|0;f[d+(i<<2)>>2]=h}else{w=f[t>>2]|0;h=f[n>>2]|0;f[h+(i<<2)>>2]=(d|0)<(w|0)?w:d;d=h}i=i+1|0}while((i|0)<(f[u>>2]|0));i=d}else i=f[n>>2]|0;d=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=m+(k<<2)|0;f[h>>2]=d;if((d|0)>=(f[s>>2]|0)){if((d|0)>(f[p>>2]|0)){d=d-(f[q>>2]|0)|0;v=41}}else{d=(f[q>>2]|0)+d|0;v=41}if((v|0)==41){v=0;f[h>>2]=d}k=k+1|0;d=f[u>>2]|0;if((k|0)>=(d|0))break;else j=i}}g=g-e|0}while((g|0)>0)}else d=f[u>>2]|0;w=e>>>0>1073741823?-1:e<<2;m=mq(w)|0;cj(m|0,0,w|0)|0;if((d|0)<=0){nq(m);return 1}o=a+16|0;l=a+32|0;q=a+12|0;p=a+28|0;n=a+20|0;k=a+24|0;j=0;h=m;do{if((d|0)>0){i=0;do{d=f[h+(i<<2)>>2]|0;g=f[o>>2]|0;if((d|0)>(g|0)){d=f[l>>2]|0;f[d+(i<<2)>>2]=g}else{a=f[q>>2]|0;w=f[l>>2]|0;f[w+(i<<2)>>2]=(d|0)<(a|0)?a:d;d=w}i=i+1|0}while((i|0)<(f[u>>2]|0));h=d}else h=f[l>>2]|0;d=(f[b+(j<<2)>>2]|0)-(f[h+(j<<2)>>2]|0)|0;g=c+(j<<2)|0;f[g>>2]=d;if((d|0)>=(f[p>>2]|0)){if((d|0)>(f[k>>2]|0)){d=d-(f[n>>2]|0)|0;v=26}}else{d=(f[n>>2]|0)+d|0;v=26}if((v|0)==26){v=0;f[g>>2]=d}j=j+1|0;d=f[u>>2]|0}while((j|0)<(d|0));nq(m);return 1}function xd(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;i=r+20|0;j=r+12|0;p=r;g=r+16|0;h=r+24|0;k=a+16|0;en(k);e=(f[d+4>>2]|0)-(f[c+4>>2]|0)|0;m=a+12|0;f[m>>2]=e;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;Mi(p,e);f[g>>2]=p;f[i>>2]=f[g>>2];Fc(c,d,a,i)|0;g=a+32|0;c=g;d=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,6112,6116)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}e=a+8|0;b[h>>0]=f[e>>2];if(!((c|0)>0|(c|0)==0&d>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,h,h+1|0)|0;d=g;c=f[d+4>>2]|0;d=f[d>>2]|0}if(!((c|0)>0|(c|0)==0&d>>>0>0)?(f[j>>2]=f[a+20>>2],f[i>>2]=f[j>>2],Ke(k,i,a,a+4|0)|0,h=g,d=f[h+4>>2]|0,n=a+4|0,!((d|0)>0|(d|0)==0&(f[h>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,n,n+4|0)|0;n=g;h=f[n+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,m,m+4|0)|0}}else o=9;if((f[e>>2]|0)==1?(l=a+48|0,o=g,n=f[o+4>>2]|0,!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)):0){f[j>>2]=f[a+20>>2];f[i>>2]=f[j>>2];Ke(k,i,l,l+4|0)|0}do if(f[m>>2]|0)if((f[e>>2]|0)==1){e=pd(a,p)|0;break}else{wl(8103,23,1,f[1529]|0)|0;e=0;break}else e=1;while(0);c=f[p>>2]|0;if(!c){u=r;return e|0}d=f[q>>2]|0;if((d|0)!=(c|0))f[q>>2]=d+(~(((d+-12-c|0)>>>0)/12|0)*12|0);pq(c);u=r;return e|0}function yd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;f[c+48>>2]=d;f[c+44>>2]=e;e=f[c+8>>2]|0;g=c+12|0;d=f[g>>2]|0;if((d|0)!=(e|0))do{h=d+-4|0;f[g>>2]=h;d=f[h>>2]|0;f[h>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=f[g>>2]|0}while((d|0)!=(e|0));d=f[c+20>>2]|0;g=c+24|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+32>>2]|0;g=c+36|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);if(!(f[c+4>>2]|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=23;e=d;g=19071;c=e+23|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+23>>0]=0;f[a>>2]=-1;dj(a+4|0,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}Md(a,c);if(f[a>>2]|0){u=j;return}h=a+4|0;d=h+11|0;if((b[d>>0]|0)<0)pq(f[h>>2]|0);Fi(a,c);if(f[a>>2]|0){u=j;return}if((b[d>>0]|0)<0)pq(f[h>>2]|0);if(!(Ma[f[(f[c>>2]|0)+16>>2]&127](c)|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=29;e=d;g=19095;c=e+29|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+29>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}if(!(Ma[f[(f[c>>2]|0)+20>>2]&127](c)|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=31;e=d;g=19125;c=e+31|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+31>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}if(!(Ma[f[(f[c>>2]|0)+24>>2]&127](c)|0)){d=an(32)|0;f[i>>2]=d;f[i+8>>2]=-2147483616;f[i+4>>2]=31;e=d;g=19157;c=e+31|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+31>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}if(Ma[f[(f[c>>2]|0)+28>>2]&127](c)|0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=j;return}d=an(48)|0;f[i>>2]=d;f[i+8>>2]=-2147483600;f[i+4>>2]=34;e=d;g=19189;c=e+34|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(c|0));b[d+34>>0]=0;f[a>>2]=-1;dj(h,i);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);u=j;return}function zd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}p=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=p;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;o=b+-1|0;p=(o&b|0)==0;if(!p){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&o;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){m=i;n=e;b:while(1){c:do if(p){e=g;while(1){l=f[e+4>>2]&o;if((l|0)==(c|0))break c;h=(f[a>>2]|0)+(l<<2)|0;if(!(f[h>>2]|0)){c=l;break b}h=e+8|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=d[h>>1]|0;j=h+2|0;h=e;while(1){i=g+8|0;if(k<<16>>16!=(d[i>>1]|0)){g=h;break d}if((d[j>>1]|0)!=(d[i+2>>1]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{i=g;g=h;h=i}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){c=39;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){c=g;break b}i=e+8|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=d[i>>1]|0;k=i+2|0;i=e;while(1){j=h+8|0;if(l<<16>>16!=(d[j>>1]|0)){h=i;break e}if((d[k>>1]|0)!=(d[j+2>>1]|0)){h=i;break e}i=f[h>>2]|0;if(!i)break;else{j=h;h=i;i=j}}}while(0);f[n>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){c=39;break a}}}while(0);g=f[e>>2]|0;if(!g){c=39;break a}else{m=e;n=e}}f[h>>2]=n;g=f[e>>2]|0;if(!g){c=39;break}else i=e}if((c|0)==39)return}function Ad(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}p=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=p;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;o=c+-1|0;p=(o&c|0)==0;if(!p){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&o;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{i=h;g=e;e=h}a:while(1){m=i;n=e;b:while(1){c:do if(p){e=g;while(1){l=f[e+4>>2]&o;if((l|0)==(d|0))break c;h=(f[a>>2]|0)+(l<<2)|0;if(!(f[h>>2]|0)){d=l;break b}h=e+8|0;g=f[e>>2]|0;d:do if(!g)g=e;else{k=b[h>>0]|0;j=h+1|0;h=e;while(1){i=g+8|0;if(k<<24>>24!=(b[i>>0]|0)){g=h;break d}if((b[j>>0]|0)!=(b[i+1>>0]|0)){g=h;break d}h=f[g>>2]|0;if(!h)break;else{i=g;g=h;h=i}}}while(0);f[n>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(l<<2)>>2]>>2];f[f[(f[a>>2]|0)+(l<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){d=39;break a}}}else{e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break c;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){d=g;break b}i=e+8|0;h=f[e>>2]|0;e:do if(!h)h=e;else{l=b[i>>0]|0;k=i+1|0;i=e;while(1){j=h+8|0;if(l<<24>>24!=(b[j>>0]|0)){h=i;break e}if((b[k>>0]|0)!=(b[j+1>>0]|0)){h=i;break e}i=f[h>>2]|0;if(!i)break;else{j=h;h=i;i=j}}}while(0);f[n>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[m>>2]|0;if(!e){d=39;break a}}}while(0);g=f[e>>2]|0;if(!g){d=39;break a}else{m=e;n=e}}f[h>>2]=n;g=f[e>>2]|0;if(!g){d=39;break}else i=e}if((d|0)==39)return}function Bd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=mq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)nq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;z=g}else{d=h;Fp(d)}while(1){f[x>>2]=f[t+(z<<2)>>2];f[y>>2]=f[x>>2];vc(a,y,b,z);d=X(z,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=f[w>>2]|0;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[n>>2]|0)){g=g-(f[o>>2]|0)|0;B=31}}else{g=(f[o>>2]|0)+g|0;B=31}if((B|0)==31){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}z=z+-1|0;if((z|0)<=-1){B=15;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=z>>>0){B=16;break}}if((B|0)==15){u=A;return 1}else if((B|0)==16)Fp(g);return 0}function Cd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;y=A+4|0;x=A;f[a+72>>2]=e;f[a+64>>2]=g;v=mq(e>>>0>1073741823?-1:e<<2)|0;w=a+68|0;g=f[w>>2]|0;f[w>>2]=v;if(g|0)nq(g);v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;z=g}else{d=h;Fp(d)}while(1){f[x>>2]=f[t+(z<<2)>>2];f[y>>2]=f[x>>2];tc(a,y,b,z);d=X(z,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=f[w>>2]|0;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[n>>2]|0)){g=g-(f[o>>2]|0)|0;B=31}}else{g=(f[o>>2]|0)+g|0;B=31}if((B|0)==31){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}z=z+-1|0;if((z|0)<=-1){B=15;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=z>>>0){B=16;break}}if((B|0)==15){u=A;return 1}else if((B|0)==16)Fp(g);return 0}function Dd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+48|0;i=q+32|0;h=q+28|0;o=q+16|0;p=q;j=a+16|0;d=f[j>>2]|0;if(d|0){g=f[b>>2]|0;c=j;a:while(1){e=d;while(1){if((f[e+16>>2]|0)>=(g|0))break;d=f[e+4>>2]|0;if(!d)break a;else e=d}d=f[e>>2]|0;if(!d){c=e;break}else c=e}if((c|0)!=(j|0)?(g|0)>=(f[c+16>>2]|0):0){p=c;p=p+20|0;u=q;return p|0}}Qo(o);f[p>>2]=f[b>>2];l=p+4|0;f[p+8>>2]=0;k=p+12|0;f[k>>2]=0;m=p+8|0;f[l>>2]=m;c=f[o>>2]|0;n=o+4|0;if((c|0)!=(n|0)){g=m;do{d=c+16|0;f[h>>2]=g;f[i>>2]=f[h>>2];Xg(l,i,d,d)|0;d=f[c+4>>2]|0;if(!d){d=c+8|0;e=f[d>>2]|0;if((f[e>>2]|0)==(c|0))c=e;else do{b=f[d>>2]|0;d=b+8|0;c=f[d>>2]|0}while((f[c>>2]|0)!=(b|0))}else{c=d;while(1){d=f[c>>2]|0;if(!d)break;else c=d}}}while((c|0)!=(n|0))}i=a+12|0;c=f[j>>2]|0;do if(c){g=f[p>>2]|0;e=a+16|0;while(1){d=f[c+16>>2]|0;if((g|0)<(d|0)){d=f[c>>2]|0;if(!d){d=23;break}else e=c}else{if((d|0)>=(g|0)){d=27;break}e=c+4|0;d=f[e>>2]|0;if(!d){d=26;break}}c=d}if((d|0)==23){h=c;e=c;break}else if((d|0)==26){h=c;break}else if((d|0)==27){h=c;break}}else{h=j;e=j}while(0);c=f[e>>2]|0;if(!c){c=an(32)|0;f[c+16>>2]=f[p>>2];b=c+20|0;f[b>>2]=f[l>>2];g=c+24|0;d=f[p+8>>2]|0;f[g>>2]=d;j=f[k>>2]|0;f[c+28>>2]=j;if(!j)f[b>>2]=g;else{f[d+8>>2]=g;f[l>>2]=m;f[m>>2]=0;f[k>>2]=0}f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=h;f[e>>2]=c;d=f[f[i>>2]>>2]|0;if(!d)d=c;else{f[i>>2]=d;d=f[e>>2]|0}He(f[a+16>>2]|0,d);a=a+20|0;f[a>>2]=(f[a>>2]|0)+1}lj(p+4|0,f[m>>2]|0);lj(o,f[n>>2]|0);p=c;p=p+20|0;u=q;return p|0}function Ed(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+4|0;m=q;p=q+16|0;l=a+48|0;c=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=20;i=d;j=17903;k=i+20|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+20>>0]=0;h=zk(c+24|0,n)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);c=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=22;i=d;j=17924;k=i+22|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+22>>0]=0;g=zk(c+24|0,n)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);o=a+56|0;c=f[o>>2]|0;f[o>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);e=f[a+52>>2]|0;e=((f[e+100>>2]|0)-(f[e+96>>2]|0)|0)<12e3;c=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=18;i=d;j=17947;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[d+18>>0]=0;c=Bk(c,n,-1)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);switch(c|0){case -1:{if(h?e|((fi(f[l>>2]|0)|0)>4|g^1):0)e=13;else e=17;break}case 0:{if(h)e=13;else e=21;break}case 2:{e=17;break}default:e=21}if((e|0)==13){c=f[a+44>>2]|0;b[p>>0]=0;l=c+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[m>>2]=f[c+4>>2];f[n>>2]=f[m>>2];Ke(c,n,p,p+1|0)|0}c=an(296)|0;Hi(c);d=f[o>>2]|0;f[o>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);e=21}}else if((e|0)==17){c=f[a+44>>2]|0;b[p>>0]=2;l=c+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[m>>2]=f[c+4>>2];f[n>>2]=f[m>>2];Ke(c,n,p,p+1|0)|0}c=an(360)|0;hi(c);d=f[o>>2]|0;f[o>>2]=c;if(d){Ra[f[(f[d>>2]|0)+4>>2]&127](d);e=21}}if((e|0)==21){c=f[o>>2]|0;if(!c){a=0;u=q;return a|0}}a=Na[f[(f[c>>2]|0)+8>>2]&127](c,a)|0;u=q;return a|0}function Fd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}n=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(!n){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&m;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{h=g;e=d;d=g}a:while(1){k=h;l=d;b:while(1){c:do if(n){d=e;while(1){j=f[d+4>>2]&m;if((j|0)==(c|0))break c;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+12|0;e=f[d>>2]|0;d:do if(!e)e=d;else{h=f[d+8>>2]|0;g=d;while(1){if((h|0)!=(f[e+8>>2]|0)){e=g;break d}if((f[i>>2]|0)!=(f[e+12>>2]|0)){e=g;break d}g=f[e>>2]|0;if(!g)break;else{o=e;e=g;g=o}}}while(0);f[l>>2]=f[e>>2];f[e>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=39;break a}}}else{d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break c;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){c=e;break b}j=d+12|0;g=f[d>>2]|0;e:do if(!g)g=d;else{i=f[d+8>>2]|0;h=d;while(1){if((i|0)!=(f[g+8>>2]|0)){g=h;break e}if((f[j>>2]|0)!=(f[g+12>>2]|0)){g=h;break e}h=f[g>>2]|0;if(!h)break;else{o=g;g=h;h=o}}}while(0);f[l>>2]=f[g>>2];f[g>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=39;break a}}}while(0);e=f[d>>2]|0;if(!e){c=39;break a}else{k=d;l=d}}f[g>>2]=l;e=f[d>>2]|0;if(!e){c=39;break}else h=d}if((c|0)==39)return}function Gd(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=c;n=d;i=n;if(!k){g=(e|0)!=0;if(!i){if(g){f[e>>2]=(l>>>0)%(h>>>0);f[e+4>>2]=0}n=0;e=(l>>>0)/(h>>>0)>>>0;return (I=n,e)|0}else{if(!g){n=0;e=0;return (I=n,e)|0}f[e>>2]=a|0;f[e+4>>2]=b&0;n=0;e=0;return (I=n,e)|0}}g=(i|0)==0;do if(h){if(!g){g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;n=0;e=0;return (I=n,e)|0}g=h-1|0;if(g&h|0){i=(_(h|0)|0)+33-(_(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(e|0){f[e>>2]=g&l;f[e+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (I=o,p)|0}else{p=km(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (I=o,p)|0}}else{if(g){if(e|0){f[e>>2]=(k>>>0)%(h>>>0);f[e+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (I=o,p)|0}if(!l){if(e|0){f[e>>2]=0;f[e+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (I=o,p)|0}g=i-1|0;if(!(g&i)){if(e|0){f[e>>2]=a|0;f[e+4>>2]=g&k|b&0}o=0;p=k>>>((km(i|0)|0)>>>0);return (I=o,p)|0}g=(_(i|0)|0)-(_(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;f[e+4>>2]=j|b&0;o=0;p=0;return (I=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=c|0|0;l=n|d&0;k=Mn(m|0,l|0,-1,-1)|0;c=I;j=i;i=0;do{d=j;j=g>>>31|j<<1;g=i|g<<1;d=a<<1|d>>>31|0;n=a>>>31|b<<1|0;_n(k|0,c|0,d|0,n|0)|0;p=I;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=_n(d|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=I;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(e|0){f[e>>2]=a;f[e+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (I=o,p)|0}function Hd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;z=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;n=a+68|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;a=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;y=g}else{d=h;Fp(d)}while(1){f[w>>2]=f[t+(y<<2)>>2];f[x>>2]=f[w>>2];nb(z,x,b,y);d=X(y,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=n;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[a>>2]|0)){g=g-(f[o>>2]|0)|0;B=28}}else{g=(f[o>>2]|0)+g|0;B=28}if((B|0)==28){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}y=y+-1|0;if((y|0)<=-1){B=13;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=y>>>0){B=14;break}}if((B|0)==13){u=A;return 1}else if((B|0)==14)Fp(g);return 0}function Id(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=u;u=u+16|0;x=A+4|0;w=A;z=a+60|0;f[a+64>>2]=g;v=a+8|0;f[v>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{s=f[b+(i<<2)>>2]|0;r=(s|0)<(g|0);g=r?s:g;h=r?h:(s|0)>(h|0)?s:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;s=1-g+h|0;f[a+20>>2]=s;g=(s|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(s&1))f[h>>2]=g+-1}s=a+56|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;if((g|0)<=0){u=A;return 1}g=(g>>>2)+-1|0;n=a+68|0;p=a+16|0;m=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;a=a+24|0;if(i-j>>2>>>0>g>>>0){t=j;y=g}else{d=h;Fp(d)}while(1){f[w>>2]=f[t+(y<<2)>>2];f[x>>2]=f[w>>2];mb(z,x,b,y);d=X(y,e)|0;l=b+(d<<2)|0;d=c+(d<<2)|0;g=f[v>>2]|0;if((g|0)>0){k=0;i=n;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[p>>2]|0;if((g|0)>(h|0)){g=f[m>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[r>>2]|0;t=f[m>>2]|0;f[t+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=t}j=j+1|0}while((j|0)<(f[v>>2]|0));i=g}else i=f[m>>2]|0;g=(f[l+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=d+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[q>>2]|0)){if((g|0)>(f[a>>2]|0)){g=g-(f[o>>2]|0)|0;B=28}}else{g=(f[o>>2]|0)+g|0;B=28}if((B|0)==28){B=0;f[h>>2]=g}k=k+1|0;g=f[v>>2]|0}while((k|0)<(g|0))}y=y+-1|0;if((y|0)<=-1){B=13;break}g=f[s>>2]|0;t=f[g>>2]|0;if((f[g+4>>2]|0)-t>>2>>>0<=y>>>0){B=14;break}}if((B|0)==13){u=A;return 1}else if((B|0)==14)Fp(g);return 0}function Jd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=f[a>>2]|0;i=a+4|0;d=f[i>>2]|0;h=c+4|0;if((d|0)==(e|0)){g=h;d=a;j=f[h>>2]|0;h=e;f[d>>2]=j;f[g>>2]=h;h=c+8|0;e=f[i>>2]|0;d=f[h>>2]|0;f[i>>2]=d;f[h>>2]=e;h=a+8|0;a=c+12|0;i=f[h>>2]|0;e=f[a>>2]|0;f[h>>2]=e;f[a>>2]=i;a=f[g>>2]|0;f[c>>2]=a;return}g=f[h>>2]|0;do{j=d;d=d+-108|0;f[g+-108>>2]=f[d>>2];l=j+-104|0;f[g+-104>>2]=f[l>>2];k=j+-100|0;f[g+-100>>2]=f[k>>2];m=j+-96|0;f[g+-96>>2]=f[m>>2];f[l>>2]=0;f[k>>2]=0;f[m>>2]=0;m=j+-92|0;f[g+-92>>2]=f[m>>2];k=j+-88|0;f[g+-88>>2]=f[k>>2];l=j+-84|0;f[g+-84>>2]=f[l>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;b[g+-80>>0]=b[j+-80>>0]|0;l=g+-76|0;k=j+-76|0;f[l>>2]=0;m=g+-72|0;f[m>>2]=0;f[g+-68>>2]=0;f[l>>2]=f[k>>2];l=j+-72|0;f[m>>2]=f[l>>2];m=j+-68|0;f[g+-68>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;k=g+-64|0;l=j+-64|0;f[k>>2]=0;m=g+-60|0;f[m>>2]=0;f[g+-56>>2]=0;f[k>>2]=f[l>>2];k=j+-60|0;f[m>>2]=f[k>>2];m=j+-56|0;f[g+-56>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-52|0;k=j+-52|0;f[l>>2]=0;m=g+-48|0;f[m>>2]=0;f[g+-44>>2]=0;f[l>>2]=f[k>>2];l=j+-48|0;f[m>>2]=f[l>>2];m=j+-44|0;f[g+-44>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-40>>2]=f[j+-40>>2];b[g+-36>>0]=b[j+-36>>0]|0;k=g+-32|0;l=j+-32|0;f[k>>2]=0;m=g+-28|0;f[m>>2]=0;f[g+-24>>2]=0;f[k>>2]=f[l>>2];k=j+-28|0;f[m>>2]=f[k>>2];m=j+-24|0;f[g+-24>>2]=f[m>>2];f[m>>2]=0;f[k>>2]=0;f[l>>2]=0;l=g+-20|0;k=j+-20|0;f[l>>2]=0;m=g+-16|0;f[m>>2]=0;f[g+-12>>2]=0;f[l>>2]=f[k>>2];l=j+-16|0;f[m>>2]=f[l>>2];m=j+-12|0;f[g+-12>>2]=f[m>>2];f[m>>2]=0;f[l>>2]=0;f[k>>2]=0;f[g+-8>>2]=f[j+-8>>2];f[g+-4>>2]=f[j+-4>>2];g=(f[h>>2]|0)+-108|0;f[h>>2]=g}while((d|0)!=(e|0));m=h;l=a;k=g;j=f[a>>2]|0;f[l>>2]=k;f[m>>2]=j;j=c+8|0;l=f[i>>2]|0;k=f[j>>2]|0;f[i>>2]=k;f[j>>2]=l;j=a+8|0;l=c+12|0;k=f[j>>2]|0;a=f[l>>2]|0;f[j>>2]=a;f[l>>2]=k;m=f[m>>2]|0;f[c>>2]=m;return}function Kd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}v=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=v;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;g=f[e>>2]|0;if(!g)return;d=f[g+4>>2]|0;u=c+-1|0;v=(u&c|0)==0;if(!v){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&u;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[g>>2]|0;if(!e)return;t=a+24|0;h=g;i=e;e=g;a:while(1){s=h;g=i;r=e;b:while(1){e=g;while(1){g=f[e+4>>2]|0;if(!v){if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0}else g=g&u;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0))break b;h=f[e>>2]|0;c:do if(!h)h=e;else{p=f[e+8>>2]|0;n=f[t>>2]|0;o=f[n+8>>2]|0;n=(f[n+12>>2]|0)-o|0;q=n>>>2;if((n|0)>0)l=e;else while(1){i=f[h>>2]|0;if(!i)break c;else h=i}while(1){m=f[h+8>>2]|0;n=0;do{i=f[o+(n<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)k=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else k=p;if((q|0)<=(n|0)){d=37;break a}if(j)i=f[(f[i+68>>2]|0)+(m<<2)>>2]|0;else i=m;n=n+1|0;if((k|0)!=(i|0)){h=l;break c}}while((n|0)<(q|0));i=f[h>>2]|0;if(!i)break;else{l=h;h=i}}}while(0);f[r>>2]=f[h>>2];f[h>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[s>>2]|0;if(!e){d=42;break a}}g=f[e>>2]|0;if(!g){d=42;break a}else{s=e;r=e}}f[h>>2]=r;i=f[e>>2]|0;if(!i){d=42;break}else{h=e;d=g}}if((d|0)==37)ra(20748,20641,68,20738);else if((d|0)==42)return}function Ld(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+176|0;i=x+136|0;w=x+104|0;v=x;l=x+72|0;q=an(88)|0;j=f[c+8>>2]|0;f[q+4>>2]=0;f[q>>2]=3500;m=q+12|0;f[m>>2]=3524;o=q+64|0;f[o>>2]=0;f[q+68>>2]=0;f[q+72>>2]=0;g=q+16|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));f[q+76>>2]=j;f[q+80>>2]=d;r=q+84|0;f[r>>2]=0;n=q;f[w>>2]=3524;e=w+4|0;k=e+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=f[c+12>>2]|0;s=v+4|0;f[s>>2]=3524;p=v+56|0;f[p>>2]=0;t=v+60|0;f[t>>2]=0;f[v+64>>2]=0;g=v+8|0;h=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=k;f[e>>2]=g;g=((f[g+4>>2]|0)-(f[k>>2]|0)>>2>>>0)/3|0;b[i>>0]=0;Zg(w+8|0,g,i);Ra[f[(f[w>>2]|0)+8>>2]&127](w);mf(l,w);mf(i,l);f[v>>2]=f[i+4>>2];g=v+4|0;Xf(g,i)|0;f[i>>2]=3524;e=f[i+20>>2]|0;if(e|0)pq(e);e=f[i+8>>2]|0;if(e|0)pq(e);f[v+36>>2]=k;f[v+40>>2]=d;f[v+44>>2]=j;f[v+48>>2]=q;f[l>>2]=3524;e=f[l+20>>2]|0;if(e|0)pq(e);e=f[l+8>>2]|0;if(e|0)pq(e);f[r>>2]=c+72;f[q+8>>2]=f[v>>2];Xf(m,g)|0;e=q+44|0;c=v+36|0;f[e>>2]=f[c>>2];f[e+4>>2]=f[c+4>>2];f[e+8>>2]=f[c+8>>2];f[e+12>>2]=f[c+12>>2];b[e+16>>0]=b[c+16>>0]|0;_f(o,f[p>>2]|0,f[t>>2]|0);f[a>>2]=n;e=f[p>>2]|0;if(e|0){g=f[t>>2]|0;if((g|0)!=(e|0))f[t>>2]=g+(~((g+-4-e|0)>>>2)<<2);pq(e)}f[s>>2]=3524;e=f[v+24>>2]|0;if(e|0)pq(e);e=f[v+12>>2]|0;if(e|0)pq(e);f[w>>2]=3524;e=f[w+20>>2]|0;if(e|0)pq(e);e=f[w+8>>2]|0;if(!e){u=x;return}pq(e);u=x;return}function Md(a,c){a=a|0;c=c|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q+4|0;n=q;j=q+12|0;k=q+11|0;l=q+10|0;p=q+8|0;m=c+44|0;e=f[m>>2]|0;g=e+16|0;h=f[g>>2]|0;g=f[g+4>>2]|0;if(!((g|0)>0|(g|0)==0&h>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,19251,19256)|0;e=f[m>>2]|0;h=e+16|0;g=f[h+4>>2]|0;h=f[h>>2]|0}b[j>>0]=2;b[k>>0]=2;if(!((g|0)>0|(g|0)==0&h>>>0>0)?(f[n>>2]=f[e+4>>2],f[o>>2]=f[n>>2],Ke(e,o,j,j+1|0)|0,i=f[m>>2]|0,j=i+16|0,h=f[j+4>>2]|0,!((h|0)>0|(h|0)==0&(f[j>>2]|0)>>>0>0)):0){f[n>>2]=f[i+4>>2];f[o>>2]=f[n>>2];Ke(i,o,k,k+1|0)|0}e=(Ma[f[(f[c>>2]|0)+8>>2]&127](c)|0)&255;b[l>>0]=e;e=f[m>>2]|0;k=e+16|0;j=f[k+4>>2]|0;if(!((j|0)>0|(j|0)==0&(f[k>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,l,l+1|0)|0;e=f[m>>2]|0}l=Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0;b[p>>0]=l;l=e+16|0;k=f[l+4>>2]|0;if(!((k|0)>0|(k|0)==0&(f[l>>2]|0)>>>0>0)){f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,p,p+1|0)|0}d[p>>1]=(f[(f[c+4>>2]|0)+4>>2]|0)==0?0:-32768;e=f[m>>2]|0;c=e+16|0;m=f[c+4>>2]|0;if((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}f[n>>2]=f[e+4>>2];f[o>>2]=f[n>>2];Ke(e,o,p,p+2|0)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=q;return}function Nd(a,c,d){a=a|0;c=c|0;d=d|0;var e=Ka,g=0,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0;y=u;u=u+16|0;i=y;g=a+4|0;if((f[g>>2]|0)!=-1){x=0;u=y;return x|0}f[g>>2]=d;v=b[c+24>>0]|0;w=v<<24>>24;x=a+20|0;n[x>>2]=$(0.0);f[i>>2]=0;d=i+4|0;f[d>>2]=0;f[i+8>>2]=0;do if(v<<24>>24)if(v<<24>>24<0)Fp(i);else{k=w<<2;j=an(k)|0;f[i>>2]=j;l=j+(w<<2)|0;f[i+8>>2]=l;cj(j|0,0,k|0)|0;k=j+(w<<2)|0;f[d>>2]=k;break}else{j=0;k=0;l=0}while(0);t=a+8|0;d=f[t>>2]|0;i=a+12|0;if(!d)d=a+16|0;else{g=f[i>>2]|0;if((g|0)!=(d|0))f[i>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d);d=a+16|0;f[d>>2]=0;f[i>>2]=0;f[t>>2]=0}f[t>>2]=j;f[i>>2]=k;f[d>>2]=l;s=w>>>0>1073741823?-1:w<<2;r=mq(s)|0;s=mq(s)|0;m=c+48|0;o=f[m>>2]|0;p=c+40|0;l=f[p>>2]|0;q=f[c>>2]|0;Rg(s|0,(f[q>>2]|0)+o|0,l|0)|0;Rg(f[t>>2]|0,(f[q>>2]|0)+o|0,l|0)|0;l=f[m>>2]|0;m=f[m+4>>2]|0;o=f[p>>2]|0;p=f[p+4>>2]|0;q=f[c>>2]|0;Rg(r|0,(f[q>>2]|0)+l|0,o|0)|0;k=f[c+80>>2]|0;a:do if((k|0)>1){if(v<<24>>24<=0){d=1;while(1){c=$m(o|0,p|0,d|0,((d|0)<0)<<31>>31|0)|0;c=Mn(c|0,I|0,l|0,m|0)|0;Rg(s|0,(f[q>>2]|0)+c|0,o|0)|0;d=d+1|0;if((d|0)>=(k|0))break a}}i=f[t>>2]|0;j=1;do{a=$m(o|0,p|0,j|0,((j|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,l|0,m|0)|0;Rg(s|0,(f[q>>2]|0)+a|0,o|0)|0;a=0;do{g=i+(a<<2)|0;h=$(n[g>>2]);d=s+(a<<2)|0;e=$(n[d>>2]);if(h>e){n[g>>2]=e;e=$(n[d>>2])}d=r+(a<<2)|0;if($(n[d>>2])>2]=e;a=a+1|0}while((a|0)!=(w|0));j=j+1|0}while((j|0)<(k|0))}while(0);if(v<<24>>24>0){d=f[t>>2]|0;e=$(n[x>>2]);g=0;do{h=$(n[r+(g<<2)>>2]);h=$(h-$(n[d+(g<<2)>>2]));if(h>e){n[x>>2]=h;e=h}g=g+1|0}while((g|0)!=(w|0))}nq(s);nq(r);x=1;u=y;return x|0}function Od(a,b){a=+a;b=+b;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;p[s>>3]=a;c=f[s>>2]|0;k=f[s+4>>2]|0;p[s>>3]=b;l=f[s>>2]|0;m=f[s+4>>2]|0;d=An(c|0,k|0,52)|0;d=d&2047;h=An(l|0,m|0,52)|0;h=h&2047;n=k&-2147483648;j=vn(l|0,m|0,1)|0;i=I;a:do if(!((j|0)==0&(i|0)==0)?(g=Zn(b)|0,e=I&2147483647,!((d|0)==2047|(e>>>0>2146435072|(e|0)==2146435072&g>>>0>0))):0){e=vn(c|0,k|0,1)|0;g=I;if(!(g>>>0>i>>>0|(g|0)==(i|0)&e>>>0>j>>>0))return +((e|0)==(j|0)&(g|0)==(i|0)?a*0.0:a);if(!d){d=vn(c|0,k|0,12)|0;e=I;if((e|0)>-1|(e|0)==-1&d>>>0>4294967295){g=d;d=0;do{d=d+-1|0;g=vn(g|0,e|0,1)|0;e=I}while((e|0)>-1|(e|0)==-1&g>>>0>4294967295)}else d=0;c=vn(c|0,k|0,1-d|0)|0;i=I}else i=k&1048575|1048576;if(!h){e=vn(l|0,m|0,12)|0;g=I;if((g|0)>-1|(g|0)==-1&e>>>0>4294967295){h=0;do{h=h+-1|0;e=vn(e|0,g|0,1)|0;g=I}while((g|0)>-1|(g|0)==-1&e>>>0>4294967295)}else h=0;l=vn(l|0,m|0,1-h|0)|0;k=I}else k=m&1048575|1048576;j=_n(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;b:do if((d|0)>(h|0)){while(1){if(g)if((j|0)==0&(e|0)==0)break;else c=j;else e=i;c=vn(c|0,e|0,1)|0;i=I;d=d+-1|0;j=_n(c|0,i|0,l|0,k|0)|0;e=I;g=(e|0)>-1|(e|0)==-1&j>>>0>4294967295;if((d|0)<=(h|0)){h=j;break b}}b=a*0.0;break a}else h=j;while(0);if(g)if((h|0)==0&(e|0)==0){b=a*0.0;break}else c=h;else e=i;if(e>>>0<1048576|(e|0)==1048576&c>>>0<0)do{c=vn(c|0,e|0,1)|0;e=I;d=d+-1|0}while(e>>>0<1048576|(e|0)==1048576&c>>>0<0);if((d|0)>0){m=Mn(c|0,e|0,0,-1048576)|0;c=I;d=vn(d|0,0,52)|0;c=c|I;d=m|d}else{d=An(c|0,e|0,1-d|0)|0;c=I}f[s>>2]=d;f[s+4>>2]=c|n;b=+p[s>>3]}else o=3;while(0);if((o|0)==3){b=a*b;b=b/b}return +b}function Pd(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[e>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}n=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=n;if(c|0)pq(c);f[e>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;c=f[h+4>>2]|0;m=b+-1|0;n=(m&b|0)==0;if(!n){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&m;f[(f[a>>2]|0)+(c<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{j=h;g=e;i=h}a:while(1){b:do if(n){l=j;while(1){e=g;while(1){k=f[e+4>>2]&m;if((k|0)==(c|0))break;h=(f[a>>2]|0)+(k<<2)|0;if(!(f[h>>2]|0)){c=k;break b}j=e+8|0;h=e;while(1){g=f[h>>2]|0;if(!g)break;if((d[j>>1]|0)==(d[g+8>>1]|0))h=g;else break}f[i>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){c=37;break a}}g=f[e>>2]|0;if(!g){c=37;break a}else{l=e;i=e}}}else{l=j;k=i;while(1){e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=b>>>0)g=(g>>>0)%(b>>>0)|0;if((g|0)==(c|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){i=k;c=g;break b}j=e+8|0;i=e;while(1){h=f[i>>2]|0;if(!h)break;if((d[j>>1]|0)==(d[h+8>>1]|0))i=h;else break}f[k>>2]=h;f[i>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){c=37;break a}}g=f[e>>2]|0;if(!g){c=37;break a}else{l=e;k=e}}}while(0);f[h>>2]=i;g=f[e>>2]|0;if(!g){c=37;break}else{j=e;i=e}}if((c|0)==37)return}function Qd(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=a+4|0;if(!c){d=f[a>>2]|0;f[a>>2]=0;if(d|0)pq(d);f[e>>2]=0;return}if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}n=an(c<<2)|0;d=f[a>>2]|0;f[a>>2]=n;if(d|0)pq(d);f[e>>2]=c;d=0;do{f[(f[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}while((d|0)!=(c|0));e=a+8|0;h=f[e>>2]|0;if(!h)return;d=f[h+4>>2]|0;m=c+-1|0;n=(m&c|0)==0;if(!n){if(d>>>0>=c>>>0)d=(d>>>0)%(c>>>0)|0}else d=d&m;f[(f[a>>2]|0)+(d<<2)>>2]=e;e=f[h>>2]|0;if(!e)return;else{j=h;g=e;i=h}a:while(1){b:do if(n){l=j;while(1){e=g;while(1){k=f[e+4>>2]&m;if((k|0)==(d|0))break;h=(f[a>>2]|0)+(k<<2)|0;if(!(f[h>>2]|0)){d=k;break b}j=e+8|0;h=e;while(1){g=f[h>>2]|0;if(!g)break;if((b[j>>0]|0)==(b[g+8>>0]|0))h=g;else break}f[i>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(k<<2)>>2]>>2];f[f[(f[a>>2]|0)+(k<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){d=37;break a}}g=f[e>>2]|0;if(!g){d=37;break a}else{l=e;i=e}}}else{l=j;k=i;while(1){e=g;while(1){g=f[e+4>>2]|0;if(g>>>0>=c>>>0)g=(g>>>0)%(c>>>0)|0;if((g|0)==(d|0))break;h=(f[a>>2]|0)+(g<<2)|0;if(!(f[h>>2]|0)){i=k;d=g;break b}j=e+8|0;i=e;while(1){h=f[i>>2]|0;if(!h)break;if((b[j>>0]|0)==(b[h+8>>0]|0))i=h;else break}f[k>>2]=h;f[i>>2]=f[f[(f[a>>2]|0)+(g<<2)>>2]>>2];f[f[(f[a>>2]|0)+(g<<2)>>2]>>2]=e;e=f[l>>2]|0;if(!e){d=37;break a}}g=f[e>>2]|0;if(!g){d=37;break a}else{l=e;k=e}}}while(0);f[h>>2]=i;g=f[e>>2]|0;if(!g){d=37;break}else{j=e;i=e}}if((d|0)==37)return}function Rd(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=a+4|0;if(!b){c=f[a>>2]|0;f[a>>2]=0;if(c|0)pq(c);f[d>>2]=0;return}if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}m=an(b<<2)|0;c=f[a>>2]|0;f[a>>2]=m;if(c|0)pq(c);f[d>>2]=b;c=0;do{f[(f[a>>2]|0)+(c<<2)>>2]=0;c=c+1|0}while((c|0)!=(b|0));d=a+8|0;g=f[d>>2]|0;if(!g)return;c=f[g+4>>2]|0;l=b+-1|0;m=(l&b|0)==0;if(!m){if(c>>>0>=b>>>0)c=(c>>>0)%(b>>>0)|0}else c=c&l;f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[g>>2]|0;if(!d)return;else{i=g;e=d;h=g}a:while(1){b:do if(m){k=i;while(1){d=e;while(1){j=f[d+4>>2]&l;if((j|0)==(c|0))break;g=(f[a>>2]|0)+(j<<2)|0;if(!(f[g>>2]|0)){c=j;break b}i=d+8|0;g=d;while(1){e=f[g>>2]|0;if(!e)break;if((f[i>>2]|0)==(f[e+8>>2]|0))g=e;else break}f[h>>2]=e;f[g>>2]=f[f[(f[a>>2]|0)+(j<<2)>>2]>>2];f[f[(f[a>>2]|0)+(j<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;h=d}}}else{k=i;j=h;while(1){d=e;while(1){e=f[d+4>>2]|0;if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0;if((e|0)==(c|0))break;g=(f[a>>2]|0)+(e<<2)|0;if(!(f[g>>2]|0)){h=j;c=e;break b}i=d+8|0;h=d;while(1){g=f[h>>2]|0;if(!g)break;if((f[i>>2]|0)==(f[g+8>>2]|0))h=g;else break}f[j>>2]=g;f[h>>2]=f[f[(f[a>>2]|0)+(e<<2)>>2]>>2];f[f[(f[a>>2]|0)+(e<<2)>>2]>>2]=d;d=f[k>>2]|0;if(!d){c=37;break a}}e=f[d>>2]|0;if(!e){c=37;break a}else{k=d;j=d}}}while(0);f[g>>2]=h;e=f[d>>2]|0;if(!e){c=37;break}else{i=d;h=d}}if((c|0)==37)return}function Sd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;q=e>>>0>1073741823?-1:e<<2;s=mq(q)|0;cj(s|0,0,q|0)|0;q=f[a+28>>2]|0;r=a+36|0;h=f[r>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;m=f[a+32>>2]|0;p=a+8|0;n=q+12|0;o=(e|0)>0;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;l=d;t=g}else{j=h;Fp(j)}while(1){g=f[k+(t<<2)>>2]|0;k=X(t,e)|0;if((g|0)>=0?(u=f[(f[n>>2]|0)+(g<<2)>>2]|0,(u|0)>=0):0){d=f[q>>2]|0;h=f[m>>2]|0;i=f[h+(f[d+(u<<2)>>2]<<2)>>2]|0;g=u+1|0;g=((g|0)%3|0|0)==0?u+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;j=f[h+(g<<2)>>2]|0;g=(((u>>>0)%3|0|0)==0?2:-1)+u|0;if((g|0)<0)g=-1073741824;else g=f[d+(g<<2)>>2]|0;g=f[h+(g<<2)>>2]|0;if((i|0)<(t|0)&(j|0)<(t|0)&(g|0)<(t|0)){i=X(i,e)|0;h=X(j,e)|0;d=X(g,e)|0;if(o){g=0;do{f[s+(g<<2)>>2]=(f[b+(g+d<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+i<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}ai(p,b+(k<<2)|0,s,c+(k<<2)|0)}else v=15}else v=15;if((v|0)==15){v=0;ai(p,b+(k<<2)|0,b+((X(l+-2|0,e)|0)<<2)|0,c+(k<<2)|0)}if((t|0)<=1)break a;g=f[r>>2]|0;k=f[g>>2]|0;d=t+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{l=t;t=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,s,c);nq(s);return 1}cj(s|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,s,c);nq(s);return 1}function Td(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=f[c>>2]|0;l=f[b>>2]|0;b=m-l|0;o=(b|0)/12|0;if(!b)ra(8066,7796,232,8095);n=a+8|0;h=f[n>>2]|0;if((b|0)<768){if(h>>>0<=1){a=0;return a|0}c=f[e>>2]|0;g=1;b=0;do{b=(f[c+(b<<2)>>2]|0)>>>0>(f[c+(g<<2)>>2]|0)>>>0?g:b;g=g+1|0}while(g>>>0>>0);return b|0}if(h){j=f[e>>2]|0;k=f[a+1140>>2]|0;h=f[d>>2]|0;i=f[a+1128>>2]|0;if((l|0)==(m|0)){c=0;do{f[k+(c<<2)>>2]=(f[a>>2]|0)-(f[j+(c<<2)>>2]|0);b=i+(c<<2)|0;l=f[b>>2]|0;m=o-l|0;f[b>>2]=m>>>0>>0?l:m;c=c+1|0;b=f[n>>2]|0}while(c>>>0>>0)}else{d=0;do{g=(f[a>>2]|0)-(f[j+(d<<2)>>2]|0)|0;f[k+(d<<2)>>2]=g;g=(1<>2]|0)|0;e=i+(d<<2)|0;b=l;c=f[e>>2]|0;do{c=c+((f[b+(d<<2)>>2]|0)>>>0>>0&1)|0;f[e>>2]=c;b=b+12|0}while((b|0)!=(m|0));b=o-c|0;f[e>>2]=b>>>0>>0?c:b;d=d+1|0;b=f[n>>2]|0}while(d>>>0>>0)}if(b){e=f[a+1140>>2]|0;h=a+1128|0;c=0;d=0;g=0;do{if(f[e+(d<<2)>>2]|0){o=f[(f[h>>2]|0)+(d<<2)>>2]|0;n=g>>>0>>0;c=n?d:c;g=n?o:g}d=d+1|0}while(d>>>0>>0);i=c}else i=0}else i=0;d=a+1088|0;j=a+1104|0;b=f[j>>2]|0;g=32-b|0;h=a+1100|0;c=f[h>>2]|0;if((g|0)<4){e=i&15;g=4-g|0;f[j>>2]=g;g=e>>>g|c;f[h>>2]=g;c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))Gi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=e<<32-(f[j>>2]|0);a=i;return a|0}g=c|i<<28>>>b;f[h>>2]=g;o=b+4|0;f[j>>2]=o;if((o|0)!=32){a=i;return a|0}c=a+1092|0;b=f[c>>2]|0;if((b|0)==(f[a+1096>>2]|0))Gi(d,h);else{f[b>>2]=g;f[c>>2]=b+4}f[h>>2]=0;f[j>>2]=0;a=i;return a|0}function Ud(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[a>>2]|0;h=p;n=(f[b>>2]|0)-h|0;b=p+(n>>2<<2)|0;j=f[c>>2]|0;e=f[d>>2]|0;r=e-j|0;k=r>>2;c=j;q=e;if((r|0)<=0){r=b;return r|0}m=a+8|0;g=f[m>>2]|0;r=a+4|0;o=f[r>>2]|0;l=o;if((k|0)<=(g-l>>2|0)){j=b;i=l-j|0;d=i>>2;if((k|0)>(d|0)){d=c+(d<<2)|0;e=d;if((d|0)==(q|0))d=o;else{h=q+-4-e|0;g=o;while(1){f[g>>2]=f[d>>2];d=d+4|0;if((d|0)==(q|0))break;else g=g+4|0}d=o+((h>>>2)+1<<2)|0;f[r>>2]=d}if((i|0)<=0){r=b;return r|0}}else d=o;k=d-(b+(k<<2))>>2;g=b+(k<<2)|0;if(g>>>0>>0){h=(o+(0-k<<2)+~j|0)>>>2;i=d;j=g;while(1){f[i>>2]=f[j>>2];j=j+4|0;if(j>>>0>=o>>>0)break;else i=i+4|0}f[r>>2]=d+(h+1<<2)}if(k|0)do{g=g+-4|0;d=d+-4|0;f[d>>2]=f[g>>2]}while((g|0)!=(b|0));if((c|0)==(e|0)){r=b;return r|0}else d=b;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(e|0))break;else d=d+4|0}return b|0}d=(l-h>>2)+k|0;if(d>>>0>1073741823)Fp(a);g=g-h|0;i=g>>1;d=g>>2>>>0<536870911?(i>>>0>>0?d:i):1073741823;i=b;g=n>>2;do if(d)if(d>>>0>1073741823){r=sa(8)|0;to(r,20196);f[r>>2]=7152;wa(r|0,1112,107)}else{e=an(d<<2)|0;break}else e=0;while(0);k=e+(g<<2)|0;h=e+(d<<2)|0;if((c|0)==(q|0))d=k;else{e=((q+-4-j|0)>>>2)+1|0;d=k;while(1){f[d>>2]=f[c>>2];c=c+4|0;if((c|0)==(q|0))break;else d=d+4|0}d=k+(e<<2)|0}e=k+(0-g<<2)|0;if((n|0)>0)Rg(e|0,p|0,n|0)|0;c=l-i|0;if((c|0)>0){Rg(d|0,b|0,c|0)|0;b=d+(c>>>2<<2)|0}else b=d;f[a>>2]=e;f[r>>2]=b;f[m>>2]=h;if(!p){r=k;return r|0}pq(p);r=k;return r|0}function Vd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;switch(b-a>>2|0){case 2:{i=b+-4|0;g=f[i>>2]|0;h=f[a>>2]|0;d=f[c>>2]|0;c=f[d>>2]|0;e=(f[d+4>>2]|0)-c>>3;if(e>>>0<=g>>>0)Fp(d);if(e>>>0<=h>>>0)Fp(d);if((f[c+(g<<3)>>2]|0)>>>0>=(f[c+(h<<3)>>2]|0)>>>0){a=1;return a|0}f[a>>2]=g;f[i>>2]=h;a=1;return a|0}case 3:{vg(a,a+4|0,b+-4|0,c)|0;a=1;return a|0}case 4:{Sg(a,a+4|0,a+8|0,b+-4|0,c)|0;a=1;return a|0}case 5:{Nf(a,a+4|0,a+8|0,a+12|0,b+-4|0,c)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{d=a+8|0;vg(a,a+4|0,d,c)|0;e=a+12|0;a:do if((e|0)!=(b|0)){m=f[c>>2]|0;k=f[m>>2]|0;l=(f[m+4>>2]|0)-k>>3;c=0;b:while(1){j=f[e>>2]|0;g=f[d>>2]|0;if(l>>>0<=j>>>0){c=14;break}if(l>>>0<=g>>>0){c=16;break}i=k+(j<<3)|0;if((f[i>>2]|0)>>>0<(f[k+(g<<3)>>2]|0)>>>0){h=e;while(1){f[h>>2]=g;if((d|0)==(a|0)){d=a;break}h=d+-4|0;g=f[h>>2]|0;if(l>>>0<=g>>>0){c=20;break b}if((f[i>>2]|0)>>>0>=(f[k+(g<<3)>>2]|0)>>>0)break;else{p=d;d=h;h=p}}f[d>>2]=j;c=c+1|0;if((c|0)==8){n=0;o=(e+4|0)==(b|0);break a}}d=e+4|0;if((d|0)==(b|0)){n=1;o=0;break a}else{p=e;e=d;d=p}}if((c|0)==14)Fp(m);else if((c|0)==16)Fp(m);else if((c|0)==20)Fp(m)}else{n=1;o=0}while(0);p=o|n;return p|0}}return 0}function Wd(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;k=a+12|0;b=f[k>>2]|0;p=(f[b+4>>2]|0)-(f[b>>2]|0)|0;o=p>>2;if((p|0)<=0){u=r;return 1}j=a+152|0;p=a+140|0;l=a+144|0;i=a+148|0;a=0;while(1){f[m>>2]=(a>>>0)/3|0;f[n>>2]=f[m>>2];if(!(Dj(b,n)|0)?(f[(f[(f[k>>2]|0)+12>>2]|0)+(a<<2)>>2]|0)==-1073741824:0){b=a+1|0;b=((b|0)%3|0|0)==0?a+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[(f[f[k>>2]>>2]|0)+(b<<2)>>2]|0;c=f[j>>2]|0;if((f[c+(d<<2)>>2]|0)==-1){h=f[l>>2]|0;b=f[i>>2]|0;if((h|0)==(b<<5|0)){if((h+1|0)<0){q=11;break}b=b<<6;c=h+32&-32;gi(p,h>>>0<1073741823?(b>>>0>>0?c:b):2147483647);b=f[l>>2]|0;c=f[j>>2]|0}else b=h;f[l>>2]=b+1;g=(f[p>>2]|0)+(b>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(b&31));b=c+(d<<2)|0;if((f[b>>2]|0)==-1){d=a;while(1){f[b>>2]=h;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;a:do if((b|0)>=0){g=f[k>>2]|0;e=f[g+12>>2]|0;while(1){d=f[e+(b<<2)>>2]|0;if((d|0)==-1073741824)break;b=d+1|0;if((d|0)<0)b=d;else b=((b|0)%3|0|0)==0?d+-2|0:b;if((b|0)<0){q=18;break a}}d=b+1|0;d=((d|0)%3|0|0)==0?b+-2|0:d;if((d|0)<0){d=-1073741824;e=b}else{d=f[(f[g>>2]|0)+(d<<2)>>2]|0;e=b}}else q=18;while(0);if((q|0)==18){q=0;b=(b|0)==-1073741824;do{}while(!b);d=-1073741824;e=-1073741824}b=c+(d<<2)|0;if((f[b>>2]|0)!=-1)break;else d=e}}}}a=a+1|0;if((a|0)>=(o|0)){q=3;break}b=f[k>>2]|0}if((q|0)==3){u=r;return 1}else if((q|0)==11)Fp(p);return 0}function Xd(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,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;r=e>>>0>1073741823?-1:e<<2;t=mq(r)|0;cj(t|0,0,r|0)|0;r=f[a+28>>2]|0;s=a+36|0;h=f[s>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;g=i-j|0;a:do if((g|0)>4){d=g>>2;m=f[a+32>>2]|0;q=a+8|0;p=r+64|0;n=r+28|0;o=(e|0)>0;g=d+-1|0;if(i-j>>2>>>0>g>>>0){k=j;l=d;x=g}else{j=h;Fp(j)}while(1){g=f[k+(x<<2)>>2]|0;j=X(x,e)|0;if((!((g|0)<0?1:(1<<(g&31)&f[(f[r>>2]|0)+(g>>>5<<2)>>2]|0)!=0)?(y=f[(f[(f[p>>2]|0)+12>>2]|0)+(g<<2)>>2]|0,(y|0)>=0):0)?(w=f[n>>2]|0,k=f[m>>2]|0,u=f[k+(f[w+(y<<2)>>2]<<2)>>2]|0,v=y+1|0,v=f[k+(f[w+((((v|0)%3|0|0)==0?y+-2|0:v)<<2)>>2]<<2)>>2]|0,w=f[k+(f[w+((((y>>>0)%3|0|0)==0?2:-1)+y<<2)>>2]<<2)>>2]|0,(u|0)<(x|0)&(v|0)<(x|0)&(w|0)<(x|0)):0){d=X(u,e)|0;h=X(v,e)|0;i=X(w,e)|0;if(o){g=0;do{f[t+(g<<2)>>2]=(f[b+(g+i<<2)>>2]|0)+(f[b+(g+h<<2)>>2]|0)-(f[b+(g+d<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}ai(q,b+(j<<2)|0,t,c+(j<<2)|0)}else ai(q,b+(j<<2)|0,b+((X(l+-2|0,e)|0)<<2)|0,c+(j<<2)|0);if((x|0)<=1)break a;g=f[s>>2]|0;k=f[g>>2]|0;d=x+-1|0;if((f[g+4>>2]|0)-k>>2>>>0<=d>>>0)break;else{l=x;x=d}}Fp(g)}while(0);if((e|0)<=0){a=a+8|0;ai(a,b,t,c);nq(t);return 1}cj(t|0,0,e<<2|0)|0;a=a+8|0;ai(a,b,t,c);nq(t);return 1}function Yd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Oc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function Zd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Pc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function _d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Qc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function $d(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Sc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ae(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Rc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=4194304;if(g){d=4194304;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<20)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ef(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function be(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Tc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=2097152;if(g){d=2097152;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<19)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Ff(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ce(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Uc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=1048576;if(g){d=1048576;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<18)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Gf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function de(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Vc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=262144;if(g){d=262144;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<16)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Hf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ee(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Wc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=131072;if(g){d=131072;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<15)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}If(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function fe(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Xc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=32768;if(g){d=32768;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<13)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}Mf(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ge(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Yc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function he(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;Zc(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ie(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;_c(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function je(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;$c(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;ad(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;bd(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function me(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;cd(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function ne(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=u;u=u+64|0;p=r+48|0;o=r;d=f[d>>2]|0;g=d+1|0;f[p>>2]=0;q=p+4|0;f[q>>2]=0;f[p+8>>2]=0;do if(g)if(g>>>0>536870911)Fp(p);else{i=an(g<<3)|0;f[p>>2]=i;h=i+(g<<3)|0;f[p+8>>2]=h;cj(i|0,0,(d<<3)+8|0)|0;f[q>>2]=h;break}else{h=0;i=0}while(0);g=(c|0)>0;if(g){d=0;do{n=i+(f[a+(d<<2)>>2]<<3)|0;m=n;m=Mn(f[m>>2]|0,f[m+4>>2]|0,1,0)|0;f[n>>2]=m;f[n+4>>2]=I;d=d+1|0}while((d|0)!=(c|0))}m=o+40|0;n=m;f[n>>2]=0;f[n+4>>2]=0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;f[o+12>>2]=0;f[o+16>>2]=0;f[o+20>>2]=0;dd(o,i,h-i>>3,e)|0;n=o+16|0;n=vn(f[n>>2]|0,f[n+4>>2]|0,1)|0;l=(f[e+4>>2]|0)-(f[e>>2]|0)|0;k=m;f[k>>2]=l;f[k+4>>2]=0;n=Mn(n|0,I|0,39,0)|0;n=An(n|0,I|0,3)|0;n=Mn(n|0,I|0,8,0)|0;l=Mn(n|0,I|0,l|0,0)|0;pl(e,l,I);l=o+24|0;f[l>>2]=(f[e>>2]|0)+(f[m>>2]|0);m=o+28|0;f[m>>2]=0;n=o+32|0;f[n>>2]=16384;if(g){d=16384;do{k=c;c=c+-1|0;h=f[a+(c<<2)>>2]|0;i=f[o>>2]|0;j=f[i+(h<<3)>>2]|0;g=j<<10;if(d>>>0>=g>>>0)do{t=f[l>>2]|0;s=f[m>>2]|0;f[m>>2]=s+1;b[t+s>>0]=d;d=(f[n>>2]|0)>>>8;f[n>>2]=d}while(d>>>0>=g>>>0);d=(((d>>>0)/(j>>>0)|0)<<12)+((d>>>0)%(j>>>0)|0)+(f[i+(h<<3)+4>>2]|0)|0;f[n>>2]=d}while((k|0)>1)}qg(o,e);h=f[o>>2]|0;if(h|0){g=o+4|0;d=f[g>>2]|0;if((d|0)!=(h|0))f[g>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(h)}d=f[p>>2]|0;if(!d){u=r;return 1}g=f[q>>2]|0;if((g|0)!=(d|0))f[q>>2]=g+(~((g+-8-d|0)>>>3)<<3);pq(d);u=r;return 1}function oe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=u;u=u+16|0;p=t+4|0;q=t;s=t+8|0;r=a+4|0;o=a+8|0;Rh((f[o>>2]|0)-(f[r>>2]|0)>>2,c)|0;d=f[r>>2]|0;if((f[o>>2]|0)==(d|0)){u=t;return 1}n=a+32|0;m=c+16|0;h=c+4|0;i=s+1|0;j=s+1|0;l=s+1|0;k=s+1|0;a=d;g=0;while(1){a=f[a+(g<<2)>>2]|0;d=f[n>>2]|0;if((a|0)<=-1){a=5;break}e=f[d+8>>2]|0;if(((f[d+12>>2]|0)-e>>2|0)<=(a|0)){a=7;break}e=f[e+(a<<2)>>2]|0;b[s>>0]=f[e+56>>2];a=m;d=f[a>>2]|0;a=f[a+4>>2]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,k)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=f[e+28>>2];if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,l)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+24>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,j)|0;d=m;a=f[d+4>>2]|0;d=f[d>>2]|0}b[s>>0]=b[e+32>>0]|0;if(!((a|0)>0|(a|0)==0&d>>>0>0)){f[q>>2]=f[h>>2];f[p>>2]=f[q>>2];Ke(c,p,s,i)|0}Rh(f[e+60>>2]|0,c)|0;g=g+1|0;a=f[r>>2]|0;if(g>>>0>=(f[o>>2]|0)-a>>2>>>0){a=3;break}}if((a|0)==3){u=t;return 1}else if((a|0)==5)ra(20625,20641,59,20738);else if((a|0)==7)ra(20748,20641,60,20738);return 0}function pe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+60|0;Rh(f[g>>2]|0,b)|0;cn(k);Uk(k);c=f[a+56>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;qj(k);u=m;return 1}function qe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;i=m+40|0;j=m+36|0;l=m+32|0;k=m;g=a+80|0;Rh(f[g>>2]|0,b)|0;cn(k);Uk(k);c=f[a+76>>2]|0;g=f[g>>2]|0;e=g>>>5;h=c+(e<<2)|0;g=g&31;d=(e|0)!=0;a:do if(e|g|0){if(!g){e=d;d=1;while(1){if(e){g=0;while(1){e=(f[c>>2]&1<>2]&1<>2]&1<>2]&1<>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,l,l+4|0)|0;qj(k);u=m;return 1}function re(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+32|0;n=p+8|0;o=p;m=c+4|0;i=f[(f[m>>2]|0)+48>>2]|0;l=c+12|0;h=f[l>>2]|0;d=an(32)|0;f[n>>2]=d;f[n+8>>2]=-2147483616;f[n+4>>2]=17;c=d;e=17860;g=c+17|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[d+17>>0]=0;g=i+16|0;c=f[g>>2]|0;if(c){d=g;a:while(1){e=c;while(1){if((f[e+16>>2]|0)>=(h|0))break;c=f[e+4>>2]|0;if(!c)break a;else e=c}c=f[e>>2]|0;if(!c){d=e;break}else d=e}if(((d|0)!=(g|0)?(h|0)>=(f[d+16>>2]|0):0)?(j=d+20|0,(Oh(j,n)|0)!=0):0)d=Bk(j,n,-1)|0;else k=10}else k=10;if((k|0)==10)d=Bk(i,n,-1)|0;if((b[n+11>>0]|0)<0)pq(f[n>>2]|0);d=(1<>2]=-1;f[n+4>>2]=-1;f[n+8>>2]=-1;f[n+12>>2]=-1;if(((d|0)%2|0|0)!=1)ra(11651,11684,68,11850);c=(_(d|0)|0)^31;d=c+1|0;if(!c)ra(11874,11885,60,12006);if(d>>>0>=31)ra(12026,11885,61,12006);f[n>>2]=d;k=2<>2]=k+-1;k=k+-2|0;f[n+8>>2]=k;f[n+12>>2]=(k|0)/2|0;switch(ki(f[l>>2]|0,f[m>>2]|0)|0){case 6:{ah(o,6,f[l>>2]|0,f[m>>2]|0,n);f[a>>2]=f[o>>2];u=p;return}case 0:{ah(o,0,f[l>>2]|0,f[m>>2]|0,n);f[a>>2]=f[o>>2];u=p;return}default:ra(12038,12044,69,12176)}}function se(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;i=l+4|0;j=l;e=l+9|0;k=l+8|0;c=f[(f[a+184>>2]|0)+(c<<2)>>2]&255;b[e>>0]=c;g=a+4|0;d=f[(f[g>>2]|0)+44>>2]|0;m=d+16|0;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[j>>2]=f[d+4>>2];f[i>>2]=f[j>>2];Ke(d,i,e,e+1|0)|0;c=b[e>>0]|0}a:do if(c<<24>>24>-1){d=a+172|0;n=f[(f[d>>2]|0)+((c<<24>>24)*108|0)>>2]|0;m=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;e=b[e>>0]|0;c=f[d>>2]|0;d=f[c+(e*108|0)+104>>2]|0;switch(f[(f[(f[m>>2]|0)+84>>2]|0)+(n<<2)>>2]|0){case 0:{h=7;break a}case 1:{if(b[c+(e*108|0)+28>>0]|0){h=7;break a}break}default:{}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=1;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,k,k+1|0)|0}}else{d=f[a+68>>2]|0;h=7}while(0);if((h|0)==7){c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=0;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,k,k+1|0)|0}}c=f[(f[g>>2]|0)+44>>2]|0;b[k>>0]=d;n=c+16|0;m=f[n+4>>2]|0;if((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0){u=l;return 1}f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,k,k+1|0)|0;u=l;return 1}function te(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=Ka,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=Ka,B=Ka;y=u;u=u+16|0;x=y;h=c+4|0;if((f[h>>2]|0)==-1)ra(7389,7406,113,7524);q=e+4|0;j=b[d+24>>0]|0;w=j<<24>>24;ui(a,c,(f[q>>2]|0)-(f[e>>2]|0)>>2,w,g,d);o=f[a>>2]|0;o=(f[f[o>>2]>>2]|0)+(f[o+48>>2]|0)|0;v=f[h>>2]|0;cp(x);po(x,$(n[c+20>>2]),(1<>>0>1073741823?-1:w<<2)|0;g=f[q>>2]|0;a=f[e>>2]|0;q=a;if((g|0)==(a|0)){nq(v);u=y;return}r=d+68|0;s=d+48|0;t=d+40|0;k=c+8|0;l=x+4|0;p=(b[d+84>>0]|0)==0;m=g-a>>2;if(j<<24>>24>0){e=0;c=0}else{g=0;do{a=f[q+(g<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;w=s;o=f[w>>2]|0;w=f[w+4>>2]|0;l=t;x=f[l>>2]|0;l=$m(x|0,f[l+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;w=Mn(l|0,I|0,o|0,w|0)|0;Rg(v|0,(f[f[d>>2]>>2]|0)+w|0,x|0)|0;g=g+1|0}while(g>>>0>>0);nq(v);u=y;return}while(1){a=f[q+(c<<2)>>2]|0;if(p)a=f[(f[r>>2]|0)+(a<<2)>>2]|0;h=s;j=f[h>>2]|0;h=f[h+4>>2]|0;z=t;g=f[z>>2]|0;a=$m(g|0,f[z+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,j|0,h|0)|0;Rg(v|0,(f[f[d>>2]>>2]|0)+a|0,g|0)|0;a=f[k>>2]|0;i=$(n[x>>2]);g=0;h=e;while(1){A=$(n[v+(g<<2)>>2]);A=$(A-$(n[a+(g<<2)>>2]));j=A<$(0.0);B=$(-A);A=$((j?B:A)/i);z=~~$(J($($($(f[l>>2]|0)*A)+$(.5))));f[o+(h<<2)>>2]=j?0-z|0:z;g=g+1|0;if((g|0)==(w|0))break;else h=h+1|0}c=c+1|0;if(c>>>0>=m>>>0)break;else e=w+e|0}nq(v);u=y;return}function ue(a,b){a=a|0;b=b|0;var c=0,d=Ka,e=Ka,g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka;m=f[b>>2]|0;j=a+4|0;i=f[j>>2]|0;k=(i|0)==0;a:do if(!k){g=i+-1|0;c=(g&i|0)==0;if(!c)if(m>>>0>>0)h=m;else h=(m>>>0)%(i>>>0)|0;else h=g&m;b=f[(f[a>>2]|0)+(h<<2)>>2]|0;if(!b)b=h;else{if(c){do{b=f[b>>2]|0;if(!b){b=h;break a}l=f[b+4>>2]|0;if(!((l|0)==(m|0)|(l&g|0)==(h|0))){b=h;break a}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}do{b=f[b>>2]|0;if(!b){b=h;break a}c=f[b+4>>2]|0;if((c|0)!=(m|0)){if(c>>>0>=i>>>0)c=(c>>>0)%(i>>>0)|0;if((c|0)!=(h|0)){b=h;break a}}}while((f[b+8>>2]|0)!=(m|0));a=b+12|0;return a|0}}else b=0;while(0);l=an(16)|0;f[l+8>>2]=m;f[l+12>>2]=0;f[l+4>>2]=m;f[l>>2]=0;h=a+12|0;e=$(((f[h>>2]|0)+1|0)>>>0);p=$(i>>>0);d=$(n[a+16>>2]);do if(k|e>$(p*d)){b=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(e/d)))>>>0;vi(a,b>>>0>>0?c:b);b=f[j>>2]|0;c=b+-1|0;if(!(c&b)){g=b;b=c&m;break}if(m>>>0>>0){g=b;b=m}else{g=b;b=(m>>>0)%(b>>>0)|0}}else g=i;while(0);c=(f[a>>2]|0)+(b<<2)|0;b=f[c>>2]|0;if(!b){b=a+8|0;f[l>>2]=f[b>>2];f[b>>2]=l;f[c>>2]=b;b=f[l>>2]|0;if(b|0){b=f[b+4>>2]|0;c=g+-1|0;if(c&g){if(b>>>0>=g>>>0)b=(b>>>0)%(g>>>0)|0}else b=b&c;b=(f[a>>2]|0)+(b<<2)|0;o=30}}else{f[l>>2]=f[b>>2];o=30}if((o|0)==30)f[b>>2]=l;f[h>>2]=(f[h>>2]|0)+1;a=l;a=a+12|0;return a|0}function ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=f[b>>2]|0;k=f[b+4>>2]|0;n=((f[c>>2]|0)-p<<3)+(f[c+4>>2]|0)-k|0;c=p;if((n|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!k){l=d+4|0;e=f[l>>2]|0;g=n}else{i=32-k|0;m=(n|0)<(i|0)?n:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;e=f[l>>2]|0;j=32-e|0;g=j>>>0>>0?j:m;h=f[d>>2]|0;e=f[h>>2]&~(-1>>>(j-g|0)&-1<>2]=e;j=f[l>>2]|0;f[h>>2]=(j>>>0>k>>>0?i<>>(k-j|0))|e;e=(f[l>>2]|0)+g|0;h=h+(e>>>5<<2)|0;f[d>>2]=h;e=e&31;f[l>>2]=e;j=m-g|0;if((j|0)>0){f[h>>2]=i>>>(k+g|0)|f[h>>2]&~(-1>>>(32-j|0));f[l>>2]=j;e=j}c=c+4|0;f[b>>2]=c;g=n-m|0}p=32-e|0;o=-1<31){n=~o;m=f[d>>2]|0;j=g+-32|0;h=j>>>5;i=h+1|0;h=j-(h<<5)|0;j=f[m>>2]|0;k=m;e=g;g=c;while(1){q=f[g>>2]|0;r=j&n;f[k>>2]=r;f[k>>2]=q<>2]|r;k=k+4|0;j=f[k>>2]&o|q>>>p;f[k>>2]=j;e=e+-32|0;if((e|0)<=31)break;else g=g+4|0}c=c+(i<<2)|0;f[b>>2]=c;f[d>>2]=m+(i<<2)}else h=g;if((h|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}i=f[c>>2]&-1>>>(32-h|0);g=(p|0)<(h|0)?p:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(p-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;q=l;r=f[d>>2]|0;f[a>>2]=r;r=a+4|0;q=f[q>>2]|0;f[r>>2]=q;return}function we(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;m=r+4|0;l=r;f[a+64>>2]=b;q=a+128|0;f[q>>2]=2;p=a+132|0;f[p>>2]=7;g=Ma[f[(f[b>>2]|0)+32>>2]&127](b)|0;n=a+88|0;f[n>>2]=g;k=a+104|0;g=(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2;j=a+108|0;b=f[j>>2]|0;c=f[k>>2]|0;h=b-c>>2;d=c;e=b;if(g>>>0<=h>>>0){if(g>>>0>>0?(i=d+(g<<2)|0,(e|0)!=(i|0)):0){b=e+(~((e+-4-i|0)>>>2)<<2)|0;f[j>>2]=b}}else{qi(k,g-h|0);c=f[k>>2]|0;b=f[j>>2]|0}if((b-c|0)>0){b=0;do{h=f[n>>2]|0;f[l>>2]=b;f[m>>2]=f[l>>2];h=Uh(h,m)|0;i=f[k>>2]|0;f[i+(b<<2)>>2]=h;b=b+1|0}while((b|0)<((f[j>>2]|0)-i>>2|0))}j=a+92|0;d=f[n>>2]|0;b=f[d>>2]|0;i=(f[d+4>>2]|0)-b>>2;g=a+96|0;e=f[g>>2]|0;c=f[j>>2]|0;h=e-c>>2;if(i>>>0<=h>>>0){if(i>>>0>>0?(o=c+(i<<2)|0,(e|0)!=(o|0)):0)f[g>>2]=e+(~((e+-4-o|0)>>>2)<<2)}else{qi(j,i-h|0);b=f[n>>2]|0;d=b;b=f[b>>2]|0}c=f[d+4>>2]|0;if((c-b|0)>0){b=0;do{o=f[d>>2]|0;f[(f[j>>2]|0)+(b<<2)>>2]=f[o+(b<<2)>>2];b=b+1|0}while((b|0)<(c-o>>2|0))}e=(f[p>>2]|0)-(f[q>>2]|0)+1|0;g=a+136|0;h=a+140|0;b=f[h>>2]|0;c=f[g>>2]|0;d=(b-c|0)/12|0;if(e>>>0>d>>>0){Lf(g,e-d|0);u=r;return 1}if(e>>>0>=d>>>0){u=r;return 1}e=c+(e*12|0)|0;if((b|0)==(e|0)){u=r;return 1}do{c=b+-12|0;f[h>>2]=c;d=f[c>>2]|0;if(!d)b=c;else{c=b+-8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);b=f[h>>2]|0}}while((b|0)!=(e|0));u=r;return 1}function xe(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;j=k;g=f[a+8>>2]|0;e=a+4|0;d=f[e>>2]|0;if(((g-d|0)/108|0)>>>0>=c>>>0){do{f[d>>2]=-1;am(d+4|0);b[d+72>>0]=1;j=d+76|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;f[j+16>>2]=0;f[j+20>>2]=0;f[j+24>>2]=0;d=(f[e>>2]|0)+108|0;f[e>>2]=d;c=c+-1|0}while((c|0)!=0);u=k;return}e=f[a>>2]|0;h=(d-e|0)/108|0;d=h+c|0;if(d>>>0>39768215)Fp(a);g=(g-e|0)/108|0;i=g<<1;d=g>>>0<19884107?(i>>>0>>0?d:i):39768215;f[j+12>>2]=0;f[j+16>>2]=a+8;do if(d)if(d>>>0>39768215){k=sa(8)|0;to(k,20196);f[k>>2]=7152;wa(k|0,1112,107)}else{e=an(d*108|0)|0;break}else e=0;while(0);f[j>>2]=e;h=e+(h*108|0)|0;i=j+8|0;f[i>>2]=h;g=j+4|0;f[g>>2]=h;f[j+12>>2]=e+(d*108|0);d=h;do{f[d>>2]=-1;am(d+4|0);b[d+72>>0]=1;h=d+76|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;f[h+24>>2]=0;d=(f[i>>2]|0)+108|0;f[i>>2]=d;c=c+-1|0}while((c|0)!=0);Jd(a,j);h=f[g>>2]|0;c=f[i>>2]|0;if((c|0)!=(h|0))do{f[i>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}yj(c+-104|0);c=f[i>>2]|0}while((c|0)!=(h|0));c=f[j>>2]|0;if(c|0)pq(c);u=k;return}function ye(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;l=n;j=f[(f[c+4>>2]|0)+(d<<2)>>2]|0;e=f[c+28>>2]|0;d=f[e+4>>2]|0;if((j|0)<=-1)ra(20625,20641,59,20738);c=f[d+8>>2]|0;if(((f[d+12>>2]|0)-c>>2|0)<=(j|0))ra(20748,20641,60,20738);i=f[c+(j<<2)>>2]|0;switch(f[i+28>>2]|0){case 5:case 6:case 3:case 4:case 1:case 2:{m=an(40)|0;$n(m);f[a>>2]=m;u=n;return}case 9:{m=7;break}default:{}}if((m|0)==7){h=f[e+48>>2]|0;d=an(32)|0;f[l>>2]=d;f[l+8>>2]=-2147483616;f[l+4>>2]=17;e=d;c=17860;g=e+17|0;do{b[e>>0]=b[c>>0]|0;e=e+1|0;c=c+1|0}while((e|0)<(g|0));b[d+17>>0]=0;g=h+16|0;c=f[g>>2]|0;if(c){d=g;a:while(1){e=c;while(1){if((f[e+16>>2]|0)>=(j|0))break;c=f[e+4>>2]|0;if(!c)break a;else e=c}c=f[e>>2]|0;if(!c){d=e;break}else d=e}if(((d|0)!=(g|0)?(j|0)>=(f[d+16>>2]|0):0)?(k=d+20|0,(Oh(k,l)|0)!=0):0)d=Bk(k,l,-1)|0;else m=16}else m=16;if((m|0)==16)d=Bk(h,l,-1)|0;if((b[l+11>>0]|0)<0)pq(f[l>>2]|0);if((d|0)>0)if((f[i+56>>2]|0)==1){d=an(48)|0;e=d;g=e+48|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));$n(d);f[d>>2]=2384;f[d+40>>2]=1168;f[d+44>>2]=-1;m=d;f[a>>2]=m;u=n;return}else{m=an(64)|0;rm(m);f[a>>2]=m;u=n;return}}m=an(36)|0;tm(m);f[a>>2]=m;u=n;return}function ze(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=f[b>>2]|0;k=b+4|0;e=f[k>>2]|0;h=((f[c>>2]|0)-m<<3)+(f[c+4>>2]|0)-e|0;c=m;if((h|0)<=0){b=d+4|0;d=f[d>>2]|0;f[a>>2]=d;a=a+4|0;d=f[b>>2]|0;f[a>>2]=d;return}if(!e){l=d+4|0;e=f[l>>2]|0}else{i=32-e|0;m=(h|0)<(i|0)?h:i;i=-1>>>(i-m|0)&-1<>2];l=d+4|0;c=f[l>>2]|0;j=32-c|0;e=j>>>0>>0?j:m;g=f[d>>2]|0;c=f[g>>2]&~(-1>>>(j-e|0)&-1<>2]=c;j=f[l>>2]|0;n=f[k>>2]|0;f[g>>2]=(j>>>0>n>>>0?i<>>(n-j|0))|c;c=(f[l>>2]|0)+e|0;g=g+(c>>>5<<2)|0;f[d>>2]=g;c=c&31;f[l>>2]=c;j=m-e|0;if((j|0)>0){c=f[g>>2]&~(-1>>>(32-j|0));f[g>>2]=c;f[g>>2]=i>>>((f[k>>2]|0)+e|0)|c;f[l>>2]=j;c=j}n=(f[b>>2]|0)+4|0;f[b>>2]=n;e=c;c=n;h=h-m|0}j=32-e|0;i=-1<31){g=~i;e=h;do{m=f[c>>2]|0;n=f[d>>2]|0;k=f[n>>2]&g;f[n>>2]=k;f[n>>2]=m<>2]|k;n=n+4|0;f[d>>2]=n;f[n>>2]=f[n>>2]&i|m>>>j;e=e+-32|0;c=(f[b>>2]|0)+4|0;f[b>>2]=c}while((e|0)>31);h=h&31}if((h|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}i=f[c>>2]&-1>>>(32-h|0);g=(j|0)<(h|0)?j:h;e=f[d>>2]|0;c=f[e>>2]&~(-1<>2]&-1>>>(j-g|0));f[e>>2]=c;f[e>>2]=c|i<>2];c=(f[l>>2]|0)+g|0;e=e+(c>>>5<<2)|0;f[d>>2]=e;f[l>>2]=c&31;c=h-g|0;if((c|0)<=0){b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}f[e>>2]=f[e>>2]&~(-1>>>(32-c|0))|i>>>g;f[l>>2]=c;b=l;n=f[d>>2]|0;f[a>>2]=n;n=a+4|0;a=f[b>>2]|0;f[n>>2]=a;return}function Ae(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;h=l+36|0;k=l+24|0;i=l+12|0;j=l;if(!c){m=0;u=l;return m|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;m=7}}else{m=g+16&-16;a=an(m)|0;f[h>>2]=a;f[h+8>>2]=m|-2147483648;f[h+4>>2]=g;m=7}if((m|0)==7)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=Vj(e)|0;if(g>>>0>4294967279)Fp(k);if(g>>>0<11){b[k+11>>0]=g;if(!g)a=k;else{a=k;m=13}}else{m=g+16&-16;a=an(m)|0;f[k>>2]=a;f[k+8>>2]=m|-2147483648;f[k+4>>2]=g;m=13}if((m|0)==13)Rg(a|0,e|0,g|0)|0;b[a+g>>0]=0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(i);if(g>>>0<11){b[i+11>>0]=g;if(!g)a=i;else{a=i;m=19}}else{m=g+16&-16;a=an(m)|0;f[i>>2]=a;f[i+8>>2]=m|-2147483648;f[i+4>>2]=g;m=19}if((m|0)==19)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;g=Vj(e)|0;if(g>>>0>4294967279)Fp(j);if(g>>>0<11){b[j+11>>0]=g;if(!g)a=j;else{a=j;m=25}}else{m=g+16&-16;a=an(m)|0;f[j>>2]=a;f[j+8>>2]=m|-2147483648;f[j+4>>2]=g;m=25}if((m|0)==25)Rg(a|0,e|0,g|0)|0;b[a+g>>0]=0;Vm(c,i,j);if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);m=1;u=l;return m|0}function Be(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+32|0;p=r+16|0;n=r+12|0;m=r+8|0;o=r+4|0;q=r;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;e=a+24|0;Qo(e);if((a|0)!=(b|0)){f[m>>2]=f[b>>2];f[o>>2]=b+4;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(a,n,p)}d=b+24|0;if((e|0)!=(d|0)){f[m>>2]=f[d>>2];f[o>>2]=b+28;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(e,n,p)}f[q>>2]=0;l=c+8|0;k=c+12|0;d=f[k>>2]|0;e=f[l>>2]|0;if((d-e|0)<=0){u=r;return}j=b+16|0;c=0;while(1){if((c|0)<=-1){d=9;break}i=f[(f[e+(c<<2)>>2]|0)+56>>2]|0;b=f[j>>2]|0;if(b){h=j;g=b;a:while(1){b=g;while(1){if((f[b+16>>2]|0)>=(i|0))break;b=f[b+4>>2]|0;if(!b){b=h;break a}}g=f[b>>2]|0;if(!g)break;else h=b}if((b|0)!=(j|0)?(i|0)>=(f[b+16>>2]|0):0){e=b+20|0;d=Dd(a,q)|0;if((d|0)!=(e|0)){f[m>>2]=f[e>>2];f[o>>2]=b+24;f[n>>2]=f[m>>2];f[p>>2]=f[o>>2];Kc(d,n,p)}c=f[q>>2]|0;e=f[l>>2]|0;d=f[k>>2]|0}}c=c+1|0;f[q>>2]=c;if((c|0)>=(d-e>>2|0)){d=7;break}}if((d|0)==7){u=r;return}else if((d|0)==9)ra(20625,20641,59,20738)}function Ce(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;t=u;u=u+16|0;n=t+4|0;o=t;r=t+8|0;q=a+12|0;Rh(f[q>>2]|0,c)|0;if(!(f[q>>2]|0)){s=1;u=t;return s|0}p=c+16|0;j=c+4|0;k=r+1|0;l=r+1|0;m=r+1|0;d=0;while(1){i=f[a>>2]|0;h=f[i+(d<<3)>>2]|0;if(h>>>0>63)if(h>>>0>16383)if(h>>>0>4194303){d=0;s=20;break}else{g=2;s=13}else{g=1;s=13}else if(!h){g=d+1|0;e=0;do{if(f[i+(g+e<<3)>>2]|0)break;e=e+1|0}while(e>>>0<63);b[r>>0]=e<<2|3;i=p;h=f[i+4>>2]|0;if(!((h|0)>0|(h|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ke(c,n,r,m)|0}d=e+d|0}else{g=0;s=13}if((s|0)==13){s=0;b[r>>0]=g|h<<2;i=p;e=f[i+4>>2]|0;if(!((e|0)>0|(e|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ke(c,n,r,l)|0}if(g){e=0;do{e=e+1|0;b[r>>0]=h>>>((e<<3)+-2|0);i=p;v=f[i+4>>2]|0;if(!((v|0)>0|(v|0)==0&(f[i>>2]|0)>>>0>0)){f[o>>2]=f[j>>2];f[n>>2]=f[o>>2];Ke(c,n,r,k)|0}}while((e|0)<(g|0))}}d=d+1|0;if(d>>>0>=(f[q>>2]|0)>>>0){d=1;s=20;break}}if((s|0)==20){u=t;return d|0}return 0}function De(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+32|0;o=p+8|0;j=p;n=a+4|0;g=f[n>>2]|0;if(g>>>0>=b>>>0){f[n>>2]=b;u=p;return}m=a+8|0;e=f[m>>2]|0;h=e<<5;d=b-g|0;if(h>>>0>>0|g>>>0>(h-d|0)>>>0){f[o>>2]=0;l=o+4|0;f[l>>2]=0;k=o+8|0;f[k>>2]=0;if((b|0)<0)Fp(a);e=e<<6;b=b+31&-32;gi(o,h>>>0<1073741823?(e>>>0>>0?b:e):2147483647);b=f[n>>2]|0;f[l>>2]=b+d;e=f[a>>2]|0;h=e;g=f[o>>2]|0;b=(h+(b>>>5<<2)-e<<3)+(b&31)|0;if((b|0)>0){i=b>>>5;bm(g|0,e|0,i<<2|0)|0;e=b-(i<<5)|0;b=g+(i<<2)|0;g=b;if((e|0)>0){q=-1>>>(32-e|0);f[b>>2]=f[b>>2]&~q|f[h+(i<<2)>>2]&q}else e=0}else e=0;f[j>>2]=g;f[j+4>>2]=e;b=j;e=f[b>>2]|0;b=f[b+4>>2]|0;g=f[a>>2]|0;f[a>>2]=f[o>>2];f[o>>2]=g;q=f[n>>2]|0;f[n>>2]=f[l>>2];f[l>>2]=q;q=f[m>>2]|0;f[m>>2]=f[k>>2];f[k>>2]=q;if(g|0)pq(g)}else{e=(f[a>>2]|0)+(g>>>5<<2)|0;f[n>>2]=b;b=g&31}if(!d){u=p;return}h=(b|0)==0;g=e;if(c){if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]|-1>>>(e-q|0)&-1<>>5;cj(e|0,-1,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]|-1>>>(32-e|0);u=p;return}else{if(!h){e=32-b|0;q=e>>>0>d>>>0?d:e;f[g>>2]=f[g>>2]&~(-1>>>(e-q|0)&-1<>>5;cj(e|0,0,q<<2|0)|0;e=d-(q<<5)|0;d=g+(q<<2)|0;if(!e){u=p;return}f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));u=p;return}}function Ee(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;l=n;h=a+4|0;d=f[h>>2]|0;e=f[(f[a>>2]|0)+52>>2]|0;if(!d){if(!(Oa[e&31](a,c,0)|0)){m=0;u=n;return m|0}}else if(!(Oa[e&31](a,c,f[(f[d+4>>2]|0)+80>>2]|0)|0)){m=0;u=n;return m|0}if(!(b[a+28>>0]|0)){m=1;u=n;return m|0}j=f[a+8>>2]|0;i=f[a+32>>2]|0;d=f[j+80>>2]|0;f[l>>2]=0;k=l+4|0;f[k>>2]=0;f[l+8>>2]=0;do if(d)if(d>>>0>1073741823)Fp(l);else{a=d<<2;g=an(a)|0;f[l>>2]=g;m=g+(d<<2)|0;f[l+8>>2]=m;cj(g|0,0,a|0)|0;f[k>>2]=m;break}else{g=0;m=0}while(0);e=f[c+4>>2]|0;d=f[c>>2]|0;c=d;a:do if((e|0)!=(d|0)){a=e-d>>2;if(b[j+84>>0]|0){d=0;while(1){f[g+(f[c+(d<<2)>>2]<<2)>>2]=d;d=d+1|0;if(d>>>0>=a>>>0)break a}}d=f[j+68>>2]|0;e=0;do{f[g+(f[d+(f[c+(e<<2)>>2]<<2)>>2]<<2)>>2]=e;e=e+1|0}while(e>>>0>>0)}while(0);c=f[(f[(f[h>>2]|0)+4>>2]|0)+80>>2]|0;if((c|0)>0){e=j+68|0;a=(b[i+84>>0]|0)==0;g=f[l>>2]|0;d=i+68|0;if(!(b[j+84>>0]|0)){if(!a)ra(20060,20079,89,20179);a=f[e>>2]|0;d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(f[a+(e<<2)>>2]<<2)>>2];e=e+1|0}while((e|0)<(c|0))}else{if(!a)ra(20060,20079,89,20179);d=f[d>>2]|0;e=0;do{f[d+(e<<2)>>2]=f[g+(e<<2)>>2];e=e+1|0}while((e|0)<(c|0))}}d=f[l>>2]|0;if(d|0){if((m|0)!=(d|0))f[k>>2]=m+(~((m+-4-d|0)>>>2)<<2);pq(d)}m=1;u=n;return m|0}function Fe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b+12|0;h=f[m>>2]|0;l=c+4|0;k=(f[l>>2]|0)-h|0;e=c;f[e>>2]=(f[c>>2]|0)-h;f[e+4>>2]=k;e=(f[d>>2]|0)-h|0;k=d+4|0;h=(f[k>>2]|0)-h|0;g=d;f[g>>2]=e;f[g+4>>2]=h;g=f[m>>2]|0;if((g|0)<(e|0))ra(12672,11885,250,12695);if((g|0)<(h|0))ra(12707,11885,251,12695);i=0-g|0;if((e|0)<(i|0))ra(12730,11885,252,12695);if((h|0)<(i|0))ra(12754,11885,253,12695);if((((h|0)>-1?h:0-h|0)+((e|0)>-1?e:0-e|0)|0)>(g|0)){Ph(b,c,l);Ph(b,d,k);e=f[d>>2]|0}if(!e){g=f[k>>2]|0;if(!g)g=0;else j=14}else{g=f[k>>2]|0;if(!((e|0)<0&(g|0)<1))j=14}if((j|0)==14){if(!e)h=(g|0)==0?0:(g|0)>0?3:1;else h=(e|0)>0?(g>>31)+2|0:(g|0)<1?0:3;e=f[c>>2]|0;g=f[l>>2]|0;switch(h|0){case 1:{j=c;f[j>>2]=g;f[j+4>>2]=0-e;e=f[k>>2]|0;g=0-(f[d>>2]|0)|0;break}case 2:{j=c;f[j>>2]=0-e;f[j+4>>2]=0-g;e=0-(f[d>>2]|0)|0;g=0-(f[k>>2]|0)|0;break}case 3:{j=c;f[j>>2]=0-g;f[j+4>>2]=e;e=0-(f[k>>2]|0)|0;g=f[d>>2]|0;break}default:{j=c;f[j>>2]=e;f[j+4>>2]=g;e=f[d>>2]|0;g=f[k>>2]|0}}f[d>>2]=e;f[d+4>>2]=g}e=(f[c>>2]|0)-e|0;f[a>>2]=e;i=(f[l>>2]|0)-g|0;h=a+4|0;f[h>>2]=i;g=f[m>>2]<<1;if((g|0)<(e|0))ra(12778,11885,313,12812);if((e|0)<0)e=(f[b+4>>2]|0)+e|0;f[a>>2]=e;if((g|0)<(i|0))ra(12778,11885,313,12812);if((i|0)>=0){b=i;f[h>>2]=b;return}b=(f[b+4>>2]|0)+i|0;f[h>>2]=b;return}function Ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=f[b>>2]|0;l=a+12|0;i=(h|0)<0;do if(!i)if(!((h>>>0)%3|0)){d=h+2|0;break}else{d=h+-1|0;break}else d=h;while(0);a:do if((d|0)<0)m=7;else{g=f[(f[l>>2]|0)+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824){e=0;break a}b=e+1|0;if((e|0)<0)d=e;else d=((b|0)%3|0|0)==0?e+-2|0:b;if((d|0)<0){m=7;break}}}while(0);if((m|0)==7){b=(d|0)==-1073741824;do{}while(!b);e=1;d=-1073741824}if(i)k=-1073741824;else k=f[(f[f[l>>2]>>2]|0)+(h<<2)>>2]|0;if(c){b=(f[a+84>>2]|0)+(k>>>5<<2)|0;f[b>>2]=f[b>>2]|1<<(k&31);b=1}else b=0;i=f[(f[a+152>>2]|0)+(k<<2)>>2]|0;c=(f[a+140>>2]|0)+(i>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(i&31);if(!e?(j=(((d>>>0)%3|0|0)==0?2:-1)+d|0,(j|0)>=0):0)e=f[(f[f[l>>2]>>2]|0)+(j<<2)>>2]|0;else e=-1073741824;if((e|0)==(k|0)){m=b;return m|0}i=a+84|0;do{a=(f[i>>2]|0)+(e>>>5<<2)|0;f[a>>2]=f[a>>2]|1<<(e&31);b=b+1|0;e=d+1|0;if((d|0)>=0)d=((e|0)%3|0|0)==0?d+-2|0:e;b:do if((d|0)>=0){h=f[l>>2]|0;g=f[h+12>>2]|0;while(1){e=f[g+(d<<2)>>2]|0;if((e|0)==-1073741824)break;d=e+1|0;if((e|0)<0)d=e;else d=((d|0)%3|0|0)==0?e+-2|0:d;if((d|0)<0){m=26;break b}}e=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((e|0)<0)e=-1073741824;else e=f[(f[h>>2]|0)+(e<<2)>>2]|0}else m=26;while(0);if((m|0)==26){m=0;d=(d|0)==-1073741824;do{}while(!d);e=-1073741824;d=-1073741824}}while((e|0)!=(k|0));return b|0}function He(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=(c|0)==(a|0);b[c+12>>0]=i&1;if(i)return;while(1){h=f[c+8>>2]|0;g=h+12|0;if(b[g>>0]|0){d=23;break}i=h+8|0;e=f[i>>2]|0;d=f[e>>2]|0;if((d|0)==(h|0)){d=f[e+4>>2]|0;if(!d){d=7;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=7;break}}else{if(!d){d=16;break}d=d+12|0;if(!(b[d>>0]|0))c=d;else{d=16;break}}b[g>>0]=1;i=(e|0)==(a|0);b[e+12>>0]=i&1;b[c>>0]=1;if(i){d=23;break}else c=e}if((d|0)==7){if((f[h>>2]|0)==(c|0))c=h;else{a=h+4|0;d=f[a>>2]|0;c=f[d>>2]|0;f[a>>2]=c;if(!c)c=e;else{f[c+8>>2]=h;c=f[i>>2]|0}f[d+8>>2]=c;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=d;f[d>>2]=h;f[i>>2]=d;c=d;e=f[d+8>>2]|0}b[c+12>>0]=1;b[e+12>>0]=0;c=f[e>>2]|0;g=c+4|0;d=f[g>>2]|0;f[e>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[g>>2]=e;f[i>>2]=c;return}else if((d|0)==16){if((f[h>>2]|0)==(c|0)){g=f[h>>2]|0;d=g+4|0;c=f[d>>2]|0;f[h>>2]=c;if(c){f[c+8>>2]=h;e=f[i>>2]|0}f[g+8>>2]=e;c=f[i>>2]|0;f[((f[c>>2]|0)==(h|0)?c:c+4|0)>>2]=g;f[d>>2]=h;f[i>>2]=g;c=g;e=f[g+8>>2]|0}else c=h;b[c+12>>0]=1;b[e+12>>0]=0;i=e+4|0;c=f[i>>2]|0;d=f[c>>2]|0;f[i>>2]=d;if(d|0)f[d+8>>2]=e;i=e+8|0;f[c+8>>2]=f[i>>2];h=f[i>>2]|0;f[((f[h>>2]|0)==(e|0)?h:h+4|0)>>2]=c;f[c>>2]=e;f[i>>2]=c;return}else if((d|0)==23)return}function Ie(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=u;u=u+16|0;q=s+4|0;k=s;f[q>>2]=0;r=q+4|0;f[r>>2]=0;f[q+8>>2]=0;m=a+52|0;b=f[m>>2]|0;j=(f[b+100>>2]|0)-(f[b+96>>2]|0)|0;n=(j|0)/12|0;do if((j|0)>0){j=q+8|0;c=f[b+96>>2]|0;if(((f[b+100>>2]|0)-c|0)>0){d=c;l=0;i=0}else ra(20006,19918,64,20001);while(1){g=f[d+(l*12|0)>>2]|0;c=g-i|0;c=((c|0)>-1?c:0-c|0)<<1|c>>>31;f[k>>2]=c;b=f[r>>2]|0;e=f[j>>2]|0;if((b|0)==(e|0)){Gi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[b>>2]=c;c=b+4|0;f[r>>2]=c}h=f[d+(l*12|0)+4>>2]|0;b=h-g|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0)){Gi(q,k);c=f[r>>2]|0;e=f[j>>2]|0}else{f[c>>2]=b;c=c+4|0;f[r>>2]=c}i=f[d+(l*12|0)+8>>2]|0;b=i-h|0;b=((b|0)>-1?b:0-b|0)<<1|b>>>31;f[k>>2]=b;if((c|0)==(e|0))Gi(q,k);else{f[c>>2]=b;f[r>>2]=c+4}l=l+1|0;if((l|0)>=(n|0)){b=3;break}h=f[m>>2]|0;d=f[h+96>>2]|0;if((l|0)>=(((f[h+100>>2]|0)-d|0)/12|0|0)){b=5;break}}if((b|0)==3){o=f[q>>2]|0;p=f[r>>2]|0;break}else if((b|0)==5)ra(20006,19918,64,20001)}else{o=0;p=0}while(0);Lc(o,p-o>>2,1,f[a+44>>2]|0)|0;c=f[q>>2]|0;if(!c){u=s;return 1}b=f[r>>2]|0;if((b|0)!=(c|0))f[r>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);u=s;return 1}function Je(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;e=f[b>>2]|0;b=e*3|0;h=a+12|0;e=(e|0)<0;if(e)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(e)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;g=f[a+152>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!e)b=((d|0)%3|0|0)==0?b+-2|0:d;a=(b|0)<0;if(a)d=b;else d=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;if((d|0)==-1073741824){i=0;h=b;f[c>>2]=h;return i|0}if(a)d=-1073741824;else d=f[(f[f[h>>2]>>2]|0)+(b<<2)>>2]|0;if((f[g+(d<<2)>>2]|0)==-1){d=b+1|0;if(!a){b=((d|0)%3|0|0)==0?b+-2|0:d;if((b|0)<0){d=b;a=1}else{d=b;a=0;b=f[(f[(f[h>>2]|0)+12>>2]|0)+(b<<2)>>2]|0}}else{d=b;a=1}if((b|0)==-1073741824){i=0;h=d;f[c>>2]=h;return i|0}if(a)b=-1073741824;else b=f[(f[f[h>>2]>>2]|0)+(d<<2)>>2]|0;if((f[g+(b<<2)>>2]|0)==-1){b=d+1|0;if(a){i=1;h=d;f[c>>2]=h;return i|0}i=1;h=((b|0)%3|0|0)==0?d+-2|0:b;f[c>>2]=h;return i|0}else b=d}}if((b|0)<=-1){i=0;h=b;f[c>>2]=h;return i|0}while(1){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)<0)break;d=f[(f[(f[h>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=11;break}d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;if((d|0)>-1)b=d;else{i=11;break}}if((i|0)==11?(b|0)<0:0){i=0;h=b;f[c>>2]=h;return i|0}if(!((b>>>0)%3|0)){i=0;h=b+2|0;f[c>>2]=h;return i|0}else{i=0;h=b+-1|0;f[c>>2]=h;return i|0}return 0}function Ke(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=f[a>>2]|0;i=k;j=(f[c>>2]|0)-i|0;c=k+j|0;l=e-d|0;if((l|0)<=0){o=c;return o|0}n=a+8|0;h=f[n>>2]|0;o=a+4|0;m=f[o>>2]|0;g=m;if((l|0)<=(h-g|0)){i=g-c|0;if((l|0)>(i|0)){j=d+i|0;if((j|0)==(e|0))g=m;else{g=m;h=j;do{b[g>>0]=b[h>>0]|0;h=h+1|0;g=(f[o>>2]|0)+1|0;f[o>>2]=g}while((h|0)!=(e|0))}if((i|0)>0)e=j;else{o=c;return o|0}}else g=m;j=g-(c+l)|0;h=c+j|0;if(h>>>0>>0){i=g;do{b[i>>0]=b[h>>0]|0;h=h+1|0;i=(f[o>>2]|0)+1|0;f[o>>2]=i}while((h|0)!=(m|0))}if(j|0)bm(g+(0-j)|0,c|0,j|0)|0;if((e|0)==(d|0)){o=c;return o|0}else g=c;while(1){b[g>>0]=b[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else g=g+1|0}return c|0}g=g-i+l|0;if((g|0)<0)Fp(a);l=h-i|0;h=l<<1;h=l>>>0<1073741823?(h>>>0>>0?g:h):2147483647;l=c;if(!h)i=0;else i=an(h)|0;m=i+j|0;g=m;j=i+h|0;if((d|0)==(e|0)){d=k;h=g}else{h=m;do{b[h>>0]=b[d>>0]|0;h=g+1|0;g=h;d=d+1|0}while((d|0)!=(e|0));d=f[a>>2]|0;h=g}g=l-d|0;i=m+(0-g)|0;if((g|0)>0)Rg(i|0,d|0,g|0)|0;g=(f[o>>2]|0)-l|0;if((g|0)>0){l=h;Rg(l|0,c|0,g|0)|0;d=f[a>>2]|0;c=l+g|0}else c=h;f[a>>2]=i;f[o>>2]=c;f[n>>2]=j;if(!d){o=m;return o|0}pq(d);o=m;return o|0}function Le(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;g=n;if((f[c+56>>2]|0)==-1){e=-1;u=n;return e|0}m=an(96)|0;nl(m,c);f[g>>2]=m;m=hh(a,g)|0;i=f[g>>2]|0;f[g>>2]=0;if(i|0){k=i+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c+8>>2]|0;if(g|0){h=c+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(c)}c=f[i+68>>2]|0;if(c|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(c|0))f[h>>2]=g+(~((g+-4-c|0)>>>2)<<2);pq(c)}k=i+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){g=f[c>>2]|0;if(g|0){h=c+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(c)}pq(i)}if((m|0)<=-1)ra(20625,20641,67,20738);j=a+8|0;k=a+12|0;c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))ra(20748,20641,68,20738);i=c+(m<<2)|0;c=f[i>>2]|0;do if(!d){d=f[a+80>>2]|0;b[c+84>>0]=0;a=c+68|0;h=c+72|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c>>2;if(d>>>0>i>>>0){lh(a,d-i|0,6108);break}if(d>>>0>>0?(l=c+(d<<2)|0,(g|0)!=(l|0)):0)f[h>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{b[c+84>>0]=1;h=f[c+68>>2]|0;g=c+72|0;c=f[g>>2]|0;if((c|0)!=(h|0))f[g>>2]=c+(~((c+-4-h|0)>>>2)<<2);f[(f[i>>2]|0)+80>>2]=f[a+80>>2]}while(0);if((e|0)<=0){e=m;u=n;return e|0}c=f[j>>2]|0;if(((f[k>>2]|0)-c>>2|0)<=(m|0))ra(20748,20641,68,20738);kj(f[c+(m<<2)>>2]|0,e)|0;e=m;u=n;return e|0}function Me(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;wh(a+12|0);cn(a+1036|0);Vn(a+1068|0);Vn(a+1088|0);Vn(a+1108|0);d=a+1128|0;f[d>>2]=0;c=a+1132|0;f[c>>2]=0;f[a+1136>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Fp(d);else{e=b<<2;k=an(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+1136>>2]=g;cj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+1140|0;f[d>>2]=0;c=a+1144|0;f[c>>2]=0;f[a+1148>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+1148>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}d=a+1152|0;f[d>>2]=0;c=a+1156|0;f[c>>2]=0;f[a+1160>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+1160>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=an(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;cj(c|0,0,d|0)|0;f[e>>2]=k}$j(a+1164|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=an(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;cj(d|0,0,h|0)|0;f[e>>2]=k}$j(a+1176|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c);u=j;return}function Ne(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;cn(a+12|0);Vn(a+44|0);Vn(a+64|0);Vn(a+84|0);d=a+104|0;f[d>>2]=0;c=a+108|0;f[c>>2]=0;f[a+112>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Fp(d);else{e=b<<2;k=an(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+112>>2]=g;cj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+116|0;f[d>>2]=0;c=a+120|0;f[c>>2]=0;f[a+124>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+124>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}d=a+128|0;f[d>>2]=0;c=a+132|0;f[c>>2]=0;f[a+136>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+136>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=an(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;cj(c|0,0,d|0)|0;f[e>>2]=k}$j(a+140|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=an(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;cj(d|0,0,h|0)|0;f[e>>2]=k}$j(a+152|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c);u=j;return}function Oe(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;i=j;f[a>>2]=0;f[a+8>>2]=b;Vn(a+12|0);Vn(a+32|0);Vn(a+52|0);Vn(a+72|0);d=a+92|0;f[d>>2]=0;c=a+96|0;f[c>>2]=0;f[a+100>>2]=0;h=(b|0)==0;do if(!h)if(b>>>0>1073741823)Fp(d);else{e=b<<2;k=an(e)|0;f[d>>2]=k;g=k+(b<<2)|0;f[a+100>>2]=g;cj(k|0,0,e|0)|0;f[c>>2]=g;break}while(0);d=a+104|0;f[d>>2]=0;c=a+108|0;f[c>>2]=0;f[a+112>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+112>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}d=a+116|0;f[d>>2]=0;c=a+120|0;f[c>>2]=0;f[a+124>>2]=0;if(!h){g=b<<2;e=an(g)|0;f[d>>2]=e;k=e+(b<<2)|0;f[a+124>>2]=k;cj(e|0,0,g|0)|0;f[c>>2]=k}g=b<<5|1;f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){d=b<<2;c=an(d)|0;f[i>>2]=c;k=c+(b<<2)|0;f[i+8>>2]=k;cj(c|0,0,d|0)|0;f[e>>2]=k}$j(a+128|0,g,i);c=f[i>>2]|0;if(c|0){d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}f[i>>2]=0;e=i+4|0;f[e>>2]=0;f[i+8>>2]=0;if(!h){h=b<<2;d=an(h)|0;f[i>>2]=d;k=d+(b<<2)|0;f[i+8>>2]=k;cj(d|0,0,h|0)|0;f[e>>2]=k}$j(a+140|0,g,i);c=f[i>>2]|0;if(!c){u=j;return}d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c);u=j;return}function Pe(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+144|0;m=q+136|0;p=q+104|0;i=q;j=an(124)|0;e=f[c+8>>2]|0;f[j+4>>2]=0;f[j>>2]=3544;f[j+12>>2]=3524;f[j+100>>2]=0;f[j+104>>2]=0;f[j+108>>2]=0;n=j+16|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));f[j+112>>2]=e;f[j+116>>2]=d;k=j+120|0;f[k>>2]=0;g=j;f[p>>2]=3524;l=p+4|0;h=l+4|0;f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;f[h+12>>2]=0;f[h+16>>2]=0;f[h+20>>2]=0;h=f[c+12>>2]|0;f[i+4>>2]=3524;f[i+92>>2]=0;f[i+96>>2]=0;f[i+100>>2]=0;n=i+8|0;o=n+80|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(o|0));o=h;f[l>>2]=o;o=((f[o+4>>2]|0)-(f[h>>2]|0)>>2>>>0)/3|0;b[m>>0]=0;Zg(p+8|0,o,m);Ra[f[(f[p>>2]|0)+8>>2]&127](p);f[i>>2]=f[l>>2];Xf(i+4|0,p)|0;f[i+36>>2]=h;f[i+40>>2]=d;f[i+44>>2]=e;f[i+48>>2]=j;f[k>>2]=c+72;ug(j,i);f[a>>2]=g;Ci(i);f[p>>2]=3524;e=f[p+20>>2]|0;if(e|0)pq(e);e=f[p+8>>2]|0;if(!e){u=q;return}pq(e);u=q;return}function Qe(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3568;si(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}Zi(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+140>>2]|0;if(b|0)pq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;pq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)pq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+28>>2]|0;if(b|0)pq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;oj(b);pq(b);return}function Re(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3368;fj(a+200|0);b=f[a+184>>2]|0;if(b|0){d=a+188|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}Zi(a+172|0);b=f[a+152>>2]|0;if(b|0){d=a+156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+140>>2]|0;if(b|0)pq(b);b=f[a+128>>2]|0;if(b|0)do{d=b;b=f[b>>2]|0;pq(d)}while((b|0)!=0);d=a+120|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)pq(b);b=f[a+108>>2]|0;if(b|0){d=a+112|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0){d=a+76|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+28>>2]|0;if(b|0)pq(b);b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}a=a+12|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;oj(b);pq(b);return}function Se(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;f[a>>2]=b;break a}case 10:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{d=(f[c>>2]|0)+(4-1)&~(4-1);b=f[d>>2]|0;f[c>>2]=d+4;d=a;f[d>>2]=b;f[d+4>>2]=0;break a}case 12:{d=(f[c>>2]|0)+(8-1)&~(8-1);b=d;e=f[b>>2]|0;b=f[b+4>>2]|0;f[c>>2]=d+8;d=a;f[d>>2]=e;f[d+4>>2]=b;break a}case 13:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&65535)<<16>>16;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 14:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&65535;f[e+4>>2]=0;break a}case 15:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;d=(d&255)<<24>>24;e=a;f[e>>2]=d;f[e+4>>2]=((d|0)<0)<<31>>31;break a}case 16:{e=(f[c>>2]|0)+(4-1)&~(4-1);d=f[e>>2]|0;f[c>>2]=e+4;e=a;f[e>>2]=d&255;f[e+4>>2]=0;break a}case 17:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}case 18:{e=(f[c>>2]|0)+(8-1)&~(8-1);g=+p[e>>3];f[c>>2]=e+8;p[a>>3]=g;break a}default:break a}while(0);while(0);return}function Te(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=u;u=u+16|0;h=n+4|0;g=n;i=n+8|0;if(!(Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)){a=0;u=n;return a|0}m=a+44|0;d=f[m>>2]|0;k=a+8|0;j=a+12|0;e=f[j>>2]|0;c=f[k>>2]|0;b[i>>0]=(e-c|0)>>>2;o=d+16|0;p=f[o+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[o>>2]|0)>>>0>0)){f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ke(d,h,i,i+1|0)|0;c=f[k>>2]|0;e=f[j>>2]|0}a:do if((c|0)!=(e|0)){d=a+4|0;while(1){p=f[c>>2]|0;c=c+4|0;if(!(Oa[f[(f[p>>2]|0)+8>>2]&31](p,a,f[d>>2]|0)|0)){c=0;break}if((c|0)==(e|0))break a}u=n;return c|0}while(0);if(!(yc(a)|0)){p=0;u=n;return p|0}e=a+32|0;c=f[e>>2]|0;g=a+36|0;d=f[g>>2]|0;b:do if((c|0)!=(d|0)){do{if(!(Na[f[(f[a>>2]|0)+40>>2]&127](a,f[c>>2]|0)|0)){c=0;l=18;break}c=c+4|0}while((c|0)!=(d|0));if((l|0)==18){u=n;return c|0}c=f[e>>2]|0;d=f[g>>2]|0;if((c|0)!=(d|0)){while(1){p=f[(f[k>>2]|0)+(f[c>>2]<<2)>>2]|0;c=c+4|0;if(!(Na[f[(f[p>>2]|0)+12>>2]&127](p,f[m>>2]|0)|0)){c=0;break}if((c|0)==(d|0))break b}u=n;return c|0}}while(0);p=Ma[f[(f[a>>2]|0)+44>>2]&127](a)|0;u=n;return p|0}function Ue(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)ra(20625,20641,59,20738);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(20748,20641,60,20738);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ma[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Na[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Na[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;od(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;nd(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function Ve(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+1176|0;b=f[g>>2]|0;if(b|0){h=a+1180|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}g=a+1164|0;b=f[g>>2]|0;if(b|0){h=a+1168|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+1152>>2]|0;if(b|0){d=a+1156|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+1140>>2]|0;if(b|0){d=a+1144|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+1128>>2]|0;if(!b){h=a+1108|0;gl(h);h=a+1088|0;gl(h);h=a+1068|0;gl(h);h=a+1036|0;qj(h);a=a+12|0;vh(a);return}d=a+1132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);h=a+1108|0;gl(h);h=a+1088|0;gl(h);h=a+1068|0;gl(h);h=a+1036|0;qj(h);a=a+12|0;vh(a);return}function We(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ke(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ke(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}gg(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];cb(a,k,m);d=0;do{ed(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);ed(a+1036|0,e);ng(g,e);ng(c,e);ng(b,e);u=n;return 1}function Xe(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n+12|0;k=n+8|0;j=n+4|0;l=n;f[a>>2]=f[d>>2];i=f[c>>2]|0;h=f[b>>2]|0;c=a+4|0;f[c>>2]=(i-h|0)/12|0;d=e+16|0;g=d;b=f[g+4>>2]|0;if(!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)?(f[k>>2]=f[e+4>>2],f[m>>2]=f[k>>2],Ke(e,m,a,a+4|0)|0,g=d,b=f[g+4>>2]|0,!((b|0)>0|(b|0)==0&(f[g>>2]|0)>>>0>0)):0){f[k>>2]=f[e+4>>2];f[m>>2]=f[k>>2];Ke(e,m,c,c+4|0)|0}if(!(f[c>>2]|0)){u=n;return 1}gg(a+12|0);g=a+1068|0;wm(g);c=a+1088|0;wm(c);b=a+1108|0;wm(b);f[j>>2]=h;f[l>>2]=i;f[k>>2]=f[j>>2];f[m>>2]=f[l>>2];gb(a,k,m);d=0;do{ed(a+12+(d<<5)|0,e);d=d+1|0}while((d|0)!=32);ed(a+1036|0,e);ng(g,e);ng(c,e);ng(b,e);u=n;return 1}function Ye(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+60>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,g,g+4|0)|0}cn(k);Uk(k);if((f[g>>2]|0)>0){c=a+56|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;$i(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}ed(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;qj(k);u=m;return 1}function Ze(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=n+16|0;h=f[b+4>>2]|0;if((d|0)<=-1)ra(20625,20641,59,20738);i=f[h+8>>2]|0;if(((f[h+12>>2]|0)-i>>2|0)<=(d|0))ra(20748,20641,60,20738);i=f[i+(d<<2)>>2]|0;do if((c+-1|0)>>>0<6&(Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)==1){j=Ma[f[(f[b>>2]|0)+48>>2]&127](b)|0;k=Na[f[(f[b>>2]|0)+56>>2]&127](b,d)|0;if((j|0)==0|(k|0)==0){f[a>>2]=0;u=n;return}h=Na[f[(f[b>>2]|0)+52>>2]&127](b,d)|0;if(!h){f[m>>2]=f[b+52>>2];f[m+4>>2]=j;f[m+12>>2]=k;f[m+8>>2]=k+12;Ic(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}else{f[m>>2]=f[b+52>>2];f[m+4>>2]=h;f[m+12>>2]=k;f[m+8>>2]=k+12;Hc(a,l,c,i,e,m,g);if(!(f[a>>2]|0)){f[a>>2]=0;break}u=n;return}}while(0);f[a>>2]=0;u=n;return}function _e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+48|0;j=m+44|0;i=m+40|0;l=m+36|0;g=m+32|0;k=m;f[g>>2]=f[a+80>>2];h=b+16|0;e=h;d=f[e+4>>2]|0;if(!((d|0)>0|(d|0)==0&(f[e>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,g,g+4|0)|0}cn(k);Uk(k);if((f[g>>2]|0)>0){c=a+76|0;d=0;e=1;do{n=e;e=(f[(f[c>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;$i(k,n^e^1);d=d+1|0}while((d|0)<(f[g>>2]|0))}ed(k,b);f[l>>2]=f[a+12>>2];d=h;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;c=h;d=f[c+4>>2]|0;c=f[c>>2]|0}f[l>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){qj(k);u=m;return 1}f[i>>2]=f[b+4>>2];f[j>>2]=f[i>>2];Ke(b,j,l,l+4|0)|0;qj(k);u=m;return 1}function $e(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,i=0,j=0;j=a+4|0;c=f[j>>2]|0;i=a+100|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;switch(c|0){case 43:case 45:{d=(c|0)==45&1;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;if((b|0)!=0&(c+-48|0)>>>0>9?(f[i>>2]|0)!=0:0){f[j>>2]=(f[j>>2]|0)+-1;g=d}else g=d;break}default:g=0}if((c+-48|0)>>>0>9)if(!(f[i>>2]|0)){d=-2147483648;c=0}else{f[j>>2]=(f[j>>2]|0)+-1;d=-2147483648;c=0}else{d=0;do{d=c+-48+(d*10|0)|0;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0}while((c+-48|0)>>>0<10&(d|0)<214748364);b=((d|0)<0)<<31>>31;if((c+-48|0)>>>0<10){do{b=$m(d|0,b|0,10,0)|0;d=I;c=Mn(c|0,((c|0)<0)<<31>>31|0,-48,-1)|0;d=Mn(c|0,I|0,b|0,d|0)|0;b=I;c=f[j>>2]|0;if(c>>>0<(f[i>>2]|0)>>>0){f[j>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0}while((c+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&d>>>0<2061584302));e=d;d=c}else{e=d;d=c}c=f[i>>2]|0;if((d+-48|0)>>>0<10)do{d=f[j>>2]|0;if(d>>>0>>0){f[j>>2]=d+1;d=h[d>>0]|0}else{d=Xi(a)|0;c=f[i>>2]|0}}while((d+-48|0)>>>0<10);if(c|0)f[j>>2]=(f[j>>2]|0)+-1;j=(g|0)!=0;c=_n(0,0,e|0,b|0)|0;d=j?I:b;c=j?c:e}I=d;return c|0}function af(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=u;u=u+96|0;o=p;if(!c){o=-1;u=p;return o|0}Im(o);sj(o,d,0,g&255,i,0,g<<2,0,0,0);j=Le(c,o,1,e)|0;if((j|0)<=-1)ra(20625,20641,67,20738);a=f[c+8>>2]|0;if(((f[c+12>>2]|0)-a>>2|0)<=(j|0))ra(20748,20641,68,20738);a=f[a+(j<<2)>>2]|0;if((e|0)>0){m=a+84|0;k=a+68|0;l=a+40|0;i=a+64|0;d=0;do{if(!(b[m>>0]|0))a=f[(f[k>>2]|0)+(d<<2)>>2]|0;else a=d;r=h+((X(d,g)|0)<<2)|0;s=l;q=f[s>>2]|0;a=$m(a|0,((a|0)<0)<<31>>31|0,q|0,f[s+4>>2]|0)|0;Rg((f[f[i>>2]>>2]|0)+a|0,r|0,q|0)|0;d=d+1|0}while((d|0)!=(e|0))}i=c+80|0;a=f[i>>2]|0;if(a)if((a|0)==(e|0))n=14;else j=-1;else{f[i>>2]=e;n=14}s=o+88|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){i=f[a+8>>2]|0;if(i|0){d=a+12|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;pq(i)}pq(a)}a=f[o+68>>2]|0;if(a|0){d=o+72|0;i=f[d>>2]|0;if((i|0)!=(a|0))f[d>>2]=i+(~((i+-4-a|0)>>>2)<<2);pq(a)}s=o+64|0;a=f[s>>2]|0;f[s>>2]=0;if(a|0){i=f[a>>2]|0;if(i|0){d=a+4|0;if((f[d>>2]|0)!=(i|0))f[d>>2]=i;pq(i)}pq(a)}s=j;u=p;return s|0}function bf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;r=c+84|0;b[r>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}p=(f[d+100>>2]|0)-(f[d+96>>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=c+68|0;a=d+96|0;k=d+100|0;l=0;while(1){d=f[a>>2]|0;if((l|0)>=(((f[k>>2]|0)-d|0)/12|0|0)){e=9;break}i=l*3|0;g=f[p>>2]|0;h=f[(f[o>>2]|0)+12>>2]|0;e=f[h+(f[g+(i<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}if(b[r>>0]|0){e=12;break}j=f[n>>2]|0;f[j+(f[d+(l*12|0)>>2]<<2)>>2]=e;e=f[h+(f[g+(i+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+4>>2]<<2)>>2]=e;e=f[h+(f[g+(i+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=14;break}f[j+(f[d+(l*12|0)+8>>2]<<2)>>2]=e;l=l+1|0;if((l|0)>=(q|0)){d=1;e=14;break}}if((e|0)==9)ra(20006,19918,64,20001);else if((e|0)==12)ra(20060,20079,89,20179);else if((e|0)==14)return d|0;return 0}function cf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=d[b>>1]|0;n=d[b+2>>1]|0;o=d[b+4>>1]|0;i=d[b+6>>1]|0;l=((((m^318)&65535)+239^n&65535)+239^o&65535)+239^i&65535;j=f[a+4>>2]|0;if(!j){q=0;return q|0}e=j+-1|0;c=(e&j|0)==0;if(!c)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;b=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!b){q=0;return q|0}b=f[b>>2]|0;if(!b){q=0;return q|0}if(c){while(1){h=f[b+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){b=0;h=26;break}if((((a?(g=b+8|0,(d[g>>1]|0)==m<<16>>16):0)?(d[g+2>>1]|0)==n<<16>>16:0)?(d[b+12>>1]|0)==o<<16>>16:0)?(d[g+6>>1]|0)==i<<16>>16:0){h=26;break}b=f[b>>2]|0;if(!b){b=0;h=26;break}}if((h|0)==26)return b|0}else p=b;while(1){b=f[p+4>>2]|0;a=(b|0)==(l|0);if(!a){if(b>>>0>=j>>>0)b=(b>>>0)%(j>>>0)|0;if((b|0)!=(k|0)){b=0;h=26;break}if(a)h=22}else h=22;if(((((h|0)==22?(h=0,q=p+8|0,(d[q>>1]|0)==m<<16>>16):0)?(d[q+2>>1]|0)==n<<16>>16:0)?(d[p+12>>1]|0)==o<<16>>16:0)?(d[q+6>>1]|0)==i<<16>>16:0){b=p;h=26;break}p=f[p>>2]|0;if(!p){b=0;h=26;break}}if((h|0)==26)return b|0;return 0}function df(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+76|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+80|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(20006,19918,64,20001);else if((e|0)==12)ra(20060,20079,89,20179);else if((e|0)==13)return d|0;return 0}function ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=b[c>>0]|0;n=b[c+1>>0]|0;o=b[c+2>>0]|0;i=b[c+3>>0]|0;l=(((m&255^318)+239^n&255)+239^o&255)+239^i&255;j=f[a+4>>2]|0;if(!j){q=0;return q|0}e=j+-1|0;d=(e&j|0)==0;if(!d)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;c=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!c){q=0;return q|0}c=f[c>>2]|0;if(!c){q=0;return q|0}if(d){while(1){h=f[c+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){c=0;h=26;break}if((((a?(g=c+8|0,(b[g>>0]|0)==m<<24>>24):0)?(b[g+1>>0]|0)==n<<24>>24:0)?(b[g+2>>0]|0)==o<<24>>24:0)?(b[g+3>>0]|0)==i<<24>>24:0){h=26;break}c=f[c>>2]|0;if(!c){c=0;h=26;break}}if((h|0)==26)return c|0}else p=c;while(1){c=f[p+4>>2]|0;a=(c|0)==(l|0);if(!a){if(c>>>0>=j>>>0)c=(c>>>0)%(j>>>0)|0;if((c|0)!=(k|0)){c=0;h=26;break}if(a)h=22}else h=22;if(((((h|0)==22?(h=0,q=p+8|0,(b[q>>0]|0)==m<<24>>24):0)?(b[q+1>>0]|0)==n<<24>>24:0)?(b[q+2>>0]|0)==o<<24>>24:0)?(b[q+3>>0]|0)==i<<24>>24:0){c=p;h=26;break}p=f[p>>2]|0;if(!p){c=0;h=26;break}}if((h|0)==26)return c|0;return 0}function ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=f[a+8>>2]|0;k=a+112|0;d=f[k>>2]|0;m=f[d+80>>2]|0;q=c+84|0;b[q>>0]=0;j=c+68|0;h=c+72|0;g=f[h>>2]|0;e=f[j>>2]|0;l=g-e>>2;if(m>>>0<=l>>>0){if(m>>>0>>0?(i=e+(m<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(j,m-l|0,3488);m=f[k>>2]|0;d=m;m=f[m+80>>2]|0}n=(f[d+100>>2]|0)-(f[d+96>>2]|0)|0;o=(n|0)/12|0;if((n|0)<=0){q=1;return q|0}n=a+116|0;l=c+68|0;a=d+96|0;j=d+100|0;k=0;while(1){d=f[a>>2]|0;if((k|0)>=(((f[j>>2]|0)-d|0)/12|0|0)){e=9;break}h=k*3|0;g=f[(f[n>>2]|0)+12>>2]|0;e=f[g+(f[(f[p>>2]|0)+(h<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}if(b[q>>0]|0){e=12;break}i=f[l>>2]|0;f[i+(f[d+(k*12|0)>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+1<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+4>>2]<<2)>>2]=e;e=f[g+(f[(f[p>>2]|0)+(h+2<<2)>>2]<<2)>>2]|0;if(e>>>0>=m>>>0){d=0;e=13;break}f[i+(f[d+(k*12|0)+8>>2]<<2)>>2]=e;k=k+1|0;if((k|0)>=(o|0)){d=1;e=13;break}}if((e|0)==9)ra(20006,19918,64,20001);else if((e|0)==12)ra(20060,20079,89,20179);else if((e|0)==13)return d|0;return 0}function gf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3476;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Fp(h);else{c=((c+-1|0)>>>5)+1|0;o=an(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Fp(h);o=((c+-1|0)>>>5)+1|0;a=an(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);u=n;return}function hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=an(40)|0;e=l+16|0;dj(e,c);dj(l+28|0,c+12|0);c=a+4|0;d=f[c>>2]|0;do if(d){j=b[l+27>>0]|0;i=j<<24>>24<0;j=i?f[l+20>>2]|0:j&255;i=i?f[e>>2]|0:e;h=d;while(1){d=h+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[h+20>>2]|0:e&255;c=e>>>0>>0?e:j;if((c|0)!=0?(k=fl(i,g?f[d>>2]|0:d,c)|0,(k|0)!=0):0)if((k|0)<0)g=7;else g=9;else if(j>>>0>>0)g=7;else g=9;if((g|0)==7){c=f[h>>2]|0;if(!c){g=8;break}}else if((g|0)==9){d=h+4|0;c=f[d>>2]|0;if(!c){g=11;break}}h=c}if((g|0)==8){e=h;d=h;break}else if((g|0)==11){e=h;break}}else{e=c;d=c}while(0);f[l>>2]=0;f[l+4>>2]=0;f[l+8>>2]=e;f[d>>2]=l;c=f[f[a>>2]>>2]|0;if(!c){k=l;j=a+4|0;j=f[j>>2]|0;He(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}f[a>>2]=c;k=f[d>>2]|0;j=a+4|0;j=f[j>>2]|0;He(j,k);a=a+8|0;k=f[a>>2]|0;k=k+1|0;f[a>>2]=k;return l|0}function jf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}g=a+128|0;b=f[g>>2]|0;if(b|0){h=a+132|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+92>>2]|0;if(!b){h=a+72|0;gl(h);h=a+52|0;gl(h);h=a+32|0;gl(h);a=a+12|0;gl(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);h=a+72|0;gl(h);h=a+52|0;gl(h);h=a+32|0;gl(h);a=a+12|0;gl(a);return}function kf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+152|0;b=f[g>>2]|0;if(b|0){h=a+156|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}g=a+140|0;b=f[g>>2]|0;if(b|0){h=a+144|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+128>>2]|0;if(b|0){d=a+132|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+116>>2]|0;if(b|0){d=a+120|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+104>>2]|0;if(!b){h=a+84|0;gl(h);h=a+64|0;gl(h);h=a+44|0;gl(h);a=a+12|0;qj(a);return}d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);h=a+84|0;gl(h);h=a+64|0;gl(h);h=a+44|0;gl(h);a=a+12|0;qj(a);return}function lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+40+(h*12|0)+4|0;Rh(f[c>>2]|0,b)|0;if(f[c>>2]|0){cn(i);Uk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+40+(h*12|0)|0;do{d=0;while(1){m=d+c|0;$i(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}ed(i,b);qj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;u=l;return 1}function mf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;m=n+24|0;k=n+16|0;j=n+8|0;l=n;f[a>>2]=3524;f[a+4>>2]=f[b+4>>2];h=a+8|0;i=b+8|0;f[h>>2]=0;e=a+12|0;f[e>>2]=0;d=a+16|0;f[d>>2]=0;g=b+12|0;c=f[g>>2]|0;do if(c|0)if((c|0)<0)Fp(h);else{c=((c+-1|0)>>>5)+1|0;o=an(c<<2)|0;f[h>>2]=o;f[e>>2]=0;f[d>>2]=c;e=f[i>>2]|0;f[j>>2]=e;f[j+4>>2]=0;i=f[g>>2]|0;f[l>>2]=e+(i>>>5<<2);f[l+4>>2]=i&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);break}while(0);h=a+20|0;f[h>>2]=0;g=a+24|0;f[g>>2]=0;d=a+28|0;f[d>>2]=0;e=b+24|0;c=f[e>>2]|0;if(!c){u=n;return}if((c|0)<0)Fp(h);o=((c+-1|0)>>>5)+1|0;a=an(o<<2)|0;f[h>>2]=a;f[g>>2]=0;f[d>>2]=o;b=f[b+20>>2]|0;f[j>>2]=b;f[j+4>>2]=0;o=f[e>>2]|0;f[l>>2]=b+(o>>>5<<2);f[l+4>>2]=o&31;f[k>>2]=f[j>>2];f[k+4>>2]=f[j+4>>2];f[m>>2]=f[l>>2];f[m+4>>2]=f[l+4>>2];$f(h,k,m);u=n;return}function nf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>3>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>3;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){m=c;l=f[m+4>>2]|0;k=e;f[k>>2]=f[m>>2];f[k+4>>2]=l;d=d+-1|0;if(!d)break;else e=e+8|0}}if(!g){d=j+(b<<3)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-8-d|0)>>>3)<<3)|0;break}}else{g=b-h|0;d=i;e=g;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=a;d=i+(g<<3)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-8-h|0)>>>3)<<3);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>536870911)Fp(a);m=d>>2;d=d>>3>>>0<268435455?(m>>>0>>0?b:m):536870911;if(d>>>0>536870911)Fp(a);h=an(d<<3)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<3);d=h;e=b;while(1){k=c;l=f[k+4>>2]|0;m=d;f[m>>2]=f[k>>2];f[m+4>>2]=l;e=e+-1|0;if(!e)break;else d=d+8|0}e=g;d=h+(b<<3)|0}while(0);f[e>>2]=d;return}function of(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+48|0;i=l+8|0;j=l+4|0;k=l;g=0;do{h=g;g=g+1|0;c=a+60+(h*12|0)+4|0;Rh(f[c>>2]|0,b)|0;if(f[c>>2]|0){cn(i);Uk(i);c=(f[c>>2]|0)-g|0;if((c|0)>-1){e=a+60+(h*12|0)|0;do{d=0;while(1){m=d+c|0;$i(i,(f[(f[e>>2]|0)+(m>>>5<<2)>>2]&1<<(m&31)|0)!=0);if((d|0)<(h|0))d=d+1|0;else break}c=c-g|0}while((c|0)>-1)}ed(i,b);qj(i)}}while((g|0)<4);f[k>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[k>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=l;return 1}f[j>>2]=f[b+4>>2];f[i>>2]=f[j>>2];Ke(b,i,k,k+4|0)|0;u=l;return 1}function pf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=f[c>>2]|0;m=f[l>>2]|0;g=f[a+4>>2]|0;c=f[l+4>>2]|0;i=g+-1|0;j=(i&g|0)==0;if(!j)if(c>>>0>>0)h=c;else h=(c>>>0)%(g>>>0)|0;else h=i&c;d=(f[a>>2]|0)+(h<<2)|0;k=f[d>>2]|0;while(1){c=f[k>>2]|0;if((c|0)==(l|0))break;else k=c}if((k|0)!=(a+8|0)){c=f[k+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;e=21}else e=13}else e=13;do if((e|0)==13){if(m|0){c=f[m+4>>2]|0;if(!j){if(c>>>0>=g>>>0)c=(c>>>0)%(g>>>0)|0}else c=c&i;if((c|0)==(h|0)){d=m;c=m;e=22;break}}f[d>>2]=0;d=f[l>>2]|0;e=21}while(0);if((e|0)==21){c=d;if(d)e=22}if((e|0)==22){d=f[d+4>>2]|0;if(!j){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0}else d=d&i;if((d|0)!=(h|0)){f[(f[a>>2]|0)+(d<<2)>>2]=k;c=f[l>>2]|0}}f[k>>2]=c;f[l>>2]=0;a=a+12|0;f[a>>2]=(f[a>>2]|0)+-1;if(!l)return m|0;d=l+8|0;c=f[l+20>>2]|0;if(c|0){e=l+24|0;if((f[e>>2]|0)!=(c|0))f[e>>2]=c;pq(c)}if((b[d+11>>0]|0)<0)pq(f[d>>2]|0);pq(l);return m|0}function qf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ke(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ke(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;wm(c);b=a+32|0;wm(b);m=a+52|0;wm(m);n=a+72|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];ib(a,i,k);ng(c,e);ng(b,e);ng(m,e);ng(n,e);u=l;return 1}function rf(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;k=l+12|0;i=l+8|0;h=l+4|0;j=l;f[a>>2]=f[d>>2];g=f[c>>2]|0;d=f[b>>2]|0;b=a+4|0;f[b>>2]=(g-d|0)/12|0;c=e+16|0;m=c;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)?(f[i>>2]=f[e+4>>2],f[k>>2]=f[i>>2],Ke(e,k,a,a+4|0)|0,n=c,m=f[n+4>>2]|0,!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)):0){f[i>>2]=f[e+4>>2];f[k>>2]=f[i>>2];Ke(e,k,b,b+4|0)|0}if(!(f[b>>2]|0)){u=l;return 1}c=a+12|0;Uk(c);b=a+44|0;wm(b);m=a+64|0;wm(m);n=a+84|0;wm(n);f[h>>2]=d;f[j>>2]=g;f[i>>2]=f[h>>2];f[k>>2]=f[j>>2];jb(a,i,k);ed(c,e);ng(b,e);ng(m,e);ng(n,e);u=l;return 1}function sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;j=n+12|0;k=n+8|0;d=n+4|0;g=n;if(!b){c=an(76)|0;b=an(12)|0;e=f[(f[a+4>>2]|0)+80>>2]|0;f[b+4>>2]=0;f[b>>2]=3796;f[b+8>>2]=e;f[g>>2]=b;jl(c,g,0);f[d>>2]=c;b=a+12|0;e=f[b>>2]|0;if(e>>>0<(f[a+16>>2]|0)>>>0){f[d>>2]=0;f[e>>2]=c;f[b>>2]=e+4}else Lg(a+8|0,d);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[g>>2]|0;f[g>>2]=0;if(!c){u=n;return 1}Ra[f[(f[c>>2]|0)+4>>2]&127](c);u=n;return 1}e=f[f[a+8>>2]>>2]|0;f[j>>2]=b;m=e+4|0;l=e+8|0;c=f[l>>2]|0;if((c|0)==(f[e+12>>2]|0))Gi(m,j);else{f[c>>2]=b;f[l>>2]=c+4}d=f[j>>2]|0;h=e+16|0;b=e+20|0;e=f[b>>2]|0;c=f[h>>2]|0;g=e-c>>2;if((d|0)>=(g|0)){a=d+1|0;f[k>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(i=c+(a<<2)|0,(e|0)!=(i|0)):0)f[b>>2]=e+(~((e+-4-i|0)>>>2)<<2)}else{lh(h,a-g|0,k);d=f[j>>2]|0;c=f[h>>2]|0}}f[c+(d<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;u=n;return 1} +function Ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Ib(t,l,c);a=l+4|0}if((s|0)==82){s=0;Ib(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Jb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Jb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Kb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Kb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Kb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Lb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Lb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Lb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Mb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=Ka;F=u;u=u+16|0;B=F;x=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[x>>2]=$(1.0);E=a+20|0;f[E>>2]=0;f[E+4>>2]=0;f[E+8>>2]=0;f[E+12>>2]=0;n[a+36>>2]=$(1.0);d=f[c+8>>2]|0;a:do if(d|0){z=a+4|0;A=a+12|0;y=a+8|0;e=d;w=d;while(1){v=e+8|0;r=b[v+11>>0]|0;t=r<<24>>24<0;s=t?f[v>>2]|0:v;r=t?f[e+12>>2]|0:r&255;if(r>>>0>3){e=s;d=r;g=r;while(1){t=X(h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24,1540483477)|0;d=(X(t>>>24^t,1540483477)|0)^(X(d,1540483477)|0);g=g+-4|0;if(g>>>0<=3)break;else e=e+4|0}t=r+-4|0;e=t&-4;g=s+(e+4)|0;e=t-e|0}else{g=s;d=r;e=r}switch(e|0){case 3:{d=h[g+2>>0]<<16^d;D=8;break}case 2:{D=8;break}case 1:{D=9;break}default:{}}if((D|0)==8){d=h[g+1>>0]<<8^d;D=9}if((D|0)==9){D=0;d=X(h[g>>0]^d,1540483477)|0}t=X(d>>>13^d,1540483477)|0;t=t>>>15^t;i=f[z>>2]|0;q=(i|0)==0;b:do if(!q){p=i+-1|0;g=(p&i|0)==0;if(!g)if(t>>>0>>0)e=t;else e=(t>>>0)%(i>>>0)|0;else e=t&p;d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(C=f[d>>2]|0,(C|0)!=0):0){d=(r|0)==0;if(g){if(d){d=C;while(1){s=f[d+4>>2]|0;if(!((s|0)==(t|0)|(s&p|0)==(e|0))){D=50;break b}s=b[d+8+11>>0]|0;if(!((s<<24>>24<0?f[d+12>>2]|0:s&255)|0))break b;d=f[d>>2]|0;if(!d){D=50;break b}}}else l=C;while(1){k=f[l+4>>2]|0;if(!((k|0)==(t|0)|(k&p|0)==(e|0))){D=50;break b}d=l+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[l+12>>2]|0:j)|0)==(r|0)){g=f[d>>2]|0;if(k)if(!(fl(g,s,r)|0))break b;else break;if((g&255)<<24>>24==(b[s>>0]|0)){g=s;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){D=50;break b}}}if(d){g=C;while(1){d=f[g+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0;if((d|0)!=(e|0)){D=50;break b}}s=b[g+8+11>>0]|0;if(!((s<<24>>24<0?f[g+12>>2]|0:s&255)|0))break b;g=f[g>>2]|0;if(!g){D=50;break b}}}else l=C;while(1){d=f[l+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0;if((d|0)!=(e|0)){D=50;break b}}d=l+8|0;j=b[d+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?f[l+12>>2]|0:j)|0)==(r|0)){g=f[d>>2]|0;if(k)if(!(fl(g,s,r)|0))break b;else break;if((g&255)<<24>>24==(b[s>>0]|0)){g=s;do{j=j+-1|0;d=d+1|0;if(!j)break b;g=g+1|0}while((b[d>>0]|0)==(b[g>>0]|0))}}while(0);l=f[l>>2]|0;if(!l){D=50;break}}}else D=50}else{e=0;D=50}while(0);if((D|0)==50){D=0;Vh(B,a,t,v);o=$(((f[A>>2]|0)+1|0)>>>0);G=$(i>>>0);m=$(n[x>>2]);do if(q|o>$(G*m)){d=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(o/m)))>>>0;Wh(a,d>>>0>>0?e:d);d=f[z>>2]|0;e=d+-1|0;if(!(e&d)){i=d;e=e&t;break}if(t>>>0>>0){i=d;e=t}else{i=d;e=(t>>>0)%(d>>>0)|0}}while(0);d=f[(f[a>>2]|0)+(e<<2)>>2]|0;if(!d){f[f[B>>2]>>2]=f[y>>2];f[y>>2]=f[B>>2];f[(f[a>>2]|0)+(e<<2)>>2]=y;g=f[B>>2]|0;d=f[g>>2]|0;if(d|0){d=f[d+4>>2]|0;e=i+-1|0;if(e&i){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&e;f[(f[a>>2]|0)+(d<<2)>>2]=g}}else{f[f[B>>2]>>2]=f[d>>2];f[d>>2]=f[B>>2]}f[A>>2]=(f[A>>2]|0)+1}d=f[w>>2]|0;if(!d)break a;else{e=d;w=d}}}while(0);d=f[c+28>>2]|0;if(!d){u=F;return}do{D=d;a=an(40)|0;Mb(a,f[D+20>>2]|0);D=xc(E,D+8|0)|0;l=f[D>>2]|0;f[D>>2]=a;if(l|0){e=f[l+28>>2]|0;if(e|0)do{D=e;e=f[e>>2]|0;ei(D+8|0);pq(D)}while((e|0)!=0);D=l+20|0;e=f[D>>2]|0;f[D>>2]=0;if(e|0)pq(e);e=f[l+8>>2]|0;if(e|0)do{j=e;e=f[e>>2]|0;k=j+8|0;g=f[j+20>>2]|0;if(g|0){i=j+24|0;if((f[i>>2]|0)!=(g|0))f[i>>2]=g;pq(g)}if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);pq(j)}while((e|0)!=0);e=f[l>>2]|0;f[l>>2]=0;if(e|0)pq(e);pq(l)}d=f[d>>2]|0}while((d|0)!=0);u=F;return}function Nb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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;W=u;u=u+16|0;S=W+8|0;U=W;R=W+4|0;T=a+16|0;d=f[T>>2]|0;Q=a+20|0;c=f[Q>>2]|0;if((c|0)==(d|0))c=d;else{c=c+(~((c+-4-d|0)>>>2)<<2)|0;f[Q>>2]=c}N=a+24|0;if((c|0)==(f[N>>2]|0)){Gi(T,b);d=f[T>>2]|0;e=f[Q>>2]|0}else{f[c>>2]=f[b>>2];e=c+4|0;f[Q>>2]=e}c=f[a+8>>2]|0;c=(f[c+100>>2]|0)-(f[c+96>>2]|0)|0;M=(c|0)/12|0;if((d|0)==(e|0)){u=W;return 1}L=a+28|0;A=(c|0)>0;C=a+164|0;z=a+12|0;x=a+76|0;y=a+80|0;I=a+72|0;J=a+200|0;K=a+320|0;w=a+152|0;q=a+84|0;G=a+324|0;v=a+292|0;r=a+304|0;H=a+316|0;E=a+328|0;s=a+336|0;D=a+332|0;F=a+168|0;t=a+140|0;B=a+120|0;c=e;do{d=f[c+-4>>2]|0;f[b>>2]=d;a:do if((d|0)>=0?(p=(d>>>0)/3|0,O=f[L>>2]|0,(f[O+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){if(A){d=O;c=0;while(1){p=c+1|0;f[C>>2]=(f[C>>2]|0)+1;o=f[b>>2]|0;o=(o|0)<0?-1073741824:(o>>>0)/3|0;c=d+(o>>>5<<2)|0;f[c>>2]=1<<(o&31)|f[c>>2];c=f[x>>2]|0;if((c|0)==(f[y>>2]|0))Gi(I,b);else{f[c>>2]=f[b>>2];f[x>>2]=c+4}f[K>>2]=f[b>>2];d=f[b>>2]|0;if((d|0)<0)n=-1073741824;else n=f[(f[f[z>>2]>>2]|0)+(d<<2)>>2]|0;m=(f[(f[w>>2]|0)+(n<<2)>>2]|0)!=-1;e=(f[q>>2]|0)+(n>>>5<<2)|0;g=1<<(n&31);c=f[e>>2]|0;do if(!(c&g)){f[e>>2]=c|g;if(m){d=f[b>>2]|0;V=38;break}f[G>>2]=(f[G>>2]|0)+1;d=f[K>>2]|0;c=d+1|0;do if((d|0)>=0){c=((c|0)%3|0|0)==0?d+-2|0:c;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}else c=d;while(0);e=f[v>>2]|0;o=f[r>>2]|0;n=o+(f[e+(c<<2)>>2]<<2)|0;c=f[n>>2]|0;f[n>>2]=c+-1;e=o+(f[e+(d<<2)>>2]<<2)|0;f[e>>2]=(f[e>>2]|0)+-1;e=f[H>>2]|0;if((e|0)!=-1){d=f[E>>2]|0;if((c|0)<(d|0))c=d;else{o=f[D>>2]|0;c=(c|0)>(o|0)?o:c}h=c-d|0;g=f[s>>2]|0;c=f[3612+(e<<2)>>2]|0;f[S>>2]=c;e=g+(h*12|0)+4|0;d=f[e>>2]|0;if(d>>>0<(f[g+(h*12|0)+8>>2]|0)>>>0){f[d>>2]=c;f[e>>2]=d+4}else Gi(g+(h*12|0)|0,S)}f[H>>2]=0;c=f[b>>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=f[(f[(f[z>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}f[b>>2]=c}else V=38;while(0);if((V|0)==38){V=0;l=(d|0)<0;j=d+1|0;if(!l){c=((j|0)%3|0|0)==0?d+-2|0:j;if((c|0)<0)e=c;else e=f[(f[(f[z>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;f[U>>2]=e;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[(f[z>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;i=(e|0)<0;h=i?-1073741824:(e>>>0)/3|0;g=(c|0)<0;k=g?-1073741824:(c>>>0)/3|0;e=((j|0)%3|0|0)==0?d+-2|0:j;if((e|0)>=0)e=f[(f[(f[z>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}else{f[U>>2]=d;g=1;i=1;c=d;k=-1073741824;h=-1073741824;e=d}if((e|0)!=-1073741824?(j=(e|0)<0?-1073741824:(e>>>0)/3|0,P=f[L>>2]|0,(f[P+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!l){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)!=-1073741824?(l=(d|0)<0?-1073741824:(d>>>0)/3|0,(f[P+(l>>>5<<2)>>2]&1<<(l&31)|0)==0):0){V=67;break}if(!g)vf(a,f[C>>2]|0,o,0,k);fd(J,3);c=f[U>>2]|0}else{if(!i){vf(a,f[C>>2]|0,o,1,h);d=f[b>>2]|0}if((d|0)>=0){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)==-1073741824){V=55;break}n=(d|0)<0?-1073741824:(d>>>0)/3|0;if(f[(f[L>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0){V=55;break}fd(J,5)}f[b>>2]=c}if((p|0)>=(M|0))break a;d=f[L>>2]|0;c=p}do if((V|0)==55){V=0;if(!g)vf(a,f[C>>2]|0,o,0,k);fd(J,7);f[Q>>2]=(f[Q>>2]|0)+-4}else if((V|0)==67){V=0;fd(J,1);f[F>>2]=(f[F>>2]|0)+1;if(m?(p=f[(f[w>>2]|0)+(n<<2)>>2]|0,(1<<(p&31)&f[(f[t>>2]|0)+(p>>>5<<2)>>2]|0)==0):0){f[R>>2]=f[b>>2];f[S>>2]=f[R>>2];Ge(a,S,0)|0}p=f[C>>2]|0;f[S>>2]=o;d=ue(B,S)|0;f[d>>2]=p;d=f[Q>>2]|0;f[d+-4>>2]=c;if((d|0)==(f[N>>2]|0)){Gi(T,U);break}else{f[d>>2]=f[U>>2];f[Q>>2]=d+4;break}}while(0)}}else V=11;while(0);if((V|0)==11){V=0;f[Q>>2]=c+-4}c=f[Q>>2]|0}while((f[T>>2]|0)!=(c|0));u=W;return 1}function Ob(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;Q=u;u=u+48|0;P=Q+16|0;K=Q+12|0;N=Q;F=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[F>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;a:do if(!g){i=0;o=0}else{if(g>>>0>1073741823)Fp(N);D=g<<2;w=an(D)|0;f[N>>2]=w;C=w+(g<<2)|0;f[N+8>>2]=C;cj(w|0,0,D|0)|0;f[O>>2]=C;C=c+48|0;D=c+40|0;y=P+4|0;B=P+12|0;z=P+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;t=0;e=w;w=0;o=0;while(1){m=x+w|0;r=C;l=f[r>>2]|0;r=f[r+4>>2]|0;v=D;v=$m(m|0,((m|0)<0)<<31>>31|0,f[v>>2]|0,f[v+4>>2]|0)|0;r=Mn(v|0,I|0,l|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;f[K>>2]=r;l=r&65535;v=r>>>16;m=v&65535;v=(r&65535^318)+239^v;s=(t|0)==0;b:do if(!s){j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)k=v;else k=(v>>>0)%(t>>>0)|0;else k=v&j;g=f[(f[P>>2]|0)+(k<<2)>>2]|0;do if(g|0?(H=f[g>>2]|0,H|0):0){c:do if(i){g=H;while(1){R=f[g+4>>2]|0;i=(R|0)==(v|0);if(!(i|(R&j|0)==(k|0))){k=27;break c}if((i?(J=g+8|0,(d[J>>1]|0)==l<<16>>16):0)?(d[J+2>>1]|0)==m<<16>>16:0){k=26;break c}g=f[g>>2]|0;if(!g){k=27;break}}}else{g=H;while(1){i=f[g+4>>2]|0;if((i|0)==(v|0)){R=g+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=26;break c}}else{if(i>>>0>=t>>>0)i=(i>>>0)%(t>>>0)|0;if((i|0)!=(k|0)){k=27;break c}}g=f[g>>2]|0;if(!g){k=27;break}}}while(0);if((k|0)==26){k=0;f[e+(w<<2)>>2]=f[g+12>>2];break b}else if((k|0)==27)if(s){g=0;k=46;break b}else break}while(0);j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)g=v;else g=(v>>>0)%(t>>>0)|0;else g=j&v;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0){if(i){e=G;while(1){R=f[e+4>>2]|0;if(!((R|0)==(v|0)|(R&j|0)==(g|0))){k=46;break b}R=e+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=61;break b}e=f[e>>2]|0;if(!e){k=46;break b}}}else i=G;while(1){e=f[i+4>>2]|0;if((e|0)!=(v|0)){if(e>>>0>=t>>>0)e=(e>>>0)%(t>>>0)|0;if((e|0)!=(g|0)){k=46;break b}}R=i+8|0;if((d[R>>1]|0)==l<<16>>16?(d[R+2>>1]|0)==m<<16>>16:0){k=61;break b}i=f[i>>2]|0;if(!i){k=46;break}}}else k=46}else{g=0;k=46}while(0);if((k|0)==46){k=0;j=an(16)|0;R=j+8|0;d[R>>1]=r;d[R+2>>1]=r>>>16;f[j+12>>2]=o;f[j+4>>2]=v;f[j>>2]=0;q=$(((f[B>>2]|0)+1|0)>>>0);S=$(t>>>0);p=$(n[F>>2]);do if(s|q>$(S*p)){g=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;e=~~$(W($(q/p)))>>>0;Ch(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&v;break}if(v>>>0>>0){i=g;g=v}else{i=g;g=(v>>>0)%(g>>>0)|0}}else i=t;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[z>>2];f[z>>2]=j;f[e>>2]=z;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;k=59}}else{f[j>>2]=f[g>>2];k=59}if((k|0)==59)f[g>>2]=j;f[B>>2]=(f[B>>2]|0)+1;k=61}if((k|0)==61){R=E;e=f[R>>2]|0;R=$m(e|0,f[R+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;Rg((f[f[A>>2]>>2]|0)+R|0,K|0,e|0)|0;e=f[N>>2]|0;f[e+(w<<2)>>2]=o;o=o+1|0}g=w+1|0;i=f[M>>2]|0;if((g|0)>=(i|0))break a;t=f[y>>2]|0;w=g}}while(0);if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[N>>2]|0;e=g>>2;g=0;do{R=i+(g<<2)|0;f[R>>2]=f[j+(f[R>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(L=g+(i<<2)|0,(e|0)!=(L|0)):0)f[j>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[M>>2]|0}if((i|0)>0){j=f[N>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[M>>2]=o}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[P+8>>2]|0;if(g|0)do{R=g;g=f[g>>2]|0;pq(R)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return o|0}pq(g);u=Q;return o|0}function Pb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;Q=u;u=u+48|0;P=Q+12|0;K=Q+32|0;N=Q;F=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[F>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;a:do if(!g){i=0;o=0}else{if(g>>>0>1073741823)Fp(N);D=g<<2;w=an(D)|0;f[N>>2]=w;C=w+(g<<2)|0;f[N+8>>2]=C;cj(w|0,0,D|0)|0;f[O>>2]=C;C=c+48|0;D=c+40|0;y=P+4|0;B=P+12|0;z=P+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;t=0;e=w;w=0;o=0;while(1){m=x+w|0;r=C;l=f[r>>2]|0;r=f[r+4>>2]|0;v=D;v=$m(m|0,((m|0)<0)<<31>>31|0,f[v>>2]|0,f[v+4>>2]|0)|0;r=Mn(v|0,I|0,l|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8;d[K>>1]=r;l=r&255;v=(r&65535)>>>8;m=v&255;v=((r&255^318)+239<<16>>16^v)&65535;s=(t|0)==0;b:do if(!s){j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)k=v;else k=(v>>>0)%(t>>>0)|0;else k=v&j;g=f[(f[P>>2]|0)+(k<<2)>>2]|0;do if(g|0?(H=f[g>>2]|0,H|0):0){c:do if(i){g=H;while(1){R=f[g+4>>2]|0;i=(R|0)==(v|0);if(!(i|(R&j|0)==(k|0))){k=27;break c}if((i?(J=g+8|0,(b[J>>0]|0)==l<<24>>24):0)?(b[J+1>>0]|0)==m<<24>>24:0){k=26;break c}g=f[g>>2]|0;if(!g){k=27;break}}}else{g=H;while(1){i=f[g+4>>2]|0;if((i|0)==(v|0)){R=g+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=26;break c}}else{if(i>>>0>=t>>>0)i=(i>>>0)%(t>>>0)|0;if((i|0)!=(k|0)){k=27;break c}}g=f[g>>2]|0;if(!g){k=27;break}}}while(0);if((k|0)==26){k=0;f[e+(w<<2)>>2]=f[g+12>>2];break b}else if((k|0)==27)if(s){g=0;k=46;break b}else break}while(0);j=t+-1|0;i=(j&t|0)==0;if(!i)if(v>>>0>>0)g=v;else g=(v>>>0)%(t>>>0)|0;else g=j&v;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(G=f[e>>2]|0,(G|0)!=0):0){if(i){e=G;while(1){R=f[e+4>>2]|0;if(!((R|0)==(v|0)|(R&j|0)==(g|0))){k=46;break b}R=e+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=61;break b}e=f[e>>2]|0;if(!e){k=46;break b}}}else i=G;while(1){e=f[i+4>>2]|0;if((e|0)!=(v|0)){if(e>>>0>=t>>>0)e=(e>>>0)%(t>>>0)|0;if((e|0)!=(g|0)){k=46;break b}}R=i+8|0;if((b[R>>0]|0)==l<<24>>24?(b[R+1>>0]|0)==m<<24>>24:0){k=61;break b}i=f[i>>2]|0;if(!i){k=46;break}}}else k=46}else{g=0;k=46}while(0);if((k|0)==46){k=0;j=an(16)|0;R=j+8|0;b[R>>0]=r;b[R+1>>0]=r>>8;f[j+12>>2]=o;f[j+4>>2]=v;f[j>>2]=0;q=$(((f[B>>2]|0)+1|0)>>>0);S=$(t>>>0);p=$(n[F>>2]);do if(s|q>$(S*p)){g=(t>>>0<3|(t+-1&t|0)!=0)&1|t<<1;e=~~$(W($(q/p)))>>>0;Jh(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&v;break}if(v>>>0>>0){i=g;g=v}else{i=g;g=(v>>>0)%(g>>>0)|0}}else i=t;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[z>>2];f[z>>2]=j;f[e>>2]=z;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;k=59}}else{f[j>>2]=f[g>>2];k=59}if((k|0)==59)f[g>>2]=j;f[B>>2]=(f[B>>2]|0)+1;k=61}if((k|0)==61){R=E;e=f[R>>2]|0;R=$m(e|0,f[R+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;Rg((f[f[A>>2]>>2]|0)+R|0,K|0,e|0)|0;e=f[N>>2]|0;f[e+(w<<2)>>2]=o;o=o+1|0}g=w+1|0;i=f[M>>2]|0;if((g|0)>=(i|0))break a;t=f[y>>2]|0;w=g}}while(0);if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[N>>2]|0;e=g>>2;g=0;do{R=i+(g<<2)|0;f[R>>2]=f[j+(f[R>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(L=g+(i<<2)|0,(e|0)!=(L|0)):0)f[j>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[M>>2]|0}if((i|0)>0){j=f[N>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[M>>2]=o}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[P+8>>2]|0;if(g|0)do{R=g;g=f[g>>2]|0;pq(R)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return o|0}pq(g);u=Q;return o|0}function Qb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;N=u;u=u+48|0;M=N+20|0;G=N;K=N+8|0;D=M+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;n[D>>2]=$(1.0);J=a+80|0;e=f[J>>2]|0;f[K>>2]=0;L=K+4|0;f[L>>2]=0;f[K+8>>2]=0;a:do if(!e){g=0;m=0}else{if(e>>>0>1073741823)Fp(K);B=e<<2;t=an(B)|0;f[K>>2]=t;A=t+(e<<2)|0;f[K+8>>2]=A;cj(t|0,0,B|0)|0;f[L>>2]=A;A=c+48|0;B=c+40|0;w=M+4|0;z=M+12|0;x=M+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;r=0;d=t;t=0;m=0;while(1){q=v+t|0;l=A;k=f[l>>2]|0;l=f[l+4>>2]|0;s=B;s=$m(q|0,((q|0)<0)<<31>>31|0,f[s>>2]|0,f[s+4>>2]|0)|0;l=Mn(s|0,I|0,k|0,l|0)|0;l=(f[f[c>>2]>>2]|0)+l|0;k=l;k=h[k>>0]|h[k+1>>0]<<8|h[k+2>>0]<<16|h[k+3>>0]<<24;l=l+4|0;l=h[l>>0]|h[l+1>>0]<<8|h[l+2>>0]<<16|h[l+3>>0]<<24;s=G;f[s>>2]=k;f[s+4>>2]=l;s=(k^318)+239^l;q=(r|0)==0;b:do if(!q){i=r+-1|0;g=(i&r|0)==0;if(!g)if(s>>>0>>0)j=s;else j=(s>>>0)%(r>>>0)|0;else j=s&i;e=f[(f[M>>2]|0)+(j<<2)>>2]|0;do if(e|0?(F=f[e>>2]|0,F|0):0){c:do if(g){e=F;while(1){O=f[e+4>>2]|0;g=(O|0)==(s|0);if(!(g|(O&i|0)==(j|0))){j=27;break c}if((g?(f[e+8>>2]|0)==(k|0):0)?(f[e+12>>2]|0)==(l|0):0){j=26;break c}e=f[e>>2]|0;if(!e){j=27;break}}}else{e=F;while(1){g=f[e+4>>2]|0;if((g|0)==(s|0)){if((f[e+8>>2]|0)==(k|0)?(f[e+12>>2]|0)==(l|0):0){j=26;break c}}else{if(g>>>0>=r>>>0)g=(g>>>0)%(r>>>0)|0;if((g|0)!=(j|0)){j=27;break c}}e=f[e>>2]|0;if(!e){j=27;break}}}while(0);if((j|0)==26){j=0;f[d+(t<<2)>>2]=f[e+16>>2];break b}else if((j|0)==27)if(q){e=0;j=46;break b}else break}while(0);i=r+-1|0;g=(i&r|0)==0;if(!g)if(s>>>0>>0)e=s;else e=(s>>>0)%(r>>>0)|0;else e=i&s;d=f[(f[M>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(E=f[d>>2]|0,(E|0)!=0):0){if(g){d=E;while(1){O=f[d+4>>2]|0;if(!((O|0)==(s|0)|(O&i|0)==(e|0))){j=46;break b}if((f[d+8>>2]|0)==(k|0)?(f[d+12>>2]|0)==(l|0):0){j=61;break b}d=f[d>>2]|0;if(!d){j=46;break b}}}else g=E;while(1){d=f[g+4>>2]|0;if((d|0)!=(s|0)){if(d>>>0>=r>>>0)d=(d>>>0)%(r>>>0)|0;if((d|0)!=(e|0)){j=46;break b}}if((f[g+8>>2]|0)==(k|0)?(f[g+12>>2]|0)==(l|0):0){j=61;break b}g=f[g>>2]|0;if(!g){j=46;break}}}else j=46}else{e=0;j=46}while(0);if((j|0)==46){j=0;i=an(20)|0;O=i+8|0;f[O>>2]=k;f[O+4>>2]=l;f[i+16>>2]=m;f[i+4>>2]=s;f[i>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);P=$(r>>>0);o=$(n[D>>2]);do if(q|p>$(P*o)){e=(r>>>0<3|(r+-1&r|0)!=0)&1|r<<1;d=~~$(W($(p/o)))>>>0;Gh(M,e>>>0>>0?d:e);e=f[w>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&s;break}if(s>>>0>>0){g=e;e=s}else{g=e;e=(s>>>0)%(e>>>0)|0}}else g=r;while(0);d=(f[M>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[x>>2];f[x>>2]=i;f[d>>2]=x;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[M>>2]|0)+(e<<2)|0;j=59}}else{f[i>>2]=f[e>>2];j=59}if((j|0)==59)f[e>>2]=i;f[z>>2]=(f[z>>2]|0)+1;j=61}if((j|0)==61){O=C;d=f[O>>2]|0;O=$m(d|0,f[O+4>>2]|0,m|0,((m|0)<0)<<31>>31|0)|0;Rg((f[f[y>>2]>>2]|0)+O|0,G|0,d|0)|0;d=f[K>>2]|0;f[d+(t<<2)>>2]=m;m=m+1|0}e=t+1|0;g=f[J>>2]|0;if((e|0)>=(g|0))break a;r=f[w>>2]|0;t=e}}while(0);if((m|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[K>>2]|0;d=e>>2;e=0;do{O=g+(e<<2)|0;f[O>>2]=f[i+(f[O>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(H=e+(g<<2)|0,(d|0)!=(H|0)):0)f[i>>2]=d+(~((d+-4-H|0)>>>2)<<2)}else{lh(j,g-k|0,1220);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[J>>2]=m}e=f[K>>2]|0;if(e|0){d=f[L>>2]|0;if((d|0)!=(e|0))f[L>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[M+8>>2]|0;if(e|0)do{O=e;e=f[e>>2]|0;pq(O)}while((e|0)!=0);e=f[M>>2]|0;f[M>>2]=0;if(!e){u=N;return m|0}pq(e);u=N;return m|0}function Rb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+352|0;if(b[k>>0]|0?(z=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))Gi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{lh(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))ra(20748,20641,60,20738);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=an(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3452;n=h+12|0;f[n>>2]=3476;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3476;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3476;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Zg(x+8|0,g,y);Ra[f[(f[x>>2]|0)+8>>2]&127](x);gf(v,x);gf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;Xf(g,y)|0;f[y>>2]=3476;d=f[y+20>>2]|0;if(d|0)pq(d);d=f[y+8>>2]|0;if(d|0)pq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3476;d=f[v+20>>2]|0;if(d|0)pq(d);d=f[v+8>>2]|0;if(d|0)pq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];Xf(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;_f(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}f[r>>2]=3476;d=f[w+24>>2]|0;if(d|0)pq(d);d=f[w+12>>2]|0;if(d|0)pq(d);f[x>>2]=3476;d=f[x+20>>2]|0;if(d|0)pq(d);d=f[x+8>>2]|0;if(d|0)pq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((fi(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Pe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Ld(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=an(76)|0;f[A>>2]=h;jl(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))Gi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else Lg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Sb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=u;u=u+192|0;y=C+152|0;B=C+144|0;x=C+72|0;w=C;v=C+112|0;A=C+108|0;e=C+104|0;k=a+288|0;if(b[k>>0]|0?(z=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0,((f[z+12>>2]|0)-(f[z+8>>2]|0)|0)>0):0){g=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+8|0;g=f[f[g>>2]>>2]|0;f[y>>2]=c;m=g+4|0;l=g+8|0;d=f[l>>2]|0;if((d|0)==(f[g+12>>2]|0))Gi(m,y);else{f[d>>2]=c;f[l>>2]=d+4}e=f[y>>2]|0;k=g+16|0;h=g+20|0;g=f[h>>2]|0;d=f[k>>2]|0;j=g-d>>2;if((e|0)>=(j|0)){i=e+1|0;f[B>>2]=-1;if(i>>>0<=j>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(g|0)!=(n|0)):0)f[h>>2]=g+(~((g+-4-n|0)>>>2)<<2)}else{lh(k,i-j|0,B);e=f[y>>2]|0;d=f[k>>2]|0}}f[d+(e<<2)>>2]=((f[l>>2]|0)-(f[m>>2]|0)>>2)+-1;B=1;u=C;return B|0}h=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+52|0;h=f[(f[(f[h>>2]|0)+84>>2]|0)+(c<<2)>>2]|0;d=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+4|0;d=f[d>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);g=f[d+8>>2]|0;if(((f[d+12>>2]|0)-g>>2|0)<=(c|0))ra(20748,20641,60,20738);j=f[g+(c<<2)>>2]|0;f[B>>2]=-1;z=a+172|0;d=f[a+176>>2]|0;g=f[z>>2]|0;t=g;a:do if((d|0)==(g|0))m=-1;else{g=(d-g|0)/108|0;d=0;while(1){if((f[t+(d*108|0)>>2]|0)==(c|0))break;d=d+1|0;if(d>>>0>=g>>>0){m=-1;break a}}f[B>>2]=d;m=d}while(0);b:do if(!(b[k>>0]|0)){d=(f[j+56>>2]|0)==0;do if(!((h|0)==0|d)){if((h|0)==1?b[t+(m*108|0)+28>>0]|0:0)break;h=an(88)|0;j=f[a+8>>2]|0;l=t+(m*108|0)+76|0;f[h+4>>2]=0;f[h>>2]=3452;n=h+12|0;f[n>>2]=3476;o=h+64|0;f[o>>2]=0;f[h+68>>2]=0;f[h+72>>2]=0;g=h+16|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[h+76>>2]=j;f[h+80>>2]=l;p=h+84|0;f[p>>2]=0;f[x>>2]=3476;d=x+4|0;k=d+4|0;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;f[k+12>>2]=0;f[k+16>>2]=0;f[k+20>>2]=0;k=t+(m*108|0)+4|0;r=w+4|0;f[r>>2]=3476;q=w+56|0;f[q>>2]=0;s=w+60|0;f[s>>2]=0;f[w+64>>2]=0;g=w+8|0;i=g+44|0;do{f[g>>2]=0;g=g+4|0}while((g|0)<(i|0));f[d>>2]=k;g=f[t+(m*108|0)+68>>2]|0;g=((f[g+4>>2]|0)-(f[g>>2]|0)>>2>>>0)/3|0;b[y>>0]=0;Zg(x+8|0,g,y);Ra[f[(f[x>>2]|0)+8>>2]&127](x);gf(v,x);gf(y,v);f[w>>2]=f[y+4>>2];g=w+4|0;Xf(g,y)|0;f[y>>2]=3476;d=f[y+20>>2]|0;if(d|0)pq(d);d=f[y+8>>2]|0;if(d|0)pq(d);f[w+36>>2]=k;f[w+40>>2]=l;f[w+44>>2]=j;f[w+48>>2]=h;f[v>>2]=3476;d=f[v+20>>2]|0;if(d|0)pq(d);d=f[v+8>>2]|0;if(d|0)pq(d);f[p>>2]=a+72;f[h+8>>2]=f[w>>2];Xf(n,g)|0;d=h+44|0;y=w+36|0;f[d>>2]=f[y>>2];f[d+4>>2]=f[y+4>>2];f[d+8>>2]=f[y+8>>2];f[d+12>>2]=f[y+12>>2];b[d+16>>0]=b[y+16>>0]|0;_f(o,f[q>>2]|0,f[s>>2]|0);d=f[q>>2]|0;if(d|0){g=f[s>>2]|0;if((g|0)!=(d|0))f[s>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}f[r>>2]=3476;d=f[w+24>>2]|0;if(d|0)pq(d);d=f[w+12>>2]|0;if(d|0)pq(d);f[x>>2]=3476;d=f[x+20>>2]|0;if(d|0)pq(d);d=f[x+8>>2]|0;if(d|0)pq(d);g=0;i=58;break b}while(0);if(!d){b[t+(m*108|0)+72>>0]=0;d=t+(m*108|0)+76|0;i=30}else i=28}else i=28;while(0);if((i|0)==28){d=a+40|0;i=30}if((i|0)==30){x=(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)+48|0;do if((fi(f[x>>2]|0)|0)==0?(f[j+56>>2]|0)==0:0){if(b[k>>0]|0?(x=f[a+8>>2]|0,((f[x+12>>2]|0)-(f[x+8>>2]|0)|0)>4):0){i=35;break}Pe(y,a,d);d=f[y>>2]|0;g=1}else i=35;while(0);if((i|0)==35){Ld(y,a,d);d=f[y>>2]|0;g=0}if(!d)d=0;else{h=d;i=58}}if((i|0)==58){d=f[B>>2]|0;if((d|0)==-1)d=a+68|0;else d=(f[z>>2]|0)+(d*108|0)+104|0;f[d>>2]=g;i=an(76)|0;f[A>>2]=h;jl(i,A,c);d=f[A>>2]|0;f[A>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d);g=a+188|0;d=f[g>>2]|0;if((d|0)==(f[a+192>>2]|0))Gi(a+184|0,B);else{f[d>>2]=f[B>>2];f[g>>2]=d+4}h=Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0;f[e>>2]=i;g=h+12|0;d=f[g>>2]|0;if(d>>>0<(f[h+16>>2]|0)>>>0){f[e>>2]=0;f[d>>2]=i;f[g>>2]=d+4}else Lg(h+8|0,e);d=f[e>>2]|0;f[e>>2]=0;if(!d)d=1;else{Ra[f[(f[d>>2]|0)+4>>2]&127](d);d=1}}B=d;u=C;return B|0}function Tb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=a+8|0;f[K>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{H=f[b+(i<<2)>>2]|0;G=(H|0)<(g|0);g=G?H:g;h=G?h:(H|0)>(h|0)?H:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;H=1-g+h|0;f[a+20>>2]=H;g=(H|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(H&1))f[h>>2]=g+-1}y=f[a+48>>2]|0;z=f[a+52>>2]|0;A=e>>>0>1073741823?-1:e<<2;G=mq(A)|0;cj(G|0,0,A|0)|0;H=mq(A)|0;cj(H|0,0,A|0)|0;A=f[a+56>>2]|0;B=A+4|0;i=f[B>>2]|0;j=f[A>>2]|0;g=i-j|0;a:do if((g|0)>4){h=g>>2;s=(e|0)>0;v=a+16|0;r=a+32|0;x=a+12|0;w=a+28|0;u=a+20|0;t=a+24|0;q=y+12|0;p=e<<2;g=h+-1|0;if(i-j>>2>>>0>g>>>0){m=j;C=h;J=g}else Fp(A);while(1){o=f[m+(J<<2)>>2]|0;if(s)cj(G|0,0,p|0)|0;if((o|0)>-1){n=f[q>>2]|0;m=o;d=0;while(1){h=f[n+(m<<2)>>2]|0;if((h|0)>=0){i=f[y>>2]|0;j=f[z>>2]|0;l=f[j+(f[i+(h<<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=f[i+(g<<2)>>2]|0;k=f[j+(g<<2)>>2]|0;g=(((h>>>0)%3|0|0)==0?2:-1)+h|0;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;g=f[j+(g<<2)>>2]|0;if((l|0)<(J|0)&(k|0)<(J|0)&(g|0)<(J|0)){j=X(l,e)|0;i=X(k,e)|0;h=X(g,e)|0;if(s){g=0;do{f[H+(g<<2)>>2]=(f[b+(g+h<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+j<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(s){g=0;do{l=G+(g<<2)|0;f[l>>2]=(f[l>>2]|0)+(f[H+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}i=d+1|0}else i=d}else i=d;g=(((m>>>0)%3|0|0)==0?2:-1)+m|0;do if((g|0)>=0){g=f[n+(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);m=(g|0)==(o|0)?-1073741824:g;if((m|0)<=-1)break;else d=i}h=X(J,e)|0;if(i){if(s){g=0;do{o=G+(g<<2)|0;f[o>>2]=(f[o>>2]|0)/(i|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[K>>2]|0;if((g|0)>0){k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[v>>2]|0;if((g|0)>(h|0)){g=f[r>>2]|0;f[g+(j<<2)>>2]=h}else{n=f[x>>2]|0;o=f[r>>2]|0;f[o+(j<<2)>>2]=(g|0)<(n|0)?n:g;g=o}j=j+1|0}while((j|0)<(f[K>>2]|0));i=g}else i=f[r>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[w>>2]|0)){if((g|0)>(f[t>>2]|0)){g=g-(f[u>>2]|0)|0;L=67}}else{g=(f[u>>2]|0)+g|0;L=67}if((L|0)==67){L=0;f[h>>2]=g}k=k+1|0;g=f[K>>2]|0}while((k|0)<(g|0))}}else{I=h;L=40}}else{I=X(J,e)|0;L=40}if((L|0)==40?(L=0,E=b+(I<<2)|0,F=c+(I<<2)|0,D=f[K>>2]|0,(D|0)>0):0){h=D;k=0;j=b+((X(C+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[v>>2]|0;if((g|0)>(h|0)){g=f[r>>2]|0;f[g+(i<<2)>>2]=h}else{o=f[x>>2]|0;C=f[r>>2]|0;f[C+(i<<2)>>2]=(g|0)<(o|0)?o:g;g=C}i=i+1|0}while((i|0)<(f[K>>2]|0))}else g=f[r>>2]|0;h=(f[E+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=F+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[w>>2]|0)){if((h|0)>(f[t>>2]|0)){h=h-(f[u>>2]|0)|0;L=52}}else{h=(f[u>>2]|0)+h|0;L=52}if((L|0)==52){L=0;f[i>>2]=h}k=k+1|0;h=f[K>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((J|0)<=1)break a;m=f[A>>2]|0;g=J+-1|0;if((f[B>>2]|0)-m>>2>>>0<=g>>>0)break;else{C=J;J=g}}Fp(A)}while(0);if((e|0)>0)cj(G|0,0,e<<2|0)|0;g=f[K>>2]|0;if((g|0)<=0){nq(H);nq(G);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=G;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{J=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(J|0)?J:g;g=a}j=j+1|0}while((j|0)<(f[K>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;L=82}}else{g=(f[m>>2]|0)+g|0;L=82}if((L|0)==82){L=0;f[h>>2]=g}k=k+1|0;g=f[K>>2]|0}while((k|0)<(g|0));nq(H);nq(G);return 1}function Ub(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=a+8|0;f[N>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{J=f[b+(i<<2)>>2]|0;I=(J|0)<(g|0);g=I?J:g;h=I?h:(J|0)>(h|0)?J:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;J=1-g+h|0;f[a+20>>2]=J;g=(J|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(J&1))f[h>>2]=g+-1}x=f[a+48>>2]|0;y=f[a+52>>2]|0;z=e>>>0>1073741823?-1:e<<2;I=mq(z)|0;cj(I|0,0,z|0)|0;J=mq(z)|0;cj(J|0,0,z|0)|0;z=f[a+56>>2]|0;A=z+4|0;i=f[A>>2]|0;j=f[z>>2]|0;g=i-j|0;a:do if((g|0)>4){h=g>>2;q=(e|0)>0;u=a+16|0;p=a+32|0;w=a+12|0;v=a+28|0;t=a+20|0;s=a+24|0;r=x+64|0;o=x+28|0;n=e<<2;g=h+-1|0;if(i-j>>2>>>0>g>>>0){m=j;B=h;L=g}else Fp(z);while(1){m=f[m+(L<<2)>>2]|0;if(q)cj(I|0,0,n|0)|0;if((m|0)>-1){d=f[x>>2]|0;l=m;k=0;do{if(((f[d+(l>>>5<<2)>>2]&1<<(l&31)|0)==0?(M=f[(f[(f[r>>2]|0)+12>>2]|0)+(l<<2)>>2]|0,(M|0)>=0):0)?(E=f[o>>2]|0,j=f[y>>2]|0,C=f[j+(f[E+(M<<2)>>2]<<2)>>2]|0,D=M+1|0,D=f[j+(f[E+((((D|0)%3|0|0)==0?M+-2|0:D)<<2)>>2]<<2)>>2]|0,E=f[j+(f[E+((((M>>>0)%3|0|0)==0?2:-1)+M<<2)>>2]<<2)>>2]|0,(C|0)<(L|0)&(D|0)<(L|0)&(E|0)<(L|0)):0){h=X(C,e)|0;i=X(D,e)|0;j=X(E,e)|0;if(q){g=0;do{f[J+(g<<2)>>2]=(f[b+(g+j<<2)>>2]|0)+(f[b+(g+i<<2)>>2]|0)-(f[b+(g+h<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0));if(q){g=0;do{j=I+(g<<2)|0;f[j>>2]=(f[j>>2]|0)+(f[J+(g<<2)>>2]|0);g=g+1|0}while((g|0)!=(e|0))}}k=k+1|0}g=(((l>>>0)%3|0|0)==0?2:-1)+l|0;do if(!(f[d+(g>>>5<<2)>>2]&1<<(g&31))){if((g|0)>=0){g=f[(f[(f[r>>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);l=(g|0)==(m|0)?-1073741824:g}while((l|0)>-1);h=X(L,e)|0;if(k){if(q){g=0;do{m=I+(g<<2)|0;f[m>>2]=(f[m>>2]|0)/(k|0)|0;g=g+1|0}while((g|0)!=(e|0))}d=b+(h<<2)|0;l=c+(h<<2)|0;g=f[N>>2]|0;if((g|0)>0){k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[u>>2]|0;if((g|0)>(h|0)){g=f[p>>2]|0;f[g+(j<<2)>>2]=h}else{h=f[w>>2]|0;m=f[p>>2]|0;f[m+(j<<2)>>2]=(g|0)<(h|0)?h:g;g=m}j=j+1|0}while((j|0)<(f[N>>2]|0));i=g}else i=f[p>>2]|0;g=(f[d+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=l+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[v>>2]|0)){if((g|0)>(f[s>>2]|0)){g=g-(f[t>>2]|0)|0;O=65}}else{g=(f[t>>2]|0)+g|0;O=65}if((O|0)==65){O=0;f[h>>2]=g}k=k+1|0;g=f[N>>2]|0}while((k|0)<(g|0))}}else{K=h;O=38}}else{K=X(L,e)|0;O=38}if((O|0)==38?(O=0,G=b+(K<<2)|0,H=c+(K<<2)|0,F=f[N>>2]|0,(F|0)>0):0){h=F;k=0;j=b+((X(B+-2|0,e)|0)<<2)|0;while(1){if((h|0)>0){i=0;do{g=f[j+(i<<2)>>2]|0;h=f[u>>2]|0;if((g|0)>(h|0)){g=f[p>>2]|0;f[g+(i<<2)>>2]=h}else{m=f[w>>2]|0;B=f[p>>2]|0;f[B+(i<<2)>>2]=(g|0)<(m|0)?m:g;g=B}i=i+1|0}while((i|0)<(f[N>>2]|0))}else g=f[p>>2]|0;h=(f[G+(k<<2)>>2]|0)-(f[g+(k<<2)>>2]|0)|0;i=H+(k<<2)|0;f[i>>2]=h;if((h|0)>=(f[v>>2]|0)){if((h|0)>(f[s>>2]|0)){h=h-(f[t>>2]|0)|0;O=50}}else{h=(f[t>>2]|0)+h|0;O=50}if((O|0)==50){O=0;f[i>>2]=h}k=k+1|0;h=f[N>>2]|0;if((k|0)>=(h|0))break;else j=g}}if((L|0)<=1)break a;m=f[z>>2]|0;g=L+-1|0;if((f[A>>2]|0)-m>>2>>>0<=g>>>0)break;else{B=L;L=g}}Fp(z)}while(0);if((e|0)>0)cj(I|0,0,e<<2|0)|0;g=f[N>>2]|0;if((g|0)<=0){nq(J);nq(I);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=I;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{M=f[p>>2]|0;a=f[d>>2]|0;f[a+(j<<2)>>2]=(g|0)<(M|0)?M:g;g=a}j=j+1|0}while((j|0)<(f[N>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;O=80}}else{g=(f[m>>2]|0)+g|0;O=80}if((O|0)==80){O=0;f[h>>2]=g}k=k+1|0;g=f[N>>2]|0}while((k|0)<(g|0));nq(J);nq(I);return 1}function Vb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;S=u;u=u+96|0;F=S+92|0;G=S+88|0;H=S+72|0;M=S+48|0;N=S+24|0;O=S;L=a+4|0;m=f[L>>2]|0;if(!m)ra(13158,13180,46,13350);K=a+8|0;l=f[K>>2]|0;if(!l)ra(13158,13180,46,13350);J=a+16|0;k=f[J>>2]|0;n=f[c>>2]|0;f[H>>2]=k;f[H+4>>2]=n;D=H+8|0;f[D>>2]=n;b[H+12>>0]=1;k=f[(f[k+28>>2]|0)+(n<<2)>>2]|0;E=a+20|0;i=f[E>>2]|0;c=f[i>>2]|0;if((f[i+4>>2]|0)-c>>2>>>0<=k>>>0)Fp(i);c=f[l+(f[c+(k<<2)>>2]<<2)>>2]|0;if(!(b[m+84>>0]|0))c=f[(f[m+68>>2]|0)+(c<<2)>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;f[G>>2]=c;i=b[m+24>>0]|0;f[F>>2]=f[G>>2];lb(m,F,i,M)|0;i=f[D>>2]|0;w=a+28|0;c=(f[w>>2]|0)==0;a:do if((i|0)>=0){A=N+8|0;x=M+8|0;C=N+16|0;y=M+16|0;z=O+8|0;B=O+16|0;k=(n|0)<0;t=n+1|0;v=n+(k?0:((n>>>0)%3|0|0)==0?2:-1)|0;t=k?n:((t|0)%3|0|0)==0?n+-2|0:t;k=0;r=0;l=0;s=0;m=0;o=0;while(1){do if(!c){c=i+1|0;c=((c|0)%3|0|0)==0?i+-2|0:c;if(!((i>>>0)%3|0)){q=i+2|0;break}else{q=i+-1|0;break}}else{c=t;q=v}while(0);p=f[L>>2]|0;if(!p){c=16;break}a=f[K>>2]|0;if(!a){c=16;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(c<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=18;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;f[N+16>>2]=0;f[N+20>>2]=0;f[G>>2]=c;n=b[p+24>>0]|0;f[F>>2]=f[G>>2];lb(p,F,n,N)|0;p=f[L>>2]|0;if(!p){c=23;break}a=f[K>>2]|0;if(!a){c=23;break}i=f[(f[(f[J>>2]|0)+28>>2]|0)+(q<<2)>>2]|0;n=f[E>>2]|0;c=f[n>>2]|0;if((f[n+4>>2]|0)-c>>2>>>0<=i>>>0){c=25;break}c=f[a+(f[c+(i<<2)>>2]<<2)>>2]|0;if(!(b[p+84>>0]|0))c=f[(f[p+68>>2]|0)+(c<<2)>>2]|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;f[O+16>>2]=0;f[O+20>>2]=0;f[G>>2]=c;i=b[p+24>>0]|0;f[F>>2]=f[G>>2];lb(p,F,i,O)|0;i=N;_=M;Z=f[_>>2]|0;_=f[_+4>>2]|0;i=_n(f[i>>2]|0,f[i+4>>2]|0,Z|0,_|0)|0;c=I;q=A;aa=x;$=f[aa>>2]|0;aa=f[aa+4>>2]|0;q=_n(f[q>>2]|0,f[q+4>>2]|0,$|0,aa|0)|0;p=I;U=C;n=y;T=f[n>>2]|0;n=f[n+4>>2]|0;U=_n(f[U>>2]|0,f[U+4>>2]|0,T|0,n|0)|0;V=I;W=O;_=_n(f[W>>2]|0,f[W+4>>2]|0,Z|0,_|0)|0;Z=I;W=z;aa=_n(f[W>>2]|0,f[W+4>>2]|0,$|0,aa|0)|0;$=I;W=B;n=_n(f[W>>2]|0,f[W+4>>2]|0,T|0,n|0)|0;T=I;W=$m(n|0,T|0,q|0,p|0)|0;a=I;Y=$m(aa|0,$|0,U|0,V|0)|0;X=I;V=$m(_|0,Z|0,U|0,V|0)|0;U=I;T=$m(n|0,T|0,i|0,c|0)|0;n=I;c=$m(aa|0,$|0,i|0,c|0)|0;i=I;p=$m(_|0,Z|0,q|0,p|0)|0;q=I;k=_n(k|0,r|0,Y|0,X|0)|0;k=Mn(k|0,I|0,W|0,a|0)|0;a=I;l=Mn(V|0,U|0,l|0,s|0)|0;l=_n(l|0,I|0,T|0,n|0)|0;n=I;m=_n(m|0,o|0,p|0,q|0)|0;m=Mn(m|0,I|0,c|0,i|0)|0;o=I;yf(H);i=f[D>>2]|0;c=(f[w>>2]|0)==0;if((i|0)<0){j=a;Q=k;R=n;h=l;g=o;e=m;P=c;break a}else{r=a;s=n}}if((c|0)==16)ra(13158,13407,70,13577);else if((c|0)==18)Fp(n);else if((c|0)==23)ra(13158,13407,70,13577);else if((c|0)==25)Fp(n)}else{j=0;Q=0;R=0;h=0;g=0;e=0;P=c}while(0);aa=(j|0)>-1|(j|0)==-1&Q>>>0>4294967295;i=_n(0,0,Q|0,j|0)|0;c=aa?j:I;X=(R|0)>-1|(R|0)==-1&h>>>0>4294967295;Y=_n(0,0,h|0,R|0)|0;Z=X?R:I;$=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;_=_n(0,0,e|0,g|0)|0;$=Mn((X?h:Y)|0,Z|0,($?e:_)|0,($?g:I)|0)|0;c=Mn($|0,I|0,(aa?Q:i)|0,c|0)|0;i=I;if(P)if((c|0)>536870912){aa=An(c|0,i|0,29)|0;aa=aa&7;i=kk(Q|0,j|0,aa|0,0)|0;j=I;h=kk(h|0,R|0,aa|0,0)|0;c=I;e=kk(e|0,g|0,aa|0,0)|0;g=I}else{i=Q;c=R}else if((i|0)>0|(i|0)==0&c>>>0>536870912){$=An(c|0,i|0,29)|0;aa=I;i=kk(Q|0,j|0,$|0,aa|0)|0;j=I;h=kk(h|0,R|0,$|0,aa|0)|0;c=I;e=kk(e|0,g|0,$|0,aa|0)|0;g=I}else{i=Q;c=R}_=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;$=_n(0,0,i|0,j|0)|0;aa=_?j:I;V=(c|0)>-1|(c|0)==-1&h>>>0>4294967295;W=_n(0,0,h|0,c|0)|0;X=V?c:I;Z=(g|0)>-1|(g|0)==-1&e>>>0>4294967295;Y=_n(0,0,e|0,g|0)|0;Z=Mn((V?h:W)|0,X|0,(Z?e:Y)|0,(Z?g:I)|0)|0;aa=Mn(Z|0,I|0,(_?i:$)|0,aa|0)|0;$=I;if(($|0)<0|($|0)==0&aa>>>0<536870913){f[d>>2]=i;f[d+4>>2]=h;f[d+8>>2]=e;u=S;return}else ra(13372,13180,95,13350)}function Wb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=Ka,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=rd(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];pf(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;xi(B,8);y=d;d=y;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;i=f[B>>2]|0;g=i;b[g>>0]=d;b[g+1>>0]=d>>8;b[g+2>>0]=d>>16;b[g+3>>0]=d>>24;i=i+4|0;b[i>>0]=y;b[i+1>>0]=y>>8;b[i+2>>0]=y>>16;b[i+3>>0]=y>>24;dj(A,c);i=A+12|0;f[i>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;c=f[z>>2]|0;g=f[B>>2]|0;d=c-g|0;if(!d){d=g;g=0}else{xi(i,d);d=f[B>>2]|0;c=f[z>>2]|0;g=f[i>>2]|0}Rg(g|0,d|0,c-d|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){c=t;g=s;d=s;while(1){v=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}v=s+-4|0;c=v&-4;d=t+(c+4)|0;c=v-c|0}else{d=t;g=s;c=s}switch(c|0){case 3:{g=h[d+2>>0]<<16^g;w=10;break}case 2:{w=10;break}case 1:{w=11;break}default:{}}if((w|0)==10){g=h[d+1>>0]<<8^g;w=11}if((w|0)==11)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;i=f[q>>2]|0;r=(i|0)==0;a:do if(!r){p=i+-1|0;d=(p&i|0)==0;if(!d)if(v>>>0>>0)c=v;else c=(v>>>0)%(i>>>0)|0;else c=v&p;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(c|0))){w=52;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=52;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(c|0))){w=52;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=52;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break}}}else w=52}else{c=0;w=52}while(0);if((w|0)==52){kh(e,a,v,A);l=a+12|0;k=$(((f[l>>2]|0)+1|0)>>>0);D=$(i>>>0);j=$(n[a+16>>2]);do if(r|k>$(D*j)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(k/j)))>>>0;Wh(a,g>>>0>>0?c:g);g=f[q>>2]|0;c=g+-1|0;if(!(c&g)){i=g;c=c&v;break}if(v>>>0>>0){i=g;c=v}else{i=g;c=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;c=i+-1|0;if(c&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&c;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;pq(e)}if((b[x>>0]|0)<0)pq(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;pq(e);u=C;return}function Xb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=Ka,m=0,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=Ka;D=u;u=u+64|0;e=D+40|0;B=D+16|0;C=D;g=rd(a,c)|0;if(g|0){f[B>>2]=g;f[e>>2]=f[B>>2];pf(a,e)|0}f[C>>2]=0;A=C+4|0;f[A>>2]=0;f[C+8>>2]=0;j=d+11|0;i=b[j>>0]|0;m=d+4|0;g=f[m>>2]|0;k=i<<24>>24<0?g:i&255;if(!k){j=i;i=0}else{xi(C,k);j=b[j>>0]|0;g=f[m>>2]|0;i=f[C>>2]|0}k=j<<24>>24<0;Rg(i|0,(k?f[d>>2]|0:d)|0,(k?g:j&255)|0)|0;dj(B,c);k=B+12|0;f[k>>2]=0;z=B+16|0;f[z>>2]=0;f[B+20>>2]=0;i=f[A>>2]|0;g=f[C>>2]|0;j=i-g|0;if(!j){j=g;g=0}else{xi(k,j);j=f[C>>2]|0;i=f[A>>2]|0;g=f[k>>2]|0}Rg(g|0,j|0,i-j|0)|0;x=B+11|0;t=b[x>>0]|0;w=t<<24>>24<0;v=w?f[B>>2]|0:B;t=w?f[B+4>>2]|0:t&255;if(t>>>0>3){i=v;g=t;j=t;while(1){w=X(h[i>>0]|h[i+1>>0]<<8|h[i+2>>0]<<16|h[i+3>>0]<<24,1540483477)|0;g=(X(w>>>24^w,1540483477)|0)^(X(g,1540483477)|0);j=j+-4|0;if(j>>>0<=3)break;else i=i+4|0}w=t+-4|0;i=w&-4;j=v+(i+4)|0;i=w-i|0}else{j=v;g=t;i=t}switch(i|0){case 3:{g=h[j+2>>0]<<16^g;y=12;break}case 2:{y=12;break}case 1:{y=13;break}default:{}}if((y|0)==12){g=h[j+1>>0]<<8^g;y=13}if((y|0)==13)g=X(h[j>>0]^g,1540483477)|0;w=X(g>>>13^g,1540483477)|0;w=w>>>15^w;q=a+4|0;k=f[q>>2]|0;r=(k|0)==0;a:do if(!r){p=k+-1|0;j=(p&k|0)==0;if(!j)if(w>>>0>>0)i=w;else i=(w>>>0)%(k>>>0)|0;else i=w&p;g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if((g|0)!=0?(s=f[g>>2]|0,(s|0)!=0):0){g=(t|0)==0;if(j){if(g){g=s;while(1){v=f[g+4>>2]|0;if(!((v|0)==(w|0)|(v&p|0)==(i|0))){y=54;break a}v=b[g+8+11>>0]|0;if(!((v<<24>>24<0?f[g+12>>2]|0:v&255)|0))break a;g=f[g>>2]|0;if(!g){y=54;break a}}}else d=s;while(1){s=f[d+4>>2]|0;if(!((s|0)==(w|0)|(s&p|0)==(i|0))){y=54;break a}g=d+8|0;m=b[g+11>>0]|0;c=m<<24>>24<0;m=m&255;do if(((c?f[d+12>>2]|0:m)|0)==(t|0)){j=f[g>>2]|0;if(c)if(!(fl(j,v,t)|0))break a;else break;if((j&255)<<24>>24==(b[v>>0]|0)){j=v;do{m=m+-1|0;g=g+1|0;if(!m)break a;j=j+1|0}while((b[g>>0]|0)==(b[j>>0]|0))}}while(0);d=f[d>>2]|0;if(!d){y=54;break a}}}if(g){j=s;while(1){g=f[j+4>>2]|0;if((g|0)!=(w|0)){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0;if((g|0)!=(i|0)){y=54;break a}}v=b[j+8+11>>0]|0;if(!((v<<24>>24<0?f[j+12>>2]|0:v&255)|0))break a;j=f[j>>2]|0;if(!j){y=54;break a}}}else d=s;while(1){g=f[d+4>>2]|0;if((g|0)!=(w|0)){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0;if((g|0)!=(i|0)){y=54;break a}}g=d+8|0;m=b[g+11>>0]|0;c=m<<24>>24<0;m=m&255;do if(((c?f[d+12>>2]|0:m)|0)==(t|0)){j=f[g>>2]|0;if(c)if(!(fl(j,v,t)|0))break a;else break;if((j&255)<<24>>24==(b[v>>0]|0)){j=v;do{m=m+-1|0;g=g+1|0;if(!m)break a;j=j+1|0}while((b[g>>0]|0)==(b[j>>0]|0))}}while(0);d=f[d>>2]|0;if(!d){y=54;break}}}else y=54}else{i=0;y=54}while(0);if((y|0)==54){kh(e,a,w,B);m=a+12|0;o=$(((f[m>>2]|0)+1|0)>>>0);E=$(k>>>0);l=$(n[a+16>>2]);do if(r|o>$(E*l)){g=(k>>>0<3|(k+-1&k|0)!=0)&1|k<<1;i=~~$(W($(o/l)))>>>0;Wh(a,g>>>0>>0?i:g);g=f[q>>2]|0;i=g+-1|0;if(!(i&g)){k=g;i=i&w;break}if(w>>>0>>0){k=g;i=w}else{k=g;i=(w>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!g){j=a+8|0;f[f[e>>2]>>2]=f[j>>2];f[j>>2]=f[e>>2];f[(f[a>>2]|0)+(i<<2)>>2]=j;j=f[e>>2]|0;g=f[j>>2]|0;if(g){g=f[g+4>>2]|0;i=k+-1|0;if(i&k){if(g>>>0>=k>>>0)g=(g>>>0)%(k>>>0)|0}else g=g&i;f[(f[a>>2]|0)+(g<<2)>>2]=j}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[m>>2]=(f[m>>2]|0)+1;f[e>>2]=0}e=f[B+12>>2]|0;if(e|0){if((f[z>>2]|0)!=(e|0))f[z>>2]=e;pq(e)}if((b[x>>0]|0)<0)pq(f[B>>2]|0);e=f[C>>2]|0;if(!e){u=D;return}if((f[A>>2]|0)!=(e|0))f[A>>2]=e;pq(e);u=D;return}function Yb(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=0,p=Ka,q=Ka,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=Ka;U=u;u=u+48|0;T=U+28|0;N=U+8|0;O=U;R=U+16|0;L=T+16|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;n[L>>2]=$(1.0);Q=a+80|0;g=f[Q>>2]|0;f[R>>2]=0;S=R+4|0;f[S>>2]=0;f[R+8>>2]=0;if(!g){i=0;o=0}else{if(g>>>0>1073741823)Fp(R);G=g<<2;H=an(G)|0;f[R>>2]=H;B=H+(g<<2)|0;f[R+8>>2]=B;cj(H|0,0,G|0)|0;f[S>>2]=B;B=f[e>>2]|0;G=c+48|0;H=c+40|0;E=T+4|0;F=T+12|0;D=T+8|0;J=a+40|0;C=a+64|0;K=0;z=0;while(1){w=B+K|0;y=G;x=f[y>>2]|0;y=f[y+4>>2]|0;g=H;g=$m(w|0,((w|0)<0)<<31>>31|0,f[g>>2]|0,f[g+4>>2]|0)|0;y=Mn(g|0,I|0,x|0,y|0)|0;y=(f[f[c>>2]>>2]|0)+y|0;x=y;x=h[x>>0]|h[x+1>>0]<<8|h[x+2>>0]<<16|h[x+3>>0]<<24;y=y+4|0;y=h[y>>0]|h[y+1>>0]<<8|h[y+2>>0]<<16|h[y+3>>0]<<24;g=N;f[g>>2]=x;f[g+4>>2]=y;g=O;f[g>>2]=x;f[g+4>>2]=y;g=cf(T,O)|0;if(!g){t=O;s=f[t>>2]|0;t=f[t+4>>2]|0;l=s&65535;y=An(s|0,t|0,16)|0;m=y&65535;o=t&65535;v=An(s|0,t|0,48)|0;w=I;r=v&65535;y=((((l^318)&65535)+239^y&65535)+239^t&65535)+239^v;i=f[E>>2]|0;x=(i|0)==0;a:do if(!x){k=i+-1|0;j=(k&i|0)==0;if(!j)if(y>>>0>>0)g=y;else g=(y>>>0)%(i>>>0)|0;else g=y&k;e=f[(f[T>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(M=f[e>>2]|0,(M|0)!=0):0){if(j){e=M;while(1){j=f[e+4>>2]|0;if(!((j|0)==(y|0)|(j&k|0)==(g|0))){A=31;break a}j=e+8|0;if((((d[j>>1]|0)==l<<16>>16?(d[j+2>>1]|0)==m<<16>>16:0)?(d[e+12>>1]|0)==o<<16>>16:0)?(d[j+6>>1]|0)==r<<16>>16:0)break a;e=f[e>>2]|0;if(!e){A=31;break a}}}else j=M;while(1){e=f[j+4>>2]|0;if((e|0)!=(y|0)){if(e>>>0>=i>>>0)e=(e>>>0)%(i>>>0)|0;if((e|0)!=(g|0)){A=31;break a}}k=j+8|0;if((((d[k>>1]|0)==l<<16>>16?(d[k+2>>1]|0)==m<<16>>16:0)?(d[j+12>>1]|0)==o<<16>>16:0)?(d[k+6>>1]|0)==r<<16>>16:0)break a;j=f[j>>2]|0;if(!j){A=31;break}}}else A=31}else{g=0;A=31}while(0);if((A|0)==31){A=0;j=an(20)|0;v=vn(v|0,w|0,48)|0;s=s|v;v=t&65535|I;w=j+8|0;t=w;d[t>>1]=s;d[t+2>>1]=s>>>16;w=w+4|0;d[w>>1]=v;d[w+2>>1]=v>>>16;f[j+16>>2]=z;f[j+4>>2]=y;f[j>>2]=0;q=$(((f[F>>2]|0)+1|0)>>>0);V=$(i>>>0);p=$(n[L>>2]);do if(x|q>$(V*p)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(q/p)))>>>0;Ah(T,g>>>0>>0?e:g);g=f[E>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&y;break}if(y>>>0>>0){i=g;g=y}else{i=g;g=(y>>>0)%(g>>>0)|0}}while(0);e=(f[T>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[j>>2]=f[D>>2];f[D>>2]=j;f[e>>2]=D;g=f[j>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[T>>2]|0)+(g<<2)|0;A=44}}else{f[j>>2]=f[g>>2];A=44}if((A|0)==44){A=0;f[g>>2]=j}f[F>>2]=(f[F>>2]|0)+1}y=J;g=f[y>>2]|0;y=$m(g|0,f[y+4>>2]|0,z|0,((z|0)<0)<<31>>31|0)|0;Rg((f[f[C>>2]>>2]|0)+y|0,N|0,g|0)|0;f[(f[R>>2]|0)+(K<<2)>>2]=z;g=z+1|0}else{f[(f[R>>2]|0)+(K<<2)>>2]=f[g+16>>2];g=z}K=K+1|0;i=f[Q>>2]|0;if((K|0)>=(i|0)){o=g;break}else z=g}}if((o|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[R>>2]|0;e=g>>2;g=0;do{a=i+(g<<2)|0;f[a>>2]=f[j+(f[a>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(P=g+(i<<2)|0,(e|0)!=(P|0)):0)f[j>>2]=e+(~((e+-4-P|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[Q>>2]|0}if((i|0)>0){j=f[R>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[Q>>2]=o}g=f[R>>2]|0;if(g|0){e=f[S>>2]|0;if((e|0)!=(g|0))f[S>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[T+8>>2]|0;if(g|0)do{S=g;g=f[g>>2]|0;pq(S)}while((g|0)!=0);g=f[T>>2]|0;f[T>>2]=0;if(!g){u=U;return o|0}pq(g);u=U;return o|0}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+16|0;M=Q+8|0;O=Q;L=Q+4|0;N=a+16|0;d=f[N>>2]|0;K=a+20|0;c=f[K>>2]|0;if((c|0)==(d|0))c=d;else{c=c+(~((c+-4-d|0)>>>2)<<2)|0;f[K>>2]=c}H=a+24|0;if((c|0)==(f[H>>2]|0)){Gi(N,b);d=f[N>>2]|0;e=f[K>>2]|0}else{f[c>>2]=f[b>>2];e=c+4|0;f[K>>2]=e}c=f[a+8>>2]|0;c=(f[c+100>>2]|0)-(f[c+96>>2]|0)|0;G=(c|0)/12|0;if((d|0)==(e|0)){u=Q;return 1}F=a+28|0;z=(c|0)>0;B=a+164|0;y=a+12|0;v=a+76|0;x=a+80|0;D=a+72|0;s=a+152|0;q=a+84|0;t=a+272|0;w=a+276|0;E=a+268|0;C=a+168|0;r=a+140|0;A=a+120|0;c=e;do{d=f[c+-4>>2]|0;f[b>>2]=d;a:do if((d|0)>=0?(p=(d>>>0)/3|0,I=f[F>>2]|0,(f[I+(p>>>5<<2)>>2]&1<<(p&31)|0)==0):0){if(z){d=I;c=0;while(1){p=c+1|0;f[B>>2]=(f[B>>2]|0)+1;o=f[b>>2]|0;o=(o|0)<0?-1073741824:(o>>>0)/3|0;c=d+(o>>>5<<2)|0;f[c>>2]=1<<(o&31)|f[c>>2];c=f[v>>2]|0;if((c|0)==(f[x>>2]|0))Gi(D,b);else{f[c>>2]=f[b>>2];f[v>>2]=c+4}d=f[b>>2]|0;if((d|0)<0)n=-1073741824;else n=f[(f[f[y>>2]>>2]|0)+(d<<2)>>2]|0;m=(f[(f[s>>2]|0)+(n<<2)>>2]|0)!=-1;e=(f[q>>2]|0)+(n>>>5<<2)|0;g=1<<(n&31);c=f[e>>2]|0;do if(!(c&g)){f[e>>2]=c|g;if(m){d=f[b>>2]|0;P=30;break}f[M>>2]=0;c=f[t>>2]|0;if((c|0)==(f[w>>2]|0))Gi(E,M);else{f[c>>2]=0;f[t>>2]=c+4}c=f[b>>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=f[(f[(f[y>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}f[b>>2]=c}else P=30;while(0);if((P|0)==30){P=0;l=(d|0)<0;j=d+1|0;if(!l){c=((j|0)%3|0|0)==0?d+-2|0:j;if((c|0)<0)e=c;else e=f[(f[(f[y>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;f[O>>2]=e;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[(f[y>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;i=(e|0)<0;h=i?-1073741824:(e>>>0)/3|0;g=(c|0)<0;k=g?-1073741824:(c>>>0)/3|0;e=((j|0)%3|0|0)==0?d+-2|0:j;if((e|0)>=0)e=f[(f[(f[y>>2]|0)+12>>2]|0)+(e<<2)>>2]|0}else{f[O>>2]=d;g=1;i=1;c=d;k=-1073741824;h=-1073741824;e=d}if((e|0)!=-1073741824?(j=(e|0)<0?-1073741824:(e>>>0)/3|0,J=f[F>>2]|0,(f[J+(j>>>5<<2)>>2]&1<<(j&31)|0)==0):0){if(!l){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)!=-1073741824?(l=(d|0)<0?-1073741824:(d>>>0)/3|0,(f[J+(l>>>5<<2)>>2]&1<<(l&31)|0)==0):0){P=68;break}if(!g)vf(a,f[B>>2]|0,o,0,k);f[M>>2]=3;c=f[t>>2]|0;if((c|0)==(f[w>>2]|0))Gi(E,M);else{f[c>>2]=3;f[t>>2]=c+4}c=f[O>>2]|0}else{if(!i){vf(a,f[B>>2]|0,o,1,h);d=f[b>>2]|0}if((d|0)>=0){d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}if((d|0)==-1073741824){P=47;break}n=(d|0)<0?-1073741824:(d>>>0)/3|0;if(f[(f[F>>2]|0)+(n>>>5<<2)>>2]&1<<(n&31)|0){P=47;break}f[M>>2]=5;d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))Gi(E,M);else{f[d>>2]=5;f[t>>2]=d+4}}f[b>>2]=c}if((p|0)>=(G|0))break a;d=f[F>>2]|0;c=p}do if((P|0)==47){P=0;if(!g)vf(a,f[B>>2]|0,o,0,k);f[M>>2]=7;c=f[t>>2]|0;if((c|0)==(f[w>>2]|0))Gi(E,M);else{f[c>>2]=7;f[t>>2]=c+4}f[K>>2]=(f[K>>2]|0)+-4}else if((P|0)==68){P=0;f[M>>2]=1;d=f[t>>2]|0;if((d|0)==(f[w>>2]|0))Gi(E,M);else{f[d>>2]=1;f[t>>2]=d+4}f[C>>2]=(f[C>>2]|0)+1;if(m?(p=f[(f[s>>2]|0)+(n<<2)>>2]|0,(1<<(p&31)&f[(f[r>>2]|0)+(p>>>5<<2)>>2]|0)==0):0){f[L>>2]=f[b>>2];f[M>>2]=f[L>>2];Ge(a,M,0)|0}p=f[B>>2]|0;f[M>>2]=o;d=ue(A,M)|0;f[d>>2]=p;d=f[K>>2]|0;f[d+-4>>2]=c;if((d|0)==(f[H>>2]|0)){Gi(N,O);break}else{f[d>>2]=f[O>>2];f[K>>2]=d+4;break}}while(0)}}else P=11;while(0);if((P|0)==11){P=0;f[K>>2]=c+-4}c=f[K>>2]|0}while((f[N>>2]|0)!=(c|0));u=Q;return 1}function _b(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=Ka,k=Ka,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=Ka;C=u;u=u+64|0;e=C+40|0;A=C+16|0;B=C;g=rd(a,c)|0;if(g|0){f[A>>2]=g;f[e>>2]=f[A>>2];pf(a,e)|0}f[B>>2]=0;z=B+4|0;f[z>>2]=0;f[B+8>>2]=0;xi(B,4);i=f[B>>2]|0;y=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[i>>0]=y;b[i+1>>0]=y>>8;b[i+2>>0]=y>>16;b[i+3>>0]=y>>24;dj(A,c);i=A+12|0;f[i>>2]=0;y=A+16|0;f[y>>2]=0;f[A+20>>2]=0;c=f[z>>2]|0;g=f[B>>2]|0;d=c-g|0;if(!d){d=g;g=0}else{xi(i,d);d=f[B>>2]|0;c=f[z>>2]|0;g=f[i>>2]|0}Rg(g|0,d|0,c-d|0)|0;x=A+11|0;s=b[x>>0]|0;v=s<<24>>24<0;t=v?f[A>>2]|0:A;s=v?f[A+4>>2]|0:s&255;if(s>>>0>3){c=t;g=s;d=s;while(1){v=X(h[c>>0]|h[c+1>>0]<<8|h[c+2>>0]<<16|h[c+3>>0]<<24,1540483477)|0;g=(X(v>>>24^v,1540483477)|0)^(X(g,1540483477)|0);d=d+-4|0;if(d>>>0<=3)break;else c=c+4|0}v=s+-4|0;c=v&-4;d=t+(c+4)|0;c=v-c|0}else{d=t;g=s;c=s}switch(c|0){case 3:{g=h[d+2>>0]<<16^g;w=10;break}case 2:{w=10;break}case 1:{w=11;break}default:{}}if((w|0)==10){g=h[d+1>>0]<<8^g;w=11}if((w|0)==11)g=X(h[d>>0]^g,1540483477)|0;v=X(g>>>13^g,1540483477)|0;v=v>>>15^v;q=a+4|0;i=f[q>>2]|0;r=(i|0)==0;a:do if(!r){p=i+-1|0;d=(p&i|0)==0;if(!d)if(v>>>0>>0)c=v;else c=(v>>>0)%(i>>>0)|0;else c=v&p;g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if((g|0)!=0?(o=f[g>>2]|0,(o|0)!=0):0){g=(s|0)==0;if(d){if(g){g=o;while(1){t=f[g+4>>2]|0;if(!((t|0)==(v|0)|(t&p|0)==(c|0))){w=52;break a}t=b[g+8+11>>0]|0;if(!((t<<24>>24<0?f[g+12>>2]|0:t&255)|0))break a;g=f[g>>2]|0;if(!g){w=52;break a}}}while(1){m=f[o+4>>2]|0;if(!((m|0)==(v|0)|(m&p|0)==(c|0))){w=52;break a}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break a}}}if(g){d=o;while(1){g=f[d+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}t=b[d+8+11>>0]|0;if(!((t<<24>>24<0?f[d+12>>2]|0:t&255)|0))break a;d=f[d>>2]|0;if(!d){w=52;break a}}}while(1){g=f[o+4>>2]|0;if((g|0)!=(v|0)){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0;if((g|0)!=(c|0)){w=52;break a}}g=o+8|0;l=b[g+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[o+12>>2]|0:l)|0)==(s|0)){d=f[g>>2]|0;if(m)if(!(fl(d,t,s)|0))break a;else break;if((d&255)<<24>>24==(b[t>>0]|0)){d=t;do{l=l+-1|0;g=g+1|0;if(!l)break a;d=d+1|0}while((b[g>>0]|0)==(b[d>>0]|0))}}while(0);o=f[o>>2]|0;if(!o){w=52;break}}}else w=52}else{c=0;w=52}while(0);if((w|0)==52){kh(e,a,v,A);l=a+12|0;k=$(((f[l>>2]|0)+1|0)>>>0);D=$(i>>>0);j=$(n[a+16>>2]);do if(r|k>$(D*j)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;c=~~$(W($(k/j)))>>>0;Wh(a,g>>>0>>0?c:g);g=f[q>>2]|0;c=g+-1|0;if(!(c&g)){i=g;c=c&v;break}if(v>>>0>>0){i=g;c=v}else{i=g;c=(v>>>0)%(g>>>0)|0}}while(0);g=f[(f[a>>2]|0)+(c<<2)>>2]|0;if(!g){d=a+8|0;f[f[e>>2]>>2]=f[d>>2];f[d>>2]=f[e>>2];f[(f[a>>2]|0)+(c<<2)>>2]=d;d=f[e>>2]|0;g=f[d>>2]|0;if(g){g=f[g+4>>2]|0;c=i+-1|0;if(c&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&c;f[(f[a>>2]|0)+(g<<2)>>2]=d}}else{f[f[e>>2]>>2]=f[g>>2];f[g>>2]=f[e>>2]}f[l>>2]=(f[l>>2]|0)+1;f[e>>2]=0}e=f[A+12>>2]|0;if(e|0){if((f[y>>2]|0)!=(e|0))f[y>>2]=e;pq(e)}if((b[x>>0]|0)<0)pq(f[A>>2]|0);e=f[B>>2]|0;if(!e){u=C;return}if((f[z>>2]|0)!=(e|0))f[z>>2]=e;pq(e);u=C;return}function $b(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;O=u;u=u+48|0;N=O+12|0;H=O+32|0;L=O;F=N+16|0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;n[F>>2]=$(1.0);K=a+80|0;g=f[K>>2]|0;f[L>>2]=0;M=L+4|0;f[M>>2]=0;f[L+8>>2]=0;a:do if(!g){i=0;q=0}else{if(g>>>0>1073741823)Fp(L);D=g<<2;w=an(D)|0;f[L>>2]=w;C=w+(g<<2)|0;f[L+8>>2]=C;cj(w|0,0,D|0)|0;f[M>>2]=C;C=c+48|0;D=c+40|0;z=N+4|0;B=N+12|0;y=N+8|0;E=a+40|0;A=a+64|0;x=f[e>>2]|0;r=0;e=w;w=0;j=0;while(1){m=x+w|0;s=C;t=f[s>>2]|0;s=f[s+4>>2]|0;q=D;q=$m(m|0,((m|0)<0)<<31>>31|0,f[q>>2]|0,f[q+4>>2]|0)|0;s=Mn(q|0,I|0,t|0,s|0)|0;s=(f[f[c>>2]>>2]|0)+s|0;s=h[s>>0]|h[s+1>>0]<<8;d[H>>1]=s;t=(s^318)&65535;b:do if(r){q=r+-1|0;m=(q&r|0)==0;if(!m)if(t>>>0>>0)k=t;else k=(t>>>0)%(r>>>0)|0;else k=q&t;l=f[N>>2]|0;g=f[l+(k<<2)>>2]|0;c:do if(g|0?(G=f[g>>2]|0,G|0):0){d:do if(m){g=G;while(1){P=f[g+4>>2]|0;i=(P|0)==(t|0);if(!(i|(P&q|0)==(k|0)))break c;if(i?(d[g+8>>1]|0)==s<<16>>16:0)break d;g=f[g>>2]|0;if(!g)break c}}else{g=G;while(1){i=f[g+4>>2]|0;if((i|0)==(t|0)){if((d[g+8>>1]|0)==s<<16>>16)break d}else{if(i>>>0>=r>>>0)i=(i>>>0)%(r>>>0)|0;if((i|0)!=(k|0))break c}g=f[g>>2]|0;if(!g)break c}}while(0);f[e+(w<<2)>>2]=f[g+12>>2];break b}while(0);if(!m)if(t>>>0>>0)g=t;else g=(t>>>0)%(r>>>0)|0;else g=q&t;e=f[l+(g<<2)>>2]|0;if(!e){i=r;e=0;v=40}else{if(m)while(1){e=f[e>>2]|0;if(!e){i=r;e=0;v=40;break b}P=f[e+4>>2]|0;if(!((P|0)==(t|0)|(P&q|0)==(g|0))){i=r;e=0;v=40;break b}if((d[e+8>>1]|0)==s<<16>>16){v=55;break b}}while(1){e=f[e>>2]|0;if(!e){i=r;e=0;v=40;break b}i=f[e+4>>2]|0;if((i|0)!=(t|0)){if(i>>>0>=r>>>0)i=(i>>>0)%(r>>>0)|0;if((i|0)!=(g|0)){i=r;e=0;v=40;break b}}if((d[e+8>>1]|0)==s<<16>>16){v=55;break}}}}else{i=0;g=0;e=1;v=40}while(0);if((v|0)==40){v=0;k=an(16)|0;d[k+8>>1]=s;f[k+12>>2]=j;f[k+4>>2]=t;f[k>>2]=0;p=$(((f[B>>2]|0)+1|0)>>>0);Q=$(i>>>0);o=$(n[F>>2]);do if(e|p>$(Q*o)){g=(i>>>0<3|(i+-1&i|0)!=0)&1|i<<1;e=~~$(W($(p/o)))>>>0;Dh(N,g>>>0>>0?e:g);g=f[z>>2]|0;e=g+-1|0;if(!(e&g)){i=g;g=e&t;break}if(t>>>0>>0){i=g;g=t}else{i=g;g=(t>>>0)%(g>>>0)|0}}while(0);e=(f[N>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[k>>2]=f[y>>2];f[y>>2]=k;f[e>>2]=y;g=f[k>>2]|0;if(g|0){g=f[g+4>>2]|0;e=i+-1|0;if(e&i){if(g>>>0>=i>>>0)g=(g>>>0)%(i>>>0)|0}else g=g&e;g=(f[N>>2]|0)+(g<<2)|0;v=53}}else{f[k>>2]=f[g>>2];v=53}if((v|0)==53)f[g>>2]=k;f[B>>2]=(f[B>>2]|0)+1;v=55}if((v|0)==55){v=0;P=E;e=f[P>>2]|0;P=$m(e|0,f[P+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;Rg((f[f[A>>2]>>2]|0)+P|0,H|0,e|0)|0;e=f[L>>2]|0;f[e+(w<<2)>>2]=j;j=j+1|0}g=w+1|0;i=f[K>>2]|0;if((g|0)>=(i|0)){q=j;break a}r=f[z>>2]|0;w=g}}while(0);if((q|0)!=(i|0)){m=a+84|0;if(!(b[m>>0]|0)){i=f[a+68>>2]|0;g=(f[a+72>>2]|0)-i|0;if((g|0)>0){j=f[L>>2]|0;e=g>>2;g=0;do{P=i+(g<<2)|0;f[P>>2]=f[j+(f[P>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[m>>0]=0;k=a+68|0;j=a+72|0;e=f[j>>2]|0;g=f[k>>2]|0;l=e-g>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(J=g+(i<<2)|0,(e|0)!=(J|0)):0)f[j>>2]=e+(~((e+-4-J|0)>>>2)<<2)}else{lh(k,i-l|0,1220);i=f[K>>2]|0}if((i|0)>0){j=f[L>>2]|0;if(b[m>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[j+(e<<2)>>2];e=e+1|0}while((e|0)<(i|0))}}f[K>>2]=q}g=f[L>>2]|0;if(g|0){e=f[M>>2]|0;if((e|0)!=(g|0))f[M>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[N+8>>2]|0;if(g|0)do{P=g;g=f[g>>2]|0;pq(P)}while((g|0)!=0);g=f[N>>2]|0;f[N>>2]=0;if(!g){u=O;return q|0}pq(g);u=O;return q|0}function ac(a){a=a|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+32|0;v=B+4|0;w=B;p=B+16|0;z=a+52|0;q=f[z>>2]|0;q=(f[q+100>>2]|0)-(f[q+96>>2]|0)|0;A=(q|0)/12|0;x=a+44|0;Rh(A,f[x>>2]|0)|0;Rh(f[(f[z>>2]|0)+80>>2]|0,f[x>>2]|0)|0;c=f[a+48>>2]|0;e=an(32)|0;f[v>>2]=e;f[v+8>>2]=-2147483616;f[v+4>>2]=21;g=e;h=18963;i=g+21|0;do{b[g>>0]=b[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));b[e+21>>0]=0;e=Qj(c,v,0)|0;if((b[v+11>>0]|0)<0)pq(f[v>>2]|0);c=f[x>>2]|0;if(e){b[p>>0]=0;A=c+16|0;z=f[A+4>>2]|0;if(!((z|0)>0|(z|0)==0&(f[A>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ke(c,v,p,p+1|0)|0}Ie(a)|0;u=B;return 1}b[p>>0]=1;n=c+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ke(c,v,p,p+1|0)|0}n=f[z>>2]|0;m=f[n+80>>2]|0;if((m|0)<256){if((q|0)<=0){u=B;return 1}i=p+1|0;a=p+1|0;h=p+1|0;c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){j=c;k=0}else ra(20006,19918,64,20001);while(1){e=f[x>>2]|0;b[p>>0]=f[j+(k*12|0)>>2];c=e+16|0;g=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,h)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[p>>0]=f[j+(k*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,a)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}b[p>>0]=f[j+(k*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,i)|0}k=k+1|0;if((k|0)>=(A|0)){c=46;break}g=f[z>>2]|0;j=f[g+96>>2]|0;if((k|0)>=(((f[g+100>>2]|0)-j|0)/12|0|0)){c=12;break}}if((c|0)==12)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}}if((m|0)<65536){if((q|0)<=0){u=B;return 1}j=p+2|0;i=p+2|0;a=p+2|0;c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){l=c;o=0}else ra(20006,19918,64,20001);while(1){h=l;e=f[x>>2]|0;d[p>>1]=f[h+(o*12|0)>>2];c=e+16|0;g=f[c>>2]|0;c=f[c+4>>2]|0;if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,a)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}d[p>>1]=f[h+(o*12|0)+4>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,i)|0;e=f[x>>2]|0;g=e+16|0;c=f[g+4>>2]|0;g=f[g>>2]|0}d[p>>1]=f[h+(o*12|0)+8>>2];if(!((c|0)>0|(c|0)==0&g>>>0>0)){f[w>>2]=f[e+4>>2];f[v>>2]=f[w>>2];Ke(e,v,p,j)|0}o=o+1|0;if((o|0)>=(A|0)){c=46;break}k=f[z>>2]|0;l=f[k+96>>2]|0;if((o|0)>=(((f[k+100>>2]|0)-l|0)/12|0|0)){c=24;break}}if((c|0)==24)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}}e=(q|0)>0;if((m|0)<2097152){if(!e){u=B;return 1}c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){r=c;s=0}else ra(20006,19918,64,20001);while(1){Rh(f[r+(s*12|0)>>2]|0,f[x>>2]|0)|0;Rh(f[r+(s*12|0)+4>>2]|0,f[x>>2]|0)|0;Rh(f[r+(s*12|0)+8>>2]|0,f[x>>2]|0)|0;s=s+1|0;if((s|0)>=(A|0)){c=46;break}q=f[z>>2]|0;r=f[q+96>>2]|0;if((s|0)>=(((f[q+100>>2]|0)-r|0)/12|0|0)){c=38;break}}if((c|0)==38)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}}if(!e){u=B;return 1}c=f[n+96>>2]|0;if(((f[n+100>>2]|0)-c|0)>0){t=c;y=0}else ra(20006,19918,64,20001);while(1){e=t+(y*12|0)|0;c=f[x>>2]|0;t=c+16|0;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){f[w>>2]=f[c+4>>2];f[v>>2]=f[w>>2];Ke(c,v,e,e+12|0)|0}y=y+1|0;if((y|0)>=(A|0)){c=46;break}s=f[z>>2]|0;t=f[s+96>>2]|0;if((y|0)>=(((f[s+100>>2]|0)-t|0)/12|0|0)){c=41;break}}if((c|0)==41)ra(20006,19918,64,20001);else if((c|0)==46){u=B;return 1}return 0}function bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=Ka,m=Ka,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=Ka;M=u;u=u+48|0;L=M+12|0;F=M+32|0;J=M;D=L+16|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;n[D>>2]=$(1.0);H=a+80|0;e=f[H>>2]|0;f[J>>2]=0;K=J+4|0;f[K>>2]=0;f[J+8>>2]=0;a:do if(!e){g=0;o=0}else{if(e>>>0>1073741823)Fp(J);B=e<<2;t=an(B)|0;f[J>>2]=t;A=t+(e<<2)|0;f[J+8>>2]=A;cj(t|0,0,B|0)|0;f[K>>2]=A;A=c+48|0;B=c+40|0;x=L+4|0;z=L+12|0;w=L+8|0;C=a+40|0;y=a+64|0;v=f[d>>2]|0;p=0;d=t;t=0;h=0;while(1){k=v+t|0;q=A;r=f[q>>2]|0;q=f[q+4>>2]|0;o=B;o=$m(k|0,((k|0)<0)<<31>>31|0,f[o>>2]|0,f[o+4>>2]|0)|0;q=Mn(o|0,I|0,r|0,q|0)|0;q=b[(f[f[c>>2]>>2]|0)+q>>0]|0;b[F>>0]=q;r=q&255^318;b:do if(p){o=p+-1|0;k=(o&p|0)==0;if(!k)if(r>>>0

>>0)i=r;else i=(r>>>0)%(p>>>0)|0;else i=o&r;j=f[L>>2]|0;e=f[j+(i<<2)>>2]|0;c:do if(e|0?(E=f[e>>2]|0,E|0):0){d:do if(k){e=E;while(1){N=f[e+4>>2]|0;g=(N|0)==(r|0);if(!(g|(N&o|0)==(i|0)))break c;if(g?(b[e+8>>0]|0)==q<<24>>24:0)break d;e=f[e>>2]|0;if(!e)break c}}else{e=E;while(1){g=f[e+4>>2]|0;if((g|0)==(r|0)){if((b[e+8>>0]|0)==q<<24>>24)break d}else{if(g>>>0>=p>>>0)g=(g>>>0)%(p>>>0)|0;if((g|0)!=(i|0))break c}e=f[e>>2]|0;if(!e)break c}}while(0);f[d+(t<<2)>>2]=f[e+12>>2];break b}while(0);if(!k)if(r>>>0

>>0)e=r;else e=(r>>>0)%(p>>>0)|0;else e=o&r;d=f[j+(e<<2)>>2]|0;if(!d){g=p;d=0;s=40}else{if(k)while(1){d=f[d>>2]|0;if(!d){g=p;d=0;s=40;break b}N=f[d+4>>2]|0;if(!((N|0)==(r|0)|(N&o|0)==(e|0))){g=p;d=0;s=40;break b}if((b[d+8>>0]|0)==q<<24>>24){s=55;break b}}while(1){d=f[d>>2]|0;if(!d){g=p;d=0;s=40;break b}g=f[d+4>>2]|0;if((g|0)!=(r|0)){if(g>>>0>=p>>>0)g=(g>>>0)%(p>>>0)|0;if((g|0)!=(e|0)){g=p;d=0;s=40;break b}}if((b[d+8>>0]|0)==q<<24>>24){s=55;break}}}}else{g=0;e=0;d=1;s=40}while(0);if((s|0)==40){s=0;i=an(16)|0;b[i+8>>0]=q;f[i+12>>2]=h;f[i+4>>2]=r;f[i>>2]=0;m=$(((f[z>>2]|0)+1|0)>>>0);O=$(g>>>0);l=$(n[D>>2]);do if(d|m>$(O*l)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(m/l)))>>>0;Kh(L,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&r;break}if(r>>>0>>0){g=e;e=r}else{g=e;e=(r>>>0)%(e>>>0)|0}}while(0);d=(f[L>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[w>>2];f[w>>2]=i;f[d>>2]=w;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[L>>2]|0)+(e<<2)|0;s=53}}else{f[i>>2]=f[e>>2];s=53}if((s|0)==53)f[e>>2]=i;f[z>>2]=(f[z>>2]|0)+1;s=55}if((s|0)==55){s=0;N=C;d=f[N>>2]|0;N=$m(d|0,f[N+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;Rg((f[f[y>>2]>>2]|0)+N|0,F|0,d|0)|0;d=f[J>>2]|0;f[d+(t<<2)>>2]=h;h=h+1|0}e=t+1|0;g=f[H>>2]|0;if((e|0)>=(g|0)){o=h;break a}p=f[x>>2]|0;t=e}}while(0);if((o|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[J>>2]|0;d=e>>2;e=0;do{N=g+(e<<2)|0;f[N>>2]=f[h+(f[N>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(G=e+(g<<2)|0,(d|0)!=(G|0)):0)f[h>>2]=d+(~((d+-4-G|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[H>>2]|0}if((g|0)>0){h=f[J>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[H>>2]=o}e=f[J>>2]|0;if(e|0){d=f[K>>2]|0;if((d|0)!=(e|0))f[K>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[L+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;pq(N)}while((e|0)!=0);e=f[L>>2]|0;f[L>>2]=0;if(!e){u=M;return o|0}pq(e);u=M;return o|0}function cc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=Ka;N=u;u=u+48|0;M=N+16|0;G=N+12|0;K=N;E=M+16|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;n[E>>2]=$(1.0);J=a+80|0;e=f[J>>2]|0;f[K>>2]=0;L=K+4|0;f[L>>2]=0;f[K+8>>2]=0;a:do if(!e){g=0;p=0}else{if(e>>>0>1073741823)Fp(K);C=e<<2;v=an(C)|0;f[K>>2]=v;B=v+(e<<2)|0;f[K+8>>2]=B;cj(v|0,0,C|0)|0;f[L>>2]=B;B=c+48|0;C=c+40|0;y=M+4|0;A=M+12|0;x=M+8|0;D=a+40|0;z=a+64|0;w=f[d>>2]|0;q=0;d=v;v=0;i=0;while(1){l=w+v|0;r=B;s=f[r>>2]|0;r=f[r+4>>2]|0;p=C;p=$m(l|0,((l|0)<0)<<31>>31|0,f[p>>2]|0,f[p+4>>2]|0)|0;r=Mn(p|0,I|0,s|0,r|0)|0;r=(f[f[c>>2]>>2]|0)+r|0;r=h[r>>0]|h[r+1>>0]<<8|h[r+2>>0]<<16|h[r+3>>0]<<24;f[G>>2]=r;s=r^318;b:do if(q){p=q+-1|0;l=(p&q|0)==0;if(!l)if(s>>>0>>0)j=s;else j=(s>>>0)%(q>>>0)|0;else j=p&s;k=f[M>>2]|0;e=f[k+(j<<2)>>2]|0;c:do if(e|0?(F=f[e>>2]|0,F|0):0){d:do if(l){e=F;while(1){O=f[e+4>>2]|0;g=(O|0)==(s|0);if(!(g|(O&p|0)==(j|0)))break c;if(g?(f[e+8>>2]|0)==(r|0):0)break d;e=f[e>>2]|0;if(!e)break c}}else{e=F;while(1){g=f[e+4>>2]|0;if((g|0)==(s|0)){if((f[e+8>>2]|0)==(r|0))break d}else{if(g>>>0>=q>>>0)g=(g>>>0)%(q>>>0)|0;if((g|0)!=(j|0))break c}e=f[e>>2]|0;if(!e)break c}}while(0);f[d+(v<<2)>>2]=f[e+12>>2];break b}while(0);if(!l)if(s>>>0>>0)e=s;else e=(s>>>0)%(q>>>0)|0;else e=p&s;d=f[k+(e<<2)>>2]|0;if(!d){g=q;d=0;t=40}else{if(l)while(1){d=f[d>>2]|0;if(!d){g=q;d=0;t=40;break b}O=f[d+4>>2]|0;if(!((O|0)==(s|0)|(O&p|0)==(e|0))){g=q;d=0;t=40;break b}if((f[d+8>>2]|0)==(r|0)){t=55;break b}}while(1){d=f[d>>2]|0;if(!d){g=q;d=0;t=40;break b}g=f[d+4>>2]|0;if((g|0)!=(s|0)){if(g>>>0>=q>>>0)g=(g>>>0)%(q>>>0)|0;if((g|0)!=(e|0)){g=q;d=0;t=40;break b}}if((f[d+8>>2]|0)==(r|0)){t=55;break}}}}else{g=0;e=0;d=1;t=40}while(0);if((t|0)==40){t=0;j=an(16)|0;f[j+8>>2]=r;f[j+12>>2]=i;f[j+4>>2]=s;f[j>>2]=0;o=$(((f[A>>2]|0)+1|0)>>>0);P=$(g>>>0);m=$(n[E>>2]);do if(d|o>$(P*m)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(o/m)))>>>0;vi(M,e>>>0>>0?d:e);e=f[y>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&s;break}if(s>>>0>>0){g=e;e=s}else{g=e;e=(s>>>0)%(e>>>0)|0}}while(0);d=(f[M>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[j>>2]=f[x>>2];f[x>>2]=j;f[d>>2]=x;e=f[j>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[M>>2]|0)+(e<<2)|0;t=53}}else{f[j>>2]=f[e>>2];t=53}if((t|0)==53)f[e>>2]=j;f[A>>2]=(f[A>>2]|0)+1;t=55}if((t|0)==55){t=0;O=D;d=f[O>>2]|0;O=$m(d|0,f[O+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;Rg((f[f[z>>2]>>2]|0)+O|0,G|0,d|0)|0;d=f[K>>2]|0;f[d+(v<<2)>>2]=i;i=i+1|0}e=v+1|0;g=f[J>>2]|0;if((e|0)>=(g|0)){p=i;break a}q=f[y>>2]|0;v=e}}while(0);if((p|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[K>>2]|0;d=e>>2;e=0;do{O=g+(e<<2)|0;f[O>>2]=f[i+(f[O>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(H=e+(g<<2)|0,(d|0)!=(H|0)):0)f[i>>2]=d+(~((d+-4-H|0)>>>2)<<2)}else{lh(j,g-k|0,1220);g=f[J>>2]|0}if((g|0)>0){i=f[K>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[J>>2]=p}e=f[K>>2]|0;if(e|0){d=f[L>>2]|0;if((d|0)!=(e|0))f[L>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[M+8>>2]|0;if(e|0)do{O=e;e=f[e>>2]|0;pq(O)}while((e|0)!=0);e=f[M>>2]|0;f[M>>2]=0;if(!e){u=N;return p|0}pq(e);u=N;return p|0}function dc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=Ka;T=u;u=u+48|0;S=T+20|0;M=T+16|0;N=T+12|0;Q=T;K=S+16|0;f[S>>2]=0;f[S+4>>2]=0;f[S+8>>2]=0;f[S+12>>2]=0;n[K>>2]=$(1.0);P=a+80|0;e=f[P>>2]|0;f[Q>>2]=0;R=Q+4|0;f[R>>2]=0;f[Q+8>>2]=0;if(!e){g=0;m=0}else{if(e>>>0>1073741823)Fp(Q);F=e<<2;G=an(F)|0;f[Q>>2]=G;A=G+(e<<2)|0;f[Q+8>>2]=A;cj(G|0,0,F|0)|0;f[R>>2]=A;A=f[d>>2]|0;F=c+48|0;G=c+40|0;D=S+4|0;E=S+12|0;C=S+8|0;H=a+40|0;B=a+64|0;J=0;y=0;while(1){v=A+J|0;e=F;x=f[e>>2]|0;e=f[e+4>>2]|0;w=G;w=$m(v|0,((v|0)<0)<<31>>31|0,f[w>>2]|0,f[w+4>>2]|0)|0;e=Mn(w|0,I|0,x|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;f[M>>2]=e;f[N>>2]=e;e=ef(S,N)|0;if(!e){t=f[N>>2]|0;k=t&255;r=t>>>8;l=r&255;s=t>>>16;m=s&255;v=t>>>24;q=v&255;t=t&255;r=r&255;s=s&255;x=(((t^318)+239^r)+239^s)+239^v;g=f[D>>2]|0;w=(g|0)==0;a:do if(!w){j=g+-1|0;i=(j&g|0)==0;if(!i)if(x>>>0>>0)e=x;else e=(x>>>0)%(g>>>0)|0;else e=x&j;d=f[(f[S>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(L=f[d>>2]|0,(L|0)!=0):0){if(i){d=L;while(1){i=f[d+4>>2]|0;if(!((i|0)==(x|0)|(i&j|0)==(e|0))){z=31;break a}i=d+8|0;if((((b[i>>0]|0)==k<<24>>24?(b[i+1>>0]|0)==l<<24>>24:0)?(b[i+2>>0]|0)==m<<24>>24:0)?(b[i+3>>0]|0)==q<<24>>24:0)break a;d=f[d>>2]|0;if(!d){z=31;break a}}}else i=L;while(1){d=f[i+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=g>>>0)d=(d>>>0)%(g>>>0)|0;if((d|0)!=(e|0)){z=31;break a}}j=i+8|0;if((((b[j>>0]|0)==k<<24>>24?(b[j+1>>0]|0)==l<<24>>24:0)?(b[j+2>>0]|0)==m<<24>>24:0)?(b[j+3>>0]|0)==q<<24>>24:0)break a;i=f[i>>2]|0;if(!i){z=31;break}}}else z=31}else{e=0;z=31}while(0);if((z|0)==31){z=0;i=an(16)|0;q=i+8|0;v=v<<24|t|s<<16|r<<8;b[q>>0]=v;b[q+1>>0]=v>>8;b[q+2>>0]=v>>16;b[q+3>>0]=v>>24;f[i+12>>2]=y;f[i+4>>2]=x;f[i>>2]=0;p=$(((f[E>>2]|0)+1|0)>>>0);U=$(g>>>0);o=$(n[K>>2]);do if(w|p>$(U*o)){e=(g>>>0<3|(g+-1&g|0)!=0)&1|g<<1;d=~~$(W($(p/o)))>>>0;Hh(S,e>>>0>>0?d:e);e=f[D>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&x;break}if(x>>>0>>0){g=e;e=x}else{g=e;e=(x>>>0)%(e>>>0)|0}}while(0);d=(f[S>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[i>>2]=f[C>>2];f[C>>2]=i;f[d>>2]=C;e=f[i>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[S>>2]|0)+(e<<2)|0;z=44}}else{f[i>>2]=f[e>>2];z=44}if((z|0)==44){z=0;f[e>>2]=i}f[E>>2]=(f[E>>2]|0)+1}x=H;e=f[x>>2]|0;x=$m(e|0,f[x+4>>2]|0,y|0,((y|0)<0)<<31>>31|0)|0;Rg((f[f[B>>2]>>2]|0)+x|0,M|0,e|0)|0;f[(f[Q>>2]|0)+(J<<2)>>2]=y;e=y+1|0}else{f[(f[Q>>2]|0)+(J<<2)>>2]=f[e+12>>2];e=y}J=J+1|0;g=f[P>>2]|0;if((J|0)>=(g|0)){m=e;break}else y=e}}if((m|0)!=(g|0)){l=a+84|0;if(!(b[l>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){i=f[Q>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;d=f[i>>2]|0;e=f[j>>2]|0;k=d-e>>2;if(g>>>0<=k>>>0){if(g>>>0>>0?(O=e+(g<<2)|0,(d|0)!=(O|0)):0)f[i>>2]=d+(~((d+-4-O|0)>>>2)<<2)}else{lh(j,g-k|0,1220);g=f[P>>2]|0}if((g|0)>0){i=f[Q>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[i+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[P>>2]=m}e=f[Q>>2]|0;if(e|0){d=f[R>>2]|0;if((d|0)!=(e|0))f[R>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[S+8>>2]|0;if(e|0)do{R=e;e=f[e>>2]|0;pq(R)}while((e|0)!=0);e=f[S>>2]|0;f[S>>2]=0;if(!e){u=T;return m|0}pq(e);u=T;return m|0}function ec(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+32|0;g=k+16|0;e=k+12|0;i=k+8|0;j=k+4|0;h=k;switch(f[c+28>>2]|0){case 9:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Qb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=kc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 1:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=bc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Pb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=ic(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=dc(a,c,g)|0;break}default:d=0}break}case 11:case 2:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=bc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Pb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=ic(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=dc(a,c,g)|0;break}default:d=0}break}case 4:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=$b(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Ob(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=gc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Yb(a,c,g)|0;break}default:d=0}break}case 3:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=$b(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Ob(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=gc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=Yb(a,c,g)|0;break}default:d=0}break}case 6:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Qb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=kc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}case 5:{d=f[d>>2]|0;switch(b[c+24>>0]|0){case 1:{f[e>>2]=d;f[g>>2]=f[e>>2];d=cc(a,c,g)|0;break}case 2:{f[i>>2]=d;f[g>>2]=f[i>>2];d=Qb(a,c,g)|0;break}case 3:{f[j>>2]=d;f[g>>2]=f[j>>2];d=kc(a,c,g)|0;break}case 4:{f[h>>2]=d;f[g>>2]=f[h>>2];d=hc(a,c,g)|0;break}default:d=0}break}default:{a=-1;u=k;return a|0}}a=(d|0)==0?-1:d;u=k;return a|0}function fc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x;t=x+36|0;j=x+32|0;k=x+28|0;l=x+24|0;m=x+20|0;n=x+16|0;o=x+12|0;s=x+8|0;v=x+4|0;if((f[a+96>>2]|0)==(f[a+92>>2]|0)){u=x;return}d=a+56|0;c=f[d>>2]|0;if((c|0)==(f[a+60>>2]|0))Gi(a+52|0,b);else{f[c>>2]=f[b>>2];f[d>>2]=c+4}q=a+88|0;f[q>>2]=0;g=f[a>>2]|0;d=f[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)e=-1073741824;else e=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{i=-1073741824;e=-1073741824}p=a+24|0;c=f[p>>2]|0;g=c+(e>>>5<<2)|0;h=1<<(e&31);d=f[g>>2]|0;if(!(d&h)){f[g>>2]=d|h;f[j>>2]=e;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ag(a+36|0,t,w);c=f[p>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ag(d,t,w)}c=f[b>>2]|0;if((c|0)<0)e=-1073741824;else e=f[(f[f[a>>2]>>2]|0)+(c<<2)>>2]|0;d=(f[p>>2]|0)+(e>>>5<<2)|0;g=1<<(e&31);c=f[d>>2]|0;if(!(g&c)){f[d>>2]=c|g;f[n>>2]=e;f[o>>2]=f[b>>2];f[t>>2]=f[n>>2];f[w>>2]=f[o>>2];Ag(a+36|0,t,w)}c=f[q>>2]|0;a:do if((c|0)<3){m=a+12|0;n=a+36|0;l=a+92|0;while(1){while(1){e=a+52+(c*12|0)+4|0;d=f[e>>2]|0;if((f[a+52+(c*12|0)>>2]|0)!=(d|0))break;c=c+1|0;if((c|0)>=3)break a}o=d+-4|0;g=f[o>>2]|0;f[e>>2]=o;f[q>>2]=c;f[b>>2]=g;if((g|0)<=-1)break;o=(g>>>0)/3|0;d=f[m>>2]|0;do if(!(f[d+(o>>>5<<2)>>2]&1<<(o&31))){c=g;b:while(1){o=(c|0)/3|0;d=d+(o>>>5<<2)|0;f[d>>2]=1<<(o&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)g=-1073741824;else g=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;e=(f[p>>2]|0)+(g>>>5<<2)|0;h=1<<(g&31);c=f[e>>2]|0;if(!(h&c)){f[e>>2]=c|h;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(n,t,w);d=f[b>>2]|0}h=f[a>>2]|0;if((d|0)<0){r=69;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)<0)k=c;else k=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;c=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((c|0)>=0)c=f[(f[h+12>>2]|0)+(c<<2)>>2]|0;j=(k|0)<0;d=j?-1:(k>>>0)/3|0;e=(c|0)<0;g=e?-1:(c>>>0)/3|0;if(j)i=1;else i=(f[(f[m>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)!=0;do if(e)if(i){r=69;break b}else r=58;else{if(f[(f[m>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)if(i){r=69;break b}else{r=58;break}d=f[(f[h>>2]|0)+(c<<2)>>2]|0;if(!(1<<(d&31)&f[(f[p>>2]|0)+(d>>>5<<2)>>2])){o=(f[l>>2]|0)+(d<<2)|0;g=f[o>>2]|0;f[o>>2]=g+1;g=(g|0)>0?1:2}else g=0;if(i?(g|0)<=(f[q>>2]|0):0)break;f[w>>2]=c;e=a+52+(g*12|0)+4|0;d=f[e>>2]|0;if((d|0)==(f[a+52+(g*12|0)+8>>2]|0))Gi(a+52+(g*12|0)|0,w);else{f[d>>2]=c;f[e>>2]=d+4}if((f[q>>2]|0)>(g|0))f[q>>2]=g;if(i){r=69;break b}else r=58}while(0);if((r|0)==58){r=0;if(j)c=-1073741824;else c=f[(f[f[a>>2]>>2]|0)+(k<<2)>>2]|0;if(!(1<<(c&31)&f[(f[p>>2]|0)+(c>>>5<<2)>>2])){o=(f[l>>2]|0)+(c<<2)|0;e=f[o>>2]|0;f[o>>2]=e+1;e=(e|0)>0?1:2}else e=0;if((e|0)>(f[q>>2]|0))break;else c=k}f[b>>2]=c;d=f[m>>2]|0}if((r|0)==69){r=0;c=f[q>>2]|0;break}f[w>>2]=k;d=a+52+(e*12|0)+4|0;c=f[d>>2]|0;if((c|0)==(f[a+52+(e*12|0)+8>>2]|0))Gi(a+52+(e*12|0)|0,w);else{f[c>>2]=k;f[d>>2]=c+4}c=f[q>>2]|0;if((c|0)>(e|0)){f[q>>2]=e;c=e}}while(0);if((c|0)>=3)break a}u=x;return}while(0);f[b>>2]=-1073741824;u=x;return}function gc(a,c,e){a=a|0;c=c|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=Ka,p=Ka,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=Ka;Q=u;u=u+48|0;P=Q+12|0;J=Q+38|0;K=Q+32|0;N=Q;G=P+16|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;n[G>>2]=$(1.0);M=a+80|0;g=f[M>>2]|0;f[N>>2]=0;O=N+4|0;f[O>>2]=0;f[N+8>>2]=0;if(!g){h=0;m=0}else{if(g>>>0>1073741823)Fp(N);A=g<<2;B=an(A)|0;f[N>>2]=B;v=B+(g<<2)|0;f[N+8>>2]=v;cj(B|0,0,A|0)|0;f[O>>2]=v;v=f[e>>2]|0;A=c+48|0;B=c+40|0;E=K+2|0;F=K+4|0;y=P+4|0;z=P+12|0;x=P+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){q=v+D|0;g=A;r=f[g>>2]|0;g=f[g+4>>2]|0;m=B;q=$m(f[m>>2]|0,f[m+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;g=Mn(q|0,I|0,r|0,g|0)|0;g=(f[f[c>>2]>>2]|0)+g|0;b[J>>0]=b[g>>0]|0;b[J+1>>0]=b[g+1>>0]|0;b[J+2>>0]=b[g+2>>0]|0;b[J+3>>0]=b[g+3>>0]|0;b[J+4>>0]=b[g+4>>0]|0;b[J+5>>0]=b[g+5>>0]|0;bm(K|0,g|0,6)|0;g=zf(P,K)|0;if(!g){j=d[K>>1]|0;k=d[E>>1]|0;l=d[F>>1]|0;r=(((j^318)&65535)+239^k&65535)+239^l&65535;m=f[y>>2]|0;q=(m|0)==0;a:do if(!q){i=m+-1|0;h=(i&m|0)==0;if(!h)if(r>>>0>>0)g=r;else g=(r>>>0)%(m>>>0)|0;else g=r&i;e=f[(f[P>>2]|0)+(g<<2)>>2]|0;if((e|0)!=0?(H=f[e>>2]|0,(H|0)!=0):0){if(h){e=H;while(1){h=f[e+4>>2]|0;if(!((h|0)==(r|0)|(h&i|0)==(g|0))){t=29;break a}h=e+8|0;if(((d[h>>1]|0)==j<<16>>16?(d[h+2>>1]|0)==k<<16>>16:0)?(d[e+12>>1]|0)==l<<16>>16:0)break a;e=f[e>>2]|0;if(!e){t=29;break a}}}else h=H;while(1){e=f[h+4>>2]|0;if((e|0)!=(r|0)){if(e>>>0>=m>>>0)e=(e>>>0)%(m>>>0)|0;if((e|0)!=(g|0)){t=29;break a}}i=h+8|0;if(((d[i>>1]|0)==j<<16>>16?(d[i+2>>1]|0)==k<<16>>16:0)?(d[h+12>>1]|0)==l<<16>>16:0)break a;h=f[h>>2]|0;if(!h){t=29;break}}}else t=29}else{g=0;t=29}while(0);if((t|0)==29){t=0;i=an(20)|0;d[i+8>>1]=j;d[i+10>>1]=k;d[i+12>>1]=l;f[i+16>>2]=s;f[i+4>>2]=r;f[i>>2]=0;p=$(((f[z>>2]|0)+1|0)>>>0);R=$(m>>>0);o=$(n[G>>2]);do if(q|p>$(R*o)){g=(m>>>0<3|(m+-1&m|0)!=0)&1|m<<1;e=~~$(W($(p/o)))>>>0;Bh(P,g>>>0>>0?e:g);g=f[y>>2]|0;e=g+-1|0;if(!(e&g)){h=g;g=e&r;break}if(r>>>0>>0){h=g;g=r}else{h=g;g=(r>>>0)%(g>>>0)|0}}else h=m;while(0);e=(f[P>>2]|0)+(g<<2)|0;g=f[e>>2]|0;if(!g){f[i>>2]=f[x>>2];f[x>>2]=i;f[e>>2]=x;g=f[i>>2]|0;if(g|0){g=f[g+4>>2]|0;e=h+-1|0;if(e&h){if(g>>>0>=h>>>0)g=(g>>>0)%(h>>>0)|0}else g=g&e;g=(f[P>>2]|0)+(g<<2)|0;t=42}}else{f[i>>2]=f[g>>2];t=42}if((t|0)==42){t=0;f[g>>2]=i}f[z>>2]=(f[z>>2]|0)+1}r=C;g=f[r>>2]|0;r=$m(g|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Rg((f[f[w>>2]>>2]|0)+r|0,J|0,g|0)|0;f[(f[N>>2]|0)+(D<<2)>>2]=s;g=s+1|0}else{f[(f[N>>2]|0)+(D<<2)>>2]=f[g+16>>2];g=s}D=D+1|0;h=f[M>>2]|0;if((D|0)>=(h|0)){m=g;break}else s=g}}if((m|0)!=(h|0)){l=a+84|0;if(!(b[l>>0]|0)){h=f[a+68>>2]|0;g=(f[a+72>>2]|0)-h|0;if((g|0)>0){i=f[N>>2]|0;e=g>>2;g=0;do{a=h+(g<<2)|0;f[a>>2]=f[i+(f[a>>2]<<2)>>2];g=g+1|0}while((g|0)<(e|0))}}else{b[l>>0]=0;j=a+68|0;i=a+72|0;e=f[i>>2]|0;g=f[j>>2]|0;k=e-g>>2;if(h>>>0<=k>>>0){if(h>>>0>>0?(L=g+(h<<2)|0,(e|0)!=(L|0)):0)f[i>>2]=e+(~((e+-4-L|0)>>>2)<<2)}else{lh(j,h-k|0,1220);h=f[M>>2]|0}if((h|0)>0){i=f[N>>2]|0;if(b[l>>0]|0)ra(20060,20079,89,20179);g=f[a+68>>2]|0;e=0;do{f[g+(e<<2)>>2]=f[i+(e<<2)>>2];e=e+1|0}while((e|0)<(h|0))}}f[M>>2]=m}g=f[N>>2]|0;if(g|0){e=f[O>>2]|0;if((e|0)!=(g|0))f[O>>2]=e+(~((e+-4-g|0)>>>2)<<2);pq(g)}g=f[P+8>>2]|0;if(g|0)do{O=g;g=f[g>>2]|0;pq(O)}while((g|0)!=0);g=f[P>>2]|0;f[P>>2]=0;if(!g){u=Q;return m|0}pq(g);u=Q;return m|0}function hc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=Ka;R=u;u=u+80|0;Q=R+48|0;K=R+32|0;L=R+16|0;O=R;H=Q+16|0;f[Q>>2]=0;f[Q+4>>2]=0;f[Q+8>>2]=0;f[Q+12>>2]=0;n[H>>2]=$(1.0);N=a+80|0;e=f[N>>2]|0;f[O>>2]=0;P=O+4|0;f[P>>2]=0;f[O+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Fp(O);A=e<<2;B=an(A)|0;f[O>>2]=B;v=B+(e<<2)|0;f[O+8>>2]=v;cj(B|0,0,A|0)|0;f[P>>2]=v;v=f[d>>2]|0;A=c+48|0;B=c+40|0;E=L+4|0;F=L+8|0;G=L+12|0;y=Q+4|0;z=Q+12|0;x=Q+8|0;C=a+40|0;w=a+64|0;D=0;s=0;while(1){g=v+D|0;e=A;d=f[e>>2]|0;e=f[e+4>>2]|0;h=B;g=$m(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Mn(g|0,I|0,d|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;d=K;g=e;h=d+16|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));bm(L|0,e|0,16)|0;e=wf(Q,L)|0;if(!e){i=f[L>>2]|0;j=f[E>>2]|0;k=f[F>>2]|0;l=f[G>>2]|0;r=(((i^318)+239^j)+239^k)+239^l;p=f[y>>2]|0;q=(p|0)==0;a:do if(!q){h=p+-1|0;g=(h&p|0)==0;if(!g)if(r>>>0

>>0)e=r;else e=(r>>>0)%(p>>>0)|0;else e=r&h;d=f[(f[Q>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(J=f[d>>2]|0,(J|0)!=0):0){if(g){d=J;while(1){g=f[d+4>>2]|0;if(!((g|0)==(r|0)|(g&h|0)==(e|0))){t=31;break a}if((((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0)?(f[d+20>>2]|0)==(l|0):0)break a;d=f[d>>2]|0;if(!d){t=31;break a}}}else g=J;while(1){d=f[g+4>>2]|0;if((d|0)!=(r|0)){if(d>>>0>=p>>>0)d=(d>>>0)%(p>>>0)|0;if((d|0)!=(e|0)){t=31;break a}}if((((f[g+8>>2]|0)==(i|0)?(f[g+12>>2]|0)==(j|0):0)?(f[g+16>>2]|0)==(k|0):0)?(f[g+20>>2]|0)==(l|0):0)break a;g=f[g>>2]|0;if(!g){t=31;break}}}else t=31}else{e=0;t=31}while(0);if((t|0)==31){t=0;h=an(28)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=l;f[h+24>>2]=s;f[h+4>>2]=r;f[h>>2]=0;o=$(((f[z>>2]|0)+1|0)>>>0);S=$(p>>>0);m=$(n[H>>2]);do if(q|o>$(S*m)){e=(p>>>0<3|(p+-1&p|0)!=0)&1|p<<1;d=~~$(W($(o/m)))>>>0;Eh(Q,e>>>0>>0?d:e);e=f[y>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&r;break}if(r>>>0>>0){g=e;e=r}else{g=e;e=(r>>>0)%(e>>>0)|0}}else g=p;while(0);d=(f[Q>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[x>>2];f[x>>2]=h;f[d>>2]=x;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[Q>>2]|0)+(e<<2)|0;t=44}}else{f[h>>2]=f[e>>2];t=44}if((t|0)==44){t=0;f[e>>2]=h}f[z>>2]=(f[z>>2]|0)+1}r=C;e=f[r>>2]|0;r=$m(e|0,f[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;Rg((f[f[w>>2]>>2]|0)+r|0,K|0,e|0)|0;f[(f[O>>2]|0)+(D<<2)>>2]=s;e=s+1|0}else{f[(f[O>>2]|0)+(D<<2)>>2]=f[e+24>>2];e=s}D=D+1|0;g=f[N>>2]|0;if((D|0)>=(g|0)){l=e;break}else s=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[O>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(M=e+(g<<2)|0,(d|0)!=(M|0)):0)f[h>>2]=d+(~((d+-4-M|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[N>>2]|0}if((g|0)>0){h=f[O>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[N>>2]=l}e=f[O>>2]|0;if(e|0){d=f[P>>2]|0;if((d|0)!=(e|0))f[P>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[Q+8>>2]|0;if(e|0)do{P=e;e=f[e>>2]|0;pq(P)}while((e|0)!=0);e=f[Q>>2]|0;f[Q>>2]=0;if(!e){u=R;return l|0}pq(e);u=R;return l|0}function ic(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;P=u;u=u+48|0;O=P+12|0;H=P+35|0;J=P+32|0;M=P;F=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;e=f[L>>2]|0;f[M>>2]=0;N=M+4|0;f[N>>2]=0;f[M+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Fp(M);z=e<<2;A=an(z)|0;f[M>>2]=A;t=A+(e<<2)|0;f[M+8>>2]=t;cj(A|0,0,z|0)|0;f[N>>2]=t;t=f[d>>2]|0;z=c+48|0;A=c+40|0;D=J+1|0;E=J+2|0;x=O+4|0;y=O+12|0;w=O+8|0;B=a+40|0;v=a+64|0;C=0;r=0;while(1){p=t+C|0;e=z;q=f[e>>2]|0;e=f[e+4>>2]|0;l=A;p=$m(f[l>>2]|0,f[l+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;e=Mn(p|0,I|0,q|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;b[H>>0]=b[e>>0]|0;b[H+1>>0]=b[e+1>>0]|0;b[H+2>>0]=b[e+2>>0]|0;bm(J|0,e|0,3)|0;e=Cf(O,J)|0;if(!e){i=b[J>>0]|0;j=b[D>>0]|0;k=b[E>>0]|0;q=((i&255^318)+239^j&255)+239^k&255;l=f[x>>2]|0;p=(l|0)==0;a:do if(!p){h=l+-1|0;g=(h&l|0)==0;if(!g)if(q>>>0>>0)e=q;else e=(q>>>0)%(l>>>0)|0;else e=q&h;d=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(G=f[d>>2]|0,(G|0)!=0):0){if(g){d=G;while(1){g=f[d+4>>2]|0;if(!((g|0)==(q|0)|(g&h|0)==(e|0))){s=29;break a}g=d+8|0;if(((b[g>>0]|0)==i<<24>>24?(b[g+1>>0]|0)==j<<24>>24:0)?(b[g+2>>0]|0)==k<<24>>24:0)break a;d=f[d>>2]|0;if(!d){s=29;break a}}}else g=G;while(1){d=f[g+4>>2]|0;if((d|0)!=(q|0)){if(d>>>0>=l>>>0)d=(d>>>0)%(l>>>0)|0;if((d|0)!=(e|0)){s=29;break a}}h=g+8|0;if(((b[h>>0]|0)==i<<24>>24?(b[h+1>>0]|0)==j<<24>>24:0)?(b[h+2>>0]|0)==k<<24>>24:0)break a;g=f[g>>2]|0;if(!g){s=29;break}}}else s=29}else{e=0;s=29}while(0);if((s|0)==29){s=0;h=an(16)|0;b[h+8>>0]=i;b[h+9>>0]=j;b[h+10>>0]=k;f[h+12>>2]=r;f[h+4>>2]=q;f[h>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);Q=$(l>>>0);m=$(n[F>>2]);do if(p|o>$(Q*m)){e=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;d=~~$(W($(o/m)))>>>0;Ih(O,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&q;break}if(q>>>0>>0){g=e;e=q}else{g=e;e=(q>>>0)%(e>>>0)|0}}else g=l;while(0);d=(f[O>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[w>>2];f[w>>2]=h;f[d>>2]=w;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[O>>2]|0)+(e<<2)|0;s=42}}else{f[h>>2]=f[e>>2];s=42}if((s|0)==42){s=0;f[e>>2]=h}f[y>>2]=(f[y>>2]|0)+1}q=B;e=f[q>>2]|0;q=$m(e|0,f[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Rg((f[f[v>>2]>>2]|0)+q|0,H|0,e|0)|0;f[(f[M>>2]|0)+(C<<2)>>2]=r;e=r+1|0}else{f[(f[M>>2]|0)+(C<<2)>>2]=f[e+12>>2];e=r}C=C+1|0;g=f[L>>2]|0;if((C|0)>=(g|0)){l=e;break}else r=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[M>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=e+(g<<2)|0,(d|0)!=(K|0)):0)f[h>>2]=d+(~((d+-4-K|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[L>>2]=l}e=f[M>>2]|0;if(e|0){d=f[N>>2]|0;if((d|0)!=(e|0))f[N>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;pq(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return l|0}pq(e);u=P;return l|0}function jc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;E=R+48|0;K=R+36|0;J=R+24|0;G=R+16|0;H=R+8|0;F=R;D=R+32|0;L=a+8|0;d=f[L>>2]|0;if((d|0)<=1)ra(11874,13962,79,12006);if((d|0)>=31)ra(12026,13962,80,12006);f[a+72>>2]=d;C=1<>2]=C+-1;C=C+-2|0;B=a+80|0;f[B>>2]=C;z=a+84|0;f[z>>2]=(C|0)/2|0;C=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(13158,13962,99,14125);if((e|0)!=2)ra(14149,13962,101,14125);y=a+88|0;Uk(y);w=a+36|0;d=f[w>>2]|0;v=(f[d+4>>2]|0)-(f[d>>2]|0)|0;x=v>>2;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;t=J;f[t>>2]=0;f[t+4>>2]=0;t=G;f[t>>2]=0;f[t+4>>2]=0;t=H;f[t>>2]=0;f[t+4>>2]=0;t=F;f[t>>2]=0;f[t+4>>2]=0;if((v|0)<=0){u=R;return 1}t=K+4|0;v=K+8|0;p=J+4|0;q=G+4|0;s=H+4|0;r=F+4|0;g=f[d>>2]|0;if((f[d+4>>2]|0)==(g|0)){o=d;Fp(o)}else{h=g;Q=0}while(1){f[D>>2]=f[h+(Q<<2)>>2];f[E>>2]=f[D>>2];Vb(C,E,K);d=f[K>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[t>>2]|0;e=(g|0)>-1?g:0-g|0;a=Mn(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[v>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Mn(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;o=f[z>>2]|0;if((e|0)==0&(a|0)==0){g=K;d=o}else{m=((o|0)<0)<<31>>31;n=$m(o|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;n=kk(n|0,I|0,e|0,a|0)|0;f[K>>2]=n;d=$m(o|0,m|0,g|0,((g|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,e|0,a|0)|0;f[t>>2]=d;d=o-((n|0)>-1?n:0-n|0)-((d|0)>-1?d:0-d|0)|0;g=v;d=h?d:0-d|0}f[g>>2]=d;k=f[K>>2]|0;g=(k|0)>-1;m=0-k|0;l=f[t>>2]|0;i=0-l|0;a=(l|0)>-1?l:i;n=f[v>>2]|0;j=0-n|0;d=(n|0)>-1?n:j;if((a+(g?k:m)+d|0)!=(o|0)){g=16;break}if(!g){if((l|0)>=0)d=(f[B>>2]|0)-d|0;if((n|0)<0){e=d;g=a}else{e=d;g=(f[B>>2]|0)-a|0}}else{e=o+l|0;g=o+n|0}a=(e|0)==0;h=(g|0)==0;d=f[B>>2]|0;do if((g|e|0)!=0?(N=(d|0)==(g|0),P=(d|0)==(e|0),!(a&N|h&P)):0){if(a&(o|0)<(g|0)){e=0;g=(o<<1)-g|0;break}if((o|0)>(g|0)&P){g=(o<<1)-g|0;break}if((o|0)>(e|0)&N){e=(o<<1)-e|0;break}else{e=(o|0)<(e|0)&h?(o<<1)-e|0:e;break}}else{e=d;g=d}while(0);f[J>>2]=e;f[p>>2]=g;f[K>>2]=m;f[t>>2]=i;f[v>>2]=j;a=(k|0)<1;e=(l|0)<1?i:l;g=(n|0)<1?j:n;if((e+(a?m:k)+g|0)!=(o|0)){g=33;break}if(a){h=o-l|0;a=o-n|0}else{h=(l|0)>0?g:d-g|0;a=(n|0)>0?e:d-e|0}g=(h|0)==0;e=(a|0)==0;do if((a|h|0)!=0?(M=(d|0)==(a|0),O=(d|0)==(h|0),!(g&M|e&O)):0){if(g&(o|0)<(a|0)){g=0;d=(o<<1)-a|0;break}if((o|0)>(a|0)&O){g=d;d=(o<<1)-a|0;break}if((o|0)>(h|0)&M){g=(o<<1)-h|0;break}else{g=(o|0)<(h|0)&e?(o<<1)-h|0:h;d=a;break}}else g=d;while(0);f[G>>2]=g;f[q>>2]=d;i=Q<<1;d=b+(i<<2)|0;ai(L,d,J,H);ai(L,d,G,F);d=f[H>>2]|0;h=f[z>>2]|0;if((h|0)>=(d|0)){if((d|0)<(0-h|0))d=(f[A>>2]|0)+d|0}else d=d-(f[A>>2]|0)|0;f[H>>2]=d;g=f[s>>2]|0;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[A>>2]|0)+g|0}else g=g-(f[A>>2]|0)|0;f[s>>2]=g;e=f[F>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[A>>2]|0)+e|0}else e=e-(f[A>>2]|0)|0;f[F>>2]=e;a=f[r>>2]|0;if((h|0)>=(a|0)){if((a|0)<(0-h|0))a=(f[A>>2]|0)+a|0}else a=a-(f[A>>2]|0)|0;f[r>>2]=a;if((((g|0)>-1?g:0-g|0)+((d|0)>-1?d:0-d|0)|0)<(((e|0)>-1?e:0-e|0)+((a|0)>-1?a:0-a|0)|0)){$i(y,0);e=H}else{$i(y,1);e=F}d=f[e>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=66;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;g=c+(i<<2)|0;f[g>>2]=d;d=f[e+4>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=70;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;f[g+4>>2]=d;Q=Q+1|0;if((Q|0)>=(x|0)){g=11;break}d=f[w>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=Q>>>0){g=12;break}}if((g|0)==11){u=R;return 1}else if((g|0)==12)Fp(d);else if((g|0)==16)ra(14173,13962,119,14125);else if((g|0)==33)ra(14240,11885,99,14328);else if((g|0)==66)ra(12778,11885,313,12812);else if((g|0)==70)ra(12778,11885,313,12812);return 0}function kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=Ka,o=Ka,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=Ka;P=u;u=u+64|0;O=P+36|0;H=P+24|0;J=P+12|0;M=P;F=O+16|0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;n[F>>2]=$(1.0);L=a+80|0;e=f[L>>2]|0;f[M>>2]=0;N=M+4|0;f[N>>2]=0;f[M+8>>2]=0;if(!e){g=0;l=0}else{if(e>>>0>1073741823)Fp(M);z=e<<2;A=an(z)|0;f[M>>2]=A;t=A+(e<<2)|0;f[M+8>>2]=t;cj(A|0,0,z|0)|0;f[N>>2]=t;t=f[d>>2]|0;z=c+48|0;A=c+40|0;D=J+4|0;E=J+8|0;x=O+4|0;y=O+12|0;w=O+8|0;B=a+40|0;v=a+64|0;C=0;r=0;while(1){g=t+C|0;e=z;d=f[e>>2]|0;e=f[e+4>>2]|0;h=A;g=$m(f[h>>2]|0,f[h+4>>2]|0,g|0,((g|0)<0)<<31>>31|0)|0;e=Mn(g|0,I|0,d|0,e|0)|0;e=(f[f[c>>2]>>2]|0)+e|0;d=H;g=e;h=d+12|0;do{b[d>>0]=b[g>>0]|0;d=d+1|0;g=g+1|0}while((d|0)<(h|0));bm(J|0,e|0,12)|0;e=Sf(O,J)|0;if(!e){i=f[J>>2]|0;j=f[D>>2]|0;k=f[E>>2]|0;q=((i^318)+239^j)+239^k;l=f[x>>2]|0;p=(l|0)==0;a:do if(!p){h=l+-1|0;g=(h&l|0)==0;if(!g)if(q>>>0>>0)e=q;else e=(q>>>0)%(l>>>0)|0;else e=q&h;d=f[(f[O>>2]|0)+(e<<2)>>2]|0;if((d|0)!=0?(G=f[d>>2]|0,(G|0)!=0):0){if(g){d=G;while(1){g=f[d+4>>2]|0;if(!((g|0)==(q|0)|(g&h|0)==(e|0))){s=29;break a}if(((f[d+8>>2]|0)==(i|0)?(f[d+12>>2]|0)==(j|0):0)?(f[d+16>>2]|0)==(k|0):0)break a;d=f[d>>2]|0;if(!d){s=29;break a}}}else g=G;while(1){d=f[g+4>>2]|0;if((d|0)!=(q|0)){if(d>>>0>=l>>>0)d=(d>>>0)%(l>>>0)|0;if((d|0)!=(e|0)){s=29;break a}}if(((f[g+8>>2]|0)==(i|0)?(f[g+12>>2]|0)==(j|0):0)?(f[g+16>>2]|0)==(k|0):0)break a;g=f[g>>2]|0;if(!g){s=29;break}}}else s=29}else{e=0;s=29}while(0);if((s|0)==29){s=0;h=an(24)|0;f[h+8>>2]=i;f[h+12>>2]=j;f[h+16>>2]=k;f[h+20>>2]=r;f[h+4>>2]=q;f[h>>2]=0;o=$(((f[y>>2]|0)+1|0)>>>0);Q=$(l>>>0);m=$(n[F>>2]);do if(p|o>$(Q*m)){e=(l>>>0<3|(l+-1&l|0)!=0)&1|l<<1;d=~~$(W($(o/m)))>>>0;Fh(O,e>>>0>>0?d:e);e=f[x>>2]|0;d=e+-1|0;if(!(d&e)){g=e;e=d&q;break}if(q>>>0>>0){g=e;e=q}else{g=e;e=(q>>>0)%(e>>>0)|0}}else g=l;while(0);d=(f[O>>2]|0)+(e<<2)|0;e=f[d>>2]|0;if(!e){f[h>>2]=f[w>>2];f[w>>2]=h;f[d>>2]=w;e=f[h>>2]|0;if(e|0){e=f[e+4>>2]|0;d=g+-1|0;if(d&g){if(e>>>0>=g>>>0)e=(e>>>0)%(g>>>0)|0}else e=e&d;e=(f[O>>2]|0)+(e<<2)|0;s=42}}else{f[h>>2]=f[e>>2];s=42}if((s|0)==42){s=0;f[e>>2]=h}f[y>>2]=(f[y>>2]|0)+1}q=B;e=f[q>>2]|0;q=$m(e|0,f[q+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;Rg((f[f[v>>2]>>2]|0)+q|0,H|0,e|0)|0;f[(f[M>>2]|0)+(C<<2)>>2]=r;e=r+1|0}else{f[(f[M>>2]|0)+(C<<2)>>2]=f[e+20>>2];e=r}C=C+1|0;g=f[L>>2]|0;if((C|0)>=(g|0)){l=e;break}else r=e}}if((l|0)!=(g|0)){k=a+84|0;if(!(b[k>>0]|0)){g=f[a+68>>2]|0;e=(f[a+72>>2]|0)-g|0;if((e|0)>0){h=f[M>>2]|0;d=e>>2;e=0;do{a=g+(e<<2)|0;f[a>>2]=f[h+(f[a>>2]<<2)>>2];e=e+1|0}while((e|0)<(d|0))}}else{b[k>>0]=0;i=a+68|0;h=a+72|0;d=f[h>>2]|0;e=f[i>>2]|0;j=d-e>>2;if(g>>>0<=j>>>0){if(g>>>0>>0?(K=e+(g<<2)|0,(d|0)!=(K|0)):0)f[h>>2]=d+(~((d+-4-K|0)>>>2)<<2)}else{lh(i,g-j|0,1220);g=f[L>>2]|0}if((g|0)>0){h=f[M>>2]|0;if(b[k>>0]|0)ra(20060,20079,89,20179);e=f[a+68>>2]|0;d=0;do{f[e+(d<<2)>>2]=f[h+(d<<2)>>2];d=d+1|0}while((d|0)<(g|0))}}f[L>>2]=l}e=f[M>>2]|0;if(e|0){d=f[N>>2]|0;if((d|0)!=(e|0))f[N>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e)}e=f[O+8>>2]|0;if(e|0)do{N=e;e=f[e>>2]|0;pq(N)}while((e|0)!=0);e=f[O>>2]|0;f[O>>2]=0;if(!e){u=P;return l|0}pq(e);u=P;return l|0}function lc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=u;u=u+64|0;E=R+48|0;K=R+36|0;J=R+24|0;G=R+16|0;H=R+8|0;F=R;D=R+32|0;L=a+8|0;d=f[L>>2]|0;if((d|0)<=1)ra(11874,13962,79,12006);if((d|0)>=31)ra(12026,13962,80,12006);f[a+72>>2]=d;C=1<>2]=C+-1;C=C+-2|0;B=a+80|0;f[B>>2]=C;z=a+84|0;f[z>>2]=(C|0)/2|0;C=a+40|0;f[a+48>>2]=g;if(!(Ma[f[(f[a>>2]|0)+16>>2]&127](a)|0))ra(13158,13962,99,14125);if((e|0)!=2)ra(14149,13962,101,14125);y=a+88|0;Uk(y);w=a+36|0;d=f[w>>2]|0;v=(f[d+4>>2]|0)-(f[d>>2]|0)|0;x=v>>2;f[K>>2]=0;f[K+4>>2]=0;f[K+8>>2]=0;t=J;f[t>>2]=0;f[t+4>>2]=0;t=G;f[t>>2]=0;f[t+4>>2]=0;t=H;f[t>>2]=0;f[t+4>>2]=0;t=F;f[t>>2]=0;f[t+4>>2]=0;if((v|0)<=0){u=R;return 1}t=K+4|0;v=K+8|0;p=J+4|0;q=G+4|0;s=H+4|0;r=F+4|0;g=f[d>>2]|0;if((f[d+4>>2]|0)==(g|0)){o=d;Fp(o)}else{h=g;Q=0}while(1){f[D>>2]=f[h+(Q<<2)>>2];f[E>>2]=f[D>>2];Ac(C,E,K);d=f[K>>2]|0;a=(d|0)>-1?d:0-d|0;g=f[t>>2]|0;e=(g|0)>-1?g:0-g|0;a=Mn(e|0,((e|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;e=f[v>>2]|0;h=(e|0)>-1;e=h?e:0-e|0;e=Mn(a|0,I|0,e|0,((e|0)<0)<<31>>31|0)|0;a=I;o=f[z>>2]|0;if((e|0)==0&(a|0)==0){g=K;d=o}else{m=((o|0)<0)<<31>>31;n=$m(o|0,m|0,d|0,((d|0)<0)<<31>>31|0)|0;n=kk(n|0,I|0,e|0,a|0)|0;f[K>>2]=n;d=$m(o|0,m|0,g|0,((g|0)<0)<<31>>31|0)|0;d=kk(d|0,I|0,e|0,a|0)|0;f[t>>2]=d;d=o-((n|0)>-1?n:0-n|0)-((d|0)>-1?d:0-d|0)|0;g=v;d=h?d:0-d|0}f[g>>2]=d;k=f[K>>2]|0;g=(k|0)>-1;m=0-k|0;l=f[t>>2]|0;i=0-l|0;a=(l|0)>-1?l:i;n=f[v>>2]|0;j=0-n|0;d=(n|0)>-1?n:j;if((a+(g?k:m)+d|0)!=(o|0)){g=16;break}if(!g){if((l|0)>=0)d=(f[B>>2]|0)-d|0;if((n|0)<0){e=d;g=a}else{e=d;g=(f[B>>2]|0)-a|0}}else{e=o+l|0;g=o+n|0}a=(e|0)==0;h=(g|0)==0;d=f[B>>2]|0;do if((g|e|0)!=0?(N=(d|0)==(g|0),P=(d|0)==(e|0),!(a&N|h&P)):0){if(a&(o|0)<(g|0)){e=0;g=(o<<1)-g|0;break}if((o|0)>(g|0)&P){g=(o<<1)-g|0;break}if((o|0)>(e|0)&N){e=(o<<1)-e|0;break}else{e=(o|0)<(e|0)&h?(o<<1)-e|0:e;break}}else{e=d;g=d}while(0);f[J>>2]=e;f[p>>2]=g;f[K>>2]=m;f[t>>2]=i;f[v>>2]=j;a=(k|0)<1;e=(l|0)<1?i:l;g=(n|0)<1?j:n;if((e+(a?m:k)+g|0)!=(o|0)){g=33;break}if(a){h=o-l|0;a=o-n|0}else{h=(l|0)>0?g:d-g|0;a=(n|0)>0?e:d-e|0}g=(h|0)==0;e=(a|0)==0;do if((a|h|0)!=0?(M=(d|0)==(a|0),O=(d|0)==(h|0),!(g&M|e&O)):0){if(g&(o|0)<(a|0)){g=0;d=(o<<1)-a|0;break}if((o|0)>(a|0)&O){g=d;d=(o<<1)-a|0;break}if((o|0)>(h|0)&M){g=(o<<1)-h|0;break}else{g=(o|0)<(h|0)&e?(o<<1)-h|0:h;d=a;break}}else g=d;while(0);f[G>>2]=g;f[q>>2]=d;i=Q<<1;d=b+(i<<2)|0;ai(L,d,J,H);ai(L,d,G,F);d=f[H>>2]|0;h=f[z>>2]|0;if((h|0)>=(d|0)){if((d|0)<(0-h|0))d=(f[A>>2]|0)+d|0}else d=d-(f[A>>2]|0)|0;f[H>>2]=d;g=f[s>>2]|0;if((h|0)>=(g|0)){if((g|0)<(0-h|0))g=(f[A>>2]|0)+g|0}else g=g-(f[A>>2]|0)|0;f[s>>2]=g;e=f[F>>2]|0;if((h|0)>=(e|0)){if((e|0)<(0-h|0))e=(f[A>>2]|0)+e|0}else e=e-(f[A>>2]|0)|0;f[F>>2]=e;a=f[r>>2]|0;if((h|0)>=(a|0)){if((a|0)<(0-h|0))a=(f[A>>2]|0)+a|0}else a=a-(f[A>>2]|0)|0;f[r>>2]=a;if((((g|0)>-1?g:0-g|0)+((d|0)>-1?d:0-d|0)|0)<(((e|0)>-1?e:0-e|0)+((a|0)>-1?a:0-a|0)|0)){$i(y,0);e=H}else{$i(y,1);e=F}d=f[e>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=66;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;g=c+(i<<2)|0;f[g>>2]=d;d=f[e+4>>2]|0;if((f[z>>2]<<1|0)<(d|0)){g=70;break}if((d|0)<0)d=(f[A>>2]|0)+d|0;f[g+4>>2]=d;Q=Q+1|0;if((Q|0)>=(x|0)){g=11;break}d=f[w>>2]|0;h=f[d>>2]|0;if((f[d+4>>2]|0)-h>>2>>>0<=Q>>>0){g=12;break}}if((g|0)==11){u=R;return 1}else if((g|0)==12)Fp(d);else if((g|0)==16)ra(14173,13962,119,14125);else if((g|0)==33)ra(14240,11885,99,14328);else if((g|0)==66)ra(12778,11885,313,12812);else if((g|0)==70)ra(12778,11885,313,12812);return 0}function mc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))Gi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}c=f[a>>2]|0;g=f[b>>2]|0;d=g+1|0;do if((g|0)>=0){c=f[c+28>>2]|0;d=f[c+((((d|0)%3|0|0)==0?g+-2|0:d)<<2)>>2]|0;if(!((g>>>0)%3|0)){e=c;c=g+2|0;break}else{e=c;c=g+-1|0;break}}else{d=f[c+28>>2]|0;e=d;d=f[d+(g<<2)>>2]|0;c=g}while(0);i=f[e+(c<<2)>>2]|0;n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ag(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ag(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;do{e=f[c+-4>>2]|0;f[b>>2]=e;g=(e|0)/3|0;if((e|0)>=0?(p=f[q>>2]|0,(f[p+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0){c=e;d=p;e=f[a>>2]|0;a:while(1){i=(c|0)/3|0;g=d+(i>>>5<<2)|0;f[g>>2]=1<<(i&31)|f[g>>2];g=f[(f[e+28>>2]|0)+(f[b>>2]<<2)>>2]|0;d=(f[n>>2]|0)+(g>>>5<<2)|0;i=1<<(g&31);c=f[d>>2]|0;do if(!(i&c)){h=f[(f[e+40>>2]|0)+(g<<2)>>2]|0;if((h|0)<0){f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(k,t,w);y=40;break}m=f[(f[f[e+64>>2]>>2]|0)+(h<<2)>>2]|0;m=(1<<(m&31)&f[(f[e+12>>2]|0)+(m>>>5<<2)>>2]|0)==0;f[d>>2]=c|i;f[s>>2]=g;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(k,t,w);if(m){e=f[a>>2]|0;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;do if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)<0)break;c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;while(0);f[b>>2]=c}else y=40}else y=40;while(0);if((y|0)==40){y=0;e=f[a>>2]|0;d=f[b>>2]|0;g=(d|0)<0;c=d+1|0;if(g)c=d;else c=((c|0)%3|0|0)==0?d+-2|0:c;if(!(1<<(c&31)&f[(f[e>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0)c=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(c<<2)>>2]|0}else c=-1073741824;f[w>>2]=c;do if(!g)if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}while(0);do if(!(1<<(d&31)&f[(f[e>>2]|0)+(d>>>5<<2)>>2])){if((d|0)<0)break;d=f[(f[(f[e+64>>2]|0)+12>>2]|0)+(d<<2)>>2]|0}else d=-1073741824;while(0);m=(c|0)<0;i=m?-1:(c>>>0)/3|0;h=(d|0)<0;j=h?-1:(d>>>0)/3|0;do if(!m){g=f[q>>2]|0;if(f[g+(i>>>5<<2)>>2]&1<<(i&31)|0){y=54;break}if(h)break;if(!(f[g+(j>>>5<<2)>>2]&1<<(j&31))){y=59;break a}}else y=54;while(0);if((y|0)==54){y=0;if(h){y=56;break}if(!(f[(f[q>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)))c=d;else{y=56;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==56){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}else if((y|0)==59){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){Gi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);d=f[x>>2]|0}else{c=c+-4|0;f[r>>2]=c}}while((d|0)!=(c|0));u=z;return}function nc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+32|0;q=v+16|0;r=v+12|0;g=v+29|0;t=v;m=v+28|0;if(!(f[(f[a+8>>2]|0)+80>>2]|0)){t=1;u=v;return t|0}b[g>>0]=-2;p=a+36|0;e=f[p>>2]|0;if(e)if(Na[f[(f[a>>2]|0)+40>>2]&127](a,e)|0){j=f[p>>2]|0;j=(Ma[f[(f[j>>2]|0)+8>>2]&127](j)|0)&255;b[g>>0]=j;j=5}else e=0;else j=5;if((j|0)==5){o=d+16|0;s=o;n=f[s+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[s>>2]|0)>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,g,g+1|0)|0}e=f[p>>2]|0;if(e|0?(s=(Ma[f[(f[e>>2]|0)+36>>2]&127](e)|0)&255,b[t>>0]=s,s=o,n=f[s+4>>2]|0,!((n|0)>0|(n|0)==0&(f[s>>2]|0)>>>0>0)):0){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,t,t+1|0)|0}h=f[a+32>>2]|0;k=b[h+24>>0]|0;n=X(k,f[h+80>>2]|0)|0;h=(f[f[h>>2]>>2]|0)+(f[h+48>>2]|0)|0;f[t>>2]=0;s=t+4|0;f[s>>2]=0;f[t+8>>2]=0;l=(n|0)==0;do if(!l)if(n>>>0>1073741823)Fp(t);else{e=n<<2;i=an(e)|0;f[t>>2]=i;g=i+(n<<2)|0;f[t+8>>2]=g;cj(i|0,0,e|0)|0;f[s>>2]=g;break}else i=0;while(0);e=f[p>>2]|0;do if(e){Pa[f[(f[e>>2]|0)+44>>2]&31](e,h,i,n,k,f[c>>2]|0)|0;e=f[p>>2]|0;if(!e){g=f[t>>2]|0;e=h;j=20;break}if(!(Ma[f[(f[e>>2]|0)+32>>2]&127](e)|0)){e=f[t>>2]|0;g=e;e=f[p>>2]|0?e:h;j=20}}else{g=i;e=h;j=20}while(0);if((j|0)==20)lm(e,n,g);e=f[a+4>>2]|0;do if(e){e=f[e+48>>2]|0;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;g=an(48)|0;f[q>>2]=g;f[q+8>>2]=-2147483600;f[q+4>>2]=34;h=g;i=11572;a=h+34|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(a|0));b[g+34>>0]=0;e=Qj(e,q,1)|0;if((b[q+11>>0]|0)<0)pq(f[q>>2]|0);if(!e){if(!l){e=f[t>>2]|0;g=0;h=0;do{h=f[e+(g<<2)>>2]|h;g=g+1|0}while((g|0)!=(n|0));if(h)i=((_(h|0)|0)>>>3^3)+1|0;else i=1}else i=1;b[m>>0]=0;e=o;g=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,m,m+1|0)|0;g=o;e=f[g+4>>2]|0;g=f[g>>2]|0}b[m>>0]=i;if(!((e|0)>0|(e|0)==0&g>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,m,m+1|0)|0}if((i|0)==(Nl(5)|0)){e=f[t>>2]|0;m=f[o+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[o>>2]|0)>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,e,e+(n<<2)|0)|0}j=46;break}if(l)j=46;else{e=d+4|0;h=0;do{g=(f[t>>2]|0)+(h<<2)|0;m=o;l=f[m+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[m>>2]|0)>>>0>0)){f[r>>2]=f[e>>2];f[q>>2]=f[r>>2];Ke(d,q,g,g+i|0)|0}h=h+1|0}while(h>>>0>>0);j=46}}else j=27}else j=27;while(0);if((j|0)==27){b[m>>0]=1;n=f[o+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[o>>2]|0)>>>0>0)){f[r>>2]=f[d+4>>2];f[q>>2]=f[r>>2];Ke(d,q,m,m+1|0)|0}if(Lc(f[t>>2]|0,X((f[c+4>>2]|0)-(f[c>>2]|0)>>2,k)|0,k,d)|0)j=46;else e=0}if((j|0)==46){e=f[p>>2]|0;if(!e)e=1;else{Na[f[(f[e>>2]|0)+40>>2]&127](e,d)|0;e=1}}g=f[t>>2]|0;if(g|0){h=f[s>>2]|0;if((h|0)!=(g|0))f[s>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}}t=e;u=v;return t|0}function oc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;H=a+8|0;f[H>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{F=f[b+(i<<2)>>2]|0;B=(F|0)<(g|0);g=B?F:g;h=B?h:(F|0)>(h|0)?F:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;F=1-g+h|0;f[a+20>>2]=F;g=(F|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(F&1))f[h>>2]=g+-1}q=e>>>0>1073741823?-1:e<<2;F=mq(q)|0;cj(F|0,0,q|0)|0;q=f[a+48>>2]|0;r=f[a+56>>2]|0;g=f[r>>2]|0;A=(f[r+4>>2]|0)-g|0;B=A>>2;a:do if((A|0)>4){s=f[a+52>>2]|0;y=a+16|0;u=a+32|0;A=a+12|0;z=a+28|0;x=a+20|0;w=a+24|0;t=q+12|0;v=(e|0)>0;p=B;while(1){o=p;p=p+-1|0;if(B>>>0<=p>>>0)break;h=f[g+(p<<2)>>2]|0;n=X(p,e)|0;if((h|0)>=0?(G=f[(f[t>>2]|0)+(h<<2)>>2]|0,(G|0)>=0):0){i=f[q>>2]|0;j=f[s>>2]|0;k=f[j+(f[i+(G<<2)>>2]<<2)>>2]|0;h=G+1|0;h=((h|0)%3|0|0)==0?G+-2|0:h;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;l=f[j+(h<<2)>>2]|0;h=(((G>>>0)%3|0|0)==0?2:-1)+G|0;if((h|0)<0)h=-1073741824;else h=f[i+(h<<2)>>2]|0;h=f[j+(h<<2)>>2]|0;if((k|0)<(p|0)&(l|0)<(p|0)&(h|0)<(p|0)){k=X(k,e)|0;j=X(l,e)|0;i=X(h,e)|0;if(v){h=0;do{f[F+(h<<2)>>2]=(f[b+(h+i<<2)>>2]|0)+(f[b+(h+j<<2)>>2]|0)-(f[b+(h+k<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}d=b+(n<<2)|0;m=c+(n<<2)|0;h=f[H>>2]|0;if((h|0)>0){l=0;j=F;do{if((h|0)>0){k=0;do{h=f[j+(k<<2)>>2]|0;i=f[y>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(k<<2)>>2]=i}else{J=f[A>>2]|0;i=f[u>>2]|0;f[i+(k<<2)>>2]=(h|0)<(J|0)?J:h;h=i}k=k+1|0}while((k|0)<(f[H>>2]|0));j=h}else j=f[u>>2]|0;h=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=h;if((h|0)>=(f[z>>2]|0)){if((h|0)>(f[w>>2]|0)){h=h-(f[x>>2]|0)|0;I=52}}else{h=(f[x>>2]|0)+h|0;I=52}if((I|0)==52){I=0;f[i>>2]=h}l=l+1|0;h=f[H>>2]|0}while((l|0)<(h|0))}}else I=26}else I=26;if((I|0)==26?(I=0,D=b+(n<<2)|0,E=c+(n<<2)|0,C=f[H>>2]|0,(C|0)>0):0){i=C;l=0;k=b+((X(o+-2|0,e)|0)<<2)|0;while(1){if((i|0)>0){j=0;do{h=f[k+(j<<2)>>2]|0;i=f[y>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(j<<2)>>2]=i}else{o=f[A>>2]|0;J=f[u>>2]|0;f[J+(j<<2)>>2]=(h|0)<(o|0)?o:h;h=J}j=j+1|0}while((j|0)<(f[H>>2]|0))}else h=f[u>>2]|0;i=(f[D+(l<<2)>>2]|0)-(f[h+(l<<2)>>2]|0)|0;j=E+(l<<2)|0;f[j>>2]=i;if((i|0)>=(f[z>>2]|0)){if((i|0)>(f[w>>2]|0)){i=i-(f[x>>2]|0)|0;I=39}}else{i=(f[x>>2]|0)+i|0;I=39}if((I|0)==39){I=0;f[j>>2]=i}l=l+1|0;i=f[H>>2]|0;if((l|0)>=(i|0))break;else k=h}}if((p|0)<=1)break a}Fp(r)}while(0);if((e|0)>0)cj(F|0,0,e<<2|0)|0;g=f[H>>2]|0;if((g|0)<=0){nq(F);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=F;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;J=f[d>>2]|0;f[J+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=J}j=j+1|0}while((j|0)<(f[H>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;I=66}}else{g=(f[m>>2]|0)+g|0;I=66}if((I|0)==66){I=0;f[h>>2]=g}k=k+1|0;g=f[H>>2]|0}while((k|0)<(g|0));nq(F);return 1}function pc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;if(!a)return;c=a+-8|0;d=f[5958]|0;a=f[a+-4>>2]|0;b=a&-8;k=c+b|0;do if(!(a&1)){e=f[c>>2]|0;if(!(a&3))return;g=c+(0-e)|0;h=e+b|0;if(g>>>0>>0)return;if((g|0)==(f[5959]|0)){b=k+4|0;a=f[b>>2]|0;if((a&3|0)!=3){i=g;j=g;b=h;break}f[5956]=h;f[b>>2]=a&-2;f[g+4>>2]=h|1;f[g+h>>2]=h;return}c=e>>>3;if(e>>>0<256){a=f[g+8>>2]|0;b=f[g+12>>2]|0;if((b|0)==(a|0)){f[5954]=f[5954]&~(1<>2]=b;f[b+8>>2]=a;i=g;j=g;b=h;break}}e=f[g+24>>2]|0;a=f[g+12>>2]|0;do if((a|0)==(g|0)){c=g+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[g+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(e){a=f[g+28>>2]|0;b=24120+(a<<2)|0;if((g|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5955]=f[5955]&~(1<>2]|0)!=(g|0)&1)<<2)>>2]=c;if(!c){i=g;j=g;b=h;break}}f[c+24>>2]=e;b=g+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a){f[c+20>>2]=a;f[a+24>>2]=c;i=g;j=g;b=h}else{i=g;j=g;b=h}}else{i=g;j=g;b=h}}else{i=c;j=c}while(0);if(i>>>0>=k>>>0)return;a=k+4|0;d=f[a>>2]|0;if(!(d&1))return;if(!(d&2)){a=f[5959]|0;if((k|0)==(f[5960]|0)){k=(f[5957]|0)+b|0;f[5957]=k;f[5960]=j;f[j+4>>2]=k|1;if((j|0)!=(a|0))return;f[5959]=0;f[5956]=0;return}if((k|0)==(a|0)){k=(f[5956]|0)+b|0;f[5956]=k;f[5959]=i;f[j+4>>2]=k|1;f[i+k>>2]=k;return}e=(d&-8)+b|0;c=d>>>3;do if(d>>>0<256){b=f[k+8>>2]|0;a=f[k+12>>2]|0;if((a|0)==(b|0)){f[5954]=f[5954]&~(1<>2]=a;f[a+8>>2]=b;break}}else{g=f[k+24>>2]|0;a=f[k+12>>2]|0;do if((a|0)==(k|0)){c=k+16|0;b=c+4|0;a=f[b>>2]|0;if(!a){a=f[c>>2]|0;if(!a){c=0;break}else d=c}else d=b;while(1){c=a+20|0;b=f[c>>2]|0;if(b|0){a=b;d=c;continue}c=a+16|0;b=f[c>>2]|0;if(!b)break;else{a=b;d=c}}f[d>>2]=0;c=a}else{c=f[k+8>>2]|0;f[c+12>>2]=a;f[a+8>>2]=c;c=a}while(0);if(g|0){a=f[k+28>>2]|0;b=24120+(a<<2)|0;if((k|0)==(f[b>>2]|0)){f[b>>2]=c;if(!c){f[5955]=f[5955]&~(1<>2]|0)!=(k|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=g;b=k+16|0;a=f[b>>2]|0;if(a|0){f[c+16>>2]=a;f[a+24>>2]=c}a=f[b+4>>2]|0;if(a|0){f[c+20>>2]=a;f[a+24>>2]=c}}}while(0);f[j+4>>2]=e|1;f[i+e>>2]=e;if((j|0)==(f[5959]|0)){f[5956]=e;return}}else{f[a>>2]=d&-2;f[j+4>>2]=b|1;f[i+b>>2]=b;e=b}a=e>>>3;if(e>>>0<256){c=23856+(a<<1<<2)|0;b=f[5954]|0;a=1<>2]|0}f[a>>2]=j;f[b+12>>2]=j;f[j+8>>2]=b;f[j+12>>2]=c;return}a=e>>>8;if(a)if(e>>>0>16777215)b=31;else{i=(a+1048320|0)>>>16&8;k=a<>>16&4;k=k<>>16&2;b=14-(h|i|b)+(k<>>15)|0;b=e>>>(b+7|0)&1|b<<1}else b=0;d=24120+(b<<2)|0;f[j+28>>2]=b;f[j+20>>2]=0;f[j+16>>2]=0;a=f[5955]|0;c=1<>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){a=73;break}d=c+16+(b>>>31<<2)|0;a=f[d>>2]|0;if(!a){a=72;break}else{b=b<<1;c=a}}if((a|0)==72){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((a|0)==73){i=c+8|0;k=f[i>>2]|0;f[k+12>>2]=j;f[i>>2]=j;f[j+8>>2]=k;f[j+12>>2]=c;f[j+24>>2]=0;break}}else{f[5955]=a|c;f[d>>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j}while(0);k=(f[5962]|0)+-1|0;f[5962]=k;if(!k)a=24272;else return;while(1){a=f[a>>2]|0;if(!a)break;else a=a+8|0}f[5962]=-1;return}function qc(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=a+8|0;f[L>>2]=e;j=a+32|0;i=a+36|0;h=f[i>>2]|0;g=f[j>>2]|0;k=h-g>>2;if(k>>>0>=e>>>0){if(k>>>0>e>>>0?(l=g+(e<<2)|0,(h|0)!=(l|0)):0)f[i>>2]=h+(~((h+-4-l|0)>>>2)<<2)}else qi(j,e-k|0);if(d|0){g=f[b>>2]|0;if((d|0)>1){i=1;h=g;do{J=f[b+(i<<2)>>2]|0;C=(J|0)<(g|0);g=C?J:g;h=C?h:(J|0)>(h|0)?J:h;i=i+1|0}while((i|0)!=(d|0))}else h=g;f[a+12>>2]=g;f[a+16>>2]=h;J=1-g+h|0;f[a+20>>2]=J;g=(J|0)/2|0;h=a+24|0;f[h>>2]=g;f[a+28>>2]=0-g;if(!(J&1))f[h>>2]=g+-1}q=e>>>0>1073741823?-1:e<<2;J=mq(q)|0;cj(J|0,0,q|0)|0;q=f[a+48>>2]|0;r=f[a+56>>2]|0;g=f[r>>2]|0;B=(f[r+4>>2]|0)-g|0;C=B>>2;a:do if((B|0)>4){s=f[a+52>>2]|0;z=a+16|0;u=a+32|0;B=a+12|0;A=a+28|0;y=a+20|0;x=a+24|0;w=q+64|0;t=q+28|0;v=(e|0)>0;p=C;while(1){o=p;p=p+-1|0;if(C>>>0<=p>>>0)break;h=f[g+(p<<2)>>2]|0;n=X(p,e)|0;if((!((h|0)<0?1:(1<<(h&31)&f[(f[q>>2]|0)+(h>>>5<<2)>>2]|0)!=0)?(K=f[(f[(f[w>>2]|0)+12>>2]|0)+(h<<2)>>2]|0,(K|0)>=0):0)?(F=f[t>>2]|0,m=f[s>>2]|0,D=f[m+(f[F+(K<<2)>>2]<<2)>>2]|0,E=K+1|0,E=f[m+(f[F+((((E|0)%3|0|0)==0?K+-2|0:E)<<2)>>2]<<2)>>2]|0,F=f[m+(f[F+((((K>>>0)%3|0|0)==0?2:-1)+K<<2)>>2]<<2)>>2]|0,(D|0)<(p|0)&(E|0)<(p|0)&(F|0)<(p|0)):0){i=X(D,e)|0;j=X(E,e)|0;k=X(F,e)|0;if(v){h=0;do{f[J+(h<<2)>>2]=(f[b+(h+k<<2)>>2]|0)+(f[b+(h+j<<2)>>2]|0)-(f[b+(h+i<<2)>>2]|0);h=h+1|0}while((h|0)!=(e|0))}d=b+(n<<2)|0;m=c+(n<<2)|0;h=f[L>>2]|0;if((h|0)>0){l=0;j=J;do{if((h|0)>0){k=0;do{h=f[j+(k<<2)>>2]|0;i=f[z>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(k<<2)>>2]=i}else{N=f[B>>2]|0;i=f[u>>2]|0;f[i+(k<<2)>>2]=(h|0)<(N|0)?N:h;h=i}k=k+1|0}while((k|0)<(f[L>>2]|0));j=h}else j=f[u>>2]|0;h=(f[d+(l<<2)>>2]|0)-(f[j+(l<<2)>>2]|0)|0;i=m+(l<<2)|0;f[i>>2]=h;if((h|0)>=(f[A>>2]|0)){if((h|0)>(f[x>>2]|0)){h=h-(f[y>>2]|0)|0;M=48}}else{h=(f[y>>2]|0)+h|0;M=48}if((M|0)==48){M=0;f[i>>2]=h}l=l+1|0;h=f[L>>2]|0}while((l|0)<(h|0))}}else M=22;if((M|0)==22?(M=0,H=b+(n<<2)|0,I=c+(n<<2)|0,G=f[L>>2]|0,(G|0)>0):0){i=G;l=0;k=b+((X(o+-2|0,e)|0)<<2)|0;while(1){if((i|0)>0){j=0;do{h=f[k+(j<<2)>>2]|0;i=f[z>>2]|0;if((h|0)>(i|0)){h=f[u>>2]|0;f[h+(j<<2)>>2]=i}else{o=f[B>>2]|0;N=f[u>>2]|0;f[N+(j<<2)>>2]=(h|0)<(o|0)?o:h;h=N}j=j+1|0}while((j|0)<(f[L>>2]|0))}else h=f[u>>2]|0;i=(f[H+(l<<2)>>2]|0)-(f[h+(l<<2)>>2]|0)|0;j=I+(l<<2)|0;f[j>>2]=i;if((i|0)>=(f[A>>2]|0)){if((i|0)>(f[x>>2]|0)){i=i-(f[y>>2]|0)|0;M=35}}else{i=(f[y>>2]|0)+i|0;M=35}if((M|0)==35){M=0;f[j>>2]=i}l=l+1|0;i=f[L>>2]|0;if((l|0)>=(i|0))break;else k=h}}if((p|0)<=1)break a}Fp(r)}while(0);if((e|0)>0)cj(J|0,0,e<<2|0)|0;g=f[L>>2]|0;if((g|0)<=0){nq(J);return 1}n=a+16|0;d=a+32|0;p=a+12|0;o=a+28|0;m=a+20|0;l=a+24|0;k=0;i=J;do{if((g|0)>0){j=0;do{g=f[i+(j<<2)>>2]|0;h=f[n>>2]|0;if((g|0)>(h|0)){g=f[d>>2]|0;f[g+(j<<2)>>2]=h}else{a=f[p>>2]|0;N=f[d>>2]|0;f[N+(j<<2)>>2]=(g|0)<(a|0)?a:g;g=N}j=j+1|0}while((j|0)<(f[L>>2]|0));i=g}else i=f[d>>2]|0;g=(f[b+(k<<2)>>2]|0)-(f[i+(k<<2)>>2]|0)|0;h=c+(k<<2)|0;f[h>>2]=g;if((g|0)>=(f[o>>2]|0)){if((g|0)>(f[l>>2]|0)){g=g-(f[m>>2]|0)|0;M=62}}else{g=(f[m>>2]|0)+g|0;M=62}if((M|0)==62){M=0;f[h>>2]=g}k=k+1|0;g=f[L>>2]|0}while((k|0)<(g|0));nq(J);return 1}function rc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,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=u;u=u+48|0;I=J+24|0;G=J+12|0;m=J;if(!b){I=0;u=J;return I|0}F=a+12|0;n=a+4|0;c=f[n>>2]|0;d=f[a>>2]|0;j=c-d>>2;h=a+16|0;g=f[h>>2]|0;e=f[F>>2]|0;k=g-e>>2;if(j>>>0<=k>>>0){if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0)f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2)}else{lh(F,j-k|0,6028);d=f[a>>2]|0;c=f[n>>2]|0}f[I>>2]=0;B=I+4|0;f[B>>2]=0;f[I+8>>2]=0;Jj(I,c-d>>2);c=f[n>>2]|0;d=f[a>>2]|0;if((c-d|0)>0){j=0;do{k=f[d+(j<<2)>>2]|0;g=f[B>>2]|0;e=f[I>>2]|0;i=g-e>>2;if((k|0)>=(i|0)){h=k+1|0;f[G>>2]=0;if(h>>>0<=i>>>0){if(h>>>0>>0?(l=e+(h<<2)|0,(g|0)!=(l|0)):0)f[B>>2]=g+(~((g+-4-l|0)>>>2)<<2)}else{lh(I,h-i|0,G);c=f[n>>2]|0;d=f[a>>2]|0}}A=(f[I>>2]|0)+(k<<2)|0;f[A>>2]=(f[A>>2]|0)+1;j=j+1|0}while((j|0)<(c-d>>2|0))}c=c-d|0;h=c>>2;f[G>>2]=0;A=G+4|0;f[A>>2]=0;f[G+8>>2]=0;if(!h){e=0;d=0}else{if(h>>>0>536870911)Fp(G);g=an(c<<1)|0;f[A>>2]=g;f[G>>2]=g;f[G+8>>2]=g+(h<<3);e=g;c=h;d=g;while(1){z=e;f[z>>2]=-1;f[z+4>>2]=-1;d=d+8|0;c=c+-1|0;if(!c)break;else e=d}f[A>>2]=g+(h<<3);e=g;d=g}c=f[B>>2]|0;g=f[I>>2]|0;h=c-g|0;z=h>>2;f[m>>2]=0;y=m+4|0;f[y>>2]=0;f[m+8>>2]=0;x=g;do if(z)if(z>>>0>1073741823)Fp(m);else{E=an(h)|0;f[m>>2]=E;D=E+(z<<2)|0;f[m+8>>2]=D;cj(E|0,0,h|0)|0;f[y>>2]=D;C=E;break}else{C=0;D=0;E=0}while(0);if((c|0)!=(g|0)){c=0;g=0;do{f[C+(c<<2)>>2]=g;g=(f[x+(c<<2)>>2]|0)+g|0;c=c+1|0}while(c>>>0>>0)}w=f[a>>2]|0;c=(f[n>>2]|0)-w|0;if((c|0)>0){v=a+40|0;t=c>>2;l=C;r=0;j=e;p=e;q=e;o=e;s=e;while(1){i=(r|0)<0;c=r+1|0;if(!i){c=((c|0)%3|0|0)==0?r+-2|0:c;if((c|0)<0)h=-1073741824;else h=f[w+(c<<2)>>2]|0;c=(r>>>0)%3|0;g=((c|0)==0?2:-1)+r|0;if((g|0)<0){a=-1073741824;n=h}else{a=f[w+(g<<2)>>2]|0;n=h}}else{c=(r>>>0)%3|0;a=-1073741824;n=-1073741824}if((r|0)==((i?-1073741824:r-c|0)|0)){if(i)c=-1073741824;else c=f[w+(r<<2)>>2]|0;if((n|0)==(a|0)|((c|0)==(n|0)|(c|0)==(a|0))){f[v>>2]=(f[v>>2]|0)+1;i=r+2|0;h=p;k=q;c=o;g=s}else H=55}else H=55;a:do if((H|0)==55){H=0;m=f[x+(a<<2)>>2]|0;b:do if((m|0)>0){c=0;i=f[l+(a<<2)>>2]|0;while(1){g=f[o+(i<<3)>>2]|0;if((g|0)<0){g=j;h=p;c=o;break b}if((g|0)==(n|0))break;c=c+1|0;if((c|0)<(m|0))i=i+1|0;else{g=j;h=p;c=o;break b}}k=f[o+(i<<3)+4>>2]|0;h=p;while(1){c=c+1|0;if((c|0)>=(m|0))break;g=i+1|0;f[h+(i<<3)>>2]=f[h+(g<<3)>>2];f[h+(i<<3)+4>>2]=f[h+(g<<3)+4>>2];if((f[j+(i<<3)>>2]|0)<0)break;else{i=g;h=j}}f[q+(i<<3)>>2]=-1;if((k|0)<0){g=q;h=q;c=q}else{i=f[F>>2]|0;f[i+(r<<2)>>2]=k;f[i+(k<<2)>>2]=r;i=r;j=q;h=q;k=q;c=q;g=s;break a}}else{g=j;h=p;c=o}while(0);i=f[x+(n<<2)>>2]|0;if((i|0)>0){h=0;c=f[C+(n<<2)>>2]|0;while(1){g=s+(c<<3)|0;if((f[g>>2]|0)<0)break;h=h+1|0;if((h|0)>=(i|0)){l=C;i=r;j=s;h=s;k=s;c=s;g=s;break a}else c=c+1|0}f[g>>2]=a;f[e+(c<<3)+4>>2]=r;l=C;i=r;j=e;h=e;k=e;c=e;g=e}else{i=r;j=g;k=q;g=s}}while(0);r=i+1|0;if((r|0)>=(t|0))break;else{p=h;q=k;o=c;s=g}}}f[b>>2]=z;if(C){if((D|0)!=(C|0))f[y>>2]=D+(~((D+-4-C|0)>>>2)<<2);pq(E);d=f[G>>2]|0;e=d}if(e|0){c=f[A>>2]|0;if((c|0)!=(e|0))f[A>>2]=c+(~((c+-8-e|0)>>>3)<<3);pq(d)}c=f[I>>2]|0;if(c|0){d=f[B>>2]|0;if((d|0)!=(c|0))f[B>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}I=1;u=J;return I|0}function sc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=Ka,q=Ka,r=Ka,s=0,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+28|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)k=-1073741824;else k=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;k=-1073741824}i=f[a+32>>2]|0;g=f[i>>2]|0;l=(f[i+4>>2]|0)-g>>2;if(l>>>0<=c>>>0)Fp(i);c=f[g+(c<<2)>>2]|0;if(l>>>0<=k>>>0)Fp(i);l=f[g+(k<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+52|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+52|0;s=f[y>>2]|0;k=X(s,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);s=X(s,l)|0;t=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+48>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;s=a+40|0;i=f[s>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;s=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,s,C)|0;r=$(n[C>>2]);p=$(n[B>>2]);r=$(r-p);q=$(n[C+4>>2]);j=$(n[B+4>>2]);q=$(q-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);p=$($(n[D>>2])-p);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(r*r)+$(0.0))+$(q*q))+$(o*o));if(m>$(0.0)){H=$($($($($(r*p)+$(0.0))+$(q*j))+$(o*h))/m);r=$(p-$(r*H));q=$(j-$(q*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(q*q)+$($(r*r)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+56|0;i=a+60|0;c=f[i>>2]|0;g=f[a+64>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function tc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=Ka,q=Ka,r=Ka,s=0,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+48|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=g+(((g>>>0)%3|0|0)==0?2:-1)|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[i>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)k=-1073741824;else k=f[(f[f[i>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;k=-1073741824}i=f[a+52>>2]|0;g=f[i>>2]|0;l=(f[i+4>>2]|0)-g>>2;if(l>>>0<=c>>>0)Fp(i);c=f[g+(c<<2)>>2]|0;if(l>>>0<=k>>>0)Fp(i);l=f[g+(k<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+72|0;s=f[y>>2]|0;k=X(s,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);s=X(s,l)|0;t=$(f[d+(s<<2)>>2]|0);w=$(f[d+(s+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+68>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;s=a+60|0;i=f[s>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[s>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;s=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,s,C)|0;r=$(n[C>>2]);p=$(n[B>>2]);r=$(r-p);q=$(n[C+4>>2]);j=$(n[B+4>>2]);q=$(q-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);p=$($(n[D>>2])-p);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(r*r)+$(0.0))+$(q*q))+$(o*o));if(m>$(0.0)){H=$($($($($(r*p)+$(0.0))+$(q*j))+$(o*h))/m);r=$(p-$(r*H));q=$(j-$(q*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(q*q)+$($(r*r)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+76|0;i=a+80|0;c=f[i>>2]|0;g=f[a+84>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function uc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=0,q=Ka,r=Ka,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+28|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);l=f[(f[i>>2]|0)+28>>2]|0;k=f[l+(c<<2)>>2]|0;l=f[l+(g<<2)>>2]|0;i=f[a+32>>2]|0;c=f[i>>2]|0;p=(f[i+4>>2]|0)-c>>2;if(p>>>0<=k>>>0)Fp(i);g=c;c=f[g+(k<<2)>>2]|0;if(p>>>0<=l>>>0)Fp(i);l=f[g+(l<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+52|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+52|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+48>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+52|0;p=f[y>>2]|0;k=X(p,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);p=X(p,l)|0;t=$(f[d+(p<<2)>>2]|0);w=$(f[d+(p+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+48>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+44|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;p=a+40|0;i=f[p>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;p=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,p,C)|0;s=$(n[C>>2]);q=$(n[B>>2]);s=$(s-q);r=$(n[C+4>>2]);j=$(n[B+4>>2]);r=$(r-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);q=$($(n[D>>2])-q);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(s*s)+$(0.0))+$(r*r))+$(o*o));if(m>$(0.0)){H=$($($($($(s*q)+$(0.0))+$(r*j))+$(o*h))/m);s=$(q-$(s*H));r=$(j-$(r*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+56|0;i=a+60|0;c=f[i>>2]|0;g=f[a+64>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+48>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function vc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=Ka,i=0,j=Ka,k=0,l=0,m=Ka,o=Ka,p=0,q=Ka,r=Ka,s=Ka,t=Ka,v=Ka,w=Ka,x=Ka,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=Ka;G=u;u=u+48|0;z=G+40|0;A=G+36|0;D=G+24|0;B=G+12|0;C=G;i=a+48|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);l=f[(f[i>>2]|0)+28>>2]|0;k=f[l+(c<<2)>>2]|0;l=f[l+(g<<2)>>2]|0;i=f[a+52>>2]|0;c=f[i>>2]|0;p=(f[i+4>>2]|0)-c>>2;if(p>>>0<=k>>>0)Fp(i);g=c;c=f[g+(k<<2)>>2]|0;if(p>>>0<=l>>>0)Fp(i);l=f[g+(l<<2)>>2]|0;g=(c|0)<(e|0);if(!(g&(l|0)<(e|0))){do if(!g){if((e|0)>0){c=e+-1|0;break}i=a+72|0;if((f[i>>2]|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=0;g=g+1|0}while((g|0)<(f[i>>2]|0));u=G;return}while(0);k=a+72|0;F=f[k>>2]|0;i=X(F,c)|0;if((F|0)<=0){u=G;return}c=f[a+68>>2]|0;g=0;do{f[c+(g<<2)>>2]=f[d+(g+i<<2)>>2];g=g+1|0}while((g|0)<(f[k>>2]|0));u=G;return}y=a+72|0;p=f[y>>2]|0;k=X(p,c)|0;v=$(f[d+(k<<2)>>2]|0);x=$(f[d+(k+1<<2)>>2]|0);p=X(p,l)|0;t=$(f[d+(p<<2)>>2]|0);w=$(f[d+(p+1<<2)>>2]|0);if(!(t!=v|w!=x)){a=f[a+68>>2]|0;f[a>>2]=~~t;f[a+4>>2]=~~w;u=G;return}k=a+64|0;g=f[(f[k>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;p=a+60|0;i=f[p>>2]|0;if(!(b[i+84>>0]|0))g=f[(f[i+68>>2]|0)+(g<<2)>>2]|0;f[A>>2]=g;g=b[i+24>>0]|0;f[z>>2]=f[A>>2];ab(i,z,g,D)|0;c=f[(f[k>>2]|0)+(c<<2)>>2]|0;f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;c=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,c,B)|0;c=f[(f[k>>2]|0)+(l<<2)>>2]|0;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;g=f[p>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;p=b[g+24>>0]|0;f[z>>2]=f[A>>2];ab(g,z,p,C)|0;s=$(n[C>>2]);q=$(n[B>>2]);s=$(s-q);r=$(n[C+4>>2]);j=$(n[B+4>>2]);r=$(r-j);o=$(n[C+8>>2]);h=$(n[B+8>>2]);o=$(o-h);q=$($(n[D>>2])-q);j=$($(n[D+4>>2])-j);h=$($(n[D+8>>2])-h);m=$($($($(s*s)+$(0.0))+$(r*r))+$(o*o));if(m>$(0.0)){H=$($($($($(s*q)+$(0.0))+$(r*j))+$(o*h))/m);s=$(q-$(s*H));r=$(j-$(r*H));h=$(h-$(o*H));j=H;h=$(L($($($(h*h)+$($(r*r)+$($(s*s)+$(0.0))))/m)))}else{j=$(0.0);h=$(0.0)}o=$(t-v);m=$(w-x);H=$(v+$(o*j));o=$(o*h);x=$(x+$(m*j));j=$(m*h);m=$(H-j);h=$(x+o);j=$(H+j);o=$(x-o);l=X(f[y>>2]|0,e)|0;x=$(f[d+(l<<2)>>2]|0);H=$(f[d+(l+1<<2)>>2]|0);v=$(x-m);w=$(H-h);x=$(x-j);H=$(H-o);d=$($($(v*v)+$(0.0))+$(w*w))<$($($(x*x)+$(0.0))+$(H*H));l=a+76|0;i=a+80|0;c=f[i>>2]|0;g=f[a+84>>2]|0;k=(c|0)==(g<<5|0);if(d){do if(k)if((c+1|0)<0)Fp(l);else{E=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(E>>>0>>0?d:E):2147483647);E=f[i>>2]|0;break}else E=c;while(0);f[i>>2]=E+1;d=(f[l>>2]|0)+(E>>>5<<2)|0;f[d>>2]=f[d>>2]|1<<(E&31);j=m}else{do if(k)if((c+1|0)<0)Fp(l);else{F=g<<6;d=c+32&-32;gi(l,c>>>0<1073741823?(F>>>0>>0?d:F):2147483647);F=f[i>>2]|0;break}else F=c;while(0);f[i>>2]=F+1;d=(f[l>>2]|0)+(F>>>5<<2)|0;f[d>>2]=f[d>>2]&~(1<<(F&31));h=o}d=~~+J(+(+j+.5));a=f[a+68>>2]|0;f[a>>2]=d;d=~~+J(+(+h+.5));f[a+4>>2]=d;u=G;return}function wc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+32|0;w=z+28|0;t=z+24|0;j=z+20|0;k=z+16|0;l=z+12|0;m=z+8|0;s=z+4|0;v=z;e=f[b>>2]|0;if((e|0)<0){u=z;return}x=(e>>>0)/3|0;q=a+12|0;if(f[(f[q>>2]|0)+(x>>>5<<2)>>2]&1<<(x&31)|0){u=z;return}x=a+56|0;c=f[x>>2]|0;r=a+60|0;d=f[r>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[r>>2]=c}o=a+64|0;if((c|0)==(f[o>>2]|0))Gi(x,b);else{f[c>>2]=e;f[r>>2]=c+4}g=f[a>>2]|0;e=f[b>>2]|0;c=e+1|0;if((e|0)>=0){c=((c|0)%3|0|0)==0?e+-2|0:c;if((c|0)<0)d=-1073741824;else d=f[(f[g>>2]|0)+(c<<2)>>2]|0;c=(((e>>>0)%3|0|0)==0?2:-1)+e|0;if((c|0)<0)i=-1073741824;else i=f[(f[g>>2]|0)+(c<<2)>>2]|0}else{d=-1073741824;i=-1073741824}n=a+24|0;c=f[n>>2]|0;g=c+(d>>>5<<2)|0;h=1<<(d&31);e=f[g>>2]|0;if(!(e&h)){f[g>>2]=e|h;f[j>>2]=d;c=f[b>>2]|0;d=c+1|0;if((c|0)>=0)c=((d|0)%3|0|0)==0?c+-2|0:d;f[k>>2]=c;f[t>>2]=f[j>>2];f[w>>2]=f[k>>2];Ag(a+36|0,t,w);c=f[n>>2]|0}d=c+(i>>>5<<2)|0;e=1<<(i&31);c=f[d>>2]|0;if(!(c&e)){f[d>>2]=c|e;d=a+36|0;f[l>>2]=i;c=f[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);f[m>>2]=c;f[t>>2]=f[l>>2];f[w>>2]=f[m>>2];Ag(d,t,w)}d=f[x>>2]|0;c=f[r>>2]|0;if((d|0)==(c|0)){u=z;return}k=a+36|0;g=c;while(1){c=f[g+-4>>2]|0;f[b>>2]=c;e=(c|0)/3|0;if((c|0)>=0?(p=f[q>>2]|0,(f[p+(e>>>5<<2)>>2]&1<<(e&31)|0)==0):0){d=p;a:while(1){m=(c|0)/3|0;d=d+(m>>>5<<2)|0;f[d>>2]=1<<(m&31)|f[d>>2];d=f[b>>2]|0;if((d|0)<0)i=-1073741824;else i=f[(f[f[a>>2]>>2]|0)+(d<<2)>>2]|0;h=(f[n>>2]|0)+(i>>>5<<2)|0;j=1<<(i&31);g=f[h>>2]|0;do if(!(j&g)){e=f[a>>2]|0;c=f[(f[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=f[(f[e+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}}f[h>>2]=g|j;f[s>>2]=i;f[v>>2]=f[b>>2];f[t>>2]=f[s>>2];f[w>>2]=f[v>>2];Ag(k,t,w);if((c|0)<0){d=f[b>>2]|0;y=42;break}d=f[a>>2]|0;c=f[b>>2]|0;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=f[(f[d+12>>2]|0)+(c<<2)>>2]|0}while(0);f[b>>2]=c}else y=42;while(0);if((y|0)==42){y=0;e=f[a>>2]|0;if((d|0)<0){y=45;break}c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;if((c|0)>=0)c=f[(f[e+12>>2]|0)+(c<<2)>>2]|0;f[w>>2]=c;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)>=0)d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;m=(c|0)<0;h=m?-1:(c>>>0)/3|0;g=(d|0)<0;i=g?-1:(d>>>0)/3|0;do if(!m){e=f[q>>2]|0;if(f[e+(h>>>5<<2)>>2]&1<<(h&31)|0){y=50;break}if(g)break;if(!(f[e+(i>>>5<<2)>>2]&1<<(i&31))){y=55;break a}}else y=50;while(0);if((y|0)==50){y=0;if(g){y=52;break}if(!(f[(f[q>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)))c=d;else{y=52;break}}f[b>>2]=c}d=f[q>>2]|0}do if((y|0)==45){f[w>>2]=-1073741824;y=52}else if((y|0)==55){y=0;c=f[r>>2]|0;f[c+-4>>2]=d;if((c|0)==(f[o>>2]|0)){Gi(x,w);c=f[r>>2]|0;break}else{f[c>>2]=f[w>>2];c=c+4|0;f[r>>2]=c;break}}while(0);if((y|0)==52){y=0;c=(f[r>>2]|0)+-4|0;f[r>>2]=c}d=f[x>>2]|0}else{c=g+-4|0;f[r>>2]=c}if((d|0)==(c|0))break;else g=c}u=z;return}function xc(a,c){a=a|0;c=c|0;var d=0,e=0,g=Ka,i=Ka,j=0,k=0,l=0,m=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=Ka;v=b[c+11>>0]|0;x=v<<24>>24<0;w=x?f[c>>2]|0:c;v=x?f[c+4>>2]|0:v&255;if(v>>>0>3){j=w;m=v;k=v;while(1){x=X(h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24,1540483477)|0;m=(X(x>>>24^x,1540483477)|0)^(X(m,1540483477)|0);k=k+-4|0;if(k>>>0<=3)break;else j=j+4|0}x=v+-4|0;k=x&-4;l=w+(k+4)|0;j=m;k=x-k|0}else{l=w;j=v;k=v}switch(k|0){case 3:{o=h[l+2>>0]<<16^j;z=6;break}case 2:{o=j;z=6;break}case 1:{p=j;z=7;break}default:q=j}if((z|0)==6){p=h[l+1>>0]<<8^o;z=7}if((z|0)==7)q=X(h[l>>0]^p,1540483477)|0;x=X(q>>>13^q,1540483477)|0;x=x>>>15^x;t=a+4|0;s=f[t>>2]|0;u=(s|0)==0;a:do if(!u){q=s+-1|0;k=(q&s|0)==0;if(!k)if(x>>>0>>0)r=x;else r=(x>>>0)%(s>>>0)|0;else r=x&q;j=f[(f[a>>2]|0)+(r<<2)>>2]|0;if((j|0)!=0?(e=f[j>>2]|0,(e|0)!=0):0){p=(v|0)==0;if(k){if(p){d=e;while(1){w=f[d+4>>2]|0;if(!((w|0)==(x|0)|(w&q|0)==(r|0))){d=r;break a}w=b[d+8+11>>0]|0;if(!((w<<24>>24<0?f[d+12>>2]|0:w&255)|0)){j=d;break}d=f[d>>2]|0;if(!d){d=r;break a}}a=j+20|0;return a|0}else j=e;b:while(1){o=f[j+4>>2]|0;if(!((o|0)==(x|0)|(o&q|0)==(r|0))){d=r;break a}k=j+8|0;m=b[k+11>>0]|0;o=m<<24>>24<0;m=m&255;do if(((o?f[j+12>>2]|0:m)|0)==(v|0)){l=f[k>>2]|0;if(o)if(!(fl(l,w,v)|0)){z=63;break b}else break;if((l&255)<<24>>24==(b[w>>0]|0)){l=w;do{m=m+-1|0;k=k+1|0;if(!m){z=63;break b}l=l+1|0}while((b[k>>0]|0)==(b[l>>0]|0))}}while(0);j=f[j>>2]|0;if(!j){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}if(p){while(1){d=f[e+4>>2]|0;if((d|0)!=(x|0)){if(d>>>0>=s>>>0)d=(d>>>0)%(s>>>0)|0;if((d|0)!=(r|0)){d=r;break a}}w=b[e+8+11>>0]|0;if(!((w<<24>>24<0?f[e+12>>2]|0:w&255)|0)){j=e;break}e=f[e>>2]|0;if(!e){d=r;break a}}a=j+20|0;return a|0}c:while(1){j=f[e+4>>2]|0;if((j|0)!=(x|0)){if(j>>>0>=s>>>0)j=(j>>>0)%(s>>>0)|0;if((j|0)!=(r|0)){d=r;break a}}j=e+8|0;l=b[j+11>>0]|0;m=l<<24>>24<0;l=l&255;do if(((m?f[e+12>>2]|0:l)|0)==(v|0)){k=f[j>>2]|0;if(m)if(!(fl(k,w,v)|0)){j=e;z=63;break c}else break;if((k&255)<<24>>24==(b[w>>0]|0)){k=w;do{l=l+-1|0;j=j+1|0;if(!l){j=e;z=63;break c}k=k+1|0}while((b[j>>0]|0)==(b[k>>0]|0))}}while(0);e=f[e>>2]|0;if(!e){d=r;break a}}if((z|0)==63){a=j+20|0;return a|0}}else d=r}else d=0;while(0);l=an(24)|0;dj(l+8|0,c);f[l+20>>2]=0;f[l+4>>2]=x;f[l>>2]=0;k=a+12|0;i=$(((f[k>>2]|0)+1|0)>>>0);A=$(s>>>0);g=$(n[a+16>>2]);do if(u|i>$(A*g)){d=(s>>>0<3|(s+-1&s|0)!=0)&1|s<<1;e=~~$(W($(i/g)))>>>0;Wh(a,d>>>0>>0?e:d);d=f[t>>2]|0;e=d+-1|0;if(!(e&d)){j=d;d=e&x;break}if(x>>>0>>0){j=d;d=x}else{j=d;d=(x>>>0)%(d>>>0)|0}}else j=s;while(0);e=(f[a>>2]|0)+(d<<2)|0;d=f[e>>2]|0;if(!d){d=a+8|0;f[l>>2]=f[d>>2];f[d>>2]=l;f[e>>2]=d;d=f[l>>2]|0;if(d|0){d=f[d+4>>2]|0;e=j+-1|0;if(e&j){if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0}else d=d&e;y=(f[a>>2]|0)+(d<<2)|0;z=61}}else{f[l>>2]=f[d>>2];y=d;z=61}if((z|0)==61)f[y>>2]=l;f[k>>2]=(f[k>>2]|0)+1;a=l;a=a+20|0;return a|0}function yc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+48|0;w=x+24|0;v=x+12|0;t=x;r=a+32|0;s=a+8|0;p=a+12|0;b=f[p>>2]|0;d=f[s>>2]|0;j=b-d>>2;h=a+36|0;g=f[h>>2]|0;e=f[r>>2]|0;k=g-e>>2;c=d;if(j>>>0<=k>>>0)if(j>>>0>>0?(i=e+(j<<2)|0,(g|0)!=(i|0)):0){f[h>>2]=g+(~((g+-4-i|0)>>>2)<<2);i=d}else i=d;else{qi(r,j-k|0);c=f[s>>2]|0;i=c;b=f[p>>2]|0}h=b-i|0;g=h>>2;f[w>>2]=0;e=w+4|0;f[e>>2]=0;d=w+8|0;f[d>>2]=0;if(g|0){if((h|0)<0)Fp(w);m=((g+-1|0)>>>5)+1|0;n=an(m<<2)|0;f[w>>2]=n;f[d>>2]=m;f[e>>2]=g;d=g>>>5;cj(n|0,0,d<<2|0)|0;e=g-(d<<5)|0;d=n+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0))}n=a+20|0;d=0;while(1){if(d>>>0>2>>>0){e=i;g=0;m=0}else{o=25;break}while(1){k=m>>>5;l=1<<(m&31);do if(!(f[(f[w>>2]|0)+(k<<2)>>2]&l)){b=f[c+(m<<2)>>2]|0;if((f[b+8>>2]|0)!=(f[b+4>>2]|0)){e=1;j=0;do{i=f[(f[b+4>>2]|0)+(j<<2)>>2]|0;h=0;while(1){c=f[c+(m<<2)>>2]|0;if((h|0)>=(Na[f[(f[c>>2]|0)+24>>2]&127](c,i)|0))break;b=f[(f[s>>2]|0)+(m<<2)>>2]|0;b=Oa[f[(f[b>>2]|0)+28>>2]&31](b,i,h)|0;if((b|0)!=(m|0)?(c=f[(f[n>>2]|0)+(b<<2)>>2]|0,(1<<(c&31)&f[(f[w>>2]|0)+(c>>>5<<2)>>2]|0)==0):0){e=0;break}c=f[s>>2]|0;h=h+1|0}j=j+1|0;c=f[s>>2]|0;b=f[c+(m<<2)>>2]|0}while(j>>>0<(f[b+8>>2]|0)-(f[b+4>>2]|0)>>2>>>0);if(!e){e=c;h=d;break}}else c=e;f[(f[r>>2]|0)+(d<<2)>>2]=m;e=(f[w>>2]|0)+(k<<2)|0;f[e>>2]=f[e>>2]|l;e=c;g=1;h=d+1|0}else h=d;while(0);m=m+1|0;b=f[p>>2]|0;d=b-e>>2;c=e;if(m>>>0>=d>>>0)break;else d=h}if(h>>>0>>0&(g^1)){c=0;break}else{i=e;d=h}}if((o|0)==25){f[v>>2]=0;o=v+4|0;f[o>>2]=0;f[v+8>>2]=0;h=f[a+4>>2]|0;h=(f[h+12>>2]|0)-(f[h+8>>2]|0)|0;g=h>>2;f[t>>2]=0;e=t+4|0;f[e>>2]=0;d=t+8|0;f[d>>2]=0;if(g|0){if((h|0)<0)Fp(t);n=((g+-1|0)>>>5)+1|0;a=an(n<<2)|0;f[t>>2]=a;f[d>>2]=n;f[e>>2]=g;d=g>>>5;cj(a|0,0,d<<2|0)|0;e=g-(d<<5)|0;d=a+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0))}a:do if((b|0)==(i|0))c=1;else{d=i;n=0;while(1){m=f[(f[r>>2]|0)+(n<<2)>>2]|0;a=f[c+(m<<2)>>2]|0;a=(f[a+8>>2]|0)-(f[a+4>>2]|0)|0;l=a>>2;if((a|0)<8)c=d;else{c=f[o>>2]|0;b=f[v>>2]|0;d=c-b>>2;if(l>>>0<=d>>>0)if(l>>>0>>0?(q=b+(l<<2)|0,(c|0)!=(q|0)):0){f[o>>2]=c+(~((c+-4-q|0)>>>2)<<2);b=0}else b=0;else{qi(v,l-d|0);b=0}while(1){if((b|0)<(l|0)){c=0;k=0}else break;do{d=f[(f[s>>2]|0)+(m<<2)>>2]|0;h=f[(f[d+4>>2]|0)+(k<<2)>>2]|0;i=k>>>5;j=1<<(k&31);if(!(f[(f[t>>2]|0)+(i<<2)>>2]&j)){e=d;d=1;g=0;while(1){if((g|0)>=(Na[f[(f[e>>2]|0)+24>>2]&127](e,h)|0))break;a=f[(f[s>>2]|0)+(m<<2)>>2]|0;a=Oa[f[(f[a>>2]|0)+28>>2]&31](a,h,g)|0;a=(f[(f[t>>2]|0)+(a>>>5<<2)>>2]&1<<(a&31)|0)!=0;d=d&a;if(!a)break;e=f[(f[s>>2]|0)+(m<<2)>>2]|0;g=g+1|0}if(d){f[(f[v>>2]|0)+(b<<2)>>2]=k;c=(f[t>>2]|0)+(i<<2)|0;f[c>>2]=f[c>>2]|j;c=1;b=b+1|0}}k=k+1|0}while((k|0)<(l|0));if(!(c|(b|0)>=(l|0))){c=0;break a}}wg(f[(f[s>>2]|0)+(m<<2)>>2]|0,v);c=f[s>>2]|0;b=f[p>>2]|0}n=n+1|0;if(n>>>0>=b-c>>2>>>0){c=1;break}else d=c}}while(0);b=f[t>>2]|0;if(b|0)pq(b);b=f[v>>2]|0;if(b|0){d=f[o>>2]|0;if((d|0)!=(b|0))f[o>>2]=d+(~((d+-4-b|0)>>>2)<<2);pq(b)}}b=f[w>>2]|0;if(!b){u=x;return c|0}pq(b);u=x;return c|0}function zc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+16|0;y=z+4|0;x=z;if(!(Ri(a,d)|0)){a=0;u=z;return a|0}s=a+64|0;d=f[s>>2]|0;a:do if(((f[d+4>>2]|0)-(f[d>>2]|0)|0)>0){q=a+12|0;v=e+84|0;p=e+68|0;t=c+96|0;r=c+100|0;w=a+24|0;o=0;b:while(1){f[x>>2]=(o>>>0)/3|0;f[y>>2]=f[x>>2];n=Dj(d,y)|0;d=f[s>>2]|0;do if(!n){n=f[(f[d+12>>2]|0)+(o<<2)>>2]|0;if((n|0)<0){g=(f[a>>2]|0)+(o>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(o&31);g=o+1|0;g=((g|0)%3|0|0)==0?o+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;n=(f[q>>2]|0)+(g>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(g&31);g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;n=(f[q>>2]|0)+(g>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(g&31);break}if((n|0)>=(o|0)){m=o+1|0;k=((m|0)%3|0|0)==0?o+-2|0:m;j=n+(((n>>>0)%3|0|0)==0?2:-1)|0;if((k|0)==-1073741824)g=-1073741824;else{h=(k|0)/3|0;if((k|0)<=-3){d=18;break b}g=f[t>>2]|0;if((h|0)>=(((f[r>>2]|0)-g|0)/12|0|0)){d=20;break b}g=f[g+(h*12|0)+(((k|0)%3|0)<<2)>>2]|0}i=(j|0)/3|0;if((j|0)<=-3){d=23;break b}h=f[t>>2]|0;if((i|0)>=(((f[r>>2]|0)-h|0)/12|0|0)){d=25;break b}h=f[h+(i*12|0)+(((j|0)%3|0)<<2)>>2]|0;l=(b[v>>0]|0)==0;if(l){i=f[p>>2]|0;h=f[i+(h<<2)>>2]|0;g=f[i+(g<<2)>>2]|0}if((g|0)==(h|0)){g=k+1|0;if((k|0)<0)i=k;else i=((g|0)%3|0|0)==0?k+-2|0:g;do if((j|0)>=0)if(!((j>>>0)%3|0)){j=j+2|0;break}else{j=j+-1|0;break}while(0);if((i|0)==-1073741824)g=-1073741824;else{h=(i|0)/3|0;if((i|0)<=-3){d=18;break b}g=f[t>>2]|0;if((h|0)>=(((f[r>>2]|0)-g|0)/12|0|0)){d=20;break b}g=f[g+(h*12|0)+(((i|0)%3|0)<<2)>>2]|0}if((j|0)==-1073741824)h=-1073741824;else{i=(j|0)/3|0;if((j|0)<=-3){d=23;break b}h=f[t>>2]|0;if((i|0)>=(((f[r>>2]|0)-h|0)/12|0|0)){d=25;break b}h=f[h+(i*12|0)+(((j|0)%3|0)<<2)>>2]|0}if(l){l=f[p>>2]|0;h=f[l+(h<<2)>>2]|0;g=f[l+(g<<2)>>2]|0}if((g|0)==(h|0))break}b[w>>0]=0;g=f[a>>2]|0;l=g+(o>>>5<<2)|0;f[l>>2]=f[l>>2]|1<<(o&31);g=g+(n>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(n&31);g=((m|0)%3|0|0)==0?o+-2|0:m;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;m=(f[q>>2]|0)+(g>>>5<<2)|0;f[m>>2]=f[m>>2]|1<<(g&31);g=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;m=(f[q>>2]|0)+(g>>>5<<2)|0;f[m>>2]=f[m>>2]|1<<(g&31);g=n+1|0;g=((g|0)%3|0|0)==0?n+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;m=(f[q>>2]|0)+(g>>>5<<2)|0;f[m>>2]=f[m>>2]|1<<(g&31);g=(((n>>>0)%3|0|0)==0?2:-1)+n|0;if((g|0)<0)g=-1073741824;else g=f[(f[d>>2]|0)+(g<<2)>>2]|0;n=(f[q>>2]|0)+(g>>>5<<2)|0;f[n>>2]=f[n>>2]|1<<(g&31)}}while(0);o=o+1|0;if((o|0)>=((f[d+4>>2]|0)-(f[d>>2]|0)>>2|0))break a}if((d|0)==18)ra(19893,19918,63,20001);else if((d|0)==20)ra(20006,19918,64,20001);else if((d|0)==23)ra(19893,19918,63,20001);else if((d|0)==25)ra(20006,19918,64,20001)}while(0);if((c|0)!=0&(e|0)!=0){Bc(a,c,e);a=1;u=z;return a|0}else{Nc(a,0,0);a=1;u=z;return a|0}return 0}function Ac(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;G=u;u=u+112|0;B=G+100|0;C=G+80|0;D=G+48|0;e=G+96|0;E=G+24|0;z=G+76|0;F=G;A=G+72|0;if(!(f[a+4>>2]|0))ra(13158,13180,46,13350);if(!(f[a+8>>2]|0))ra(13158,13180,46,13350);h=f[c>>2]|0;f[C>>2]=f[a+16>>2];f[C+4>>2]=h;y=C+8|0;f[y>>2]=h;b[C+12>>0]=1;f[e>>2]=h;f[B>>2]=f[e>>2];Lh(D,a,B);p=a+28|0;j=(f[p>>2]|0)==0;if((h|0)<0){k=0;l=0;m=0;g=0;e=0;c=0}else{x=h+1|0;x=((x|0)%3|0|0)==0?h+-2|0:x;t=E+8|0;q=D+8|0;w=E+16|0;r=D+16|0;s=F+8|0;v=F+16|0;o=h+(((h>>>0)%3|0|0)==0?2:-1)|0;l=0;k=0;g=0;m=0;c=0;e=0;n=h;do{do if(!j){h=n+1|0;h=((h|0)%3|0|0)==0?n+-2|0:h;if(!((n>>>0)%3|0)){i=h;h=n+2|0;break}else{i=h;h=n+-1|0;break}}else{i=x;h=o}while(0);f[z>>2]=i;f[B>>2]=f[z>>2];Lh(E,a,B);f[A>>2]=h;f[B>>2]=f[A>>2];Lh(F,a,B);n=E;R=D;Q=f[R>>2]|0;R=f[R+4>>2]|0;n=_n(f[n>>2]|0,f[n+4>>2]|0,Q|0,R|0)|0;j=I;i=t;T=q;S=f[T>>2]|0;T=f[T+4>>2]|0;i=_n(f[i>>2]|0,f[i+4>>2]|0,S|0,T|0)|0;h=I;K=w;H=r;J=f[H>>2]|0;H=f[H+4>>2]|0;K=_n(f[K>>2]|0,f[K+4>>2]|0,J|0,H|0)|0;L=I;N=F;R=_n(f[N>>2]|0,f[N+4>>2]|0,Q|0,R|0)|0;Q=I;N=s;T=_n(f[N>>2]|0,f[N+4>>2]|0,S|0,T|0)|0;S=I;N=v;H=_n(f[N>>2]|0,f[N+4>>2]|0,J|0,H|0)|0;J=I;N=$m(H|0,J|0,i|0,h|0)|0;M=I;P=$m(T|0,S|0,K|0,L|0)|0;O=I;L=$m(R|0,Q|0,K|0,L|0)|0;K=I;J=$m(H|0,J|0,n|0,j|0)|0;H=I;j=$m(T|0,S|0,n|0,j|0)|0;n=I;h=$m(R|0,Q|0,i|0,h|0)|0;i=I;l=_n(l|0,k|0,P|0,O|0)|0;l=Mn(l|0,I|0,N|0,M|0)|0;k=I;g=Mn(L|0,K|0,g|0,m|0)|0;g=_n(g|0,I|0,J|0,H|0)|0;m=I;c=_n(c|0,e|0,h|0,i|0)|0;c=Mn(c|0,I|0,j|0,n|0)|0;e=I;Vg(C);n=f[y>>2]|0;j=(f[p>>2]|0)==0}while((n|0)>=0)}T=(k|0)>-1|(k|0)==-1&l>>>0>4294967295;i=_n(0,0,l|0,k|0)|0;h=T?k:I;O=(m|0)>-1|(m|0)==-1&g>>>0>4294967295;P=_n(0,0,g|0,m|0)|0;Q=O?m:I;S=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;R=_n(0,0,c|0,e|0)|0;S=Mn((O?g:P)|0,Q|0,(S?c:R)|0,(S?e:I)|0)|0;h=Mn(S|0,I|0,(T?l:i)|0,h|0)|0;i=I;if(j)if((h|0)>536870912){T=An(h|0,i|0,29)|0;T=T&7;i=kk(l|0,k|0,T|0,0)|0;j=I;g=kk(g|0,m|0,T|0,0)|0;h=I;c=kk(c|0,e|0,T|0,0)|0;e=I}else{j=k;i=l;h=m}else if((i|0)>0|(i|0)==0&h>>>0>536870912){S=An(h|0,i|0,29)|0;T=I;i=kk(l|0,k|0,S|0,T|0)|0;j=I;g=kk(g|0,m|0,S|0,T|0)|0;h=I;c=kk(c|0,e|0,S|0,T|0)|0;e=I}else{j=k;i=l;h=m}R=(j|0)>-1|(j|0)==-1&i>>>0>4294967295;S=_n(0,0,i|0,j|0)|0;T=R?j:I;M=(h|0)>-1|(h|0)==-1&g>>>0>4294967295;N=_n(0,0,g|0,h|0)|0;O=M?h:I;Q=(e|0)>-1|(e|0)==-1&c>>>0>4294967295;P=_n(0,0,c|0,e|0)|0;Q=Mn((M?g:N)|0,O|0,(Q?c:P)|0,(Q?e:I)|0)|0;T=Mn(Q|0,I|0,(R?i:S)|0,T|0)|0;S=I;if((S|0)<0|(S|0)==0&T>>>0<536870913){f[d>>2]=i;f[d+4>>2]=g;f[d+8>>2]=c;u=G;return}else ra(13372,13180,95,13350)}function Bc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=u;u=u+16|0;A=D+8|0;x=D+4|0;B=D;y=a+64|0;e=f[y>>2]|0;if(((f[e+28>>2]|0)-(f[e+24>>2]|0)|0)<=0){u=D;return}z=c+96|0;t=c+100|0;w=a+52|0;v=d+84|0;m=d+68|0;o=a+56|0;q=a+60|0;l=a+12|0;n=a+28|0;s=a+40|0;p=a+44|0;r=a+48|0;j=0;k=0;a:while(1){h=f[(f[e+24>>2]|0)+(k<<2)>>2]|0;if((h|0)<0)c=j;else{i=j+1|0;d=(h>>>0)/3|0;c=f[z>>2]|0;if((d|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=6;break}c=f[c+(d*12|0)+(((h>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[A>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Gi(w,A);f[A>>2]=h;f[x>>2]=0;b:do if(!(f[(f[l>>2]|0)+(k>>>5<<2)>>2]&1<<(k&31)))c=h;else{c=h+1|0;c=((c|0)%3|0|0)==0?h+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[y>>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;f[x>>2]=c;if((c|0)<=-1){c=h;break}while(1){f[A>>2]=c;d=c+1|0;d=((d|0)%3|0|0)==0?c+-2|0:d;if(1<<(d&31)&f[g+(d>>>5<<2)>>2]|0){d=-1073741824;break}if((d|0)<0)break;d=f[(f[(f[y>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;e=d+1|0;if((d|0)<0)break;d=((e|0)%3|0|0)==0?d+-2|0:e;f[x>>2]=d;if((d|0)>-1)c=d;else break b}f[x>>2]=d;break}}}else c=-1073741824;f[x>>2]=c;c=h}while(0);f[(f[n>>2]|0)+(c<<2)>>2]=j;c=f[p>>2]|0;if((c|0)==(f[r>>2]|0))Gi(s,A);else{f[c>>2]=f[A>>2];f[p>>2]=c+4}e=f[y>>2]|0;c=f[A>>2]|0;c:do if((c|0)>=0){d=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((d|0)>=0){d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if((d|0)>-1&(d|0)!=(c|0)){e=j;while(1){j=d+1|0;j=((j|0)%3|0|0)==0?d+-2|0:j;do if(f[(f[a>>2]|0)+(j>>>5<<2)>>2]&1<<(j&31)){h=i+1|0;e=(d>>>0)/3|0;c=f[z>>2]|0;if((e|0)>=(((f[t>>2]|0)-c|0)/12|0|0)){C=33;break a}c=f[c+(e*12|0)+(((d>>>0)%3|0)<<2)>>2]|0;if(!(b[v>>0]|0))c=f[(f[m>>2]|0)+(c<<2)>>2]|0;f[B>>2]=c;d=f[o>>2]|0;if(d>>>0<(f[q>>2]|0)>>>0){f[d>>2]=c;f[o>>2]=d+4}else Gi(w,B);c=f[p>>2]|0;if((c|0)==(f[r>>2]|0)){Gi(s,x);g=i;c=h;break}else{f[c>>2]=f[x>>2];f[p>>2]=c+4;g=i;c=h;break}}else{g=e;c=i}while(0);f[(f[n>>2]|0)+(f[x>>2]<<2)>>2]=g;e=f[y>>2]|0;d=f[x>>2]|0;if((d|0)<0)break;d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((d|0)<0)break;d=f[(f[e+12>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[x>>2]=d;if(!((d|0)>-1?(d|0)!=(f[A>>2]|0):0))break c;else{e=g;i=c}}f[x>>2]=d}else c=i}else{c=d;C=30}}else{c=d;C=30}}else C=30;while(0);if((C|0)==30){C=0;f[x>>2]=c;c=i}}k=k+1|0;if((k|0)>=((f[e+28>>2]|0)-(f[e+24>>2]|0)>>2|0)){C=3;break}else j=c}if((C|0)==3){u=D;return}else if((C|0)==6)ra(20006,19918,64,20001);else if((C|0)==33)ra(20006,19918,64,20001)}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+32|0;t=v+12|0;q=v+8|0;p=v+4|0;r=v;s=a+8|0;a:do if(f[s>>2]|0?(o=f[a>>2]|0,n=a+4|0,f[a>>2]=n,f[(f[n>>2]|0)+8>>2]=0,f[n>>2]=0,f[s>>2]=0,d=f[o+4>>2]|0,d=(d|0)==0?o:d,d|0):0){o=a+4|0;m=f[b>>2]|0;l=d;while(1){if((m|0)==(f[c>>2]|0))break;g=l+16|0;f[g>>2]=f[m+16>>2];if((l|0)!=(m|0)){f[p>>2]=f[m+20>>2];f[r>>2]=m+24;f[q>>2]=f[p>>2];f[t>>2]=f[r>>2];Kc(l+20|0,q,t)}j=l+8|0;e=f[j>>2]|0;do if(e){d=f[e>>2]|0;if((d|0)==(l|0)){f[e>>2]=0;d=f[e+4>>2]|0;if(!d){k=e;break}while(1){e=f[d>>2]|0;if(e|0){d=e;continue}e=f[d+4>>2]|0;if(!e)break;else d=e}k=d;break}else{f[e+4>>2]=0;if(!d){k=e;break}while(1){e=f[d>>2]|0;if(e|0){d=e;continue}e=f[d+4>>2]|0;if(!e)break;else d=e}k=d;break}}else k=0;while(0);d=f[n>>2]|0;do if(d){g=f[g>>2]|0;h=d;while(1){if((g|0)<(f[h+16>>2]|0)){d=f[h>>2]|0;if(!d){i=24;break}}else{e=h+4|0;d=f[e>>2]|0;if(!d){i=27;break}}h=d}if((i|0)==24){d=h;e=h;break}else if((i|0)==27){d=h;break}}else{d=n;e=n}while(0);f[l>>2]=0;f[l+4>>2]=0;f[j>>2]=d;f[e>>2]=l;d=f[f[a>>2]>>2]|0;if(!d)d=l;else{f[a>>2]=d;d=f[e>>2]|0}He(f[o>>2]|0,d);f[s>>2]=(f[s>>2]|0)+1;d=f[m+4>>2]|0;if(!d){e=m+8|0;d=f[e>>2]|0;if((f[d>>2]|0)!=(m|0))do{m=f[e>>2]|0;e=m+8|0;d=f[e>>2]|0}while((f[d>>2]|0)!=(m|0))}else while(1){e=f[d>>2]|0;if(!e)break;else d=e}f[b>>2]=d;if(!k)break a;else{m=d;l=k}}d=f[l+8>>2]|0;if(!d)d=l;else while(1){e=f[d+8>>2]|0;if(!e)break;else d=e}vj(a,d)}while(0);d=f[b>>2]|0;k=f[c>>2]|0;if((d|0)==(k|0)){u=v;return}l=a+4|0;m=a+4|0;do{Gg(t,a,d+16|0);g=f[l>>2]|0;do if(g){e=f[t>>2]|0;i=f[e+16>>2]|0;j=g;while(1){if((i|0)<(f[j+16>>2]|0)){g=f[j>>2]|0;if(!g){i=45;break}}else{h=j+4|0;g=f[h>>2]|0;if(!g){i=48;break}}j=g}if((i|0)==45){g=j;h=j;break}else if((i|0)==48){g=j;break}}else{e=f[t>>2]|0;g=l;h=l}while(0);f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=g;f[h>>2]=e;g=f[f[a>>2]>>2]|0;if(g){f[a>>2]=g;e=f[h>>2]|0}He(f[m>>2]|0,e);f[s>>2]=(f[s>>2]|0)+1;e=f[d+4>>2]|0;if(!e){e=d+8|0;g=f[e>>2]|0;if((f[g>>2]|0)==(d|0))d=g;else do{c=f[e>>2]|0;e=c+8|0;d=f[e>>2]|0}while((f[d>>2]|0)!=(c|0))}else{d=e;while(1){e=f[d>>2]|0;if(!e)break;else d=e}}f[b>>2]=d}while((d|0)!=(k|0));u=v;return}function Dc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((b|0)<0)return;l=a+12|0;c=f[l>>2]|0;d=f[a+8>>2]|0;e=c-d>>2;if(e>>>0<=b>>>0)return;g=d+(b<<2)|0;n=f[(f[g>>2]|0)+56>>2]|0;if((e|0)<=(b|0))ra(20748,20641,68,20738);m=f[(f[d+(b<<2)>>2]|0)+60>>2]|0;d=g+4|0;if((d|0)!=(c|0)){j=g;do{h=f[d>>2]|0;f[d>>2]=0;i=f[j>>2]|0;f[j>>2]=h;if(i|0){h=i+88|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e+8>>2]|0;if(g|0){h=e+12|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(e)}e=f[i+68>>2]|0;if(e|0){h=i+72|0;g=f[h>>2]|0;if((g|0)!=(e|0))f[h>>2]=g+(~((g+-4-e|0)>>>2)<<2);pq(e)}h=i+64|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){g=f[e>>2]|0;if(g|0){h=e+4|0;if((f[h>>2]|0)!=(g|0))f[h>>2]=g;pq(g)}pq(e)}pq(i)}d=d+4|0;j=j+4|0}while((d|0)!=(c|0));c=f[l>>2]|0;if((c|0)!=(j|0)){g=j;k=26}}else k=26;if((k|0)==26)do{k=c+-4|0;f[l>>2]=k;h=f[k>>2]|0;f[k>>2]=0;if(h|0){k=h+88|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}c=f[h+68>>2]|0;if(c|0){e=h+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}k=h+64|0;c=f[k>>2]|0;f[k>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}pq(h)}c=f[l>>2]|0}while((c|0)!=(g|0));d=f[a+4>>2]|0;a:do if(d|0){h=d+44|0;c=f[h>>2]|0;d=f[d+40>>2]|0;while(1){if((d|0)==(c|0))break a;e=d+4|0;if((f[(f[d>>2]|0)+40>>2]|0)==(m|0))break;else d=e}if((e|0)!=(c|0)){g=d;do{m=f[e>>2]|0;f[e>>2]=0;d=f[g>>2]|0;f[g>>2]=m;if(d|0){Ji(d);pq(d)}e=e+4|0;g=g+4|0}while((e|0)!=(c|0));c=f[h>>2]|0;if((c|0)==(g|0))break;else d=g}do{m=c+-4|0;f[h>>2]=m;c=f[m>>2]|0;f[m>>2]=0;if(c|0){Ji(c);pq(c)}c=f[h>>2]|0}while((c|0)!=(d|0))}while(0);b:do if((n|0)<5){c=f[a+20+(n*12|0)>>2]|0;i=a+20+(n*12|0)+4|0;d=f[i>>2]|0;e=d;c:do if((c|0)!=(d|0))while(1){if((f[c>>2]|0)==(b|0))break c;c=c+4|0;if((c|0)==(d|0))break b}while(0);if((c|0)!=(d|0)){g=c+4|0;e=e-g|0;h=e>>2;if(h){bm(c|0,g|0,e|0)|0;d=f[i>>2]|0}c=c+(h<<2)|0;if((d|0)!=(c|0))f[i>>2]=d+(~((d+-4-c|0)>>>2)<<2)}}while(0);c=f[a+24>>2]|0;d=f[a+20>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+36>>2]|0;d=f[a+32>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+48>>2]|0;d=f[a+44>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}c=f[a+60>>2]|0;d=f[a+56>>2]|0;h=d;if((c|0)!=(d|0)){g=c-d>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0)}d=f[a+72>>2]|0;c=f[a+68>>2]|0;h=c;if((d|0)==(c|0))return;g=d-c>>2;e=0;do{d=h+(e<<2)|0;c=f[d>>2]|0;if((c|0)>(b|0))f[d>>2]=c+-1;e=e+1|0}while(e>>>0>>0);return}function Ec(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+4|0;i=f[w>>2]|0;v=a+100|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=0}else{i=Xi(a)|0;k=0}a:while(1){switch(i|0){case 46:{o=8;break a}case 48:break;default:{u=0;n=0;q=0;j=0;r=k;t=0;s=0;m=1.0;k=0;g=0.0;break a}}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0;k=1;continue}else{i=Xi(a)|0;k=1;continue}}if((o|0)==8){i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Xi(a)|0;if((i|0)==48){k=0;j=0;do{i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;i=h[i>>0]|0}else i=Xi(a)|0;k=Mn(k|0,j|0,-1,-1)|0;j=I}while((i|0)==48);u=0;n=0;q=k;r=1;t=1;s=0;m=1.0;k=0;g=0.0}else{u=0;n=0;q=0;j=0;r=k;t=1;s=0;m=1.0;k=0;g=0.0}}while(1){p=i+-48|0;o=(i|0)==46;if(p>>>0>=10?!(o|((i|32)+-97|0)>>>0<6):0)break;if(o)if(!t){q=n;j=u;p=u;t=1;o=s;l=m}else{i=46;break}else{i=(i|0)>57?(i|32)+-87|0:p;do if(!((u|0)<0|(u|0)==0&n>>>0<8))if((u|0)<0|(u|0)==0&n>>>0<14){m=m*.0625;o=s;l=m;g=g+m*+(i|0);break}else{r=(s|0)!=0|(i|0)==0;o=r?s:1;l=m;g=r?g:g+m*.5;break}else{o=s;l=m;k=i+(k<<4)|0}while(0);n=Mn(n|0,u|0,1,0)|0;p=I;r=1}i=f[w>>2]|0;if(i>>>0<(f[v>>2]|0)>>>0){f[w>>2]=i+1;u=p;i=h[i>>0]|0;s=o;m=l;continue}else{u=p;i=Xi(a)|0;s=o;m=l;continue}}do if(!r){i=f[v>>2]|0;j=(i|0)!=0;if(j)f[w>>2]=(f[w>>2]|0)+-1;if(e){if(j)f[w>>2]=(f[w>>2]|0)+-1;if(!((t|0)==0|(i|0)==0))f[w>>2]=(f[w>>2]|0)+-1}else Lm(a,0);g=+(d|0)*0.0}else{o=(t|0)==0;p=o?n:q;o=o?u:j;if((u|0)<0|(u|0)==0&n>>>0<8){j=u;do{k=k<<4;n=Mn(n|0,j|0,1,0)|0;j=I}while((j|0)<0|(j|0)==0&n>>>0<8)}if((i|32|0)==112){j=$e(a,e)|0;i=I;if((j|0)==0&(i|0)==-2147483648){if(!e){Lm(a,0);g=0.0;break}if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}}}else if(!(f[v>>2]|0)){j=0;i=0}else{f[w>>2]=(f[w>>2]|0)+-1;j=0;i=0}w=vn(p|0,o|0,2)|0;w=Mn(w|0,I|0,-32,-1)|0;i=Mn(w|0,I|0,j|0,i|0)|0;j=I;if(!k){g=+(d|0)*0.0;break}w=0-c|0;e=((w|0)<0)<<31>>31;if((j|0)>(e|0)|(j|0)==(e|0)&i>>>0>w>>>0){b=eq()|0;f[b>>2]=34;g=+(d|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}w=c+-106|0;e=((w|0)<0)<<31>>31;if((j|0)<(e|0)|(j|0)==(e|0)&i>>>0>>0){b=eq()|0;f[b>>2]=34;g=+(d|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((k|0)>-1){do{w=!(g>=.5);k=k<<1|(w^1)&1;g=g+(w?g:g+-1.0);i=Mn(i|0,j|0,-1,-1)|0;j=I}while((k|0)>-1);n=i;m=g}else{n=i;m=g}w=((b|0)<0)<<31>>31;i=_n(32,0,c|0,((c|0)<0)<<31>>31|0)|0;i=Mn(i|0,I|0,n|0,j|0)|0;c=I;if((w|0)>(c|0)|(w|0)==(c|0)&b>>>0>i>>>0)if((i|0)>0)o=59;else{j=0;i=84;o=61}else{i=b;o=59}if((o|0)==59)if((i|0)<53){j=i;i=84-i|0;o=61}else{l=0.0;g=+(d|0)}if((o|0)==61){g=+(d|0);l=+Wp(+Rj(1.0,i),g);i=j}d=(k&1|0)==0&(m!=0.0&(i|0)<32);g=g*(d?0.0:m)+(l+g*+(((d&1)+k|0)>>>0))-l;if(!(g!=0.0)){d=eq()|0;f[d>>2]=34}g=+Xp(g,n)}while(0);return +g}function Fc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=Ka,h=0,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=Ka;E=u;u=u+112|0;x=E+104|0;y=E+64|0;o=E+24|0;A=E+16|0;p=E+92|0;r=E+80|0;q=E+68|0;z=E;B=E+52|0;C=E+40|0;D=E+28|0;f[o>>2]=0;m=f[a>>2]|0;v=a+4|0;h=f[v>>2]|0;w=c+4|0;if((h|0)==(f[w>>2]|0))g=$(0.0);else{l=m+84|0;i=m+68|0;j=r+4|0;k=q+8|0;g=$(0.0);do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,p)|0;F=$(K($(n[p>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[r>>2]=0;f[r+4>>2]=0;f[r+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,r)|0;F=$(K($(n[j>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;f[q>>2]=0;f[q+4>>2]=0;f[q+8>>2]=0;g=(f[s>>2]=t,$(n[s>>2]));if(!(b[l>>0]|0))c=f[(f[i>>2]|0)+(h<<2)>>2]|0;else c=h;f[y>>2]=c;f[x>>2]=f[y>>2];ab(m,x,3,q)|0;F=$(K($(n[k>>2])));n[A>>2]=F;t=f[(F>2]|0;f[o>>2]=t;h=h+1|0;g=(f[s>>2]=t,$(n[s>>2]))}while((h|0)!=(f[w>>2]|0))}t=(1<>2])+-1|0;cp(A);po(A,g,t);n[d+4>>2]=g;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;d=f[a>>2]|0;h=f[v>>2]|0;if((h|0)==(f[w>>2]|0)){D=f[e>>2]|0;u=E;return D|0}r=d+84|0;l=d+68|0;a=A+4|0;q=C+4|0;p=z+4|0;o=D+8|0;m=z+8|0;c=f[e>>2]|0;j=c+4|0;k=c+8|0;i=h;do{f[B>>2]=0;f[B+4>>2]=0;f[B+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,B)|0;F=$(n[B>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[z>>2]=(v?0-e|0:e)+t;f[C>>2]=0;f[C+4>>2]=0;f[C+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,C)|0;F=$(n[q>>2]);v=F<$(0.0);g=$(-F);F=$((v?g:F)/$(n[A>>2]));e=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[p>>2]=(v?0-e|0:e)+t;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;if(!(b[r>>0]|0))h=f[(f[l>>2]|0)+(i<<2)>>2]|0;else h=i;f[y>>2]=h;f[x>>2]=f[y>>2];ab(d,x,3,D)|0;F=$(n[o>>2]);e=F<$(0.0);g=$(-F);F=$((e?g:F)/$(n[A>>2]));h=~~$(J($($(F*$(f[a>>2]|0))+$(.5))));f[m>>2]=(e?0-h|0:h)+t;h=f[j>>2]|0;if((h|0)==(f[k>>2]|0))qh(c,z);else{f[h>>2]=f[z>>2];f[h+4>>2]=f[p>>2];f[h+8>>2]=f[m>>2];f[j>>2]=h+12}i=i+1|0}while((i|0)!=(f[w>>2]|0));u=E;return c|0}function Gc(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+32|0;k=o+4|0;j=o;c=a+16|0;b=f[c>>2]|0;if(b>>>0>203){f[c>>2]=b+-204;l=a+4|0;k=f[l>>2]|0;m=f[k>>2]|0;k=k+4|0;f[l>>2]=k;n=a+8|0;b=f[n>>2]|0;j=a+12|0;i=f[j>>2]|0;d=i;g=b;do if((b|0)==(i|0)){c=f[a>>2]|0;e=c;if(k>>>0>c>>>0){b=k;e=((b-e>>2)+1|0)/-2|0;d=k+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=k;else{bm(d|0,k|0,b|0)|0;b=f[l>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[l>>2]=b+(e<<2);b=a;break}d=d-e>>1;d=(d|0)==0?1:d;if(d>>>0>1073741823){o=sa(8)|0;to(o,20196);f[o>>2]=7152;wa(o|0,1112,107)}g=an(d<<2)|0;h=g;e=g+(d>>>2<<2)|0;i=e;g=g+(d<<2)|0;if((k|0)==(b|0))b=i;else{d=e;c=k;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[l>>2]=i;f[n>>2]=b;f[j>>2]=g;if(c){pq(c);b=f[n>>2]|0}}while(0);f[b>>2]=m;f[n>>2]=(f[n>>2]|0)+4;u=o;return}n=a+8|0;b=f[n>>2]|0;m=a+4|0;e=b-(f[m>>2]|0)|0;l=a+12|0;c=f[l>>2]|0;d=c-(f[a>>2]|0)|0;if(e>>>0>=d>>>0){b=d>>1;b=(b|0)==0?1:b;f[k+12>>2]=0;f[k+16>>2]=a+12;if(b>>>0>1073741823){o=sa(8)|0;to(o,20196);f[o>>2]=7152;wa(o|0,1112,107)}d=an(b<<2)|0;f[k>>2]=d;h=d+(e>>2<<2)|0;i=k+8|0;f[i>>2]=h;g=k+4|0;f[g>>2]=h;h=k+12|0;f[h>>2]=d+(b<<2);e=an(4080)|0;f[j>>2]=e;tg(k,j);e=f[n>>2]|0;while(1){b=f[m>>2]|0;if((e|0)==(b|0))break;j=e+-4|0;mg(k,j);e=j}c=b;d=f[a>>2]|0;f[a>>2]=f[k>>2];f[k>>2]=d;f[m>>2]=f[g>>2];f[g>>2]=c;b=f[n>>2]|0;f[n>>2]=f[i>>2];f[i>>2]=b;a=f[l>>2]|0;f[l>>2]=f[h>>2];f[h>>2]=a;if((b|0)!=(e|0))f[i>>2]=b+(~((b+-4-c|0)>>>2)<<2);if(d|0)pq(d);u=o;return}if((c|0)!=(b|0)){n=an(4080)|0;f[k>>2]=n;tg(a,k);u=o;return}j=an(4080)|0;f[k>>2]=j;mg(a,k);j=f[m>>2]|0;k=f[j>>2]|0;j=j+4|0;f[m>>2]=j;b=f[n>>2]|0;i=f[l>>2]|0;c=i;g=b;do if((b|0)==(i|0)){e=f[a>>2]|0;d=e;if(j>>>0>e>>>0){b=j;e=((b-d>>2)+1|0)/-2|0;d=j+(e<<2)|0;b=g-b|0;c=b>>2;if(!c)b=j;else{bm(d|0,j|0,b|0)|0;b=f[m>>2]|0}a=d+(c<<2)|0;f[n>>2]=a;f[m>>2]=b+(e<<2);b=a;break}c=c-d>>1;c=(c|0)==0?1:c;if(c>>>0>1073741823){o=sa(8)|0;to(o,20196);f[o>>2]=7152;wa(o|0,1112,107)}g=an(c<<2)|0;h=g;d=g+(c>>>2<<2)|0;i=d;g=g+(c<<2)|0;if((j|0)==(b|0)){c=e;b=i}else{c=j;e=i;do{f[d>>2]=f[c>>2];d=e+4|0;e=d;c=c+4|0}while((c|0)!=(b|0));c=f[a>>2]|0;b=e}f[a>>2]=h;f[m>>2]=i;f[n>>2]=b;f[l>>2]=g;if(c){pq(c);b=f[n>>2]|0}}while(0);f[b>>2]=k;f[n>>2]=(f[n>>2]|0)+4;u=o;return}function Hc(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2020;e=b;f[a>>2]=e;return}case 2:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2076;e=b;f[a>>2]=e;return}case 4:{b=an(112)|0;f[b>>2]=1544;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=2132;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(88)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2188;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(104)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2244;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(140)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=2300;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=2356;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Ic(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;switch(c|0){case 1:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1656;e=b;f[a>>2]=e;return}case 2:{b=an(60)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1712;e=b;f[a>>2]=e;return}case 4:{b=an(112)|0;f[b>>2]=1544;f[b+4>>2]=d;h=b+8|0;f[h>>2]=f[e>>2];f[h+4>>2]=f[e+4>>2];f[h+8>>2]=f[e+8>>2];f[h+12>>2]=f[e+12>>2];f[h+16>>2]=f[e+16>>2];f[h+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);h=b+44|0;f[h>>2]=f[g>>2];f[h+4>>2]=f[g+4>>2];f[h+8>>2]=f[g+8>>2];f[h+12>>2]=f[g+12>>2];f[b>>2]=1768;h=b+60|0;c=h+52|0;do{f[h>>2]=0;h=h+4|0}while((h|0)<(c|0));e=b;f[a>>2]=e;return}case 3:{b=an(88)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1824;e=b+60|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;f[e+24>>2]=0;e=b;f[a>>2]=e;return}case 5:{b=an(104)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1880;f[b+60>>2]=0;f[b+64>>2]=0;f[b+76>>2]=0;f[b+80>>2]=0;f[b+84>>2]=0;e=b+88|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];e=b;f[a>>2]=e;return}case 6:{b=an(140)|0;f[b>>2]=1544;f[b+4>>2]=d;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);e=b+44|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b>>2]=1936;f[b+64>>2]=0;f[b+68>>2]=0;e=b+72|0;f[e>>2]=f[g>>2];f[e+4>>2]=f[g+4>>2];f[e+8>>2]=f[g+8>>2];f[e+12>>2]=f[g+12>>2];f[b+60>>2]=1992;f[b+88>>2]=1;e=b+92|0;f[e>>2]=-1;f[e+4>>2]=-1;f[e+8>>2]=-1;f[e+12>>2]=-1;cn(b+108|0);e=b;f[a>>2]=e;return}default:{e=0;f[a>>2]=e;return}}}function Jc(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0;F=u;u=u+352|0;C=F+340|0;B=F+336|0;l=F+80|0;E=F+48|0;D=F;cj(l|0,0,256)|0;i=f[e+4>>2]|0;j=f[e>>2]|0;k=j;if((i|0)!=(j|0)){j=i-j>>2;i=0;do{A=l+(f[k+(i<<2)>>2]<<3)|0;z=A;z=Mn(f[z>>2]|0,f[z+4>>2]|0,1,0)|0;f[A>>2]=z;f[A+4>>2]=I;i=i+1|0}while(i>>>0>>0)}ln(E);w=c<<5;y=D+40|0;z=y;f[z>>2]=0;f[z+4>>2]=0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;$c(D,l,32,g)|0;z=D+16|0;z=vn(f[z>>2]|0,f[z+4>>2]|0,1)|0;A=g+4|0;x=(f[A>>2]|0)-(f[g>>2]|0)|0;v=y;f[v>>2]=x;f[v+4>>2]=0;z=Mn(z|0,I|0,39,0)|0;z=An(z|0,I|0,3)|0;z=Mn(z|0,I|0,8,0)|0;x=Mn(z|0,I|0,x|0,0)|0;pl(g,x,I);x=D+24|0;f[x>>2]=(f[g>>2]|0)+(f[y>>2]|0);y=D+28|0;f[y>>2]=0;z=D+32|0;f[z>>2]=16384;ti(E,w,((w|0)<0)<<31>>31,0)|0;w=c-d|0;a:do if((w|0)>-1){t=(d|0)>0;s=E+16|0;r=E+12|0;v=w;b:while(1){j=f[e>>2]|0;l=f[j+(((v|0)/(d|0)|0)<<2)>>2]|0;c=f[D>>2]|0;m=f[c+(l<<3)>>2]|0;i=f[z>>2]|0;k=m<<10;if(i>>>0>=k>>>0){do{p=f[x>>2]|0;q=f[y>>2]|0;f[y>>2]=q+1;b[p+q>>0]=i;i=(f[z>>2]|0)>>>8;f[z>>2]=i}while(i>>>0>=k>>>0);j=f[e>>2]|0}f[z>>2]=(((i>>>0)/(m>>>0)|0)<<12)+((i>>>0)%(m>>>0)|0)+(f[c+(l<<3)+4>>2]|0);q=w-v|0;j=f[j+(((q|0)/(d|0)|0)<<2)>>2]|0;c:do if(t){o=(j|0)<33;p=(j|0)>0;if((j|0)>-1)n=0;else{i=s;j=f[i+4>>2]|0;i=(j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0;j=0;while(1){if(i){i=21;break b}j=j+1|0;if((j|0)>=(d|0))break c}}do{k=f[a+(n+q<<2)>>2]|0;m=s;c=f[m+4>>2]|0;if((c|0)>0|(c|0)==0&(f[m>>2]|0)>>>0>0){l=f[r>>2]|0;if(!o){i=22;break b}if(p){m=l+4|0;i=f[m>>2]|0;c=0;do{G=i>>>3;H=i&7;J=(f[l>>2]|0)+G|0;b[J>>0]=(h[J>>0]|0)&(1<>2]|0)+G|0;b[G>>0]=h[G>>0]|0|(k>>>c&1)<>2]|0)+1|0;f[m>>2]=i;c=c+1|0}while((c|0)!=(j|0))}}n=n+1|0}while((n|0)<(d|0))}while(0);v=v-d|0;if((v|0)<=-1)break a}if((i|0)==21)ra(19404,19419,88,19512);else if((i|0)==22)ra(19520,19419,89,19512)}while(0);qg(D,g);Tf(E);i=f[E>>2]|0;l=E+4|0;J=g+16|0;H=f[J+4>>2]|0;if(!((H|0)>0|(H|0)==0&(f[J>>2]|0)>>>0>0)){J=(f[l>>2]|0)-i|0;f[B>>2]=f[A>>2];f[C>>2]=f[B>>2];Ke(g,C,i,i+J|0)|0}k=f[D>>2]|0;if(k|0){j=D+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-8-k|0)>>>3)<<3);pq(k)}J=E+12|0;i=f[J>>2]|0;f[J>>2]=0;if(i|0)pq(i);i=f[E>>2]|0;if(!i){u=F;return 1}if((f[l>>2]|0)!=(i|0))f[l>>2]=i;pq(i);u=F;return 1}function Kc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=a+8|0;a:do if(f[q>>2]|0?(s=f[a>>2]|0,r=a+4|0,f[a>>2]=r,f[(f[r>>2]|0)+8>>2]=0,f[r>>2]=0,f[q>>2]=0,e=f[s+4>>2]|0,e=(e|0)==0?s:e,e|0):0){s=a+4|0;p=f[c>>2]|0;o=e;while(1){if((p|0)==(f[d>>2]|0))break;h=o+16|0;Rl(h,p+16|0)|0;Rl(o+28|0,p+28|0)|0;m=o+8|0;g=f[m>>2]|0;do if(g){e=f[g>>2]|0;if((e|0)==(o|0)){f[g>>2]=0;e=f[g+4>>2]|0;if(!e){n=g;break}while(1){g=f[e>>2]|0;if(g|0){e=g;continue}g=f[e+4>>2]|0;if(!g)break;else e=g}n=e;break}else{f[g+4>>2]=0;if(!e){n=g;break}while(1){g=f[e>>2]|0;if(g|0){e=g;continue}g=f[e+4>>2]|0;if(!g)break;else e=g}n=e;break}}else n=0;while(0);e=f[r>>2]|0;do if(e){l=b[h+11>>0]|0;k=l<<24>>24<0;l=k?f[o+20>>2]|0:l&255;k=k?f[h>>2]|0:h;j=e;while(1){g=j+16|0;h=b[g+11>>0]|0;i=h<<24>>24<0;h=i?f[j+20>>2]|0:h&255;e=h>>>0>>0?h:l;if((e|0)!=0?(t=fl(k,i?f[g>>2]|0:g,e)|0,(t|0)!=0):0)if((t|0)<0)h=24;else h=26;else if(l>>>0>>0)h=24;else h=26;if((h|0)==24){e=f[j>>2]|0;if(!e){h=25;break}}else if((h|0)==26){g=j+4|0;e=f[g>>2]|0;if(!e){h=28;break}}j=e}if((h|0)==25){e=j;g=j;break}else if((h|0)==28){e=j;break}}else{e=r;g=r}while(0);f[o>>2]=0;f[o+4>>2]=0;f[m>>2]=e;f[g>>2]=o;e=f[f[a>>2]>>2]|0;if(!e)e=o;else{f[a>>2]=e;e=f[g>>2]|0}He(f[s>>2]|0,e);f[q>>2]=(f[q>>2]|0)+1;e=f[p+4>>2]|0;if(!e){g=p+8|0;e=f[g>>2]|0;if((f[e>>2]|0)!=(p|0))do{p=f[g>>2]|0;g=p+8|0;e=f[g>>2]|0}while((f[e>>2]|0)!=(p|0))}else while(1){g=f[e>>2]|0;if(!g)break;else e=g}f[c>>2]=e;if(!n)break a;else{p=e;o=n}}e=f[o+8>>2]|0;if(!e)e=o;else while(1){g=f[e+8>>2]|0;if(!g)break;else e=g}lj(a,e)}while(0);e=f[c>>2]|0;i=f[d>>2]|0;if((e|0)==(i|0))return;do{hf(a,e+16|0)|0;g=f[e+4>>2]|0;if(!g){g=e+8|0;h=f[g>>2]|0;if((f[h>>2]|0)==(e|0))e=h;else do{d=f[g>>2]|0;g=d+8|0;e=f[g>>2]|0}while((f[e>>2]|0)!=(d|0))}else{e=g;while(1){g=f[e>>2]|0;if(!g)break;else e=g}}f[c>>2]=e}while((e|0)!=(i|0));return}function Lc(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0;v=u;u=u+48|0;p=v+32|0;o=v+28|0;s=v+4|0;q=v;m=v+16|0;r=v+36|0;if((c|0)<0){t=0;u=v;return t|0}if(!c){t=1;u=v;return t|0}k=(d|0)>1;n=k?d:1;f[s>>2]=0;t=s+4|0;f[t>>2]=0;f[s+8>>2]=0;Jj(s,c);f[q>>2]=0;j=s+8|0;a:do if(k){h=0;do{d=1;g=f[a+(h<<2)>>2]|0;do{k=f[a+(d+h<<2)>>2]|0;g=g>>>0>>0?k:g;d=d+1|0}while((d|0)!=(n|0));d=(_(g|0)|0)^31;if(g>>>0>(f[q>>2]|0)>>>0)f[q>>2]=g;g=(g|0)==0?1:d+1|0;f[p>>2]=g;d=f[t>>2]|0;if(d>>>0<(f[j>>2]|0)>>>0){f[d>>2]=g;f[t>>2]=d+4}else Gi(s,p);h=h+n|0}while((h|0)<(c|0))}else{i=0;d=0;while(1){g=f[a+(d<<2)>>2]|0;h=(_(g|0)|0)^31;if(g>>>0>i>>>0)f[q>>2]=g;h=(g|0)==0?1:h+1|0;f[p>>2]=h;g=f[t>>2]|0;if(g>>>0<(f[j>>2]|0)>>>0){f[g>>2]=h;f[t>>2]=g+4}else Gi(s,p);d=d+n|0;if((d|0)>=(c|0))break a;i=f[q>>2]|0}}while(0);f[m>>2]=0;k=m+4|0;f[k>>2]=0;f[m+8>>2]=0;g=f[s>>2]|0;h=(f[t>>2]|0)-g|0;d=h>>2;if(d){if(d>>>0>1073741823)Fp(m);j=an(h)|0;f[k>>2]=j;f[m>>2]=j;f[m+8>>2]=j+(d<<2);d=j;if((h|0)>0){i=j+(h>>>2<<2)|0;Rg(j|0,g|0,h|0)|0;f[k>>2]=i;d=i-d>>2;if((i|0)==(j|0)){i=d;d=j;h=0;g=0}else{h=0;g=0;i=0;do{h=Mn(f[j+(i<<2)>>2]|0,0,h|0,g|0)|0;g=I;i=i+1|0}while(i>>>0>>0);i=d;d=j}}else l=23}else{d=0;l=23}if((l|0)==23){i=0;h=0;g=0}j=Mg(d,i,32,p)|0;l=I;d=f[p>>2]<<3;d=vn(d|0,((d|0)<0)<<31>>31|0,1)|0;i=I;h=$m(h|0,g|0,n|0,0)|0;h=Mn(j|0,l|0,h|0,I|0)|0;h=Mn(h|0,I|0,d|0,i|0)|0;i=I;d=f[m>>2]|0;if(d|0){g=f[k>>2]|0;if((g|0)!=(d|0))f[k>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}m=f[q>>2]|0;k=Mg(a,c,m,p)|0;j=f[p>>2]|0;l=((m-j|0)/64|0)+j<<3;j=j<<3;k=Mn(j|0,((j|0)<0)<<31>>31|0,k|0,I|0)|0;l=Mn(k|0,I|0,l|0,((l|0)<0)<<31>>31|0)|0;k=I;if((i|0)<(k|0)|(i|0)==(k|0)&h>>>0>>0|((_((m>>>0>1?m:1)|0)|0)^30)>>>0>17){b[r>>0]=0;q=e+16|0;m=f[q+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[q>>2]|0)>>>0>0)){f[o>>2]=f[e+4>>2];f[p>>2]=f[o>>2];Ke(e,p,r,r+1|0)|0}h=Jc(a,c,n,s,e)|0}else{b[r>>0]=1;n=e+16|0;m=f[n+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[n>>2]|0)>>>0>0)){f[o>>2]=f[e+4>>2];f[p>>2]=f[o>>2];Ke(e,p,r,r+1|0)|0}h=ld(a,c,q,e)|0}d=f[s>>2]|0;if(d|0){g=f[t>>2]|0;if((g|0)!=(d|0))f[t>>2]=g+(~((g+-4-d|0)>>>2)<<2);pq(d)}t=h;u=v;return t|0}function Mc(a,c,d){a=a|0;c=c|0;d=d|0;var e=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(c|0){case 0:{l=24;m=-149;i=4;break}case 1:{l=53;m=-1074;i=4;break}case 2:{l=53;m=-1074;i=4;break}default:e=0.0}a:do if((i|0)==4){o=a+4|0;n=a+100|0;do{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0}while((Ip(c)|0)!=0);b:do switch(c|0){case 43:case 45:{g=1-(((c|0)==45&1)<<1)|0;c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0;k=g;break b}else{c=Xi(a)|0;k=g;break b}}default:k=1}while(0);g=c;c=0;do{if((g|32|0)!=(b[23224+c>>0]|0))break;do if(c>>>0<7){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Xi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<8);c:do switch(c|0){case 8:break;case 3:{i=23;break}default:{j=(d|0)!=0;if(j&c>>>0>3)if((c|0)==8)break c;else{i=23;break c}d:do if(!c){c=0;do{if((g|32|0)!=(b[23233+c>>0]|0))break d;do if(c>>>0<2){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0;break}else{g=Xi(a)|0;break}}while(0);c=c+1|0}while(c>>>0<3)}while(0);switch(c|0){case 3:{c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;if((c|0)==40)c=1;else{if(!(f[n>>2]|0)){e=B;break a}f[o>>2]=(f[o>>2]|0)+-1;e=B;break a}while(1){g=f[o>>2]|0;if(g>>>0<(f[n>>2]|0)>>>0){f[o>>2]=g+1;g=h[g>>0]|0}else g=Xi(a)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;c=c+1|0}if((g|0)==41){e=B;break a}g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!j){o=eq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}if(!c){e=B;break a}while(1){c=c+-1|0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if(!c){e=B;break a}}}case 0:{if((g|0)==48){c=f[o>>2]|0;if(c>>>0<(f[n>>2]|0)>>>0){f[o>>2]=c+1;c=h[c>>0]|0}else c=Xi(a)|0;if((c|32|0)==120){e=+Ec(a,l,m,k,d);break a}if(!(f[n>>2]|0))c=48;else{f[o>>2]=(f[o>>2]|0)+-1;c=48}}else c=g;e=+pb(a,c,l,m,k,d);break a}default:{if(f[n>>2]|0)f[o>>2]=(f[o>>2]|0)+-1;o=eq()|0;f[o>>2]=22;Lm(a,0);e=0.0;break a}}}}while(0);if((i|0)==23){g=(f[n>>2]|0)==0;if(!g)f[o>>2]=(f[o>>2]|0)+-1;if((d|0)!=0&c>>>0>3)do{if(!g)f[o>>2]=(f[o>>2]|0)+-1;c=c+-1|0}while(c>>>0>3)}e=+$($(k|0)*$(C))}while(0);return +e}function Nc(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;v=u;u=u+16|0;r=v+8|0;q=v+4|0;o=v;p=a+64|0;c=f[p>>2]|0;if(((f[c+28>>2]|0)-(f[c+24>>2]|0)|0)<=0){u=v;return}s=a+52|0;k=a+56|0;m=a+60|0;i=a+12|0;j=a+28|0;t=a+40|0;l=a+44|0;n=a+48|0;b=0;h=0;do{d=f[(f[c+24>>2]|0)+(h<<2)>>2]|0;if((d|0)>=0){e=b+1|0;f[r>>2]=b;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Gi(s,r);else{f[c>>2]=b;f[k>>2]=c+4}f[q>>2]=d;f[o>>2]=0;a:do if(!(f[(f[i>>2]|0)+(h>>>5<<2)>>2]&1<<(h&31)))c=d;else{c=d+1|0;c=((c|0)%3|0|0)==0?d+-2|0:c;g=f[a>>2]|0;if(!(1<<(c&31)&f[g+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[p>>2]|0)+12>>2]|0)+(c<<2)>>2]|0;b=c+1|0;if((c|0)>=0){c=((b|0)%3|0|0)==0?c+-2|0:b;f[o>>2]=c;if((c|0)<=-1){c=d;break}while(1){f[q>>2]=c;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if(1<<(b&31)&f[g+(b>>>5<<2)>>2]|0){b=-1073741824;break}if((b|0)<0)break;b=f[(f[(f[p>>2]|0)+12>>2]|0)+(b<<2)>>2]|0;d=b+1|0;if((b|0)<0)break;b=((d|0)%3|0|0)==0?b+-2|0:d;f[o>>2]=b;if((b|0)>-1)c=b;else break a}f[o>>2]=b;break}}}else c=-1073741824;f[o>>2]=c;c=d}while(0);f[(f[j>>2]|0)+(c<<2)>>2]=f[r>>2];c=f[l>>2]|0;if((c|0)==(f[n>>2]|0))Gi(t,q);else{f[c>>2]=f[q>>2];f[l>>2]=c+4}c=f[p>>2]|0;b=f[q>>2]|0;b:do if((b|0)>=0){d=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((d|0)>=0){d=f[(f[c+12>>2]|0)+(d<<2)>>2]|0;if((d|0)>=0){d=d+(((d>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=d;if((d|0)>-1&(d|0)!=(b|0)){b=d;while(1){g=b+1|0;g=((g|0)%3|0|0)==0?b+-2|0:g;do if(f[(f[a>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)){b=e+1|0;f[r>>2]=e;c=f[k>>2]|0;if((c|0)==(f[m>>2]|0))Gi(s,r);else{f[c>>2]=e;f[k>>2]=c+4}c=f[l>>2]|0;if((c|0)==(f[n>>2]|0)){Gi(t,o);e=b;break}else{f[c>>2]=f[o>>2];f[l>>2]=c+4;e=b;break}}while(0);f[(f[j>>2]|0)+(f[o>>2]<<2)>>2]=f[r>>2];c=f[p>>2]|0;b=f[o>>2]|0;if((b|0)<0)break;b=(((b>>>0)%3|0|0)==0?2:-1)+b|0;if((b|0)<0)break;b=f[(f[c+12>>2]|0)+(b<<2)>>2]|0;if((b|0)<0)break;b=b+(((b>>>0)%3|0|0)==0?2:-1)|0;f[o>>2]=b;if(!((b|0)>-1?(b|0)!=(f[q>>2]|0):0)){b=e;break b}}f[o>>2]=b;b=e}else b=e}else{b=d;w=26}}else{b=d;w=26}}else w=26;while(0);if((w|0)==26){w=0;f[o>>2]=b;b=e}}h=h+1|0}while((h|0)<((f[c+28>>2]|0)-(f[c+24>>2]|0)>>2|0));u=v;return}function Oc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>262144){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;ub(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0}function Pc(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0.0;w=u;u=u+16|0;p=w;t=w+4|0;if((c|0)>131072){a=0;u=w;return a|0}if((c|0)>0){h=0;g=0;j=0;i=0;do{v=b+(j<<3)|0;r=f[v>>2]|0;v=f[v+4>>2]|0;h=Mn(r|0,v|0,h|0,g|0)|0;g=I;i=(r|0)==0&(v|0)==0?i:j;j=j+1|0}while((j|0)!=(c|0));r=i}else{g=0;h=0;r=0}v=r+1|0;f[a+12>>2]=v;c=a+4|0;j=f[c>>2]|0;i=f[a>>2]|0;k=j-i>>3;if(v>>>0<=k>>>0){if(v>>>0>>0?(l=i+(v<<3)|0,(j|0)!=(l|0)):0)f[c>>2]=j+(~((j+-8-l|0)>>>3)<<3)}else fh(a,v-k|0);e=+(h>>>0)+4294967296.0*+(g>>>0);q=(r|0)<0;if(!q){g=f[a>>2]|0;h=0;i=0;do{l=b+(h<<3)|0;k=f[l>>2]|0;l=f[l+4>>2]|0;m=~~((+(k>>>0)+4294967296.0*+(l>>>0))/e*1048576.0+.5)>>>0;m=((k|0)!=0|(l|0)!=0)&(m|0)==0?1:m;f[g+(h<<3)>>2]=m;i=m+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)==1048576){if(q){a=0;u=w;return a|0}}else s=13}else{i=0;s=13}if((s|0)==13){f[t>>2]=0;m=t+4|0;f[m>>2]=0;f[t+8>>2]=0;do if(v)if(v>>>0>1073741823)Fp(t);else{l=v<<2;n=an(l)|0;f[t>>2]=n;o=n+(v<<2)|0;f[t+8>>2]=o;cj(n|0,0,l|0)|0;f[m>>2]=o;break}else{n=0;o=0}while(0);if(!q){g=0;do{f[n+(g<<2)>>2]=g;g=g+1|0}while((g|0)!=(v|0))}f[p>>2]=a;vb(n,o,p);a:do if((i|0)<1048576){s=(f[a>>2]|0)+(f[(f[m>>2]|0)+-4>>2]<<3)|0;f[s>>2]=1048576-i+(f[s>>2]|0);i=0}else{l=f[t>>2]|0;if((r|0)<=0){g=(i|0)>1048576;while(1)if(!g){i=0;break a}}k=f[a>>2]|0;h=i+-1048576|0;g=i;while(1){e=1048576.0/+(g|0);c=r;while(1){j=k+(f[l+(c<<2)>>2]<<3)|0;i=f[j>>2]|0;if(i>>>0<2){s=28;break}p=i-~~+J(+(e*+(i>>>0)))|0;p=(p|0)==0?1:p;p=(p|0)<(i|0)?p:i+-1|0;p=(p|0)>(h|0)?h:p;f[j>>2]=i-p;g=g-p|0;h=h-p|0;if((g|0)==1048576){g=1048576;break}if((c|0)>1)c=c+-1|0;else break}if((s|0)==28){s=0;if((c|0)==(r|0)){i=1;break a}}if((h|0)<=0){i=0;break}}}while(0);g=f[t>>2]|0;if(g|0){h=f[m>>2]|0;if((h|0)!=(g|0))f[m>>2]=h+(~((h+-4-g|0)>>>2)<<2);pq(g)}if((i|0)!=0|q){a=0;u=w;return a|0}}g=f[a>>2]|0;h=0;i=0;do{f[g+(h<<3)+4>>2]=i;i=(f[g+(h<<3)>>2]|0)+i|0;h=h+1|0}while((h|0)!=(v|0));if((i|0)!=1048576){a=0;u=w;return a|0}if(q)e=0.0;else{h=f[a>>2]|0;i=0;e=0.0;do{g=f[h+(i<<3)>>2]|0;if(g){t=b+(i<<3)|0;x=+((f[t>>2]|0)>>>0)+4294967296.0*+((f[t+4>>2]|0)>>>0);e=e+x*+Yg(+(g>>>0)*9.5367431640625e-07)}i=i+1|0}while((i|0)!=(v|0))}x=+W(+-e);v=+K(x)>=1.0?(x>0.0?~~+Y(+J(x/4294967296.0),4294967295.0)>>>0:~~+W((x-+(~~x>>>0))/4294967296.0)>>>0):0;b=a+16|0;f[b>>2]=~~x>>>0;f[b+4>>2]=v;a=Ce(a,d)|0;u=w;return a|0} +function Xa(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0;x=u;u=u+16|0;n=x;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=f[5954]|0;c=m>>>a;if(c&3|0){d=(c&1^1)+a|0;e=23856+(d<<1<<2)|0;b=e+8|0;a=f[b>>2]|0;g=a+8|0;c=f[g>>2]|0;if((e|0)==(c|0))f[5954]=m&~(1<>2]=e;f[b>>2]=c}w=d<<3;f[a+4>>2]=w|3;w=a+w+4|0;f[w>>2]=f[w>>2]|1;w=g;u=x;return w|0}l=f[5956]|0;if(k>>>0>l>>>0){if(c|0){h=2<>>12&16;c=c>>>h;a=c>>>5&8;c=c>>>a;e=c>>>2&4;c=c>>>e;b=c>>>1&2;c=c>>>b;d=c>>>1&1;d=(a|h|e|b|d)+(c>>>d)|0;c=23856+(d<<1<<2)|0;b=c+8|0;e=f[b>>2]|0;h=e+8|0;a=f[h>>2]|0;if((c|0)==(a|0)){a=m&~(1<>2]=c;f[b>>2]=a;a=m}g=(d<<3)-k|0;f[e+4>>2]=k|3;e=e+k|0;f[e+4>>2]=g|1;f[e+g>>2]=g;if(l|0){d=f[5959]|0;b=l>>>3;c=23856+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5956]=g;f[5959]=e;w=h;u=x;return w|0}i=f[5955]|0;if(i){c=(i&0-i)+-1|0;h=c>>>12&16;c=c>>>h;g=c>>>5&8;c=c>>>g;j=c>>>2&4;c=c>>>j;a=c>>>1&2;c=c>>>a;d=c>>>1&1;d=f[24120+((g|h|j|a|d)+(c>>>d)<<2)>>2]|0;c=(f[d+4>>2]&-8)-k|0;a=f[d+16+(((f[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!a){j=c;h=d}else{do{h=(f[a+4>>2]&-8)-k|0;j=h>>>0>>0;c=j?h:c;d=j?a:d;a=f[a+16+(((f[a+16>>2]|0)==0&1)<<2)>>2]|0}while((a|0)!=0);j=c;h=d}g=h+k|0;if(h>>>0>>0){e=f[h+24>>2]|0;b=f[h+12>>2]|0;do if((b|0)==(h|0)){a=h+20|0;b=f[a>>2]|0;if(!b){a=h+16|0;b=f[a>>2]|0;if(!b){c=0;break}}while(1){d=b+20|0;c=f[d>>2]|0;if(c|0){b=c;a=d;continue}d=b+16|0;c=f[d>>2]|0;if(!c)break;else{b=c;a=d}}f[a>>2]=0;c=b}else{c=f[h+8>>2]|0;f[c+12>>2]=b;f[b+8>>2]=c;c=b}while(0);do if(e|0){b=f[h+28>>2]|0;a=24120+(b<<2)|0;if((h|0)==(f[a>>2]|0)){f[a>>2]=c;if(!c){f[5955]=i&~(1<>2]|0)!=(h|0)&1)<<2)>>2]=c;if(!c)break}f[c+24>>2]=e;b=f[h+16>>2]|0;if(b|0){f[c+16>>2]=b;f[b+24>>2]=c}b=f[h+20>>2]|0;if(b|0){f[c+20>>2]=b;f[b+24>>2]=c}}while(0);if(j>>>0<16){w=j+k|0;f[h+4>>2]=w|3;w=h+w+4|0;f[w>>2]=f[w>>2]|1}else{f[h+4>>2]=k|3;f[g+4>>2]=j|1;f[g+j>>2]=j;if(l|0){d=f[5959]|0;b=l>>>3;c=23856+(b<<1<<2)|0;b=1<>2]|0}f[b>>2]=d;f[a+12>>2]=d;f[d+8>>2]=a;f[d+12>>2]=c}f[5956]=j;f[5959]=g}w=h+8|0;u=x;return w|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;d=f[5955]|0;if(d){c=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;v=a<>>16&4;v=v<>>16&2;j=14-(l|m|j)+(v<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;a=f[24120+(j<<2)>>2]|0;a:do if(!a){e=0;a=0;v=57}else{e=0;h=k<<((j|0)==31?0:25-(j>>>1)|0);i=a;a=0;while(1){g=(f[i+4>>2]&-8)-k|0;if(g>>>0>>0)if(!g){c=0;e=i;a=i;v=61;break a}else{c=g;a=i}g=f[i+20>>2]|0;i=f[i+16+(h>>>31<<2)>>2]|0;e=(g|0)==0|(g|0)==(i|0)?e:g;g=(i|0)==0;if(g){v=57;break}else h=h<<((g^1)&1)}}while(0);if((v|0)==57){if((e|0)==0&(a|0)==0){a=2<>>12&16;a=a>>>j;i=a>>>5&8;a=a>>>i;l=a>>>2&4;a=a>>>l;m=a>>>1&2;a=a>>>m;e=a>>>1&1;e=f[24120+((i|j|l|m|e)+(a>>>e)<<2)>>2]|0;a=0}if(!e){i=c;j=a}else v=61}if((v|0)==61)while(1){v=0;l=(f[e+4>>2]&-8)-k|0;m=l>>>0>>0;c=m?l:c;a=m?e:a;e=f[e+16+(((f[e+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){i=c;j=a;break}else v=61}if((j|0)!=0?i>>>0<((f[5956]|0)-k|0)>>>0:0){h=j+k|0;if(j>>>0>=h>>>0){w=0;u=x;return w|0}g=f[j+24>>2]|0;b=f[j+12>>2]|0;do if((b|0)==(j|0)){a=j+20|0;b=f[a>>2]|0;if(!b){a=j+16|0;b=f[a>>2]|0;if(!b){b=0;break}}while(1){e=b+20|0;c=f[e>>2]|0;if(c|0){b=c;a=e;continue}e=b+16|0;c=f[e>>2]|0;if(!c)break;else{b=c;a=e}}f[a>>2]=0}else{w=f[j+8>>2]|0;f[w+12>>2]=b;f[b+8>>2]=w}while(0);do if(g){a=f[j+28>>2]|0;c=24120+(a<<2)|0;if((j|0)==(f[c>>2]|0)){f[c>>2]=b;if(!b){d=d&~(1<>2]|0)!=(j|0)&1)<<2)>>2]=b;if(!b)break}f[b+24>>2]=g;a=f[j+16>>2]|0;if(a|0){f[b+16>>2]=a;f[a+24>>2]=b}a=f[j+20>>2]|0;if(a){f[b+20>>2]=a;f[a+24>>2]=b}}while(0);do if(i>>>0>=16){f[j+4>>2]=k|3;f[h+4>>2]=i|1;f[h+i>>2]=i;b=i>>>3;if(i>>>0<256){c=23856+(b<<1<<2)|0;a=f[5954]|0;b=1<>2]|0}f[b>>2]=h;f[a+12>>2]=h;f[h+8>>2]=a;f[h+12>>2]=c;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;b=14-(t|v|b)+(w<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;c=24120+(b<<2)|0;f[h+28>>2]=b;a=h+16|0;f[a+4>>2]=0;f[a>>2]=0;a=1<>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);c=f[c>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(i|0)){v=97;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=96;break}else{a=a<<1;c=b}}if((v|0)==96){f[d>>2]=h;f[h+24>>2]=c;f[h+12>>2]=h;f[h+8>>2]=h;break}else if((v|0)==97){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=h;f[v>>2]=h;f[h+8>>2]=w;f[h+12>>2]=c;f[h+24>>2]=0;break}}else{w=i+k|0;f[j+4>>2]=w|3;w=j+w+4|0;f[w>>2]=f[w>>2]|1}while(0);w=j+8|0;u=x;return w|0}else m=k}else m=k}else m=-1;while(0);c=f[5956]|0;if(c>>>0>=m>>>0){a=c-m|0;b=f[5959]|0;if(a>>>0>15){w=b+m|0;f[5959]=w;f[5956]=a;f[w+4>>2]=a|1;f[w+a>>2]=a;f[b+4>>2]=m|3}else{f[5956]=0;f[5959]=0;f[b+4>>2]=c|3;w=b+c+4|0;f[w>>2]=f[w>>2]|1}w=b+8|0;u=x;return w|0}h=f[5957]|0;if(h>>>0>m>>>0){t=h-m|0;f[5957]=t;w=f[5960]|0;v=w+m|0;f[5960]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}if(!(f[6072]|0)){f[6074]=4096;f[6073]=4096;f[6075]=-1;f[6076]=-1;f[6077]=0;f[6065]=0;a=n&-16^1431655768;f[n>>2]=a;f[6072]=a;a=4096}else a=f[6074]|0;i=m+48|0;j=m+47|0;g=a+j|0;d=0-a|0;k=g&d;if(k>>>0<=m>>>0){w=0;u=x;return w|0}a=f[6064]|0;if(a|0?(l=f[6062]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){w=0;u=x;return w|0}b:do if(!(f[6065]&4)){c=f[5960]|0;c:do if(c){e=24264;while(1){a=f[e>>2]|0;if(a>>>0<=c>>>0?(q=e+4|0,(a+(f[q>>2]|0)|0)>>>0>c>>>0):0)break;a=f[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=g-h&d;if(b>>>0<2147483647){a=sl(b|0)|0;if((a|0)==((f[e>>2]|0)+(f[q>>2]|0)|0)){if((a|0)!=(-1|0)){h=a;g=b;v=135;break b}}else{d=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){c=sl(0)|0;if((c|0)!=(-1|0)?(b=c,o=f[6073]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=f[6062]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){q=f[6064]|0;if(q|0?p>>>0<=o>>>0|p>>>0>q>>>0:0){b=0;break}a=sl(b|0)|0;if((a|0)==(c|0)){h=c;g=b;v=135;break b}else{d=a;v=126}}else b=0}while(0);do if((v|0)==126){c=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(d|0)!=(-1|0))))if((d|0)==(-1|0)){b=0;break}else{h=d;g=b;v=135;break b}a=f[6074]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=d;g=b;v=135;break b}if((sl(a|0)|0)==(-1|0)){sl(c|0)|0;b=0;break}else{h=d;g=a+b|0;v=135;break b}}while(0);f[6065]=f[6065]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?k>>>0<2147483647:0)?(r=sl(k|0)|0,q=sl(0)|0,t=q-r|0,s=t>>>0>(m+40|0)>>>0,!((r|0)==(-1|0)|s^1|r>>>0>>0&((r|0)!=(-1|0)&(q|0)!=(-1|0))^1)):0){h=r;g=s?t:b;v=135}if((v|0)==135){b=(f[6062]|0)+g|0;f[6062]=b;if(b>>>0>(f[6063]|0)>>>0)f[6063]=b;j=f[5960]|0;do if(j){e=24264;while(1){b=f[e>>2]|0;d=e+4|0;a=f[d>>2]|0;if((h|0)==(b+a|0)){v=145;break}c=f[e+8>>2]|0;if(!c)break;else e=c}if(((v|0)==145?(f[e+12>>2]&8|0)==0:0)?j>>>0>>0&j>>>0>=b>>>0:0){f[d>>2]=a+g;w=j+8|0;w=(w&7|0)==0?0:0-w&7;v=j+w|0;w=(f[5957]|0)+(g-w)|0;f[5960]=v;f[5957]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5961]=f[6076];break}if(h>>>0<(f[5958]|0)>>>0)f[5958]=h;c=h+g|0;a=24264;while(1){if((f[a>>2]|0)==(c|0)){v=153;break}b=f[a+8>>2]|0;if(!b)break;else a=b}if((v|0)==153?(f[a+12>>2]&8|0)==0:0){f[a>>2]=h;l=a+4|0;f[l>>2]=(f[l>>2]|0)+g;l=h+8|0;l=h+((l&7|0)==0?0:0-l&7)|0;b=c+8|0;b=c+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;f[l+4>>2]=m|3;do if((b|0)!=(j|0)){if((b|0)==(f[5959]|0)){w=(f[5956]|0)+i|0;f[5956]=w;f[5959]=k;f[k+4>>2]=w|1;f[k+w>>2]=w;break}a=f[b+4>>2]|0;if((a&3|0)==1){h=a&-8;d=a>>>3;d:do if(a>>>0<256){a=f[b+8>>2]|0;c=f[b+12>>2]|0;if((c|0)==(a|0)){f[5954]=f[5954]&~(1<>2]=c;f[c+8>>2]=a;break}}else{g=f[b+24>>2]|0;a=f[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;c=d+4|0;a=f[c>>2]|0;if(!a){a=f[d>>2]|0;if(!a){a=0;break}else e=d}else e=c;while(1){d=a+20|0;c=f[d>>2]|0;if(c|0){a=c;e=d;continue}d=a+16|0;c=f[d>>2]|0;if(!c)break;else{a=c;e=d}}f[e>>2]=0}else{w=f[b+8>>2]|0;f[w+12>>2]=a;f[a+8>>2]=w}while(0);if(!g)break;c=f[b+28>>2]|0;d=24120+(c<<2)|0;do if((b|0)!=(f[d>>2]|0)){f[g+16+(((f[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{f[d>>2]=a;if(a|0)break;f[5955]=f[5955]&~(1<>2]=g;d=b+16|0;c=f[d>>2]|0;if(c|0){f[a+16>>2]=c;f[c+24>>2]=a}c=f[d+4>>2]|0;if(!c)break;f[a+20>>2]=c;f[c+24>>2]=a}while(0);b=b+h|0;e=h+i|0}else e=i;b=b+4|0;f[b>>2]=f[b>>2]&-2;f[k+4>>2]=e|1;f[k+e>>2]=e;b=e>>>3;if(e>>>0<256){c=23856+(b<<1<<2)|0;a=f[5954]|0;b=1<>2]|0}f[b>>2]=k;f[a+12>>2]=k;f[k+8>>2]=a;f[k+12>>2]=c;break}b=e>>>8;do if(!b)a=0;else{if(e>>>0>16777215){a=31;break}v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;a=14-(t|v|a)+(w<>>15)|0;a=e>>>(a+7|0)&1|a<<1}while(0);d=24120+(a<<2)|0;f[k+28>>2]=a;b=k+16|0;f[b+4>>2]=0;f[b>>2]=0;b=f[5955]|0;c=1<>2]=k;f[k+24>>2]=d;f[k+12>>2]=k;f[k+8>>2]=k;break}a=e<<((a|0)==31?0:25-(a>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(e|0)){v=194;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=193;break}else{a=a<<1;c=b}}if((v|0)==193){f[d>>2]=k;f[k+24>>2]=c;f[k+12>>2]=k;f[k+8>>2]=k;break}else if((v|0)==194){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=k;f[v>>2]=k;f[k+8>>2]=w;f[k+12>>2]=c;f[k+24>>2]=0;break}}else{w=(f[5957]|0)+i|0;f[5957]=w;f[5960]=k;f[k+4>>2]=w|1}while(0);w=l+8|0;u=x;return w|0}a=24264;while(1){b=f[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(f[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=f[a+8>>2]|0}e=w+-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=h+8|0;c=(c&7|0)==0?0:0-c&7;v=h+c|0;c=g+-40-c|0;f[5960]=v;f[5957]=c;f[v+4>>2]=c|1;f[v+c+4>>2]=40;f[5961]=f[6076];c=a+4|0;f[c>>2]=27;f[b>>2]=f[6066];f[b+4>>2]=f[6067];f[b+8>>2]=f[6068];f[b+12>>2]=f[6069];f[6066]=h;f[6067]=g;f[6069]=0;f[6068]=b;b=a+24|0;do{v=b;b=b+4|0;f[b>>2]=7}while((v+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;f[c>>2]=f[c>>2]&-2;f[j+4>>2]=g|1;f[a>>2]=g;b=g>>>3;if(g>>>0<256){c=23856+(b<<1<<2)|0;a=f[5954]|0;b=1<>2]|0}f[b>>2]=j;f[a+12>>2]=j;f[j+8>>2]=a;f[j+12>>2]=c;break}b=g>>>8;if(b)if(g>>>0>16777215)c=31;else{v=(b+1048320|0)>>>16&8;w=b<>>16&4;w=w<>>16&2;c=14-(t|v|c)+(w<>>15)|0;c=g>>>(c+7|0)&1|c<<1}else c=0;d=24120+(c<<2)|0;f[j+28>>2]=c;f[j+20>>2]=0;f[e>>2]=0;b=f[5955]|0;a=1<>2]=j;f[j+24>>2]=d;f[j+12>>2]=j;f[j+8>>2]=j;break}a=g<<((c|0)==31?0:25-(c>>>1)|0);c=f[d>>2]|0;while(1){if((f[c+4>>2]&-8|0)==(g|0)){v=216;break}d=c+16+(a>>>31<<2)|0;b=f[d>>2]|0;if(!b){v=215;break}else{a=a<<1;c=b}}if((v|0)==215){f[d>>2]=j;f[j+24>>2]=c;f[j+12>>2]=j;f[j+8>>2]=j;break}else if((v|0)==216){v=c+8|0;w=f[v>>2]|0;f[w+12>>2]=j;f[v>>2]=j;f[j+8>>2]=w;f[j+12>>2]=c;f[j+24>>2]=0;break}}}else{w=f[5958]|0;if((w|0)==0|h>>>0>>0)f[5958]=h;f[6066]=h;f[6067]=g;f[6069]=0;f[5963]=f[6072];f[5962]=-1;b=0;do{w=23856+(b<<1<<2)|0;f[w+12>>2]=w;f[w+8>>2]=w;b=b+1|0}while((b|0)!=32);w=h+8|0;w=(w&7|0)==0?0:0-w&7;v=h+w|0;w=g+-40-w|0;f[5960]=v;f[5957]=w;f[v+4>>2]=w|1;f[v+w+4>>2]=40;f[5961]=f[6076]}while(0);b=f[5957]|0;if(b>>>0>m>>>0){t=b-m|0;f[5957]=t;w=f[5960]|0;v=w+m|0;f[5960]=v;f[v+4>>2]=t|1;f[w+4>>2]=m|3;w=w+8|0;u=x;return w|0}}w=eq()|0;f[w>>2]=12;w=0;u=x;return w|0}function Ya(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;b=l;j=l+8|0;c=l+4|0;f[j>>2]=a;do if(a>>>0>=212){i=(a>>>0)/210|0;e=i*210|0;f[c>>2]=a-e;h=(ul(6844,7036,c,b)|0)-6844>>2;a=e;e=0;a:while(1){b=(f[6844+(h<<2)>>2]|0)+a|0;d=5;while(1){if(d>>>0>=47){g=211;c=e;k=8;break}a=f[6652+(d<<2)>>2]|0;c=(b>>>0)/(a>>>0)|0;if(c>>>0>>0){k=106;break a}if((b|0)==(X(c,a)|0)){b=e;break}else d=d+1|0}b:do if((k|0)==8){c:while(1){k=0;a=(b>>>0)/(g>>>0)|0;do if(a>>>0>=g>>>0)if((b|0)!=(X(a,g)|0)){d=g+10|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+12|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+16|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+18|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+22|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)!=(X(a,d)|0)){d=g+28|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>=d>>>0)if((b|0)==(X(a,d)|0)){e=9;a=d}else{d=g+30|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+36|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+40|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+42|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+46|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+52|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+58|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+60|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+66|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+70|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+72|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+78|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+82|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+88|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+96|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+100|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+102|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+106|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+108|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+112|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+120|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+126|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+130|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+136|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+138|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+142|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+148|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+150|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+156|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+162|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+166|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+168|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+172|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+178|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+180|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+186|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+190|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+192|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+196|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}d=g+198|0;a=(b>>>0)/(d>>>0)|0;if(a>>>0>>0){e=1;a=d;c=b;break}if((b|0)==(X(a,d)|0)){e=9;a=d;break}a=g+208|0;m=(b>>>0)/(a>>>0)|0;d=m>>>0>>0;m=(b|0)==(X(m,a)|0);e=d?1:m?9:0;a=d|m?a:g+210|0;c=d?b:c}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=d}else{e=1;a=d;c=b}}else{e=9;a=g}else{e=1;a=g;c=b}while(0);switch(e&15){case 9:{b=c;break b}case 0:{g=a;k=8;break}default:break c}}if(!e)b=c;else{k=107;break a}}while(0);e=h+1|0;m=(e|0)==48;a=(m&1)+i|0;h=m?0:e;i=a;a=a*210|0;e=b}if((k|0)==106){f[j>>2]=b;break}else if((k|0)==107){f[j>>2]=b;b=c;break}}else{b=ul(6652,6844,j,b)|0;b=f[b>>2]|0}while(0);u=l;return b|0}function Za(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=u;u=u+112|0;Y=ja+100|0;V=ja+96|0;ia=ja+48|0;fa=ja+32|0;_=ja+104|0;Z=ja+8|0;U=ja+4|0;W=ja;ga=a+8|0;f[ga>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else qi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{T=f[c+(k<<2)>>2]|0;S=(T|0)<(i|0);i=S?T:i;j=S?j:(T|0)>(j|0)?T:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;T=1-i+j|0;f[a+20>>2]=T;i=(T|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(T&1))f[j>>2]=i+-1}R=f[a+48>>2]|0;S=f[a+52>>2]|0;i=ia;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{qi(ia,g);i=f[ia+12>>2]|0;j=f[ia+16>>2]|0}k=ia+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else qi(ia+12|0,g-l|0);l=ia+24|0;k=ia+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else qi(l,g-m|0);l=ia+36|0;k=ia+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else qi(l,g-m|0);f[fa>>2]=0;T=fa+4|0;f[T>>2]=0;f[fa+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(fa);else{P=g<<2;O=an(P)|0;f[fa>>2]=O;Q=O+(g<<2)|0;f[fa+8>>2]=Q;cj(O|0,0,P|0)|0;f[T>>2]=Q;break}while(0);Q=a+56|0;k=f[Q>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;i=l-m|0;a:do if((i|0)>4){j=i>>2;H=R+64|0;B=R+28|0;F=(g|0)>0;G=Z+4|0;O=Z+8|0;P=Z+12|0;L=a+16|0;D=a+32|0;N=a+12|0;M=a+28|0;K=a+20|0;J=a+24|0;C=Z+12|0;E=Z+16|0;I=_+1|0;A=g<<2;i=j+-1|0;if(l-m>>2>>>0>i>>>0){r=m;v=j;da=i}else{z=k;Fp(z)}b:while(1){p=f[r+(da<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;j=0;c:while(1){do{if((i|0)<=-1){y=j;break c}k=f[ia+(j*12|0)>>2]|0;if(((f[(f[R>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(ea=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(ea|0)>=0):0)?(ca=f[B>>2]|0,z=f[S>>2]|0,aa=f[z+(f[ca+(ea<<2)>>2]<<2)>>2]|0,ba=ea+1|0,ba=f[z+(f[ca+((((ba|0)%3|0|0)==0?ea+-2|0:ba)<<2)>>2]<<2)>>2]|0,ca=f[z+(f[ca+((((ea>>>0)%3|0|0)==0?2:-1)+ea<<2)>>2]<<2)>>2]|0,(aa|0)<(da|0)&(ba|0)<(da|0)&(ca|0)<(da|0)):0){m=X(aa,g)|0;n=X(ba,g)|0;e=X(ca,g)|0;if(F){l=0;do{f[k+(l<<2)>>2]=(f[c+(l+e<<2)>>2]|0)+(f[c+(l+n<<2)>>2]|0)-(f[c+(l+m<<2)>>2]|0);l=l+1|0}while((l|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break c}}do if(o){k=i+1|0;i=((k|0)%3|0|0)==0?i+-2|0:k;k=f[R>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;l=i+1|0;if((i|0)>=0)i=((l|0)%3|0|0)==0?i+-2|0:l}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;k=f[R>>2]|0;if(!(f[k+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[H>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){y=j;break c}}while(!(o&(i|0)<0));i=(t&f[k+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[H>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}z=X(da,g)|0;f[Z>>2]=2147483647;b[G>>0]=0;f[O>>2]=0;f[O+4>>2]=0;f[O+8>>2]=0;f[O+12>>2]=0;k=X(v+-2|0,g)|0;if(F){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[Z>>2]=i;b[G>>0]=0;f[O>>2]=0;x=c+(k<<2)|0;Qf(P,x,x+(g<<2)|0);if((y|0)>=1){p=_+y|0;v=p+-1|0;r=(v|0)==(_|0);t=p+-2|0;q=I>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>_>>>0;w=0;x=1;while(1){w=w+1|0;cj(_|0,1,o|0)|0;cj(_|0,0,w|0)|0;d:while(1){if(F){cj(f[fa>>2]|0,0,A|0)|0;l=f[fa>>2]|0;i=0;m=0;do{if(!(b[_+m>>0]|0)){j=f[ia+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[Z>>2]|0)){f[Z>>2]=j;b[G>>0]=i;f[O>>2]=x;f[U>>2]=f[fa>>2];f[W>>2]=f[T>>2];f[V>>2]=f[U>>2];f[Y>>2]=f[W>>2];Df(P,V,Y)}if(r)break;$=b[v>>0]|0;m=$;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==(_|0)){ha=78;break d}else n=i}i=p+n|0;if((m&255)<($&255)){k=$;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue d}}if(((ha|0)==78?(ha=0,s):0)?(e=b[_>>0]|0,b[_>>0]=$,b[v>>0]=e,q):0){i=t;j=I;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[G>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){ha=105;break b}x=j<<6;w=i+32&-32;gi(n,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[ga>>2]|0;if((j|0)>0){i=f[P>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[L>>2]|0;if((j|0)>(k|0)){j=f[D>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[N>>2]|0;z=f[D>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[ga>>2]|0));l=j}else l=f[D>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[M>>2]|0)){if((j|0)>(f[J>>2]|0)){j=j-(f[K>>2]|0)|0;ha=95}}else{j=(f[K>>2]|0)+j|0;ha=95}if((ha|0)==95){ha=0;f[k>>2]=j}n=n+1|0;j=f[ga>>2]|0}while((n|0)<(j|0))}else i=f[C>>2]|0;if(i|0){j=f[E>>2]|0;if((j|0)!=(i|0))f[E>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}if((da|0)<=1)break a;i=f[Q>>2]|0;r=f[i>>2]|0;j=da+-1|0;if((f[i+4>>2]|0)-r>>2>>>0<=j>>>0){ha=20;break}else{v=da;da=j}}if((ha|0)==20)Fp(i);else if((ha|0)==100)Fp(n);else if((ha|0)==105)Fp(n)}while(0);k=f[ia>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[ga>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[ga>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ha=127}}else{i=(f[o>>2]|0)+i|0;ha=127}if((ha|0)==127){ha=0;f[j>>2]=i}m=m+1|0;i=f[ga>>2]|0}while((m|0)<(i|0))}i=f[fa>>2]|0;if(i|0){j=f[T>>2]|0;if((j|0)!=(i|0))f[T>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[ia+36>>2]|0;if(i|0){k=ia+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[ia+24>>2]|0;if(i|0){k=ia+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[ia+12>>2]|0;if(i|0){k=ia+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}k=f[ia>>2]|0;if(!k){u=ja;return 1}j=ia+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);pq(k);u=ja;return 1}function _a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;ea=u;u=u+112|0;W=ea+100|0;U=ea+96|0;da=ea+48|0;aa=ea+32|0;Z=ea+104|0;Y=ea+8|0;T=ea+4|0;V=ea;ba=a+8|0;f[ba>>2]=g;l=a+32|0;k=a+36|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(n=i+(g<<2)|0,(j|0)!=(n|0)):0)f[k>>2]=j+(~((j+-4-n|0)>>>2)<<2)}else qi(l,g-m|0);if(e|0){i=f[c>>2]|0;if((e|0)>1){k=1;j=i;do{S=f[c+(k<<2)>>2]|0;R=(S|0)<(i|0);i=R?S:i;j=R?j:(S|0)>(j|0)?S:j;k=k+1|0}while((k|0)!=(e|0))}else j=i;f[a+12>>2]=i;f[a+16>>2]=j;S=1-i+j|0;f[a+20>>2]=S;i=(S|0)/2|0;j=a+24|0;f[j>>2]=i;f[a+28>>2]=0-i;if(!(S&1))f[j>>2]=i+-1}Q=f[a+48>>2]|0;R=f[a+52>>2]|0;i=da;j=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(j|0));if(!g){i=0;j=0}else{qi(da,g);i=f[da+12>>2]|0;j=f[da+16>>2]|0}k=da+16|0;l=j-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(o=i+(g<<2)|0,(j|0)!=(o|0)):0)f[k>>2]=j+(~((j+-4-o|0)>>>2)<<2)}else qi(da+12|0,g-l|0);l=da+24|0;k=da+28|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(p=i+(g<<2)|0,(j|0)!=(p|0)):0)f[k>>2]=j+(~((j+-4-p|0)>>>2)<<2)}else qi(l,g-m|0);l=da+36|0;k=da+40|0;j=f[k>>2]|0;i=f[l>>2]|0;m=j-i>>2;if(m>>>0>=g>>>0){if(m>>>0>g>>>0?(q=i+(g<<2)|0,(j|0)!=(q|0)):0)f[k>>2]=j+(~((j+-4-q|0)>>>2)<<2)}else qi(l,g-m|0);f[aa>>2]=0;S=aa+4|0;f[S>>2]=0;f[aa+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(aa);else{O=g<<2;N=an(O)|0;f[aa>>2]=N;P=N+(g<<2)|0;f[aa+8>>2]=P;cj(N|0,0,O|0)|0;f[S>>2]=P;break}while(0);P=a+56|0;k=f[P>>2]|0;l=f[k+4>>2]|0;m=f[k>>2]|0;i=l-m|0;a:do if((i|0)>4){j=i>>2;B=Q+12|0;F=(g|0)>0;G=Y+4|0;N=Y+8|0;O=Y+12|0;K=a+16|0;D=a+32|0;M=a+12|0;L=a+28|0;J=a+20|0;I=a+24|0;C=Y+12|0;E=Y+16|0;H=Z+1|0;A=g<<2;i=j+-1|0;if(l-m>>2>>>0>i>>>0){r=m;x=j;$=i}else{z=k;Fp(z)}b:while(1){t=f[r+($<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;j=0;c:while(1){do{if((i|0)<=-1){y=j;break c}p=f[da+(j*12|0)>>2]|0;q=f[B>>2]|0;l=f[q+(i<<2)>>2]|0;if((l|0)>=0){m=f[Q>>2]|0;n=f[R>>2]|0;o=f[n+(f[m+(l<<2)>>2]<<2)>>2]|0;k=l+1|0;k=((k|0)%3|0|0)==0?l+-2|0:k;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;e=f[n+(k<<2)>>2]|0;k=(((l>>>0)%3|0|0)==0?2:-1)+l|0;if((k|0)<0)k=-1073741824;else k=f[m+(k<<2)>>2]|0;k=f[n+(k<<2)>>2]|0;if((o|0)<($|0)&(e|0)<($|0)&(k|0)<($|0)){n=X(o,g)|0;m=X(e,g)|0;l=X(k,g)|0;if(F){k=0;do{f[p+(k<<2)>>2]=(f[c+(k+l<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+n<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}j=j+1|0;if((j|0)==4){y=4;break c}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){y=j;break c}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}z=X($,g)|0;f[Y>>2]=2147483647;b[G>>0]=0;f[N>>2]=0;f[N+4>>2]=0;f[N+8>>2]=0;f[N+12>>2]=0;k=X(x+-2|0,g)|0;if(F){i=0;j=0;do{x=(f[c+(j+z<<2)>>2]|0)-(f[c+(j+k<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;j=j+1|0}while((j|0)!=(g|0))}else i=0;f[Y>>2]=i;b[G>>0]=0;f[N>>2]=0;x=c+(k<<2)|0;Qf(O,x,x+(g<<2)|0);if((y|0)>=1){p=Z+y|0;v=p+-1|0;r=(v|0)==(Z|0);t=p+-2|0;q=H>>>0>>0;o=~y;o=y+2+((o|0)>-2?o:-2)|0;s=v>>>0>Z>>>0;w=0;x=1;while(1){w=w+1|0;cj(Z|0,1,o|0)|0;cj(Z|0,0,w|0)|0;d:while(1){if(F){cj(f[aa>>2]|0,0,A|0)|0;l=f[aa>>2]|0;i=0;m=0;do{if(!(b[Z+m>>0]|0)){j=f[da+(m*12|0)>>2]|0;k=0;do{e=l+(k<<2)|0;f[e>>2]=(f[e>>2]|0)+(f[j+(k<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;j=0;l=0;do{n=k+(l<<2)|0;e=(f[n>>2]|0)/(x|0)|0;f[n>>2]=e;e=e-(f[c+(l+z<<2)>>2]|0)|0;j=((e|0)>-1?e:0-e|0)+j|0;l=l+1|0}while((l|0)!=(g|0))}else j=0;if((j|0)<(f[Y>>2]|0)){f[Y>>2]=j;b[G>>0]=i;f[N>>2]=x;f[T>>2]=f[aa>>2];f[V>>2]=f[S>>2];f[U>>2]=f[T>>2];f[W>>2]=f[V>>2];Df(O,U,W)}if(r)break;_=b[v>>0]|0;m=_;n=-1;while(1){i=n+-1|0;e=p+i|0;l=m;m=b[e>>0]|0;if((m&255)<(l&255))break;if((e|0)==(Z|0)){ca=79;break d}else n=i}i=p+n|0;if((m&255)<(_&255)){k=_;j=v}else{k=p;l=v;while(1){j=l+-1|0;if((m&255)<(h[k+-2>>0]|0)){k=1;break}else{k=l;l=j}}}b[e>>0]=k;b[j>>0]=m;if((n|0)<-1)j=v;else continue;while(1){e=b[i>>0]|0;b[i>>0]=b[j>>0]|0;b[j>>0]=e;i=i+1|0;j=j+-1|0;if(i>>>0>=j>>>0)continue d}}if(((ca|0)==79?(ca=0,s):0)?(e=b[Z>>0]|0,b[Z>>0]=_,b[v>>0]=e,q):0){i=t;j=H;do{e=b[j>>0]|0;b[j>>0]=b[i>>0]|0;b[i>>0]=e;j=j+1|0;i=i+-1|0}while(j>>>0>>0)}if((x|0)>=(y|0))break;else x=x+1|0}if((y|0)>0){l=y+-1|0;n=a+60+(l*12|0)|0;m=a+60+(l*12|0)+4|0;l=a+60+(l*12|0)+8|0;e=0;do{i=f[m>>2]|0;j=f[l>>2]|0;k=(i|0)==(j<<5|0);if(!(h[G>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(k){if((i+1|0)<0){ca=106;break b}x=j<<6;w=i+32&-32;gi(n,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[m>>2]|0}f[m>>2]=i+1;x=(f[n>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}e=e+1|0}while((e|0)<(y|0))}}o=c+(z<<2)|0;e=d+(z<<2)|0;j=f[ba>>2]|0;if((j|0)>0){i=f[O>>2]|0;n=0;l=i;do{if((j|0)>0){m=0;do{j=f[l+(m<<2)>>2]|0;k=f[K>>2]|0;if((j|0)>(k|0)){j=f[D>>2]|0;f[j+(m<<2)>>2]=k}else{y=f[M>>2]|0;z=f[D>>2]|0;f[z+(m<<2)>>2]=(j|0)<(y|0)?y:j;j=z}m=m+1|0}while((m|0)<(f[ba>>2]|0));l=j}else l=f[D>>2]|0;j=(f[o+(n<<2)>>2]|0)-(f[l+(n<<2)>>2]|0)|0;k=e+(n<<2)|0;f[k>>2]=j;if((j|0)>=(f[L>>2]|0)){if((j|0)>(f[I>>2]|0)){j=j-(f[J>>2]|0)|0;ca=96}}else{j=(f[J>>2]|0)+j|0;ca=96}if((ca|0)==96){ca=0;f[k>>2]=j}n=n+1|0;j=f[ba>>2]|0}while((n|0)<(j|0))}else i=f[C>>2]|0;if(i|0){j=f[E>>2]|0;if((j|0)!=(i|0))f[E>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}if(($|0)<=1)break a;i=f[P>>2]|0;r=f[i>>2]|0;j=$+-1|0;if((f[i+4>>2]|0)-r>>2>>>0<=j>>>0){ca=20;break}else{x=$;$=j}}if((ca|0)==20)Fp(i);else if((ca|0)==101)Fp(n);else if((ca|0)==106)Fp(n)}while(0);k=f[da>>2]|0;if((g|0)>0){i=0;do{f[k+(i<<2)>>2]=0;i=i+1|0}while((i|0)!=(g|0))}i=f[ba>>2]|0;if((i|0)>0){p=a+16|0;e=a+32|0;r=a+12|0;q=a+28|0;o=a+20|0;n=a+24|0;m=0;do{if((i|0)>0){l=0;do{i=f[k+(l<<2)>>2]|0;j=f[p>>2]|0;if((i|0)>(j|0)){i=f[e>>2]|0;f[i+(l<<2)>>2]=j}else{g=f[r>>2]|0;a=f[e>>2]|0;f[a+(l<<2)>>2]=(i|0)<(g|0)?g:i;i=a}l=l+1|0}while((l|0)<(f[ba>>2]|0));k=i}else k=f[e>>2]|0;i=(f[c+(m<<2)>>2]|0)-(f[k+(m<<2)>>2]|0)|0;j=d+(m<<2)|0;f[j>>2]=i;if((i|0)>=(f[q>>2]|0)){if((i|0)>(f[n>>2]|0)){i=i-(f[o>>2]|0)|0;ca=128}}else{i=(f[o>>2]|0)+i|0;ca=128}if((ca|0)==128){ca=0;f[j>>2]=i}m=m+1|0;i=f[ba>>2]|0}while((m|0)<(i|0))}i=f[aa>>2]|0;if(i|0){j=f[S>>2]|0;if((j|0)!=(i|0))f[S>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[da+36>>2]|0;if(i|0){k=da+40|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[da+24>>2]|0;if(i|0){k=da+28|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}i=f[da+12>>2]|0;if(i|0){k=da+16|0;j=f[k>>2]|0;if((j|0)!=(i|0))f[k>>2]=j+(~((j+-4-i|0)>>>2)<<2);pq(i)}k=f[da>>2]|0;if(!k){u=ea;return 1}j=da+4|0;i=f[j>>2]|0;if((i|0)!=(k|0))f[j>>2]=i+(~((i+-4-k|0)>>>2)<<2);pq(k);u=ea;return 1}function $a(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=u;u=u+112|0;S=da+100|0;Q=da+96|0;ca=da+48|0;V=da+32|0;U=da+104|0;T=da+8|0;P=da+4|0;R=da;N=f[a+28>>2]|0;O=f[a+32>>2]|0;i=ca;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{qi(ca,g);i=f[ca+12>>2]|0;e=f[ca+16>>2]|0}j=ca+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else qi(ca+12|0,g-k|0);k=ca+24|0;j=ca+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else qi(k,g-l|0);k=ca+36|0;j=ca+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else qi(k,g-l|0);f[V>>2]=0;M=V+4|0;f[M>>2]=0;f[V+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(V);else{K=g<<2;J=an(K)|0;f[V>>2]=J;L=J+(g<<2)|0;f[V+8>>2]=L;cj(J|0,0,K|0)|0;f[M>>2]=L;break}while(0);L=a+36|0;j=f[L>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;i=k-l|0;a:do if((i|0)>4){e=i>>2;G=N+64|0;B=N+28|0;E=(g|0)>0;F=T+4|0;I=T+8|0;J=T+12|0;K=a+8|0;C=T+12|0;D=T+16|0;H=U+1|0;A=g<<2;i=e+-1|0;if(k-l>>2>>>0>i>>>0){o=l;v=e;$=i}else{z=j;Fp(z)}b:while(1){p=f[o+($<<2)>>2]|0;s=p+((p|0)<0?0:((p>>>0)%3|0|0)==0?2:-1)|0;r=s>>>5;t=1<<(s&31);q=(s|0)<0;i=p;o=1;e=0;c:while(1){do{if((i|0)<=-1){z=e;break c}j=f[ca+(e*12|0)>>2]|0;if(((f[(f[N>>2]|0)+(i>>>5<<2)>>2]&1<<(i&31)|0)==0?(aa=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0,(aa|0)>=0):0)?(_=f[B>>2]|0,z=f[O>>2]|0,Y=f[z+(f[_+(aa<<2)>>2]<<2)>>2]|0,Z=aa+1|0,Z=f[z+(f[_+((((Z|0)%3|0|0)==0?aa+-2|0:Z)<<2)>>2]<<2)>>2]|0,_=f[z+(f[_+((((aa>>>0)%3|0|0)==0?2:-1)+aa<<2)>>2]<<2)>>2]|0,(Y|0)<($|0)&(Z|0)<($|0)&(_|0)<($|0)):0){l=X(Y,g)|0;m=X(Z,g)|0;n=X(_,g)|0;if(E){k=0;do{f[j+(k<<2)>>2]=(f[c+(k+n<<2)>>2]|0)+(f[c+(k+m<<2)>>2]|0)-(f[c+(k+l<<2)>>2]|0);k=k+1|0}while((k|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break c}}do if(o){j=i+1|0;i=((j|0)%3|0|0)==0?i+-2|0:j;j=f[N>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;k=i+1|0;if((i|0)>=0)i=((k|0)%3|0|0)==0?i+-2|0:k}}else i=-1073741824}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;j=f[N>>2]|0;if(!(f[j+(i>>>5<<2)>>2]&1<<(i&31))){if((i|0)>=0){i=f[(f[(f[G>>2]|0)+12>>2]|0)+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}else i=-1073741824}while(0);if((i|0)==(p|0)){z=e;break c}}while(!(o&(i|0)<0));i=(t&f[j+(r<<2)>>2]|0)!=0;if(i|q){i=i?-1073741824:s;o=0;continue}i=f[(f[(f[G>>2]|0)+12>>2]|0)+(s<<2)>>2]|0;if((i|0)<0){o=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;o=0;continue}else{i=i+-1|0;o=0;continue}}y=X($,g)|0;f[T>>2]=2147483647;b[F>>0]=0;f[I>>2]=0;f[I+4>>2]=0;f[I+8>>2]=0;f[I+12>>2]=0;j=X(v+-2|0,g)|0;if(E){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[T>>2]=i;b[F>>0]=0;f[I>>2]=0;x=c+(j<<2)|0;Qf(J,x,x+(g<<2)|0);if((z|0)>=1){p=U+z|0;v=p+-1|0;r=(v|0)==(U|0);t=p+-2|0;q=H>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>U>>>0;w=0;x=1;while(1){w=w+1|0;cj(U|0,1,o|0)|0;cj(U|0,0,w|0)|0;d:while(1){if(E){cj(f[V>>2]|0,0,A|0)|0;k=f[V>>2]|0;i=0;l=0;do{if(!(b[U+l>>0]|0)){e=f[ca+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[T>>2]|0)){f[T>>2]=e;b[F>>0]=i;f[I>>2]=x;f[P>>2]=f[V>>2];f[R>>2]=f[M>>2];f[Q>>2]=f[P>>2];f[S>>2]=f[R>>2];Df(J,Q,S)}if(r)break;W=b[v>>0]|0;l=W;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(U|0)){ba=69;break d}else m=i}i=p+m|0;if((l&255)<(W&255)){j=W;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue d}}if(((ba|0)==69?(ba=0,s):0)?(n=b[U>>0]|0,b[U>>0]=W,b[v>>0]=n,q):0){i=t;e=H;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[F>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){ba=82;break b}x=e<<6;w=i+32&-32;gi(m,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}ai(K,c+(y<<2)|0,f[J>>2]|0,d+(y<<2)|0);i=f[C>>2]|0;if(i|0){e=f[D>>2]|0;if((e|0)!=(i|0))f[D>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}if(($|0)<=1)break a;i=f[L>>2]|0;o=f[i>>2]|0;e=$+-1|0;if((f[i+4>>2]|0)-o>>2>>>0<=e>>>0){ba=11;break}else{v=$;$=e}}if((ba|0)==11)Fp(i);else if((ba|0)==77)Fp(m);else if((ba|0)==82)Fp(m)}while(0);if((g|0)>0)cj(f[ca>>2]|0,0,g<<2|0)|0;ai(a+8|0,c,f[ca>>2]|0,d);i=f[V>>2]|0;if(i|0){e=f[M>>2]|0;if((e|0)!=(i|0))f[M>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[ca+36>>2]|0;if(i|0){j=ca+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[ca+24>>2]|0;if(i|0){j=ca+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[ca+12>>2]|0;if(i|0){j=ca+16|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}j=f[ca>>2]|0;if(!j){u=da;return 1}e=ca+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);pq(j);u=da;return 1}function ab(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=Ka;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){l=f[c>>2]|0;i=f[f[a>>2]>>2]|0;c=a+40|0;l=$m(f[c>>2]|0,f[c+4>>2]|0,l|0,((l|0)<0)<<31>>31|0)|0;c=a+48|0;c=Mn(l|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=i+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(b[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(b[c>>0]|0)/$(127.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){i=f[c>>2]|0;l=f[f[a>>2]>>2]|0;c=a+40|0;i=$m(f[c>>2]|0,f[c+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c=a+48|0;c=Mn(i|0,I|0,f[c>>2]|0,f[c+4>>2]|0)|0;c=l+c|0;if(!(b[a+32>>0]|0)){a=0;while(1){m=$(h[c>>0]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}else{a=0;while(1){m=$($(h[c>>0]|0)/$(255.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+1|0}}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(d[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(d[c>>1]|0)/$(32767.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(j[c>>1]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}else{a=0;while(1){m=$($(j[c>>1]|0)/$(65535.0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$(f[c>>2]|0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($(f[c>>2]|0)*$(4.65661287e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){m=$((f[c>>2]|0)>>>0);n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}else{a=0;while(1){m=$($((f[c>>2]|0)>>>0)*$(2.32830644e-10));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+(f[i+4>>2]|0))*$(1.08420217e-19));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{i=f[c>>2]|0;c=a+48|0;k=f[c>>2]|0;c=f[c+4>>2]|0;l=a+40|0;c=(Mn($m(f[l>>2]|0,f[l+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,I|0,k|0,c|0)|0)+(f[f[a>>2]>>2]|0)|0;k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0)if(!(b[a+32>>0]|0)){a=0;while(1){i=c;m=$(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}else{a=0;while(1){i=c;m=$($(+((f[i>>2]|0)>>>0)+4294967296.0*+((f[i+4>>2]|0)>>>0))*$(5.42101086e-20));n[g+(a<<2)>>2]=m;a=a+1|0;i=b[k>>0]|0;if((a|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else c=c+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$(+p[a>>3]);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=$((b[a>>0]|0)!=0&1);n[g+(c<<2)>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function bb(a,c,d,e,g,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,Y=0,Z=0,_=0;_=u;u=u+112|0;R=_+100|0;P=_+96|0;Z=_+48|0;U=_+32|0;T=_+104|0;S=_+8|0;O=_+4|0;Q=_;M=f[a+28>>2]|0;N=f[a+32>>2]|0;i=Z;e=i+48|0;do{f[i>>2]=0;i=i+4|0}while((i|0)<(e|0));if(!g){i=0;e=0}else{qi(Z,g);i=f[Z+12>>2]|0;e=f[Z+16>>2]|0}j=Z+16|0;k=e-i>>2;if(k>>>0>=g>>>0){if(k>>>0>g>>>0?(l=i+(g<<2)|0,(e|0)!=(l|0)):0)f[j>>2]=e+(~((e+-4-l|0)>>>2)<<2)}else qi(Z+12|0,g-k|0);k=Z+24|0;j=Z+28|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(m=i+(g<<2)|0,(e|0)!=(m|0)):0)f[j>>2]=e+(~((e+-4-m|0)>>>2)<<2)}else qi(k,g-l|0);k=Z+36|0;j=Z+40|0;e=f[j>>2]|0;i=f[k>>2]|0;l=e-i>>2;if(l>>>0>=g>>>0){if(l>>>0>g>>>0?(n=i+(g<<2)|0,(e|0)!=(n|0)):0)f[j>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else qi(k,g-l|0);f[U>>2]=0;L=U+4|0;f[L>>2]=0;f[U+8>>2]=0;do if(g|0)if(g>>>0>1073741823)Fp(U);else{J=g<<2;I=an(J)|0;f[U>>2]=I;K=I+(g<<2)|0;f[U+8>>2]=K;cj(I|0,0,J|0)|0;f[L>>2]=K;break}while(0);K=a+36|0;j=f[K>>2]|0;k=f[j+4>>2]|0;l=f[j>>2]|0;i=k-l|0;a:do if((i|0)>4){e=i>>2;B=M+12|0;E=(g|0)>0;F=S+4|0;H=S+8|0;I=S+12|0;J=a+8|0;C=S+12|0;D=S+16|0;G=T+1|0;A=g<<2;i=e+-1|0;if(k-l>>2>>>0>i>>>0){o=l;x=e;W=i}else{z=j;Fp(z)}b:while(1){t=f[o+(W<<2)>>2]|0;w=(((t>>>0)%3|0|0)==0?2:-1)+t|0;v=(t|w|0)<0;s=(t|0)<0?t:w;i=t;r=1;e=0;c:while(1){do{if((i|0)<=-1){z=e;break c}p=f[Z+(e*12|0)>>2]|0;q=f[B>>2]|0;k=f[q+(i<<2)>>2]|0;if((k|0)>=0){l=f[M>>2]|0;m=f[N>>2]|0;o=f[m+(f[l+(k<<2)>>2]<<2)>>2]|0;j=k+1|0;j=((j|0)%3|0|0)==0?k+-2|0:j;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;n=f[m+(j<<2)>>2]|0;j=(((k>>>0)%3|0|0)==0?2:-1)+k|0;if((j|0)<0)j=-1073741824;else j=f[l+(j<<2)>>2]|0;j=f[m+(j<<2)>>2]|0;if((o|0)<(W|0)&(n|0)<(W|0)&(j|0)<(W|0)){m=X(o,g)|0;l=X(n,g)|0;k=X(j,g)|0;if(E){j=0;do{f[p+(j<<2)>>2]=(f[c+(j+k<<2)>>2]|0)+(f[c+(j+l<<2)>>2]|0)-(f[c+(j+m<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0))}e=e+1|0;if((e|0)==4){z=4;break c}}}do if(r){z=i+1|0;i=((z|0)%3|0|0)==0?i+-2|0:z;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;j=i+1|0;if((i|0)>=0)i=((j|0)%3|0|0)==0?i+-2|0:j}}else{i=(((i>>>0)%3|0|0)==0?2:-1)+i|0;if((i|0)>=0){i=f[q+(i<<2)>>2]|0;if((i|0)>=0)if(!((i>>>0)%3|0)){i=i+2|0;break}else{i=i+-1|0;break}}}while(0);if((i|0)==(t|0)){z=e;break c}}while(!(r&(i|0)<0));if(v){i=s;r=0;continue}i=f[q+(w<<2)>>2]|0;if((i|0)<0){r=0;continue}if(!((i>>>0)%3|0)){i=i+2|0;r=0;continue}else{i=i+-1|0;r=0;continue}}y=X(W,g)|0;f[S>>2]=2147483647;b[F>>0]=0;f[H>>2]=0;f[H+4>>2]=0;f[H+8>>2]=0;f[H+12>>2]=0;j=X(x+-2|0,g)|0;if(E){i=0;e=0;do{x=(f[c+(e+y<<2)>>2]|0)-(f[c+(e+j<<2)>>2]|0)|0;i=((x|0)>-1?x:0-x|0)+i|0;e=e+1|0}while((e|0)!=(g|0))}else i=0;f[S>>2]=i;b[F>>0]=0;f[H>>2]=0;x=c+(j<<2)|0;Qf(I,x,x+(g<<2)|0);if((z|0)>=1){p=T+z|0;v=p+-1|0;r=(v|0)==(T|0);t=p+-2|0;q=G>>>0>>0;o=~z;o=z+2+((o|0)>-2?o:-2)|0;s=v>>>0>T>>>0;w=0;x=1;while(1){w=w+1|0;cj(T|0,1,o|0)|0;cj(T|0,0,w|0)|0;d:while(1){if(E){cj(f[U>>2]|0,0,A|0)|0;k=f[U>>2]|0;i=0;l=0;do{if(!(b[T+l>>0]|0)){e=f[Z+(l*12|0)>>2]|0;j=0;do{n=k+(j<<2)|0;f[n>>2]=(f[n>>2]|0)+(f[e+(j<<2)>>2]|0);j=j+1|0}while((j|0)!=(g|0));i=(1<>0]|0))i=(1<>2]|0;e=0;k=0;do{m=j+(k<<2)|0;n=(f[m>>2]|0)/(x|0)|0;f[m>>2]=n;n=n-(f[c+(k+y<<2)>>2]|0)|0;e=((n|0)>-1?n:0-n|0)+e|0;k=k+1|0}while((k|0)!=(g|0))}else e=0;if((e|0)<(f[S>>2]|0)){f[S>>2]=e;b[F>>0]=i;f[H>>2]=x;f[O>>2]=f[U>>2];f[Q>>2]=f[L>>2];f[P>>2]=f[O>>2];f[R>>2]=f[Q>>2];Df(I,P,R)}if(r)break;V=b[v>>0]|0;l=V;m=-1;while(1){i=m+-1|0;n=p+i|0;k=l;l=b[n>>0]|0;if((l&255)<(k&255))break;if((n|0)==(T|0)){Y=70;break d}else m=i}i=p+m|0;if((l&255)<(V&255)){j=V;e=v}else{j=p;k=v;while(1){e=k+-1|0;if((l&255)<(h[j+-2>>0]|0)){j=1;break}else{j=k;k=e}}}b[n>>0]=j;b[e>>0]=l;if((m|0)<-1)e=v;else continue;while(1){n=b[i>>0]|0;b[i>>0]=b[e>>0]|0;b[e>>0]=n;i=i+1|0;e=e+-1|0;if(i>>>0>=e>>>0)continue d}}if(((Y|0)==70?(Y=0,s):0)?(n=b[T>>0]|0,b[T>>0]=V,b[v>>0]=n,q):0){i=t;e=G;do{n=b[e>>0]|0;b[e>>0]=b[i>>0]|0;b[i>>0]=n;e=e+1|0;i=i+-1|0}while(e>>>0>>0)}if((x|0)>=(z|0))break;else x=x+1|0}if((z|0)>0){k=z+-1|0;m=a+40+(k*12|0)|0;l=a+40+(k*12|0)+4|0;k=a+40+(k*12|0)+8|0;n=0;do{i=f[l>>2]|0;e=f[k>>2]|0;j=(i|0)==(e<<5|0);if(!(h[F>>0]&1<>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]|1<<(i&31)}else{if(j){if((i+1|0)<0){Y=83;break b}x=e<<6;w=i+32&-32;gi(m,i>>>0<1073741823?(x>>>0>>0?w:x):2147483647);i=f[l>>2]|0}f[l>>2]=i+1;x=(f[m>>2]|0)+(i>>>5<<2)|0;f[x>>2]=f[x>>2]&~(1<<(i&31))}n=n+1|0}while((n|0)<(z|0))}}ai(J,c+(y<<2)|0,f[I>>2]|0,d+(y<<2)|0);i=f[C>>2]|0;if(i|0){e=f[D>>2]|0;if((e|0)!=(i|0))f[D>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}if((W|0)<=1)break a;i=f[K>>2]|0;o=f[i>>2]|0;e=W+-1|0;if((f[i+4>>2]|0)-o>>2>>>0<=e>>>0){Y=11;break}else{x=W;W=e}}if((Y|0)==11)Fp(i);else if((Y|0)==78)Fp(m);else if((Y|0)==83)Fp(m)}while(0);if((g|0)>0)cj(f[Z>>2]|0,0,g<<2|0)|0;ai(a+8|0,c,f[Z>>2]|0,d);i=f[U>>2]|0;if(i|0){e=f[L>>2]|0;if((e|0)!=(i|0))f[L>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[Z+36>>2]|0;if(i|0){j=Z+40|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[Z+24>>2]|0;if(i|0){j=Z+28|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}i=f[Z+12>>2]|0;if(i|0){j=Z+16|0;e=f[j>>2]|0;if((e|0)!=(i|0))f[j>>2]=e+(~((e+-4-i|0)>>>2)<<2);pq(i)}j=f[Z>>2]|0;if(!j){u=_;return 1}e=Z+4|0;i=f[e>>2]|0;if((i|0)!=(j|0))f[e>>2]=i+(~((i+-4-j|0)>>>2)<<2);pq(j);u=_;return 1}function cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+48|0;L=Q+36|0;J=Q+32|0;P=Q;I=Q+28|0;K=Q+24|0;M=a+8|0;i=f[M>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{N=i<<2;e=an(N)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;cj(e|0,0,N|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);H=a+1164|0;m=f[H>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[M>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{N=i<<2;g=an(N)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;cj(g|0,0,N|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);D=a+1176|0;j=f[D>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[P>>2]=0;f[P+4>>2]=0;f[P+8>>2]=0;f[P+12>>2]=0;f[P+16>>2]=0;f[P+20>>2]=0;N=P+8|0;G=P+4|0;F=P+16|0;E=P+20|0;Gc(P);d=f[G>>2]|0;e=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[N>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[E>>2]|0)+1|0;f[E>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[F>>2]|0;e=d+-1|0;t=s+e|0;v=f[G>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;j=r+(t*20|0)|0;n=f[j>>2]|0;j=f[j+4>>2]|0;h=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[E>>2]=e;e=f[N>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[N>>2]=(f[N>>2]|0)+-4}f[b>>2]=n;f[c>>2]=j;k=f[H>>2]|0;l=k+(t*12|0)|0;m=(f[D>>2]|0)+(t*12|0)|0;f[I>>2]=n;f[K>>2]=j;g=j;i=n;f[J>>2]=f[I>>2];f[L>>2]=f[K>>2];e=Td(a,J,L,l,m,h)|0;j=j-n|0;s=(j|0)/12|0;d=(f[a>>2]|0)-(f[(f[m>>2]|0)+(e<<2)>>2]|0)|0;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[M>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[M>>2]|0}while(g>>>0>>0)}if(!j){O=77;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[m>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[M>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){O=77;break c}}}m=1<>2]|0;d=f[l>>2]|0;k=d;j=f[(f[H>>2]|0)+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+m|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[N>>2]|0;i=f[G>>2]|0;s=j-i>>2;d=f[F>>2]|0;h=f[E>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(P);d=f[F>>2]|0;h=f[E>>2]|0;j=f[N>>2]|0;i=f[G>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[E>>2]=(f[E>>2]|0)+1}if((g|0)!=(n|0)){i=f[N>>2]|0;h=f[G>>2]|0;t=i-h>>2;d=f[F>>2]|0;g=f[E>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(P);d=f[F>>2]|0;g=f[E>>2]|0;i=f[N>>2]|0;h=f[G>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[E>>2]|0)+1|0;f[E>>2]=d}else O=77}else O=77;while(0);if((O|0)==77){O=0;d=f[E>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[G>>2]|0;e=f[F>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[N>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[E>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[G>>2]|0)+4|0;f[G>>2]=d;g=f[N>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;O=91;break}case 2:{e=204;O=91;break}default:{}}if((O|0)==91)f[F>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[G>>2]|0;e=f[N>>2]|0;if((e|0)!=(d|0))f[N>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[P>>2]|0;if(!d){u=Q;return}pq(d);u=Q;return}function db(a){a=a|0;var c=0,d=0,e=0,g=Ka,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=Ka;U=u;u=u+64|0;T=U+28|0;R=U+16|0;P=U+4|0;M=U;S=a;N=a+80|0;c=f[N>>2]|0;f[T>>2]=0;f[T+4>>2]=0;f[T+8>>2]=0;f[T+12>>2]=0;f[T+16>>2]=S;I=T+20|0;n[I>>2]=$(1.0);f[T+24>>2]=S;th(T,c);c=f[N>>2]|0;f[R>>2]=0;S=R+4|0;f[S>>2]=0;f[R+8>>2]=0;do if(c|0)if(c>>>0>1073741823)Fp(R);else{H=c<<2;G=an(H)|0;f[R>>2]=G;Q=G+(c<<2)|0;f[R+8>>2]=Q;cj(G|0,0,H|0)|0;f[S>>2]=Q;break}while(0);f[P>>2]=0;Q=P+4|0;f[Q>>2]=0;f[P+8>>2]=0;f[M>>2]=0;a:do if((c|0)>0){G=T+16|0;E=T+4|0;F=T+12|0;D=T+8|0;C=P+8|0;H=T+24|0;c=0;A=0;b:while(1){x=f[G>>2]|0;k=f[x+8>>2]|0;x=(f[x+12>>2]|0)-k|0;w=(x|0)>0;if(w){i=k;l=x>>>2;d=0;j=0;do{e=f[i+(j<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;j=j+1|0}while((j|0)<(l|0));v=d}else v=0;y=f[E>>2]|0;z=(y|0)==0;c:do if(!z){q=y+-1|0;e=(q&y|0)==0;if(!e)if(v>>>0>>0)t=v;else t=(v>>>0)%(y>>>0)|0;else t=q&v;d=f[(f[T>>2]|0)+(t<<2)>>2]|0;if((d|0)!=0?(L=f[d>>2]|0,(L|0)!=0):0){r=f[H>>2]|0;s=r+8|0;r=r+12|0;d:do if(e){d=L;while(1){p=f[d+4>>2]|0;e=(p|0)==(v|0);if(!(e|(p&q|0)==(t|0))){B=50;break c}e:do if(e){p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){B=44;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break e;if((m|0)>=(o|0)){B=48;break d}}}while(0);d=f[d>>2]|0;if(!d){B=50;break c}}}else{d=L;while(1){e=f[d+4>>2]|0;f:do if((e|0)!=(v|0)){if(e>>>0>=y>>>0)e=(e>>>0)%(y>>>0)|0;if((e|0)!=(t|0)){B=50;break c}}else{p=f[d+8>>2]|0;e=f[s>>2]|0;i=(f[r>>2]|0)-e|0;if((i|0)<=0)break d;o=i>>>2;m=0;while(1){i=f[e+(m<<2)>>2]|0;j=(b[i+84>>0]|0)==0;if(j)l=f[(f[i+68>>2]|0)+(p<<2)>>2]|0;else l=p;if((o|0)<=(m|0)){B=44;break b}if(j)i=f[(f[i+68>>2]|0)+(c<<2)>>2]|0;else i=c;m=m+1|0;if((l|0)!=(i|0))break f;if((m|0)>=(o|0)){B=48;break d}}}while(0);d=f[d>>2]|0;if(!d){B=50;break c}}}while(0);if((B|0)==48){B=0;if(!d){B=50;break}}f[(f[R>>2]|0)+(c<<2)>>2]=f[d+12>>2];e=A}else B=50}else B=50;while(0);do if((B|0)==50){B=0;if(w){j=x>>>2;d=0;i=0;do{e=f[k+(i<<2)>>2]|0;if(!(b[e+84>>0]|0))e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;d=e<<2^d<<1;i=i+1|0}while((i|0)<(j|0));t=d}else t=0;g:do if(!z){p=y+-1|0;e=(p&y|0)==0;if(!e)if(t>>>0>>0)s=t;else s=(t>>>0)%(y>>>0)|0;else s=p&t;d=f[(f[T>>2]|0)+(s<<2)>>2]|0;if((d|0)!=0?(K=f[d>>2]|0,(K|0)!=0):0){q=f[H>>2]|0;r=q+8|0;q=q+12|0;if(e){m=K;while(1){x=f[m+4>>2]|0;if(!((x|0)==(t|0)|(x&p|0)==(s|0))){d=s;B=89;break g}o=f[m+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break g;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(o<<2)>>2]|0;else j=o;if((l|0)<=(k|0)){B=85;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break g}m=f[m>>2]|0;if(!m){d=s;B=89;break g}}}else o=K;while(1){d=f[o+4>>2]|0;if((d|0)!=(t|0)){if(d>>>0>=y>>>0)d=(d>>>0)%(y>>>0)|0;if((d|0)!=(s|0)){d=s;B=89;break g}}m=f[o+8>>2]|0;d=f[r>>2]|0;e=(f[q>>2]|0)-d|0;if((e|0)<=0)break g;l=e>>>2;k=0;while(1){e=f[d+(k<<2)>>2]|0;i=(b[e+84>>0]|0)==0;if(i)j=f[(f[e+68>>2]|0)+(m<<2)>>2]|0;else j=m;if((l|0)<=(k|0)){B=85;break b}if(i)e=f[(f[e+68>>2]|0)+(c<<2)>>2]|0;else e=c;k=k+1|0;if((j|0)!=(e|0))break;if((k|0)>=(l|0))break g}o=f[o>>2]|0;if(!o){d=s;B=89;break}}}else{d=s;B=89}}else{d=0;B=89}while(0);if((B|0)==89){B=0;i=an(16)|0;f[i+8>>2]=c;f[i+12>>2]=A;f[i+4>>2]=t;f[i>>2]=0;h=$(((f[F>>2]|0)+1|0)>>>0);V=$(y>>>0);g=$(n[I>>2]);do if(z|h>$(V*g)){c=(y>>>0<3|(y+-1&y|0)!=0)&1|y<<1;d=~~$(W($(h/g)))>>>0;th(T,c>>>0>>0?d:c);c=f[E>>2]|0;d=c+-1|0;if(!(d&c)){e=c;c=d&t;break}if(t>>>0>>0){e=c;c=t}else{e=c;c=(t>>>0)%(c>>>0)|0}}else{e=y;c=d}while(0);d=(f[T>>2]|0)+(c<<2)|0;c=f[d>>2]|0;if(!c){f[i>>2]=f[D>>2];f[D>>2]=i;f[d>>2]=D;c=f[i>>2]|0;if(c|0){c=f[c+4>>2]|0;d=e+-1|0;if(d&e){if(c>>>0>=e>>>0)c=(c>>>0)%(e>>>0)|0}else c=c&d;c=(f[T>>2]|0)+(c<<2)|0;B=102}}else{f[i>>2]=f[c>>2];B=102}if((B|0)==102){B=0;f[c>>2]=i}f[F>>2]=(f[F>>2]|0)+1;c=f[M>>2]|0}e=A+1|0;f[(f[R>>2]|0)+(c<<2)>>2]=A;c=f[Q>>2]|0;if((c|0)==(f[C>>2]|0)){Gi(P,M);break}else{f[c>>2]=f[M>>2];f[Q>>2]=c+4;break}}while(0);c=(f[M>>2]|0)+1|0;f[M>>2]=c;d=f[N>>2]|0;if((c|0)>=(d|0)){J=d;O=e;break a}else A=e}if((B|0)==44)ra(20748,20641,68,20738);else if((B|0)==85)ra(20748,20641,68,20738)}else{J=0;O=0}while(0);if((O|0)!=(J|0)){Ta[f[(f[a>>2]|0)+24>>2]&15](a,R,P);f[N>>2]=O}c=f[P>>2]|0;if(c|0){d=f[Q>>2]|0;if((d|0)!=(c|0))f[Q>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}c=f[R>>2]|0;if(c|0){d=f[S>>2]|0;if((d|0)!=(c|0))f[S>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}c=f[T+8>>2]|0;if(c|0)do{S=c;c=f[c>>2]|0;pq(S)}while((c|0)!=0);c=f[T>>2]|0;f[T>>2]=0;if(!c){u=U;return}pq(c);u=U;return}function eb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=u;u=u+64|0;T=W+56|0;U=W+52|0;N=W+48|0;i=W+60|0;V=W;F=W+44|0;G=W+40|0;C=W+36|0;D=W+32|0;E=W+28|0;M=W+24|0;O=W+20|0;P=W+16|0;R=W+12|0;if(!(b[a+288>>0]|0)){tf(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){oj(d);pq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){oj(d);pq(d)}}else f[T>>2]=0}else{Qh(T,f[a+8>>2]|0);S=a+12|0;K=f[T>>2]|0;f[T>>2]=0;d=f[S>>2]|0;f[S>>2]=K;if(d){oj(d);pq(d);d=f[T>>2]|0;f[T>>2]=0;if(d|0){oj(d);pq(d)}}else f[T>>2]=0}A=a+12|0;d=f[A>>2]|0;if(!d){V=0;u=W;return V|0}K=a+200|0;f[a+264>>2]=a;S=a+4|0;Rh(((f[d+28>>2]|0)-(f[d+24>>2]|0)>>2)-(f[d+44>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=f[A>>2]|0;Rh((((f[I+4>>2]|0)-(f[I>>2]|0)>>2>>>0)/3|0)-(f[I+40>>2]|0)|0,f[(f[S>>2]|0)+44>>2]|0)|0;I=a+28|0;H=a+8|0;h=f[H>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[T>>0]=0;Zg(I,h,T);h=f[A>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[T>>2]=-1;bg(a+52|0,h,T);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);z=f[A>>2]|0;z=(f[z+4>>2]|0)-(f[z>>2]|0)>>2;Jj(h,z-((z>>>0)%3|0)|0);z=a+84|0;y=f[A>>2]|0;y=(f[y+28>>2]|0)-(f[y+24>>2]|0)>>2;b[T>>0]=0;Zg(z,y,T);y=a+96|0;d=f[y>>2]|0;x=a+100|0;e=f[x>>2]|0;if((e|0)!=(d|0))f[x>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;B=a+168|0;f[B>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{w=d;d=f[d>>2]|0;pq(w)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[A>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[T>>2]=-1;bg(a+152|0,v,T);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);w=f[A>>2]|0;Jj(v,((f[w+4>>2]|0)-(f[w>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Wd(a)|0)){V=0;u=W;return V|0}if(!(Uf(a)|0)){V=0;u=W;return V|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[S>>2]|0)+44>>2]|0;w=e+16|0;t=f[w+4>>2]|0;if(!((t|0)>0|(t|0)==0&(f[w>>2]|0)>>>0>0)){f[U>>2]=f[e+4>>2];f[T>>2]=f[U>>2];Ke(e,T,i,i+1|0)|0;d=b[i>>0]|0}t=a+284|0;f[t>>2]=d&255;o=f[A>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Ki(K);f[V>>2]=0;w=V+4|0;f[w>>2]=0;f[V+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=V+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[I>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[A>>2]|0,f[F>>2]=d,f[T>>2]=f[F>>2],!(Dj(l,T)|0)):0){f[U>>2]=0;f[G>>2]=d;f[T>>2]=f[G>>2];i=Je(a,T,U)|0;$i(K,i);d=f[U>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[A>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[z>>2]|0;X=i+(e>>>5<<2)|0;f[X>>2]=f[X>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[T>>2]=1;e=f[x>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[x>>2]=e+4}else Gi(y,T);h=(f[I>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[T>>2]=g;e=f[w>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[w>>2]=e+4}else Gi(V,T);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[A>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;X=(e|0)<0;d=X?-1073741824:(e>>>0)/3|0;if(X)break;if(f[(f[I>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[C>>2]=e;f[T>>2]=f[C>>2];if(!(Zb(a,T)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[D>>2]=d;f[T>>2]=f[D>>2];Ge(a,T,1)|0;f[E>>2]=f[U>>2];f[T>>2]=f[E>>2];if(!(Zb(a,T)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){J=61;break a}}e=0}else J=61;while(0);if((J|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{X=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=X;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[V>>2];f[P>>2]=f[w>>2];f[N>>2]=f[M>>2];f[U>>2]=f[O>>2];f[T>>2]=f[P>>2];Ud(v,N,U,T)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[H>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[T>>0]=0,Zg(I,c,T),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[T>>2]=f[R>>2];kg(a,T)|0;c=c+4|0}while((c|0)!=(Q|0));$g(K);e=a+232|0;ed(K,e);d=a+280|0;c=f[d>>2]|0;if((c|0?(f[t>>2]|0)>0:0)?(ed(c,e),(f[t>>2]|0)>1):0){c=1;do{ed((f[d>>2]|0)+(c<<5)|0,e);c=c+1|0}while((c|0)<(f[t>>2]|0))}Rh((f[a+272>>2]|0)-(f[a+268>>2]|0)>>2,f[(f[S>>2]|0)+44>>2]|0)|0;Rh(f[B>>2]|0,f[(f[S>>2]|0)+44>>2]|0)|0;if(Ig(a)|0){d=f[(f[S>>2]|0)+44>>2]|0;c=f[e>>2]|0;X=d+16|0;S=f[X+4>>2]|0;if(!((S|0)>0|(S|0)==0&(f[X>>2]|0)>>>0>0)){X=(f[a+236>>2]|0)-c|0;f[U>>2]=f[d+4>>2];f[T>>2]=f[U>>2];Ke(d,T,c,c+X|0)|0}e=1}else e=0}c=f[V>>2]|0;if(c|0){d=f[w>>2]|0;if((d|0)!=(c|0))f[w>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}X=e;u=W;return X|0}function fb(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0;z=u;u=u+1328|0;x=z+1304|0;w=z+1296|0;y=z;g=z+1284|0;l=z+1280|0;t=z+1316|0;p=z+1288|0;q=z+72|0;n=z+1268|0;i=z+64|0;j=z+56|0;k=z+80|0;d=f[a+4>>2]|0;if(((f[a+8>>2]|0)-d|0)!=4){y=0;u=z;return y|0}m=f[d>>2]|0;s=a+28|0;e=f[s>>2]|0;d=f[e+4>>2]|0;if((m|0)<=-1)ra(20625,20641,59,20738);a=f[d+8>>2]|0;if(((f[d+12>>2]|0)-a>>2|0)<=(m|0))ra(20748,20641,60,20738);r=f[a+(m<<2)>>2]|0;if((b[r+24>>0]|0)!=3){y=0;u=z;return y|0}e=10-(fi(f[e+48>>2]|0)|0)|0;e=(e|0)<6?e:6;b[t>>0]=e;if((e&255)>>>0>=7)ra(7578,7605,92,7729);a:do switch(f[r+28>>2]|0){case 9:{i=f[(f[s>>2]|0)+48>>2]|0;d=an(32)|0;f[x>>2]=d;f[x+8>>2]=-2147483616;f[x+4>>2]=17;a=d;e=17860;g=a+17|0;do{b[a>>0]=b[e>>0]|0;a=a+1|0;e=e+1|0}while((a|0)<(g|0));b[d+17>>0]=0;g=i+16|0;a=f[g>>2]|0;if(a){d=g;b:while(1){e=a;while(1){if((f[e+16>>2]|0)>=(m|0))break;a=f[e+4>>2]|0;if(!a)break b;else e=a}a=f[e>>2]|0;if(!a){d=e;break}else d=e}if(((d|0)!=(g|0)?(m|0)>=(f[d+16>>2]|0):0)?(o=d+20|0,(Oh(o,x)|0)!=0):0)e=Bk(o,x,-1)|0;else v=19}else v=19;if((v|0)==19)e=Bk(i,x,-1)|0;if((b[x+11>>0]|0)<0)pq(f[x>>2]|0);if((e|0)>=1){b[y>>0]=0;g=c+16|0;d=g;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,t,t+1|0)|0;a=g;d=f[a+4>>2]|0;a=f[a>>2]|0}f[y>>2]=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2];if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+4|0)|0}Dl(y,1,e,h[t>>0]|0);f[p>>2]=r;f[p+4>>2]=0;t=f[(f[(f[s>>2]|0)+4>>2]|0)+80>>2]|0;s=q;f[s>>2]=r;f[s+4>>2]=0;f[q+4>>2]=t;f[w>>2]=f[p>>2];f[w+4>>2]=f[p+4>>2];f[x>>2]=f[q>>2];f[x+4>>2]=f[q+4>>2];if(xd(y,w,x)|0){d=f[y+16>>2]|0;t=g;s=f[t+4>>2]|0;if(!((s|0)>0|(s|0)==0&(f[t>>2]|0)>>>0>0)){t=(f[y+20>>2]|0)-d|0;f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,d,d+t|0)|0}e=0}else e=1;c=y+28|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)pq(d);a=f[y+16>>2]|0;if(a|0){d=y+20|0;if((f[d>>2]|0)!=(a|0))f[d>>2]=a;pq(a)}if(!e)v=64;else d=0}else d=0;break}case 6:{b[y>>0]=1;e=c+16|0;d=e;a=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+1|0)|0;a=e;d=f[a+4>>2]|0;a=f[a>>2]|0}if((d|0)>0|(d|0)==0&a>>>0>0)e=d;else{f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,t,t+1|0)|0;a=e;e=f[a+4>>2]|0;a=f[a>>2]|0}d=f[s>>2]|0;f[y>>2]=f[(f[d+4>>2]|0)+80>>2];if(!((e|0)>0|(e|0)==0&a>>>0>0)){f[w>>2]=f[c+4>>2];f[x>>2]=f[w>>2];Ke(c,x,y,y+4|0)|0;d=f[s>>2]|0}f[i>>2]=r;f[i+4>>2]=0;v=f[(f[d+4>>2]|0)+80>>2]|0;s=j;f[s>>2]=r;f[s+4>>2]=0;f[j+4>>2]=v;f[w>>2]=f[i>>2];f[w+4>>2]=f[i+4>>2];f[x>>2]=f[j>>2];f[x+4>>2]=f[j+4>>2];Og(n,w,x);switch(b[t>>0]|0){case 6:{Me(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=We(k,w,x,l,c)|0;Ve(k);if(y)v=54;else v=59;break}case 5:{Me(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(k,w,x,l,c)|0;Ve(k);if(y)v=54;else v=59;break}case 4:{Me(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=Xe(k,w,x,l,c)|0;Ve(k);if(y)v=54;else v=59;break}case 3:{Ne(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=rf(k,w,x,l,c)|0;kf(k);if(y)v=54;else v=59;break}case 2:{Ne(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=rf(k,w,x,l,c)|0;kf(k);if(y)v=54;else v=59;break}case 1:{Oe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(k,w,x,l,c)|0;jf(k);if(y)v=54;else v=59;break}case 0:{Oe(k,3);v=f[n+4>>2]|0;f[y>>2]=f[n>>2];f[g>>2]=v;f[l>>2]=32;f[w>>2]=f[y>>2];f[x>>2]=f[g>>2];y=qf(k,w,x,l,c)|0;jf(k);if(y)v=54;else v=59;break}default:v=59}if((v|0)==54){e=f[n>>2]|0;if(e|0){a=n+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);pq(e)}v=64;break a}else if((v|0)==59){e=f[n>>2]|0;if(e|0){a=n+4|0;d=f[a>>2]|0;if((d|0)!=(e|0))f[a>>2]=d+(~(((d+-12-e|0)>>>0)/12|0)*12|0);pq(e)}d=0;break a}break}default:d=0}while(0);if((v|0)==64)d=1;y=d;u=z;return y|0}function gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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;M=u;u=u+32|0;L=M;I=a+8|0;i=f[I>>2]|0;f[L>>2]=0;k=L+4|0;f[k>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{J=i<<2;e=an(J)|0;f[L>>2]=e;h=e+(i<<2)|0;f[L+8>>2]=h;cj(e|0,0,J|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);H=a+1164|0;m=f[H>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[L>>2]|0;h=f[k>>2]|0;i=f[I>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[L+8>>2];f[L>>2]=0;h=L+4|0;f[h>>2]=0;f[L+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(L);else{J=i<<2;g=an(J)|0;f[L>>2]=g;d=g+(i<<2)|0;f[L+8>>2]=d;cj(g|0,0,J|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);D=a+1176|0;j=f[D>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[L>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[L+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[L>>2]=0;f[L+4>>2]=0;f[L+8>>2]=0;f[L+12>>2]=0;f[L+16>>2]=0;f[L+20>>2]=0;J=L+8|0;G=L+4|0;F=L+16|0;E=L+20|0;Gc(L);d=f[G>>2]|0;e=(f[E>>2]|0)+(f[F>>2]|0)|0;if((f[J>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[E>>2]|0)+1|0;f[E>>2]=d;a:do if(d|0){x=a+1152|0;C=a+1068|0;w=a+1124|0;B=a+1120|0;y=a+1112|0;z=a+1116|0;A=a+1108|0;b:while(1){s=f[F>>2]|0;e=d+-1|0;t=s+e|0;v=f[G>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[E>>2]=e;e=f[J>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[J>>2]=(f[J>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[H>>2]|0;j=m+(t*12|0)|0;e=((f[I>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[D>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[I>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[I>>2]|0}while(g>>>0>>0)}if(!k){K=77;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(C,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[I>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){K=77;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;j=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h){i=d-o|0;if(j|0){d=0;h=1<>>1}}}else{i=d-r|0;if(j|0){d=0;h=1<>>1}}}d=f[D>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[J>>2]|0;i=f[G>>2]|0;s=j-i>>2;d=f[F>>2]|0;h=f[E>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(L);d=f[F>>2]|0;h=f[E>>2]|0;j=f[J>>2]|0;i=f[G>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[E>>2]=(f[E>>2]|0)+1}if((g|0)!=(n|0)){i=f[J>>2]|0;h=f[G>>2]|0;t=i-h>>2;d=f[F>>2]|0;g=f[E>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(L);d=f[F>>2]|0;g=f[E>>2]|0;i=f[J>>2]|0;h=f[G>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[E>>2]|0)+1|0;f[E>>2]=d}else K=77}else K=77;while(0);if((K|0)==77){K=0;d=f[E>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[G>>2]|0;e=f[F>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[J>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[E>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[G>>2]|0)+4|0;f[G>>2]=d;g=f[J>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;K=91;break}case 2:{e=204;K=91;break}default:{}}if((K|0)==91)f[F>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[G>>2]|0;e=f[J>>2]|0;if((e|0)!=(d|0))f[J>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[L>>2]|0;if(!d){u=M;return}pq(d);u=M;return}function hb(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=u;u=u+64|0;S=V+56|0;T=V+52|0;N=V+48|0;i=V+60|0;U=V;E=V+44|0;F=V+40|0;B=V+36|0;C=V+32|0;D=V+28|0;M=V+24|0;O=V+20|0;P=V+16|0;R=V+12|0;if(!(b[a+352>>0]|0)){tf(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){oj(d);pq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){oj(d);pq(d)}}else f[S>>2]=0}else{Qh(S,f[a+8>>2]|0);K=a+12|0;J=f[S>>2]|0;f[S>>2]=0;d=f[K>>2]|0;f[K>>2]=J;if(d){oj(d);pq(d);d=f[S>>2]|0;f[S>>2]=0;if(d|0){oj(d);pq(d)}}else f[S>>2]=0}z=a+12|0;if(!(f[z>>2]|0)){U=0;u=V;return U|0}K=a+200|0;we(K,a)|0;H=f[z>>2]|0;J=a+4|0;Rh(((f[H+28>>2]|0)-(f[H+24>>2]|0)>>2)-(f[H+44>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=f[z>>2]|0;Rh((((f[H+4>>2]|0)-(f[H>>2]|0)>>2>>>0)/3|0)-(f[H+40>>2]|0)|0,f[(f[J>>2]|0)+44>>2]|0)|0;H=a+28|0;G=a+8|0;h=f[G>>2]|0;h=((f[h+100>>2]|0)-(f[h+96>>2]|0)|0)/12|0;b[S>>0]=0;Zg(H,h,S);h=f[z>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[S>>2]=-1;bg(a+52|0,h,S);h=a+40|0;d=f[h>>2]|0;g=a+44|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);y=f[z>>2]|0;y=(f[y+4>>2]|0)-(f[y>>2]|0)>>2;Jj(h,y-((y>>>0)%3|0)|0);y=a+84|0;x=f[z>>2]|0;x=(f[x+28>>2]|0)-(f[x+24>>2]|0)>>2;b[S>>0]=0;Zg(y,x,S);x=a+96|0;d=f[x>>2]|0;w=a+100|0;e=f[w>>2]|0;if((e|0)!=(d|0))f[w>>2]=e+(~((e+-4-d|0)>>>2)<<2);f[a+164>>2]=-1;A=a+168|0;f[A>>2]=0;d=f[a+108>>2]|0;g=a+112|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~(((e+-12-d|0)>>>0)/12|0)*12|0);h=a+132|0;if(f[h>>2]|0){e=a+128|0;d=f[e>>2]|0;if(d|0)do{v=d;d=f[d>>2]|0;pq(v)}while((d|0)!=0);f[e>>2]=0;d=f[a+124>>2]|0;if(d|0){e=a+120|0;g=0;do{f[(f[e>>2]|0)+(g<<2)>>2]=0;g=g+1|0}while((g|0)!=(d|0))}f[h>>2]=0}f[a+144>>2]=0;v=f[z>>2]|0;v=(f[v+28>>2]|0)-(f[v+24>>2]|0)>>2;f[S>>2]=-1;bg(a+152|0,v,S);v=a+72|0;d=f[v>>2]|0;s=a+76|0;e=f[s>>2]|0;if((e|0)!=(d|0))f[s>>2]=e+(~((e+-4-d|0)>>>2)<<2);t=f[z>>2]|0;Jj(v,((f[t+4>>2]|0)-(f[t>>2]|0)>>2>>>0)/3|0);f[a+64>>2]=0;if(!(Wd(a)|0)){U=0;u=V;return U|0}if(!(Rf(a)|0)){U=0;u=V;return U|0}r=a+172|0;q=a+176|0;d=(((f[q>>2]|0)-(f[r>>2]|0)|0)/108|0)&255;b[i>>0]=d;e=f[(f[J>>2]|0)+44>>2]|0;t=e+16|0;p=f[t+4>>2]|0;if(!((p|0)>0|(p|0)==0&(f[t>>2]|0)>>>0>0)){f[T>>2]=f[e+4>>2];f[S>>2]=f[T>>2];Ke(e,S,i,i+1|0)|0;d=b[i>>0]|0}f[a+284>>2]=d&255;o=f[z>>2]|0;o=(f[o+4>>2]|0)-(f[o>>2]|0)|0;p=o>>2;Ki(K);f[U>>2]=0;t=U+4|0;f[t>>2]=0;f[U+8>>2]=0;a:do if((o|0)>0){n=a+104|0;m=U+8|0;o=0;b:while(1){d=(o>>>0)/3|0;j=d>>>5;k=1<<(d&31);if((f[(f[H>>2]|0)+(j<<2)>>2]&k|0)==0?(l=f[z>>2]|0,f[E>>2]=d,f[S>>2]=f[E>>2],!(Dj(l,S)|0)):0){f[T>>2]=0;f[F>>2]=d;f[S>>2]=f[F>>2];i=Je(a,S,T)|0;$i(K,i);d=f[T>>2]|0;l=(d|0)<0;do if(i){do if(l){h=-1073741824;g=-1073741824;e=-1073741824}else{i=f[f[z>>2]>>2]|0;e=f[i+(d<<2)>>2]|0;g=d+1|0;g=((g|0)%3|0|0)==0?d+-2|0:g;if((g|0)<0)g=-1073741824;else g=f[i+(g<<2)>>2]|0;h=(((d>>>0)%3|0|0)==0?2:-1)+d|0;if((h|0)<0){h=-1073741824;break}h=f[i+(h<<2)>>2]|0}while(0);i=f[y>>2]|0;W=i+(e>>>5<<2)|0;f[W>>2]=f[W>>2]|1<<(e&31);e=i+(g>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(g&31);e=i+(h>>>5<<2)|0;f[e>>2]=f[e>>2]|1<<(h&31);f[S>>2]=1;e=f[w>>2]|0;if(e>>>0<(f[n>>2]|0)>>>0){f[e>>2]=1;f[w>>2]=e+4}else Gi(x,S);h=(f[H>>2]|0)+(j<<2)|0;f[h>>2]=f[h>>2]|k;h=d+1|0;if(l)g=d;else g=((h|0)%3|0|0)==0?d+-2|0:h;f[S>>2]=g;e=f[t>>2]|0;if(e>>>0<(f[m>>2]|0)>>>0){f[e>>2]=g;f[t>>2]=e+4}else Gi(U,S);if(l)break;d=((h|0)%3|0|0)==0?d+-2|0:h;if((d|0)<0)break;e=f[(f[(f[z>>2]|0)+12>>2]|0)+(d<<2)>>2]|0;W=(e|0)<0;d=W?-1073741824:(e>>>0)/3|0;if(W)break;if(f[(f[H>>2]|0)+(d>>>5<<2)>>2]&1<<(d&31)|0)break;f[B>>2]=e;f[S>>2]=f[B>>2];if(!(Nb(a,S)|0))break b}else{e=d+1|0;if(!l)d=((e|0)%3|0|0)==0?d+-2|0:e;f[C>>2]=d;f[S>>2]=f[C>>2];Ge(a,S,1)|0;f[D>>2]=f[T>>2];f[S>>2]=f[D>>2];if(!(Nb(a,S)|0))break b}while(0)}o=o+1|0;if((o|0)>=(p|0)){I=61;break a}}e=0}else I=61;while(0);if((I|0)==61){d=f[v>>2]|0;e=f[s>>2]|0;g=e;if((d|0)!=(e|0)?(L=e+-4|0,d>>>0>>0):0){e=d;d=L;do{W=f[e>>2]|0;f[e>>2]=f[d>>2];f[d>>2]=W;e=e+4|0;d=d+-4|0}while(e>>>0>>0)}f[M>>2]=g;f[O>>2]=f[U>>2];f[P>>2]=f[t>>2];f[N>>2]=f[M>>2];f[T>>2]=f[O>>2];f[S>>2]=f[P>>2];Ud(v,N,T,S)|0;if((f[q>>2]|0)!=(f[r>>2]|0)?(c=f[G>>2]|0,c=((f[c+100>>2]|0)-(f[c+96>>2]|0)|0)/12|0,b[S>>0]=0,Zg(H,c,S),c=f[v>>2]|0,Q=f[s>>2]|0,(c|0)!=(Q|0)):0)do{f[R>>2]=f[c>>2];f[S>>2]=f[R>>2];kg(a,S)|0;c=c+4|0}while((c|0)!=(Q|0));mi(K);Rh(f[a+324>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;Rh(f[A>>2]|0,f[(f[J>>2]|0)+44>>2]|0)|0;if(Ig(a)|0){c=f[(f[J>>2]|0)+44>>2]|0;d=f[a+232>>2]|0;W=c+16|0;R=f[W+4>>2]|0;if(!((R|0)>0|(R|0)==0&(f[W>>2]|0)>>>0>0)){W=(f[a+236>>2]|0)-d|0;f[T>>2]=f[c+4>>2];f[S>>2]=f[T>>2];Ke(c,S,d,d+W|0)|0}e=1}else e=0}c=f[U>>2]|0;if(c|0){d=f[t>>2]|0;if((d|0)!=(c|0))f[t>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}W=e;u=V;return W|0}function ib(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N;J=a+8|0;i=f[J>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;e=an(K)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;cj(e|0,0,K|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);I=a+128|0;m=f[I>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[J>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;g=an(K)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;cj(g|0,0,K|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);E=a+140|0;j=f[E>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;H=M+4|0;G=M+16|0;F=M+20|0;Gc(M);d=f[H>>2]|0;e=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[K>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[F>>2]|0)+1|0;f[F>>2]=d;a:do if(d|0){x=a+116|0;D=a+32|0;C=a+12|0;w=a+88|0;B=a+84|0;y=a+76|0;z=a+80|0;A=a+72|0;b:while(1){s=f[G>>2]|0;e=d+-1|0;t=s+e|0;v=f[H>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[F>>2]=e;e=f[K>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[I>>2]|0;j=m+(t*12|0)|0;e=((f[J>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}if(!k){L=73;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[J>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){L=73;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)ri(C,i,d-o|0);else ri(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;d=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(M);d=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[F>>2]=(f[F>>2]|0)+1}if((g|0)!=(n|0)){i=f[K>>2]|0;h=f[H>>2]|0;t=i-h>>2;d=f[G>>2]|0;g=f[F>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(M);d=f[G>>2]|0;g=f[F>>2]|0;i=f[K>>2]|0;h=f[H>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[F>>2]|0)+1|0;f[F>>2]=d}else L=73}else L=73;while(0);if((L|0)==73){L=0;d=f[F>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[H>>2]|0;e=f[G>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[K>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[F>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[H>>2]|0)+4|0;f[H>>2]=d;g=f[K>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;L=87;break}case 2:{e=204;L=87;break}default:{}}if((L|0)==87)f[G>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[H>>2]|0;e=f[K>>2]|0;if((e|0)!=(d|0))f[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}pq(d);u=N;return}function jb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,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=u;u=u+32|0;M=N;J=a+8|0;i=f[J>>2]|0;f[M>>2]=0;k=M+4|0;f[k>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;e=an(K)|0;f[M>>2]=e;h=e+(i<<2)|0;f[M+8>>2]=h;cj(e|0,0,K|0)|0;f[k>>2]=h;break}else{h=0;e=0}while(0);I=a+140|0;m=f[I>>2]|0;j=f[m>>2]|0;l=m+4|0;if(!j){j=e;e=m+8|0}else{e=f[l>>2]|0;if((e|0)!=(j|0))f[l>>2]=e+(~((e+-4-j|0)>>>2)<<2);pq(j);e=m+8|0;f[e>>2]=0;f[l>>2]=0;f[m>>2]=0;j=f[M>>2]|0;h=f[k>>2]|0;i=f[J>>2]|0}f[m>>2]=j;f[l>>2]=h;f[e>>2]=f[M+8>>2];f[M>>2]=0;h=M+4|0;f[h>>2]=0;f[M+8>>2]=0;do if(i)if(i>>>0>1073741823)Fp(M);else{K=i<<2;g=an(K)|0;f[M>>2]=g;d=g+(i<<2)|0;f[M+8>>2]=d;cj(g|0,0,K|0)|0;f[h>>2]=d;break}else{d=0;g=0}while(0);E=a+152|0;j=f[E>>2]|0;e=f[j>>2]|0;i=j+4|0;if(!e)e=j+8|0;else{d=f[i>>2]|0;if((d|0)!=(e|0))f[i>>2]=d+(~((d+-4-e|0)>>>2)<<2);pq(e);e=j+8|0;f[e>>2]=0;f[i>>2]=0;f[j>>2]=0;g=f[M>>2]|0;d=f[h>>2]|0}f[j>>2]=g;f[i>>2]=d;f[e>>2]=f[M+8>>2];g=f[b>>2]|0;h=f[c>>2]|0;f[M>>2]=0;f[M+4>>2]=0;f[M+8>>2]=0;f[M+12>>2]=0;f[M+16>>2]=0;f[M+20>>2]=0;K=M+8|0;H=M+4|0;G=M+16|0;F=M+20|0;Gc(M);d=f[H>>2]|0;e=(f[F>>2]|0)+(f[G>>2]|0)|0;if((f[K>>2]|0)==(d|0))d=0;else d=(f[d+(((e>>>0)/204|0)<<2)>>2]|0)+(((e>>>0)%204|0)*20|0)|0;f[d>>2]=g;f[d+4>>2]=h;f[d+8>>2]=0;f[d+12>>2]=(h-g|0)/12|0;f[d+16>>2]=0;d=(f[F>>2]|0)+1|0;f[F>>2]=d;a:do if(d|0){x=a+128|0;D=a+44|0;C=a+12|0;w=a+100|0;B=a+96|0;y=a+88|0;z=a+92|0;A=a+84|0;b:while(1){s=f[G>>2]|0;e=d+-1|0;t=s+e|0;v=f[H>>2]|0;r=f[v+(((t>>>0)/204|0)<<2)>>2]|0;t=(t>>>0)%204|0;h=r+(t*20|0)|0;n=f[h>>2]|0;h=f[h+4>>2]|0;g=f[r+(t*20|0)+8>>2]|0;t=f[r+(t*20|0)+16>>2]|0;f[F>>2]=e;e=f[K>>2]|0;v=e-v>>2;if((1-d-s+((v|0)==0?0:(v*204|0)+-1|0)|0)>>>0>407){pq(f[e+-4>>2]|0);f[K>>2]=(f[K>>2]|0)+-4}f[b>>2]=n;f[c>>2]=h;m=f[I>>2]|0;j=m+(t*12|0)|0;e=((f[J>>2]|0)+-1|0)==(g|0)?0:g+1|0;l=(f[E>>2]|0)+(t*12|0)|0;k=h-n|0;s=(k|0)/12|0;d=(f[a>>2]|0)-(f[(f[l>>2]|0)+(e<<2)>>2]|0)|0;g=h;i=n;c:do if(d){if(s>>>0<3){h=f[x>>2]|0;f[h>>2]=e;d=f[J>>2]|0;if(d>>>0>1){g=1;do{e=(e|0)==(d+-1|0)?0:e+1|0;f[h+(g<<2)>>2]=e;g=g+1|0;d=f[J>>2]|0}while(g>>>0>>0)}if(!k){L=73;break}else{e=d;j=0}while(1){if(!d)d=0;else{h=0;while(1){d=f[(f[x>>2]|0)+(h<<2)>>2]|0;g=(f[a>>2]|0)-(f[(f[l>>2]|0)+(d<<2)>>2]|0)|0;if(!g)d=e;else{ri(D,g,f[i+(j*12|0)+(d<<2)>>2]|0);d=f[J>>2]|0}h=h+1|0;if(h>>>0>=d>>>0){e=d;break}else e=d}}j=j+1|0;if(j>>>0>=s>>>0){L=73;break c}}}l=1<>2]|0;d=f[j>>2]|0;k=d;j=f[m+(v*12|0)>>2]|0;if((h|0)!=(d|0)){h=h-d>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}r=j+(e<<2)|0;j=(f[r>>2]|0)+l|0;f[r>>2]=j;d:do if((i|0)!=(g|0)){d=n;while(1){while(1){if((f[i+(e<<2)>>2]|0)>>>0>=j>>>0)break;d=i+12|0;if((d|0)==(g|0))break d;else i=d}while(1){h=g+-12|0;if((i|0)==(h|0)){g=i;break d}if((f[g+-12+(e<<2)>>2]|0)>>>0>>0)break;else g=h}p=f[i>>2]|0;q=f[i+4>>2]|0;r=f[i+8>>2]|0;f[i>>2]=f[h>>2];f[i+4>>2]=f[h+4>>2];f[i+8>>2]=f[h+8>>2];f[h>>2]=p;f[g+-8>>2]=q;f[g+-4>>2]=r;d=d+12|0;if((d|0)==(h|0)){g=h;break}else{i=d;g=h}}}while(0);p=g;q=f[c>>2]|0;m=f[b>>2]|0;l=m;n=q;if((q-m|0)<=0)break b;i=(_(s|0)|0)^31;o=(p-m|0)/12|0;r=(q-p|0)/12|0;h=o>>>0>>0;if((o|0)!=(r|0)){d=f[w>>2]|0;if(h)f[B>>2]=f[B>>2]|1<<31-d;k=d+1|0;f[w>>2]=k;if((k|0)==32){d=f[y>>2]|0;if((d|0)==(f[z>>2]|0))Gi(A,B);else{f[d>>2]=f[B>>2];f[y>>2]=d+4}f[w>>2]=0;f[B>>2]=0}}d=s>>>1;if(h)Of(C,i,d-o|0);else Of(C,i,d-r|0);d=f[E>>2]|0;k=f[d+(t*12|0)>>2]|0;h=k+(e<<2)|0;f[h>>2]=(f[h>>2]|0)+1;h=f[d+(t*12|0)+4>>2]|0;i=k;if((h|0)!=(i|0)){j=f[d+(v*12|0)>>2]|0;h=h-i>>2;d=0;do{f[j+(d<<2)>>2]=f[k+(d<<2)>>2];d=d+1|0}while(d>>>0>>0)}if((g|0)!=(l|0)){j=f[K>>2]|0;i=f[H>>2]|0;s=j-i>>2;d=f[G>>2]|0;h=f[F>>2]|0;if((((s|0)==0?0:(s*204|0)+-1|0)|0)==(h+d|0)){Gc(M);d=f[G>>2]|0;h=f[F>>2]|0;j=f[K>>2]|0;i=f[H>>2]|0}d=h+d|0;if((j|0)==(i|0))d=0;else d=(f[i+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=m;f[d+4>>2]=p;f[d+8>>2]=e;f[d+12>>2]=o;f[d+16>>2]=t;f[F>>2]=(f[F>>2]|0)+1}if((g|0)!=(n|0)){i=f[K>>2]|0;h=f[H>>2]|0;t=i-h>>2;d=f[G>>2]|0;g=f[F>>2]|0;if((((t|0)==0?0:(t*204|0)+-1|0)|0)==(g+d|0)){Gc(M);d=f[G>>2]|0;g=f[F>>2]|0;i=f[K>>2]|0;h=f[H>>2]|0}d=g+d|0;if((i|0)==(h|0))d=0;else d=(f[h+(((d>>>0)/204|0)<<2)>>2]|0)+(((d>>>0)%204|0)*20|0)|0;f[d>>2]=p;f[d+4>>2]=q;f[d+8>>2]=e;f[d+12>>2]=r;f[d+16>>2]=v;d=(f[F>>2]|0)+1|0;f[F>>2]=d}else L=73}else L=73;while(0);if((L|0)==73){L=0;d=f[F>>2]|0}if(!d)break a}ra(7766,7796,332,7943)}while(0);d=f[H>>2]|0;e=f[G>>2]|0;h=d+(((e>>>0)/204|0)<<2)|0;g=f[K>>2]|0;j=g;k=d;if((g|0)==(d|0)){i=0;e=0}else{e=(f[h>>2]|0)+(((e>>>0)%204|0)*20|0)|0;i=e}e:while(1){do{if((e|0)==(i|0))break e;e=e+20|0}while((e-(f[h>>2]|0)|0)!=4080);e=h+4|0;h=e;e=f[e>>2]|0}f[F>>2]=0;e=j-k>>2;if(e>>>0>2)do{pq(f[d>>2]|0);d=(f[H>>2]|0)+4|0;f[H>>2]=d;g=f[K>>2]|0;e=g-d>>2}while(e>>>0>2);switch(e|0){case 1:{e=102;L=87;break}case 2:{e=204;L=87;break}default:{}}if((L|0)==87)f[G>>2]=e;if((d|0)!=(g|0)){do{pq(f[d>>2]|0);d=d+4|0}while((d|0)!=(g|0));d=f[H>>2]|0;e=f[K>>2]|0;if((e|0)!=(d|0))f[K>>2]=e+(~((e+-4-d|0)>>>2)<<2)}d=f[M>>2]|0;if(!d){u=N;return}pq(d);u=N;return}function kb(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=u;u=u+32|0;E=F+16|0;D=F+4|0;A=F;f[a+36>>2]=b;B=a+24|0;z=a+28|0;e=f[z>>2]|0;d=f[B>>2]|0;h=e-d>>2;if(h>>>0>=b>>>0){if(h>>>0>b>>>0?(g=d+(b<<2)|0,(e|0)!=(g|0)):0)f[z>>2]=e+(~((e+-4-g|0)>>>2)<<2)}else lh(B,b-h|0,6028);f[E>>2]=0;y=E+4|0;f[y>>2]=0;x=E+8|0;f[x>>2]=0;if(b){if((b|0)<0)Fp(E);d=((b+-1|0)>>>5)+1|0;h=an(d<<2)|0;f[E>>2]=h;f[x>>2]=d;f[y>>2]=b;d=b>>>5;cj(h|0,0,d<<2|0)|0;e=b-(d<<5)|0;d=h+(d<<2)|0;g=h;if(!e)k=b;else{f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));k=b}}else{k=0;g=0;h=0}w=a+4|0;l=f[a>>2]|0;d=(f[w>>2]|0)-l|0;j=d>>2;f[D>>2]=0;i=D+4|0;f[i>>2]=0;e=D+8|0;f[e>>2]=0;do if(j){if((d|0)<0)Fp(D);d=((j+-1|0)>>>5)+1|0;m=an(d<<2)|0;f[D>>2]=m;f[e>>2]=d;f[i>>2]=j;d=j>>>5;cj(m|0,0,d<<2|0)|0;e=j-(d<<5)|0;d=m+(d<<2)|0;if(e|0)f[d>>2]=f[d>>2]&~(-1>>>(32-e|0));if(j>>>0>2){q=a+12|0;t=a+32|0;r=a+52|0;s=a+56|0;v=a+48|0;j=l;e=m;p=0;d=b;a:while(1){o=p*3|0;if((p|0)>=0){l=f[j+(o<<2)>>2]|0;i=o+1|0;i=((i|0)%3|0|0)==0?o+-2|0:i;if((i|0)<0)k=-1073741824;else k=f[j+(i<<2)>>2]|0;i=(((o>>>0)%3|0|0)==0?2:-1)+o|0;if((i|0)<0)i=-1073741824;else i=f[j+(i<<2)>>2]|0;if((l|0)!=(k|0)?!((l|0)==(i|0)|(k|0)==(i|0)):0){i=d;n=0;while(1){j=n+o|0;if(!(f[e+(j>>>5<<2)>>2]&1<<(j&31))){d=f[(f[a>>2]|0)+(j<<2)>>2]|0;f[A>>2]=d;if(!(f[h+(d>>>5<<2)>>2]&1<<(d&31))){k=0;b=i}else{d=f[z>>2]|0;if((d|0)==(f[t>>2]|0))Gi(B,6028);else{f[d>>2]=-1073741824;f[z>>2]=d+4}d=f[r>>2]|0;if((d|0)==(f[s>>2]|0))Gi(v,A);else{f[d>>2]=f[A>>2];f[r>>2]=d+4}d=f[y>>2]|0;e=f[x>>2]|0;if((d|0)==(e<<5|0)){if((d+1|0)<0){i=52;break a}b=e<<6;m=d+32&-32;gi(E,d>>>0<1073741823?(b>>>0>>0?m:b):2147483647);d=f[y>>2]|0}f[y>>2]=d+1;k=(f[E>>2]|0)+(d>>>5<<2)|0;f[k>>2]=f[k>>2]&~(1<<(d&31));f[A>>2]=i;d=i;k=1;b=i+1|0}h=f[E>>2]|0;g=h+(d>>>5<<2)|0;f[g>>2]=f[g>>2]|1<<(d&31);g=h;b:do if(k){d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);i=f[A>>2]|0;f[(f[B>>2]|0)+(i<<2)>>2]=d;f[(f[a>>2]|0)+(d<<2)>>2]=i;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}else{d=j;while(1){if((d|0)==-1073741824){i=69;break b}e=f[D>>2]|0;i=e+(d>>>5<<2)|0;f[i>>2]=f[i>>2]|1<<(d&31);f[(f[B>>2]|0)+(f[A>>2]<<2)>>2]=d;i=d+1|0;do if((d|0)>=0){d=((i|0)%3|0|0)==0?d+-2|0:i;if((d|0)<0)break;d=f[(f[q>>2]|0)+(d<<2)>>2]|0;i=d+1|0;if((d|0)<0)break;d=((i|0)%3|0|0)==0?d+-2|0:i}while(0);if((d|0)==(j|0)){i=68;break}}}while(0);do if((i|0)==68){i=0;if((j|0)==-1073741824){d=-1073741824;i=75}}else if((i|0)==69){if((j|0)<0){d=j;i=75;break}d=(((j>>>0)%3|0|0)==0?2:-1)+j|0;if((d|0)<0){i=75;break}d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=75;break}if(!((d>>>0)%3|0)){d=d+2|0;i=75;break}else{d=d+-1|0;i=75;break}}while(0);c:do if((i|0)==75){e=f[D>>2]|0;i=e+(d>>>5<<2)|0;l=1<<(d&31);j=(d|0)<0;if((d|0)==-1073741824)break;if(!k){k=d;e=j;d=l;while(1){if(e){i=87;break a}f[i>>2]=f[i>>2]|d;d=(((k>>>0)%3|0|0)==0?2:-1)+k|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0)break;if(!((d>>>0)%3|0)){d=d+2|0;break}else{d=d+-1|0;break}}while(0);e=f[D>>2]|0;if((d|0)==-1073741824)break c;else{k=d;i=e+(d>>>5<<2)|0;e=(d|0)<0;d=1<<(d&31)}}}m=f[a>>2]|0;k=i;e=l;while(1){i=m+(d<<2)|0;do{f[k>>2]=f[k>>2]|e;f[i>>2]=f[A>>2]}while(j);d=(((d>>>0)%3|0|0)==0?2:-1)+d|0;do if((d|0)>=0){d=f[(f[q>>2]|0)+(d<<2)>>2]|0;if((d|0)<0){i=d;break}if(!((d>>>0)%3|0)){i=d+2|0;break}else{i=d+-1|0;break}}else i=d;while(0);e=f[D>>2]|0;if((i|0)==-1073741824)break;else{d=i;k=e+(i>>>5<<2)|0;j=(i|0)<0;e=1<<(i&31)}}}while(0);d=b}else d=i;n=n+1|0;if((n|0)>=3)break;else i=d}}}p=p+1|0;j=f[a>>2]|0;if((p|0)>=(((f[w>>2]|0)-j>>2>>>0)/3|0|0)){i=18;break}}if((i|0)==18){c=g;C=f[y>>2]|0;break}else if((i|0)==52)Fp(E);else if((i|0)==87)while(1)i=87}else{c=g;C=k}}else{c=g;C=k}while(0);j=a+44|0;f[j>>2]=0;B=C>>>5;i=c+(B<<2)|0;h=C&31;d=(B|0)!=0;d:do if(B|h|0){if(!h){e=c;c=0;while(1){e:do if(d){d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break;else d=d+1|0}}else{d=0;while(1){if(!(f[e>>2]&1<>2]=c}if((d|0)==31)break e;d=d+1|0;if(!d)break d}}while(0);e=e+4|0;if((e|0)==(i|0))break d;else d=1}}if(d){e=c;c=0;d=0;do{g=0;while(1){if(!(f[e>>2]&1<>2]=d;c=d}if((g|0)==31)break;else g=g+1|0}e=e+4|0}while((e|0)!=(i|0))}else{e=c;c=0}d=0;do{if(!(f[e>>2]&1<>2]=c}d=d+1|0}while((d|0)!=(h|0))}while(0);c=f[D>>2]|0;if(c|0)pq(c);c=f[E>>2]|0;if(!c){u=F;return 1}pq(c);u=F;return 1}function lb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0,m=0,o=Ka,q=0.0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){l=b[a>>0]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=d[a>>1]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=j[a>>1];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){l=f[a>>2]|0;i=g+(c<<3)|0;f[i>>2]=l;f[i+4>>2]=((l|0)<0)<<31>>31;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=f[a>>2];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){m=a;l=f[m+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[m>>2];f[i+4>>2]=l;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){l=a;m=f[l+4>>2]|0;i=g+(c<<3)|0;f[i>>2]=f[l>>2];f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){o=$(n[a>>2]);m=+K(+o)>=1.0?(+o>0.0?~~+Y(+J(+o/4294967296.0),4294967295.0)>>>0:~~+W((+o-+(~~+o>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~+o>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){q=+p[a>>3];m=+K(q)>=1.0?(q>0.0?~~+Y(+J(q/4294967296.0),4294967295.0)>>>0:~~+W((q-+(~~q>>>0))/4294967296.0)>>>0):0;i=g+(c<<3)|0;f[i>>2]=~~q>>>0;f[i+4>>2]=m;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;m=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=m+a|0;while(1){i=g+(c<<3)|0;f[i>>2]=h[a>>0];f[i+4>>2]=0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){m=1;return m|0}cj(g+(c<<3)|0,0,(e<<24>>24)-c<<3|0)|0;m=1;return m|0}default:{m=0;return m|0}}while(0);return 0}function mb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;H=u;u=u+80|0;k=H+76|0;l=H+72|0;D=H+48|0;m=H+24|0;x=H;h=a+32|0;g=f[c>>2]|0;c=g+1|0;if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;g=(((g>>>0)%3|0|0)==0?2:-1)+g|0;if((c|0)<0)c=-1073741824;else c=f[(f[f[h>>2]>>2]|0)+(c<<2)>>2]|0;if((g|0)<0)i=-1073741824;else i=f[(f[f[h>>2]>>2]|0)+(g<<2)>>2]|0}else{c=-1073741824;i=-1073741824}h=f[a+36>>2]|0;g=f[h>>2]|0;j=(f[h+4>>2]|0)-g>>2;if(j>>>0<=c>>>0)Fp(h);w=f[g+(c<<2)>>2]|0;if(j>>>0<=i>>>0)Fp(h);h=f[g+(i<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){z=w<<1;v=f[d+(z<<2)>>2]|0;y=((v|0)<0)<<31>>31;z=f[d+((z|1)<<2)>>2]|0;A=((z|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(v|0)|(s|0)!=(z|0))){f[a+8>>2]=v;f[a+12>>2]=z;u=H;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;n=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,n,x)|0;n=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;n=_n(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=_n(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=_n(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=$m(n|0,o|0,n|0,o|0)|0;x=I;B=$m(p|0,q|0,p|0,q|0)|0;x=Mn(B|0,I|0,C|0,x|0)|0;C=I;B=$m(l|0,m|0,l|0,m|0)|0;B=Mn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;M=D;M=_n(f[M>>2]|0,f[M+4>>2]|0,h|0,i|0)|0;L=I;K=D+8|0;K=_n(f[K>>2]|0,f[K+4>>2]|0,j|0,k|0)|0;J=I;h=D+16|0;h=_n(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=$m(M|0,L|0,n|0,o|0)|0;D=I;g=$m(K|0,J|0,p|0,q|0)|0;D=Mn(g|0,I|0,k|0,D|0)|0;k=I;g=$m(h|0,i|0,l|0,m|0)|0;g=Mn(D|0,k|0,g|0,I|0)|0;k=I;D=_n(r|0,((r|0)<0)<<31>>31|0,v|0,y|0)|0;c=I;w=_n(s|0,((s|0)<0)<<31>>31|0,z|0,A|0)|0;x=I;s=$m(B|0,C|0,v|0,y|0)|0;r=I;v=$m(B|0,C|0,z|0,A|0)|0;t=I;A=$m(g|0,k|0,D|0,c|0)|0;z=I;j=$m(g|0,k|0,w|0,x|0)|0;y=I;r=Mn(A|0,z|0,s|0,r|0)|0;s=I;t=Mn(j|0,y|0,v|0,t|0)|0;v=I;y=$m(g|0,k|0,n|0,o|0)|0;j=I;z=$m(g|0,k|0,p|0,q|0)|0;A=I;m=$m(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=_n(M|0,L|0,j|0,l|0)|0;j=I;z=_n(K|0,J|0,A|0,z|0)|0;A=I;m=_n(h|0,i|0,k|0,m|0)|0;k=I;j=$m(l|0,j|0,l|0,j|0)|0;l=I;A=$m(z|0,A|0,z|0,A|0)|0;l=Mn(A|0,I|0,j|0,l|0)|0;j=I;k=$m(m|0,k|0,m|0,k|0)|0;k=Mn(l|0,j|0,k|0,I|0)|0;j=I;l=_n(0,0,D|0,c|0)|0;m=I;j=$m(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=23}break}case 1:{if(!c){g=1;c=0;E=24}else{g=1;c=0;h=j;i=k;E=23}break}default:{g=1;c=0;h=j;i=k;E=23}}if((E|0)==23)while(1){g=vn(g|0,c|0,1)|0;c=I;M=h;h=An(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&M>>>0>7)){E=24;break}else{i=I;E=23}}if((E|0)==24)while(1){M=Po(j|0,k|0,g|0,c|0)|0;g=Mn(M|0,I|0,g|0,c|0)|0;g=An(g|0,I|0,1)|0;c=I;M=$m(g|0,c|0,g|0,c|0)|0;L=I;if(L>>>0>k>>>0|(L|0)==(k|0)&M>>>0>j>>>0)E=24;else break}n=$m(g|0,c|0,w|0,x|0)|0;M=I;m=$m(g|0,c|0,l|0,m|0)|0;j=I;L=Mn(n|0,M|0,r|0,s|0)|0;g=I;k=Mn(m|0,j|0,t|0,v|0)|0;c=I;g=kk(L|0,g|0,B|0,C|0)|0;L=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;M=_n(r|0,s|0,n|0,M|0)|0;n=I;j=_n(t|0,v|0,m|0,j|0)|0;m=I;n=kk(M|0,n|0,B|0,C|0)|0;M=I;m=kk(j|0,m|0,B|0,C|0)|0;j=I;h=e<<1;i=f[d+(h<<2)>>2]|0;K=((i|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;l=((h|0)<0)<<31>>31;L=_n(i|0,K|0,g|0,L|0)|0;J=I;d=_n(h|0,l|0,c|0,k|0)|0;k=I;J=$m(L|0,J|0,L|0,J|0)|0;L=I;k=$m(d|0,k|0,d|0,k|0)|0;L=Mn(k|0,I|0,J|0,L|0)|0;J=I;M=_n(i|0,K|0,n|0,M|0)|0;K=I;j=_n(h|0,l|0,m|0,j|0)|0;l=I;K=$m(M|0,K|0,M|0,K|0)|0;M=I;l=$m(j|0,l|0,j|0,l|0)|0;M=Mn(l|0,I|0,K|0,M|0)|0;K=I;l=a+16|0;j=a+20|0;h=f[j>>2]|0;i=f[a+24>>2]|0;k=(h|0)==(i<<5|0);if(J>>>0>>0|(J|0)==(K|0)&L>>>0>>0){do if(k)if((h+1|0)<0)Fp(l);else{F=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(F>>>0>>0?M:F):2147483647);F=f[j>>2]|0;break}else F=h;while(0);f[j>>2]=F+1;M=(f[l>>2]|0)+(F>>>5<<2)|0;f[M>>2]=f[M>>2]|1<<(F&31)}else{do if(k)if((h+1|0)<0)Fp(l);else{G=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(G>>>0>>0?M:G):2147483647);G=f[j>>2]|0;break}else G=h;while(0);f[j>>2]=G+1;g=(f[l>>2]|0)+(G>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(G&31));g=n;c=m}f[a+8>>2]=g;f[a+12>>2]=c;u=H;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}M=a+8|0;f[M>>2]=0;f[M+4>>2]=0;u=H;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=H;return}function nb(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0,K=0,L=0,M=0;H=u;u=u+80|0;k=H+76|0;l=H+72|0;D=H+48|0;m=H+24|0;x=H;h=a+32|0;g=f[c>>2]|0;c=g+1|0;do if((g|0)>=0){c=((c|0)%3|0|0)==0?g+-2|0:c;if(!((g>>>0)%3|0)){g=g+2|0;break}else{g=g+-1|0;break}}else c=g;while(0);i=f[(f[h>>2]|0)+28>>2]|0;h=f[i+(c<<2)>>2]|0;i=f[i+(g<<2)>>2]|0;g=f[a+36>>2]|0;c=f[g>>2]|0;j=(f[g+4>>2]|0)-c>>2;if(j>>>0<=h>>>0)Fp(g);w=f[c+(h<<2)>>2]|0;if(j>>>0<=i>>>0)Fp(g);h=f[c+(i<<2)>>2]|0;t=(w|0)<(e|0);do if(t&(h|0)<(e|0)){y=w<<1;A=f[d+(y<<2)>>2]|0;v=((A|0)<0)<<31>>31;y=f[d+((y|1)<<2)>>2]|0;z=((y|0)<0)<<31>>31;s=h<<1;r=f[d+(s<<2)>>2]|0;s=f[d+((s|1)<<2)>>2]|0;if(!((r|0)!=(A|0)|(s|0)!=(y|0))){f[a+8>>2]=A;f[a+12>>2]=y;u=H;return}i=a+4|0;c=f[(f[i>>2]|0)+(e<<2)>>2]|0;f[D>>2]=0;f[D+4>>2]=0;f[D+8>>2]=0;f[D+12>>2]=0;f[D+16>>2]=0;f[D+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,D)|0;c=f[(f[i>>2]|0)+(w<<2)>>2]|0;f[m>>2]=0;f[m+4>>2]=0;f[m+8>>2]=0;f[m+12>>2]=0;f[m+16>>2]=0;f[m+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;c=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,c,m)|0;c=f[(f[i>>2]|0)+(h<<2)>>2]|0;f[x>>2]=0;f[x+4>>2]=0;f[x+8>>2]=0;f[x+12>>2]=0;f[x+16>>2]=0;f[x+20>>2]=0;g=f[a>>2]|0;if(!(b[g+84>>0]|0))c=f[(f[g+68>>2]|0)+(c<<2)>>2]|0;f[l>>2]=c;n=b[g+24>>0]|0;f[k>>2]=f[l>>2];lb(g,k,n,x)|0;n=x;i=m;h=f[i>>2]|0;i=f[i+4>>2]|0;n=_n(f[n>>2]|0,f[n+4>>2]|0,h|0,i|0)|0;o=I;p=x+8|0;k=m+8|0;j=f[k>>2]|0;k=f[k+4>>2]|0;p=_n(f[p>>2]|0,f[p+4>>2]|0,j|0,k|0)|0;q=I;l=x+16|0;g=m+16|0;c=f[g>>2]|0;g=f[g+4>>2]|0;l=_n(f[l>>2]|0,f[l+4>>2]|0,c|0,g|0)|0;m=I;C=$m(n|0,o|0,n|0,o|0)|0;x=I;B=$m(p|0,q|0,p|0,q|0)|0;x=Mn(B|0,I|0,C|0,x|0)|0;C=I;B=$m(l|0,m|0,l|0,m|0)|0;B=Mn(x|0,C|0,B|0,I|0)|0;C=I;if((B|0)==0&(C|0)==0)break;M=D;M=_n(f[M>>2]|0,f[M+4>>2]|0,h|0,i|0)|0;L=I;K=D+8|0;K=_n(f[K>>2]|0,f[K+4>>2]|0,j|0,k|0)|0;J=I;h=D+16|0;h=_n(f[h>>2]|0,f[h+4>>2]|0,c|0,g|0)|0;i=I;k=$m(M|0,L|0,n|0,o|0)|0;D=I;g=$m(K|0,J|0,p|0,q|0)|0;D=Mn(g|0,I|0,k|0,D|0)|0;k=I;g=$m(h|0,i|0,l|0,m|0)|0;g=Mn(D|0,k|0,g|0,I|0)|0;k=I;D=_n(r|0,((r|0)<0)<<31>>31|0,A|0,v|0)|0;c=I;w=_n(s|0,((s|0)<0)<<31>>31|0,y|0,z|0)|0;x=I;s=$m(B|0,C|0,A|0,v|0)|0;r=I;v=$m(B|0,C|0,y|0,z|0)|0;t=I;A=$m(g|0,k|0,D|0,c|0)|0;z=I;j=$m(g|0,k|0,w|0,x|0)|0;y=I;r=Mn(A|0,z|0,s|0,r|0)|0;s=I;t=Mn(j|0,y|0,v|0,t|0)|0;v=I;y=$m(g|0,k|0,n|0,o|0)|0;j=I;z=$m(g|0,k|0,p|0,q|0)|0;A=I;m=$m(g|0,k|0,l|0,m|0)|0;k=I;j=kk(y|0,j|0,B|0,C|0)|0;l=I;A=kk(z|0,A|0,B|0,C|0)|0;z=I;k=kk(m|0,k|0,B|0,C|0)|0;m=I;l=_n(M|0,L|0,j|0,l|0)|0;j=I;z=_n(K|0,J|0,A|0,z|0)|0;A=I;m=_n(h|0,i|0,k|0,m|0)|0;k=I;j=$m(l|0,j|0,l|0,j|0)|0;l=I;A=$m(z|0,A|0,z|0,A|0)|0;l=Mn(A|0,I|0,j|0,l|0)|0;j=I;k=$m(m|0,k|0,m|0,k|0)|0;k=Mn(l|0,j|0,k|0,I|0)|0;j=I;l=_n(0,0,D|0,c|0)|0;m=I;j=$m(k|0,j|0,B|0,C|0)|0;k=I;c=k&2147483647;switch(j|0){case 0:{if(!c){g=0;c=0}else{g=1;c=0;h=j;i=k;E=22}break}case 1:{if(!c){g=1;c=0;E=23}else{g=1;c=0;h=j;i=k;E=22}break}default:{g=1;c=0;h=j;i=k;E=22}}if((E|0)==22)while(1){g=vn(g|0,c|0,1)|0;c=I;M=h;h=An(h|0,i|0,2)|0;if(!(i>>>0>0|(i|0)==0&M>>>0>7)){E=23;break}else{i=I;E=22}}if((E|0)==23)while(1){M=Po(j|0,k|0,g|0,c|0)|0;g=Mn(M|0,I|0,g|0,c|0)|0;g=An(g|0,I|0,1)|0;c=I;M=$m(g|0,c|0,g|0,c|0)|0;L=I;if(L>>>0>k>>>0|(L|0)==(k|0)&M>>>0>j>>>0)E=23;else break}n=$m(g|0,c|0,w|0,x|0)|0;M=I;m=$m(g|0,c|0,l|0,m|0)|0;j=I;L=Mn(n|0,M|0,r|0,s|0)|0;g=I;k=Mn(m|0,j|0,t|0,v|0)|0;c=I;g=kk(L|0,g|0,B|0,C|0)|0;L=I;c=kk(k|0,c|0,B|0,C|0)|0;k=I;M=_n(r|0,s|0,n|0,M|0)|0;n=I;j=_n(t|0,v|0,m|0,j|0)|0;m=I;n=kk(M|0,n|0,B|0,C|0)|0;M=I;m=kk(j|0,m|0,B|0,C|0)|0;j=I;h=e<<1;i=f[d+(h<<2)>>2]|0;K=((i|0)<0)<<31>>31;h=f[d+((h|1)<<2)>>2]|0;l=((h|0)<0)<<31>>31;L=_n(i|0,K|0,g|0,L|0)|0;J=I;d=_n(h|0,l|0,c|0,k|0)|0;k=I;J=$m(L|0,J|0,L|0,J|0)|0;L=I;k=$m(d|0,k|0,d|0,k|0)|0;L=Mn(k|0,I|0,J|0,L|0)|0;J=I;M=_n(i|0,K|0,n|0,M|0)|0;K=I;j=_n(h|0,l|0,m|0,j|0)|0;l=I;K=$m(M|0,K|0,M|0,K|0)|0;M=I;l=$m(j|0,l|0,j|0,l|0)|0;M=Mn(l|0,I|0,K|0,M|0)|0;K=I;l=a+16|0;j=a+20|0;h=f[j>>2]|0;i=f[a+24>>2]|0;k=(h|0)==(i<<5|0);if(J>>>0>>0|(J|0)==(K|0)&L>>>0>>0){do if(k)if((h+1|0)<0)Fp(l);else{F=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(F>>>0>>0?M:F):2147483647);F=f[j>>2]|0;break}else F=h;while(0);f[j>>2]=F+1;M=(f[l>>2]|0)+(F>>>5<<2)|0;f[M>>2]=f[M>>2]|1<<(F&31)}else{do if(k)if((h+1|0)<0)Fp(l);else{G=i<<6;M=h+32&-32;gi(l,h>>>0<1073741823?(G>>>0>>0?M:G):2147483647);G=f[j>>2]|0;break}else G=h;while(0);f[j>>2]=G+1;g=(f[l>>2]|0)+(G>>>5<<2)|0;f[g>>2]=f[g>>2]&~(1<<(G&31));g=n;c=m}f[a+8>>2]=g;f[a+12>>2]=c;u=H;return}while(0);do if(t)c=w<<1;else{if((e|0)>0){c=(e<<1)+-2|0;break}M=a+8|0;f[M>>2]=0;f[M+4>>2]=0;u=H;return}while(0);f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=f[d+(c+1<<2)>>2];u=H;return}function ob(a,c,d,e,g,i){a=a|0;c=+c;d=d|0;e=e|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+560|0;l=G+8|0;t=G;F=G+524|0;E=F;m=G+512|0;f[t>>2]=0;D=m+12|0;Zn(c)|0;if((I|0)<0){C=1;A=21283;c=-c}else{C=(g&2049|0)!=0&1;A=(g&2048|0)==0?((g&1|0)==0?21284:21289):21286}Zn(c)|0;B=I&2146435072;do if(B>>>0<2146435072|(B|0)==2146435072&0<0){q=+Yp(c,t)*2.0;j=q!=0.0;if(j)f[t>>2]=(f[t>>2]|0)+-1;w=i|32;if((w|0)==97){r=i&32;p=(r|0)==0?A:A+9|0;o=C|2;j=12-e|0;do if(!(e>>>0>11|(j|0)==0)){c=8.0;do{j=j+-1|0;c=c*16.0}while((j|0)!=0);if((b[p>>0]|0)==45){c=-(c+(-q-c));break}else{c=q+c-c;break}}else c=q;while(0);k=f[t>>2]|0;j=(k|0)<0?0-k|0:k;j=ok(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;b[j>>0]=48}b[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;b[n>>0]=i+15;l=(e|0)<1;m=(g&8|0)==0;k=F;while(1){C=~~c;j=k+1|0;b[k>>0]=h[21314+C>>0]|r;c=(c-+(C|0))*16.0;if((j-E|0)==1?!(m&(l&c==0.0)):0){b[j>>0]=46;j=k+2|0}if(!(c!=0.0))break;else k=j}C=j-E|0;E=D-n|0;D=(e|0)!=0&(C+-2|0)<(e|0)?e+2|0:C;j=E+o+D|0;Qk(a,32,d,j,g);Bo(a,p,o);Qk(a,48,d,j,g^65536);Bo(a,F,C);Qk(a,48,D-C|0,0,0);Bo(a,n,E);Qk(a,32,d,j,g^8192);break}k=(e|0)<0?6:e;if(j){j=(f[t>>2]|0)+-28|0;f[t>>2]=j;c=q*268435456.0}else{j=f[t>>2]|0;c=q}B=(j|0)<0?l:l+288|0;l=B;do{y=~~c>>>0;f[l>>2]=y;l=l+4|0;c=(c-+(y>>>0))*1.0e9}while(c!=0.0);if((j|0)>0){m=B;n=l;while(1){o=(j|0)<29?j:29;j=n+-4|0;if(j>>>0>=m>>>0){l=0;do{x=vn(f[j>>2]|0,0,o|0)|0;x=Mn(x|0,I|0,l|0,0)|0;y=I;v=Um(x|0,y|0,1e9,0)|0;f[j>>2]=v;l=Po(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=m>>>0);if(l){m=m+-4|0;f[m>>2]=l}}l=n;while(1){if(l>>>0<=m>>>0)break;j=l+-4|0;if(!(f[j>>2]|0))l=j;else break}j=(f[t>>2]|0)-o|0;f[t>>2]=j;if((j|0)>0)n=l;else break}}else m=B;if((j|0)<0){e=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){o=(1<>>r;p=0;j=m;do{y=f[j>>2]|0;f[j>>2]=(y>>>r)+p;p=X(y&o,n)|0;j=j+4|0}while(j>>>0>>0);j=(f[m>>2]|0)==0?m+4|0:m;if(!p){m=j;j=l}else{f[l>>2]=p;m=j;j=l+4|0}}else{m=(f[m>>2]|0)==0?m+4|0:m;j=l}l=s?B:m;l=(j-l>>2|0)>(e|0)?l+(e<<2)|0:j;j=(f[t>>2]|0)+r|0;f[t>>2]=j}while((j|0)<0);j=m;e=l}else{j=m;e=l}y=B;if(j>>>0>>0){l=(y-j>>2)*9|0;n=f[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;s=(w|0)==103;v=(k|0)!=0;m=k-((w|0)!=102?l:0)+((v&s)<<31>>31)|0;if((m|0)<(((e-y>>2)*9|0)+-9|0)){n=m+9216|0;m=B+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=f[m>>2]|0;r=(p>>>0)%(o>>>0)|0;n=(m+4|0)==(e|0);if(!(n&(r|0)==0)){q=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;c=r>>>0>>0?.5:n&(r|0)==(x|0)?1.0:1.5;if(C){x=(b[A>>0]|0)==45;q=x?-q:q;c=x?-c:c}n=p-r|0;f[m>>2]=n;if(q+c!=q){x=n+o|0;f[m>>2]=x;if(x>>>0>999999999){l=m;while(1){m=l+-4|0;f[l>>2]=0;if(m>>>0>>0){j=j+-4|0;f[j>>2]=0}x=(f[m>>2]|0)+1|0;f[m>>2]=x;if(x>>>0>999999999)l=m;else break}}l=(y-j>>2)*9|0;o=f[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}}w=m+4|0;x=j;j=e>>>0>w>>>0?w:e}else{x=j;j=e}w=j;while(1){if(w>>>0<=x>>>0){t=0;break}j=w+-4|0;if(!(f[j>>2]|0))w=j;else{t=1;break}}e=0-l|0;do if(s){j=((v^1)&1)+k|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}j=g&8;if(!j){if(t?(z=f[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;r=0;k=(k|0)<(i|0)?k:i;break}}else r=j}else{r=g&8;n=i}while(0);s=k|r;o=(s|0)!=0&1;p=(n|32|0)==102;if(p){v=0;j=(l|0)>0?l:0}else{j=(l|0)<0?e:l;j=ok(j,((j|0)<0)<<31>>31,D)|0;m=D;if((m-j|0)<2)do{j=j+-1|0;b[j>>0]=48}while((m-j|0)<2);b[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;b[j>>0]=n;v=j;j=m-j|0}j=C+1+k+o+j|0;Qk(a,32,d,j,g);Bo(a,A,C);Qk(a,48,d,j,g^65536);if(p){o=x>>>0>B>>>0?B:x;r=F+9|0;p=r;n=F+8|0;m=o;do{l=ok(f[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){b[n>>0]=48;l=n}}else if(l>>>0>F>>>0){cj(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Bo(a,l,p-l|0);m=m+4|0}while(m>>>0<=B>>>0);if(s|0)Bo(a,21330,1);if(m>>>0>>0&(k|0)>0)while(1){l=ok(f[m>>2]|0,0,r)|0;if(l>>>0>F>>>0){cj(F|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}Bo(a,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Qk(a,48,k+9|0,9,0)}else{t=t?w:x+4|0;if((k|0)>-1){s=F+9|0;e=(r|0)==0;r=s;n=0-E|0;p=F+8|0;o=x;do{l=ok(f[o>>2]|0,0,s)|0;if((l|0)==(s|0)){b[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Bo(a,l,1);if(e&(k|0)<1){l=m;break}Bo(a,21330,1);l=m}else{if(l>>>0<=F>>>0)break;cj(F|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>F>>>0)}while(0);E=r-l|0;Bo(a,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Qk(a,48,k+18|0,18,0);Bo(a,v,D-v|0)}Qk(a,32,d,j,g^8192)}else{F=(i&32|0)!=0;j=C+3|0;Qk(a,32,d,j,g&-65537);Bo(a,A,C);Bo(a,c!=c|0.0!=0.0?(F?23233:21310):F?21302:21306,3);Qk(a,32,d,j,g^8192)}while(0);u=G;return ((j|0)<(d|0)?d:j)|0}function pb(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,J=0.0;H=u;u=u+512|0;E=H;F=d+c|0;G=0-F|0;B=a+4|0;C=a+100|0;j=b;m=0;a:while(1){switch(j|0){case 46:{A=6;break a}case 48:break;default:{l=0;b=0;p=0;break a}}b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0;m=1;continue}else{j=Xi(a)|0;m=1;continue}}if((A|0)==6){b=f[B>>2]|0;if(b>>>0<(f[C>>2]|0)>>>0){f[B>>2]=b+1;j=h[b>>0]|0}else j=Xi(a)|0;if((j|0)==48){j=0;b=0;while(1){l=Mn(j|0,b|0,-1,-1)|0;b=I;j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Xi(a)|0;if((j|0)==48)j=l;else{m=1;p=1;break}}}else{l=0;b=0;p=1}}f[E>>2]=0;v=j+-48|0;n=(j|0)==46;b:do if(n|v>>>0<10){A=E+496|0;y=l;z=0;t=0;w=n;o=0;l=0;n=0;c:while(1){do if(w)if(!p){y=z;b=t;p=1}else break c;else{w=Mn(z|0,t|0,1,0)|0;t=I;x=(j|0)!=48;if((l|0)>=125){if(!x){z=w;break}f[A>>2]=f[A>>2]|1;z=w;break}m=E+(l<<2)|0;if(!o)j=v;else j=j+-48+((f[m>>2]|0)*10|0)|0;f[m>>2]=j;o=o+1|0;v=(o|0)==9;z=w;m=1;o=v?0:o;l=(v&1)+l|0;n=x?w:n}while(0);j=f[B>>2]|0;if(j>>>0<(f[C>>2]|0)>>>0){f[B>>2]=j+1;j=h[j>>0]|0}else j=Xi(a)|0;v=j+-48|0;w=(j|0)==46;if(!(w|v>>>0<10)){w=y;v=z;A=29;break b}}v=z;p=y;j=(m|0)!=0;A=37}else{w=l;v=0;t=0;o=0;l=0;n=0;A=29}while(0);do if((A|0)==29){z=(p|0)==0;p=z?v:w;b=z?t:b;w=(m|0)!=0;if(!(w&(j|32|0)==101))if((j|0)>-1){j=w;A=37;break}else{m=t;j=w;A=39;break}m=$e(a,g)|0;j=I;if((m|0)==0&(j|0)==-2147483648){if(!g){Lm(a,0);i=0.0;break}if(!(f[C>>2]|0)){m=0;j=0}else{f[B>>2]=(f[B>>2]|0)+-1;m=0;j=0}}y=Mn(m|0,j|0,p|0,b|0)|0;p=v;b=I;m=t;A=41}while(0);if((A|0)==37)if(f[C>>2]|0){f[B>>2]=(f[B>>2]|0)+-1;if(j){y=p;p=v;m=t;A=41}else A=40}else{m=t;A=39}if((A|0)==39)if(j){y=p;p=v;A=41}else A=40;do if((A|0)==40){G=eq()|0;f[G>>2]=22;Lm(a,0);i=0.0}else if((A|0)==41){j=f[E>>2]|0;if(!j){i=+(e|0)*0.0;break}if(((m|0)<0|(m|0)==0&p>>>0<10)&((y|0)==(p|0)&(b|0)==(m|0))?(c|0)>30|(j>>>c|0)==0:0){i=+(e|0)*+(j>>>0);break}a=(d|0)/-2|0;C=((a|0)<0)<<31>>31;if((b|0)>(C|0)|(b|0)==(C|0)&y>>>0>a>>>0){G=eq()|0;f[G>>2]=34;i=+(e|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=d+-106|0;C=((a|0)<0)<<31>>31;if((b|0)<(C|0)|(b|0)==(C|0)&y>>>0>>0){G=eq()|0;f[G>>2]=34;i=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(o){if((o|0)<9){m=E+(l<<2)|0;b=o;j=f[m>>2]|0;do{j=j*10|0;b=b+1|0}while((b|0)!=9);f[m>>2]=j}l=l+1|0}if((n|0)<9?(n|0)<=(y|0)&(y|0)<18:0){b=f[E>>2]|0;if((y|0)==9){i=+(e|0)*+(b>>>0);break}if((y|0)<9){i=+(e|0)*+(b>>>0)/+(f[6612+(8-y<<2)>>2]|0);break}a=c+27+(X(y,-3)|0)|0;if((a|0)>30|(b>>>a|0)==0){i=+(e|0)*+(b>>>0)*+(f[6612+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){m=0;b=0}else{t=(y|0)>-1?b:b+9|0;m=f[6612+(8-t<<2)>>2]|0;if(l){o=1e9/(m|0)|0;b=0;n=0;p=0;j=y;do{B=E+(p<<2)|0;C=f[B>>2]|0;a=((C>>>0)/(m>>>0)|0)+n|0;f[B>>2]=a;n=X(o,(C>>>0)%(m>>>0)|0)|0;a=(p|0)==(b|0)&(a|0)==0;j=a?j+-9|0:j;b=a?b+1&127:b;p=p+1|0}while((p|0)!=(l|0));if(n){f[E+(l<<2)>>2]=n;l=l+1|0}}else{b=0;j=y;l=0}m=b;b=0;y=9-t+j|0}d:while(1){v=(y|0)<18;w=(y|0)==18;t=E+(m<<2)|0;while(1){if(!v){if(!w){j=y;break d}if((f[t>>2]|0)>>>0>=9007199){j=18;break d}}n=0;j=l+127|0;x=l;while(1){p=j&127;o=E+(p<<2)|0;j=vn(f[o>>2]|0,0,29)|0;j=Mn(j|0,I|0,n|0,0)|0;l=I;if(l>>>0>0|(l|0)==0&j>>>0>1e9){n=Po(j|0,l|0,1e9,0)|0;j=Um(j|0,l|0,1e9,0)|0}else n=0;f[o>>2]=j;a=(p|0)==(m|0);x=(j|0)==0&(((p|0)!=(x+127&127|0)|a)^1)?p:x;if(a)break;else j=p+-1|0}b=b+-29|0;if(n|0)break;else l=x}m=m+127&127;l=x+127&127;j=E+((x+126&127)<<2)|0;if((m|0)==(x|0))f[j>>2]=f[j>>2]|f[E+(l<<2)>>2];else l=x;f[E+(m<<2)>>2]=n;y=y+9|0}e:while(1){x=l+1&127;y=E+((l+127&127)<<2)|0;v=j;while(1){o=(v|0)==18;w=(v|0)>27?9:1;z=m;while(1){j=0;while(1){m=j+z&127;if((m|0)==(l|0)){D=2;A=88;break}m=f[E+(m<<2)>>2]|0;n=f[6644+(j<<2)>>2]|0;if(m>>>0>>0){D=2;A=88;break}if(m>>>0>n>>>0)break;j=j+1|0;if((j|0)>=2){D=j;A=88;break}}if((A|0)==88?(A=0,o&(D|0)==2):0){n=0;i=0.0;break e}b=w+b|0;if((z|0)==(l|0))z=l;else break}t=(1<>>w;m=z;o=0;n=z;j=v;do{B=E+(n<<2)|0;C=f[B>>2]|0;a=(C>>>w)+o|0;f[B>>2]=a;o=X(C&t,p)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(!o){v=j;continue}if((x|0)!=(m|0))break;f[y>>2]=f[y>>2]|1;v=j}f[E+(l<<2)>>2]=o;l=x}while(1){m=n+z&127;j=l+1&127;if((m|0)==(l|0))f[E+(j+-1<<2)>>2]=0;else j=l;i=i*1.0e9+ +((f[E+(m<<2)>>2]|0)>>>0);n=n+1|0;if((n|0)==2)break;else l=j}s=+(e|0);k=s*i;m=b+53|0;p=m-d|0;o=(p|0)<(c|0);n=o?((p|0)>0?p:0):c;if((n|0)<53){J=+Wp(+Rj(1.0,105-n|0),k);q=+fq(k,+Rj(1.0,53-n|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=z+2&127;if((l|0)!=(j|0)){l=f[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=s*.75+i;break}if((z+3&127|0)==(j|0)){i=s*.5+i;break}else{i=s*.75+i;break}}else{if((l|0)==0?(z+3&127|0)==(j|0):0)break;i=s*.25+i}while(0);if((53-n|0)>1?!(+fq(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((m&2147483647|0)>(-2-F|0)){F=!(+K(+i)>=9007199254740992.0);b=((F^1)&1)+b|0;i=F?i:i*.5;if((b+50|0)<=(G|0)?!(k!=0.0&(o&((n|0)!=(p|0)|F))):0)break;G=eq()|0;f[G>>2]=34}while(0);i=+Xp(i,b)}while(0);u=H;return +i}function qb(a,c,e,g,h){a=a|0;c=c|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=u;u=u+64|0;C=G+16|0;z=G;y=G+24|0;F=G+8|0;B=G+20|0;f[C>>2]=c;E=(a|0)!=0;x=y+40|0;D=x;y=y+39|0;A=F+4|0;o=c;c=0;i=0;l=0;a:while(1){do if((c|0)>-1)if((i|0)>(2147483647-c|0)){c=eq()|0;f[c>>2]=75;c=-1;break}else{c=i+c|0;break}while(0);i=b[o>>0]|0;if(!(i<<24>>24)){w=87;break}else j=o;b:while(1){switch(i<<24>>24){case 37:{i=j;w=9;break b}case 0:{i=j;break b}default:{}}v=j+1|0;f[C>>2]=v;i=b[v>>0]|0;j=v}c:do if((w|0)==9)while(1){w=0;if((b[i+1>>0]|0)!=37)break c;j=j+1|0;i=i+2|0;f[C>>2]=i;if((b[i>>0]|0)==37)w=9;else break}while(0);j=j-o|0;if(E)Bo(a,o,j);if(j|0){o=i;i=j;continue}k=i+1|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10){v=(b[i+2>>0]|0)==36;r=v?j:-1;n=v?1:l;k=v?i+3|0:k}else{r=-1;n=l}f[C>>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;d:do if(j>>>0<32){l=0;while(1){j=1<>2]=k;i=b[k>>0]|0;j=(i<<24>>24)+-32|0;if(j>>>0>=32){m=l;break}}}else m=0;while(0);if(i<<24>>24==42){j=k+1|0;i=(b[j>>0]|0)+-48|0;if(i>>>0<10?(b[k+2>>0]|0)==36:0){f[h+(i<<2)>>2]=10;l=1;i=k+3|0;j=f[g+((b[j>>0]|0)+-48<<3)>>2]|0}else{if(n|0){c=-1;break}if(E){l=(f[e>>2]|0)+(4-1)&~(4-1);v=f[l>>2]|0;f[e>>2]=l+4;l=0;i=j;j=v}else{l=0;i=j;j=0}}f[C>>2]=i;t=(j|0)<0;q=t?m|8192:m;v=l;t=t?0-j|0:j}else{j=cm(C)|0;if((j|0)<0){c=-1;break}i=f[C>>2]|0;q=m;v=n;t=j}do if((b[i>>0]|0)==46){if((b[i+1>>0]|0)!=42){f[C>>2]=i+1;m=cm(C)|0;i=f[C>>2]|0;break}k=i+2|0;j=(b[k>>0]|0)+-48|0;if(j>>>0<10?(b[i+3>>0]|0)==36:0){f[h+(j<<2)>>2]=10;m=f[g+((b[k>>0]|0)+-48<<3)>>2]|0;i=i+4|0;f[C>>2]=i;break}if(v|0){c=-1;break a}if(E){s=(f[e>>2]|0)+(4-1)&~(4-1);j=f[s>>2]|0;f[e>>2]=s+4}else j=0;f[C>>2]=k;i=k;m=j}else m=-1;while(0);n=0;while(1){if(((b[i>>0]|0)+-65|0)>>>0>57){c=-1;break a}s=i+1|0;f[C>>2]=s;j=b[(b[i>>0]|0)+-65+(20802+(n*58|0))>>0]|0;l=j&255;if((l+-1|0)>>>0<8){i=s;n=l}else break}if(!(j<<24>>24)){c=-1;break}k=(r|0)>-1;do if(j<<24>>24==19)if(k){c=-1;break a}else w=49;else{if(k){f[h+(r<<2)>>2]=l;l=g+(r<<3)|0;r=f[l+4>>2]|0;w=z;f[w>>2]=f[l>>2];f[w+4>>2]=r;w=49;break}if(!E){c=0;break a}Se(z,l,e)}while(0);if((w|0)==49?(w=0,!E):0){o=s;i=0;l=v;continue}l=b[i>>0]|0;l=(n|0)!=0&(l&15|0)==3?l&-33:l;j=q&-65537;r=(q&8192|0)==0?q:j;e:do switch(l|0){case 110:switch((n&255)<<24>>24){case 0:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 1:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 2:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}case 3:{d[f[z>>2]>>1]=c;o=s;i=0;l=v;continue a}case 4:{b[f[z>>2]>>0]=c;o=s;i=0;l=v;continue a}case 6:{f[f[z>>2]>>2]=c;o=s;i=0;l=v;continue a}case 7:{o=f[z>>2]|0;f[o>>2]=c;f[o+4>>2]=((c|0)<0)<<31>>31;o=s;i=0;l=v;continue a}default:{o=s;i=0;l=v;continue a}}case 112:{i=r|8;j=m>>>0>8?m:8;l=120;w=61;break}case 88:case 120:{i=r;j=m;w=61;break}case 111:{q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=Cm(o,q,x)|0;j=D-n|0;i=r;j=(r&8|0)==0|(m|0)>(j|0)?m:j+1|0;k=0;m=21266;w=67;break}case 105:case 100:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;if((j|0)<0){i=_n(0,0,i|0,j|0)|0;j=I;k=z;f[k>>2]=i;f[k+4>>2]=j;k=1;l=21266;w=66;break e}else{k=(r&2049|0)!=0&1;l=(r&2048|0)==0?((r&1|0)==0?21266:21268):21267;w=66;break e}}case 117:{j=z;i=f[j>>2]|0;j=f[j+4>>2]|0;k=0;l=21266;w=66;break}case 99:{b[y>>0]=f[z>>2];o=y;n=j;l=1;k=0;j=21266;i=x;break}case 109:{i=eq()|0;i=Ho(f[i>>2]|0)|0;w=71;break}case 115:{i=f[z>>2]|0;i=i|0?i:21276;w=71;break}case 67:{f[F>>2]=f[z>>2];f[A>>2]=0;f[z>>2]=F;i=F;m=-1;w=75;break}case 83:{i=f[z>>2]|0;if(!m){Qk(a,32,t,0,r);i=0;w=84}else w=75;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=s;i=ob(a,+p[z>>3],t,m,r,l)|0;l=v;continue a}default:{n=r;l=m;k=0;j=21266;i=x}}while(0);f:do if((w|0)==61){q=z;o=f[q>>2]|0;q=f[q+4>>2]|0;n=gm(o,q,x,l&32)|0;m=(i&8|0)==0|(o|0)==0&(q|0)==0;k=m?0:2;m=m?21266:21266+(l>>4)|0;w=67}else if((w|0)==66){o=i;q=j;n=ok(i,j,x)|0;i=r;j=m;m=l;w=67}else if((w|0)==71){w=0;r=bi(i,0,m)|0;q=(r|0)==0;o=i;n=j;l=q?m:r-i|0;k=0;j=21266;i=q?i+m|0:r}else if((w|0)==75){w=0;k=0;j=0;n=i;while(1){l=f[n>>2]|0;if(!l)break;j=Go(B,l)|0;if((j|0)<0|j>>>0>(m-k|0)>>>0)break;k=j+k|0;if(m>>>0>k>>>0)n=n+4|0;else break}if((j|0)<0){c=-1;break a}Qk(a,32,t,k,r);if(!k){i=0;w=84}else{l=0;while(1){j=f[i>>2]|0;if(!j){i=k;w=84;break f}j=Go(B,j)|0;l=j+l|0;if((l|0)>(k|0)){i=k;w=84;break f}Bo(a,B,j);if(l>>>0>=k>>>0){i=k;w=84;break}else i=i+4|0}}}while(0);if((w|0)==67){w=0;l=(o|0)!=0|(q|0)!=0;r=(j|0)!=0|l;l=((l^1)&1)+(D-n)|0;o=r?n:x;n=(j|0)>-1?i&-65537:i;l=r?((j|0)>(l|0)?j:l):j;j=m;i=x}else if((w|0)==84){w=0;Qk(a,32,t,i,r^8192);o=s;i=(t|0)>(i|0)?t:i;l=v;continue}r=i-o|0;q=(l|0)<(r|0)?r:l;l=q+k|0;i=(t|0)<(l|0)?l:t;Qk(a,32,i,l,n);Bo(a,j,k);Qk(a,48,i,l,n^65536);Qk(a,48,q,r,0);Bo(a,o,r);Qk(a,32,i,l,n^8192);o=s;l=v}g:do if((w|0)==87)if(!a)if(!l)c=0;else{c=1;while(1){i=f[h+(c<<2)>>2]|0;if(!i)break;Se(g+(c<<3)|0,i,e);c=c+1|0;if((c|0)>=10){c=1;break g}}while(1){if(f[h+(c<<2)>>2]|0){c=-1;break g}c=c+1|0;if((c|0)>=10){c=1;break}}}while(0);u=G;return c|0}function rb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2])>>>0;f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3]>>>0;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function sb(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var i=0,k=0,l=0;if(!g){g=0;return g|0}do switch(f[a+28>>2]|0){case 1:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;i=f[f[a>>2]>>2]|0;l=a+40|0;c=$m(f[l>>2]|0,f[l+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=i+a|0;while(1){f[g+(c<<2)>>2]=b[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 2:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 3:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=d[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 4:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=j[a>>1];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+2|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 5:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 6:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 7:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 8:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=f[a>>2];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 9:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){i=~~$(n[a>>2]);f[g+(c<<2)>>2]=i;c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+4|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 10:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=~~+p[a>>3];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+8|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}case 11:{k=a+24|0;i=b[k>>0]|0;if((i<<24>>24>e<<24>>24?e:i)<<24>>24>0){c=f[c>>2]|0;l=f[f[a>>2]>>2]|0;i=a+40|0;c=$m(f[i>>2]|0,f[i+4>>2]|0,c|0,((c|0)<0)<<31>>31|0)|0;a=a+48|0;a=Mn(c|0,I|0,f[a>>2]|0,f[a+4>>2]|0)|0;c=0;a=l+a|0;while(1){f[g+(c<<2)>>2]=h[a>>0];c=c+1|0;i=b[k>>0]|0;if((c|0)>=((i<<24>>24>e<<24>>24?e:i)<<24>>24|0))break;else a=a+1|0}}c=i<<24>>24;if(i<<24>>24>=e<<24>>24){l=1;return l|0}cj(g+(c<<2)|0,0,(e<<24>>24)-c<<2|0)|0;l=1;return l|0}default:{l=0;return l|0}}while(0);return 0}function tb(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=Ka,i=0,j=0,k=0,l=0,m=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=u;u=u+48|0;z=B+36|0;v=B+24|0;y=B+12|0;w=B;if(!(eh(a,c,d)|0)){A=0;u=B;return A|0}e=f[c+4>>2]|0;if((d|0)<=-1)ra(20625,20641,59,20738);g=f[e+8>>2]|0;if(((f[e+12>>2]|0)-g>>2|0)<=(d|0))ra(20748,20641,60,20738);m=f[g+(d<<2)>>2]|0;if((f[m+28>>2]|0)!=9){A=0;u=B;return A|0}r=c+48|0;j=f[r>>2]|0;e=an(32)|0;f[z>>2]=e;f[z+8>>2]=-2147483616;f[z+4>>2]=17;c=e;i=17860;l=c+17|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+17>>0]=0;i=j+16|0;g=f[i>>2]|0;if(g){e=i;c=g;a:while(1){g=c;while(1){if((f[g+16>>2]|0)>=(d|0))break;g=f[g+4>>2]|0;if(!g)break a}c=f[g>>2]|0;if(!c){e=g;break}else e=g}if(((e|0)!=(i|0)?(f[e+16>>2]|0)<=(d|0):0)?(k=e+20|0,(Oh(k,z)|0)!=0):0)s=Bk(k,z,-1)|0;else A=16}else A=16;if((A|0)==16)s=Bk(j,z,-1)|0;if((b[z+11>>0]|0)<0)pq(f[z>>2]|0);if((s|0)<1){A=0;u=B;return A|0}e=f[r>>2]|0;g=an(32)|0;f[z>>2]=g;f[z+8>>2]=-2147483616;f[z+4>>2]=19;c=g;i=17803;l=c+19|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[g+19>>0]=0;j=e+16|0;c=f[j>>2]|0;if(c){g=j;b:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break b;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=28}else A=28;if(!(Oh(e,z)|0))e=0;else{e=f[r>>2]|0;f[v>>2]=0;f[v+4>>2]=0;f[v+8>>2]=0;g=an(32)|0;f[v>>2]=g;f[v+8>>2]=-2147483616;f[v+4>>2]=18;c=g;i=17823;l=c+18|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[g+18>>0]=0;j=e+16|0;c=f[j>>2]|0;if(c){g=j;c:while(1){i=c;while(1){if((f[i+16>>2]|0)>=(d|0))break;c=f[i+4>>2]|0;if(!c)break c;else i=c}c=f[i>>2]|0;if(!c){g=i;break}else g=i}if((g|0)!=(j|0)?(f[g+16>>2]|0)<=(d|0):0)e=g+20|0;else A=38}else A=38;e=(Oh(e,v)|0)!=0;if((b[v+11>>0]|0)<0)pq(f[v>>2]|0)}if((b[z+11>>0]|0)<0)pq(f[z>>2]|0);if(!e){Nd(a+40|0,m,s)|0;A=1;u=B;return A|0}m=m+24|0;e=b[m>>0]|0;g=e<<24>>24;f[y>>2]=0;o=y+4|0;f[o>>2]=0;f[y+8>>2]=0;do if(e<<24>>24)if(e<<24>>24<0)Fp(y);else{k=g<<2;t=an(k)|0;f[y>>2]=t;l=t+(g<<2)|0;f[y+8>>2]=l;cj(t|0,0,k|0)|0;f[o>>2]=l;break}else t=0;while(0);k=f[r>>2]|0;f[w>>2]=0;f[w+4>>2]=0;f[w+8>>2]=0;e=an(32)|0;f[w>>2]=e;f[w+8>>2]=-2147483616;f[w+4>>2]=19;c=e;i=17803;l=c+19|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+19>>0]=0;j=b[m>>0]|0;l=j<<24>>24;i=k+16|0;e=f[i>>2]|0;if(e){g=i;d:while(1){c=e;while(1){if((f[c+16>>2]|0)>=(d|0))break;e=f[c+4>>2]|0;if(!e)break d;else c=e}e=f[c>>2]|0;if(!e){g=c;break}else g=c}if(((g|0)!=(i|0)?(f[g+16>>2]|0)<=(d|0):0)?(p=g+20|0,(Oh(p,w)|0)!=0):0){e=Qg(p,w)|0;if((e|0)!=(g+24|0)){dj(z,e+28|0);c=z+11|0;e=b[c>>0]|0;g=e<<24>>24<0;if((g?f[z+4>>2]|0:e&255)|0)if(j<<24>>24>0){e=g?f[z>>2]|0:z;g=0;do{h=$(Mp(e,v));p=e;e=f[v>>2]|0;if((p|0)==(e|0))break;n[t+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(l|0));e=b[c>>0]|0}if(e<<24>>24<0)pq(f[z>>2]|0)}}else A=68}else A=68;if((A|0)==68?(q=Qg(k,w)|0,(q|0)!=(k+4|0)):0){dj(z,q+28|0);c=z+11|0;e=b[c>>0]|0;g=e<<24>>24<0;if((g?f[z+4>>2]|0:e&255)|0)if(j<<24>>24>0){e=g?f[z>>2]|0:z;g=0;do{h=$(Mp(e,v));q=e;e=f[v>>2]|0;if((q|0)==(e|0))break;n[t+(g<<2)>>2]=h;g=g+1|0}while((g|0)<(l|0));e=b[c>>0]|0}if(e<<24>>24<0)pq(f[z>>2]|0)}if((b[w+11>>0]|0)<0)pq(f[w>>2]|0);j=f[r>>2]|0;f[z>>2]=0;f[z+4>>2]=0;f[z+8>>2]=0;e=an(32)|0;f[z>>2]=e;f[z+8>>2]=-2147483616;f[z+4>>2]=18;c=e;i=17823;l=c+18|0;do{b[c>>0]=b[i>>0]|0;c=c+1|0;i=i+1|0}while((c|0)<(l|0));b[e+18>>0]=0;i=j+16|0;g=f[i>>2]|0;if(g){e=i;e:while(1){c=g;while(1){if((f[c+16>>2]|0)>=(d|0))break;g=f[c+4>>2]|0;if(!g)break e;else c=g}g=f[c>>2]|0;if(!g){e=c;break}else e=c}if(((e|0)!=(i|0)?(f[e+16>>2]|0)<=(d|0):0)?(x=e+20|0,(Oh(x,z)|0)!=0):0)h=$(wk(x,z,$(1.0)));else A=90}else A=90;if((A|0)==90)h=$(wk(j,z,$(1.0)));if((b[z+11>>0]|0)<0)pq(f[z>>2]|0);rl(a+40|0,s,f[y>>2]|0,b[m>>0]|0,h);e=f[y>>2]|0;if(e|0){g=f[o>>2]|0;if((g|0)!=(e|0))f[o>>2]=g+(~((g+-4-e|0)>>>2)<<2);pq(e)}A=1;u=B;return A|0}function ub(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}ub(t,l,c);a=l+4|0}if((s|0)==82){s=0;ub(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function vb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}vb(t,l,c);a=l+4|0}if((s|0)==82){s=0;vb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function wb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}wb(t,l,c);a=l+4|0}if((s|0)==82){s=0;wb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function xb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}xb(t,l,c);a=l+4|0}if((s|0)==82){s=0;xb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function yb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}yb(t,l,c);a=l+4|0}if((s|0)==82){s=0;yb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function zb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}zb(t,l,c);a=l+4|0}if((s|0)==82){s=0;zb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Ab(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Ab(t,l,c);a=l+4|0}if((s|0)==82){s=0;Ab(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Bb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Bb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Bb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Cb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Cb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Cb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Db(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Db(t,l,c);a=l+4|0}if((s|0)==82){s=0;Db(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Eb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Eb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Eb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Fb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Fb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Fb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Gb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Gb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Gb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}}function Hb(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;a:while(1){r=b;u=b+-4|0;while(1){t=a;b:while(1){q=t;d=r-q|0;a=d>>2;switch(a|0){case 2:{s=5;break a}case 3:{s=11;break a}case 4:{s=12;break a}case 5:{s=13;break a}case 1:case 0:{s=84;break a}default:{}}if((d|0)<124){s=15;break a}j=t+(((a|0)/2|0)<<2)|0;if((d|0)>3996){h=(a|0)/4|0;h=Nf(t,t+(h<<2)|0,j,j+(h<<2)|0,u,c)|0}else h=vg(t,j,u,c)|0;g=f[t>>2]|0;d=f[j>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=g>>>0){s=20;break a}i=a;if(m>>>0<=d>>>0){s=22;break a}k=f[i+(g<<3)>>2]|0;a=f[i+(d<<3)>>2]|0;if(k>>>0>>0){e=u;k=h;break}else e=u;while(1){e=e+-4|0;if((t|0)==(e|0))break;d=f[e>>2]|0;if(m>>>0<=d>>>0){s=51;break a}if((f[i+(d<<3)>>2]|0)>>>0>>0){s=53;break b}}d=t+4|0;e=f[u>>2]|0;if(m>>>0<=e>>>0){s=26;break a}if(k>>>0>=(f[i+(e<<3)>>2]|0)>>>0){if((d|0)==(u|0)){s=84;break a}while(1){a=f[d>>2]|0;if(m>>>0<=a>>>0){s=32;break a}if(k>>>0<(f[i+(a<<3)>>2]|0)>>>0)break;d=d+4|0;if((d|0)==(u|0)){s=84;break a}}f[d>>2]=e;f[u>>2]=a;d=d+4|0}if((d|0)==(u|0)){s=84;break a}e=f[t>>2]|0;l=f[c>>2]|0;a=f[l>>2]|0;m=(f[l+4>>2]|0)-a>>3;if(m>>>0<=e>>>0){s=38;break a}g=u;while(1){j=a+(e<<3)|0;i=m>>>0>e>>>0;while(1){h=f[d>>2]|0;if(m>>>0<=h>>>0){s=40;break a}k=f[j>>2]|0;if(k>>>0<(f[a+(h<<3)>>2]|0)>>>0)break;if(i)d=d+4|0;else{s=38;break a}}if(m>>>0<=e>>>0){s=46;break a}do{g=g+-4|0;e=f[g>>2]|0;if(m>>>0<=e>>>0){s=47;break a}}while(k>>>0<(f[a+(e<<3)>>2]|0)>>>0);if(d>>>0>=g>>>0){t=d;continue b}q=f[d>>2]|0;f[d>>2]=e;f[g>>2]=q;e=f[t>>2]|0;if(m>>>0<=e>>>0){s=38;break a}else d=d+4|0}}if((s|0)==53){s=0;f[t>>2]=d;f[e>>2]=g;k=h+1|0}h=t+4|0;c:do if(h>>>0>>0){g=f[h>>2]|0;a=f[c>>2]|0;d=f[a>>2]|0;i=(f[a+4>>2]|0)-d>>3;if(i>>>0>g>>>0){p=k;o=i}else{s=57;break a}while(1){k=f[c>>2]|0;n=k+4|0;m=f[j>>2]|0;l=h;i=o;while(1){if(i>>>0<=m>>>0){s=59;break a}if((f[d+(g<<3)>>2]|0)>>>0>=(f[d+(m<<3)>>2]|0)>>>0)break;h=l+4|0;g=f[h>>2]|0;d=f[k>>2]|0;i=(f[n>>2]|0)-d>>3;if(i>>>0<=g>>>0){a=k;s=57;break a}else{a=k;l=h}}n=f[j>>2]|0;d=f[a>>2]|0;o=(f[a+4>>2]|0)-d>>3;i=d;k=i+(n<<3)|0;if(o>>>0<=n>>>0){s=65;break a}do{e=e+-4|0;h=f[e>>2]|0;if(o>>>0<=h>>>0){s=66;break a}}while((f[i+(h<<3)>>2]|0)>>>0>=(f[k>>2]|0)>>>0);if(l>>>0>e>>>0){a=p;break c}f[l>>2]=h;f[e>>2]=g;h=l+4|0;g=f[h>>2]|0;if(o>>>0<=g>>>0){s=57;break a}else{j=(j|0)==(l|0)?e:j;p=p+1|0}}}else{l=h;a=k}while(0);if((l|0)!=(j|0)){e=f[j>>2]|0;g=f[l>>2]|0;h=f[c>>2]|0;d=f[h>>2]|0;i=(f[h+4>>2]|0)-d>>3;if(i>>>0<=e>>>0){s=72;break a}if(i>>>0<=g>>>0){s=74;break a}if((f[d+(e<<3)>>2]|0)>>>0<(f[d+(g<<3)>>2]|0)>>>0){f[l>>2]=e;f[j>>2]=g;a=a+1|0}}if(!a){d=Vd(t,l,c)|0;a=l+4|0;if(Vd(a,b,c)|0){s=83;break}if(d)continue}p=l;if((p-q|0)>=(r-p|0)){s=82;break}Hb(t,l,c);a=l+4|0}if((s|0)==82){s=0;Hb(l+4|0,b,c);a=t;b=l;continue}else if((s|0)==83){s=0;if(d){s=84;break}else{a=t;b=l;continue}}}switch(s|0){case 5:{e=f[u>>2]|0;g=f[t>>2]|0;b=f[c>>2]|0;a=f[b>>2]|0;d=(f[b+4>>2]|0)-a>>3;if(d>>>0<=e>>>0)Fp(b);if(d>>>0<=g>>>0)Fp(b);if((f[a+(e<<3)>>2]|0)>>>0>=(f[a+(g<<3)>>2]|0)>>>0)return;f[t>>2]=e;f[u>>2]=g;return}case 11:{vg(t,t+4|0,u,c)|0;return}case 12:{Sg(t,t+4|0,t+8|0,u,c)|0;return}case 13:{Nf(t,t+4|0,t+8|0,t+12|0,u,c)|0;return}case 15:{Wg(t,b,c);return}case 20:{Fp(l);break}case 22:{Fp(l);break}case 26:{Fp(l);break}case 32:{Fp(l);break}case 38:{Fp(l);break}case 40:{Fp(l);break}case 46:{Fp(l);break}case 47:{Fp(l);break}case 51:{Fp(l);break}case 57:{Fp(a);break}case 59:{Fp(a);break}case 65:{if(o>>>0>(f[e+-4>>2]|0)>>>0)Fp(a);else Fp(a);break}case 66:{Fp(a);break}case 72:{Fp(h);break}case 74:{Fp(h);break}case 84:return}} +function tf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;n=q+12|0;o=q;e=cl(c,0)|0;if(!e){f[a>>2]=0;u=q;return}d=f[c+96>>2]|0;c=(f[c+100>>2]|0)-d|0;m=(c|0)/12|0;f[n>>2]=0;p=n+4|0;f[p>>2]=0;f[n+8>>2]=0;if(c){if(m>>>0>357913941)Fp(n);l=an(c)|0;f[n>>2]=l;f[n+8>>2]=l+(m*12|0);cj(l|0,0,c|0)|0;f[p>>2]=l+c;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if((c|0)>0){i=e+68|0;j=o+4|0;k=o+8|0;h=(b[e+84>>0]|0)==0;g=0;do{c=f[d+(g*12|0)>>2]|0;if(h){e=f[i>>2]|0;c=f[e+(c<<2)>>2]|0;f[o>>2]=c;f[j>>2]=f[e+(f[d+(g*12|0)+4>>2]<<2)>>2];e=e+(f[d+(g*12|0)+8>>2]<<2)|0}else{f[o>>2]=c;f[j>>2]=f[d+(g*12|0)+4>>2];e=d+(g*12|0)+8|0}e=f[e>>2]|0;f[k>>2]=e;f[l+(g*12|0)>>2]=c;f[l+(g*12|0)+4>>2]=f[j>>2];f[l+(g*12|0)+8>>2]=e;g=g+1|0}while((g|0)<(m|0))}}else{f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0}jk(a,n);d=f[n>>2]|0;if(d|0){c=f[p>>2]|0;if((c|0)!=(d|0))f[p>>2]=c+(~(((c+-12-d|0)>>>0)/12|0)*12|0);pq(d)}u=q;return}function uf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;j=m+4|0;k=m;l=a+8|0;g=f[l>>2]|0;Jj(f[a+4>>2]|0,(f[g+28>>2]|0)-(f[g+24>>2]|0)>>2);g=a+100|0;h=f[l>>2]|0;h=(f[h+28>>2]|0)-(f[h+24>>2]|0)>>2;f[j>>2]=0;d=a+104|0;b=f[d>>2]|0;c=f[g>>2]|0;i=b-c>>2;if(h>>>0<=i>>>0){if(h>>>0>>0?(e=c+(h<<2)|0,(b|0)!=(e|0)):0)f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2)}else lh(g,h-i|0,j);d=a+120|0;b=f[d>>2]|0;if(!b){a=f[l>>2]|0;a=(f[a+4>>2]|0)-(f[a>>2]|0)>>2;b=(a>>>0)/3|0;if(a>>>0<=2){u=m;return 1}c=0;do{f[k>>2]=c*3;f[j>>2]=f[k>>2];fc(l,j);c=c+1|0}while((c|0)<(b|0));u=m;return 1}else{c=f[b>>2]|0;if((f[b+4>>2]|0)==(c|0)){u=m;return 1}b=0;do{f[k>>2]=f[c+(b<<2)>>2];f[j>>2]=f[k>>2];fc(l,j);b=b+1|0;a=f[d>>2]|0;c=f[a>>2]|0}while(b>>>0<(f[a+4>>2]|0)-c>>2>>>0);u=m;return 1}return 0}function vf(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n;j=f[a+124>>2]|0;if(!j){u=n;return}i=j+-1|0;h=(i&j|0)==0;if(!h)if(j>>>0>g>>>0)k=g;else k=(g>>>0)%(j>>>0)|0;else k=i&g;d=f[(f[a+120>>2]|0)+(k<<2)>>2]|0;if(!d){u=n;return}d=f[d>>2]|0;if(!d){u=n;return}a:do if(h){while(1){j=f[d+4>>2]|0;h=(j|0)==(g|0);if(!(h|(j&i|0)==(k|0))){d=24;break}if(h?(f[d+8>>2]|0)==(g|0):0){l=d;break a}d=f[d>>2]|0;if(!d){d=24;break}}if((d|0)==24){u=n;return}}else{h=d;while(1){d=f[h+4>>2]|0;if((d|0)==(g|0)){if((f[h+8>>2]|0)==(g|0)){l=h;break a}}else{if(d>>>0>=j>>>0)d=(d>>>0)%(j>>>0)|0;if((d|0)!=(k|0)){d=24;break}}h=f[h>>2]|0;if(!h){d=24;break}}if((d|0)==24){u=n;return}}while(0);d=f[l+12>>2]|0;if((d|0)==-1){u=n;return}f[m>>2]=d;f[m+4>>2]=c;b[m+8>>0]=e&1;h=a+112|0;d=f[h>>2]|0;if((d|0)==(f[a+116>>2]|0))ni(a+108|0,m);else{f[d>>2]=f[m>>2];f[d+4>>2]=f[m+4>>2];f[d+8>>2]=f[m+8>>2];f[h>>2]=(f[h>>2]|0)+12}u=n;return}function wf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=f[b>>2]|0;l=f[b+4>>2]|0;m=f[b+8>>2]|0;g=f[b+12>>2]|0;j=(((k^318)+239^l)+239^m)+239^g;h=f[a+4>>2]|0;if(!h){n=0;return n|0}d=h+-1|0;c=(d&h|0)==0;if(!c)if(j>>>0>>0)i=j;else i=(j>>>0)%(h>>>0)|0;else i=j&d;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){n=0;return n|0}b=f[b>>2]|0;if(!b){n=0;return n|0}if(c){while(1){e=f[b+4>>2]|0;a=(e|0)==(j|0);if(!(a|(e&d|0)==(i|0))){b=0;e=26;break}if((((a?(f[b+8>>2]|0)==(k|0):0)?(f[b+12>>2]|0)==(l|0):0)?(f[b+16>>2]|0)==(m|0):0)?(f[b+20>>2]|0)==(g|0):0){e=26;break}b=f[b>>2]|0;if(!b){b=0;e=26;break}}if((e|0)==26)return b|0}else n=b;while(1){b=f[n+4>>2]|0;a=(b|0)==(j|0);if(!a){if(b>>>0>=h>>>0)b=(b>>>0)%(h>>>0)|0;if((b|0)!=(i|0)){b=0;e=26;break}if(a)e=22}else e=22;if(((((e|0)==22?(e=0,(f[n+8>>2]|0)==(k|0)):0)?(f[n+12>>2]|0)==(l|0):0)?(f[n+16>>2]|0)==(m|0):0)?(f[n+20>>2]|0)==(g|0):0){b=n;e=26;break}n=f[n>>2]|0;if(!n){b=0;e=26;break}}if((e|0)==26)return b|0;return 0}function xf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o+4|0;n=o;k=o+8|0;i=d+11|0;j=b[i>>0]|0;g=j<<24>>24<0;if(g){a=f[d+4>>2]|0;if(a>>>0>255){c=0;u=o;return c|0}}else a=j&255;if(!a){b[k>>0]=0;d=c+16|0;l=f[d+4>>2]|0;if(!((l|0)>0|(l|0)==0&(f[d>>2]|0)>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ke(c,m,k,k+1|0)|0}c=1;u=o;return c|0}l=d+4|0;e=f[l>>2]|0;b[k>>0]=g?e:j&255;a=c+16|0;g=a;h=f[g>>2]|0;g=f[g+4>>2]|0;if((g|0)>0|(g|0)==0&h>>>0>0)i=g;else{f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ke(c,m,k,k+1|0)|0;h=a;j=b[i>>0]|0;i=f[h+4>>2]|0;h=f[h>>2]|0;e=f[l>>2]|0}g=j<<24>>24<0;a=g?f[d>>2]|0:d;if(!((i|0)>0|(i|0)==0&h>>>0>0)){f[n>>2]=f[c+4>>2];f[m>>2]=f[n>>2];Ke(c,m,a,a+(g?e:j&255)|0)|0}c=1;u=o;return c|0}function yf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d)if(!((c>>>0)%3|0)){c=c+2|0;break}else{c=c+-1|0;break}while(0);do if(!(1<<(c&31)&f[(f[h>>2]|0)+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;return}e=c+1|0;if(!d)c=((e|0)%3|0|0)==0?c+-2|0:e;e=f[h>>2]|0;if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2]))if((c|0)>=0){c=f[(f[(f[h+64>>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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=7}else g=7;else{c=-1073741824;g=7}if((g|0)==7)f[j>>2]=c;c=f[a+4>>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);do if(!(1<<(c&31)&f[e+(c>>>5<<2)>>2])){if((c|0)>=0){c=f[(f[(f[h+64>>2]|0)+12>>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}}}else c=-1073741824;while(0);f[j>>2]=c;b[i>>0]=0;return}function zf(a,b){a=a|0;b=b|0;var c=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=d[b>>1]|0;n=d[b+2>>1]|0;i=d[b+4>>1]|0;l=(((m^318)&65535)+239^n&65535)+239^i&65535;j=f[a+4>>2]|0;if(!j){p=0;return p|0}e=j+-1|0;c=(e&j|0)==0;if(!c)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;b=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!b){p=0;return p|0}b=f[b>>2]|0;if(!b){p=0;return p|0}if(c){while(1){h=f[b+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){b=0;h=24;break}if(((a?(g=b+8|0,(d[g>>1]|0)==m<<16>>16):0)?(d[g+2>>1]|0)==n<<16>>16:0)?(d[b+12>>1]|0)==i<<16>>16:0){h=24;break}b=f[b>>2]|0;if(!b){b=0;h=24;break}}if((h|0)==24)return b|0}else o=b;while(1){b=f[o+4>>2]|0;a=(b|0)==(l|0);if(!a){if(b>>>0>=j>>>0)b=(b>>>0)%(j>>>0)|0;if((b|0)!=(k|0)){b=0;h=24;break}if(a)h=21}else h=21;if((((h|0)==21?(h=0,p=o+8|0,(d[p>>1]|0)==m<<16>>16):0)?(d[p+2>>1]|0)==n<<16>>16:0)?(d[o+12>>1]|0)==i<<16>>16:0){b=o;h=24;break}o=f[o>>2]|0;if(!o){b=0;h=24;break}}if((h|0)==24)return b|0;return 0}function Af(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;r=u;u=u+48|0;n=r+24|0;o=r+8|0;p=r+4|0;q=r;h=c+4|0;if((f[h>>2]|0)==-1)ra(7389,7164,57,7524);m=e+4|0;ui(a,c,(f[m>>2]|0)-(f[e>>2]|0)>>2,2,g,d);l=f[a>>2]|0;l=(f[f[l>>2]>>2]|0)+(f[l+48>>2]|0)|0;a=f[h>>2]|0;if((a|0)<=1)ra(11874,11885,60,12006);if((a|0)>=31)ra(12026,11885,61,12006);f[o>>2]=a;a=1<>2]=a+-1;a=a+-2|0;f[o+8>>2]=a;f[o+12>>2]=(a|0)/2|0;a=f[e>>2]|0;if((f[m>>2]|0)==(a|0)){u=r;return}k=d+84|0;h=d+68|0;i=d+48|0;j=d+40|0;g=0;c=0;while(1){a=f[a+(c<<2)>>2]|0;if(!(b[k>>0]|0))a=f[(f[h>>2]|0)+(a<<2)>>2]|0;t=i;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j;s=f[w>>2]|0;a=$m(s|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,v|0,t|0)|0;Rg(n|0,(f[f[d>>2]>>2]|0)+a|0,s|0)|0;Jf(o,n,p,q);f[l+(g<<2)>>2]=f[p>>2];f[l+((g|1)<<2)>>2]=f[q>>2];c=c+1|0;a=f[e>>2]|0;if(c>>>0>=(f[m>>2]|0)-a>>2>>>0)break;else g=g+2|0}u=r;return}function Bf(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;i=u;u=u+80|0;j=i;g=i+64|0;xl(j);k=f[(f[a+8>>2]|0)+56>>2]|0;h=X(Nl(5)|0,d)|0;sj(j,k,0,d&255,5,0,h,((h|0)<0)<<31>>31,0,0);h=an(96)|0;nl(h,j);kj(h,c)|0;f[g>>2]=h;Pi(a,g);h=f[g>>2]|0;f[g>>2]=0;if(h|0){k=h+88|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d+8>>2]|0;if(c|0){g=d+12|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;pq(c)}pq(d)}c=f[h+68>>2]|0;if(c|0){g=h+72|0;d=f[g>>2]|0;if((d|0)!=(c|0))f[g>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}k=h+64|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0){c=f[d>>2]|0;if(c|0){g=d+4|0;if((f[g>>2]|0)!=(c|0))f[g>>2]=c;pq(c)}pq(d)}pq(h)}if(!e){u=i;return}a=f[a+32>>2]|0;b[a+84>>0]=0;c=a+68|0;a=a+72|0;h=f[a>>2]|0;d=f[c>>2]|0;g=h-d>>2;if(g>>>0>>0){lh(c,e-g|0,1532);u=i;return}if(g>>>0<=e>>>0){u=i;return}d=d+(e<<2)|0;if((h|0)==(d|0)){u=i;return}f[a>>2]=h+(~((h+-4-d|0)>>>2)<<2);u=i;return}function Cf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=b[c>>0]|0;n=b[c+1>>0]|0;i=b[c+2>>0]|0;l=((m&255^318)+239^n&255)+239^i&255;j=f[a+4>>2]|0;if(!j){p=0;return p|0}e=j+-1|0;d=(e&j|0)==0;if(!d)if(l>>>0>>0)k=l;else k=(l>>>0)%(j>>>0)|0;else k=l&e;c=f[(f[a>>2]|0)+(k<<2)>>2]|0;if(!c){p=0;return p|0}c=f[c>>2]|0;if(!c){p=0;return p|0}if(d){while(1){h=f[c+4>>2]|0;a=(h|0)==(l|0);if(!(a|(h&e|0)==(k|0))){c=0;h=24;break}if(((a?(g=c+8|0,(b[g>>0]|0)==m<<24>>24):0)?(b[g+1>>0]|0)==n<<24>>24:0)?(b[g+2>>0]|0)==i<<24>>24:0){h=24;break}c=f[c>>2]|0;if(!c){c=0;h=24;break}}if((h|0)==24)return c|0}else o=c;while(1){c=f[o+4>>2]|0;a=(c|0)==(l|0);if(!a){if(c>>>0>=j>>>0)c=(c>>>0)%(j>>>0)|0;if((c|0)!=(k|0)){c=0;h=24;break}if(a)h=21}else h=21;if((((h|0)==21?(h=0,p=o+8|0,(b[p>>0]|0)==m<<24>>24):0)?(b[p+1>>0]|0)==n<<24>>24:0)?(b[p+2>>0]|0)==i<<24>>24:0){c=o;h=24;break}o=f[o>>2]|0;if(!o){c=0;h=24;break}}if((h|0)==24)return c|0;return 0}function Df(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=f[b>>2]|0;d=f[c>>2]|0;g=d-l>>2;h=a+8|0;b=f[h>>2]|0;i=f[a>>2]|0;j=i;k=d;if(g>>>0<=b-i>>2>>>0){a=a+4|0;h=(f[a>>2]|0)-i>>2;e=g>>>0>h>>>0;h=e?l+(h<<2)|0:d;d=h-l|0;b=d>>2;if(b|0)bm(i|0,l|0,d|0)|0;d=j+(b<<2)|0;if(!e){b=f[a>>2]|0;if((b|0)==(d|0))return;f[a>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}g=f[c>>2]|0;b=h;if((b|0)==(g|0))return;c=f[a>>2]|0;e=g+-4-h|0;d=c;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(g|0))break;else d=d+4|0}f[a>>2]=c+((e>>>2)+1<<2);return}e=i;if(i){d=a+4|0;b=f[d>>2]|0;if((b|0)!=(j|0))f[d>>2]=b+(~((b+-4-i|0)>>>2)<<2);pq(e);f[h>>2]=0;f[d>>2]=0;f[a>>2]=0;b=0}if(g>>>0>1073741823)Fp(a);j=b>>1;b=b>>2>>>0<536870911?(j>>>0>>0?g:j):1073741823;if(b>>>0>1073741823)Fp(a);c=an(b<<2)|0;g=a+4|0;f[g>>2]=c;f[a>>2]=c;f[h>>2]=c+(b<<2);b=l;if((b|0)==(k|0))return;e=k+-4-l|0;d=c;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(k|0))break;else d=d+4|0}f[g>>2]=c+((e>>>2)+1<<2);return}function Ef(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=4194303)ra(19329,19748,356,19359);if(e>>>0>=1073741824)ra(19369,19748,357,19359);d=e+-4194304|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-4177920|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+4194304|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1077936128|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Ff(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=2097151)ra(19329,19748,356,19359);if(e>>>0>=536870912)ra(19369,19748,357,19359);d=e+-2097152|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-2080768|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+6291456|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1075838976|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Gf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=1048575)ra(19329,19748,356,19359);if(e>>>0>=268435456)ra(19369,19748,357,19359);d=e+-1048576|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-1032192|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+7340032|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074790400|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Hf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=262143)ra(19329,19748,356,19359);if(e>>>0>=67108864)ra(19369,19748,357,19359);d=e+-262144|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-245760|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8126464|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1074003968|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function If(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=131071)ra(19329,19748,356,19359);if(e>>>0>=33554432)ra(19369,19748,357,19359);d=e+-131072|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-114688|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8257536|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{d=e+-1073872896|0;b[a>>0]=d;b[a+1>>0]=d>>>8;b[a+2>>0]=d>>>16;i=4;e=a+3|0;a=h;d=d>>>24;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,o=Ka,p=Ka,q=0.0,r=Ka;r=$(n[b>>2]);m=+$(K($(r)));p=$(n[b+4>>2]);m=m+ +$(K($(p)));o=$(n[b+8>>2]);m=m+ +$(K($(o)));h=m>1.0e-06;m=1.0/m;l=f[a+12>>2]|0;q=+(l|0);k=~~+J(+(q*(h?+r*m:1.0)+.5));g=~~+J(+(q*(h?+p*m:0.0)+.5));e=(k|0)>-1;k=e?k:0-k|0;i=l-k-((g|0)>-1?g:0-g|0)|0;b=(i|0)<0;g=(b?((g|0)>0?i:0-i|0):0)+g|0;i=b?0:i;i=(h?+o*m:0.0)<0.0?0-i|0:i;h=(g|0)>-1?g:0-g|0;b=(i|0)>-1?i:0-i|0;if((h+k+b|0)!=(l|0))ra(14240,11885,99,14328);if(!e){if((g|0)>=0)b=(f[a+8>>2]|0)-b|0;if((i|0)<0)k=h;else k=(f[a+8>>2]|0)-h|0}else{b=l+g|0;k=l+i|0}i=(b|0)==0;j=(k|0)==0;e=f[a+8>>2]|0;if(!(k|b)){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}g=(e|0)==(k|0);h=(e|0)==(b|0);if(i&g|j&h){a=e;l=e;f[c>>2]=a;f[d>>2]=l;return}if(i&(l|0)<(k|0)){a=0;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(k|0)&h){a=b;l=(l<<1)-k|0;f[c>>2]=a;f[d>>2]=l;return}if((l|0)>(b|0)&g){a=(l<<1)-b|0;l=k;f[c>>2]=a;f[d>>2]=l;return}else{a=(l|0)<(b|0)&j?(l<<1)-b|0:b;l=k;f[c>>2]=a;f[d>>2]=l;return}}function Kf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+32|0;m=n;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){cj(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);u=n;return}e=f[a>>2]|0;g=c-e>>2;c=g+b|0;if(c>>>0>1073741823)Fp(a);i=d-e|0;j=i>>1;c=i>>2>>>0<536870911?(j>>>0>>0?c:j):1073741823;f[m+12>>2]=0;f[m+16>>2]=a+8;do if(c)if(c>>>0>1073741823){n=sa(8)|0;to(n,20196);f[n>>2]=7152;wa(n|0,1112,107)}else{d=an(c<<2)|0;break}else d=0;while(0);f[m>>2]=d;g=d+(g<<2)|0;i=m+8|0;h=m+4|0;f[h>>2]=g;j=m+12|0;f[j>>2]=d+(c<<2);cj(g|0,0,b<<2|0)|0;f[i>>2]=g+(b<<2);d=f[a>>2]|0;c=f[k>>2]|0;if((c|0)==(d|0)){g=h;e=f[h>>2]|0}else{e=f[h>>2]|0;do{c=c+-4|0;b=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=b;e=(f[h>>2]|0)+-4|0;f[h>>2]=e}while((c|0)!=(d|0));g=h;d=f[a>>2]|0;c=f[k>>2]|0}f[a>>2]=e;f[g>>2]=d;f[k>>2]=f[i>>2];f[i>>2]=c;a=f[l>>2]|0;f[l>>2]=f[j>>2];f[j>>2]=a;f[m>>2]=f[g>>2];_h(m);u=n;return}function Lf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;d=f[m>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(((d-c|0)/12|0)>>>0>=b>>>0){cj(c|0,0,b*12|0)|0;f[l>>2]=e+(b*12|0);return}j=f[a>>2]|0;i=(c-j|0)/12|0;c=i+b|0;k=j;if(c>>>0>357913941)Fp(a);h=(d-j|0)/12|0;g=h<<1;g=h>>>0<178956970?(g>>>0>>0?c:g):357913941;do if(g)if(g>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{h=an(g*12|0)|0;break}else h=0;while(0);d=h+(i*12|0)|0;c=d;h=h+(g*12|0)|0;cj(d|0,0,b*12|0)|0;g=d+(b*12|0)|0;if((e|0)==(k|0))i=j;else{do{j=d+-12|0;b=e;e=e+-12|0;f[j>>2]=0;i=d+-8|0;f[i>>2]=0;f[d+-4>>2]=0;f[j>>2]=f[e>>2];j=b+-8|0;f[i>>2]=f[j>>2];b=b+-4|0;f[d+-4>>2]=f[b>>2];f[b>>2]=0;f[j>>2]=0;f[e>>2]=0;d=c+-12|0;c=d}while((e|0)!=(k|0));i=f[a>>2]|0;e=f[l>>2]|0}f[a>>2]=c;f[l>>2]=g;f[m>>2]=h;h=i;if((e|0)!=(h|0))do{c=e;e=e+-12|0;g=f[e>>2]|0;if(g|0){d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(g|0))f[d>>2]=c+(~((c+-4-g|0)>>>2)<<2);pq(g)}}while((e|0)!=(h|0));if(!i)return;pq(i);return}function Mf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;g=a+24|0;e=f[a+32>>2]|0;if(e>>>0<=32767)ra(19329,19748,356,19359);if(e>>>0>=8388608)ra(19369,19748,357,19359);d=e+-32768|0;do if(d>>>0>=64){if(d>>>0<16384){a=a+28|0;h=(f[g>>2]|0)+(f[a>>2]|0)|0;d=e+-16384|0;b[h>>0]=d;i=2;e=h+1|0;d=d>>>8;break}h=a+28|0;a=(f[g>>2]|0)+(f[h>>2]|0)|0;if(d>>>0<4194304){d=e+8355840|0;b[a>>0]=d;b[a+1>>0]=d>>>8;i=3;e=a+2|0;a=h;d=d>>>16;break}else{i=e+-1073774592|0;b[a>>0]=i;b[a+1>>0]=i>>>8;b[a+2>>0]=i>>>16;i=4;e=a+3|0;a=h;d=192;break}}else{a=a+28|0;i=1;e=(f[g>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+i|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function Nf(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;m=Sg(a,b,c,d,g)|0;h=f[e>>2]|0;i=f[d>>2]|0;k=f[g>>2]|0;g=f[k>>2]|0;l=(f[k+4>>2]|0)-g>>3;if(l>>>0<=h>>>0)Fp(k);j=g;if(l>>>0<=i>>>0)Fp(k);if((f[j+(h<<3)>>2]|0)>>>0>=(f[j+(i<<3)>>2]|0)>>>0)return m|0;f[d>>2]=h;f[e>>2]=i;g=f[d>>2]|0;h=f[c>>2]|0;if(l>>>0<=g>>>0)Fp(k);if(l>>>0<=h>>>0)Fp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+1|0;return m|0}f[c>>2]=g;f[d>>2]=h;g=f[c>>2]|0;h=f[b>>2]|0;if(l>>>0<=g>>>0)Fp(k);if(l>>>0<=h>>>0)Fp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+2|0;return m|0}f[b>>2]=g;f[c>>2]=h;g=f[b>>2]|0;h=f[a>>2]|0;if(l>>>0<=g>>>0)Fp(k);if(l>>>0<=h>>>0)Fp(k);if((f[j+(g<<3)>>2]|0)>>>0>=(f[j+(h<<3)>>2]|0)>>>0){m=m+3|0;return m|0}f[a>>2]=g;f[b>>2]=h;m=m+4|0;return m|0}function Of(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)ra(19536,19560,46,19667);if((b|0)<=0)ra(19696,19560,47,19667);g=c>>>1&1431655765|c<<1&-1431655766;g=g>>>2&858993459|g<<2&-858993460;g=g>>>4&252645135|g<<4&-252645136;g=g>>>8&16711935|g<<8&-16711936;c=32-b|0;g=(g>>>16|g<<16)>>>c;d=g-(g>>>1&1431655765)|0;d=(d>>>2&858993459)+(d&858993459)|0;d=(X((d>>>4)+d&252645135,16843009)|0)>>>24;i=b-d|0;j=f[a>>2]|0;h=j;i=Mn(f[h>>2]|0,f[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;h=j;f[h>>2]=i;f[h+4>>2]=I;j=j+8|0;h=j;d=Mn(f[h>>2]|0,f[h+4>>2]|0,d|0,0)|0;f[j>>2]=d;f[j+4>>2]=I;j=a+28|0;d=f[j>>2]|0;h=32-d|0;i=a+24|0;do if((h|0)>=(b|0)){e=-1>>>c<>2]&~e|e&g<>2]=e;b=d+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0)){Gi(a+12|0,i);d=0;c=0;break}else{f[c>>2]=e;f[d>>2]=c+4;d=0;c=0;break}}else{e=-1>>>d<>2]&~e|e&g<>2]=e;d=a+16|0;c=f[d>>2]|0;if((c|0)==(f[a+20>>2]|0))Gi(a+12|0,i);else{f[c>>2]=e;f[d>>2]=c+4}c=b-h|0;d=c;c=-1>>>(32-c|0)&g>>>h}while(0);f[i>>2]=c;f[j>>2]=d;return}function Pf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)bm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;e=((c+-4-i|0)>>>2)+1|0;d=g;b=a;while(1){f[d>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else d=d+4|0}f[l>>2]=g+(e<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Fp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Fp(a);h=an(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=((c+-4-m|0)>>>2)+1|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+(d<<2);return}function Qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=b;h=c-m>>2;i=a+8|0;d=f[i>>2]|0;j=f[a>>2]|0;k=j;if(h>>>0<=d-j>>2>>>0){l=a+4|0;a=(f[l>>2]|0)-j>>2;h=h>>>0>a>>>0;a=b+(a<<2)|0;g=h?a:c;i=g;e=i-m|0;d=e>>2;if(d|0)bm(j|0,b|0,e|0)|0;d=k+(d<<2)|0;if(!h){b=f[l>>2]|0;if((b|0)==(d|0))return;f[l>>2]=b+(~((b+-4-d|0)>>>2)<<2);return}if((g|0)==(c|0))return;g=f[l>>2]|0;d=c+-4-i|0;e=g;b=a;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[l>>2]=g+((d>>>2)+1<<2);return}g=j;if(j){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(k|0))f[e>>2]=d+(~((d+-4-j|0)>>>2)<<2);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Fp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Fp(a);h=an(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);if((b|0)==(c|0))return;d=c+-4-m|0;e=h;while(1){f[e>>2]=f[b>>2];b=b+4|0;if((b|0)==(c|0))break;else e=e+4|0}f[g>>2]=h+((d>>>2)+1<<2);return}function Rf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+352>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;wi(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Jj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;bg(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;zc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)ra(20748,20641,60,20738);else if((a|0)==11){u=o;return 1}return 0}function Sf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=f[b>>2]|0;l=f[b+4>>2]|0;g=f[b+8>>2]|0;j=((k^318)+239^l)+239^g;h=f[a+4>>2]|0;if(!h){m=0;return m|0}d=h+-1|0;c=(d&h|0)==0;if(!c)if(j>>>0>>0)i=j;else i=(j>>>0)%(h>>>0)|0;else i=j&d;b=f[(f[a>>2]|0)+(i<<2)>>2]|0;if(!b){m=0;return m|0}b=f[b>>2]|0;if(!b){m=0;return m|0}if(c){while(1){e=f[b+4>>2]|0;a=(e|0)==(j|0);if(!(a|(e&d|0)==(i|0))){b=0;e=24;break}if(((a?(f[b+8>>2]|0)==(k|0):0)?(f[b+12>>2]|0)==(l|0):0)?(f[b+16>>2]|0)==(g|0):0){e=24;break}b=f[b>>2]|0;if(!b){b=0;e=24;break}}if((e|0)==24)return b|0}else m=b;while(1){b=f[m+4>>2]|0;a=(b|0)==(j|0);if(!a){if(b>>>0>=h>>>0)b=(b>>>0)%(h>>>0)|0;if((b|0)!=(i|0)){b=0;e=24;break}if(a)e=21}else e=21;if((((e|0)==21?(e=0,(f[m+8>>2]|0)==(k|0)):0)?(f[m+12>>2]|0)==(l|0):0)?(f[m+16>>2]|0)==(g|0):0){b=m;e=24;break}m=f[m>>2]|0;if(!m){b=0;e=24;break}}if((e|0)==24)return b|0;return 0}function Tf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+32|0;e=m;l=a+16|0;d=l;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){u=m;return}i=Mn(f[(f[a+12>>2]|0)+4>>2]|0,0,7,0)|0;i=An(i|0,I|0,3)|0;j=I;if(!(b[a+24>>0]|0)){h=a+4|0;e=h}else{n=f[a>>2]|0;g=a+4|0;n=n+((f[g>>2]|0)-n)|0;h=Mn(c|0,d|0,8,0)|0;h=n+(0-h)|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;f[e+20>>2]=0;b[e+24>>0]=0;gh(i,j,e)|0;d=e+4|0;c=(f[d>>2]|0)-(f[e>>2]|0)|0;bm(h+c|0,h+8|0,i|0)|0;Rg(h|0,f[e>>2]|0,c|0)|0;h=l;c=Mn(f[h>>2]|0,f[h+4>>2]|0,8-c|0,0)|0;h=l;f[h>>2]=c;f[h+4>>2]=I;h=e+12|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)pq(c);c=f[e>>2]|0;if(c|0){if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}d=l;e=g;c=f[d>>2]|0;d=f[d+4>>2]|0;h=g}e=f[e>>2]|0;n=f[a>>2]|0;g=e-n|0;c=_n(i|0,j|0,c|0,d|0)|0;c=Mn(c|0,I|0,g|0,0)|0;d=n;if(c>>>0<=g>>>0){if(c>>>0>>0?(k=d+c|0,(e|0)!=(k|0)):0)f[h>>2]=k}else xi(a,c-g|0);n=l;f[n>>2]=0;f[n+4>>2]=0;u=m;return}function Uf(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;m=o;if(b[a+288>>0]|0){u=o;return 1}l=a+8|0;j=f[l>>2]|0;j=(f[j+12>>2]|0)-(f[j+8>>2]|0)|0;n=j>>2;k=a+172|0;wi(k,n+-1|0);if(!((n|0)!=1&(j|0)>0)){u=o;return 1}i=a+12|0;a=0;j=0;while(1){h=f[l>>2]|0;c=f[h+8>>2]|0;if(((f[h+12>>2]|0)-c>>2|0)<=(j|0)){a=5;break}g=f[c+(j<<2)>>2]|0;if(f[g+56>>2]|0){c=f[k>>2]|0;f[c+(a*108|0)>>2]=j;d=f[c+(a*108|0)+76>>2]|0;h=c+(a*108|0)+80|0;e=f[h>>2]|0;if((e|0)!=(d|0))f[h>>2]=e+(~((e+-4-d|0)>>>2)<<2);e=f[i>>2]|0;Jj(c+(a*108|0)+76|0,(f[e+4>>2]|0)-(f[e>>2]|0)>>2);e=(f[k>>2]|0)+(a*108|0)+88|0;h=f[i>>2]|0;h=(f[h+4>>2]|0)-(f[h>>2]|0)>>2;f[m>>2]=-1;bg(e,h,m);h=f[k>>2]|0;f[h+(a*108|0)+100>>2]=0;zc(h+(a*108|0)+4|0,f[l>>2]|0,f[i>>2]|0,g)|0;a=a+1|0}j=j+1|0;if((j|0)>=(n|0)){a=11;break}}if((a|0)==5)ra(20748,20641,60,20738);else if((a|0)==11){u=o;return 1}return 0}function Vf(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;l=a+36|0;j=a+4|0;i=a+8|0;d=(f[i>>2]|0)-(f[j>>2]|0)>>2;g=a+40|0;b=f[g>>2]|0;c=f[l>>2]|0;e=b-c>>2;if(d>>>0<=e>>>0){if(d>>>0>>0?(h=c+(d<<2)|0,(b|0)!=(h|0)):0)do{e=b+-4|0;f[g>>2]=e;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[g>>2]|0}while((b|0)!=(h|0))}else xg(l,d-e|0);if((f[i>>2]|0)==(f[j>>2]|0)){a=1;u=m;return a|0}d=a+52|0;c=a+48|0;e=0;while(1){Ta[f[(f[a>>2]|0)+56>>2]&15](k,a,e);h=(f[l>>2]|0)+(e<<2)|0;g=f[k>>2]|0;f[k>>2]=0;b=f[h>>2]|0;f[h>>2]=g;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[k>>2]|0;f[k>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[(f[l>>2]|0)+(e<<2)>>2]|0;if(!b){b=0;c=19;break}if(e>>>0<(f[d>>2]|0)>>>0?f[(f[c>>2]|0)+(e>>>5<<2)>>2]&1<<(e&31)|0:0)dp(b);e=e+1|0;if(e>>>0>=(f[i>>2]|0)-(f[j>>2]|0)>>2>>>0){b=1;c=19;break}}if((c|0)==19){u=m;return b|0}return 0}function Wf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=u;u=u+16|0;j=l+4|0;i=l;Rh(f[c+12>>2]|0,b)|0;d=f[c+8>>2]|0;a:do if(d|0){k=b+16|0;h=b+4|0;while(1){e=d;if(!(xf(0,b,e+8|0)|0)){d=0;break}m=e+20|0;g=(f[e+24>>2]|0)-(f[m>>2]|0)|0;Rh(g,b)|0;e=f[m>>2]|0;m=k;n=f[m+4>>2]|0;if(!((n|0)>0|(n|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[h>>2];f[j>>2]=f[i>>2];Ke(b,j,e,e+g|0)|0}d=f[d>>2]|0;if(!d)break a}u=l;return d|0}while(0);Rh(f[c+32>>2]|0,b)|0;d=f[c+28>>2]|0;if(!d){n=1;u=l;return n|0}while(1){e=d;if(!(xf(0,b,e+8|0)|0)){d=0;e=10;break}Wf(a,b,f[e+20>>2]|0)|0;d=f[d>>2]|0;if(!d){d=1;e=10;break}}if((e|0)==10){u=l;return d|0}return 0}function Xf(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f[a+4>>2]=f[b+4>>2];j=a+8|0;k=b+8|0;if((a|0)==(b|0))return a|0;i=b+12|0;c=f[i>>2]|0;if(!c)c=0;else{h=a+16|0;do if(c>>>0>f[h>>2]<<5>>>0){d=f[j>>2]|0;if(d){pq(d);f[j>>2]=0;f[h>>2]=0;f[a+12>>2]=0;c=f[i>>2]|0}if((c|0)<0)Fp(j);else{e=((c+-1|0)>>>5)+1|0;g=an(e<<2)|0;f[j>>2]=g;f[a+12>>2]=0;f[h>>2]=e;e=f[i>>2]|0;break}}else{e=c;g=f[j>>2]|0}while(0);bm(g|0,f[k>>2]|0,((e+-1|0)>>>5<<2)+4|0)|0;c=f[i>>2]|0}f[a+12>>2]=c;h=a+20|0;i=b+20|0;g=b+24|0;c=f[g>>2]|0;if(!c)c=0;else{e=a+28|0;do if(c>>>0>f[e>>2]<<5>>>0){d=f[h>>2]|0;if(d){pq(d);f[h>>2]=0;f[e>>2]=0;f[a+24>>2]=0;c=f[g>>2]|0}if((c|0)<0)Fp(h);else{l=((c+-1|0)>>>5)+1|0;m=an(l<<2)|0;f[h>>2]=m;f[a+24>>2]=0;f[e>>2]=l;l=f[g>>2]|0;break}}else{l=c;m=f[h>>2]|0}while(0);bm(m|0,f[i>>2]|0,((l+-1|0)>>>5<<2)+4|0)|0;c=f[g>>2]|0}f[a+24>>2]=c;return a|0}function Yf(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;k=m;if(!(eh(a,c,d)|0)){l=0;u=m;return l|0}if((b[(f[a+8>>2]|0)+24>>0]|0)!=3){l=0;u=m;return l|0}i=f[c+48>>2]|0;c=an(32)|0;f[k>>2]=c;f[k+8>>2]=-2147483616;f[k+4>>2]=17;e=c;g=17860;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+17>>0]=0;h=i+16|0;e=f[h>>2]|0;if(e){c=h;a:while(1){g=e;while(1){if((f[g+16>>2]|0)>=(d|0))break;e=f[g+4>>2]|0;if(!e)break a;else g=e}e=f[g>>2]|0;if(!e){c=g;break}else c=g}if(((c|0)!=(h|0)?(f[c+16>>2]|0)<=(d|0):0)?(j=c+20|0,(Oh(j,k)|0)!=0):0)c=Bk(j,k,-1)|0;else l=12}else l=12;if((l|0)==12)c=Bk(i,k,-1)|0;if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);if((c|0)<1){l=0;u=m;return l|0}Oo(a+40|0,c);l=1;u=m;return l|0}function Zf(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;f[c>>2]=1;e=a+4|0;l=c+8|0;k=c+12|0;c=f[l>>2]|0;d=(f[k>>2]|0)-c|0;if(d>>>0<4294967292){Ak(l,d+4|0,0);c=f[l>>2]|0}j=c+d|0;i=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[j>>0]=i;b[j+1>>0]=i>>8;b[j+2>>0]=i>>16;b[j+3>>0]=i>>24;j=a+8|0;i=a+12|0;c=f[j>>2]|0;if((f[i>>2]|0)!=(c|0)){g=0;do{d=c+(g<<2)|0;c=f[l>>2]|0;e=(f[k>>2]|0)-c|0;if(e>>>0<4294967292){Ak(l,e+4|0,0);c=f[l>>2]|0}c=c+e|0;e=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;g=g+1|0;c=f[j>>2]|0}while(g>>>0<(f[i>>2]|0)-c>>2>>>0)}e=a+20|0;d=f[l>>2]|0;c=(f[k>>2]|0)-d|0;if(c>>>0<4294967292){Ak(l,c+4|0,0);l=f[l>>2]|0;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}else{l=d;l=l+c|0;k=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[l>>0]=k;b[l+1>>0]=k>>8;b[l+2>>0]=k>>16;b[l+3>>0]=k>>24;return}}function _f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=c;e=b;j=k-e|0;h=j>>2;i=a+8|0;d=f[i>>2]|0;g=f[a>>2]|0;l=g;if(h>>>0>d-g>>2>>>0){e=g;if(g){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(l|0))f[c>>2]=d+(~((d+-4-g|0)>>>2)<<2);pq(e);f[i>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(h>>>0>1073741823)Fp(a);l=d>>1;d=d>>2>>>0<536870911?(l>>>0>>0?h:l):1073741823;if(d>>>0>1073741823)Fp(a);e=an(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[i>>2]=e+(d<<2);if((j|0)<=0)return;Rg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}a=a+4|0;d=f[a>>2]|0;i=d-g>>2;j=h>>>0>i>>>0;i=j?b+(i<<2)|0:c;g=d;h=d;if((i|0)==(b|0))d=l;else{e=i+-4-e|0;d=b;c=l;while(1){f[c>>2]=f[d>>2];d=d+4|0;if((d|0)==(i|0))break;else c=c+4|0}d=l+((e>>>2)+1<<2)|0}if(j){d=k-i|0;if((d|0)<=0)return;Rg(h|0,i|0,d|0)|0;f[a>>2]=(f[a>>2]|0)+(d>>>2<<2);return}else{if((g|0)==(d|0))return;f[a>>2]=g+(~((g+-4-d|0)>>>2)<<2);return}}function $f(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=u;u=u+48|0;n=p+40|0;m=p+32|0;j=p+8|0;k=p;l=p+24|0;o=p+16|0;g=a+4|0;q=f[g>>2]|0;d=f[b>>2]|0;b=f[b+4>>2]|0;e=c;h=f[e>>2]|0;e=f[e+4>>2]|0;i=h-d<<3;f[g>>2]=q-b+e+i;g=(f[a>>2]|0)+(q>>>5<<2)|0;a=q&31;c=g;if((b|0)!=(a|0)){q=j;f[q>>2]=d;f[q+4>>2]=b;q=k;f[q>>2]=h;f[q+4>>2]=e;f[l>>2]=c;f[l+4>>2]=a;f[m>>2]=f[j>>2];f[m+4>>2]=f[j+4>>2];f[n>>2]=f[k>>2];f[n+4>>2]=f[k+4>>2];ve(o,m,n,l);u=p;return}e=e-b+i|0;a=d;if((e|0)>0){if(!b){h=a;c=e;b=0}else{h=32-b|0;c=(e|0)<(h|0)?e:h;h=-1>>>(h-c|0)&-1<>2]=f[g>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;g=g+(b>>>5<<2)|0;d=h;c=e-c|0;b=b&31}e=(c|0)/32|0;bm(g|0,d|0,e<<2|0)|0;d=c-(e<<5)|0;a=g+(e<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(e<<2)>>2]&b;b=d}}f[o>>2]=c;f[o+4>>2]=b;u=p;return}function ag(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;m=q;f[a+52>>2]=e;f[a+44>>2]=g;k=mq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;d=f[l>>2]|0;f[l>>2]=k;if(d|0)nq(d);k=a+36|0;g=f[k>>2]|0;h=f[g+4>>2]|0;i=f[g>>2]|0;d=h-i|0;if((d|0)<=0){u=q;return 1}d=(d>>>2)+-1|0;j=a+8|0;if(h-i>>2>>>0>d>>>0){o=i;p=d}else{i=g;Fp(i)}while(1){f[m>>2]=f[o+(p<<2)>>2];f[n>>2]=f[m>>2];uc(a,n,b,p);o=X(p,e)|0;ai(j,b+(o<<2)|0,f[l>>2]|0,c+(o<<2)|0);p=p+-1|0;if((p|0)<=-1){g=5;break}d=f[k>>2]|0;o=f[d>>2]|0;if((f[d+4>>2]|0)-o>>2>>>0<=p>>>0){g=6;break}}if((g|0)==5){u=q;return 1}else if((g|0)==6)Fp(d);return 0}function bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;h=f[a>>2]|0;j=h;do if(d-h>>2>>>0>=b>>>0){a=a+4|0;i=f[a>>2]|0;h=i-h>>2;g=h>>>0>>0;d=g?h:b;if(d|0){e=j;while(1){f[e>>2]=f[c>>2];d=d+-1|0;if(!d)break;else e=e+4|0}}if(!g){d=j+(b<<2)|0;if((i|0)==(d|0))return;else{e=a;d=i+(~((i+-4-d|0)>>>2)<<2)|0;break}}else{g=b-h|0;d=i;e=g;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=a;d=i+(g<<2)|0;break}}else{g=h;if(h){e=a+4|0;d=f[e>>2]|0;if((d|0)!=(j|0))f[e>>2]=d+(~((d+-4-h|0)>>>2)<<2);pq(g);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;d=0}if(b>>>0>1073741823)Fp(a);j=d>>1;d=d>>2>>>0<536870911?(j>>>0>>0?b:j):1073741823;if(d>>>0>1073741823)Fp(a);h=an(d<<2)|0;g=a+4|0;f[g>>2]=h;f[a>>2]=h;f[i>>2]=h+(d<<2);d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}e=g;d=h+(b<<2)|0}while(0);f[e>>2]=d;return}function cg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=f[d>>2]|0;m=f[d+4>>2]|0;a:do if((e|0)==(m|0)){n=a+8|0;o=a+12|0;q=0}else{k=f[c>>2]|0;l=a+8|0;j=a+12|0;d=0;b:while(1){h=f[e>>2]|0;i=f[k+(h<<2)>>2]|0;if((i|0)>=(d|0)){d=f[l>>2]|0;c=(f[j>>2]|0)-d|0;if((c|0)>0){g=c>>2;a=0;do{c=f[d+(a<<2)>>2]|0;if(b[c+84>>0]|0)break b;c=f[c+68>>2]|0;f[c+(i<<2)>>2]=f[c+(h<<2)>>2];a=a+1|0}while((a|0)<(g|0))}d=i+1|0}e=e+4|0;if((e|0)==(m|0)){n=l;o=j;q=d;break a}}ra(20060,20079,89,20179)}while(0);c=f[o>>2]|0;d=f[n>>2]|0;if((c-d|0)>0)j=0;else return;do{g=f[d+(j<<2)>>2]|0;b[g+84>>0]=0;h=g+68|0;g=g+72|0;e=f[g>>2]|0;a=f[h>>2]|0;i=e-a>>2;if(q>>>0<=i>>>0){if(q>>>0>>0?(p=a+(q<<2)|0,(e|0)!=(p|0)):0)f[g>>2]=e+(~((e+-4-p|0)>>>2)<<2)}else{lh(h,q-i|0,6108);d=f[n>>2]|0;c=f[o>>2]|0}j=j+1|0}while((j|0)<(c-d>>2|0));return}function dg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;n=q+4|0;m=q;f[a+52>>2]=e;f[a+44>>2]=g;k=mq(e>>>0>1073741823?-1:e<<2)|0;l=a+48|0;d=f[l>>2]|0;f[l>>2]=k;if(d|0)nq(d);k=a+36|0;g=f[k>>2]|0;h=f[g+4>>2]|0;i=f[g>>2]|0;d=h-i|0;if((d|0)<=0){u=q;return 1}d=(d>>>2)+-1|0;j=a+8|0;if(h-i>>2>>>0>d>>>0){o=i;p=d}else{i=g;Fp(i)}while(1){f[m>>2]=f[o+(p<<2)>>2];f[n>>2]=f[m>>2];sc(a,n,b,p);o=X(p,e)|0;ai(j,b+(o<<2)|0,f[l>>2]|0,c+(o<<2)|0);p=p+-1|0;if((p|0)<=-1){g=5;break}d=f[k>>2]|0;o=f[d>>2]|0;if((f[d+4>>2]|0)-o>>2>>>0<=p>>>0){g=6;break}}if((g|0)==5){u=q;return 1}else if((g|0)==6)Fp(d);return 0}function eg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+16|0;o=q;if(!b){c=0;u=q;return c|0}n=b+96|0;m=b+100|0;f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;b=f[m>>2]|0;a=f[n>>2]|0;e=(b-a|0)/12|0;if(e>>>0>=c>>>0){if(e>>>0>c>>>0?(g=a+(c*12|0)|0,(b|0)!=(g|0)):0)f[m>>2]=b+(~(((b+-12-g|0)>>>0)/12|0)*12|0)}else Dg(n,c-e|0,o);if((c|0)<=0){c=1;u=q;return c|0}a=f[n>>2]|0;k=0;do{h=k*3|0;i=f[d+(h<<2)>>2]|0;j=f[d+(h+1<<2)>>2]|0;h=f[d+(h+2<<2)>>2]|0;e=f[m>>2]|0;g=(e-a|0)/12|0;b=a;l=k;k=k+1|0;if((l|0)>=(g|0)){f[o>>2]=0;f[o+4>>2]=0;f[o+8>>2]=0;if(k>>>0<=g>>>0){if(k>>>0>>0?(p=b+(k*12|0)|0,(e|0)!=(p|0)):0)f[m>>2]=e+(~(((e+-12-p|0)>>>0)/12|0)*12|0)}else{Dg(n,k-g|0,o);a=f[n>>2]|0;b=a}}f[b+(l*12|0)>>2]=i;f[b+(l*12|0)+4>>2]=j;f[b+(l*12|0)+8>>2]=h}while((k|0)!=(c|0));a=1;u=q;return a|0}function fg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;pq(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Fp(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Fp(a);e=an(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;if((g|0)==(c|0))c=k;else{e=k;while(1){b[e>>0]=b[c>>0]|0;c=c+1|0;if((c|0)==(g|0))break;else e=e+1|0}c=k+(g-j)|0}if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}function gg(a){a=a|0;Uk(a);Uk(a+32|0);Uk(a+64|0);Uk(a+96|0);Uk(a+128|0);Uk(a+160|0);Uk(a+192|0);Uk(a+224|0);Uk(a+256|0);Uk(a+288|0);Uk(a+320|0);Uk(a+352|0);Uk(a+384|0);Uk(a+416|0);Uk(a+448|0);Uk(a+480|0);Uk(a+512|0);Uk(a+544|0);Uk(a+576|0);Uk(a+608|0);Uk(a+640|0);Uk(a+672|0);Uk(a+704|0);Uk(a+736|0);Uk(a+768|0);Uk(a+800|0);Uk(a+832|0);Uk(a+864|0);Uk(a+896|0);Uk(a+928|0);Uk(a+960|0);Uk(a+992|0);Uk(a+1024|0);return}function hg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;f[h>>2]=b;if((b|0)<=-1)ra(20264,20276,110,20374);i=a+8|0;if(((f[a+12>>2]|0)-(f[i>>2]|0)>>2|0)<=(b|0))ph(i,b+1|0);d=f[(f[c>>2]|0)+56>>2]|0;do if((d|0)<5){g=a+20+(d*12|0)+4|0;e=f[g>>2]|0;if((e|0)==(f[a+20+(d*12|0)+8>>2]|0)){Gi(a+20+(d*12|0)|0,h);break}else{f[e>>2]=b;f[g>>2]=e+4;break}}while(0);g=f[c>>2]|0;a=f[h>>2]|0;f[g+60>>2]=a;a=(f[i>>2]|0)+(a<<2)|0;f[c>>2]=0;b=f[a>>2]|0;f[a>>2]=g;if(!b){u=j;return}a=b+88|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d+8>>2]|0;if(e|0){g=d+12|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;pq(e)}pq(d)}d=f[b+68>>2]|0;if(d|0){g=b+72|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}a=b+64|0;d=f[a>>2]|0;f[a>>2]=0;if(d|0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;pq(e)}pq(d)}pq(b);u=j;return}function ig(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=$(h);var i=0,j=0,k=0,l=0,m=0,n=0;n=u;u=u+16|0;m=n;l=n+4|0;f[m>>2]=c;c=an(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=17;i=c;j=17860;k=i+17|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+17>>0]=0;Hj(Dd(a,m)|0,l,d);if((b[l+11>>0]|0)<0)pq(f[l>>2]|0);c=an(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=19;i=c;j=17803;k=i+19|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+19>>0]=0;ci(Dd(a,m)|0,l,g,e);if((b[l+11>>0]|0)<0)pq(f[l>>2]|0);c=an(32)|0;f[l>>2]=c;f[l+8>>2]=-2147483616;f[l+4>>2]=18;i=c;j=17823;k=i+18|0;do{b[i>>0]=b[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));b[c+18>>0]=0;Cj(Dd(a,m)|0,l,h);if((b[l+11>>0]|0)>=0){u=n;return}pq(f[l>>2]|0);u=n;return}function jg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;s=u;u=u+16|0;r=s+4|0;q=s;n=a+8|0;g=f[n>>2]|0;a=f[g+40>>2]|0;p=mq((a|0)>-1?a:-1)|0;l=c+4|0;h=f[l>>2]|0;e=f[c>>2]|0;if((h|0)==(e|0)){nq(p);u=s;return 1}o=d+16|0;m=d+4|0;k=p+a|0;i=g;j=g;g=0;while(1){a=f[e+(g<<2)>>2]|0;if(!(b[i+84>>0]|0))a=f[(f[i+68>>2]|0)+(a<<2)>>2]|0;t=j+48|0;v=f[t>>2]|0;t=f[t+4>>2]|0;w=j+40|0;i=f[w>>2]|0;a=$m(i|0,f[w+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Mn(a|0,I|0,v|0,t|0)|0;Rg(p|0,(f[f[j>>2]>>2]|0)+a|0,i|0)|0;j=o;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)a=h;else{f[q>>2]=f[m>>2];f[r>>2]=f[q>>2];Ke(d,r,p,k)|0;e=f[c>>2]|0;a=f[l>>2]|0}g=g+1|0;if(g>>>0>=a-e>>2>>>0)break;j=f[n>>2]|0;i=j;h=a}nq(p);u=s;return 1}function kg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+16|0;n=p;d=f[b>>2]|0;f[n>>2]=d;l=a+12|0;c=(d|0)<0;b=d+1|0;do if(!c){f[n+4>>2]=((b|0)%3|0|0)==0?d+-2|0:b;if(!((d>>>0)%3|0)){b=d+2|0;break}else{b=d+-1|0;break}}else{f[n+4>>2]=d;b=d}while(0);f[n+8>>2]=b;j=c?-1073741824:(d>>>0)/3|0;i=a+28|0;k=(f[i>>2]|0)+(j>>>5<<2)|0;f[k>>2]=1<<(j&31)|f[k>>2];k=a+172|0;j=a+176|0;h=a+280|0;c=d;b=0;while(1){if((((c|0)>=0?(o=f[(f[(f[l>>2]|0)+12>>2]|0)+(c<<2)>>2]|0,(o|0)>=0):0)?(g=(o>>>0)/3|0,(f[(f[i>>2]|0)+(g>>>5<<2)>>2]&1<<(g&31)|0)==0):0)?(m=f[k>>2]|0,(f[j>>2]|0)!=(m|0)):0){g=c>>>5;e=1<<(c&31);c=m;a=0;do{d=(f[h>>2]|0)+(a<<5)|0;if(!(e&f[(f[c+(a*108|0)+4>>2]|0)+(g<<2)>>2]))$i(d,0);else $i(d,1);a=a+1|0;c=f[k>>2]|0}while(a>>>0<(((f[j>>2]|0)-c|0)/108|0)>>>0)}b=b+1|0;if((b|0)==3)break;c=f[n+(b<<2)>>2]|0}u=p;return 1}function lg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=a+4|0;g=f[e>>2]|0;if(!g){f[c>>2]=e;o=e;return o|0}m=b[d+11>>0]|0;l=m<<24>>24<0;m=l?f[d+4>>2]|0:m&255;l=l?f[d>>2]|0:d;d=a+4|0;while(1){h=g+16|0;a=b[h+11>>0]|0;j=a<<24>>24<0;a=j?f[g+20>>2]|0:a&255;i=a>>>0>>0;e=i?a:m;if((e|0)!=0?(o=fl(l,j?f[h>>2]|0:h,e)|0,(o|0)!=0):0)if((o|0)<0)k=8;else k=10;else if(m>>>0>>0)k=8;else k=10;if((k|0)==8){e=f[g>>2]|0;if(!e){k=9;break}else d=g}else if((k|0)==10){k=0;e=m>>>0>>0?m:a;if((e|0)!=0?(n=fl(j?f[h>>2]|0:h,l,e)|0,(n|0)!=0):0){if((n|0)>=0){k=16;break}}else k=12;if((k|0)==12?(0,!i):0){k=16;break}d=g+4|0;e=f[d>>2]|0;if(!e){k=15;break}}g=e}if((k|0)==9){f[c>>2]=g;o=g;return o|0}else if((k|0)==15){f[c>>2]=g;o=d;return o|0}else if((k|0)==16){f[c>>2]=g;o=d;return o|0}return 0}function mg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+4|0;c=f[n>>2]|0;m=f[a>>2]|0;g=m;do if((c|0)==(m|0)){m=a+8|0;d=f[m>>2]|0;l=a+12|0;k=f[l>>2]|0;e=k;if(d>>>0>>0){a=d;i=((e-a>>2)+1|0)/2|0;g=d+(i<<2)|0;e=a-c|0;a=e>>2;h=g+(0-a<<2)|0;if(!a)c=g;else{bm(h|0,c|0,e|0)|0;d=f[m>>2]|0;c=h}f[n>>2]=c;f[m>>2]=d+(i<<2);break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}h=an(e<<2)|0;i=h;k=h+((e+3|0)>>>2<<2)|0;j=k;h=h+(e<<2)|0;if((c|0)==(d|0))d=j;else{e=k;g=j;do{f[e>>2]=f[c>>2];e=g+4|0;g=e;c=c+4|0}while((c|0)!=(d|0));c=f[a>>2]|0;d=g}f[a>>2]=i;f[n>>2]=j;f[m>>2]=d;f[l>>2]=h;if(!c)c=k;else{pq(c);c=f[n>>2]|0}}while(0);f[c+-4>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+-4;return}function ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=u;u=u+16|0;h=l+8|0;i=l+4|0;g=l;k=a+12|0;j=a+4|0;c=f[j>>2]|0;if((c|0)==(f[a+8>>2]|0)){Gi(a,k);c=f[j>>2]|0}else{f[c>>2]=f[k>>2];c=c+4|0;f[j>>2]=c}d=f[a>>2]|0;f[g>>2]=c-d;e=b+16|0;c=e;m=f[c+4>>2]|0;if(!((m|0)>0|(m|0)==0&(f[c>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ke(b,h,g,g+4|0)|0;d=f[a>>2]|0;c=f[g>>2]|0;m=e;g=f[m+4>>2]|0;if(!((g|0)>0|(g|0)==0&(f[m>>2]|0)>>>0>0)){f[i>>2]=f[b+4>>2];f[h>>2]=f[i>>2];Ke(b,h,d,d+c|0)|0;d=f[a>>2]|0}}c=f[j>>2]|0;if((c|0)==(d|0)){f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}f[j>>2]=c+(~((c+-4-d|0)>>>2)<<2);f[k>>2]=0;m=a+16|0;f[m>>2]=0;u=l;return}function og(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Jj(f[a+4>>2]|0,(f[c+56>>2]|0)-(f[c+52>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[(f[g>>2]|0)+64>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];mc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];mc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c;i=b;j=k-i|0;g=j>>2;h=a+8|0;d=f[h>>2]|0;l=f[a>>2]|0;m=l;if(g>>>0<=d-l>>2>>>0){j=a+4|0;e=(f[j>>2]|0)-l>>2;h=g>>>0>e>>>0;g=h?b+(e<<2)|0:c;e=g;c=e-i|0;d=c>>2;if(d|0)bm(l|0,b|0,c|0)|0;c=m+(d<<2)|0;if(h){d=k-e|0;if((d|0)<=0)return;Rg(f[j>>2]|0,g|0,d|0)|0;f[j>>2]=(f[j>>2]|0)+(d>>>2<<2);return}else{d=f[j>>2]|0;if((d|0)==(c|0))return;f[j>>2]=d+(~((d+-4-c|0)>>>2)<<2);return}}e=l;if(l){c=a+4|0;d=f[c>>2]|0;if((d|0)!=(m|0))f[c>>2]=d+(~((d+-4-l|0)>>>2)<<2);pq(e);f[h>>2]=0;f[c>>2]=0;f[a>>2]=0;d=0}if(g>>>0>1073741823)Fp(a);m=d>>1;d=d>>2>>>0<536870911?(m>>>0>>0?g:m):1073741823;if(d>>>0>1073741823)Fp(a);e=an(d<<2)|0;c=a+4|0;f[c>>2]=e;f[a>>2]=e;f[h>>2]=e+(d<<2);if((j|0)<=0)return;Rg(e|0,b|0,j|0)|0;f[c>>2]=e+(j>>>2<<2);return}function qg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;l=m;k=a+40|0;j=(f[c>>2]|0)+(f[k>>2]|0)|0;e=a+24|0;i=f[a+32>>2]|0;if(i>>>0<=16383)ra(19329,19748,356,19359);if(i>>>0>=4194304)ra(19369,19748,357,19359);d=i+-16384|0;do if(d>>>0>=64){g=a+28|0;a=(f[e>>2]|0)+(f[g>>2]|0)|0;if(d>>>0<16384){b[a>>0]=i;h=2;e=a+1|0;a=g;d=i>>>8;break}else{d=i+8372224|0;b[a>>0]=d;b[a+1>>0]=d>>>8;h=3;e=a+2|0;a=g;d=d>>>16;break}}else{a=a+28|0;h=1;e=(f[e>>2]|0)+(f[a>>2]|0)|0}while(0);b[e>>0]=d;h=(f[a>>2]|0)+h|0;i=((h|0)<0)<<31>>31;ln(l);gh(h,i,l)|0;a=l+4|0;g=(f[a>>2]|0)-(f[l>>2]|0)|0;bm(j+g|0,j|0,h|0)|0;Rg(j|0,f[l>>2]|0,g|0)|0;d=f[k>>2]|0;k=f[k+4>>2]|0;j=Mn(g|0,0,h|0,i|0)|0;k=Mn(j|0,I|0,d|0,k|0)|0;pl(c,k,I);k=l+12|0;d=f[k>>2]|0;f[k>>2]=0;if(d|0)pq(d);d=f[l>>2]|0;if(!d){u=m;return}if((f[a>>2]|0)!=(d|0))f[a>>2]=d;pq(d);u=m;return}function rg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+16|0;i=m+4|0;j=m;l=m+8|0;k=a+4|0;if((f[k>>2]|0)==-1){l=0;u=m;return l|0}g=f[a+8>>2]|0;h=c+16|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){e=(f[a+12>>2]|0)-g|0;f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,g,g+e|0)|0;e=h;d=f[e>>2]|0;e=f[e+4>>2]|0;g=a+20|0;if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,g,g+4|0)|0;d=h;e=f[d+4>>2]|0;d=f[d>>2]|0}}b[l>>0]=f[k>>2];if(!((e|0)>0|(e|0)==0&d>>>0>0)){f[j>>2]=f[c+4>>2];f[i>>2]=f[j>>2];Ke(c,i,l,l+1|0)|0}l=1;u=m;return l|0}function sg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=c;h=d-j|0;i=a+8|0;e=f[i>>2]|0;g=f[a>>2]|0;k=g;if(h>>>0>(e-g|0)>>>0){if(g){e=a+4|0;if((f[e>>2]|0)!=(k|0))f[e>>2]=k;pq(k);f[i>>2]=0;f[e>>2]=0;f[a>>2]=0;e=0}if((h|0)<0)Fp(a);g=e<<1;g=e>>>0<1073741823?(g>>>0>>0?h:g):2147483647;if((g|0)<0)Fp(a);e=an(g)|0;h=a+4|0;f[h>>2]=e;f[a>>2]=e;f[i>>2]=e+g;if((c|0)==(d|0))return;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[h>>2]|0)+1|0;f[h>>2]=e}while((c|0)!=(d|0));return}else{a=a+4|0;i=(f[a>>2]|0)-g|0;h=h>>>0>i>>>0;i=c+i|0;g=h?i:d;e=g-j|0;if(e|0)bm(k|0,c|0,e|0)|0;c=k+e|0;if(!h){if((f[a>>2]|0)==(c|0))return;f[a>>2]=c;return}if((g|0)==(d|0))return;e=f[a>>2]|0;c=i;do{b[e>>0]=b[c>>0]|0;c=c+1|0;e=(f[a>>2]|0)+1|0;f[a>>2]=e}while((c|0)!=(d|0));return}}function tg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=a+8|0;c=f[n>>2]|0;l=a+12|0;m=f[l>>2]|0;e=m;h=c;do if((c|0)==(m|0)){m=a+4|0;k=f[m>>2]|0;d=f[a>>2]|0;g=d;if(k>>>0>d>>>0){c=k;g=((c-g>>2)+1|0)/-2|0;e=k+(g<<2)|0;c=h-c|0;d=c>>2;if(!d)c=k;else{bm(e|0,k|0,c|0)|0;c=f[m>>2]|0}a=e+(d<<2)|0;f[n>>2]=a;f[m>>2]=c+(g<<2);c=a;break}e=e-g>>1;e=(e|0)==0?1:e;if(e>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}h=an(e<<2)|0;i=h;g=h+(e>>>2<<2)|0;j=g;h=h+(e<<2)|0;if((k|0)==(c|0))c=j;else{e=g;d=k;g=j;do{f[e>>2]=f[d>>2];e=g+4|0;g=e;d=d+4|0}while((d|0)!=(c|0));d=f[a>>2]|0;c=g}f[a>>2]=i;f[m>>2]=j;f[n>>2]=c;f[l>>2]=h;if(d){pq(d);c=f[n>>2]|0}}while(0);f[c>>2]=f[b>>2];f[n>>2]=(f[n>>2]|0)+4;return}function ug(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+8|0;f[c>>2]=f[b>>2];Xf(a+12|0,b+4|0)|0;d=a+44|0;e=b+36|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];if((c|0)==(b|0)){f[a+96>>2]=f[b+88>>2];return}else{_f(a+60|0,f[b+52>>2]|0,f[b+56>>2]|0);_f(a+72|0,f[b+64>>2]|0,f[b+68>>2]|0);_f(a+84|0,f[b+76>>2]|0,f[b+80>>2]|0);f[a+96>>2]=f[b+88>>2];pg(a+100|0,f[b+92>>2]|0,f[b+96>>2]|0);return}}function vg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=f[b>>2]|0;j=f[a>>2]|0;l=f[d>>2]|0;d=f[l>>2]|0;m=(f[l+4>>2]|0)-d>>3;if(m>>>0<=i>>>0)Fp(l);k=d;if(m>>>0<=j>>>0)Fp(l);d=f[k+(i<<3)>>2]|0;e=f[c>>2]|0;if(m>>>0<=e>>>0)Fp(l);h=k+(j<<3)|0;g=(f[k+(e<<3)>>2]|0)>>>0>>0;if(d>>>0<(f[h>>2]|0)>>>0){if(g){f[a>>2]=e;f[c>>2]=j;b=1;return b|0}f[a>>2]=i;f[b>>2]=j;d=f[c>>2]|0;if(m>>>0<=d>>>0)Fp(l);if((f[k+(d<<3)>>2]|0)>>>0>=(f[h>>2]|0)>>>0){b=1;return b|0}f[b>>2]=d;f[c>>2]=j;b=2;return b|0}if(!g){b=0;return b|0}f[b>>2]=e;f[c>>2]=i;d=f[b>>2]|0;e=f[a>>2]|0;if(m>>>0<=d>>>0)Fp(l);if(m>>>0<=e>>>0)Fp(l);if((f[k+(d<<3)>>2]|0)>>>0>=(f[k+(e<<3)>>2]|0)>>>0){b=1;return b|0}f[a>>2]=d;f[b>>2]=e;b=2;return b|0}function wg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;o=r+4|0;q=r;p=a+4|0;c=f[p>>2]|0;m=a+8|0;d=f[m>>2]|0;if((d|0)!=(c|0)){c=d+(~((d+-4-c|0)>>>2)<<2)|0;f[m>>2]=c}l=a+16|0;j=f[l>>2]|0;k=a+20|0;d=f[k>>2]|0;e=j;if((d|0)!=(j|0))f[k>>2]=d+(~((d+-4-e|0)>>>2)<<2);d=f[b>>2]|0;j=f[b+4>>2]|0;if((d|0)==(j|0)){u=r;return}i=a+12|0;h=d;do{d=f[h>>2]|0;f[o>>2]=d;if((c|0)==(f[i>>2]|0)){Gi(p,o);e=f[l>>2]|0}else{f[c>>2]=d;f[m>>2]=c+4}d=f[o>>2]|0;b=f[k>>2]|0;g=b-e>>2;c=e;if((d|0)<(g|0))b=c;else{a=d+1|0;f[q>>2]=-1;if(a>>>0<=g>>>0){if(a>>>0>>0?(n=c+(a<<2)|0,(b|0)!=(n|0)):0)f[k>>2]=b+(~((b+-4-n|0)>>>2)<<2)}else{lh(l,a-g|0,q);e=f[l>>2]|0;d=f[o>>2]|0;c=e}b=c}c=f[m>>2]|0;f[b+(d<<2)>>2]=(c-(f[p>>2]|0)>>2)+-1;h=h+4|0}while((h|0)!=(j|0));u=r;return}function xg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+8|0;e=f[m>>2]|0;l=a+4|0;d=f[l>>2]|0;c=d;if(e-d>>2>>>0>=b>>>0){cj(d|0,0,b<<2|0)|0;f[l>>2]=d+(b<<2);return}g=f[a>>2]|0;d=d-g>>2;j=d+b|0;k=g;if(j>>>0>1073741823)Fp(a);i=e-g|0;h=i>>1;h=i>>2>>>0<536870911?(h>>>0>>0?j:h):1073741823;do if(h)if(h>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{i=an(h<<2)|0;break}else i=0;while(0);e=i+(d<<2)|0;cj(e|0,0,b<<2|0)|0;d=e;b=i+(h<<2)|0;h=i+(j<<2)|0;if((c|0)!=(k|0)){do{c=c+-4|0;j=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=j;e=d+-4|0;d=e}while((c|0)!=(k|0));g=f[a>>2]|0;c=f[l>>2]|0}f[a>>2]=d;f[l>>2]=h;f[m>>2]=b;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;pq(g);return}function yg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;o=a+40|0;f[a+44>>2]=g;l=a+36|0;h=f[l>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;d=i-j|0;if((d|0)<=0){u=r;return 1}d=(d>>>2)+-1|0;k=a+8|0;g=a+48|0;if(i-j>>2>>>0>d>>>0){p=j;q=d}else{a=h;Fp(a)}while(1){f[m>>2]=f[p+(q<<2)>>2];f[n>>2]=f[m>>2];nb(o,n,b,q);p=X(q,e)|0;ai(k,b+(p<<2)|0,g,c+(p<<2)|0);q=q+-1|0;if((q|0)<=-1){g=3;break}d=f[l>>2]|0;p=f[d>>2]|0;if((f[d+4>>2]|0)-p>>2>>>0<=q>>>0){g=4;break}}if((g|0)==3){u=r;return 1}else if((g|0)==4)Fp(d);return 0}function zg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=6080;b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}c=f[a+56>>2]|0;if(c|0){d=a+60|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}b=f[a+44>>2]|0;if(b|0){d=a+48|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}$h(a+8|0);a=a+4|0;e=f[a>>2]|0;f[a>>2]=0;if(!e)return;d=e+40|0;b=f[d>>2]|0;if(b|0){a=e+44|0;c=f[a>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[a>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Ji(c);pq(c)}c=f[a>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}pq(b)}Ji(e);pq(e);return}function Ag(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;d=f[a+8>>2]|0;e=f[c>>2]|0;h=(e|0)/3|0;if((e|0)<=-3)ra(19893,19918,63,20001);g=f[d+96>>2]|0;if((h|0)>=(((f[d+100>>2]|0)-g|0)/12|0|0))ra(20006,19918,64,20001);h=f[g+(h*12|0)+(((e|0)%3|0)<<2)>>2]|0;d=f[a+12>>2]|0;f[i>>2]=h;d=f[d+4>>2]|0;g=d+4|0;e=f[g>>2]|0;if((e|0)==(f[d+8>>2]|0))Gi(d,i);else{f[e>>2]=h;f[g>>2]=e+4}h=a+4|0;e=f[h>>2]|0;g=e+4|0;d=f[g>>2]|0;if((d|0)==(f[e+8>>2]|0)){Gi(e,c);i=f[h>>2]|0;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}else{f[d>>2]=f[c>>2];f[g>>2]=d+4;i=e;c=i+24|0;a=f[c>>2]|0;b=f[b>>2]|0;i=i+12|0;i=f[i>>2]|0;b=i+(b<<2)|0;f[b>>2]=a;b=f[c>>2]|0;b=b+1|0;f[c>>2]=b;u=j;return}}function Bg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+32|0;i=n+24|0;j=n+16|0;k=n+8|0;m=n;l=a+4|0;o=f[l>>2]|0;e=f[b>>2]|0;b=f[b+4>>2]|0;h=f[c>>2]|0;d=f[c+4>>2]|0;g=h-e<<3;f[l>>2]=o-b+d+g;l=(f[a>>2]|0)+(o>>>5<<2)|0;a=o&31;c=l;if((b|0)!=(a|0)){f[i>>2]=e;f[i+4>>2]=b;f[j>>2]=h;f[j+4>>2]=d;f[k>>2]=c;f[k+4>>2]=a;ze(m,i,j,k);u=n;return}d=d-b+g|0;a=e;if((d|0)>0){if(!b){h=a;c=d;a=l;b=0}else{h=32-b|0;c=(d|0)<(h|0)?d:h;h=-1>>>(h-c|0)&-1<>2]=f[l>>2]&~h|f[a>>2]&h;b=c+b|0;h=a+4|0;e=h;c=d-c|0;a=l+(b>>>5<<2)|0;b=b&31}g=(c|0)/32|0;bm(a|0,e|0,g<<2|0)|0;d=c-(g<<5)|0;a=a+(g<<2)|0;c=a;if((d|0)>0){b=-1>>>(32-d|0);f[a>>2]=f[a>>2]&~b|f[h+(g<<2)>>2]&b;b=d}}f[m>>2]=c;f[m+4>>2]=b;u=n;return}function Cg(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;d=h+4|0;e=h;g=a+8|0;c=f[g>>2]|0;Jj(f[a+4>>2]|0,(f[c+28>>2]|0)-(f[c+24>>2]|0)>>2);c=a+84|0;a=f[c>>2]|0;if(!a){c=f[g>>2]|0;c=(f[c+4>>2]|0)-(f[c>>2]|0)>>2;a=(c>>>0)/3|0;if(c>>>0<=2){u=h;return 1}b=0;do{f[e>>2]=b*3;f[d>>2]=f[e>>2];wc(g,d);b=b+1|0}while((b|0)<(a|0));u=h;return 1}else{b=f[a>>2]|0;if((f[a+4>>2]|0)==(b|0)){u=h;return 1}a=0;do{f[e>>2]=f[b+(a<<2)>>2];f[d>>2]=f[e>>2];wc(g,d);a=a+1|0;i=f[c>>2]|0;b=f[i>>2]|0}while(a>>>0<(f[i+4>>2]|0)-b>>2>>>0);u=h;return 1}return 0}function Dg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if(((e-d|0)/12|0)>>>0>=b>>>0){do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=(f[k>>2]|0)+12|0;f[k>>2]=d;b=b+-1|0}while((b|0)!=0);return}g=f[a>>2]|0;h=(d-g|0)/12|0;d=h+b|0;if(d>>>0>357913941)Fp(a);g=(e-g|0)/12|0;i=g<<1;d=g>>>0<178956970?(i>>>0>>0?d:i):357913941;do if(d)if(d>>>0>357913941){k=sa(8)|0;to(k,20196);f[k>>2]=7152;wa(k|0,1112,107)}else{e=an(d*12|0)|0;break}else e=0;while(0);i=e+(h*12|0)|0;h=e+(d*12|0)|0;d=i;g=i;do{f[d>>2]=f[c>>2];f[d+4>>2]=f[c+4>>2];f[d+8>>2]=f[c+8>>2];d=g+12|0;g=d;b=b+-1|0}while((b|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;b=i+(((e|0)/-12|0)*12|0)|0;if((e|0)>0)Rg(b|0,d|0,e|0)|0;f[a>>2]=b;f[k>>2]=g;f[j>>2]=h;if(!d)return;pq(d);return}function Eg(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+16|0;n=r+4|0;m=r;o=a+40|0;f[a+44>>2]=g;l=a+36|0;h=f[l>>2]|0;i=f[h+4>>2]|0;j=f[h>>2]|0;d=i-j|0;if((d|0)<=0){u=r;return 1}d=(d>>>2)+-1|0;k=a+8|0;g=a+48|0;if(i-j>>2>>>0>d>>>0){p=j;q=d}else{a=h;Fp(a)}while(1){f[m>>2]=f[p+(q<<2)>>2];f[n>>2]=f[m>>2];mb(o,n,b,q);p=X(q,e)|0;ai(k,b+(p<<2)|0,g,c+(p<<2)|0);q=q+-1|0;if((q|0)<=-1){g=3;break}d=f[l>>2]|0;p=f[d>>2]|0;if((f[d+4>>2]|0)-p>>2>>>0<=q>>>0){g=4;break}}if((g|0)==3){u=r;return 1}else if((g|0)==4)Fp(d);return 0}function Fg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;g=f[c>>2]|0;f[c>>2]=0;f[i>>2]=g;hg(a,b,i);g=f[i>>2]|0;f[i>>2]=0;if(g|0){i=g+88|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}i=g+64|0;c=f[i>>2]|0;f[i>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}pq(g)}i=a+84|0;h=a+88|0;c=f[h>>2]|0;g=f[i>>2]|0;a=c-g>>2;if((a|0)>(b|0)){u=j;return}e=b+1|0;d=c;if(e>>>0>a>>>0){rh(i,e-a|0);u=j;return}if(e>>>0>=a>>>0){u=j;return}c=g+(e<<2)|0;if((d|0)==(c|0)){u=j;return}f[h>>2]=d+(~((d+-4-c|0)>>>2)<<2);u=j;return}function Gg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l+4|0;j=l;g=an(32)|0;f[a>>2]=g;f[a+4>>2]=c+4;h=a+8|0;b[h>>0]=0;f[g+16>>2]=f[d>>2];i=g+20|0;f[g+24>>2]=0;f[g+28>>2]=0;c=g+24|0;f[i>>2]=c;a=f[d+4>>2]|0;g=d+8|0;if((a|0)==(g|0)){b[h>>0]=1;u=l;return}e=c;do{c=a+16|0;f[j>>2]=e;f[k>>2]=f[j>>2];Xg(i,k,c,c)|0;c=f[a+4>>2]|0;if(!c){c=a+8|0;d=f[c>>2]|0;if((f[d>>2]|0)==(a|0))a=d;else do{d=f[c>>2]|0;c=d+8|0;a=f[c>>2]|0}while((f[a>>2]|0)!=(d|0))}else{a=c;while(1){c=f[a>>2]|0;if(!c)break;else a=c}}}while((a|0)!=(g|0));b[h>>0]=1;u=l;return}function Hg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=a+4|0;f[i>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+48>>2]|0;e=an(32)|0;f[j>>2]=e;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=e;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[e+19>>0]=0;d=(Oh(d,j)|0)==0;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);e=f[(f[i>>2]|0)+48>>2]|0;if(d){j=(fi(e)|0)>5&1;b[a+352>>0]=j;u=k;return 1}d=an(32)|0;f[j>>2]=d;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=d;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[d+19>>0]=0;i=(Qj(e,j,0)|0)&1;b[a+352>>0]=i;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);u=k;return 1}function Ig(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0;i=a+108|0;d=(f[a+112>>2]|0)-(f[i>>2]|0)|0;g=(d|0)/12|0;e=a+4|0;Rh(g,f[(f[e>>2]|0)+44>>2]|0)|0;if(!d)return 1;a=0;c=0;while(1){j=f[i>>2]|0;d=j+(a*12|0)+4|0;Rh((f[d>>2]|0)-c|0,f[(f[e>>2]|0)+44>>2]|0)|0;Rh((f[d>>2]|0)-(f[j+(a*12|0)>>2]|0)|0,f[(f[e>>2]|0)+44>>2]|0)|0;a=a+1|0;if(a>>>0>=g>>>0)break;else c=f[d>>2]|0}ti(f[(f[e>>2]|0)+44>>2]|0,g,0,0)|0;c=0;do{a=f[(f[e>>2]|0)+44>>2]|0;j=a+16|0;d=f[j+4>>2]|0;if((d|0)>0|(d|0)==0&(f[j>>2]|0)>>>0>0){l=f[a+12>>2]|0;j=l+4|0;a=f[j>>2]|0;k=b[(f[i>>2]|0)+(c*12|0)+8>>0]&1;d=a>>>3;a=a&7;m=(f[l>>2]|0)+d|0;b[m>>0]=(h[m>>0]|0)&(1<>2]|0)+d|0;b[d>>0]=h[d>>0]|0|k<>2]=(f[j>>2]|0)+1}c=c+1|0}while(c>>>0>>0);Tf(f[(f[e>>2]|0)+44>>2]|0);return 1}function Jg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;e=u;u=u+80|0;g=e+36|0;h=e;Kn(g,c);Be(h,b,c);xh(g,h);lj(h+24|0,f[h+28>>2]|0);vj(h+12|0,f[h+16>>2]|0);lj(h,f[h+4>>2]|0);Li(a,g,d);lj(g+24|0,f[g+28>>2]|0);vj(g+12|0,f[g+16>>2]|0);lj(g,f[g+4>>2]|0);u=e;return}function Kg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=a+4|0;f[i>>2]=c;f[a+8>>2]=f[c+52>>2];d=f[a+184>>2]|0;g=a+188|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);d=f[c+48>>2]|0;e=an(32)|0;f[j>>2]=e;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=e;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[e+19>>0]=0;d=(Oh(d,j)|0)==0;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);e=f[(f[i>>2]|0)+48>>2]|0;if(d){j=(fi(e)|0)>5&1;b[a+288>>0]=j;u=k;return 1}d=an(32)|0;f[j>>2]=d;f[j+8>>2]=-2147483616;f[j+4>>2]=19;g=d;c=18716;h=g+19|0;do{b[g>>0]=b[c>>0]|0;g=g+1|0;c=c+1|0}while((g|0)<(h|0));b[d+19>>0]=0;i=(Qj(e,j,0)|0)&1;b[a+288>>0]=i;if((b[j+11>>0]|0)<0)pq(f[j>>2]|0);u=k;return 1}function Lg(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Fp(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{e=an(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0)Ra[f[(f[d>>2]|0)+4>>2]&127](d)}while((c|0)!=(e|0));if(!g)return;pq(g);return}function Mg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=u;u=u+16|0;e=o;j=c+1|0;f[e>>2]=0;n=e+4|0;f[n>>2]=0;f[e+8>>2]=0;do if(j)if(j>>>0>1073741823)Fp(e);else{l=an(j<<2)|0;f[e>>2]=l;m=l+(j<<2)|0;f[e+8>>2]=m;cj(l|0,0,(c<<2)+4|0)|0;f[n>>2]=m;k=l;break}else{k=0;l=0;m=0}while(0);if((b|0)>0){e=0;do{p=l+(f[a+(e<<2)>>2]<<2)|0;f[p>>2]=(f[p>>2]|0)+1;e=e+1|0}while((e|0)!=(b|0))}i=+(b|0);if((c|0)<0){e=0;g=0.0}else{b=0;e=0;g=0.0;do{p=f[l+(b<<2)>>2]|0;h=+(p|0);if((p|0)>0){e=e+1|0;g=g+h*+Yg(h/i)}b=b+1|0}while((b|0)!=(j|0))}if(d|0)f[d>>2]=e;i=-g;e=~~i>>>0;b=+K(i)>=1.0?(i>0.0?~~+Y(+J(i/4294967296.0),4294967295.0)>>>0:~~+W((i-+(~~i>>>0))/4294967296.0)>>>0):0;if(!l){I=b;u=o;return e|0}if((m|0)!=(l|0))f[n>>2]=m+(~((m+-4-l|0)>>>2)<<2);pq(k);I=b;u=o;return e|0}function Ng(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+4|0;c=f[a>>2]|0;g=(f[j>>2]|0)-c>>2;d=g+1|0;if(d>>>0>1073741823)Fp(a);k=a+8|0;i=(f[k>>2]|0)-c|0;c=i>>1;c=i>>2>>>0<536870911?(c>>>0>>0?d:c):1073741823;do if(c)if(c>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{e=an(c<<2)|0;break}else e=0;while(0);g=e+(g<<2)|0;d=g;i=e+(c<<2)|0;h=f[b>>2]|0;f[b>>2]=0;f[g>>2]=h;h=g+4|0;b=f[a>>2]|0;c=f[j>>2]|0;if((c|0)==(b|0)){g=b;c=b}else{e=g;do{c=c+-4|0;g=f[c>>2]|0;f[c>>2]=0;f[e+-4>>2]=g;e=d+-4|0;d=e}while((c|0)!=(b|0));g=f[a>>2]|0;c=f[j>>2]|0}f[a>>2]=d;f[j>>2]=h;f[k>>2]=i;e=g;if((c|0)!=(e|0))do{c=c+-4|0;d=f[c>>2]|0;f[c>>2]=0;if(d|0){Ji(d);pq(d)}}while((c|0)!=(e|0));if(!g)return;pq(g);return}function Og(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=u;u=u+32|0;o=q+16|0;n=q+12|0;p=q;f[a>>2]=0;m=a+4|0;f[m>>2]=0;f[a+8>>2]=0;k=c;e=f[k>>2]|0;k=f[k+4>>2]|0;l=f[d+4>>2]|0;c=l-k|0;if(!c){u=q;return}if(c>>>0>357913941)Fp(a);d=an(c*12|0)|0;f[m>>2]=d;f[a>>2]=d;f[a+8>>2]=d+(c*12|0);if((l|0)==(k|0)){u=q;return}j=e+84|0;g=e+68|0;h=p+4|0;i=p+8|0;a=k;do{f[p>>2]=0;f[p+4>>2]=0;f[p+8>>2]=0;if(!(b[j>>0]|0))c=f[(f[g>>2]|0)+(a<<2)>>2]|0;else c=a;f[n>>2]=c;f[o>>2]=f[n>>2];rb(e,o,3,p)|0;f[d>>2]=f[p>>2];f[d+4>>2]=f[h>>2];f[d+8>>2]=f[i>>2];a=a+1|0;d=(f[m>>2]|0)+12|0;f[m>>2]=d}while((a|0)!=(l|0));u=q;return}function Pg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))ra(20748,20641,60,20738);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=ki(c,d)|0;if((b|0)==-2)b=0;else{do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ze(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=an(44)|0;f[b>>2]=1544;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[d+16>>2]=f[e+16>>2];f[d+20>>2]=f[e+20>>2];Oj(b+32|0,e+24|0);f[b>>2]=1600}f[a>>2]=b;return}function Qg(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+4|0;d=f[l>>2]|0;do if(d|0){m=b[c+11>>0]|0;k=m<<24>>24<0;m=k?f[c+4>>2]|0:m&255;k=k?f[c>>2]|0:c;a=l;a:while(1){c=d;while(1){e=c+16|0;g=b[e+11>>0]|0;h=g<<24>>24<0;g=h?f[c+20>>2]|0:g&255;d=m>>>0>>0?m:g;if((d|0)!=0?(i=fl(h?f[e>>2]|0:e,k,d)|0,(i|0)!=0):0){if((i|0)>=0)break}else j=6;if((j|0)==6?(j=0,g>>>0>=m>>>0):0)break;c=f[c+4>>2]|0;if(!c)break a}d=f[c>>2]|0;if(!d){a=c;break}else a=c}if((a|0)!=(l|0)){d=a+16|0;e=b[d+11>>0]|0;g=e<<24>>24<0;e=g?f[a+20>>2]|0:e&255;c=e>>>0>>0?e:m;if(c|0?(n=fl(k,g?f[d>>2]|0:d,c)|0,n|0):0){if((n|0)<0)break;return a|0}if(m>>>0>=e>>>0){n=a;return n|0}}}while(0);n=l;return n|0}function Rg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)>=8192)return Ea(a|0,c|0,d|0)|0;h=a|0;g=a+d|0;if((a&3)==(c&3)){while(a&3){if(!d)return h|0;b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0;d=d-1|0}d=g&-4|0;e=d-64|0;while((a|0)<=(e|0)){f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];f[a+12>>2]=f[c+12>>2];f[a+16>>2]=f[c+16>>2];f[a+20>>2]=f[c+20>>2];f[a+24>>2]=f[c+24>>2];f[a+28>>2]=f[c+28>>2];f[a+32>>2]=f[c+32>>2];f[a+36>>2]=f[c+36>>2];f[a+40>>2]=f[c+40>>2];f[a+44>>2]=f[c+44>>2];f[a+48>>2]=f[c+48>>2];f[a+52>>2]=f[c+52>>2];f[a+56>>2]=f[c+56>>2];f[a+60>>2]=f[c+60>>2];a=a+64|0;c=c+64|0}while((a|0)<(d|0)){f[a>>2]=f[c>>2];a=a+4|0;c=c+4|0}}else{d=g-4|0;while((a|0)<(d|0)){b[a>>0]=b[c>>0]|0;b[a+1>>0]=b[c+1>>0]|0;b[a+2>>0]=b[c+2>>0]|0;b[a+3>>0]=b[c+3>>0]|0;a=a+4|0;c=c+4|0}}while((a|0)<(g|0)){b[a>>0]=b[c>>0]|0;a=a+1|0;c=c+1|0}return h|0}function Sg(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=vg(a,b,c,e)|0;g=f[d>>2]|0;h=f[c>>2]|0;j=f[e>>2]|0;e=f[j>>2]|0;k=(f[j+4>>2]|0)-e>>3;if(k>>>0<=g>>>0)Fp(j);i=e;if(k>>>0<=h>>>0)Fp(j);if((f[i+(g<<3)>>2]|0)>>>0>=(f[i+(h<<3)>>2]|0)>>>0)return l|0;f[c>>2]=g;f[d>>2]=h;e=f[c>>2]|0;g=f[b>>2]|0;if(k>>>0<=e>>>0)Fp(j);if(k>>>0<=g>>>0)Fp(j);if((f[i+(e<<3)>>2]|0)>>>0>=(f[i+(g<<3)>>2]|0)>>>0){l=l+1|0;return l|0}f[b>>2]=e;f[c>>2]=g;e=f[b>>2]|0;g=f[a>>2]|0;if(k>>>0<=e>>>0)Fp(j);if(k>>>0<=g>>>0)Fp(j);if((f[i+(e<<3)>>2]|0)>>>0>=(f[i+(g<<3)>>2]|0)>>>0){l=l+2|0;return l|0}f[a>>2]=e;f[b>>2]=g;l=l+3|0;return l|0}function Tg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=u;u=u+48|0;i=m+16|0;e=m;d=m+32|0;j=a+28|0;g=f[j>>2]|0;f[d>>2]=g;k=a+20|0;g=(f[k>>2]|0)-g|0;f[d+4>>2]=g;f[d+8>>2]=b;f[d+12>>2]=c;g=g+c|0;h=a+60|0;f[e>>2]=f[h>>2];f[e+4>>2]=d;f[e+8>>2]=2;b=fo(Ba(146,e|0)|0)|0;a:do if((g|0)!=(b|0)){e=2;while(1){if((b|0)<0)break;g=g-b|0;o=f[d+4>>2]|0;n=b>>>0>o>>>0;d=n?d+8|0:d;e=(n<<31>>31)+e|0;o=b-(n?o:0)|0;f[d>>2]=(f[d>>2]|0)+o;n=d+4|0;f[n>>2]=(f[n>>2]|0)-o;f[i>>2]=f[h>>2];f[i+4>>2]=d;f[i+8>>2]=e;b=fo(Ba(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}f[a+16>>2]=0;f[j>>2]=0;f[k>>2]=0;f[a>>2]=f[a>>2]|32;if((e|0)==2)c=0;else c=c-(f[d+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=f[a+44>>2]|0;f[a+16>>2]=o+(f[a+48>>2]|0);f[j>>2]=o;f[k>>2]=o}u=m;return c|0}function Ug(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;d=an(32)|0;f[k>>2]=d;f[k+8>>2]=-2147483616;f[k+4>>2]=17;e=d;g=17755;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[d+17>>0]=0;h=c+16|0;e=f[h>>2]|0;if(e){d=h;a:while(1){g=e;while(1){if((f[g+16>>2]|0)>=(a|0))break;e=f[g+4>>2]|0;if(!e)break a;else g=e}e=f[g>>2]|0;if(!e){d=g;break}else d=g}if(((d|0)!=(h|0)?(f[d+16>>2]|0)<=(a|0):0)?(i=d+20|0,(Oh(i,k)|0)!=0):0)c=i;else j=10}else j=10;c=Bk(c,k,-1)|0;if((b[k+11>>0]|0)>=0){j=(c|0)==-1;k=c>>>0>6;k=k?-2:c;k=j?-1:k;u=l;return k|0}pq(f[k>>2]|0);j=(c|0)==-1;k=c>>>0>6;k=k?-2:c;k=j?-1:k;u=l;return k|0}function Vg(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+12|0;h=f[a>>2]|0;j=a+8|0;c=f[j>>2]|0;d=(c|0)<0;if(!(b[i>>0]|0)){do if(!d){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;return}e=c+1|0;if(!d){c=((e|0)%3|0|0)==0?c+-2|0:e;if((c|0)>=0){c=f[(f[h+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;f[j>>2]=c;if((c|0)>=0){if((c|0)!=(f[a+4>>2]|0))return;f[j>>2]=-1073741824;return}}else g=5}else g=5}else g=5;if((g|0)==5)f[j>>2]=c;c=f[a+4>>2]|0;do if((c|0)>=0){c=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((c|0)>=0){c=f[(f[h+12>>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);f[j>>2]=c;b[i>>0]=0;return}function Wg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;vg(a,a+4|0,e,c)|0;d=a+12|0;if((d|0)==(b|0))return;l=f[c>>2]|0;j=f[l>>2]|0;k=(f[l+4>>2]|0)-j>>3;c=e;a:while(1){i=f[d>>2]|0;e=f[c>>2]|0;if(k>>>0<=i>>>0){c=5;break}if(k>>>0<=e>>>0){c=7;break}h=j+(i<<3)|0;if((f[h>>2]|0)>>>0<(f[j+(e<<3)>>2]|0)>>>0){g=d;while(1){f[g>>2]=e;if((c|0)==(a|0)){c=a;break}g=c+-4|0;e=f[g>>2]|0;if(k>>>0<=e>>>0){c=11;break a}if((f[h>>2]|0)>>>0>=(f[j+(e<<3)>>2]|0)>>>0)break;else{m=c;c=g;g=m}}f[c>>2]=i}c=d+4|0;if((c|0)==(b|0)){c=3;break}else{m=d;d=c;c=m}}if((c|0)==3)return;else if((c|0)==5)Fp(l);else if((c|0)==7)Fp(l);else if((c|0)==11)Fp(l)}function Xg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+12|0;g=h+8|0;i=h;f[i>>2]=f[b>>2];f[e>>2]=f[i>>2];b=vd(a,e,g,h+4|0,c)|0;c=f[b>>2]|0;if(c|0){i=c;u=h;return i|0}e=an(40)|0;dj(e+16|0,d);dj(e+28|0,d+12|0);c=f[g>>2]|0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=c;f[b>>2]=e;c=f[f[a>>2]>>2]|0;if(!c)c=e;else{f[a>>2]=c;c=f[b>>2]|0}He(f[a+4>>2]|0,c);i=a+8|0;f[i>>2]=(f[i>>2]|0)+1;i=e;u=h;return i|0}function Yg(a){a=+a;var b=0,c=0,d=0,e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0;p[s>>3]=a;c=f[s>>2]|0;b=f[s+4>>2]|0;d=(b|0)<0;do if(d|b>>>0<1048576){if((c|0)==0&(b&2147483647|0)==0){a=-1.0/(a*a);break}if(d){a=(a-a)/0.0;break}else{p[s>>3]=a*18014398509481984.0;b=f[s+4>>2]|0;d=f[s>>2]|0;c=-1077;e=9;break}}else if(b>>>0<=2146435071)if((c|0)==0&0==0&(b|0)==1072693248)a=0.0;else{d=c;c=-1023;e=9}while(0);if((e|0)==9){e=b+614242|0;f[s>>2]=d;f[s+4>>2]=(e&1048575)+1072079006;k=+p[s>>3]+-1.0;i=k*k*.5;h=k/(k+2.0);j=h*h;a=j*j;p[s>>3]=k-i;d=f[s+4>>2]|0;f[s>>2]=0;f[s+4>>2]=d;g=+p[s>>3];a=k-g-i+h*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+j*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));j=g*1.4426950407214463;i=+(c+(e>>>20)|0);h=i+j;a=h+(j+(i-h)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function Zg(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=u;u=u+16|0;l=m;j=a+4|0;f[j>>2]=0;if(!c){u=m;return}i=a+8|0;e=f[i>>2]|0;g=e<<5;if(g>>>0>>0){f[l>>2]=0;k=l+4|0;f[k>>2]=0;h=l+8|0;f[h>>2]=0;if((c|0)<0)Fp(a);e=e<<6;n=c+31&-32;gi(l,g>>>0<1073741823?(e>>>0>>0?n:e):2147483647);e=f[a>>2]|0;f[a>>2]=f[l>>2];f[l>>2]=e;l=f[j>>2]|0;f[j>>2]=c;f[k>>2]=l;l=f[i>>2]|0;f[i>>2]=f[h>>2];f[h>>2]=l;if(e|0)pq(e)}else f[j>>2]=c;a=f[a>>2]|0;g=a;h=c>>>5;e=h<<2;if(!(b[d>>0]|0)){cj(a|0,0,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]&~(-1>>>(32-e|0));u=m;return}else{cj(a|0,-1,e|0)|0;e=c-(h<<5)|0;a=g+(h<<2)|0;if(!e){u=m;return}f[a>>2]=f[a>>2]|-1>>>(32-e|0);u=m;return}}function _g(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;do if(!(Lo(a,f[c+8>>2]|0,g)|0)){h=a+8|0;if(!(Lo(a,f[c>>2]|0,g)|0)){j=f[h>>2]|0;Va[f[(f[j>>2]|0)+24>>2]&3](j,c,d,e,g);break}a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(i=c+20|0,(f[i>>2]|0)!=(d|0)):0){f[a>>2]=e;e=c+44|0;if((f[e>>2]|0)==4)break;a=c+52|0;b[a>>0]=0;k=c+53|0;b[k>>0]=0;h=f[h>>2]|0;Wa[f[(f[h>>2]|0)+20>>2]&3](h,c,d,d,1,g);if(b[k>>0]|0)if(!(b[a>>0]|0)){a=3;j=11}else a=3;else{a=4;j=11}if((j|0)==11){f[i>>2]=d;k=c+40|0;f[k>>2]=(f[k>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1}f[e>>2]=a;break}if((e|0)==1)f[a>>2]=1}else ym(0,c,d,e);while(0);return}function $g(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=a+32|0;m=f[a+64>>2]|0;m=(Ma[f[(f[m>>2]|0)+40>>2]&127](m)|0)+52|0;m=f[m>>2]|0;m=(((f[m+100>>2]|0)-(f[m+96>>2]|0)|0)/12|0)*3|0;ti(n,m,((m|0)<0)<<31>>31,1)|0;m=a+68|0;c=f[m>>2]|0;d=(f[a+72>>2]|0)-c|0;if((d|0)<=0){Tf(n);return}l=a+48|0;j=a+44|0;a=(d>>>2)+-1|0;while(1){c=f[c+(a<<2)>>2]|0;d=f[3412+(c<<2)>>2]|0;i=l;g=f[i+4>>2]|0;if((g|0)>0|(g|0)==0&(f[i>>2]|0)>>>0>0?(k=f[j>>2]|0,171>>>c&1|0):0){i=k+4|0;e=f[i>>2]|0;g=0;do{o=e>>>3;p=e&7;q=(f[k>>2]|0)+o|0;b[q>>0]=(h[q>>0]|0)&(1<>2]|0)+o|0;b[o>>0]=h[o>>0]|0|(c>>>g&1)<>2]|0)+1|0;f[i>>2]=e;g=g+1|0}while((g|0)!=(d|0))}a=a+-1|0;if((a|0)<=-1)break;c=f[m>>2]|0}Tf(n);return}function ah(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0,h=0;g=f[d+4>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);h=f[g+8>>2]|0;if(((f[g+12>>2]|0)-h>>2|0)<=(c|0))ra(20748,20641,60,20738);g=f[h+(c<<2)>>2]|0;if((b|0)==-1)b=ki(c,d)|0;if((b|0)==-2)b=0;else{do if((Ma[f[(f[d>>2]|0)+8>>2]&127](d)|0)==1){Ue(a,d,b,c,e,514);if(!(f[a>>2]|0)){f[a>>2]=0;break}else return}while(0);b=an(24)|0;f[b+4>>2]=g;d=b+8|0;f[d>>2]=f[e>>2];f[d+4>>2]=f[e+4>>2];f[d+8>>2]=f[e+8>>2];f[d+12>>2]=f[e+12>>2];f[b>>2]=2448}f[a>>2]=b;return}function bh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0;d=a+4|0;i=f[d>>2]|0;i=(f[i+12>>2]|0)-(f[i+8>>2]|0)|0;b=i>>2;a:do if((i|0)>0){c=0;while(1){if(!(Na[f[(f[a>>2]|0)+36>>2]&127](a,c)|0)){b=0;break}c=c+1|0;b=f[d>>2]|0;b=(f[b+12>>2]|0)-(f[b+8>>2]|0)>>2;if((c|0)>=(b|0))break a}return b|0}while(0);i=a+20|0;e=a+24|0;c=f[e>>2]|0;d=f[i>>2]|0;g=c-d>>2;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=d+(b<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else qi(i,b-g|0);c=f[a+12>>2]|0;b=f[a+8>>2]|0;a=b;if((c|0)==(b|0)){i=1;return i|0}h=c-b>>2;g=0;do{c=f[a+(g<<2)>>2]|0;b=f[c+8>>2]|0;c=f[c+4>>2]|0;d=c;if((b|0)!=(c|0)){e=f[i>>2]|0;c=b-c>>2;b=0;do{f[e+(f[d+(b<<2)>>2]<<2)>>2]=g;b=b+1|0}while(b>>>0>>0)}g=g+1|0}while(g>>>0>>0);b=1;return b|0}function ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;k=o+4|0;l=o;f[a>>2]=1232;n=a+4|0;f[n>>2]=0;f[n+4>>2]=0;f[n+8>>2]=0;f[n+12>>2]=0;f[n+16>>2]=0;f[n+20>>2]=0;f[n+24>>2]=0;f[n+28>>2]=0;f[k>>2]=b;n=a+4|0;m=a+8|0;Gi(n,k);c=f[k>>2]|0;h=a+20|0;d=f[h>>2]|0;i=a+16|0;b=f[i>>2]|0;g=d-b>>2;if((c|0)<(g|0)){k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}e=c+1|0;f[l>>2]=-1;a=d;if(e>>>0<=g>>>0){if(e>>>0>>0?(j=b+(e<<2)|0,(a|0)!=(j|0)):0)f[h>>2]=a+(~((a+-4-j|0)>>>2)<<2)}else{lh(i,e-g|0,l);c=f[k>>2]|0;b=f[i>>2]|0}k=b;l=c;j=f[m>>2]|0;m=f[n>>2]|0;m=j-m|0;m=m>>2;m=m+-1|0;n=k+(l<<2)|0;f[n>>2]=m;u=o;return}function dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+88|0;ed(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;a=a+88|0;ed(a,b);u=j;return 1}function eh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;d=e;if(!(Wk(a,b,c)|0)){a=0;u=e;return a|0}if((Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0)<<24>>24==1?((f[(f[a+8>>2]|0)+28>>2]|0)+-1|0)>>>0>=6:0){a=0;u=e;return a|0}b=Ug(c,f[b+48>>2]|0)|0;Ta[f[(f[a>>2]|0)+48>>2]&15](d,a,b);b=a+36|0;g=f[d>>2]|0;f[d>>2]=0;c=f[b>>2]|0;f[b>>2]=g;if(c){Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0;f[d>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c)}else f[d>>2]=0;c=f[b>>2]|0;if(!c){g=1;u=e;return g|0}if(Na[f[(f[a>>2]|0)+36>>2]&127](a,c)|0){g=1;u=e;return g|0}c=f[b>>2]|0;f[b>>2]=0;if(!c){g=1;u=e;return g|0}Ra[f[(f[c>>2]|0)+4>>2]&127](c);g=1;u=e;return g|0}function fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;j=a+4|0;c=f[j>>2]|0;if(d-c>>3>>>0>=b>>>0){do{a=c;f[a>>2]=0;f[a+4>>2]=0;c=(f[j>>2]|0)+8|0;f[j>>2]=c;b=b+-1|0}while((b|0)!=0);return}e=f[a>>2]|0;g=c-e>>3;c=g+b|0;if(c>>>0>536870911)Fp(a);e=d-e|0;h=e>>2;c=e>>3>>>0<268435455?(h>>>0>>0?c:h):536870911;do if(c)if(c>>>0>536870911){j=sa(8)|0;to(j,20196);f[j>>2]=7152;wa(j|0,1112,107)}else{d=an(c<<3)|0;break}else d=0;while(0);h=d+(g<<3)|0;g=d+(c<<3)|0;c=h;e=h;do{d=c;f[d>>2]=0;f[d+4>>2]=0;c=e+8|0;e=c;b=b+-1|0}while((b|0)!=0);c=f[a>>2]|0;d=(f[j>>2]|0)-c|0;b=h+(0-(d>>3)<<3)|0;if((d|0)>0)Rg(b|0,c|0,d|0)|0;f[a>>2]=b;f[j>>2]=e;f[i>>2]=g;if(!c)return;pq(c);return}function gh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;j=u;u=u+16|0;h=j+4|0;g=j;i=j+8|0;e=a&255;b[i>>0]=e&127;do if(c>>>0>0|(c|0)==0&a>>>0>127){b[i>>0]=e|-128;e=d+16|0;k=f[e+4>>2]|0;if((k|0)>0|(k|0)==0&(f[e>>2]|0)>>>0>0){a=0;break}else{f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ke(d,h,i,i+1|0)|0;a=An(a|0,c|0,7)|0;a=gh(a,I,d)|0;break}}else{k=d+16|0;e=f[k+4>>2]|0;if((e|0)>0|(e|0)==0&(f[k>>2]|0)>>>0>0){a=0;break}f[g>>2]=f[d+4>>2];f[h>>2]=f[g>>2];Ke(d,h,i,i+1|0)|0;k=1;u=j;return k|0}while(0);k=a;u=j;return k|0}function hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;c=h;i=f[(f[a>>2]|0)+8>>2]|0;g=a+8|0;e=a+12|0;d=(f[e>>2]|0)-(f[g>>2]|0)>>2;j=f[b>>2]|0;f[b>>2]=0;f[c>>2]=j;Ta[i&15](a,d,c);d=f[c>>2]|0;f[c>>2]=0;if(!d){i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}j=d+88|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pq(b)}j=d+64|0;b=f[j>>2]|0;f[j>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}pq(d);i=f[e>>2]|0;j=f[g>>2]|0;j=i-j|0;j=j>>2;j=j+-1|0;u=h;return j|0}function ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){a=a+108|0;ed(a,b);u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;a=a+108|0;ed(a,b);u=j;return 1}function jh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=u;u=u+224|0;m=r+120|0;q=r+80|0;p=r;o=r+136|0;e=q;g=e+40|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[m>>2]=f[d>>2];if((qb(0,c,m,p,q)|0)<0)d=-1;else{if((f[a+76>>2]|0)>-1)n=vq(a)|0;else n=0;d=f[a>>2]|0;l=d&32;if((b[a+74>>0]|0)<1)f[a>>2]=d&-33;h=a+48|0;if(!(f[h>>2]|0)){g=a+44|0;d=f[g>>2]|0;f[g>>2]=o;i=a+28|0;f[i>>2]=o;k=a+20|0;f[k>>2]=o;f[h>>2]=80;j=a+16|0;f[j>>2]=o+80;e=qb(a,c,m,p,q)|0;if(d){Oa[f[a+36>>2]&31](a,0,0)|0;e=(f[k>>2]|0)==0?-1:e;f[g>>2]=d;f[h>>2]=0;f[j>>2]=0;f[i>>2]=0;f[k>>2]=0}}else e=qb(a,c,m,p,q)|0;d=f[a>>2]|0;f[a>>2]=d|l;if(n|0)uq(a);d=(d&32|0)==0?e:-1}u=r;return d|0}function kh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=an(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;j=g+8|0;f[j>>2]=f[e>>2];f[j+4>>2]=f[e+4>>2];f[j+8>>2]=f[e+8>>2];f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Rg(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}xi(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Rg(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function lh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+8|0;e=f[l>>2]|0;m=a+4|0;d=f[m>>2]|0;g=d;if(e-d>>2>>>0>=b>>>0){d=g;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}f[m>>2]=g+(b<<2);return}k=f[a>>2]|0;j=d-k|0;i=j>>2;d=i+b|0;if(d>>>0>1073741823)Fp(a);g=e-k|0;h=g>>1;d=g>>2>>>0<536870911?(h>>>0>>0?d:h):1073741823;do if(d)if(d>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}else{e=an(d<<2)|0;break}else e=0;while(0);h=e+(i<<2)|0;g=e+(d<<2)|0;d=h;e=b;while(1){f[d>>2]=f[c>>2];e=e+-1|0;if(!e)break;else d=d+4|0}d=h+(0-i<<2)|0;if((j|0)>0)Rg(d|0,k|0,j|0)|0;f[a>>2]=d;f[m>>2]=h+(b<<2);f[l>>2]=g;if(!k)return;pq(k);return}function mh(a,c,e,g){a=a|0;c=c|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=u;u=u+64|0;o=p;m=f[a>>2]|0;n=a+(f[m+-8>>2]|0)|0;m=f[m+-4>>2]|0;f[o>>2]=e;f[o+4>>2]=a;f[o+8>>2]=c;f[o+12>>2]=g;g=o+16|0;a=o+20|0;h=o+24|0;j=o+28|0;i=o+32|0;c=o+40|0;k=g;l=k+36|0;do{f[k>>2]=0;k=k+4|0}while((k|0)<(l|0));d[g+36>>1]=0;b[g+38>>0]=0;a:do if(Lo(m,e,0)|0){f[o+48>>2]=1;Wa[f[(f[m>>2]|0)+20>>2]&3](m,o,n,n,1,0);g=(f[h>>2]|0)==1?n:0}else{Va[f[(f[m>>2]|0)+24>>2]&3](m,o,n,1,0);switch(f[o+36>>2]|0){case 0:{g=(f[c>>2]|0)==1&(f[j>>2]|0)==1&(f[i>>2]|0)==1?f[a>>2]|0:0;break a}case 1:break;default:{g=0;break a}}if((f[h>>2]|0)!=1?!((f[c>>2]|0)==0&(f[j>>2]|0)==1&(f[i>>2]|0)==1):0){g=0;break}g=f[g>>2]|0}while(0);u=p;return g|0}function nh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;m=b+4|0;c=f[m>>2]|0;d=f[b>>2]|0;k=((c-d|0)/12|0)*3|0;i=a+4|0;h=f[i>>2]|0;e=f[a>>2]|0;l=h-e>>2;g=d;if(k>>>0<=l>>>0){if(k>>>0>>0?(j=e+(k<<2)|0,(h|0)!=(j|0)):0)f[i>>2]=h+(~((h+-4-j|0)>>>2)<<2)}else{qi(a,k-l|0);g=f[b>>2]|0;d=g;c=f[m>>2]|0}if((c-d|0)>0){e=f[a>>2]|0;d=(c-g|0)/12|0;c=0;do{m=c*3|0;f[e+(m<<2)>>2]=f[g+(c*12|0)>>2];f[e+(m+1<<2)>>2]=f[g+(c*12|0)+4>>2];f[e+(m+2<<2)>>2]=f[g+(c*12|0)+8>>2];c=c+1|0}while((c|0)<(d|0))}f[n>>2]=-1;if(!(rc(a,n)|0)){a=0;u=o;return a|0}kb(a,f[n>>2]|0)|0;a=1;u=o;return a|0}function oh(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;g=h;if((c|0)<0|((b|0)==0|(d|0)==0)){d=0;u=h;return d|0}a=f[b+8>>2]|0;if(((f[b+12>>2]|0)-a>>2|0)<=(c|0)){d=0;u=h;return d|0}e=b+4|0;if(!(f[e>>2]|0)){i=an(52)|0;f[i>>2]=0;f[i+4>>2]=0;f[i+8>>2]=0;f[i+12>>2]=0;n[i+16>>2]=$(1.0);j=i+20|0;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;f[j+12>>2]=0;n[i+36>>2]=$(1.0);f[i+40>>2]=0;f[i+44>>2]=0;f[i+48>>2]=0;f[b+4>>2]=i}if((c|0)<=-1)ra(20625,20641,67,20738);a=f[(f[a+(c<<2)>>2]|0)+60>>2]|0;j=an(44)|0;Mb(j,d);f[j+40>>2]=a;a=f[e>>2]|0;f[g>>2]=j;_j(a,g)|0;a=f[g>>2]|0;f[g>>2]=0;if(!a){j=1;u=h;return j|0}Ji(a);pq(a);j=1;u=h;return j|0}function ph(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;c=f[g>>2]|0;d=f[a>>2]|0;e=c-d>>2;if(e>>>0>>0){Kf(a,b-e|0);return}if(e>>>0<=b>>>0)return;a=d+(b<<2)|0;if((c|0)==(a|0))return;do{b=c+-4|0;f[g>>2]=b;e=f[b>>2]|0;f[b>>2]=0;if(e|0){b=e+88|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){b=c+12|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;pq(d)}pq(c)}c=f[e+68>>2]|0;if(c|0){b=e+72|0;d=f[b>>2]|0;if((d|0)!=(c|0))f[b>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}b=e+64|0;c=f[b>>2]|0;f[b>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){b=c+4|0;if((f[b>>2]|0)!=(d|0))f[b>>2]=d;pq(d)}pq(c)}pq(e)}c=f[g>>2]|0}while((c|0)!=(a|0));return}function qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;d=f[l>>2]|0;k=f[a>>2]|0;h=(d-k|0)/12|0;c=h+1|0;j=k;if(c>>>0>357913941)Fp(a);m=a+8|0;i=((f[m>>2]|0)-k|0)/12|0;e=i<<1;e=i>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(e*12|0)|0;break}else g=0;while(0);c=g+(h*12|0)|0;i=g+(e*12|0)|0;f[c>>2]=f[b>>2];f[g+(h*12|0)+4>>2]=f[b+4>>2];f[g+(h*12|0)+8>>2]=f[b+8>>2];e=c+12|0;if((d|0)!=(j|0))do{h=d;d=d+-12|0;f[c+-12>>2]=f[d>>2];f[c+-8>>2]=f[h+-8>>2];f[c+-4>>2]=f[h+-4>>2];c=c+-12|0}while((d|0)!=(j|0));f[a>>2]=c;f[l>>2]=e;f[m>>2]=i;if(!k)return;pq(k);return}function rh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;k=a+8|0;d=f[k>>2]|0;l=a+4|0;c=f[l>>2]|0;e=c;if(d-c>>2>>>0>=b>>>0){c=e;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}f[l>>2]=e+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Fp(a);e=d-j|0;g=e>>1;c=e>>2>>>0<536870911?(g>>>0>>0?c:g):1073741823;do if(c)if(c>>>0>1073741823){b=sa(8)|0;to(b,20196);f[b>>2]=7152;wa(b|0,1112,107)}else{d=an(c<<2)|0;break}else d=0;while(0);g=d+(h<<2)|0;e=d+(c<<2)|0;c=g;d=b;while(1){f[c>>2]=1;d=d+-1|0;if(!d)break;else c=c+4|0}c=g+(0-h<<2)|0;if((i|0)>0)Rg(c|0,j|0,i|0)|0;f[a>>2]=c;f[l>>2]=g+(b<<2);f[k>>2]=e;if(!j)return;pq(j);return}function sh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=f[c+88>>2]|0;if(!d){a=0;return a|0}if((f[d>>2]|0)!=1){a=0;return a|0}m=d+8|0;j=f[m>>2]|0;f[a+4>>2]=h[j>>0]|h[j+1>>0]<<8|h[j+2>>0]<<16|h[j+3>>0]<<24;o=a+8|0;k=c+24|0;c=b[k>>0]|0;i=c<<24>>24;g=a+12|0;e=f[g>>2]|0;d=f[o>>2]|0;l=e-d>>2;if(i>>>0<=l>>>0){if(i>>>0>>0?(n=d+(i<<2)|0,(e|0)!=(n|0)):0)f[g>>2]=e+(~((e+-4-n|0)>>>2)<<2)}else{qi(o,i-l|0);c=b[k>>0]|0;j=f[m>>2]|0}d=j+4|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24;if(c<<24>>24>0){i=f[o>>2]|0;e=c<<24>>24;c=4;g=0;do{f[i+(g<<2)>>2]=d;c=c+4|0;g=g+1|0;d=j+c|0;d=h[d>>0]|h[d+1>>0]<<8|h[d+2>>0]<<16|h[d+3>>0]<<24}while((g|0)<(e|0))}f[a+20>>2]=d;a=1;return a|0}function th(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Kd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+20>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Kd(a,b);return}function uh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if(c>>>0>4294967279)Fp(a);i=a+11|0;e=b[i>>0]|0;g=e<<24>>24<0;if(g){j=f[a+4>>2]|0;d=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;d=10}h=j>>>0>c>>>0?j:c;c=h>>>0<11;h=c?10:(h+16&-16)+-1|0;do if((h|0)!=(d|0)){do if(c){d=f[a>>2]|0;if(g){c=a;e=0;g=13}else{go(a,d,(e&255)+1|0)|0;pq(d);g=15}}else{c=an(h+1|0)|0;if(g){e=1;d=f[a>>2]|0;g=13;break}else{go(c,a,(e&255)+1|0)|0;g=14;break}}while(0);if((g|0)==13){go(c,d,(f[a+4>>2]|0)+1|0)|0;pq(d);if(e)g=14;else g=15}if((g|0)==14){f[a+8>>2]=h+1|-2147483648;f[a+4>>2]=j;f[a>>2]=c;break}else if((g|0)==15){b[i>>0]=j;break}}while(0);return}function vh(a){a=a|0;qj(a+992|0);qj(a+960|0);qj(a+928|0);qj(a+896|0);qj(a+864|0);qj(a+832|0);qj(a+800|0);qj(a+768|0);qj(a+736|0);qj(a+704|0);qj(a+672|0);qj(a+640|0);qj(a+608|0);qj(a+576|0);qj(a+544|0);qj(a+512|0);qj(a+480|0);qj(a+448|0);qj(a+416|0);qj(a+384|0);qj(a+352|0);qj(a+320|0);qj(a+288|0);qj(a+256|0);qj(a+224|0);qj(a+192|0);qj(a+160|0);qj(a+128|0);qj(a+96|0);qj(a+64|0);qj(a+32|0);qj(a);return}function wh(a){a=a|0;cn(a);cn(a+32|0);cn(a+64|0);cn(a+96|0);cn(a+128|0);cn(a+160|0);cn(a+192|0);cn(a+224|0);cn(a+256|0);cn(a+288|0);cn(a+320|0);cn(a+352|0);cn(a+384|0);cn(a+416|0);cn(a+448|0);cn(a+480|0);cn(a+512|0);cn(a+544|0);cn(a+576|0);cn(a+608|0);cn(a+640|0);cn(a+672|0);cn(a+704|0);cn(a+736|0);cn(a+768|0);cn(a+800|0);cn(a+832|0);cn(a+864|0);cn(a+896|0);cn(a+928|0);cn(a+960|0);cn(a+992|0);return}function xh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;g=i+12|0;d=i+8|0;c=i+4|0;e=i;h=(a|0)==(b|0);if(!h){f[c>>2]=f[b>>2];f[e>>2]=b+4;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a,d,g)}if(!h){f[c>>2]=f[b+12>>2];f[e>>2]=b+16;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Cc(a+12|0,d,g)}if(h){u=i;return}f[c>>2]=f[b+24>>2];f[e>>2]=b+28;f[d>>2]=f[c>>2];f[g>>2]=f[e>>2];Kc(a+24|0,d,g);u=i;return}function yh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(f[a>>2]|0)+1794895138|0;h=Mo(f[a+8>>2]|0,o)|0;e=Mo(f[a+12>>2]|0,o)|0;g=Mo(f[a+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=c-(h<<2)|0,e>>>0>>0&g>>>0>>0):0)?((g|e)&3|0)==0:0){n=e>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;e=Mo(f[a+(g<<2)>>2]|0,o)|0;g=Mo(f[a+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&e>>>0<(c-g|0)>>>0)){e=0;break a}if(b[a+(g+e)>>0]|0){e=0;break a}e=Cl(d,a+g|0)|0;if(!e)break;e=(e|0)<0;if((h|0)==1){e=0;break a}else{l=e?l:j;h=e?k:h-k|0}}e=i+m|0;g=Mo(f[a+(e<<2)>>2]|0,o)|0;e=Mo(f[a+(e+1<<2)>>2]|0,o)|0;if(e>>>0>>0&g>>>0<(c-e|0)>>>0)e=(b[a+(e+g)>>0]|0)==0?a+e|0:0;else e=0}else e=0;while(0);return e|0}function zh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;te(g,a+40|0,f[a+8>>2]|0,b,c);Pi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}pq(d);u=e;return 1}function Ah(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){jd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;jd(a,b);return}function Bh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){qd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;qd(a,b);return}function Ch(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){zd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;zd(a,b);return}function Dh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Pd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Pd(a,b);return}function Eh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){md(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;md(a,b);return}function Fh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){ud(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;ud(a,b);return}function Gh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Fd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Fd(a,b);return}function Hh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){kd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;kd(a,b);return}function Ih(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){sd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;sd(a,b);return}function Jh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Ad(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Ad(a,b);return}function Kh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Qd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Qd(a,b);return}function Lh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k+4|0;i=k;h=f[c+4>>2]|0;if(!h)ra(13158,13407,70,13577);g=f[c+8>>2]|0;if(!g)ra(13158,13407,70,13577);d=f[d>>2]|0;if((d|0)<0)e=-1073741824;else e=f[(f[f[c+16>>2]>>2]|0)+(d<<2)>>2]|0;d=f[c+20>>2]|0;c=f[d>>2]|0;if((f[d+4>>2]|0)-c>>2>>>0<=e>>>0)Fp(d);d=f[g+(f[c+(e<<2)>>2]<<2)>>2]|0;if(!(b[h+84>>0]|0))d=f[(f[h+68>>2]|0)+(d<<2)>>2]|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[i>>2]=d;g=b[h+24>>0]|0;f[j>>2]=f[i>>2];lb(h,j,g,a)|0;u=k;return}function Mh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+16|0;g=e;Af(g,a+40|0,f[a+8>>2]|0,b,c);Pi(a,g);d=f[g>>2]|0;f[g>>2]=0;if(!d){u=e;return 1}g=d+88|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c+8>>2]|0;if(b|0){a=c+12|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}c=f[d+68>>2]|0;if(c|0){a=d+72|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}g=d+64|0;c=f[g>>2]|0;f[g>>2]=0;if(c|0){b=f[c>>2]|0;if(b|0){a=c+4|0;if((f[a>>2]|0)!=(b|0))f[a>>2]=b;pq(b)}pq(c)}pq(d);u=e;return 1}function Nh(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;f[a>>2]=1408;e=a+72|0;b=f[e>>2]|0;f[e>>2]=0;if(b|0)Ra[f[(f[b>>2]|0)+4>>2]&127](b);b=f[a+60>>2]|0;if(b|0){d=a+64|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+48>>2]|0;if(b|0)pq(b);d=a+36|0;b=f[d>>2]|0;if(b|0){e=a+40|0;c=f[e>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[e>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[e>>2]|0}while((c|0)!=(b|0));b=f[d>>2]|0}pq(b)}f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function Oh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=f[a+4>>2]|0;if(!a){m=0;return m|0}k=b[c+11>>0]|0;j=k<<24>>24<0;k=j?f[c+4>>2]|0:k&255;j=j?f[c>>2]|0:c;while(1){e=a+16|0;d=b[e+11>>0]|0;h=d<<24>>24<0;d=h?f[a+20>>2]|0:d&255;g=d>>>0>>0;c=g?d:k;if((c|0)!=0?(m=fl(j,h?f[e>>2]|0:e,c)|0,(m|0)!=0):0)if((m|0)<0)i=7;else i=8;else if(k>>>0>>0)i=7;else i=8;if((i|0)!=7)if((i|0)==8){i=0;c=k>>>0>>0?k:d;if((c|0)!=0?(l=fl(h?f[e>>2]|0:e,j,c)|0,(l|0)!=0):0){if((l|0)>=0){a=1;i=14;break}}else i=10;if((i|0)==10?(0,!g):0){a=1;i=14;break}a=a+4|0}a=f[a>>2]|0;if(!a){a=0;i=14;break}}if((i|0)==14)return a|0;return 0}function Ph(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=f[b>>2]|0;e=f[a+12>>2]|0;if((i|0)>(e|0))ra(12825,11885,259,12849);d=f[c>>2]|0;if((d|0)>(e|0))ra(12863,11885,260,12849);a=0-e|0;if((i|0)<(a|0))ra(12887,11885,261,12849);if((d|0)<(a|0))ra(12912,11885,262,12849);if((d|i|0)>-1){h=1;a=1}else{a=(i|0)<1&(d|0)<1;h=a?-1:(i|0)>0?1:-1;a=a?-1:(d|0)>0?1:-1}g=X(e,h)|0;e=X(e,a)|0;f[b>>2]=(i<<1)-g;d=(f[c>>2]<<1)-e|0;f[c>>2]=d;i=(X(h,a)|0)>-1;a=f[b>>2]|0;if(i){f[b>>2]=0-d;i=0-a|0;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}else{f[b>>2]=d;i=a;f[c>>2]=i;i=f[b>>2]|0;i=i+g|0;i=(i|0)/2|0;f[b>>2]=i;b=f[c>>2]|0;b=b+e|0;b=(b|0)/2|0;f[c>>2]=b;return}}function Qh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i;c=f[b+96>>2]|0;b=(f[b+100>>2]|0)-c|0;e=(b|0)/12|0;f[g>>2]=0;h=g+4|0;f[h>>2]=0;f[g+8>>2]=0;if(b|0){if(e>>>0>357913941)Fp(g);d=an(b)|0;f[g>>2]=d;f[g+8>>2]=d+(e*12|0);cj(d|0,0,b|0)|0;f[h>>2]=d+b;if((b|0)>0){b=c;c=0;do{k=f[b+(c*12|0)+4>>2]|0;j=f[b+(c*12|0)+8>>2]|0;f[d+(c*12|0)>>2]=f[b+(c*12|0)>>2];f[d+(c*12|0)+4>>2]=k;f[d+(c*12|0)+8>>2]=j;c=c+1|0}while((c|0)<(e|0))}}jk(a,g);b=f[g>>2]|0;if(!b){u=i;return}c=f[h>>2]|0;if((c|0)!=(b|0))f[h>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b);u=i;return}function Rh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;b[g>>0]=a&127;do if(a>>>0>127){b[g>>0]=a|128;i=c+16|0;j=f[i+4>>2]|0;if((j|0)>0|(j|0)==0&(f[i>>2]|0)>>>0>0){d=0;break}else{f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ke(c,e,g,g+1|0)|0;d=Rh(a>>>7,c)|0;break}}else{j=c+16|0;i=f[j+4>>2]|0;if((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0){d=0;break}f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ke(c,e,g,g+1|0)|0;j=1;u=h;return j|0}while(0);j=d;u=h;return j|0}function Sh(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;l=o+4|0;k=o;j=f[a+8>>2]|0;n=j+24|0;m=b[n>>0]|0;e=c+4|0;Bf(a,(f[e>>2]|0)-(f[c>>2]|0)>>2,m,d);i=f[a+32>>2]|0;i=(f[f[i>>2]>>2]|0)+(f[i+48>>2]|0)|0;d=f[c>>2]|0;e=f[e>>2]|0;if((d|0)==(e|0)){n=1;u=o;return n|0}h=j+84|0;g=j+68|0;c=0;while(1){a=f[d>>2]|0;if(!(b[h>>0]|0))a=f[(f[g>>2]|0)+(a<<2)>>2]|0;f[k>>2]=a;a=b[n>>0]|0;f[l>>2]=f[k>>2];if(!(sb(j,l,a,i+(c<<2)|0)|0)){d=0;a=7;break}d=d+4|0;if((d|0)==(e|0)){d=1;a=7;break}else c=c+m|0}if((a|0)==7){u=o;return d|0}return 0}function Th(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0;h=u;u=u+48|0;g=h;e=h+32|0;if(!c){g=0;u=h;return g|0}ln(g);if((Zl(c,0)|0)!=-1?Ma[f[(f[c>>2]|0)+16>>2]&127](c)|0:0){Ra[f[(f[c>>2]|0)+20>>2]&127](c);Jg(e,a,c,g);a=(f[e>>2]|0)==0;c=e+4|0;if((b[c+11>>0]|0)<0)pq(f[c>>2]|0);if(a){a=f[g>>2]|0;e=g+4|0;fg(d,a,a+((f[e>>2]|0)-a)|0);e=(f[e>>2]|0)-(f[g>>2]|0)|0}else e=0}else e=0;d=g+12|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0)pq(c);a=f[g>>2]|0;if(a|0){c=g+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}g=e;u=h;return g|0}function Uh(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;b=f[b>>2]|0;if((b|0)==-1073741824){h=-1;return h|0}g=f[(f[a+24>>2]|0)+(b<<2)>>2]|0;if((g|0)<0){h=0;return h|0}e=a+12|0;b=0;d=0;a=g;a:while(1){while(1){b=b+1|0;if(d){h=10;break}c=a+1|0;a=((c|0)%3|0|0)==0?a+-2|0:c;if((a|0)<0){a=g;break}c=f[(f[e>>2]|0)+(a<<2)>>2]|0;a=c+1|0;if((c|0)<0){a=g;break}a=((a|0)%3|0|0)==0?c+-2|0:a;if((a|0)<0){a=g;break}if((a|0)==(g|0)){h=16;break a}}do if((h|0)==10){h=0;a=(((a>>>0)%3|0|0)==0?2:-1)+a|0;if((a|0)<0){h=16;break a}a=f[(f[e>>2]|0)+(a<<2)>>2]|0;if((a|0)<0){h=16;break a}if(!((a>>>0)%3|0)){a=a+2|0;break}else{a=a+-1|0;break}}while(0);if((a|0)<0){h=16;break}else d=1}if((h|0)==16)return b|0;return 0}function Vh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;g=an(32)|0;f[a>>2]=g;f[a+4>>2]=c+8;i=a+8|0;b[i>>0]=0;dj(g+8|0,e);j=g+20|0;k=e+12|0;f[j>>2]=0;f[g+24>>2]=0;f[g+28>>2]=0;g=e+16|0;c=f[g>>2]|0;e=f[k>>2]|0;h=c-e|0;if(!h){j=e;g=c;h=0;k=j;k=g-k|0;Rg(h|0,j|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}xi(j,h);h=f[k>>2]|0;g=f[g>>2]|0;j=f[j>>2]|0;k=h;k=g-k|0;Rg(j|0,h|0,k|0)|0;b[i>>0]=1;a=f[a>>2]|0;k=a+4|0;f[k>>2]=d;f[a>>2]=0;return}function Wh(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){td(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;td(a,b);return}function Xh(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;f[k>>2]=0;f[k+4>>2]=0;f[k+8>>2]=0;g=an(16)|0;f[k>>2]=g;f[k+8>>2]=-2147483632;f[k+4>>2]=15;h=g;i=17844;j=h+15|0;do{b[h>>0]=b[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));b[g+15>>0]=0;g=Bk(c,k,-1)|0;if((b[k+11>>0]|0)<0)pq(f[k>>2]|0);switch(g|0){case -1:{if((fi(c)|0)==10)h=6;else h=5;break}case 1:{h=5;break}default:h=6}if((h|0)==5){g=an(60)|0;qo(g)}else if((h|0)==6){g=an(56)|0;Xo(g)}Yn(g,d);yd(a,g,c,e);Ra[f[(f[g>>2]|0)+4>>2]&127](g);u=l;return}function Yh(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;Qo(a);f[a+16>>2]=0;f[a+20>>2]=0;f[a+12>>2]=a+16;c=a+24|0;Qo(c);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;a=an(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=20;d=a;e=17903;g=d+20|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+20>>0]=0;Ej(c,h,1);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;a=an(32)|0;f[h>>2]=a;f[h+8>>2]=-2147483616;f[h+4>>2]=22;d=a;e=17924;g=d+22|0;do{b[d>>0]=b[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(g|0));b[a+22>>0]=0;Ej(c,h,1);if((b[h+11>>0]|0)>=0){u=i;return}pq(f[h>>2]|0);u=i;return}function Zh(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=u;u=u+16|0;k=n+4|0;j=n;l=n+8|0;if(!(oe(a,c)|0)){m=0;u=n;return m|0}m=a+36|0;e=a+40|0;a=f[m>>2]|0;if((f[e>>2]|0)==(a|0)){m=1;u=n;return m|0}i=c+16|0;g=c+4|0;h=l+1|0;d=0;do{a=f[a+(d<<2)>>2]|0;a=Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0;b[l>>0]=a;a=i;o=f[a+4>>2]|0;if(!((o|0)>0|(o|0)==0&(f[a>>2]|0)>>>0>0)){f[j>>2]=f[g>>2];f[k>>2]=f[j>>2];Ke(c,k,l,h)|0}d=d+1|0;a=f[m>>2]|0}while(d>>>0<(f[e>>2]|0)-a>>2>>>0);a=1;u=n;return a|0}function _h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=f[a+4>>2]|0;h=a+8|0;b=f[h>>2]|0;if((b|0)!=(g|0))do{d=b+-4|0;f[h>>2]=d;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}pq(e)}b=f[h>>2]|0}while((b|0)!=(g|0));b=f[a>>2]|0;if(!b)return;pq(b);return}function $h(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{e=c+-4|0;f[h>>2]=e;g=f[e>>2]|0;f[e>>2]=0;if(g|0){e=g+88|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c+8>>2]|0;if(d|0){e=c+12|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}c=f[g+68>>2]|0;if(c|0){e=g+72|0;d=f[e>>2]|0;if((d|0)!=(c|0))f[e>>2]=d+(~((d+-4-c|0)>>>2)<<2);pq(c)}e=g+64|0;c=f[e>>2]|0;f[e>>2]=0;if(c|0){d=f[c>>2]|0;if(d|0){e=c+4|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}pq(c)}pq(g)}c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}pq(b);return}function ai(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+32|0;k=m+16|0;i=m+8|0;j=m;h=f[c>>2]|0;l=f[a+12>>2]<<1;if((h|0)>(l|0))ra(12202,12247,81,12431);e=f[c+4>>2]|0;if((e|0)>(l|0))ra(12449,12247,82,12431);g=f[b>>2]|0;if((g|0)>(l|0))ra(12494,12247,83,12431);c=f[b+4>>2]|0;if((c|0)>(l|0))ra(12539,12247,84,12431);if((h|0)<=-1)ra(12584,12247,85,12431);if((e|0)<=-1)ra(12606,12247,86,12431);if((g|0)<=-1)ra(12628,12247,87,12431);if((c|0)>-1){f[i>>2]=g;f[i+4>>2]=c;f[j>>2]=h;f[j+4>>2]=e;Fe(k,a,i,j);f[d>>2]=f[k>>2];f[d+4>>2]=f[k+4>>2];u=m;return}else ra(12650,12247,88,12431)}function bi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=c&255;e=(d|0)!=0;a:do if(e&(a&3|0)!=0){g=c&255;while(1){if((b[a>>0]|0)==g<<24>>24){i=6;break a}a=a+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(a&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(e)i=6;else d=0;b:do if((i|0)==6){g=c&255;if((b[a>>0]|0)!=g<<24>>24){e=X(h,16843009)|0;c:do if(d>>>0>3)while(1){h=f[a>>2]^e;if((h&-2139062144^-2139062144)&h+-16843009|0)break;a=a+4|0;d=d+-4|0;if(d>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!d){d=0;break}while(1){if((b[a>>0]|0)==g<<24>>24)break b;a=a+1|0;d=d+-1|0;if(!d){d=0;break}}}}while(0);return (d|0?a:0)|0}function ci(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,o=0;l=u;u=u+32|0;j=l+12|0;k=l;f[j>>2]=0;f[j+4>>2]=0;f[j+8>>2]=0;if((e|0)>0){g=k+11|0;h=k+4|0;i=0;do{if((i|0)>0)gn(j,17842)|0;Yk(k,$(n[d+(i<<2)>>2]));m=b[g>>0]|0;o=m<<24>>24<0;Vi(j,o?f[k>>2]|0:k,o?f[h>>2]|0:m&255)|0;if((b[g>>0]|0)<0)pq(f[k>>2]|0);i=i+1|0}while((i|0)<(e|0))}Rl(li(a,c)|0,j)|0;if((b[j+11>>0]|0)>=0){u=l;return}pq(f[j>>2]|0);u=l;return}function di(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+20>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;u=j;return 1}function ei(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0;h=a+12|0;i=f[h>>2]|0;f[h>>2]=0;if(i|0){c=f[i+28>>2]|0;if(c|0)do{h=c;c=f[c>>2]|0;ei(h+8|0);pq(h)}while((c|0)!=0);h=i+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)pq(c);c=f[i+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);pq(g)}while((c|0)!=0);c=f[i>>2]|0;f[i>>2]=0;if(c|0)pq(c);pq(i)}if((b[a+11>>0]|0)>=0)return;pq(f[a>>2]|0);return}function fi(a){a=a|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;c=an(16)|0;f[i>>2]=c;f[i+8>>2]=-2147483632;f[i+4>>2]=14;e=c;g=17773;h=e+14|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+14>>0]=0;d=Bk(a,i,-1)|0;if((b[i+11>>0]|0)<0)pq(f[i>>2]|0);c=an(16)|0;f[i>>2]=c;f[i+8>>2]=-2147483632;f[i+4>>2]=14;e=c;g=17788;h=e+14|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+14>>0]=0;c=Bk(a,i,-1)|0;if((b[i+11>>0]|0)>=0){i=(d|0)<(c|0);i=i?c:d;h=(i|0)==-1;i=h?5:i;u=j;return i|0}pq(f[i>>2]|0);i=(d|0)<(c|0);i=i?c:d;h=(i|0)==-1;i=h?5:i;u=j;return i|0}function gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=u;u=u+32|0;i=j+16|0;c=j+8|0;d=j;g=a+8|0;if(f[g>>2]<<5>>>0>=b>>>0){u=j;return}f[i>>2]=0;h=i+4|0;f[h>>2]=0;e=i+8|0;f[e>>2]=0;if((b|0)<0)Fp(i);l=((b+-1|0)>>>5)+1|0;k=an(l<<2)|0;f[i>>2]=k;f[h>>2]=0;f[e>>2]=l;l=f[a>>2]|0;f[c>>2]=l;f[c+4>>2]=0;k=a+4|0;b=f[k>>2]|0;f[d>>2]=l+(b>>>5<<2);f[d+4>>2]=b&31;Bg(i,c,d);b=f[a>>2]|0;f[a>>2]=f[i>>2];f[i>>2]=b;a=f[k>>2]|0;f[k>>2]=f[h>>2];f[h>>2]=a;a=f[g>>2]|0;f[g>>2]=f[e>>2];f[e>>2]=a;if(b|0)pq(b);u=j;return}function hi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3568;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);c=a+140|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[a+164>>2]=-1;c=a+168|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;f[c+20>>2]=0;f[c+24>>2]=0;cn(a+200|0);ln(a+232|0);c=a+316|0;e=a+264|0;g=e+52|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));f[c>>2]=-1;f[a+320>>2]=-1073741824;f[a+324>>2]=0;f[a+328>>2]=2;f[a+332>>2]=7;f[a+336>>2]=0;f[a+340>>2]=0;f[a+344>>2]=0;b[a+352>>0]=0;return}function ii(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;g=j+8|0;h=j+4|0;i=j;f[i>>2]=f[a+12>>2];e=b+16|0;d=e;c=f[d>>2]|0;d=f[d+4>>2]|0;if(!((d|0)>0|(d|0)==0&c>>>0>0)){f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;c=e;d=f[c+4>>2]|0;c=f[c>>2]|0}f[i>>2]=f[a+16>>2];if((d|0)>0|(d|0)==0&c>>>0>0){u=j;return 1}f[h>>2]=f[b+4>>2];f[g>>2]=f[h>>2];Ke(b,g,i,i+4|0)|0;u=j;return 1}function ji(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;i=l;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){k=1;u=l;return k|0}j=a+4|0;g=a+20|0;h=a+24|0;e=a+16|0;d=0;while(1){c=f[(f[j>>2]|0)+4>>2]|0;c=Zl(c,Na[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;f[i>>2]=c;if((c|0)==-1)break;a=f[g>>2]|0;if((a|0)==(f[h>>2]|0))Gi(e,i);else{f[a>>2]=c;f[g>>2]=a+4}_k(f[j>>2]|0,f[i>>2]|0)|0;d=d+1|0;if((d|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;k=9;break}}if((k|0)==9){u=l;return a|0}k=0;u=l;return k|0}function ki(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=b+48|0;if((fi(f[e>>2]|0)|0)>9){e=0;return e|0}if((Ma[f[(f[b>>2]|0)+8>>2]&127](b)|0)!=1){e=0;return e|0}d=b+4|0;b=f[d>>2]|0;if((a|0)<=-1)ra(20625,20641,59,20738);c=f[b+8>>2]|0;if(((f[b+12>>2]|0)-c>>2|0)<=(a|0))ra(20748,20641,60,20738);c=(f[c+(a<<2)>>2]|0)+56|0;b=f[c>>2]|0;do if((b|0)==3)if((fi(f[e>>2]|0)|0)<4){e=5;return e|0}else{b=f[c>>2]|0;break}while(0);c=fi(f[e>>2]|0)|0;if((b|0)==1){e=(c|0)<4?6:0;return e|0}if((c|0)>7){e=0;return e|0}if((fi(f[e>>2]|0)|0)>1){e=1;return e|0}else return ((f[(f[d>>2]|0)+80>>2]|0)<40?1:4)|0;return 0}function li(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;h=u;u=u+16|0;d=h;e=lg(a,d,b)|0;c=f[e>>2]|0;if(c|0){a=c;a=a+28|0;u=h;return a|0}g=an(40)|0;dj(g+16|0,b);c=g+28|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;c=f[d>>2]|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=c;f[e>>2]=g;c=f[f[a>>2]>>2]|0;if(!c)c=g;else{f[a>>2]=c;c=f[e>>2]|0}He(f[a+4>>2]|0,c);a=a+8|0;f[a>>2]=(f[a>>2]|0)+1;a=g;a=a+28|0;u=h;return a|0}function mi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;h=a+32|0;ed(a,h);c=a+80|0;b=f[c>>2]|0;if((b|0?(d=a+84|0,(f[d>>2]|0)>0):0)?(ed(b,h),(f[d>>2]|0)>1):0){b=1;do{ed((f[c>>2]|0)+(b<<5)|0,h);b=b+1|0}while((b|0)<(f[d>>2]|0))}g=a+136|0;e=a+140|0;b=f[g>>2]|0;if((f[e>>2]|0)==(b|0))return;a=0;do{Rh((f[b+(a*12|0)+4>>2]|0)-(f[b+(a*12|0)>>2]|0)>>2,h)|0;b=f[g>>2]|0;c=f[b+(a*12|0)>>2]|0;d=(f[b+(a*12|0)+4>>2]|0)-c>>2;if(d){Lc(c,d,1,h)|0;b=f[g>>2]|0}a=a+1|0}while(a>>>0<(((f[e>>2]|0)-b|0)/12|0)>>>0);return}function ni(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;h=f[a>>2]|0;k=(f[i>>2]|0)-h|0;d=(k|0)/12|0;c=d+1|0;if(c>>>0>357913941)Fp(a);j=a+8|0;g=((f[j>>2]|0)-h|0)/12|0;e=g<<1;e=g>>>0<178956970?(e>>>0>>0?c:e):357913941;do if(e)if(e>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(e*12|0)|0;break}else g=0;while(0);d=g+(d*12|0)|0;f[d>>2]=f[b>>2];f[d+4>>2]=f[b+4>>2];f[d+8>>2]=f[b+8>>2];c=d+(((k|0)/-12|0)*12|0)|0;if((k|0)>0)Rg(c|0,h|0,k|0)|0;f[a>>2]=c;f[i>>2]=d+12;f[j>>2]=g+(e*12|0);if(!h)return;pq(h);return}function oi(a,c,d,e,g,h,i,j){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=u;u=u+16|0;n=o;if((-18-c|0)>>>0>>0)Fp(a);if((b[a+11>>0]|0)<0)m=f[a>>2]|0;else m=a;if(c>>>0<2147483623){l=d+c|0;k=c<<1;l=l>>>0>>0?k:l;l=l>>>0<11?11:l+16&-16}else l=-17;k=an(l)|0;if(g|0)go(k,m,g)|0;if(i|0)go(k+g|0,j,i)|0;d=e-h|0;e=d-g|0;if(e|0)go(k+g+i|0,m+g+h|0,e)|0;if((c|0)!=10)pq(m);f[a>>2]=k;f[a+8>>2]=l|-2147483648;m=d+i|0;f[a+4>>2]=m;b[n>>0]=0;Yo(k+m|0,n);u=o;return}function pi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;g=d+16|0;e=f[g>>2]|0;if(!e)if(!(ml(d)|0)){e=f[g>>2]|0;h=5}else e=0;else h=5;a:do if((h|0)==5){j=d+20|0;i=f[j>>2]|0;g=i;if((e-i|0)>>>0>>0){e=Oa[f[d+36>>2]&31](d,a,c)|0;break}b:do if((b[d+75>>0]|0)>-1){i=c;while(1){if(!i){h=g;d=0;g=c;e=a;break b}e=i+-1|0;if((b[a+e>>0]|0)==10)break;else i=e}e=Oa[f[d+36>>2]&31](d,a,i)|0;if(e>>>0>>0)break a;h=f[j>>2]|0;d=i;g=c-i|0;e=a+i|0}else{h=g;d=0;g=c;e=a}while(0);Rg(h|0,e|0,g|0)|0;f[j>>2]=(f[j>>2]|0)+g;e=d+g|0}while(0);return e|0}function qi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+8|0;d=f[l>>2]|0;k=a+4|0;c=f[k>>2]|0;if(d-c>>2>>>0>=b>>>0){cj(c|0,0,b<<2|0)|0;f[k>>2]=c+(b<<2);return}j=f[a>>2]|0;i=c-j|0;h=i>>2;c=h+b|0;if(c>>>0>1073741823)Fp(a);g=d-j|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;cj(e|0,0,b<<2|0)|0;c=e+(0-h<<2)|0;if((i|0)>0)Rg(c|0,j|0,i|0)|0;f[a>>2]=c;f[k>>2]=e+(b<<2);f[l>>2]=g+(d<<2);if(!j)return;pq(j);return}function ri(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;if((b|0)>=33)ra(19536,7958,49,19667);if((b|0)<=0)ra(19696,7958,50,19667);j=a+16|0;g=f[j>>2]|0;h=32-g|0;e=32-b|0;c=c<>2]|0;if((h|0)<(b|0)){g=c>>>e;e=b-h|0;f[j>>2]=e;e=g>>>e|d;f[i>>2]=e;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))Gi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=g<<32-(f[j>>2]|0);return}e=d|c>>>g;f[i>>2]=e;b=g+b|0;f[j>>2]=b;if((b|0)!=32)return;d=a+4|0;c=f[d>>2]|0;if((c|0)==(f[a+8>>2]|0))Gi(a,i);else{f[c>>2]=e;f[d>>2]=c+4}f[i>>2]=0;f[j>>2]=0;return}function si(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;g=a+136|0;b=f[g>>2]|0;if(b|0){h=a+140|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{d=c+-12|0;f[h>>2]=d;e=f[d>>2]|0;if(!e)c=d;else{d=c+-8|0;c=f[d>>2]|0;if((c|0)!=(e|0))f[d>>2]=c+(~((c+-4-e|0)>>>2)<<2);pq(e);c=f[h>>2]|0}}while((c|0)!=(b|0));b=f[g>>2]|0}pq(b)}b=f[a+104>>2]|0;if(b|0){d=a+108|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+92>>2]|0;if(!b){fj(a);return}d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);fj(a);return}function ti(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=a+16|0;j=g;i=f[j+4>>2]|0;if((d|0)<0|(d|0)==0&c>>>0<1|((i|0)>0|(i|0)==0&(f[j>>2]|0)>>>0>0)){a=0;return a|0}b[a+24>>0]=e&1;l=Mn(c|0,d|0,7,0)|0;l=kk(l|0,I|0,8,0)|0;d=I;h=g;f[h>>2]=l;f[h+4>>2]=d;h=a+4|0;g=f[h>>2]|0;c=f[a>>2]|0;i=g-c|0;j=Mn(i|0,0,8,0)|0;j=e?j:i;d=Mn(j|0,(e?I:0)|0,l|0,d|0)|0;if(d>>>0<=i>>>0){if(d>>>0>>0?(k=c+d|0,(g|0)!=(k|0)):0)f[h>>2]=k}else{xi(a,d-i|0);c=f[a>>2]|0}k=an(8)|0;f[k>>2]=c+j;f[k+4>>2]=0;l=a+12|0;c=f[l>>2]|0;f[l>>2]=k;if(!c){l=1;return l|0}pq(c);l=1;return l|0}function ui(a,c,d,e,g,h){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0;i=u;u=u+64|0;j=i;xl(j);h=f[h+56>>2]|0;c=X(Nl(5)|0,e)|0;sj(j,h,0,e&255,5,0,c,((c|0)<0)<<31>>31,0,0);c=an(96)|0;nl(c,j);f[a>>2]=c;kj(c,d)|0;if(!g){u=i;return}b[c+84>>0]=0;d=c+68|0;a=c+72|0;e=f[a>>2]|0;c=f[d>>2]|0;h=e-c>>2;if(h>>>0>>0){lh(d,g-h|0,1216);u=i;return}if(h>>>0<=g>>>0){u=i;return}c=c+(g<<2)|0;if((e|0)==(c|0)){u=i;return}f[a>>2]=e+(~((e+-4-c|0)>>>2)<<2);u=i;return}function vi(a,b){a=a|0;b=b|0;var c=0,d=0,e=Ka;if((b|0)!=1){if(b+-1&b)b=Ya(b)|0}else b=2;d=f[a+4>>2]|0;if(b>>>0>d>>>0){Rd(a,b);return}if(b>>>0>=d>>>0)return;e=$((f[a+12>>2]|0)>>>0);c=~~$(W($(e/$(n[a+16>>2]))))>>>0;if(d>>>0>2&(d+-1&d|0)==0)c=1<<32-(_(c+-1|0)|0);else c=Ya(c)|0;b=b>>>0>>0?c:b;if(b>>>0>=d>>>0)return;Rd(a,b);return}function wi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=(e-c|0)/108|0;if(d>>>0>>0){xe(a,b-d|0);return}if(d>>>0<=b>>>0)return;a=c+(b*108|0)|0;if((e|0)==(a|0))return;do{f[g>>2]=e+-108;c=f[e+-20>>2]|0;if(c|0){d=e+-16|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}c=f[e+-32>>2]|0;if(c|0){d=e+-28|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}yj(e+-104|0);e=f[g>>2]|0}while((e|0)!=(a|0));return}function xi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;e=f[j>>2]|0;k=a+4|0;d=f[k>>2]|0;if((e-d|0)>>>0>=c>>>0){do{b[d>>0]=0;d=(f[k>>2]|0)+1|0;f[k>>2]=d;c=c+-1|0}while((c|0)!=0);return}g=f[a>>2]|0;h=d-g|0;d=h+c|0;if((d|0)<0)Fp(a);g=e-g|0;i=g<<1;d=g>>>0<1073741823?(i>>>0>>0?d:i):2147483647;if(!d)e=0;else e=an(d)|0;i=e+h|0;h=e+d|0;d=i;g=i;do{b[d>>0]=0;d=g+1|0;g=d;c=c+-1|0}while((c|0)!=0);d=f[a>>2]|0;e=(f[k>>2]|0)-d|0;c=i+(0-e)|0;if((e|0)>0)Rg(c|0,d|0,e|0)|0;f[a>>2]=c;f[k>>2]=g;f[j>>2]=h;if(!d)return;pq(d);return}function yi(){var a=0,b=0,c=0,d=0,e=0,g=0,h=0,i=0;e=u;u=u+48|0;h=e+32|0;c=e+24|0;i=e+16|0;g=e;e=e+36|0;a=Zm()|0;if(a|0?(d=f[a>>2]|0,d|0):0){b=d+48|0;a=f[b>>2]|0;b=f[b+4>>2]|0;if(!((a&-256|0)==1126902528&(b|0)==1129074247)){f[c>>2]=f[1760];yn(23329,c)}if((a|0)==1126902529&(b|0)==1129074247)a=f[d+44>>2]|0;else a=d+80|0;f[e>>2]=a;d=f[d>>2]|0;a=f[d+4>>2]|0;d=Oa[f[(f[258]|0)+16>>2]&31](1032,d,e)|0;b=f[1760]|0;if(d){i=f[e>>2]|0;i=Ma[f[(f[i>>2]|0)+8>>2]&127](i)|0;f[g>>2]=b;f[g+4>>2]=a;f[g+8>>2]=i;yn(23243,g)}else{f[i>>2]=b;f[i+4>>2]=a;yn(23288,i)}}yn(23367,h)}function zi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;i=u;u=u+16|0;g=i;e=an(16)|0;f[g>>2]=e;f[g+8>>2]=-2147483632;f[g+4>>2]=14;h=e;j=17773;k=h+14|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));b[e+14>>0]=0;Hj(a,g,c);if((b[g+11>>0]|0)<0)pq(f[g>>2]|0);e=an(16)|0;f[g>>2]=e;f[g+8>>2]=-2147483632;f[g+4>>2]=14;h=e;j=17788;k=h+14|0;do{b[h>>0]=b[j>>0]|0;h=h+1|0;j=j+1|0}while((h|0)<(k|0));b[e+14>>0]=0;Hj(a,g,d);if((b[g+11>>0]|0)>=0){u=i;return}pq(f[g>>2]|0);u=i;return}function Ai(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0,h=0.0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=c+11|0;g=b[i>>0]|0;if(g<<24>>24<0)e=f[c+4>>2]|0;else e=g&255;h=+d;while(1){if(g<<24>>24<0)g=f[c>>2]|0;else g=c;p[j>>3]=h;g=hn(g,e+1|0,23240,j)|0;if((g|0)>-1)if(g>>>0>e>>>0)e=g;else break;else e=e<<1|1;uj(c,e,0);g=b[i>>0]|0}uj(c,g,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=k;return}function Bi(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=1352;d=a+32|0;e=f[d>>2]|0;f[d>>2]=0;if(e|0){d=e+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}b=f[e+68>>2]|0;if(b|0){d=e+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=e+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}pq(e)}d=f[a+16>>2]|0;if(!d)return;c=a+20|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function Ci(a){a=a|0;var b=0,c=0,d=0;b=f[a+92>>2]|0;if(b|0){d=a+96|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+76>>2]|0;if(b|0){d=a+80|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+4>>2]=3524;b=f[a+24>>2]|0;if(b|0)pq(b);b=f[a+12>>2]|0;if(!b)return;pq(b);return}function Di(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;i=j;h=c+11|0;e=b[h>>0]|0;if(e<<24>>24<0)g=f[c+4>>2]|0;else g=e&255;while(1){if(e<<24>>24<0)e=f[c>>2]|0;else e=c;f[i>>2]=d;e=hn(e,g+1|0,23237,i)|0;if((e|0)>-1)if(e>>>0>g>>>0)g=e;else break;else g=g<<1|1;uj(c,g,0);e=b[h>>0]|0}uj(c,e,0);f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2];e=0;while(1){if((e|0)==3)break;f[c+(e<<2)>>2]=0;e=e+1|0}u=j;return}function Ei(a,c,d){a=a|0;c=c|0;d=d|0;do if(a){if(c>>>0<128){b[a>>0]=c;a=1;break}d=(lq()|0)+188|0;if(!(f[f[d>>2]>>2]|0))if((c&-128|0)==57216){b[a>>0]=c;a=1;break}else{a=eq()|0;f[a>>2]=84;a=-1;break}if(c>>>0<2048){b[a>>0]=c>>>6|192;b[a+1>>0]=c&63|128;a=2;break}if(c>>>0<55296|(c&-8192|0)==57344){b[a>>0]=c>>>12|224;b[a+1>>0]=c>>>6&63|128;b[a+2>>0]=c&63|128;a=3;break}if((c+-65536|0)>>>0<1048576){b[a>>0]=c>>>18|240;b[a+1>>0]=c>>>12&63|128;b[a+2>>0]=c>>>6&63|128;b[a+3>>0]=c&63|128;a=4;break}else{a=eq()|0;f[a>>2]=84;a=-1;break}}else a=1;while(0);return a|0}function Fi(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;d=f[(f[c+4>>2]|0)+4>>2]|0;if(!d){f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;u=i;return}if(!(pj(i+12|0,f[c+44>>2]|0,d)|0)){d=an(32)|0;f[h>>2]=d;f[h+8>>2]=-2147483616;f[h+4>>2]=26;c=d;e=19224;g=c+26|0;do{b[c>>0]=b[e>>0]|0;c=c+1|0;e=e+1|0}while((c|0)<(g|0));b[d+26>>0]=0;f[a>>2]=-1;dj(a+4|0,h);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0)}else{f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0}u=i;return}function Gi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+4|0;i=f[a>>2]|0;l=(f[j>>2]|0)-i|0;h=l>>2;c=h+1|0;if(c>>>0>1073741823)Fp(a);k=a+8|0;g=(f[k>>2]|0)-i|0;d=g>>1;d=g>>2>>>0<536870911?(d>>>0>>0?c:d):1073741823;do if(d)if(d>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}else{g=an(d<<2)|0;break}else g=0;while(0);e=g+(h<<2)|0;f[e>>2]=f[b>>2];c=e+(0-h<<2)|0;if((l|0)>0)Rg(c|0,i|0,l|0)|0;f[a>>2]=c;f[j>>2]=e+4;f[k>>2]=g+(d<<2);if(!i)return;pq(i);return}function Hi(a){a=a|0;var c=0,d=0,e=0,g=0;f[a>>2]=3368;d=a+72|0;c=a+136|0;e=a+4|0;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=d;g=e+64|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));n[c>>2]=$(1.0);g=a+140|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[a+164>>2]=-1;g=a+168|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;f[g+24>>2]=0;cn(a+200|0);ln(a+232|0);g=a+264|0;f[g>>2]=0;f[g+4>>2]=0;f[g+8>>2]=0;f[g+12>>2]=0;f[g+16>>2]=0;f[g+20>>2]=0;b[g+24>>0]=0;return}function Ii(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0,i=0,j=0;i=a+8|0;d=f[i>>2]|0;if((d|0)<0){j=0;return j|0}j=a+4|0;a=f[j>>2]|0;e=a+4|0;c=f[e>>2]|0;b=f[a>>2]|0;g=c-b>>2;if(d>>>0<=g>>>0){if(d>>>0>>0?(h=b+(d<<2)|0,(c|0)!=(h|0)):0)f[e>>2]=c+(~((c+-4-h|0)>>>2)<<2)}else{qi(a,d-g|0);d=f[i>>2]|0}if((d|0)<=0){j=1;return j|0}e=f[j>>2]|0;a=f[e>>2]|0;c=(f[e+4>>2]|0)-a>>2;b=0;while(1){if(c>>>0<=b>>>0){b=10;break}f[a+(b<<2)>>2]=b;b=b+1|0;if((b|0)>=(d|0)){a=1;b=12;break}}if((b|0)==10)Fp(e);else if((b|0)==12)return a|0;return 0}function Ji(a){a=a|0;var c=0,d=0,e=0,g=0,h=0;c=f[a+28>>2]|0;if(c|0)do{d=c;c=f[c>>2]|0;g=d+8|0;h=d+20|0;e=f[h>>2]|0;f[h>>2]=0;if(e|0){Ji(e);pq(e)}if((b[g+11>>0]|0)<0)pq(f[g>>2]|0);pq(d)}while((c|0)!=0);h=a+20|0;c=f[h>>2]|0;f[h>>2]=0;if(c|0)pq(c);c=f[a+8>>2]|0;if(c|0)do{g=c;c=f[c>>2]|0;h=g+8|0;d=f[g+20>>2]|0;if(d|0){e=g+24|0;if((f[e>>2]|0)!=(d|0))f[e>>2]=d;pq(d)}if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);pq(g)}while((c|0)!=0);c=f[a>>2]|0;f[a>>2]=0;if(!c)return;pq(c);return}function Ki(a){a=a|0;var b=0,c=0,d=0,e=0,g=0;Uk(a);g=a+84|0;b=f[g>>2]|0;if((b|0)<=0)return;d=b<<5;d=mq(b>>>0>134217727|d>>>0>4294967291?-1:d+4|0)|0;f[d>>2]=b;d=d+4|0;c=d+(b<<5)|0;b=d;do{cn(b);b=b+32|0}while((b|0)!=(c|0));e=a+80|0;a=f[e>>2]|0;f[e>>2]=d;if(a|0){c=a+-4|0;b=f[c>>2]|0;if(b|0){b=a+(b<<5)|0;do{b=b+-32|0;qj(b)}while((b|0)!=(a|0))}nq(c)}if((f[g>>2]|0)>0)b=0;else return;do{Uk((f[e>>2]|0)+(b<<5)|0);b=b+1|0}while((b|0)<(f[g>>2]|0));return}function Li(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;i=u;u=u+16|0;h=i;g=f[c+36>>2]|0;if(!g){e=an(32)|0;f[h>>2]=e;f[h+8>>2]=-2147483616;f[h+4>>2]=23;g=e;d=19071;c=g+23|0;do{b[g>>0]=b[d>>0]|0;g=g+1|0;d=d+1|0}while((g|0)<(c|0));b[e+23>>0]=0;f[a>>2]=-1;dj(a+4|0,h);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);u=i;return}e=f[c+40>>2]|0;if(!e){id(a,c,g,d);u=i;return}else{Xh(a,c,e,d);u=i;return}}function Mi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;j=a+8|0;g=f[a>>2]|0;d=g;if((((f[j>>2]|0)-g|0)/12|0)>>>0>=b>>>0)return;i=a+4|0;if(b>>>0>357913941){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}k=f[i>>2]|0;e=an(b*12|0)|0;c=e+(((k-g|0)/12|0)*12|0)|0;h=c;e=e+(b*12|0)|0;b=k;if((b|0)==(d|0))c=h;else do{k=b;b=b+-12|0;f[c+-12>>2]=f[b>>2];f[c+-8>>2]=f[k+-8>>2];f[c+-4>>2]=f[k+-4>>2];c=c+-12|0}while((b|0)!=(d|0));f[a>>2]=c;f[i>>2]=h;f[j>>2]=e;if(!g)return;pq(g);return}function Ni(a,c,d,e){a=a|0;c=c|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0;i=u;u=u+16|0;h=i;if(!c){j=0;u=i;return j|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;j=7}}else{j=g+16&-16;a=an(j)|0;f[h>>2]=a;f[h+8>>2]=j|-2147483648;f[h+4>>2]=g;j=7}if((j|0)==7)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;Ol(c,h,e);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);j=1;u=i;return j|0}function Oi(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0;i=u;u=u+16|0;h=i;if(!c){j=0;u=i;return j|0}f[h>>2]=0;f[h+4>>2]=0;f[h+8>>2]=0;g=Vj(d)|0;if(g>>>0>4294967279)Fp(h);if(g>>>0<11){b[h+11>>0]=g;if(!g)a=h;else{a=h;j=7}}else{j=g+16&-16;a=an(j)|0;f[h>>2]=a;f[h+8>>2]=j|-2147483648;f[h+4>>2]=g;j=7}if((j|0)==7)Rg(a|0,d|0,g|0)|0;b[a+g>>0]=0;Ql(c,h,e);if((b[h+11>>0]|0)<0)pq(f[h>>2]|0);j=1;u=i;return j|0}function Pi(a,b){a=a|0;b=b|0;var c=0,d=0;c=a+32|0;a=f[b>>2]|0;f[b>>2]=0;d=f[c>>2]|0;f[c>>2]=a;if(!d)return;c=d+88|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b+8>>2]|0;if(a|0){c=b+12|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}b=f[d+68>>2]|0;if(b|0){c=d+72|0;a=f[c>>2]|0;if((a|0)!=(b|0))f[c>>2]=a+(~((a+-4-b|0)>>>2)<<2);pq(b)}c=d+64|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0){a=f[b>>2]|0;if(a|0){c=b+4|0;if((f[c>>2]|0)!=(a|0))f[c>>2]=a;pq(a)}pq(b)}pq(d);return}function Qi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;j=u;u=u+48|0;h=j+4|0;i=j;g=f[b+12>>2]|0;b=f[b+4>>2]|0;d=h;e=d+36|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));Pg(i,c,g,b,h);e=f[h+24>>2]|0;if(!e){i=f[i>>2]|0;f[a>>2]=i;u=j;return}d=h+28|0;b=f[d>>2]|0;if((b|0)!=(e|0))f[d>>2]=b+(~((b+-4-e|0)>>>2)<<2);pq(e);i=f[i>>2]|0;f[a>>2]=i;u=j;return}function Ri(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;e=u;u=u+16|0;d=e;if(!c){a=0;u=e;return a|0}i=c+4|0;g=(f[i>>2]|0)-(f[c>>2]|0)>>2;b[d>>0]=0;Zg(a,g,d);g=c+24|0;h=c+28|0;j=(f[h>>2]|0)-(f[g>>2]|0)>>2;b[d>>0]=0;Zg(a+12|0,j,d);bg(a+28|0,(f[i>>2]|0)-(f[c>>2]|0)>>2,6068);Jj(a+52|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);Jj(a+40|0,(f[h>>2]|0)-(f[g>>2]|0)>>2);f[a+64>>2]=c;b[a+24>>0]=1;a=1;u=e;return a|0}function Si(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=u;u=u+128|0;g=m+124|0;l=m;h=l;i=6488;j=h+124|0;do{f[h>>2]=f[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((c+-1|0)>>>0>2147483646)if(!c){c=1;k=4}else{g=eq()|0;f[g>>2]=75;g=-1}else{g=a;k=4}if((k|0)==4){k=-2-g|0;k=c>>>0>k>>>0?k:c;f[l+48>>2]=k;h=l+20|0;f[h>>2]=g;f[l+44>>2]=g;g=g+k|0;c=l+16|0;f[c>>2]=g;f[l+28>>2]=g;g=jh(l,d,e)|0;if(k){d=f[h>>2]|0;b[d+(((d|0)==(f[c>>2]|0))<<31>>31)>>0]=0}}u=m;return g|0}function Ti(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!b){e=0;return e|0}if(f[b+4>>2]|0){e=0;return e|0}a=an(52)|0;Mb(a,c);f[a+40>>2]=0;f[a+44>>2]=0;f[a+48>>2]=0;d=b+4|0;e=f[d>>2]|0;f[d>>2]=a;if(!e){e=1;return e|0}a=e+40|0;b=f[a>>2]|0;if(b|0){d=e+44|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{g=c+-4|0;f[d>>2]=g;c=f[g>>2]|0;f[g>>2]=0;if(c|0){Ji(c);pq(c)}c=f[d>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}pq(b)}Ji(e);pq(e);g=1;return g|0}function Ui(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;h=a+11|0;e=b[h>>0]|0;g=e<<24>>24<0;if(g)i=(f[a+8>>2]&2147483647)+-1|0;else i=10;do if(i>>>0>=d>>>0){if(g)e=f[a>>2]|0;else e=a;eo(e,c,d)|0;b[j>>0]=0;Yo(e+d|0,j);if((b[h>>0]|0)<0){f[a+4>>2]=d;break}else{b[h>>0]=d;break}}else{if(g)e=f[a+4>>2]|0;else e=e&255;oi(a,i,d-i|0,e,0,e,d,c)}while(0);u=k;return a|0}function Vi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;j=a+11|0;e=b[j>>0]|0;i=e<<24>>24<0;if(i){h=f[a+4>>2]|0;e=(f[a+8>>2]&2147483647)+-1|0}else{h=e&255;e=10}g=h+d|0;if((e-h|0)>>>0>=d>>>0){if(d|0){if(i)e=f[a>>2]|0;else e=a;go(e+h|0,c,d)|0;if((b[j>>0]|0)<0)f[a+4>>2]=g;else b[j>>0]=g;b[k>>0]=0;Yo(e+g|0,k)}}else oi(a,e,g-e|0,h,h,0,d,c);u=l;return a|0}function Wi(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;k=l;if(c|0){h=a+11|0;e=b[h>>0]|0;if(e<<24>>24<0){j=f[a+4>>2]|0;g=(f[a+8>>2]&2147483647)+-1|0}else{j=e&255;g=10}i=j+c|0;if((g-j|0)>>>0>>0){hj(a,g,i-g|0,j,j,0,0);e=b[h>>0]|0}if(e<<24>>24<0)e=f[a>>2]|0;else e=a;tn(e+j|0,c,d)|0;if((b[h>>0]|0)<0)f[a+4>>2]=i;else b[h>>0]=i;b[k>>0]=0;Yo(e+i|0,k)}u=l;return a|0}function Xi(a){a=a|0;var c=0,d=0,e=0,g=0,i=0,j=0,k=0;d=a+104|0;j=f[d>>2]|0;if((j|0)!=0?(f[a+108>>2]|0)>=(j|0):0)k=4;else{c=Om(a)|0;if((c|0)>=0){e=f[d>>2]|0;d=a+8|0;if(e){i=f[d>>2]|0;j=f[a+4>>2]|0;d=a+108|0;e=e-(f[d>>2]|0)|0;g=i;if((i-j|0)<(e|0)){i=g;e=j}else{i=j+(e+-1)|0;e=j}}else{g=f[d>>2]|0;i=g;e=f[a+4>>2]|0;d=a+108|0}f[a+100>>2]=i;if(g|0)f[d>>2]=g+1-e+(f[d>>2]|0);d=e+-1|0;if((h[d>>0]|0|0)!=(c|0))b[d>>0]=c}else k=4}if((k|0)==4){f[a+100>>2]=0;c=-1}return c|0}function Yi(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=a+4|0;if((Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)<=0){b=1;return b|0}d=0;while(1){a=f[(f[c>>2]|0)+4>>2]|0;a=Zl(a,Na[f[(f[b>>2]|0)+24>>2]&127](b,d)|0)|0;if((a|0)==-1){a=0;c=6;break}e=f[(f[b>>2]|0)+28>>2]|0;a=Zk(f[c>>2]|0,a)|0;d=d+1|0;if(!(Na[e&127](b,a)|0)){a=0;c=6;break}if((d|0)>=(Ma[f[(f[b>>2]|0)+20>>2]&127](b)|0)){a=1;c=6;break}}if((c|0)==6)return a|0;return 0}function Zi(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;b=f[a>>2]|0;if(!b)return;h=a+4|0;c=f[h>>2]|0;if((c|0)!=(b|0)){do{f[h>>2]=c+-108;d=f[c+-20>>2]|0;if(d|0){g=c+-16|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}d=f[c+-32>>2]|0;if(d|0){g=c+-28|0;e=f[g>>2]|0;if((e|0)!=(d|0))f[g>>2]=e+(~((e+-4-d|0)>>>2)<<2);pq(d)}yj(c+-104|0);c=f[h>>2]|0}while((c|0)!=(b|0));b=f[a>>2]|0}pq(b);return}function _i(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;if(!(Jn(a,b,c)|0)){b=0;return b|0}if(!(Ma[f[(f[a>>2]|0)+52>>2]&127](a)|0)){b=0;return b|0}g=a+4|0;e=a+8|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){b=1;return b|0}d=a+36|0;a=0;while(1){h=f[(f[d>>2]|0)+(a<<2)>>2]|0;if(!(Oa[f[(f[h>>2]|0)+8>>2]&31](h,b,f[c+(a<<2)>>2]|0)|0)){c=0;a=7;break}a=a+1|0;c=f[g>>2]|0;if(a>>>0>=(f[e>>2]|0)-c>>2>>>0){c=1;a=7;break}}if((a|0)==7)return c|0;return 0}function $i(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a>>2]|0;if(b){e=c+8|0;c=e;c=Mn(f[c>>2]|0,f[c+4>>2]|0,1,0)|0;f[e>>2]=c;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0;d=a+24|0;f[d>>2]=f[d>>2]|1<>2]|0,f[d+4>>2]|0,1,0)|0;e=c;f[e>>2]=d;f[e+4>>2]=I;e=a+28|0;c=f[e>>2]|0}d=c+1|0;f[e>>2]=d;if((d|0)!=32)return;d=a+24|0;b=a+16|0;c=f[b>>2]|0;if((c|0)==(f[a+20>>2]|0))Gi(a+12|0,d);else{f[c>>2]=f[d>>2];f[b>>2]=c+4}f[e>>2]=0;f[d>>2]=0;return}function aj(a){a=a|0;var b=0,c=0,d=0,e=0;f[a>>2]=3820;b=f[a+32>>2]|0;if(b|0){d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+20>>2]|0;if(b|0){d=a+24|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}e=a+8|0;b=f[e>>2]|0;if(!b)return;d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0)){do{a=c+-4|0;f[d>>2]=a;c=f[a>>2]|0;f[a>>2]=0;if(c|0)Ra[f[(f[c>>2]|0)+4>>2]&127](c);c=f[d>>2]|0}while((c|0)!=(b|0));b=f[e>>2]|0}pq(b);return}function bj(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0;do if(!(Lo(a,f[c+8>>2]|0,g)|0)){if(Lo(a,f[c>>2]|0,g)|0){a=c+32|0;if((f[c+16>>2]|0)!=(d|0)?(h=c+20|0,(f[h>>2]|0)!=(d|0)):0){f[a>>2]=e;f[h>>2]=d;e=c+40|0;f[e>>2]=(f[e>>2]|0)+1;if((f[c+36>>2]|0)==1?(f[c+24>>2]|0)==2:0)b[c+54>>0]=1;f[c+44>>2]=4;break}if((e|0)==1)f[a>>2]=1}}else ym(0,c,d,e);while(0);return}function cj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0;h=a+d|0;c=c&255;if((d|0)>=67){while(a&3){b[a>>0]=c;a=a+1|0}e=h&-4|0;g=e-64|0;i=c|c<<8|c<<16|c<<24;while((a|0)<=(g|0)){f[a>>2]=i;f[a+4>>2]=i;f[a+8>>2]=i;f[a+12>>2]=i;f[a+16>>2]=i;f[a+20>>2]=i;f[a+24>>2]=i;f[a+28>>2]=i;f[a+32>>2]=i;f[a+36>>2]=i;f[a+40>>2]=i;f[a+44>>2]=i;f[a+48>>2]=i;f[a+52>>2]=i;f[a+56>>2]=i;f[a+60>>2]=i;a=a+64|0}while((a|0)<(e|0)){f[a>>2]=i;a=a+4|0}}while((a|0)<(h|0)){b[a>>0]=c;a=a+1|0}return h-d|0}function dj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;g=u;u=u+16|0;e=g;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;if((b[c+11>>0]|0)<0){d=f[c>>2]|0;c=f[c+4>>2]|0;if(c>>>0>4294967279)Fp(a);if(c>>>0<11)b[a+11>>0]=c;else{i=c+16&-16;h=an(i)|0;f[a>>2]=h;f[a+8>>2]=i|-2147483648;f[a+4>>2]=c;a=h}go(a,d,c)|0;b[e>>0]=0;Yo(a+c|0,e)}else{f[a>>2]=f[c>>2];f[a+4>>2]=f[c+4>>2];f[a+8>>2]=f[c+8>>2]}u=g;return}function ej(a,c,d,e,g){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0;b[c+53>>0]=1;do if((f[c+4>>2]|0)==(e|0)){b[c+52>>0]=1;h=c+16|0;a=f[h>>2]|0;k=c+54|0;j=c+48|0;i=c+24|0;e=c+36|0;if(!a){f[h>>2]=d;f[i>>2]=g;f[e>>2]=1;if(!((f[j>>2]|0)==1&(g|0)==1))break;b[k>>0]=1;break}if((a|0)!=(d|0)){f[e>>2]=(f[e>>2]|0)+1;b[k>>0]=1;break}e=f[i>>2]|0;if((e|0)==2){f[i>>2]=g;e=g}if((f[j>>2]|0)==1&(e|0)==1)b[k>>0]=1}while(0);return}function fj(a){a=a|0;var b=0,c=0,d=0;d=a+80|0;c=f[d>>2]|0;f[d>>2]=0;if(c|0){d=c+-4|0;b=f[d>>2]|0;if(b|0){b=c+(b<<5)|0;do{b=b+-32|0;qj(b)}while((b|0)!=(c|0))}nq(d)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=a+44|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)pq(b);b=f[a+32>>2]|0;if(!b){qj(a);return}c=a+36|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;pq(b);qj(a);return}function gj(a,b){a=a|0;b=b|0;if(!b)return;else{gj(a,f[b>>2]|0);gj(a,f[b+4>>2]|0);lj(b+20|0,f[b+24>>2]|0);pq(b);return}}function hj(a,c,d,e,g,h,i){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-c|0)>>>0>>0)Fp(a);if((b[a+11>>0]|0)<0)l=f[a>>2]|0;else l=a;if(c>>>0<2147483623){k=d+c|0;j=c<<1;k=k>>>0>>0?j:k;k=k>>>0<11?11:k+16&-16}else k=-17;j=an(k)|0;if(g|0)go(j,l,g)|0;d=e-h-g|0;if(d|0)go(j+g+i|0,l+g+h|0,d)|0;if((c|0)!=10)pq(l);f[a>>2]=j;f[a+8>>2]=k|-2147483648;return}function ij(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;cg(a,b,c);d=f[a+96>>2]|0;a=(f[a+100>>2]|0)-d|0;if((a|0)<=0)return;b=f[b>>2]|0;c=(a>>>0)/12|0;a=0;do{e=d+(a*12|0)|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+4|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];e=d+(a*12|0)+8|0;f[e>>2]=f[b+(f[e>>2]<<2)>>2];a=a+1|0}while((a|0)<(c|0));return}function jj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0;if((d|0)<0){a=0;return a|0}do if(!b){e=a+4|0;d=f[e>>2]|0;b=f[a>>2]|0;g=d-b|0;if(c>>>0>g>>>0){xi(a,c-g|0);break}if(c>>>0>>0?(h=b+c|0,(d|0)!=(h|0)):0)f[e>>2]=h}else sg(a,b,b+c|0);while(0);a=a+24|0;h=a;h=Mn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;a=1;return a|0}function kj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=a+64|0;if((f[h>>2]|0)==0?(g=an(32)|0,kn(g),d=f[h>>2]|0,f[h>>2]=g,d|0):0){e=f[d>>2]|0;if(e|0){g=d+4|0;if((f[g>>2]|0)!=(e|0))f[g>>2]=e;pq(e)}pq(d)}e=Nl(f[a+28>>2]|0)|0;e=X(b[a+24>>0]|0,e)|0;d=((e|0)<0)<<31>>31;i=f[h>>2]|0;g=$m(e|0,d|0,c|0,0)|0;if(!(jj(i,0,g,I)|0)){i=0;return i|0}vk(a,f[h>>2]|0,e,d,0,0);f[a+80>>2]=c;i=1;return i|0}function lj(a,c){a=a|0;c=c|0;var d=0;if(!c)return;lj(a,f[c>>2]|0);lj(a,f[c+4>>2]|0);a=c+16|0;d=c+28|0;if((b[d+11>>0]|0)<0)pq(f[d>>2]|0);if((b[a+11>>0]|0)<0)pq(f[a>>2]|0);pq(c);return}function mj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;h=u;u=u+64|0;g=h;if(!(Lo(a,b,0)|0))if((b|0)!=0?(e=mh(b,1056,1040,0)|0,(e|0)!=0):0){b=g+4|0;d=b+52|0;do{f[b>>2]=0;b=b+4|0}while((b|0)<(d|0));f[g>>2]=e;f[g+8>>2]=a;f[g+12>>2]=-1;f[g+48>>2]=1;Ua[f[(f[e>>2]|0)+28>>2]&3](e,g,f[c>>2]|0,1);if((f[g+24>>2]|0)==1){f[c>>2]=f[g+16>>2];b=1}else b=0}else b=0;else b=1;u=h;return b|0}function nj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=u;u=u+16|0;c=g;if(b|0){a=0;u=g;return a|0}b=an(36)|0;no(b,0);f[c>>2]=b;e=a+12|0;d=f[e>>2]|0;if(d>>>0<(f[a+16>>2]|0)>>>0){f[c>>2]=0;f[d>>2]=b;f[e>>2]=d+4}else Lg(a+8|0,c);b=f[c>>2]|0;f[c>>2]=0;if(!b){a=1;u=g;return a|0}Ra[f[(f[b>>2]|0)+4>>2]&127](b);a=1;u=g;return a|0}function oj(a){a=a|0;var b=0,c=0,d=0;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+24>>2]|0;if(b|0){d=a+28|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+12>>2]|0;if(b|0){d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=f[a>>2]|0;if(!d)return;c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function pj(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;if(!c){a=0;return a|0}d=c+40|0;g=c+44|0;Rh((f[g>>2]|0)-(f[d>>2]|0)>>2,b)|0;d=f[d>>2]|0;g=f[g>>2]|0;if((d|0)!=(g|0))do{e=f[d>>2]|0;if(e|0){Rh(f[e+40>>2]|0,b)|0;Wf(a,b,e)|0}d=d+4|0}while((d|0)!=(g|0));Wf(a,b,c)|0;a=1;return a|0}function qj(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;c=e;d=c;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,c);c=f[a+12>>2]|0;d=a+16|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+24>>2]=0;f[a+28>>2]=0;if(c|0){if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c)}d=f[a>>2]|0;if(!d){u=e;return}c=a+4|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-8-d|0)>>>3)<<3);pq(d);u=e;return}function rj(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;f=d-e|0;a=a+8|0;if((f|0)>0){d=0-e|0;do{g=b+(f<<2)|0;ai(a,g,g+(d<<2)|0,c+(f<<2)|0);f=f-e|0}while((f|0)>0)}e=e>>>0>1073741823?-1:e<<2;g=mq(e)|0;cj(g|0,0,e|0)|0;ai(a,b,g,c);nq(g);return 1}function sj(a,c,d,e,g,h,i,j,k,l){a=a|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;f[a>>2]=d;if(d|0){o=d+16|0;m=f[o+4>>2]|0;n=a+8|0;f[n>>2]=f[o>>2];f[n+4>>2]=m;n=d+24|0;m=f[n+4>>2]|0;d=a+16|0;f[d>>2]=f[n>>2];f[d+4>>2]=m}b[a+24>>0]=e;f[a+28>>2]=g;b[a+32>>0]=h&1;o=a+40|0;f[o>>2]=i;f[o+4>>2]=j;o=a+48|0;f[o>>2]=k;f[o+4>>2]=l;f[a+56>>2]=c;return}function tj(a){a=a|0;var b=0,c=0,d=0;if(!a)return;d=a+88|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b+8>>2]|0;if(c|0){d=b+12|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}b=f[a+68>>2]|0;if(b|0){d=a+72|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=a+64|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0){c=f[b>>2]|0;if(c|0){d=b+4|0;if((f[d>>2]|0)!=(c|0))f[d>>2]=c;pq(c)}pq(b)}pq(a);return}function uj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0;j=u;u=u+16|0;h=j;g=a+11|0;e=b[g>>0]|0;i=e<<24>>24<0;if(i)e=f[a+4>>2]|0;else e=e&255;do if(e>>>0>=c>>>0)if(i){i=(f[a>>2]|0)+c|0;b[h>>0]=0;Yo(i,h);f[a+4>>2]=c;break}else{b[h>>0]=0;Yo(a+c|0,h);b[g>>0]=c;break}else Wi(a,c-e|0,d)|0;while(0);u=j;return}function vj(a,b){a=a|0;b=b|0;if(!b)return;else{vj(a,f[b>>2]|0);vj(a,f[b+4>>2]|0);lj(b+20|0,f[b+24>>2]|0);pq(b);return}}function wj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;h=u;u=u+16|0;e=h+4|0;d=h;g=h+8|0;a=f[a+4>>2]|0;if((a|0)==-1){g=0;u=h;return g|0}b[g>>0]=a;a=c+16|0;i=f[a+4>>2]|0;if(!((i|0)>0|(i|0)==0&(f[a>>2]|0)>>>0>0)){f[d>>2]=f[c+4>>2];f[e>>2]=f[d>>2];Ke(c,e,g,g+1|0)|0}i=1;u=h;return i|0}function xj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;k=u;u=u+16|0;j=k;i=k+4|0;f[j>>2]=c;c=an(32)|0;f[i>>2]=c;f[i+8>>2]=-2147483616;f[i+4>>2]=17;e=c;g=17860;h=e+17|0;do{b[e>>0]=b[g>>0]|0;e=e+1|0;g=g+1|0}while((e|0)<(h|0));b[c+17>>0]=0;Hj(Dd(a,j)|0,i,d);if((b[i+11>>0]|0)>=0){u=k;return}pq(f[i>>2]|0);u=k;return}function yj(a){a=a|0;var b=0,c=0,d=0;b=f[a+52>>2]|0;if(b|0){d=a+56|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+40>>2]|0;if(b|0){d=a+44|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+28>>2]|0;if(b|0){d=a+32|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+12>>2]|0;if(b|0)pq(b);b=f[a>>2]|0;if(!b)return;pq(b);return}function zj(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}b=f[c+(b<<2)>>2]|0;if((b|0)<0){a=0;return a|0}c=a+48|0;if((f[a+52>>2]|0)>>>0<=b>>>0)De(c,b+1|0,0);c=(f[c>>2]|0)+(b>>>5<<2)|0;f[c>>2]=f[c>>2]|1<<(b&31);c=f[a+36>>2]|0;if((f[a+40>>2]|0)-c>>2>>>0<=b>>>0){a=1;return a|0}dp(f[c+(b<<2)>>2]|0);a=1;return a|0}function Aj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,i=0,j=0,k=0,l=0;l=u;u=u+16|0;j=l;k=c&255;b[j>>0]=k;g=a+16|0;e=f[g>>2]|0;if(!e)if(!(ml(a)|0)){e=f[g>>2]|0;i=4}else d=-1;else i=4;do if((i|0)==4){i=a+20|0;g=f[i>>2]|0;if(g>>>0>>0?(d=c&255,(d|0)!=(b[a+75>>0]|0)):0){f[i>>2]=g+1;b[g>>0]=k;break}if((Oa[f[a+36>>2]&31](a,j,1)|0)==1)d=h[j>>0]|0;else d=-1}while(0);u=l;return d|0}function Bj(a){a=a|0;var b=0,c=0,d=0,e=0,g=0,h=0;e=u;u=u+16|0;c=e+8|0;b=e+4|0;d=e;f[d>>2]=f[(f[a+4>>2]|0)+80>>2];a=f[a+44>>2]|0;g=a+16|0;h=f[g+4>>2]|0;if((h|0)>0|(h|0)==0&(f[g>>2]|0)>>>0>0){u=e;return 1}f[b>>2]=f[a+4>>2];f[c>>2]=f[b>>2];Ke(a,c,d,d+4|0)|0;u=e;return 1}function Cj(a,c,d){a=a|0;c=c|0;d=$(d);var e=0,g=0;g=u;u=u+16|0;e=g;Yk(e,d);a=li(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}uh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Dj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;b=f[b>>2]|0;if((b|0)==-1073741824)return 1;c=(b|0)<0?-1073741824:b*3|0;if((c|0)<0)return 1;a=f[a>>2]|0;e=f[a+(c<<2)>>2]|0;b=c+1|0;b=((b|0)%3|0|0)==0?c+-2|0:b;if((b|0)<0)d=-1073741824;else d=f[a+(b<<2)>>2]|0;b=(((c>>>0)%3|0|0)==0?2:-1)+c|0;if((b|0)<0)b=-1073741824;else b=f[a+(b<<2)>>2]|0;if((e|0)==(d|0))return 1;else return (e|0)==(b|0)|(d|0)==(b|0)|0;return 0}function Ej(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;al(e,d&1);a=li(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}uh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Fj(a){a=a|0;if(!a)return;lj(a+24|0,f[a+28>>2]|0);gj(a+12|0,f[a+16>>2]|0);lj(a,f[a+4>>2]|0);pq(a);return}function Gj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0;h=a&255;d=a&255;if((f[c+76>>2]|0)>=0?(vq(c)|0)!=0:0){if((d|0)!=(b[c+75>>0]|0)?(j=c+20|0,g=f[j>>2]|0,g>>>0<(f[c+16>>2]|0)>>>0):0){f[j>>2]=g+1;b[g>>0]=h}else d=Aj(c,a)|0;uq(c)}else k=3;do if((k|0)==3){if((d|0)!=(b[c+75>>0]|0)?(i=c+20|0,e=f[i>>2]|0,e>>>0<(f[c+16>>2]|0)>>>0):0){f[i>>2]=e+1;b[e>>0]=h;break}d=Aj(c,a)|0}while(0);return d|0}function Hj(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g;al(e,d);a=li(a,c)|0;c=a+11|0;if((b[c>>0]|0)<0){b[f[a>>2]>>0]=0;f[a+4>>2]=0}else{b[a>>0]=0;b[c>>0]=0}uh(a,0);f[a>>2]=f[e>>2];f[a+4>>2]=f[e+4>>2];f[a+8>>2]=f[e+8>>2];u=g;return}function Ij(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2132;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){pq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);pq(a);return}function Jj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=a+8|0;c=f[a>>2]|0;if((f[e>>2]|0)-c>>2>>>0>=b>>>0)return;d=a+4|0;if(b>>>0>1073741823){a=sa(8)|0;to(a,20196);f[a>>2]=7152;wa(a|0,1112,107)}j=(f[d>>2]|0)-c|0;h=j>>2;i=an(b<<2)|0;g=i+(h<<2)|0;h=g+(0-h<<2)|0;if((j|0)>0)Rg(h|0,c|0,j|0)|0;f[a>>2]=h;f[d>>2]=g;f[e>>2]=i+(b<<2);if(!c)return;pq(c);return}function Kj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1768;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c){pq(a);return}d=a+36|0;b=f[d>>2]|0;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);pq(a);return}function Lj(a){a=a|0;var b=0,c=0;f[a>>2]=2132;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Mj(a){a=a|0;var c=0,d=0,e=0,f=0,g=0;while(1){c=b[a>>0]|0;d=c<<24>>24;e=a+1|0;if(!(Ip(d)|0))break;else a=e}switch(d|0){case 45:{a=1;f=5;break}case 43:{a=0;f=5;break}default:{g=0;e=a}}if((f|0)==5){c=b[e>>0]|0;g=a}a=(c<<24>>24)+-48|0;if(a>>>0<10){d=a;a=0;c=e;do{c=c+1|0;a=(a*10|0)-d|0;d=(b[c>>0]|0)+-48|0}while(d>>>0<10)}else a=0;return (g|0?a:0-a|0)|0}function Nj(a){a=a|0;var b=0,c=0;f[a>>2]=1768;b=f[a+96>>2]|0;if(b|0)pq(b);b=f[a+84>>2]|0;if(b|0)pq(b);b=f[a+72>>2]|0;if(b|0)pq(b);b=f[a+60>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Oj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;f[a>>2]=0;h=a+4|0;f[h>>2]=0;f[a+8>>2]=0;e=b+4|0;c=(f[e>>2]|0)-(f[b>>2]|0)|0;d=c>>2;if(!d)return;if(d>>>0>1073741823)Fp(a);g=an(c)|0;f[h>>2]=g;f[a>>2]=g;f[a+8>>2]=g+(d<<2);b=f[b>>2]|0;c=(f[e>>2]|0)-b|0;if((c|0)<=0)return;Rg(g|0,b|0,c|0)|0;f[h>>2]=g+(c>>>2<<2);return}function Pj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=a+36|0;e=a+40|0;c=f[g>>2]|0;if((f[e>>2]|0)==(c|0)){g=1;return g|0}d=a+60|0;a=c;c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Oa[f[(f[a>>2]|0)+20>>2]&31](a,d,b)|0)){a=0;c=5;break}a=f[g>>2]|0;if(c>>>0>=(f[e>>2]|0)-a>>2>>>0){a=1;c=5;break}}if((c|0)==5)return a|0;return 0}function Qj(a,c,d){a=a|0;c=c|0;d=d|0;c=Qg(a,c)|0;if((c|0)==(a+4|0)){a=-1;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;c=(a|0)==-1;a=(a|0)!=0;d=c?d:a;return d|0}function Rj(a,b){a=+a;b=b|0;var c=0,d=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;c=(d|0)<-1022;b=b+2044|0;b=c?((b|0)>-1022?b:-1022):d;a=c?a*2.2250738585072014e-308:a}}else{a=a*8988465674311579538646525.0e283;c=b+-1023|0;d=(c|0)>1023;b=b+-2046|0;b=d?((b|0)<1023?b:1023):c;a=d?a*8988465674311579538646525.0e283:a}c=vn(b+1023|0,0,52)|0;d=I;f[s>>2]=c;f[s+4>>2]=d;return +(a*+p[s>>3])}function Sj(a){a=a|0;var b=0,c=0,d=0;if(!(f[a+80>>2]|0)){d=0;return d|0}d=a+8|0;c=a+12|0;a=f[d>>2]|0;if(((f[c>>2]|0)-a|0)>0)b=0;else{d=1;return d|0}while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(tl(a,a)|0)){a=0;b=5;break}a=f[d>>2]|0;if((b|0)>=((f[c>>2]|0)-a>>2|0)){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function Tj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0;h=u;u=u+16|0;e=h;d=an(16)|0;f[e>>2]=d;f[e+8>>2]=-2147483632;f[e+4>>2]=15;g=d;i=17844;j=g+15|0;do{b[g>>0]=b[i>>0]|0;g=g+1|0;i=i+1|0}while((g|0)<(j|0));b[d+15>>0]=0;Hj(a,e,c);if((b[e+11>>0]|0)>=0){u=h;return}pq(f[e>>2]|0);u=h;return}function Uj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;e=a+36|0;d=a+40|0;a=f[e>>2]|0;if((f[d>>2]|0)==(a|0)){e=1;return e|0}else c=0;while(1){a=f[a+(c<<2)>>2]|0;c=c+1|0;if(!(Na[f[(f[a>>2]|0)+24>>2]&127](a,b)|0)){a=0;c=4;break}a=f[e>>2]|0;if(c>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;c=4;break}}if((c|0)==4)return a|0;return 0}function Vj(a){a=a|0;var c=0,d=0,e=0;e=a;a:do if(!(e&3)){c=a;d=4}else{c=e;while(1){if(!(b[a>>0]|0))break a;a=a+1|0;c=a;if(!(c&3)){c=a;d=4;break}}}while(0);if((d|0)==4){while(1){a=f[c>>2]|0;if(!((a&-2139062144^-2139062144)&a+-16843009))c=c+4|0;else break}if((a&255)<<24>>24)do c=c+1|0;while((b[c>>0]|0)!=0)}return c-e|0}function Wj(a,c){a=a|0;c=c|0;var d=0,e=0,g=0;d=f[a+176>>2]|0;a=f[a+172>>2]|0;g=a;if((d|0)==(a|0))return 0;e=(d-a|0)/108|0;d=0;while(1){if((f[g+(d*108|0)>>2]|0)==(c|0)){a=4;break}a=d+1|0;if(a>>>0>>0)d=a;else{a=6;break}}if((a|0)==4)return ((b[g+(d*108|0)+72>>0]|0)==0?0:g+(d*108|0)+4|0)|0;else if((a|0)==6)return 0;return 0}function Xj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3452;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3476;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Yj(a,b){a=a|0;b=b|0;var c=0;c=f[a+72>>2]|0;if(!c){a=0;return a|0}f[c+4>>2]=a+60;if(!(Ma[f[(f[c>>2]|0)+12>>2]&127](c)|0)){a=0;return a|0}if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Zj(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3232;f[a+40>>2]=1196;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a>>2]=1476;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){Bi(a);pq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);pq(a);return}function _j(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[b>>2]|0;if(!c){a=0;return a|0}e=a+44|0;d=f[e>>2]|0;if(d>>>0<(f[a+48>>2]|0)>>>0){f[b>>2]=0;f[d>>2]=c;f[e>>2]=(f[e>>2]|0)+4;a=1;return a|0}else{Ng(a+40|0,b);a=1;return a|0}return 0}function $j(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;f[a>>2]=0;d=a+4|0;f[d>>2]=0;f[a+8>>2]=0;if(!b)return;if(b>>>0>357913941)Fp(a);e=an(b*12|0)|0;f[d>>2]=e;f[a>>2]=e;f[a+8>>2]=e+(b*12|0);a=e;do{Oj(a,c);a=(f[d>>2]|0)+12|0;f[d>>2]=a;b=b+-1|0}while((b|0)!=0);return}function ak(a){a=a|0;var b=0,c=0,d=0,e=0;e=a+36|0;d=a+40|0;b=f[e>>2]|0;if((f[d>>2]|0)==(b|0)){e=1;return e|0}c=a+60|0;a=b;b=0;while(1){a=f[a+(b<<2)>>2]|0;b=b+1|0;if(!(Na[f[(f[a>>2]|0)+16>>2]&127](a,c)|0)){a=0;b=5;break}a=f[e>>2]|0;if(b>>>0>=(f[d>>2]|0)-a>>2>>>0){a=1;b=5;break}}if((b|0)==5)return a|0;return 0}function bk(a,b){a=+a;b=b|0;var c=0,d=0,e=0;p[s>>3]=a;c=f[s>>2]|0;d=f[s+4>>2]|0;e=An(c|0,d|0,52)|0;switch(e&2047){case 0:{if(a!=0.0){a=+bk(a*18446744073709551616.0,b);c=(f[b>>2]|0)+-64|0}else c=0;f[b>>2]=c;break}case 2047:break;default:{f[b>>2]=(e&2047)+-1022;f[s>>2]=c;f[s+4>>2]=d&-2146435073|1071644672;a=+p[s>>3]}}return +a}function ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3500;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3524;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)pq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)nq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function ek(a,c){a=a|0;c=c|0;var d=0,e=0;d=0;while(1){if((h[21332+d>>0]|0)==(a|0)){e=2;break}d=d+1|0;if((d|0)==87){d=87;a=21420;e=5;break}}if((e|0)==2)if(!d)d=21420;else{a=21420;e=5}if((e|0)==5)while(1){do{e=a;a=a+1|0}while((b[e>>0]|0)!=0);d=d+-1|0;if(!d){d=a;break}else e=5}return Op(d,f[c+20>>2]|0)|0}function fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3452;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3476;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b)return;pq(b);return}function gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)pq(b);d=a+68|0;b=f[d>>2]|0;f[d>>2]=0;if(b|0)nq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function hk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3232;f[a+40>>2]=1196;b=f[a+48>>2]|0;if(b|0){d=a+52|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a>>2]=1476;d=a+36|0;b=f[d>>2]|0;f[d>>2]=0;if(!b){Bi(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);return}function ik(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=3500;b=f[a+64>>2]|0;if(b|0){d=a+68|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}f[a+12>>2]=3524;b=f[a+32>>2]|0;if(b|0)pq(b);b=f[a+20>>2]|0;if(!b)return;pq(b);return}function jk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=an(60)|0;d=c;e=d+60|0;do{f[d>>2]=0;d=d+4|0}while((d|0)<(e|0));e=nh(c,b)|0;f[a>>2]=e?c:0;a=e?0:c;if(e)return;oj(a);pq(a);return}function kk(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=_n(j^a|0,i^b|0,j|0,i|0)|0;g=I;a=f^j;b=e^i;return _n((Gd(h,g,_n(f^c|0,e^d|0,f|0,e|0)|0,I,0)|0)^a|0,I^b|0,a|0,b|0)|0}function lk(a,c){a=a|0;c=c|0;var d=0,e=0;f[c>>2]=2;e=a+4|0;d=c+8|0;a=f[d>>2]|0;c=(f[c+12>>2]|0)-a|0;if(c>>>0<4294967292){Ak(d,c+4|0,0);a=f[d>>2]|0}c=a+c|0;e=h[e>>0]|h[e+1>>0]<<8|h[e+2>>0]<<16|h[e+3>>0]<<24;b[c>>0]=e;b[c+1>>0]=e>>8;b[c+2>>0]=e>>16;b[c+3>>0]=e>>24;return}function mk(a){a=a|0;var b=0,c=0;f[a>>2]=2188;b=f[a+76>>2]|0;if(b|0)pq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)nq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function nk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,g=0,h=0,i=0;i=u;u=u+128|0;h=i;e=h;g=e+124|0;do{f[e>>2]=0;e=e+4|0}while((e|0)<(g|0));e=h+4|0;f[e>>2]=a;g=h+8|0;f[g>>2]=-1;f[h+44>>2]=a;f[h+76>>2]=-1;Lm(h,0);d=+Mc(h,c,1);c=(f[e>>2]|0)-(f[g>>2]|0)+(f[h+108>>2]|0)|0;if(b|0)f[b>>2]=c|0?a+c|0:a;u=i;return +d}function ok(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&a>>>0>4294967295)while(1){e=Um(a|0,c|0,10,0)|0;d=d+-1|0;b[d>>0]=e&255|48;e=a;a=Po(a|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=I}if(a)while(1){d=d+-1|0;b[d>>0]=(a>>>0)%10|0|48;if(a>>>0<10)break;else a=(a>>>0)/10|0}return d|0}function pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6040;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+84>>2]|0;if(!b){zg(a);pq(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);zg(a);pq(a);return}function qk(a){a=a|0;var c=0,d=0;d=a+74|0;c=b[d>>0]|0;b[d>>0]=c+255|c;d=a+20|0;c=a+28|0;if((f[d>>2]|0)>>>0>(f[c>>2]|0)>>>0)Oa[f[a+36>>2]&31](a,0,0)|0;f[a+16>>2]=0;f[c>>2]=0;f[d>>2]=0;c=f[a>>2]|0;if(!(c&4)){d=(f[a+44>>2]|0)+(f[a+48>>2]|0)|0;f[a+8>>2]=d;f[a+4>>2]=d;c=c<<27>>31}else{f[a>>2]=c|32;c=-1}return c|0}function rk(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var g=0,h=0,i=0;g=c+16|0;a=f[g>>2]|0;h=c+36|0;i=c+24|0;do if(a){if((a|0)!=(d|0)){f[h>>2]=(f[h>>2]|0)+1;f[i>>2]=2;b[c+54>>0]=1;break}if((f[i>>2]|0)==2)f[i>>2]=e}else{f[g>>2]=d;f[i>>2]=e;f[h>>2]=1}while(0);return}function sk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;Dc(a,b);if((b|0)<=-1)return;g=a+88|0;c=f[g>>2]|0;a=f[a+84>>2]|0;if((c-a>>2|0)<=(b|0))return;d=a+(b<<2)|0;a=d+4|0;b=c-a|0;e=b>>2;if(e){bm(d|0,a|0,b|0)|0;c=f[g>>2]|0}a=d+(e<<2)|0;if((c|0)==(a|0))return;f[g>>2]=c+(~((c+-4-a|0)>>>2)<<2);return}function tk(a){a=a|0;var b=0,c=0,d=0,e=0;b=f[a+32>>2]|0;c=f[a+36>>2]|0;if((b|0)==(c|0)){d=1;return d|0}d=a+8|0;a=a+44|0;while(1){e=f[(f[d>>2]|0)+(f[b>>2]<<2)>>2]|0;b=b+4|0;if(!(Na[f[(f[e>>2]|0)+20>>2]&127](e,f[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 uk(a){a=a|0;var b=0,c=0;f[a>>2]=1824;b=f[a+76>>2]|0;if(b|0)pq(b);c=a+68|0;b=f[c>>2]|0;f[c>>2]=0;if(b|0)nq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function vk(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0;f[a>>2]=b;j=b+16|0;h=f[j+4>>2]|0;i=a+8|0;f[i>>2]=f[j>>2];f[i+4>>2]=h;i=b+24|0;h=f[i+4>>2]|0;b=a+16|0;f[b>>2]=f[i>>2];f[b+4>>2]=h;b=a+40|0;f[b>>2]=c;f[b+4>>2]=d;a=a+48|0;f[a>>2]=e;f[a+4>>2]=g;return}function wk(a,c,d){a=a|0;c=c|0;d=$(d);c=Qg(a,c)|0;if((c|0)==(a+4|0))return $(d);c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;d=$(+jq(c));return $(d)}function xk(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=f[a+176>>2]|0;d=f[a+172>>2]|0;e=d;a:do if((c|0)!=(d|0)){d=(c-d|0)/108|0;c=0;while(1){if((f[e+(c*108|0)>>2]|0)==(b|0))break;c=c+1|0;if(c>>>0>=d>>>0)break a}a=e+(c*108|0)+76|0;return a|0}while(0);a=a+40|0;return a|0}function yk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=6040;b=f[a+96>>2]|0;if(b|0){d=a+100|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~(((c+-12-b|0)>>>0)/12|0)*12|0);pq(b)}b=f[a+84>>2]|0;if(!b){zg(a);return}d=a+88|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);zg(a);return}function zk(a,c){a=a|0;c=c|0;c=Qg(a,c)|0;if((c|0)==(a+4|0)){a=0;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=((Mj(c)|0)+1|0)>>>0>1;return a|0}function Ak(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;e=a+4|0;d=f[e>>2]|0;c=f[a>>2]|0;g=d-c|0;if(b>>>0<=g>>>0){if(b>>>0>>0?(h=c+b|0,(d|0)!=(h|0)):0)f[e>>2]=h}else xi(a,b-g|0);a=a+24|0;h=a;h=Mn(f[h>>2]|0,f[h+4>>2]|0,1,0)|0;f[a>>2]=h;f[a+4>>2]=I;return}function Bk(a,c,d){a=a|0;c=c|0;d=d|0;c=Qg(a,c)|0;if((c|0)==(a+4|0)){a=d;return a|0}c=c+28|0;if((b[c+11>>0]|0)<0)c=f[c>>2]|0;a=Mj(c)|0;return a|0}function Ck(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Dk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1880;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Ek(a){a=a|0;var b=0;f[a>>2]=2980;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Fk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=2300;qj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Gk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}b=f[a+4>>2]|0;if(!b){pq(a);return}d=a+8|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Hk(a){a=a|0;var b=0;f[a>>2]=2616;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Ik(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Lo(a,f[b+8>>2]|0,g)|0)ej(0,b,c,d,e);else{a=f[a+8>>2]|0;Wa[f[(f[a>>2]|0)+20>>2]&3](a,b,c,d,e,g)}return}function Jk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1936;qj(a+108|0);f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Kk(a){a=a|0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function Lk(a){a=a|0;var b=0,c=0;f[a>>2]=2244;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Mk(a){a=a|0;var b=0;f[a>>2]=2980;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b)return;pq(b);return}function Nk(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;c=0;while(1){if((c|0)==3)break;f[a+(c<<2)>>2]=0;c=c+1|0}if((b[a+11>>0]|0)<0)c=(f[a+8>>2]&2147483647)+-1|0;else c=10;uj(a,c,0);return}function Ok(a){a=a|0;var b=0,c=0;f[a>>2]=1880;b=f[a+76>>2]|0;if(b|0)pq(b);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;a=a+36|0;b=f[a>>2]|0;if((b|0)!=(c|0))f[a>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function Pk(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1232;b=f[a+16>>2]|0;if(b|0){d=a+20|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b)}d=f[a+4>>2]|0;if(!d)return;c=a+8|0;b=f[c>>2]|0;if((b|0)!=(d|0))f[c>>2]=b+(~((b+-4-d|0)>>>2)<<2);pq(d);return}function Qk(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;g=u;u=u+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;cj(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Bo(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Bo(a,f,e)}u=g;return}function Rk(a){a=a|0;var b=0;f[a>>2]=2616;b=f[a+76>>2]|0;if(b|0)pq(b);b=f[a+64>>2]|0;if(b|0)pq(b);b=f[a+52>>2]|0;if(b|0)pq(b);b=f[a+40>>2]|0;if(!b)return;pq(b);return}function Sk(a){a=a|0;var b=0,c=0;f[a>>2]=2300;qj(a+108|0);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function Tk(a){a=a|0;if(!(f[a+64>>2]|0))return 0;if(!(f[a+68>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function Uk(a){a=a|0;var b=0,c=0,d=0,e=0;e=u;u=u+16|0;b=e;d=b;f[d>>2]=0;f[d+4>>2]=0;nf(a,2,b);b=f[a+12>>2]|0;d=a+16|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+24>>2]=0;f[a+28>>2]=0;u=e;return}function Vk(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}c=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;b=f[c+32>>2]|0;if(b|0){a=b;return a|0}a=f[c+8>>2]|0;return a|0}function Wk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;f[a+4>>2]=b;b=f[b+4>>2]|0;if((c|0)<=-1)ra(20625,20641,59,20738);d=f[b+8>>2]|0;if(((f[b+12>>2]|0)-d>>2|0)>(c|0)){f[a+8>>2]=f[d+(c<<2)>>2];f[a+12>>2]=c;return 1}else ra(20748,20641,60,20738);return 0}function Xk(a){a=a|0;var b=0,c=0;f[a>>2]=1936;qj(a+108|0);f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function Yk(a,b){a=a|0;b=$(b);var c=0,d=0;c=u;u=u+16|0;d=c;Nk(d);Ai(a,d,b);ao(d);u=c;return}function Zk(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[c>>2]|0)+36>>2]&127](c,b)|0;return c|0}function _k(a,b){a=a|0;b=b|0;var c=0;if((b|0)<0){a=0;return a|0}c=f[a+4>>2]|0;if(((f[c+12>>2]|0)-(f[c+8>>2]|0)>>2|0)<=(b|0)){c=0;return c|0}c=f[(f[a+8>>2]|0)+(f[(f[a+20>>2]|0)+(b<<2)>>2]<<2)>>2]|0;c=Na[f[(f[c>>2]|0)+32>>2]&127](c,b)|0;return c|0}function $k(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Lo(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);else{a=f[a+8>>2]|0;Ua[f[(f[a>>2]|0)+28>>2]&3](a,b,c,d)}return}function al(a,b){a=a|0;b=b|0;var c=0,d=0;c=u;u=u+16|0;d=c;Nk(d);Di(a,d,b);ao(d);u=c;return}function bl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;e=u;u=u+32|0;g=e;d=e+20|0;f[g>>2]=f[a+60>>2];f[g+4>>2]=0;f[g+8>>2]=b;f[g+12>>2]=d;f[g+16>>2]=c;if((fo(Aa(140,g|0)|0)|0)<0){f[d>>2]=-1;a=-1}else a=f[d>>2]|0;u=e;return a|0}function cl(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){a=0;return a|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){a=0;return a|0}c=f[c>>2]|0;if((c|0)==-1){a=0;return a|0}a=f[(f[a+8>>2]|0)+(c<<2)>>2]|0;return a|0}function dl(a){a=a|0;if(!(f[a+40>>2]|0))return 0;if(!(f[a+24>>2]|0))return 0;if(!(f[a+28>>2]|0))return 0;if(!(f[a+32>>2]|0))return 0;else return (f[a+36>>2]|0)!=0|0;return 0}function el(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=f[a+16>>2]|0;if(((f[a+20>>2]|0)-d>>2|0)<=(b|0)){a=-1;return a|0}d=f[d+(b<<2)>>2]|0;if((d|0)<0){a=-1;return a|0}a=f[(f[(f[(f[a+36>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+(c<<2)>>2]|0;return a|0}function fl(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)a=0;else{while(1){e=b[a>>0]|0;f=b[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){a=0;break a}else{a=a+1|0;c=c+1|0}}a=(e&255)-(f&255)|0}while(0);return a|0}function gl(a){a=a|0;var b=0,c=0,d=0;c=f[a>>2]|0;d=a+4|0;b=f[d>>2]|0;if((b|0)==(c|0))b=c;else{b=b+(~((b+-4-c|0)>>>2)<<2)|0;f[d>>2]=b}f[a+12>>2]=0;f[a+16>>2]=0;if(!c)return;if((b|0)!=(c|0))f[d>>2]=b+(~((b+-4-c|0)>>>2)<<2);pq(c);return}function hl(a,b){a=a|0;b=b|0;var c=0;c=f[a+16>>2]|0;if(((f[a+20>>2]|0)-c>>2|0)<=(b|0)){a=0;return a|0}c=f[c+(b<<2)>>2]|0;if((c|0)<0){a=0;return a|0}a=f[(f[a+36>>2]|0)+(c<<2)>>2]|0;a=(f[a+20>>2]|0)-(f[a+16>>2]|0)>>2;return a|0}function il(a){a=a|0;if(!(f[a+24>>2]|0)){a=0;return a|0}if(!(f[a+28>>2]|0)){a=0;return a|0}if(!(f[a+32>>2]|0)){a=0;return a|0}a=(f[a+36>>2]|0)!=0;return a|0}function jl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;ch(a,c);f[a>>2]=1408;d=a+72|0;c=a+36|0;a=c+36|0;do{f[c>>2]=0;c=c+4|0}while((c|0)<(a|0));a=f[b>>2]|0;f[b>>2]=0;f[d>>2]=a;return}function kl(a){a=a|0;var b=0,c=0;f[a>>2]=3036;b=f[a+56>>2]|0;if(b|0)pq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){pq(a);return}nq(b);pq(a);return}function ll(a){a=a|0;if(!(f[a+60>>2]|0))return 0;if(!(f[a+44>>2]|0))return 0;if(!(f[a+48>>2]|0))return 0;if(!(f[a+52>>2]|0))return 0;else return (f[a+56>>2]|0)!=0|0;return 0}function ml(a){a=a|0;var c=0,d=0;c=a+74|0;d=b[c>>0]|0;b[c>>0]=d+255|d;c=f[a>>2]|0;if(!(c&8)){f[a+8>>2]=0;f[a+4>>2]=0;c=f[a+44>>2]|0;f[a+28>>2]=c;f[a+20>>2]=c;f[a+16>>2]=c+(f[a+48>>2]|0);c=0}else{f[a>>2]=c|32;c=-1}return c|0}function nl(a,c){a=a|0;c=c|0;var d=0,e=0;e=a;d=e+64|0;do{f[e>>2]=f[c>>2];e=e+4|0;c=c+4|0}while((e|0)<(d|0));e=a+64|0;f[a+88>>2]=0;f[e>>2]=0;f[e+4>>2]=0;f[e+8>>2]=0;f[e+12>>2]=0;f[e+16>>2]=0;b[e+20>>0]=0;return}function ol(a){a=a|0;var b=0,c=0;f[a>>2]=2672;b=f[a+56>>2]|0;if(b|0)pq(b);c=a+48|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){pq(a);return}nq(b);pq(a);return}function pl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0;g=a+4|0;e=f[g>>2]|0;c=f[a>>2]|0;d=e-c|0;if(b>>>0>d>>>0){xi(a,b-d|0);return}if(b>>>0>=d>>>0)return;c=c+b|0;if((e|0)==(c|0))return;f[g>>2]=c;return}function ql(a){a=a|0;if(!(f[a+44>>2]|0)){a=0;return a|0}if(!(f[a+48>>2]|0)){a=0;return a|0}if(!(f[a+52>>2]|0)){a=0;return a|0}a=(f[a+56>>2]|0)!=0;return a|0}function rl(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=$(e);f[a+4>>2]=b;Pf(a+8|0,c,c+(d<<2)|0);n[a+20>>2]=e;return}function sl(a){a=a|0;var b=0,c=0;c=a+15&-16|0;b=f[r>>2]|0;a=b+c|0;if((c|0)>0&(a|0)<(b|0)|(a|0)<0){ea()|0;za(12);return -1}f[r>>2]=a;if((a|0)>(da()|0)?(ca()|0)==0:0){f[r>>2]=b;za(12);return -1}return b|0}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c+4|0;e=c;f[e>>2]=0;f[d>>2]=f[e>>2];a=ec(a,b,d)|0;u=c;return a|0}function ul(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;c=f[c>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=(d|0)/2|0;g=e+(b<<2)|0;a=(f[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function vl(a,b){a=a|0;b=b|0;b=f[b+88>>2]|0;if(!b){a=0;return a|0}if((f[b>>2]|0)!=2){a=0;return a|0}b=f[b+8>>2]|0;f[a+4>>2]=h[b>>0]|h[b+1>>0]<<8|h[b+2>>0]<<16|h[b+3>>0]<<24;a=1;return a|0}function wl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=X(c,b)|0;c=(b|0)==0?0:c;if((f[d+76>>2]|0)>-1){g=(vq(d)|0)==0;a=pi(a,e,d)|0;if(!g)uq(d)}else a=pi(a,e,d)|0;if((a|0)!=(e|0))c=(a>>>0)/(b>>>0)|0;return c|0}function xl(a){a=a|0;var c=0;f[a>>2]=0;c=a+8|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;b[a+24>>0]=1;f[a+28>>2]=9;c=a+40|0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[a+56>>2]=-1;f[a+60>>2]=0;return}function yl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+44>>2]=c;a=1;return a|0}function zl(a,b){a=a|0;b=b|0;if(!(Ma[f[(f[a>>2]|0)+40>>2]&127](a)|0)){a=0;return a|0}if(!(Na[f[(f[a>>2]|0)+44>>2]&127](a,b)|0)){a=0;return a|0}a=Na[f[(f[a>>2]|0)+48>>2]&127](a,b)|0;return a|0}function Al(a){a=a|0;var b=0;f[a>>2]=3036;b=f[a+56>>2]|0;if(b|0)pq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nq(b);return}function Bl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+40>>2]=c;a=1;return a|0}function Cl(a,c){a=a|0;c=c|0;var d=0,e=0;d=b[a>>0]|0;e=b[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{a=a+1|0;c=c+1|0;d=b[a>>0]|0;e=b[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function Dl(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;f[a+8>>2]=b;f[a+12>>2]=0;ln(a+16|0);f[a+48>>2]=d;if(d>>>0<7){f[a>>2]=c;n[a+4>>2]=$(0.0);return}else ra(20408,20436,38,20571)}function El(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;if(Lo(a,f[b+8>>2]|0,g)|0)ej(0,b,c,d,e);return}function Fl(a){a=a|0;var b=0;f[a>>2]=2672;b=f[a+56>>2]|0;if(b|0)pq(b);a=a+48|0;b=f[a>>2]|0;f[a>>2]=0;if(!b)return;nq(b);return}function Gl(a){a=a|0;var b=0,c=0;f[a>>2]=1476;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Bi(a);pq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);pq(a);return}function Hl(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1544;b=f[a+32>>2]|0;if(!b){pq(a);return}d=a+36|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function Il(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+64>>2]=c;a=1;return a|0}function Jl(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+56>>2]|0)-(f[e+52>>2]|0)>>2;b[d>>0]=0;Zg(a+20|0,e,d);u=c;return}function Kl(a,c){a=a|0;c=c|0;if(f[c+56>>2]|0){a=0;return a|0}if((b[c+24>>0]|0)!=3){a=0;return a|0}f[a+60>>2]=c;a=1;return a|0}function Ll(){var a=0,b=0;a=an(40)|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;n[a+16>>2]=$(1.0);b=a+20|0;f[b>>2]=0;f[b+4>>2]=0;f[b+8>>2]=0;f[b+12>>2]=0;n[a+36>>2]=$(1.0);return a|0}function Ml(a){a=a|0;var c=0,d=0,e=0;c=u;u=u+16|0;d=c;e=f[a+4>>2]|0;e=(f[e+28>>2]|0)-(f[e+24>>2]|0)>>2;b[d>>0]=0;Zg(a+20|0,e,d);u=c;return}function Nl(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 Ol(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0;d=u;u=u+16|0;e=d;p[e>>3]=c;Wb(a,b,e);u=d;return}function Pl(a){a=a|0;f[a>>2]=3544;Ci(a+8|0);pq(a);return}function Ql(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=u;u=u+16|0;e=d;f[e>>2]=c;_b(a,b,e);u=d;return}function Rl(a,c){a=a|0;c=c|0;var d=0,e=0;if((a|0)!=(c|0)){d=b[c+11>>0]|0;e=d<<24>>24<0;Ui(a,e?f[c>>2]|0:c,e?f[c+4>>2]|0:d&255)|0}return a|0}function Sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=X(e,f)|0;d=a>>>16;a=(c>>>16)+(X(e,d)|0)|0;e=b>>>16;b=X(e,f)|0;return (I=(a>>>16)+(X(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function Tl(a){a=a|0;var b=0,c=0;f[a>>2]=3296;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){aj(a);pq(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);aj(a);pq(a);return}function Ul(a,b){a=+a;b=+b;var c=0,d=0;p[s>>3]=a;d=f[s>>2]|0;c=f[s+4>>2]|0;p[s>>3]=b;c=f[s+4>>2]&-2147483648|c&2147483647;f[s>>2]=d;f[s+4>>2]=c;return +(+p[s>>3])}function Vl(a){a=a|0;var b=0,c=0;f[a>>2]=1476;c=a+36|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){Bi(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);Bi(a);return}function Wl(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ra(12038,8866,76,17860);return 0}function Xl(a,b){a=a|0;b=b|0;var c=0,d=0;d=Vj(b)|0;c=an(d+13|0)|0;f[c>>2]=d;f[c+4>>2]=d;f[c+8>>2]=0;c=hp(c)|0;Rg(c|0,b|0,d+1|0)|0;f[a>>2]=c;return}function Yl(a){a=a|0;f[a>>2]=3544;Ci(a+8|0);return}function Zl(a,b){a=a|0;b=b|0;var c=0;if((b|0)==-1|(b|0)>4){b=-1;return b|0}c=f[a+20+(b*12|0)>>2]|0;if(((f[a+20+(b*12|0)+4>>2]|0)-c|0)<=0){b=-1;return b|0}b=f[c>>2]|0;return b|0}function _l(a){a=a|0;var b=0,c=0;f[a>>2]=1544;c=f[a+32>>2]|0;if(!c)return;b=a+36|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function $l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(Lo(a,f[b+8>>2]|0,0)|0)rk(0,b,c,d);return}function am(a){a=a|0;var c=0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=1;a=a+28|0;c=a+40|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(c|0));return}function bm(a,c,d){a=a|0;c=c|0;d=d|0;var e=0;if((c|0)<(a|0)&(a|0)<(c+d|0)){e=a;c=c+d|0;a=a+d|0;while((d|0)>0){a=a-1|0;c=c-1|0;d=d-1|0;b[a>>0]=b[c>>0]|0}a=e}else Rg(a,c,d)|0;return a|0}function cm(a){a=a|0;var c=0,d=0,e=0;c=f[a>>2]|0;d=(b[c>>0]|0)+-48|0;if(d>>>0<10){e=c;c=0;do{c=d+(c*10|0)|0;e=e+1|0;f[a>>2]=e;d=(b[e>>0]|0)+-48|0}while(d>>>0<10)}else c=0;return c|0}function dm(a){a=a|0;var b=0,c=0,d=0;f[a>>2]=1196;b=f[a+8>>2]|0;if(!b){pq(a);return}d=a+12|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);pq(b);pq(a);return}function em(a){a=a|0;var b=0;f[a>>2]=3092;b=f[a+56>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function fm(a){a=a|0;var b=0,c=0;f[a>>2]=3296;c=a+56|0;b=f[c>>2]|0;f[c>>2]=0;if(!b){aj(a);return}Ra[f[(f[b>>2]|0)+4>>2]&127](b);aj(a);return}function gm(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=h[21314+(a&15)>>0]|0|e;a=An(a|0,c|0,4)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function hm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=u;u=u+16|0;d=e;f[d>>2]=f[c>>2];a=Oa[f[(f[a>>2]|0)+16>>2]&31](a,b,d)|0;if(a)f[c>>2]=f[d>>2];u=e;return a&1|0}function im(){var a=0,b=0;b=Zm()|0;if((b|0?(a=f[b>>2]|0,a|0):0)?(b=a+48|0,(f[b>>2]&-256|0)==1126902528?(f[b+4>>2]|0)==1129074247:0):0)ko(f[a+12>>2]|0);ko(tp()|0)}function jm(a){a=a|0;var b=0;f[a>>2]=2728;b=f[a+56>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function km(a){a=a|0;var c=0;c=b[w+(a&255)>>0]|0;if((c|0)<8)return c|0;c=b[w+(a>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=b[w+(a>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (b[w+(a>>>24)>>0]|0)+24|0}function lm(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=f[a+(d<<2)>>2]|0;f[c+(d<<2)>>2]=e<<1^e>>31;d=d+1|0}while((d|0)!=(b|0));return}function mm(a){a=a|0;var b=0,c=0;if(Up(a)|0?(b=pp(f[a>>2]|0)|0,c=b+8|0,a=f[c>>2]|0,f[c>>2]=a+-1,(a+-1|0)<0):0)pq(b);return}function nm(a,c){a=a|0;c=c|0;var d=0;b[c+84>>0]=1;d=f[c+68>>2]|0;c=c+72|0;a=f[c>>2]|0;if((a|0)==(d|0))return 1;f[c>>2]=a+(~((a+-4-d|0)>>>2)<<2);return 1}function om(a,b){a=a|0;b=b|0;if(b>>>0>=2){a=0;return a|0}f[a+28>>2]=b;a=1;return a|0}function pm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return af(a,b,c,d,e,f,5)|0}function qm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return af(a,b,c,d,e,f,9)|0}function rm(a){a=a|0;$n(a);f[a>>2]=3232;f[a+40>>2]=1196;f[a+44>>2]=-1;a=a+48|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function sm(a){a=a|0;var b=0,c=0;f[a>>2]=1196;c=f[a+8>>2]|0;if(!c)return;b=a+12|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function tm(a){a=a|0;var c=0;f[a>>2]=1352;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=-1;c=a+16|0;f[a+32>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;b[c+12>>0]=0;return}function um(a){a=a|0;f[a>>2]=3092;a=f[a+56>>2]|0;if(!a)return;pq(a);return}function vm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);ig(a,b,c,d,e,f);return}function wm(a){a=a|0;var b=0,c=0,d=0;b=f[a>>2]|0;d=a+4|0;c=f[d>>2]|0;if((c|0)!=(b|0))f[d>>2]=c+(~((c+-4-b|0)>>>2)<<2);f[a+12>>2]=0;f[a+16>>2]=0;return}function xm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14369,14740,64,14380);return 0}function ym(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((f[b+4>>2]|0)==(c|0)?(e=b+28|0,(f[e>>2]|0)!=1):0)f[e>>2]=d;return}function zm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14369,13962,63,14380);return 0}function Am(a){a=a|0;f[a>>2]=2728;a=f[a+56>>2]|0;if(!a)return;pq(a);return}function Bm(a){a=a|0;var b=0;f[a>>2]=3476;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Cm(a,c,d){a=a|0;c=c|0;d=d|0;if(!((a|0)==0&(c|0)==0))do{d=d+-1|0;b[d>>0]=a&7|48;a=An(a|0,c|0,3)|0;c=I}while(!((a|0)==0&(c|0)==0));return d|0}function Dm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=a+20|0;e=f[d>>2]|0;a=(f[a+16>>2]|0)-e|0;a=a>>>0>c>>>0?c:a;Rg(e|0,b|0,a|0)|0;f[d>>2]=(f[d>>2]|0)+a;return c|0}function Em(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-8-c|0)>>>3)<<3);pq(c);return}function Fm(a){a=a|0;var b=0,c=0;c=f[a>>2]|0;if(!c)return;b=a+4|0;a=f[b>>2]|0;if((a|0)!=(c|0))f[b>>2]=a+(~((a+-4-c|0)>>>2)<<2);pq(c);return}function Gm(a,b){a=a|0;b=b|0;if(!b)return 0;else ra(14369,15084,68,14380);return 0}function Hm(a,b,c){a=a|0;b=b|0;c=c|0;return Oa[f[(f[a>>2]|0)+44>>2]&31](a,b,c)|0}function Im(a){a=a|0;var c=0;xl(a);c=a+64|0;f[a+88>>2]=0;f[c>>2]=0;f[c+4>>2]=0;f[c+8>>2]=0;f[c+12>>2]=0;f[c+16>>2]=0;b[c+20>>0]=0;return}function Jm(a){a=a|0;f[a>>2]=3148;qj(a+88|0);pq(a);return}function Km(a){a=a|0;var b=0;f[a>>2]=3524;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b){pq(a);return}pq(b);pq(a);return}function Lm(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;f[a+104>>2]=b;c=f[a+8>>2]|0;d=f[a+4>>2]|0;e=c-d|0;f[a+108>>2]=e;f[a+100>>2]=(b|0)!=0&(e|0)>(b|0)?d+b|0:c;return}function Mm(a,b){a=a|0;b=b|0;b=f[b>>2]|0;return (1<<(b&31)&f[(f[a+28>>2]|0)+(b>>>5<<2)>>2]|0)!=0|0}function Nm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=$(f);vm(a,b,c,d,e,f);return}function Om(a){a=a|0;var b=0,c=0;c=u;u=u+16|0;b=c;if((qk(a)|0)==0?(Oa[f[a+32>>2]&31](a,b,1)|0)==1:0)b=h[b>>0]|0;else b=-1;u=c;return b|0}function Pm(a){a=a|0;var b=0,c=0;if(!a)return;b=f[a>>2]|0;if(b|0){c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;pq(b)}pq(a);return}function Qm(a){a=a|0;f[a>>2]=2784;qj(a+88|0);pq(a);return}function Rm(a){a=a|0;f[a>>2]=3148;qj(a+88|0);return}function Sm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return pm(a,b,c,d,e,f)|0}function Tm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return qm(a,b,c,d,e,f)|0}function Um(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;g=u;u=u+16|0;e=g|0;Gd(a,b,c,d,e)|0;u=g;return (I=f[e+4>>2]|0,f[e>>2]|0)|0}function Vm(a,b,c){a=a|0;b=b|0;c=c|0;Xb(a,b,c);return}function Wm(a){a=a|0;var b=0;f[a>>2]=3476;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b)return;pq(b);return}function Xm(a){a=a|0;f[a>>2]=2784;qj(a+88|0);return}function Ym(a){a=a|0;Gn(a);f[a>>2]=6040;a=a+84|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;return}function Zm(){var a=0,b=0;a=u;u=u+16|0;if(!(Ha(24376,3)|0)){b=Fa(f[6095]|0)|0;u=a;return b|0}else yn(23518,a);return 0}function _m(a){a=a|0;var b=0;f[a>>2]=3524;b=f[a+20>>2]|0;if(b|0)pq(b);b=f[a+8>>2]|0;if(!b)return;pq(b);return}function $m(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=Sl(e,f)|0;a=I;return (I=(X(b,f)|0)+(X(d,e)|0)+a|a&0,c|0|0)|0}function an(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=Xa(b)|0;if(a|0)break;a=rp()|0;if(!a){a=0;break}Qa[a&3]()}return a|0}function bn(a){a=a|0;var b=0,c=0;b=u;u=u+16|0;c=b;a=sq(f[a+60>>2]|0)|0;f[c>>2]=a;a=fo(Ca(6,c|0)|0)|0;u=b;return a|0}function cn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;f[a+24>>2]=0;f[a+28>>2]=0;return}function dn(a){a=a|0;var b=0;b=u;u=u+16|0;pc(a);if(!(Ia(f[6095]|0,0)|0)){u=b;return}else yn(23617,b)}function en(a){a=a|0;var b=0,c=0;b=f[a>>2]|0;c=a+4|0;if((f[c>>2]|0)!=(b|0))f[c>>2]=b;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;return}function fn(a,b){a=a|0;b=b|0;return rg(a+40|0,b)|0}function gn(a,b){a=a|0;b=b|0;return Vi(a,b,Qp(b)|0)|0}function hn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0;e=u;u=u+16|0;g=e;f[g>>2]=d;d=Si(a,b,c,g)|0;u=e;return d|0}function jn(a,b){a=a|0;b=b|0;return wj(a+40|0,b)|0}function kn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;a=a+16|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;return}function ln(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;f[a+20>>2]=0;b[a+24>>0]=0;return}function mn(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 Pa[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return oh(a,b,c,d)|0}function on(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+24>>2]&127](a,b)|0}function pn(){var a=0;a=u;u=u+16|0;if(!(Ga(24380,110)|0)){u=a;return}else yn(23567,a)}function qn(a,b,c){a=a|0;b=b|0;c=c|0;xj(a,b,c);return}function rn(a){a=a|0;Qe(a);pq(a);return}function sn(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 tn(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)cj(a|0,(Pp(c)|0)&255|0,b|0)|0;return a|0}function un(a){a=a|0;return 4}function vn(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b<>>32-c;return a<>2]|0;return Na[f[(f[a>>2]|0)+16>>2]&127](a,b)|0}function xn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+20>>2]&127](a,b)|0}function yn(a,b){a=a|0;b=b|0;var c=0;c=u;u=u+16|0;f[c>>2]=b;b=f[1529]|0;jh(b,a,c)|0;Gj(10,b)|0;Da()}function zn(a,b){a=a|0;b=b|0;a=f[a+56>>2]|0;return Na[f[(f[a>>2]|0)+12>>2]&127](a,b)|0}function An(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){I=b>>>c;return a>>>c|(b&(1<>>c-32|0}function Bn(a){a=a|0;var b=0;f[a>>2]=3820;a=a+4|0;b=a+44|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Cn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Ae(a,b,c,d)|0}function Dn(a){a=a|0;Re(a);pq(a);return}function En(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;return Ni(a,b,c,d)|0}function Fn(a){a=a|0;return 5}function Gn(a){a=a|0;var b=0;f[a>>2]=6080;a=a+4|0;b=a+80|0;do{f[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Hn(a){a=a|0;return 6}function In(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oi(a,b,c,d)|0}function Jn(a,b,c){a=a|0;b=b|0;c=c|0;f[a+28>>2]=b;f[a+32>>2]=c;return 1}function Kn(a,b){a=a|0;b=b|0;Yh(a);f[a+36>>2]=b;f[a+40>>2]=b;return}function Ln(){}function Mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (I=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function Nn(a,b){a=a|0;b=b|0;if(!b)b=0;else b=yh(f[b>>2]|0,f[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function On(a,b,c){a=a|0;b=b|0;c=c|0;qn(a,b,c);return}function Pn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return eg(a,b,c,d)|0}function Qn(a,b,c){a=a|0;b=b|0;c=c|0;return Th(a,b,c)|0}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;return Ti(a,b,c)|0}function Sn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Va[a&3](b|0,c|0,d|0,e|0,f|0)}function Tn(a,b,c){a=a|0;b=b|0;c=c|0;zi(a,b,c);return}function Un(a){a=a|0;a=f[a+56>>2]|0;return Ma[f[(f[a>>2]|0)+28>>2]&127](a)|0}function Vn(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;f[a+12>>2]=0;f[a+16>>2]=0;return}function Wn(a){a=a|0;a=f[a+56>>2]|0;return Ma[f[(f[a>>2]|0)+32>>2]&127](a)|0}function Xn(a,b){a=a|0;b=b|0;f[a+8>>2]=b;f[a+12>>2]=-1;return 1}function Yn(a,b){a=a|0;b=b|0;f[a+52>>2]=b;Oo(a,b);return}function Zn(a){a=+a;var b=0;p[s>>3]=a;b=f[s>>2]|0;I=f[s+4>>2]|0;return b|0}function _n(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 (I=d,a-c>>>0|0)|0}function $n(a){a=a|0;tm(a);f[a>>2]=1476;f[a+36>>2]=0;return}function ao(a){a=a|0;if((b[a+11>>0]|0)<0)pq(f[a>>2]|0);return}function bo(a){a=a|0;if(!a)return;Ra[f[(f[a>>2]|0)+4>>2]&127](a);return}function co(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ua[a&3](b|0,c|0,d|0,e|0)}function eo(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)bm(a|0,b|0,c|0)|0;return a|0}function fo(a){a=a|0;var b=0;if(a>>>0>4294963200){b=eq()|0;f[b>>2]=0-a;a=-1}return a|0}function go(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)Rg(a|0,b|0,c|0)|0;return a|0}function ho(a,b){a=a|0;b=b|0;return -1}function io(a,b){a=a|0;b=b|0;lo(a,b);return}function jo(a){a=a|0;if(!a)a=0;else a=(mh(a,1056,1144,0)|0)!=0;return a&1|0}function ko(a){a=a|0;var b=0;b=u;u=u+16|0;Qa[a&3]();yn(23670,b)}function lo(a,b){a=a|0;b=b|0;Tj(a,b);return}function mo(a){a=a|0;Nh(a);pq(a);return}function no(a,b){a=a|0;b=b|0;ch(a,b);f[a>>2]=1292;return}function oo(a,b,c){a=a|0;b=b|0;c=c|0;vo(a,b,c);return}function po(a,b,c){a=a|0;b=$(b);c=c|0;f[a+4>>2]=c;n[a>>2]=b;return}function qo(a){a=a|0;xo(a);f[a>>2]=3296;f[a+56>>2]=0;return}function ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa[a&31](b|0,c|0,d|0)|0}function so(a,b){a=a|0;b=b|0;return (_o(a,b)|0)<<24>>24|0}function to(a,b){a=a|0;b=b|0;f[a>>2]=7132;Xl(a+4|0,b);return}function uo(a){a=a|0;return f[a+12>>2]|0}function vo(a,b,c){a=a|0;b=b|0;c=c|0;Tn(a,b,c);return}function wo(){var a=0;a=an(64)|0;xl(a);return a|0}function xo(a){a=a|0;Bn(a);f[a>>2]=3652;f[a+52>>2]=0;return}function yo(a){a=a|0;if(!a)return;Ji(a);pq(a);return}function zo(a){a=a|0;return Ma[f[(f[a>>2]|0)+60>>2]&127](a)|0}function Ao(a){a=a|0;return f[a+4>>2]|0}function Bo(a,b,c){a=a|0;b=b|0;c=c|0;if(!(f[a>>2]&32))pi(b,c,a)|0;return}function Co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&15](b|0,c|0,d|0)}function Do(){var a=0;a=an(96)|0;Im(a);return a|0}function Eo(a){a=a|0;var b=0;b=u;u=u+a|0;u=u+15&-16;return b|0}function Fo(a){a=a|0;return ((f[a+100>>2]|0)-(f[a+96>>2]|0)|0)/12|0|0}function Go(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Ei(a,b,0)|0;return a|0}function Ho(a){a=a|0;var b=0;b=(lq()|0)+188|0;return ek(a,f[b>>2]|0)|0}function Io(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(3);return 0}function Jo(){var a=0;a=an(12)|0;So(a);return a|0}function Ko(a){a=a|0;Bi(a);pq(a);return}function Lo(a,b,c){a=a|0;b=b|0;c=c|0;return (a|0)==(b|0)|0}function Mo(a,b){a=a|0;b=b|0;var c=0;c=Wo(a|0)|0;return ((b|0)==0?a:c)|0}function No(a){a=a|0;return (f[a+12>>2]|0)-(f[a+8>>2]|0)>>2|0}function Oo(a,b){a=a|0;b=b|0;f[a+4>>2]=b;return}function Po(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Gd(a,b,c,d,0)|0}function Qo(a){a=a|0;f[a+4>>2]=0;f[a+8>>2]=0;f[a>>2]=a+4;return}function Ro(){var a=0;a=an(84)|0;Gn(a);return a|0}function So(a){a=a|0;f[a>>2]=0;f[a+4>>2]=0;f[a+8>>2]=0;return}function To(a){a=a|0;f[a>>2]=7132;mm(a+4|0);return}function Uo(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a&127](b|0,c|0)|0}function Vo(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;aa(10)}function Wo(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function Xo(a){a=a|0;xo(a);f[a>>2]=3724;return}function Yo(a,c){a=a|0;c=c|0;b[a>>0]=b[c>>0]|0;return}function Zo(a,b,c){a=a|0;b=b|0;c=c|0;return -1}function _o(a,c){a=a|0;c=c|0;return b[(f[a>>2]|0)+c>>0]|0}function $o(a){a=a|0;return (f[a+4>>2]|0)-(f[a>>2]|0)|0}function ap(a){a=a|0;if(!a)return;pq(a);return}function bp(){var a=0;a=an(1)|0;uq(a);return a|0}function cp(a){a=a|0;n[a>>2]=$(1.0);f[a+4>>2]=1;return}function dp(a){a=a|0;b[a+28>>0]=1;return}function ep(a,b){a=a|0;b=b|0;if(!x){x=a;y=b}}function fp(a){a=a|0;Yh(a);return}function gp(a,b){a=a|0;b=b|0;return 1}function hp(a){a=a|0;return a+12|0}function ip(a,b){a=a|0;b=b|0;f[a+80>>2]=b;return}function jp(a,b,c){a=a|0;b=b|0;c=c|0;Sa[a&7](b|0,c|0)}function kp(){var a=0;a=an(36)|0;Vp(a);return a|0}function lp(a){a=a|0;return Kp(a+4|0)|0}function mp(){var a=0;a=an(108)|0;Ym(a);return a|0}function np(a){a=a|0;aj(a);pq(a);return}function op(a){a=a|0;return (b[a+32>>0]|0)!=0|0}function pp(a){a=a|0;return a+-12|0}function qp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;aa(9)}function rp(){var a=0;a=f[6096]|0;f[6096]=a+0;return a|0}function sp(a){a=a|0;return f[a+56>>2]|0}function tp(){var a=0;a=f[1759]|0;f[1759]=a+0;return a|0}function up(a){a=a|0;zg(a);pq(a);return}function vp(a){a=a|0;uq(a);pq(a);return}function wp(a){a=a|0;return b[a+24>>0]|0}function xp(a,b){a=a|0;b=b|0;return 0}function yp(a){a=a|0;return f[a+40>>2]|0}function zp(a){a=a|0;return f[a+48>>2]|0}function Ap(a,b){a=a|0;b=b|0;return Ma[a&127](b|0)|0}function Bp(a){a=a|0;return f[a+60>>2]|0}function Cp(a){a=a|0;return f[a+28>>2]|0}function Dp(a){a=a|0;ta(a|0)|0;im()}function Ep(a){a=a|0;To(a);pq(a);return}function Fp(a){a=a|0;Da()}function Gp(a){a=a|0;return 3}function Hp(a,b){a=a|0;b=b|0;u=a;v=b}function Ip(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Jp(a){a=a|0;return f[a+80>>2]|0}function Kp(a){a=a|0;return f[a>>2]|0}function Lp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;aa(8)}function Mp(a,b){a=a|0;b=b|0;return $(+nk(a,b,0))}function Np(a,b){a=a|0;b=b|0;Ra[a&127](b|0)}function Op(a,b){a=a|0;b=b|0;return Nn(a,b)|0}function Pp(a){a=a|0;return a&255|0}function Qp(a){a=a|0;return Vj(a)|0}function Rp(a,b,c){a=a|0;b=b|0;c=c|0;aa(2);return 0}function Sp(a){a=a|0;return 2}function Tp(a,b){a=a|0;b=b|0;return +(+nk(a,b,1))}function Up(a){a=a|0;return 1}function Vp(a){a=a|0;fp(a);return}function Wp(a,b){a=+a;b=+b;return +(+Ul(a,b))}function Xp(a,b){a=+a;b=b|0;return +(+Rj(a,b))}function Yp(a,b){a=+a;b=b|0;return +(+bk(a,b))}function Zp(){return 3}function _p(a,b,c){a=a|0;b=b|0;c=c|0;aa(7)}function $p(){return 0}function aq(){return -1}function bq(){return 4}function cq(){return 1}function dq(){return 2}function eq(){return (lq()|0)+64|0}function fq(a,b){a=+a;b=+b;return +(+Od(a,b))}function gq(a,b){a=a|0;b=b|0;aa(1);return 0}function hq(a){a=a|0;Qa[a&3]()}function iq(){va()}function jq(a){a=a|0;return +(+Tp(a,0))}function kq(a,b){a=a|0;b=b|0;aa(6)}function lq(){return zq()|0}function mq(a){a=a|0;return an(a)|0}function nq(a){a=a|0;pq(a);return}function oq(a){a=a|0;u=a}function pq(a){a=a|0;pc(a);return}function qq(a){a=a|0;I=a}function rq(){return 24312}function sq(a){a=a|0;return a|0}function tq(a){a=a|0;aa(0);return 0}function uq(a){a=a|0;return}function vq(a){a=a|0;return 0}function wq(){return I|0}function xq(){return u|0}function yq(a){a=a|0;aa(5)}function zq(){return 6244}function Aq(){aa(4)} // EMSCRIPTEN_END_FUNCS -var Ma=[Mp,Jn,ap,Yk,Hm,ag,Ti,hl,ah,wc,Nh,$f,Hh,Nb,vh,Hg,el,Dm,ij,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp,Mp];var Na=[op,Wi,Ng,op];var Oa=[vq,rq,kq,sm,fm,Qk,Hk,Hk,xi,Jo,Ih,ko,Yl,Jl,am,Kl,Kl,Kl,Kl,Nj,Ij,uk,gk,Pk,Ek,Zk,Kk,rq,kq,Kl,Kl,Lj,Hj,mk,bk,Mk,Dk,Tk,Gk,rq,kq,Yl,Jl,rq,kq,kq,kq,Sk,Ik,Il,rl,Am,lm,Vm,Pm,rq,kq,kq,kq,Nk,Fk,Dl,nl,um,gm,Qm,Jm,rq,kq,hk,Xj,hm,Wl,Qe,Bn,fk,Vj,Um,Bm,Ml,ik,ak,Ym,Km,Pl,_l,Sl,Pe,pn,Vi,mp,mp,rq,kq,mp,mp,mp,zk,pk,ib,og,sp,rq,Jp,rq,rq,Jp,rq,Jp,bn,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq,vq];var Pa=[hq,lk,Rf,sk,Dc,hq,hq,hq];var Qa=[Go,qd,ic,Rb,_a,Gd,Jd,Zl,lc,Sb,Za,Cd,Id,Zl,pj,Xd,gd,db,yg,Xg,ec,ee,hd,bb,rg,Qg,dc,Go,Go,Go,Go,Go];var Ra=[qq,Np,Qp,Qp,Np,sq,sq,sq,Zj,Pf,Qp,xo,sq,sq,Qp,sq,Qp,Qp,tl,Np,tl,sn,tl,Bp,ol,Qp,Fn,ol,Qp,Hn,Uk,Qp,zp,Qp,tl,Np,tl,sn,tl,Bp,ol,Qp,Fn,ol,Qp,Hn,Uk,Qp,zp,Qp,Bp,sq,xo,Qp,sq,Qp,Bp,Qp,ll,Np,ll,sn,ll,Bp,gl,Qp,Fn,gl,Qp,Hn,Lk,Qp,zp,Qp,ll,Np,ll,sn,ll,Bp,gl,Qp,Fn,gl,Qp,Hn,Lk,Qp,zp,Qp,Np,Qp,Qp,Ld,Qp,wo,Se,Vg,tk,Un,Sn,eb,qo,xo,Fg,Jg,Mf,gb,qo,xo,Qp,sq,sq,Wb,Ei,sq,Qp,Qp,Bj,sq,Bj,Rj,$m,dq,qq,qq,qq,qq];var Sa=[Wp,Ee,Ii,yc,xc,de,yc,xc,wg,ej,Zf,Uf,Wp,Wp,Wp,Wp];var Ta=[xq,fq,vi,nn];var Ua=[$o,Hl,Jk,$o];var Va=[cq,yl,mh,Yd,Cl,up,up,up,hp,hp,fb,Vn,hp,hp,fi,Qi,Sh,Wj,kl,zj,Xk,Oj,Sj,Be,fo,up,ei,nf,Gm,Nl,$d,xm,Nl,_e,zm,Ll,fh,qm,nf,Gm,Nl,$d,xm,Nl,_e,zm,Ll,fh,qm,gn,fo,up,_h,kf,Gm,El,Zd,xm,El,Ye,zm,Bl,$g,qm,kf,Gm,El,Zd,xm,El,Ye,zm,Bl,$g,qm,dn,vn,mn,xn,un,Yg,Uj,xk,Pb,ae,Mm,bf,df,ef,Wg,Uj,xk,Ob,ae,Mm,hp,up,up,pf,pm,kj,pf,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq,cq];var Wa=[Dp,bm,bl,Dp];return{_emscripten_bind_PointAttribute_normalized_0:np,_bitshift64Lshr:yn,_emscripten_bind_PointAttribute_size_0:Fp,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:Xp,_sbrk:vl,_memcpy:Eg,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:Yp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:Nm,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:Xp,___udivmoddi4:Ad,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:_p,_emscripten_bind_Mesh_num_faces_0:Do,_emscripten_get_global_libc:oq,stackSave:uq,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Pn,___cxa_can_catch:jm,_free:rc,runPostSets:Cn,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:Yp,_emscripten_bind_DracoInt8Array___destroy___0:om,_emscripten_bind_PointAttribute_byte_stride_0:vp,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:Rm,_emscripten_bind_MeshBuilder_MeshBuilder_0:cp,_emscripten_bind_Metadata_Metadata_0:Ol,_emscripten_bind_PointCloud_num_attributes_0:Mo,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:cp,_emscripten_bind_Mesh_Mesh_0:lp,_emscripten_bind_MetadataBuilder_AddIntEntry_3:In,_emscripten_bind_DracoInt8Array_GetValue_1:Ho,setThrew:fp,_emscripten_bind_PointAttribute_num_components_0:tp,_emscripten_bind_MeshBuilder___destroy___0:bp,___cxa_is_pointer_type:ho,_llvm_cttz_i32:mm,_i64Add:Zn,stackAlloc:Co,_emscripten_bind_Mesh_num_points_0:Fp,___divdi3:kk,_emscripten_bind_Encoder_SetAttributeQuantization_2:Mn,getTempRet0:tq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:Xp,_emscripten_bind_Mesh_num_attributes_0:Mo,_llvm_bswap_i32:Yo,_emscripten_bind_PointAttribute_unique_id_0:yp,establishStackSpace:Cp,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:Nn,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Vp,_emscripten_bind_DracoInt8Array_size_0:Uo,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:En,_emscripten_bind_MetadataBuilder_AddStringEntry_3:An,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:$p,_emscripten_bind_VoidPtr___destroy___0:bp,_memset:Xi,_emscripten_bind_PointAttribute_attribute_type_0:qp,_emscripten_bind_PointCloud___destroy___0:$n,_i64Subtract:Dn,setTempRet0:nq,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Io,_emscripten_bind_DracoFloat32Array___destroy___0:om,_emscripten_bind_Mesh_set_num_points_1:ip,_emscripten_bind_PointCloud_num_points_0:Fp,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:_p,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:so,___muldsi3:Vl,_emscripten_bind_PointAttribute_data_type_0:zp,_emscripten_bind_DracoFloat32Array_size_0:Uo,_emscripten_bind_GeometryAttribute___destroy___0:bp,_emscripten_bind_MetadataBuilder___destroy___0:bp,_malloc:Xa,_emscripten_replace_memory:La,_memmove:dm,_emscripten_bind_PointCloud_PointCloud_0:Ro,_emscripten_bind_Mesh___destroy___0:$n,_emscripten_bind_Metadata___destroy___0:vo,___udivdi3:Oo,_emscripten_bind_PointAttribute_byte_offset_0:wp,_bitshift64Shl:tn,_emscripten_bind_Encoder_Encoder_0:kp,_emscripten_bind_Encoder_SetSpeedOptions_2:mo,___muldi3:Zm,___uremdi3:Sm,_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0:Io,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:Zp,_emscripten_bind_Encoder___destroy___0:Dj,_emscripten_bind_DracoFloat32Array_GetValue_1:to,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:On,_emscripten_bind_Encoder_SetEncodingMethod_1:go,_emscripten_bind_PointAttribute_PointAttribute_0:Bo,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:_p,stackRestore:lq,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:ln,_emscripten_bind_PointAttribute___destroy___0:rj,stackAlloc:Co,stackSave:uq,stackRestore:lq,establishStackSpace:Cp,setThrew:fp,setTempRet0:nq,getTempRet0:tq,dynCall_iiii:po,dynCall_viiiii:Qn,dynCall_vi:Hp,dynCall_vii:jp,dynCall_iiiiiii:kn,dynCall_ii:xp,dynCall_viii:Ao,dynCall_v:eq,dynCall_viiiiii:qn,dynCall_iii:Xo,dynCall_viiii:ao}}) +var Ma=[tq,Sp,Up,Up,Sp,vq,vq,vq,ak,Vf,Up,Ao,vq,vq,Up,vq,Up,Up,ql,Sp,ql,un,ql,Gp,ll,Up,Fn,ll,Up,Hn,Tk,Up,Cp,Up,ql,Sp,ql,un,ql,Gp,ll,Up,Fn,ll,Up,Hn,Tk,Up,Cp,Up,Gp,vq,Ao,Up,vq,Up,Gp,Up,il,Sp,il,un,il,Gp,dl,Up,Fn,dl,Up,Hn,Kk,Up,Cp,Up,il,Sp,il,un,il,Gp,dl,Up,Fn,dl,Up,Hn,Kk,Up,Cp,Up,Sp,Up,Up,Ed,Up,zo,Te,bh,tk,Wn,Un,eb,uo,Ao,og,Cg,uf,hb,uo,Ao,Up,vq,vq,ac,Ii,vq,Up,Up,Bj,vq,Bj,Sj,bn,lp,tq,tq,tq,tq];var Na=[gq,vl,sh,oe,zl,xp,xp,xp,gp,gp,fb,Xn,gp,gp,ji,Yi,Zh,Yj,hl,zj,Vk,Pj,Uj,Ee,ho,xp,ii,of,Gm,Kl,qe,xm,Kl,_e,zm,Il,ih,om,of,Gm,Kl,qe,xm,Kl,_e,zm,Il,ih,om,jn,ho,xp,di,lf,Gm,Bl,pe,xm,Bl,Ye,zm,yl,dh,om,lf,Gm,Bl,pe,xm,Bl,Ye,zm,yl,dh,om,fn,xn,on,zn,wn,Kg,Wj,xk,Sb,se,Mm,bf,df,ff,Hg,Wj,xk,Rb,se,Mm,gp,xp,xp,sf,nm,nj,sf,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq,gq];var Oa=[Rp,Jn,Zo,Wk,Hm,jg,_i,el,eh,nc,Sh,Yf,Mh,tb,zh,Tg,bl,Dm,mj,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp,Rp];var Pa=[Io,wd,oc,Tb,_a,Cd,Id,Wl,qc,Ub,Za,Bd,Hd,Wl,rj,Sd,gd,bb,dg,Eg,lc,Xd,hd,$a,ag,yg,jc,Io,Io,Io,Io,Io];var Qa=[Aq,iq,yi,pn];var Ra=[yq,uq,nq,sm,dm,Pk,Gk,Gk,Bi,Ko,Nh,mo,Vl,Gl,_l,Hl,Hl,Hl,Hl,Nj,Kj,uk,gk,Ok,Dk,Xk,Jk,uq,nq,Hl,Hl,Lj,Ij,mk,dk,Lk,Ck,Sk,Fk,uq,nq,Vl,Gl,uq,nq,nq,nq,Rk,Hk,Fl,ol,Am,jm,Xm,Qm,uq,nq,nq,nq,Mk,Ek,Al,kl,um,em,Rm,Jm,uq,nq,hk,Zj,fm,Tl,Re,Dn,fk,Xj,Wm,Bm,Jl,ik,ck,_m,Km,Ml,Yl,Pl,Qe,rn,aj,np,np,uq,nq,np,np,np,yk,pk,db,zg,up,uq,vp,uq,uq,vp,To,Ep,Ep,dn,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq,yq];var Sa=[kq,lk,Zf,sk,Dc,kq,kq,kq];var Ta=[_p,ye,Qi,Ac,Vb,re,Ac,Vb,Fg,ij,hg,cg,_p,_p,_p,_p];var Ua=[Lp,$l,$k,Lp];var Va=[qp,bj,_g,qp];var Wa=[Vo,El,Ik,Vo];return{___cxa_can_catch:hm,___cxa_is_pointer_type:jo,___divdi3:kk,___muldi3:$m,___udivdi3:Po,___uremdi3:Um,_bitshift64Lshr:An,_bitshift64Shl:vn,_emscripten_bind_DracoInt8Array_DracoInt8Array_0:Jo,_emscripten_bind_DracoInt8Array_GetValue_1:so,_emscripten_bind_DracoInt8Array___destroy___0:Pm,_emscripten_bind_DracoInt8Array_size_0:$o,_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2:Qn,_emscripten_bind_Encoder_Encoder_0:kp,_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5:Nm,_emscripten_bind_Encoder_SetAttributeQuantization_2:On,_emscripten_bind_Encoder_SetEncodingMethod_1:io,_emscripten_bind_Encoder_SetSpeedOptions_2:oo,_emscripten_bind_Encoder___destroy___0:Fj,_emscripten_bind_GeometryAttribute_GeometryAttribute_0:wo,_emscripten_bind_GeometryAttribute___destroy___0:ap,_emscripten_bind_MeshBuilder_AddFacesToMesh_3:Pn,_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5:Tm,_emscripten_bind_MeshBuilder_AddInt32AttributeToMesh_5:Sm,_emscripten_bind_MeshBuilder_AddMetadataToMesh_2:Rn,_emscripten_bind_MeshBuilder_MeshBuilder_0:bp,_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3:nn,_emscripten_bind_MeshBuilder___destroy___0:ap,_emscripten_bind_Mesh_Mesh_0:mp,_emscripten_bind_Mesh___destroy___0:bo,_emscripten_bind_Mesh_num_attributes_0:No,_emscripten_bind_Mesh_num_faces_0:Fo,_emscripten_bind_Mesh_num_points_0:Jp,_emscripten_bind_Mesh_set_num_points_1:ip,_emscripten_bind_MetadataBuilder_AddDoubleEntry_3:En,_emscripten_bind_MetadataBuilder_AddIntEntry_3:In,_emscripten_bind_MetadataBuilder_AddStringEntry_3:Cn,_emscripten_bind_MetadataBuilder_MetadataBuilder_0:bp,_emscripten_bind_MetadataBuilder___destroy___0:ap,_emscripten_bind_Metadata_Metadata_0:Ll,_emscripten_bind_Metadata___destroy___0:yo,_emscripten_bind_PointAttribute_PointAttribute_0:Do,_emscripten_bind_PointAttribute___destroy___0:tj,_emscripten_bind_PointAttribute_attribute_type_0:sp,_emscripten_bind_PointAttribute_byte_offset_0:zp,_emscripten_bind_PointAttribute_byte_stride_0:yp,_emscripten_bind_PointAttribute_data_type_0:Cp,_emscripten_bind_PointAttribute_normalized_0:op,_emscripten_bind_PointAttribute_num_components_0:wp,_emscripten_bind_PointAttribute_size_0:Jp,_emscripten_bind_PointAttribute_unique_id_0:Bp,_emscripten_bind_PointCloud_PointCloud_0:Ro,_emscripten_bind_PointCloud___destroy___0:bo,_emscripten_bind_PointCloud_num_attributes_0:No,_emscripten_bind_PointCloud_num_points_0:Jp,_emscripten_bind_VoidPtr___destroy___0:ap,_emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE:aq,_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD:$p,_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH:cq,_emscripten_enum_draco_GeometryAttribute_Type_COLOR:dq,_emscripten_enum_draco_GeometryAttribute_Type_GENERIC:bq,_emscripten_enum_draco_GeometryAttribute_Type_INVALID:aq,_emscripten_enum_draco_GeometryAttribute_Type_NORMAL:cq,_emscripten_enum_draco_GeometryAttribute_Type_POSITION:$p,_emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD:Zp,_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING:cq,_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING:$p,_emscripten_get_global_libc:rq,_emscripten_replace_memory:La,_free:pc,_i64Add:Mn,_i64Subtract:_n,_llvm_bswap_i32:Wo,_malloc:Xa,_memcpy:Rg,_memmove:bm,_memset:cj,_sbrk:sl,dynCall_ii:Ap,dynCall_iii:Uo,dynCall_iiii:ro,dynCall_iiiiiii:mn,dynCall_v:hq,dynCall_vi:Np,dynCall_vii:jp,dynCall_viii:Co,dynCall_viiii:co,dynCall_viiiii:Sn,dynCall_viiiiii:sn,establishStackSpace:Hp,getTempRet0:wq,runPostSets:Ln,setTempRet0:qq,setThrew:ep,stackAlloc:Eo,stackRestore:oq,stackSave:xq}}) // EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);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 _emscripten_bind_PointAttribute_size_0=Module["_emscripten_bind_PointAttribute_size_0"]=asm["_emscripten_bind_PointAttribute_size_0"];var _emscripten_enum_draco_GeometryAttribute_Type_POSITION=Module["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_POSITION"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _emscripten_enum_draco_GeometryAttribute_Type_INVALID=Module["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_INVALID"];var _emscripten_bind_Encoder_SetAttributeExplicitQuantization_5=Module["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"]=asm["_emscripten_bind_Encoder_SetAttributeExplicitQuantization_5"];var _emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=Module["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"]=asm["_emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_EDGEBREAKER_ENCODING"];var _emscripten_bind_Mesh_num_faces_0=Module["_emscripten_bind_Mesh_num_faces_0"]=asm["_emscripten_bind_Mesh_num_faces_0"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var stackSave=Module["stackSave"]=asm["stackSave"];var _emscripten_bind_MeshBuilder_AddMetadataToMesh_2=Module["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"]=asm["_emscripten_bind_MeshBuilder_AddMetadataToMesh_2"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];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_DracoInt8Array___destroy___0=Module["_emscripten_bind_DracoInt8Array___destroy___0"]=asm["_emscripten_bind_DracoInt8Array___destroy___0"];var _emscripten_bind_PointAttribute_byte_stride_0=Module["_emscripten_bind_PointAttribute_byte_stride_0"]=asm["_emscripten_bind_PointAttribute_byte_stride_0"];var _emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5=Module["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"]=asm["_emscripten_bind_MeshBuilder_AddFloatAttributeToMesh_5"];var _emscripten_bind_MeshBuilder_MeshBuilder_0=Module["_emscripten_bind_MeshBuilder_MeshBuilder_0"]=asm["_emscripten_bind_MeshBuilder_MeshBuilder_0"];var _emscripten_bind_Metadata_Metadata_0=Module["_emscripten_bind_Metadata_Metadata_0"]=asm["_emscripten_bind_Metadata_Metadata_0"];var _emscripten_bind_PointCloud_num_attributes_0=Module["_emscripten_bind_PointCloud_num_attributes_0"]=asm["_emscripten_bind_PointCloud_num_attributes_0"];var _emscripten_bind_MetadataBuilder_MetadataBuilder_0=Module["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"]=asm["_emscripten_bind_MetadataBuilder_MetadataBuilder_0"];var _emscripten_bind_Mesh_Mesh_0=Module["_emscripten_bind_Mesh_Mesh_0"]=asm["_emscripten_bind_Mesh_Mesh_0"];var _emscripten_bind_MetadataBuilder_AddIntEntry_3=Module["_emscripten_bind_MetadataBuilder_AddIntEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddIntEntry_3"];var _emscripten_bind_DracoInt8Array_GetValue_1=Module["_emscripten_bind_DracoInt8Array_GetValue_1"]=asm["_emscripten_bind_DracoInt8Array_GetValue_1"];var setThrew=Module["setThrew"]=asm["setThrew"];var _emscripten_bind_PointAttribute_num_components_0=Module["_emscripten_bind_PointAttribute_num_components_0"]=asm["_emscripten_bind_PointAttribute_num_components_0"];var _emscripten_bind_MeshBuilder___destroy___0=Module["_emscripten_bind_MeshBuilder___destroy___0"]=asm["_emscripten_bind_MeshBuilder___destroy___0"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _emscripten_bind_Mesh_num_points_0=Module["_emscripten_bind_Mesh_num_points_0"]=asm["_emscripten_bind_Mesh_num_points_0"];var ___divdi3=Module["___divdi3"]=asm["___divdi3"];var _emscripten_bind_Encoder_SetAttributeQuantization_2=Module["_emscripten_bind_Encoder_SetAttributeQuantization_2"]=asm["_emscripten_bind_Encoder_SetAttributeQuantization_2"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING=Module["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"]=asm["_emscripten_enum_draco_MeshEncoderMethod_MESH_SEQUENTIAL_ENCODING"];var _emscripten_bind_Mesh_num_attributes_0=Module["_emscripten_bind_Mesh_num_attributes_0"]=asm["_emscripten_bind_Mesh_num_attributes_0"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _emscripten_bind_PointAttribute_unique_id_0=Module["_emscripten_bind_PointAttribute_unique_id_0"]=asm["_emscripten_bind_PointAttribute_unique_id_0"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _emscripten_bind_MeshBuilder_AddFacesToMesh_3=Module["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"]=asm["_emscripten_bind_MeshBuilder_AddFacesToMesh_3"];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_DracoInt8Array_size_0=Module["_emscripten_bind_DracoInt8Array_size_0"]=asm["_emscripten_bind_DracoInt8Array_size_0"];var _emscripten_bind_MetadataBuilder_AddDoubleEntry_3=Module["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddDoubleEntry_3"];var _emscripten_bind_MetadataBuilder_AddStringEntry_3=Module["_emscripten_bind_MetadataBuilder_AddStringEntry_3"]=asm["_emscripten_bind_MetadataBuilder_AddStringEntry_3"];var _emscripten_enum_draco_GeometryAttribute_Type_COLOR=Module["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_COLOR"];var _emscripten_bind_VoidPtr___destroy___0=Module["_emscripten_bind_VoidPtr___destroy___0"]=asm["_emscripten_bind_VoidPtr___destroy___0"];var _memset=Module["_memset"]=asm["_memset"];var _emscripten_bind_PointAttribute_attribute_type_0=Module["_emscripten_bind_PointAttribute_attribute_type_0"]=asm["_emscripten_bind_PointAttribute_attribute_type_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 setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _emscripten_bind_DracoInt8Array_DracoInt8Array_0=Module["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"]=asm["_emscripten_bind_DracoInt8Array_DracoInt8Array_0"];var _emscripten_bind_DracoFloat32Array___destroy___0=Module["_emscripten_bind_DracoFloat32Array___destroy___0"]=asm["_emscripten_bind_DracoFloat32Array___destroy___0"];var _emscripten_bind_Mesh_set_num_points_1=Module["_emscripten_bind_Mesh_set_num_points_1"]=asm["_emscripten_bind_Mesh_set_num_points_1"];var _emscripten_bind_PointCloud_num_points_0=Module["_emscripten_bind_PointCloud_num_points_0"]=asm["_emscripten_bind_PointCloud_num_points_0"];var _emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=Module["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"]=asm["_emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH"];var _emscripten_bind_GeometryAttribute_GeometryAttribute_0=Module["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"]=asm["_emscripten_bind_GeometryAttribute_GeometryAttribute_0"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _emscripten_bind_PointAttribute_data_type_0=Module["_emscripten_bind_PointAttribute_data_type_0"]=asm["_emscripten_bind_PointAttribute_data_type_0"];var _emscripten_bind_DracoFloat32Array_size_0=Module["_emscripten_bind_DracoFloat32Array_size_0"]=asm["_emscripten_bind_DracoFloat32Array_size_0"];var _emscripten_bind_GeometryAttribute___destroy___0=Module["_emscripten_bind_GeometryAttribute___destroy___0"]=asm["_emscripten_bind_GeometryAttribute___destroy___0"];var _emscripten_bind_MetadataBuilder___destroy___0=Module["_emscripten_bind_MetadataBuilder___destroy___0"]=asm["_emscripten_bind_MetadataBuilder___destroy___0"];var _malloc=Module["_malloc"]=asm["_malloc"];var _emscripten_replace_memory=Module["_emscripten_replace_memory"]=asm["_emscripten_replace_memory"];var _memmove=Module["_memmove"]=asm["_memmove"];var _emscripten_bind_PointCloud_PointCloud_0=Module["_emscripten_bind_PointCloud_PointCloud_0"]=asm["_emscripten_bind_PointCloud_PointCloud_0"];var _emscripten_bind_Mesh___destroy___0=Module["_emscripten_bind_Mesh___destroy___0"]=asm["_emscripten_bind_Mesh___destroy___0"];var _emscripten_bind_Metadata___destroy___0=Module["_emscripten_bind_Metadata___destroy___0"]=asm["_emscripten_bind_Metadata___destroy___0"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _emscripten_bind_PointAttribute_byte_offset_0=Module["_emscripten_bind_PointAttribute_byte_offset_0"]=asm["_emscripten_bind_PointAttribute_byte_offset_0"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_bind_Encoder_Encoder_0=Module["_emscripten_bind_Encoder_Encoder_0"]=asm["_emscripten_bind_Encoder_Encoder_0"];var _emscripten_bind_Encoder_SetSpeedOptions_2=Module["_emscripten_bind_Encoder_SetSpeedOptions_2"]=asm["_emscripten_bind_Encoder_SetSpeedOptions_2"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=Module["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"]=asm["_emscripten_bind_DracoFloat32Array_DracoFloat32Array_0"];var _emscripten_enum_draco_GeometryAttribute_Type_GENERIC=Module["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_GENERIC"];var _emscripten_bind_Encoder___destroy___0=Module["_emscripten_bind_Encoder___destroy___0"]=asm["_emscripten_bind_Encoder___destroy___0"];var _emscripten_bind_DracoFloat32Array_GetValue_1=Module["_emscripten_bind_DracoFloat32Array_GetValue_1"]=asm["_emscripten_bind_DracoFloat32Array_GetValue_1"];var _emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2=Module["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"]=asm["_emscripten_bind_Encoder_EncodeMeshToDracoBuffer_2"];var _emscripten_bind_Encoder_SetEncodingMethod_1=Module["_emscripten_bind_Encoder_SetEncodingMethod_1"]=asm["_emscripten_bind_Encoder_SetEncodingMethod_1"];var _emscripten_bind_PointAttribute_PointAttribute_0=Module["_emscripten_bind_PointAttribute_PointAttribute_0"]=asm["_emscripten_bind_PointAttribute_PointAttribute_0"];var _emscripten_enum_draco_GeometryAttribute_Type_NORMAL=Module["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"]=asm["_emscripten_enum_draco_GeometryAttribute_Type_NORMAL"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _emscripten_bind_MeshBuilder_SetMetadataForAttribute_3=Module["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"]=asm["_emscripten_bind_MeshBuilder_SetMetadataForAttribute_3"];var _emscripten_bind_PointAttribute___destroy___0=Module["_emscripten_bind_PointAttribute___destroy___0"]=asm["_emscripten_bind_PointAttribute___destroy___0"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_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=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;Module["then"]=(function(func){if(Module["calledRun"]){func(Module)}else{var old=Module["onRuntimeInitialized"];Module["onRuntimeInitialized"]=(function(){if(old)old();func(Module)})}return Module});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)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;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"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;var abortDecorators=[];function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}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(ensureCache.needed){for(var i=0;i=ensureCache.size){assert(len>0);ensureCache.needed+=len;ret=Module["_malloc"](len);ensureCache.temps.push(ret)}else{ret=ensureCache.buffer+ensureCache.pos;ensureCache.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;i::min() / 2); static constexpr PointIndex kInvalidPointIndex( std::numeric_limits::min() / 2); +static constexpr VertexIndex kInvalidVertexIndex( + std::numeric_limits::min() / 2); +static constexpr CornerIndex kInvalidCornerIndex( + std::numeric_limits::min() / 2); +static constexpr FaceIndex kInvalidFaceIndex( + std::numeric_limits::min() / 2); } // namespace draco diff --git a/src/draco/compression/attributes/mesh_attribute_indices_encoding_data.h b/src/draco/compression/attributes/mesh_attribute_indices_encoding_data.h index bbbedf4e..e1a6f3b5 100644 --- a/src/draco/compression/attributes/mesh_attribute_indices_encoding_data.h +++ b/src/draco/compression/attributes/mesh_attribute_indices_encoding_data.h @@ -19,7 +19,7 @@ #include -#include "draco/mesh/corner_table_indices.h" +#include "draco/attributes/geometry_indices.h" namespace draco { @@ -27,6 +27,13 @@ namespace draco { struct MeshAttributeIndicesEncodingData { MeshAttributeIndicesEncodingData() : num_values(0) {} + void Initialize(int num_vertices) { + vertex_to_encoded_attribute_value_index_map.resize(num_vertices); + + // We expect to store one value for each vertex. + encoded_attribute_value_index_to_corner_map.reserve(num_vertices); + } + // Array for storing the corner ids in the order their associated attribute // entries were encoded/decoded. For every encoded attribute value entry we // store exactly one corner. I.e., this is the mapping between an encoded diff --git a/src/draco/compression/attributes/mesh_traversal_sequencer.h b/src/draco/compression/attributes/mesh_traversal_sequencer.h index f8a78af3..d13a5fd3 100644 --- a/src/draco/compression/attributes/mesh_traversal_sequencer.h +++ b/src/draco/compression/attributes/mesh_traversal_sequencer.h @@ -15,9 +15,9 @@ #ifndef DRACO_COMPRESSION_ATTRIBUTES_MESH_TRAVERSAL_SEQUENCER_H_ #define DRACO_COMPRESSION_ATTRIBUTES_MESH_TRAVERSAL_SEQUENCER_H_ +#include "draco/attributes/geometry_indices.h" #include "draco/compression/attributes/mesh_attribute_indices_encoding_data.h" #include "draco/compression/attributes/points_sequencer.h" -#include "draco/mesh/corner_table_indices.h" #include "draco/mesh/mesh.h" namespace draco { @@ -70,6 +70,10 @@ class MeshTraversalSequencer : public PointsSequencer { protected: bool GenerateSequenceInternal() override { + // Preallocate memory for storing point indices. We expect the number of + // points to be the same as the number of corner table vertices. + out_point_ids()->reserve(traverser_.corner_table()->num_vertices()); + traverser_.OnTraversalStart(); if (corner_order_) { for (uint32_t i = 0; i < corner_order_->size(); ++i) { diff --git a/src/draco/compression/encode_test.cc b/src/draco/compression/encode_test.cc index ec984c8e..b1871258 100644 --- a/src/draco/compression/encode_test.cc +++ b/src/draco/compression/encode_test.cc @@ -24,6 +24,7 @@ #include "draco/core/draco_test_base.h" #include "draco/core/draco_test_utils.h" #include "draco/core/vector_d.h" +#include "draco/io/obj_decoder.h" #include "draco/mesh/triangle_soup_mesh_builder.h" namespace { @@ -124,4 +125,22 @@ TEST_F(EncodeTest, TestEncoderQuantization) { VerifyNumQuantizationBits(buffer, 16, 15, 15); } +TEST_F(EncodeTest, TestLinesObj) { + // This test verifies that Encoder can encode file that contains only line + // segments (that are ignored). + std::unique_ptr mesh( + draco::ReadMeshFromTestFile("test_lines.obj")); + ASSERT_NE(mesh, nullptr); + ASSERT_EQ(mesh->num_faces(), 0); + std::unique_ptr pc( + draco::ReadPointCloudFromTestFile("test_lines.obj")); + ASSERT_NE(pc, nullptr); + + draco::Encoder encoder; + encoder.SetAttributeQuantization(draco::GeometryAttribute::POSITION, 16); + + draco::EncoderBuffer buffer; + ASSERT_TRUE(encoder.EncodePointCloudToBuffer(*pc, &buffer).ok()); +} + } // namespace diff --git a/src/draco/compression/expert_encode.cc b/src/draco/compression/expert_encode.cc index 2d32161f..32d8d688 100644 --- a/src/draco/compression/expert_encode.cc +++ b/src/draco/compression/expert_encode.cc @@ -49,7 +49,6 @@ Status ExpertEncoder::EncodePointCloudToBuffer(const PointCloud &pc, encoder.reset(new PointCloudSequentialEncoder()); } else { // Speed < 10, use POINT_CLOUD_KD_TREE_ENCODING if possible. - const PointAttribute *const att = pc.attribute(0); bool kd_tree_possible = true; // Kd-Tree encoder can be currently used only under following conditions: // - Point cloud has one attribute describing positions @@ -57,6 +56,10 @@ Status ExpertEncoder::EncodePointCloudToBuffer(const PointCloud &pc, // - Position data type is one of the following: // -float32 and quantization is enabled // -uint32 + const PointAttribute *const att = + pc.GetNamedAttribute(GeometryAttribute::POSITION); + if (att == nullptr || pc.num_attributes() != 1) + kd_tree_possible = false; if (kd_tree_possible && att->attribute_type() != GeometryAttribute::POSITION) kd_tree_possible = false; diff --git a/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.cc b/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.cc index ff3da9c3..0ad8bdfd 100644 --- a/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.cc +++ b/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.cc @@ -21,6 +21,7 @@ #include "draco/compression/mesh/mesh_edgebreaker_decoder.h" #include "draco/compression/mesh/mesh_edgebreaker_traversal_predictive_decoder.h" #include "draco/compression/mesh/mesh_edgebreaker_traversal_valence_decoder.h" +#include "draco/mesh/corner_table_iterators.h" #include "draco/mesh/corner_table_traversal_processor.h" #include "draco/mesh/edgebreaker_traverser.h" #include "draco/mesh/prediction_degree_traverser.h" @@ -256,14 +257,14 @@ bool MeshEdgeBreakerDecoderImpl::DecodeConnectivity() { if (!DecodeVarint(&num_faces, decoder_->buffer())) return false; } + if (num_faces > std::numeric_limits::max() / 3) + return false; // Draco cannot handle this many faces. // Decode topology (connectivity). vertex_traversal_length_.clear(); corner_table_ = std::unique_ptr(new CornerTable()); if (corner_table_ == nullptr) return false; - if (!corner_table_->Reset(num_faces)) - return false; processed_corner_ids_.clear(); processed_corner_ids_.reserve(num_faces); processed_connectivity_corners_.clear(); @@ -317,6 +318,10 @@ bool MeshEdgeBreakerDecoderImpl::DecodeConnectivity() { return false; } + if (!corner_table_->Reset(num_faces, + num_encoded_vertices_ + num_encoded_split_symbols)) + return false; + // Start with all vertices marked as holes (boundaries). // Only vertices decoded with TOPOLOGY_C symbol (and the initial face) will // be marked as non hole vertices. We need to allocate the array larger @@ -400,14 +405,6 @@ bool MeshEdgeBreakerDecoderImpl::DecodeConnectivity() { } traversal_decoder_.Done(); - // Update vertex to corner mapping on boundary vertices as it was not set - // correctly in the previous steps. - for (int i = 0; i < corner_table_->num_vertices(); ++i) { - if (is_vert_hole_[i]) { - corner_table_->UpdateVertexToCornerMap(VertexIndex(i)); - } - } - // Decode attribute connectivity. // Prepare data structure for decoding non-position attribute connectivity. for (uint32_t i = 0; i < attribute_data_.size(); ++i) { @@ -420,8 +417,7 @@ bool MeshEdgeBreakerDecoderImpl::DecodeConnectivity() { attribute_data_[i].connectivity_data.RecomputeVertices(nullptr, nullptr); } - pos_encoding_data_.vertex_to_encoded_attribute_value_index_map.resize( - corner_table_->num_vertices()); + pos_encoding_data_.Initialize(corner_table_->num_vertices()); for (uint32_t i = 0; i < attribute_data_.size(); ++i) { // For non-position attributes, preallocate the vertex to value mapping // using the maximum number of vertices from the base corner table and the @@ -431,11 +427,9 @@ bool MeshEdgeBreakerDecoderImpl::DecodeConnectivity() { attribute_data_[i].connectivity_data.num_vertices(); if (att_connectivity_verts < corner_table_->num_vertices()) att_connectivity_verts = corner_table_->num_vertices(); - attribute_data_[i] - .encoding_data.vertex_to_encoded_attribute_value_index_map.resize( - att_connectivity_verts); + attribute_data_[i].encoding_data.Initialize(att_connectivity_verts); } - if (!AssignPointsToCorners()) + if (!AssignPointsToCorners(num_connectivity_verts)) return false; return true; } @@ -465,7 +459,12 @@ int MeshEdgeBreakerDecoderImpl::DecodeConnectivity( // id they belong to, so we can address them using this symbol id. std::unordered_map topology_split_active_corners; - int num_vertices = 0; + // Vector used for storing vertices that were marked as isolated during the + // decoding process. Currently used only when the mesh doesn't contain any + // non-position connectivity data. + std::vector invalid_vertices; + const bool remove_invalid_vertices = attribute_data_.empty(); + int max_num_vertices = is_vert_hole_.size(); int num_faces = 0; for (int symbol_id = 0; symbol_id < num_symbols; ++symbol_id) { @@ -495,25 +494,28 @@ int MeshEdgeBreakerDecoderImpl::DecodeConnectivity( // top of the active stack. if (active_corner_stack.empty()) return -1; + const CornerIndex corner_a = active_corner_stack.back(); - CornerIndex corner_b = corner_table_->Previous(corner_a); - while (corner_table_->Opposite(corner_b) >= 0) { - corner_b = corner_table_->Previous(corner_table_->Opposite(corner_b)); - } + const VertexIndex vertex_x = + corner_table_->Vertex(corner_table_->Next(corner_a)); + const CornerIndex corner_b = + corner_table_->Next(corner_table_->LeftMostCorner(vertex_x)); + // New tip corner. const CornerIndex corner(3 * face.value()); // Update opposite corner mappings. SetOppositeCorners(corner_a, corner + 1); SetOppositeCorners(corner_b, corner + 2); - const VertexIndex vertex_x = - corner_table_->Vertex(corner_table_->Next(corner_a)); + // Update vertex mapping. corner_table_->MapCornerToVertex(corner, vertex_x); corner_table_->MapCornerToVertex( corner + 1, corner_table_->Vertex(corner_table_->Next(corner_b))); - corner_table_->MapCornerToVertex( - corner + 2, corner_table_->Vertex(corner_table_->Previous(corner_a))); - if (num_vertices > max_num_vertices) + const VertexIndex vert_a_prev = + corner_table_->Vertex(corner_table_->Previous(corner_a)); + corner_table_->MapCornerToVertex(corner + 2, vert_a_prev); + corner_table_->SetLeftMostCorner(vert_a_prev, corner + 2); + if (corner_table_->num_vertices() > max_num_vertices) return -1; // Unexpected number of decoded vertices. // Mark the vertex |x| as interior. is_vert_hole_[vertex_x.value()] = false; @@ -540,23 +542,32 @@ int MeshEdgeBreakerDecoderImpl::DecodeConnectivity( // First corner on the new face is either corner "l" or "r". const CornerIndex corner(3 * face.value()); - CornerIndex opp_corner; + CornerIndex opp_corner, corner_l, corner_r; if (symbol == TOPOLOGY_R) { // "r" is the new first corner. opp_corner = corner + 2; + corner_l = corner + 1; + corner_r = corner; } else { // "l" is the new first corner. opp_corner = corner + 1; + corner_l = corner; + corner_r = corner + 2; } SetOppositeCorners(opp_corner, corner_a); // Update vertex mapping. - corner_table_->MapCornerToVertex(opp_corner, VertexIndex(num_vertices++)); - corner_table_->MapCornerToVertex( - corner_table_->Next(opp_corner), - corner_table_->Vertex(corner_table_->Previous(corner_a))); + const VertexIndex new_vert_index = corner_table_->AddNewVertex(); + corner_table_->MapCornerToVertex(opp_corner, new_vert_index); + corner_table_->SetLeftMostCorner(new_vert_index, opp_corner); + + const VertexIndex vertex_r = + corner_table_->Vertex(corner_table_->Previous(corner_a)); + corner_table_->MapCornerToVertex(corner_r, vertex_r); + // Update left-most corner on the vertex on the |corner_r|. + corner_table_->SetLeftMostCorner(vertex_r, corner_r); + corner_table_->MapCornerToVertex( - corner_table_->Previous(opp_corner), - corner_table_->Vertex(corner_table_->Next(corner_a))); + corner_l, corner_table_->Vertex(corner_table_->Next(corner_a))); active_corner_stack.back() = corner; check_topology_split = true; } else if (symbol == TOPOLOGY_S) { @@ -597,13 +608,19 @@ int MeshEdgeBreakerDecoderImpl::DecodeConnectivity( corner_table_->MapCornerToVertex(corner, vertex_p); corner_table_->MapCornerToVertex( corner + 1, corner_table_->Vertex(corner_table_->Next(corner_a))); - corner_table_->MapCornerToVertex( - corner + 2, corner_table_->Vertex(corner_table_->Previous(corner_b))); - // Also update the vertex id at corner "n" and all corners that are - // connected to it in the CCW direction. + const VertexIndex vert_b_prev = + corner_table_->Vertex(corner_table_->Previous(corner_b)); + corner_table_->MapCornerToVertex(corner + 2, vert_b_prev); + corner_table_->SetLeftMostCorner(vert_b_prev, corner + 2); CornerIndex corner_n = corner_table_->Next(corner_b); const VertexIndex vertex_n = corner_table_->Vertex(corner_n); traversal_decoder_.MergeVertices(vertex_p, vertex_n); + // Update the left most corner on the newly merged vertex. + corner_table_->SetLeftMostCorner(vertex_p, + corner_table_->LeftMostCorner(vertex_n)); + + // Also update the vertex id at corner "n" and all corners that are + // connected to it in the CCW direction. while (corner_n >= 0) { corner_table_->MapCornerToVertex(corner_n, vertex_p); corner_n = corner_table_->SwingLeft(corner_n); @@ -611,13 +628,21 @@ int MeshEdgeBreakerDecoderImpl::DecodeConnectivity( // Make sure the old vertex n is now mapped to an invalid corner (make it // isolated). corner_table_->MakeVertexIsolated(vertex_n); + if (remove_invalid_vertices) + invalid_vertices.push_back(vertex_n); active_corner_stack.back() = corner; } else if (symbol == TOPOLOGY_E) { const CornerIndex corner(3 * face.value()); + const VertexIndex first_vert_index = corner_table_->AddNewVertex(); // Create three new vertices at the corners of the new face. - corner_table_->MapCornerToVertex(corner, VertexIndex(num_vertices++)); - corner_table_->MapCornerToVertex(corner + 1, VertexIndex(num_vertices++)); - corner_table_->MapCornerToVertex(corner + 2, VertexIndex(num_vertices++)); + corner_table_->MapCornerToVertex(corner, first_vert_index); + corner_table_->MapCornerToVertex(corner + 1, + corner_table_->AddNewVertex()); + corner_table_->MapCornerToVertex(corner + 2, + corner_table_->AddNewVertex()); + corner_table_->SetLeftMostCorner(first_vert_index, corner); + corner_table_->SetLeftMostCorner(first_vert_index + 1, corner + 1); + corner_table_->SetLeftMostCorner(first_vert_index + 2, corner + 2); // Add the tip corner to the active stack. active_corner_stack.push_back(corner); check_topology_split = true; @@ -672,7 +697,7 @@ int MeshEdgeBreakerDecoderImpl::DecodeConnectivity( } } } - if (num_vertices > max_num_vertices) + if (corner_table_->num_vertices() > max_num_vertices) return -1; // Unexpected number of decoded vertices. // Decode start faces and connect them to the faces from the active stack. while (active_corner_stack.size() > 0) { @@ -684,8 +709,8 @@ int MeshEdgeBreakerDecoderImpl::DecodeConnectivity( // The start face is interior, we need to find three corners that are // opposite to it. The first opposite corner "a" is the corner from the // top of the active corner stack and the remaining two corners "b" and - // "c" can be obtained by circulating around vertices "n" and "p" in CW - // and CCW directions respectively. + // "c" are then the next corners from the left-most corners of vertices + // "n" and "x" respectively. // // *-------* // / \ / \ @@ -695,7 +720,7 @@ int MeshEdgeBreakerDecoderImpl::DecodeConnectivity( // / \a . . c/ \ // / \ . . / \ // / \ . I . / \ - // *-------n.......*------* + // *-------n.......x------* // \ / \ / \ / // \ / \ / \ / // \ / \b/ \ / @@ -706,16 +731,20 @@ int MeshEdgeBreakerDecoderImpl::DecodeConnectivity( return -1; // More faces than expected added to the mesh. } - // TODO(ostava): The circulation below should be replaced by functions - // that can be reused elsewhere. - CornerIndex corner_b = corner_table_->Previous(corner); - while (corner_table_->Opposite(corner_b) >= 0) { - corner_b = corner_table_->Previous(corner_table_->Opposite(corner_b)); - } - CornerIndex corner_c = corner_table_->Next(corner); - while (corner_table_->Opposite(corner_c) >= 0) { - corner_c = corner_table_->Next(corner_table_->Opposite(corner_c)); - } + const CornerIndex corner_a = corner; + const VertexIndex vert_n = + corner_table_->Vertex(corner_table_->Next(corner_a)); + const CornerIndex corner_b = + corner_table_->Next(corner_table_->LeftMostCorner(vert_n)); + + const VertexIndex vert_x = + corner_table_->Vertex(corner_table_->Next(corner_b)); + const CornerIndex corner_c = + corner_table_->Next(corner_table_->LeftMostCorner(vert_x)); + + const VertexIndex vert_p = + corner_table_->Vertex(corner_table_->Next(corner_c)); + const FaceIndex face(num_faces++); // The first corner of the initial face is the corner opposite to "a". const CornerIndex new_corner(3 * face.value()); @@ -724,12 +753,9 @@ int MeshEdgeBreakerDecoderImpl::DecodeConnectivity( SetOppositeCorners(new_corner + 2, corner_c); // Map new corners to existing vertices. - corner_table_->MapCornerToVertex( - new_corner, corner_table_->Vertex(corner_table_->Next(corner_b))); - corner_table_->MapCornerToVertex( - new_corner + 1, corner_table_->Vertex(corner_table_->Next(corner_c))); - corner_table_->MapCornerToVertex( - new_corner + 2, corner_table_->Vertex(corner_table_->Next(corner))); + corner_table_->MapCornerToVertex(new_corner, vert_x); + corner_table_->MapCornerToVertex(new_corner + 1, vert_p); + corner_table_->MapCornerToVertex(new_corner + 2, vert_n); // Mark all three vertices as interior. for (int ci = 0; ci < 3; ++ci) { @@ -748,7 +774,37 @@ int MeshEdgeBreakerDecoderImpl::DecodeConnectivity( } if (num_faces != corner_table_->num_faces()) return -1; // Unexpected number of decoded faces. - vertex_id_map_.resize(num_vertices); + + int num_vertices = corner_table_->num_vertices(); + // If any vertex was marked as isolated, we want to remove it from the corner + // table to ensure that all vertices in range <0, num_vertices> are valid. + for (const VertexIndex invalid_vert : invalid_vertices) { + // Find the last valid vertex and swap it with the isolated vertex. + VertexIndex src_vert(num_vertices - 1); + while (corner_table_->LeftMostCorner(src_vert) < 0) { + // The last vertex is invalid, proceed to the previous one. + src_vert = VertexIndex(--num_vertices - 1); + } + if (src_vert < invalid_vert) + continue; // No need to swap anything. + + // Remap all corners mapped to |src_vert| to |invalid_vert|. + VertexCornersIterator vcit(corner_table_.get(), src_vert); + for (; !vcit.End(); ++vcit) { + const CornerIndex cid = vcit.Corner(); + corner_table_->MapCornerToVertex(cid, invalid_vert); + } + corner_table_->SetLeftMostCorner(invalid_vert, + corner_table_->LeftMostCorner(src_vert)); + + // Make the |src_vert| invalid. + corner_table_->MakeVertexIsolated(src_vert); + is_vert_hole_[invalid_vert.value()] = is_vert_hole_[src_vert.value()]; + is_vert_hole_[src_vert.value()] = false; + + // The last vertex is now invalid. + num_vertices--; + } return num_vertices; } @@ -918,34 +974,27 @@ bool MeshEdgeBreakerDecoderImpl< } template -bool MeshEdgeBreakerDecoderImpl::AssignPointsToCorners() { +bool MeshEdgeBreakerDecoderImpl::AssignPointsToCorners( + int num_connectivity_verts) { // Map between the existing and deduplicated point ids. // Note that at this point we have one point id for each corner of the // mesh so there is corner_table_->num_corners() point ids. decoder_->mesh()->SetNumFaces(corner_table_->num_faces()); - if (attribute_data_.size() == 0) { - // We have position only. In this case we can simplify the deduplication - // because the only thing we need to do is to remove isolated vertices that - // were introduced during the decoding. - - int32_t num_points = 0; - std::vector vertex_to_point_map(corner_table_->num_vertices(), -1); - // Add faces. + if (attribute_data_.empty()) { + // We have connectivity for position only. In this case all vertex indices + // are equal to point indices. for (FaceIndex f(0); f < decoder_->mesh()->num_faces(); ++f) { Mesh::Face face; + const CornerIndex start_corner(3 * f.value()); for (int c = 0; c < 3; ++c) { - // Remap old points to the new ones. - const int32_t vert_id = - corner_table_->Vertex(CornerIndex(3 * f.value() + c)).value(); - int32_t &point_id = vertex_to_point_map[vert_id]; - if (point_id == -1) - point_id = num_points++; - face[c] = point_id; + // Get the vertex index on the corner and use it as a point index. + const int32_t vert_id = corner_table_->Vertex(start_corner + c).value(); + face[c] = vert_id; } decoder_->mesh()->SetFace(f, face); } - decoder_->point_cloud()->set_num_points(num_points); + decoder_->point_cloud()->set_num_points(num_connectivity_verts); return true; } // Else we need to deduplicate multiple attributes. @@ -995,7 +1044,7 @@ bool MeshEdgeBreakerDecoderImpl::AssignPointsToCorners() { // Do a deduplication pass over the corners on the processed vertex. // At this point each corner corresponds to one point id and our goal is to // merge similar points into a single point id. - // We do one one pass in a clockwise direction over the corners and we add + // We do a single pass in a clockwise direction over the corners and we add // a new point id whenever one of the attributes change. c = deduplication_first_corner; // Create a new point. diff --git a/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.h b/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.h index 65dcfb0b..a29df270 100644 --- a/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.h +++ b/src/draco/compression/mesh/mesh_edgebreaker_decoder_impl.h @@ -117,7 +117,7 @@ class MeshEdgeBreakerDecoderImpl : public MeshEdgeBreakerDecoderImplInterface { bool DecodeAttributeConnectivitiesOnFace(CornerIndex corner); // Initializes mapping between corners and point ids. - bool AssignPointsToCorners(); + bool AssignPointsToCorners(int num_connectivity_verts); bool IsFaceVisited(CornerIndex corner_id) const { if (corner_id < 0) @@ -158,10 +158,6 @@ class MeshEdgeBreakerDecoderImpl : public MeshEdgeBreakerDecoderImplInterface { // Initial corner for each traversal. std::vector init_corners_; - // Mapping between vertex ids assigned during connectivity decoding and vertex - // ids that were used during encoding. - std::vector vertex_id_map_; - // Id of the last processed input symbol. int last_symbol_id_; diff --git a/src/draco/compression/mesh/mesh_edgebreaker_encoder_impl.cc b/src/draco/compression/mesh/mesh_edgebreaker_encoder_impl.cc index 788a5714..7a638e9e 100644 --- a/src/draco/compression/mesh/mesh_edgebreaker_encoder_impl.cc +++ b/src/draco/compression/mesh/mesh_edgebreaker_encoder_impl.cc @@ -265,7 +265,7 @@ bool MeshEdgeBreakerEncoderImpl::EncodeConnectivity() { if (use_single_connectivity_) { corner_table_ = CreateCornerTableFromAllAttributes(mesh_); } else { - corner_table_ = CreateCornerTable(mesh_); + corner_table_ = CreateCornerTableFromPositionAttribute(mesh_); } if (corner_table_ == nullptr) { // Failed to construct the corner table. diff --git a/src/draco/compression/mesh/mesh_edgebreaker_encoding_test.cc b/src/draco/compression/mesh/mesh_edgebreaker_encoding_test.cc index 17b66569..99e09331 100644 --- a/src/draco/compression/mesh/mesh_edgebreaker_encoding_test.cc +++ b/src/draco/compression/mesh/mesh_edgebreaker_encoding_test.cc @@ -32,8 +32,7 @@ class MeshEdgebreakerEncodingTest : public ::testing::Test { void TestFile(const std::string &file_name) { TestFile(file_name, -1); } void TestFile(const std::string &file_name, int compression_level) { - const std::string path = GetTestFileFullPath(file_name); - const std::unique_ptr mesh(ReadMeshFromFile(path)); + const std::unique_ptr mesh(ReadMeshFromTestFile(file_name)); ASSERT_NE(mesh, nullptr) << "Failed to load test model " << file_name; TestMesh(mesh.get(), compression_level); @@ -96,8 +95,7 @@ TEST_F(MeshEdgebreakerEncodingTest, TestEncoderReuse) { // Tests whether the edgebreaker encoder can be reused multiple times to // encode a given mesh. const std::string file_name = "test_pos_color.ply"; - const std::string path = GetTestFileFullPath(file_name); - const std::unique_ptr mesh(ReadMeshFromFile(path)); + const std::unique_ptr mesh(ReadMeshFromTestFile(file_name)); ASSERT_NE(mesh, nullptr) << "Failed to load test model " << file_name; MeshEdgeBreakerEncoder encoder; @@ -118,8 +116,7 @@ TEST_F(MeshEdgebreakerEncodingTest, TestDecoderReuse) { // Tests whether the edgebreaker decoder can be reused multiple times to // decode a given mesh. const std::string file_name = "test_pos_color.ply"; - const std::string path = GetTestFileFullPath(file_name); - const std::unique_ptr mesh(ReadMeshFromFile(path)); + const std::unique_ptr mesh(ReadMeshFromTestFile(file_name)); ASSERT_NE(mesh, nullptr) << "Failed to load test model " << file_name; MeshEdgeBreakerEncoder encoder; @@ -155,8 +152,7 @@ TEST_F(MeshEdgebreakerEncodingTest, TestSingleConnectivityEncoding) { // multiple attributes using single connectivity by breaking the mesh along // attribute seams. const std::string file_name = "cube_att.obj"; - const std::string path = GetTestFileFullPath(file_name); - const std::unique_ptr mesh(ReadMeshFromFile(path)); + const std::unique_ptr mesh(ReadMeshFromTestFile(file_name)); ASSERT_NE(mesh, nullptr) << "Failed to load test model " << file_name; for (int i = 0; i < 2; ++i) { diff --git a/src/draco/compression/mesh/mesh_encoder_test.cc b/src/draco/compression/mesh/mesh_encoder_test.cc index c4349958..e67861a2 100644 --- a/src/draco/compression/mesh/mesh_encoder_test.cc +++ b/src/draco/compression/mesh/mesh_encoder_test.cc @@ -39,14 +39,6 @@ class MeshEncoderTest : public ::testing::TestWithParam { } return false; } - std::unique_ptr DecodeObj(const std::string &file_name) const { - const std::string path = GetTestFileFullPath(file_name); - std::unique_ptr mesh(new Mesh()); - ObjDecoder decoder; - if (!decoder.DecodeFromFile(path, mesh.get())) - return nullptr; - return mesh; - } }; TEST_P(MeshEncoderTest, EncodeGoldenMesh) { @@ -64,7 +56,7 @@ TEST_P(MeshEncoderTest, EncodeGoldenMesh) { golden_file_name += '.'; golden_file_name += GetParam(); golden_file_name += ".1.2.0.drc"; - const std::unique_ptr mesh(DecodeObj(file_name)); + const std::unique_ptr mesh(ReadMeshFromTestFile(file_name)); ASSERT_NE(mesh, nullptr) << "Failed to load test model " << file_name; ExpertEncoder encoder(*mesh.get()); diff --git a/src/draco/compression/point_cloud/point_cloud_kd_tree_encoding_test.cc b/src/draco/compression/point_cloud/point_cloud_kd_tree_encoding_test.cc index 47c66a5c..0c092319 100644 --- a/src/draco/compression/point_cloud/point_cloud_kd_tree_encoding_test.cc +++ b/src/draco/compression/point_cloud/point_cloud_kd_tree_encoding_test.cc @@ -24,15 +24,6 @@ namespace draco { class PointCloudKdTreeEncodingTest : public ::testing::Test { protected: - std::unique_ptr DecodeObj(const std::string &file_name) const { - const std::string path = GetTestFileFullPath(file_name); - ObjDecoder decoder; - std::unique_ptr pc(new PointCloud()); - if (!decoder.DecodeFromFile(path, pc.get())) - return nullptr; - return pc; - } - void ComparePointClouds(const PointCloud &p0, const PointCloud &p1) const { ASSERT_EQ(p0.num_points(), p1.num_points()); ASSERT_EQ(p0.num_attributes(), p1.num_attributes()); @@ -80,7 +71,7 @@ class PointCloudKdTreeEncodingTest : public ::testing::Test { } void TestFloatEncoding(const std::string &file_name) { - std::unique_ptr pc = DecodeObj(file_name); + std::unique_ptr pc = ReadPointCloudFromTestFile(file_name); ASSERT_NE(pc, nullptr); TestKdTreeEncoding(*pc.get()); diff --git a/src/draco/compression/point_cloud/point_cloud_sequential_encoding_test.cc b/src/draco/compression/point_cloud/point_cloud_sequential_encoding_test.cc index 3189bec8..beab4bcd 100644 --- a/src/draco/compression/point_cloud/point_cloud_sequential_encoding_test.cc +++ b/src/draco/compression/point_cloud/point_cloud_sequential_encoding_test.cc @@ -22,15 +22,6 @@ namespace draco { class PointCloudSequentialEncodingTest : public ::testing::Test { protected: - std::unique_ptr DecodeObj(const std::string &file_name) const { - const std::string path = GetTestFileFullPath(file_name); - ObjDecoder decoder; - std::unique_ptr pc(new PointCloud()); - if (!decoder.DecodeFromFile(path, pc.get())) - return nullptr; - return pc; - } - std::unique_ptr EncodeAndDecodePointCloud(const PointCloud *pc) { EncoderBuffer buffer; PointCloudSequentialEncoder encoder; @@ -51,7 +42,7 @@ class PointCloudSequentialEncodingTest : public ::testing::Test { } void TestEncoding(const std::string &file_name) { - std::unique_ptr pc = DecodeObj(file_name); + std::unique_ptr pc = ReadPointCloudFromTestFile(file_name); ASSERT_NE(pc, nullptr); std::unique_ptr decoded_pc = @@ -66,7 +57,7 @@ TEST_F(PointCloudSequentialEncodingTest, DoesEncodeAndDecode) { } TEST_F(PointCloudSequentialEncodingTest, EncodingPointCloudWithMetadata) { - std::unique_ptr pc = DecodeObj("test_nm.obj"); + std::unique_ptr pc = ReadPointCloudFromTestFile("test_nm.obj"); ASSERT_NE(pc, nullptr); // Add metadata to point cloud. std::unique_ptr metadata = diff --git a/src/draco/core/draco_test_utils.h b/src/draco/core/draco_test_utils.h index 02f27706..b366009e 100644 --- a/src/draco/core/draco_test_utils.h +++ b/src/draco/core/draco_test_utils.h @@ -16,6 +16,8 @@ #define DRACO_CORE_DRACO_TEST_UTILS_H_ #include "draco/core/draco_test_base.h" +#include "draco/io/mesh_io.h" +#include "draco/io/point_cloud_io.h" namespace draco { @@ -33,6 +35,26 @@ bool GenerateGoldenFile(const std::string &golden_file_name, const void *data, bool CompareGoldenFile(const std::string &golden_file_name, const void *data, int data_size); +// Loads a mesh / point cloud specified by a |file_name| that is going to be +// automatically converted to the correct path available to the testing +// instance. +inline std::unique_ptr ReadMeshFromTestFile( + const std::string &file_name) { + const std::string path = GetTestFileFullPath(file_name); + return ReadMeshFromFile(path).value(); +} +inline std::unique_ptr ReadMeshFromTestFile(const std::string &file_name, + bool use_metadata) { + const std::string path = GetTestFileFullPath(file_name); + return ReadMeshFromFile(path, use_metadata).value(); +} + +inline std::unique_ptr ReadPointCloudFromTestFile( + const std::string &file_name) { + const std::string path = GetTestFileFullPath(file_name); + return ReadPointCloudFromFile(path).value(); +} + } // namespace draco #endif // DRACO_CORE_DRACO_TEST_UTILS_H_ diff --git a/src/draco/core/draco_version.h b/src/draco/core/draco_version.h index 001ee48c..0eddf7a8 100644 --- a/src/draco/core/draco_version.h +++ b/src/draco/core/draco_version.h @@ -18,7 +18,7 @@ namespace draco { // Draco version is comprised of ... -static const char kDracoVersion[] = "1.2.3"; +static const char kDracoVersion[] = "1.2.4"; const char *Version() { return kDracoVersion; } diff --git a/src/draco/io/mesh_io.cc b/src/draco/io/mesh_io.cc index 782666a3..807dcfbe 100644 --- a/src/draco/io/mesh_io.cc +++ b/src/draco/io/mesh_io.cc @@ -34,12 +34,12 @@ inline std::string LowercaseFileExtension(const std::string &filename) { } // namespace -std::unique_ptr ReadMeshFromFile(const std::string &file_name) { +StatusOr> ReadMeshFromFile(const std::string &file_name) { return ReadMeshFromFile(file_name, false); } -std::unique_ptr ReadMeshFromFile(const std::string &file_name, - bool use_metadata) { +StatusOr> ReadMeshFromFile(const std::string &file_name, + bool use_metadata) { std::unique_ptr mesh(new Mesh()); // Analyze file extension. const std::string extension = LowercaseFileExtension(file_name); @@ -47,26 +47,28 @@ std::unique_ptr ReadMeshFromFile(const std::string &file_name, // Wavefront OBJ file format. ObjDecoder obj_decoder; obj_decoder.set_use_metadata(use_metadata); - if (!obj_decoder.DecodeFromFile(file_name, mesh.get())) - return nullptr; - return mesh; + const Status obj_status = obj_decoder.DecodeFromFile(file_name, mesh.get()); + if (!obj_status.ok()) + return obj_status; + return std::move(mesh); } if (extension == "ply") { // Wavefront PLY file format. PlyDecoder ply_decoder; if (!ply_decoder.DecodeFromFile(file_name, mesh.get())) - return nullptr; - return mesh; + return Status(Status::ERROR, "Unknown error."); + return std::move(mesh); } // Otherwise not an obj file. Assume the file was encoded with one of the // draco encoding methods. std::ifstream is(file_name.c_str(), std::ios::binary); if (!is) - return nullptr; + return Status(Status::ERROR, "Invalid input stream."); if (!ReadMeshFromStream(&mesh, is).good()) - return nullptr; // Error reading the stream. - return mesh; + return Status(Status::ERROR, + "Unknown error."); // Error reading the stream. + return std::move(mesh); } } // namespace draco diff --git a/src/draco/io/mesh_io.h b/src/draco/io/mesh_io.h index f99afddd..7649a736 100644 --- a/src/draco/io/mesh_io.h +++ b/src/draco/io/mesh_io.h @@ -79,15 +79,15 @@ InStreamT &ReadMeshFromStream(std::unique_ptr *mesh, InStreamT &&is) { // decoder based on the extension of the files. Currently, .obj and .ply files // are supported. Other file extensions are processed by the default // draco::MeshDecoder. -// Returns nullptr if the decoding failed. -std::unique_ptr ReadMeshFromFile(const std::string &file_name); +// Returns nullptr with an error status if the decoding failed. +StatusOr> ReadMeshFromFile(const std::string &file_name); // Reads a mesh from a file. The function does the same thing as the previous // one except using metadata to encode additional information when // |use_metadata| is set to true. -// Returns nullptr if the decoding failed. -std::unique_ptr ReadMeshFromFile(const std::string &file_name, - bool use_metadata); +// Returns nullptr with an error status if the decoding failed. +StatusOr> ReadMeshFromFile(const std::string &file_name, + bool use_metadata); } // namespace draco diff --git a/src/draco/io/obj_decoder.cc b/src/draco/io/obj_decoder.cc index adf3059f..cf9c030b 100644 --- a/src/draco/io/obj_decoder.cc +++ b/src/draco/io/obj_decoder.cc @@ -42,22 +42,23 @@ ObjDecoder::ObjDecoder() out_mesh_(nullptr), out_point_cloud_(nullptr) {} -bool ObjDecoder::DecodeFromFile(const std::string &file_name, Mesh *out_mesh) { +Status ObjDecoder::DecodeFromFile(const std::string &file_name, + Mesh *out_mesh) { out_mesh_ = out_mesh; return DecodeFromFile(file_name, static_cast(out_mesh)); } -bool ObjDecoder::DecodeFromFile(const std::string &file_name, - PointCloud *out_point_cloud) { +Status ObjDecoder::DecodeFromFile(const std::string &file_name, + PointCloud *out_point_cloud) { std::ifstream file(file_name, std::ios::binary); if (!file) - return false; + return Status(Status::IO_ERROR); // Read the whole file into a buffer. int64_t file_size = file.tellg(); file.seekg(0, std::ios::end); file_size = file.tellg() - file_size; if (file_size == 0) - return false; + return Status(Status::IO_ERROR); file.seekg(0, std::ios::beg); std::vector data(file_size); file.read(&data[0], file_size); @@ -68,19 +69,19 @@ bool ObjDecoder::DecodeFromFile(const std::string &file_name, return DecodeInternal(); } -bool ObjDecoder::DecodeFromBuffer(DecoderBuffer *buffer, Mesh *out_mesh) { +Status ObjDecoder::DecodeFromBuffer(DecoderBuffer *buffer, Mesh *out_mesh) { out_mesh_ = out_mesh; return DecodeFromBuffer(buffer, static_cast(out_mesh)); } -bool ObjDecoder::DecodeFromBuffer(DecoderBuffer *buffer, - PointCloud *out_point_cloud) { +Status ObjDecoder::DecodeFromBuffer(DecoderBuffer *buffer, + PointCloud *out_point_cloud) { out_point_cloud_ = out_point_cloud; buffer_.Init(buffer->data_head(), buffer->remaining_size()); return DecodeInternal(); } -bool ObjDecoder::DecodeInternal() { +Status ObjDecoder::DecodeInternal() { // In the first pass, count the number of different elements in the geometry. // In case the desired output is just a point cloud (i.e., when // out_mesh_ == nullptr) the decoder will ignore all information about the @@ -90,13 +91,29 @@ bool ObjDecoder::DecodeInternal() { material_name_to_id_.clear(); last_sub_obj_id_ = 0; // Parse all lines. - bool error = false; - while (ParseDefinition(&error) && !error) { + Status status(Status::OK); + while (ParseDefinition(&status) && status.ok()) { + } + if (!status.ok()) + return status; + bool use_identity_mapping = false; + if (num_obj_faces_ == 0) { + // Mesh has no faces. In this case we try to read the geometry as a point + // cloud where every attribute entry is a point. + + // Ensure the number of all entries is same for all attributes. + if (num_positions_ == 0) + return Status(Status::ERROR, "No position attribute"); + if (num_tex_coords_ > 0 && num_tex_coords_ != num_positions_) + return Status(Status::ERROR, + "Invalid number of texture coordinates for a point cloud"); + if (num_normals_ > 0 && num_normals_ != num_positions_) + return Status(Status::ERROR, + "Invalid number of normals for a point cloud"); + + out_mesh_ = nullptr; // Treat the output geometry as a point cloud. + use_identity_mapping = true; } - if (error) - return false; - if (num_obj_faces_ == 0) - return true; // Point cloud is OK. // Initialize point cloud and mesh properties. if (out_mesh_) { @@ -104,27 +121,35 @@ bool ObjDecoder::DecodeInternal() { // silently ignore all data about the mesh connectivity. out_mesh_->SetNumFaces(num_obj_faces_); } - out_point_cloud_->set_num_points(3 * num_obj_faces_); + if (num_obj_faces_ > 0) { + out_point_cloud_->set_num_points(3 * num_obj_faces_); + } else { + out_point_cloud_->set_num_points(num_positions_); + } + // Add attributes if they are present in the input data. if (num_positions_ > 0) { GeometryAttribute va; va.Init(GeometryAttribute::POSITION, nullptr, 3, DT_FLOAT32, false, sizeof(float) * 3, 0); - pos_att_id_ = out_point_cloud_->AddAttribute(va, false, num_positions_); + pos_att_id_ = out_point_cloud_->AddAttribute(va, use_identity_mapping, + num_positions_); } if (num_tex_coords_ > 0) { GeometryAttribute va; va.Init(GeometryAttribute::TEX_COORD, nullptr, 2, DT_FLOAT32, false, sizeof(float) * 2, 0); - tex_att_id_ = out_point_cloud_->AddAttribute(va, false, num_tex_coords_); + tex_att_id_ = out_point_cloud_->AddAttribute(va, use_identity_mapping, + num_tex_coords_); } if (num_normals_ > 0) { GeometryAttribute va; va.Init(GeometryAttribute::NORMAL, nullptr, 3, DT_FLOAT32, false, sizeof(float) * 3, 0); - norm_att_id_ = out_point_cloud_->AddAttribute(va, false, num_normals_); + norm_att_id_ = + out_point_cloud_->AddAttribute(va, use_identity_mapping, num_normals_); } - if (num_materials_ > 0) { + if (num_materials_ > 0 && num_obj_faces_ > 0) { GeometryAttribute va; if (num_materials_ < 256) { va.Init(GeometryAttribute::GENERIC, nullptr, 1, DT_UINT8, false, 1, 0); @@ -159,7 +184,7 @@ bool ObjDecoder::DecodeInternal() { std::move(material_metadata)); } } - if (!obj_name_to_id_.empty()) { + if (!obj_name_to_id_.empty() && num_obj_faces_ > 0) { GeometryAttribute va; if (obj_name_to_id_.size() < 256) { va.Init(GeometryAttribute::GENERIC, nullptr, 1, DT_UINT8, false, 1, 0); @@ -195,10 +220,10 @@ bool ObjDecoder::DecodeInternal() { ResetCounters(); // Start parsing from the beginning of the buffer again. buffer()->StartDecodingFrom(0); - while (ParseDefinition(&error) && !error) { + while (ParseDefinition(&status) && status.ok()) { } - if (error) - return false; + if (!status.ok()) + return status; if (out_mesh_) { // Add faces with identity mapping between vertex and corner indices. // Duplicate vertices will get removed later. @@ -215,7 +240,7 @@ bool ObjDecoder::DecodeInternal() { } out_point_cloud_->DeduplicatePointIds(); #endif - return true; + return status; } void ObjDecoder::ResetCounters() { @@ -227,7 +252,7 @@ void ObjDecoder::ResetCounters() { last_sub_obj_id_ = 0; } -bool ObjDecoder::ParseDefinition(bool *error) { +bool ObjDecoder::ParseDefinition(Status *status) { char c; parser::SkipWhitespace(buffer()); if (!buffer()->Peek(&c)) { @@ -239,26 +264,26 @@ bool ObjDecoder::ParseDefinition(bool *error) { parser::SkipLine(buffer()); return true; } - if (ParseVertexPosition(error)) + if (ParseVertexPosition(status)) return true; - if (ParseNormal(error)) + if (ParseNormal(status)) return true; - if (ParseTexCoord(error)) + if (ParseTexCoord(status)) return true; - if (ParseFace(error)) + if (ParseFace(status)) return true; - if (ParseMaterial(error)) + if (ParseMaterial(status)) return true; - if (ParseMaterialLib(error)) + if (ParseMaterialLib(status)) return true; - if (ParseObject(error)) + if (ParseObject(status)) return true; // No known definition was found. Ignore the line. parser::SkipLine(buffer()); return true; } -bool ObjDecoder::ParseVertexPosition(bool *error) { +bool ObjDecoder::ParseVertexPosition(Status *status) { std::array c; if (!buffer()->Peek(&c)) { return false; @@ -273,7 +298,7 @@ bool ObjDecoder::ParseVertexPosition(bool *error) { for (int i = 0; i < 3; ++i) { parser::SkipWhitespace(buffer()); if (!parser::ParseFloat(buffer(), val + i)) { - *error = true; + *status = Status(Status::ERROR, "Failed to parse a float number"); // The definition is processed so return true. return true; } @@ -286,7 +311,7 @@ bool ObjDecoder::ParseVertexPosition(bool *error) { return true; } -bool ObjDecoder::ParseNormal(bool *error) { +bool ObjDecoder::ParseNormal(Status *status) { std::array c; if (!buffer()->Peek(&c)) { return false; @@ -301,7 +326,7 @@ bool ObjDecoder::ParseNormal(bool *error) { for (int i = 0; i < 3; ++i) { parser::SkipWhitespace(buffer()); if (!parser::ParseFloat(buffer(), val + i)) { - *error = true; + *status = Status(Status::ERROR, "Failed to parse a float number"); // The definition is processed so return true. return true; } @@ -314,7 +339,7 @@ bool ObjDecoder::ParseNormal(bool *error) { return true; } -bool ObjDecoder::ParseTexCoord(bool *error) { +bool ObjDecoder::ParseTexCoord(Status *status) { std::array c; if (!buffer()->Peek(&c)) { return false; @@ -329,7 +354,7 @@ bool ObjDecoder::ParseTexCoord(bool *error) { for (int i = 0; i < 2; ++i) { parser::SkipWhitespace(buffer()); if (!parser::ParseFloat(buffer(), val + i)) { - *error = true; + *status = Status(Status::ERROR, "Failed to parse a float number"); // The definition is processed so return true. return true; } @@ -342,7 +367,7 @@ bool ObjDecoder::ParseTexCoord(bool *error) { return true; } -bool ObjDecoder::ParseFace(bool *error) { +bool ObjDecoder::ParseFace(Status *status) { char c; if (!buffer()->Peek(&c)) { return false; @@ -360,7 +385,7 @@ bool ObjDecoder::ParseFace(bool *error) { if (i == 3) { break; // It's OK if there is no fourth vertex index. } - *error = true; + *status = Status(Status::ERROR, "Failed to parse vertex indices"); return true; } ++num_valid_indices; @@ -405,7 +430,7 @@ bool ObjDecoder::ParseFace(bool *error) { } } if (num_indices < 3 || num_indices > 4) { - *error = true; + *status = Status(Status::ERROR, "Invalid number of indices on a face"); return false; } // Either one or two new triangles. @@ -415,7 +440,7 @@ bool ObjDecoder::ParseFace(bool *error) { return true; } -bool ObjDecoder::ParseMaterialLib(bool *error) { +bool ObjDecoder::ParseMaterialLib(Status *status) { // Allow only one material library per file for now. if (material_name_to_id_.size() > 0) return false; @@ -430,13 +455,13 @@ bool ObjDecoder::ParseMaterialLib(bool *error) { parser::SkipWhitespace(&line_buffer); material_file_name_.clear(); if (!parser::ParseString(&line_buffer, &material_file_name_)) { - *error = true; + *status = Status(Status::ERROR, "Failed to parse material file name"); return true; } parser::SkipLine(&line_buffer); if (material_file_name_.size() > 0) { - if (!ParseMaterialFile(material_file_name_, error)) { + if (!ParseMaterialFile(material_file_name_, status)) { // Silently ignore problems with material files for now. return true; } @@ -444,7 +469,7 @@ bool ObjDecoder::ParseMaterialLib(bool *error) { return true; } -bool ObjDecoder::ParseMaterial(bool * /* error */) { +bool ObjDecoder::ParseMaterial(Status * /* status */) { // In second pass, skip when we don't use materials. if (!counting_mode_ && material_att_id_ < 0) return false; @@ -473,7 +498,7 @@ bool ObjDecoder::ParseMaterial(bool * /* error */) { return true; } -bool ObjDecoder::ParseObject(bool *error) { +bool ObjDecoder::ParseObject(Status *status) { std::array c; if (!buffer()->Peek(&c)) { return false; @@ -554,32 +579,36 @@ void ObjDecoder::MapPointToVertexIndices( AttributeValueIndex(num_positions_ + indices[0])); } - if (indices[1] > 0) { - out_point_cloud_->attribute(tex_att_id_) - ->SetPointMapEntry(vert_id, AttributeValueIndex(indices[1] - 1)); - } else if (indices[1] < 0) { - out_point_cloud_->attribute(tex_att_id_) - ->SetPointMapEntry(vert_id, - AttributeValueIndex(num_tex_coords_ + indices[1])); - } else if (tex_att_id_ >= 0) { - // Texture index not provided but expected. Insert 0 entry as the - // default value. - out_point_cloud_->attribute(tex_att_id_) - ->SetPointMapEntry(vert_id, AttributeValueIndex(0)); + if (tex_att_id_ >= 0) { + if (indices[1] > 0) { + out_point_cloud_->attribute(tex_att_id_) + ->SetPointMapEntry(vert_id, AttributeValueIndex(indices[1] - 1)); + } else if (indices[1] < 0) { + out_point_cloud_->attribute(tex_att_id_) + ->SetPointMapEntry(vert_id, + AttributeValueIndex(num_tex_coords_ + indices[1])); + } else { + // Texture index not provided but expected. Insert 0 entry as the + // default value. + out_point_cloud_->attribute(tex_att_id_) + ->SetPointMapEntry(vert_id, AttributeValueIndex(0)); + } } - if (indices[2] > 0) { - out_point_cloud_->attribute(norm_att_id_) - ->SetPointMapEntry(vert_id, AttributeValueIndex(indices[2] - 1)); - } else if (indices[2] < 0) { - out_point_cloud_->attribute(norm_att_id_) - ->SetPointMapEntry(vert_id, - AttributeValueIndex(num_normals_ + indices[2])); - } else if (norm_att_id_ >= 0) { - // Normal index not provided but expected. Insert 0 entry as the default - // value. - out_point_cloud_->attribute(norm_att_id_) - ->SetPointMapEntry(vert_id, AttributeValueIndex(0)); + if (norm_att_id_ >= 0) { + if (indices[2] > 0) { + out_point_cloud_->attribute(norm_att_id_) + ->SetPointMapEntry(vert_id, AttributeValueIndex(indices[2] - 1)); + } else if (indices[2] < 0) { + out_point_cloud_->attribute(norm_att_id_) + ->SetPointMapEntry(vert_id, + AttributeValueIndex(num_normals_ + indices[2])); + } else { + // Normal index not provided but expected. Insert 0 entry as the default + // value. + out_point_cloud_->attribute(norm_att_id_) + ->SetPointMapEntry(vert_id, AttributeValueIndex(0)); + } } // Assign material index to the point if it is available. @@ -595,7 +624,8 @@ void ObjDecoder::MapPointToVertexIndices( } } -bool ObjDecoder::ParseMaterialFile(const std::string &file_name, bool *error) { +bool ObjDecoder::ParseMaterialFile(const std::string &file_name, + Status *status) { // Get the correct path to the |file_name| using the folder from // |input_file_name_| as the root folder. const auto pos = input_file_name_.find_last_of("/\\"); @@ -623,7 +653,7 @@ bool ObjDecoder::ParseMaterialFile(const std::string &file_name, bool *error) { buffer_.Init(&data[0], file_size); num_materials_ = 0; - while (ParseMaterialFileDefinition(error)) { + while (ParseMaterialFileDefinition(status)) { } // Restore the original buffer. @@ -631,7 +661,7 @@ bool ObjDecoder::ParseMaterialFile(const std::string &file_name, bool *error) { return true; } -bool ObjDecoder::ParseMaterialFileDefinition(bool * /* error */) { +bool ObjDecoder::ParseMaterialFileDefinition(Status * /* status */) { char c; parser::SkipWhitespace(buffer()); if (!buffer()->Peek(&c)) { diff --git a/src/draco/io/obj_decoder.h b/src/draco/io/obj_decoder.h index 428a0b9f..c6fd233c 100644 --- a/src/draco/io/obj_decoder.h +++ b/src/draco/io/obj_decoder.h @@ -19,6 +19,7 @@ #include #include "draco/core/decoder_buffer.h" +#include "draco/core/status.h" #include "draco/mesh/mesh.h" namespace draco { @@ -33,12 +34,12 @@ class ObjDecoder { // Decodes an obj file stored in the input file. // Returns nullptr if the decoding failed. - bool DecodeFromFile(const std::string &file_name, Mesh *out_mesh); - bool DecodeFromFile(const std::string &file_name, - PointCloud *out_point_cloud); + Status DecodeFromFile(const std::string &file_name, Mesh *out_mesh); + Status DecodeFromFile(const std::string &file_name, + PointCloud *out_point_cloud); - bool DecodeFromBuffer(DecoderBuffer *buffer, Mesh *out_mesh); - bool DecodeFromBuffer(DecoderBuffer *buffer, PointCloud *out_point_cloud); + Status DecodeFromBuffer(DecoderBuffer *buffer, Mesh *out_mesh); + Status DecodeFromBuffer(DecoderBuffer *buffer, PointCloud *out_point_cloud); // Flag that can be used to turn on/off deduplication of input values. // This should be disabled only when we are sure that the input data does not @@ -50,7 +51,7 @@ class ObjDecoder { void set_use_metadata(bool flag) { use_metadata_ = flag; } protected: - bool DecodeInternal(); + Status DecodeInternal(); DecoderBuffer *buffer() { return &buffer_; } private: @@ -60,18 +61,18 @@ class ObjDecoder { // Parses the next mesh property definition (position, tex coord, normal, or // face). If the parsed data is unrecognized, it will be skipped. // Returns false when the end of file was reached. - bool ParseDefinition(bool *error); + bool ParseDefinition(Status *status); // Attempts to parse definition of position, normal, tex coord, or face // respectively. // Returns false when the parsed data didn't contain the given definition. - bool ParseVertexPosition(bool *error); - bool ParseNormal(bool *error); - bool ParseTexCoord(bool *error); - bool ParseFace(bool *error); - bool ParseMaterialLib(bool *error); - bool ParseMaterial(bool *error); - bool ParseObject(bool *error); + bool ParseVertexPosition(Status *status); + bool ParseNormal(Status *status); + bool ParseTexCoord(Status *status); + bool ParseFace(Status *status); + bool ParseMaterialLib(Status *status); + bool ParseMaterial(Status *status); + bool ParseObject(Status *status); // Parses triplet of position, tex coords and normal indices. // Returns false on error. @@ -83,8 +84,8 @@ class ObjDecoder { const std::array &indices); // Parses material file definitions from a separate file. - bool ParseMaterialFile(const std::string &file_name, bool *error); - bool ParseMaterialFileDefinition(bool *error); + bool ParseMaterialFile(const std::string &file_name, Status *status); + bool ParseMaterialFileDefinition(Status *status); // If set to true, the parser will count the number of various definitions // but it will not parse the actual data or add any new entries to the mesh. diff --git a/src/draco/io/obj_decoder_test.cc b/src/draco/io/obj_decoder_test.cc index f9a1b996..3d319a9d 100644 --- a/src/draco/io/obj_decoder_test.cc +++ b/src/draco/io/obj_decoder_test.cc @@ -24,10 +24,17 @@ class ObjDecoderTest : public ::testing::Test { protected: template std::unique_ptr DecodeObj(const std::string &file_name) const { + return DecodeObj(file_name, false); + } + + template + std::unique_ptr DecodeObj(const std::string &file_name, + bool deduplicate_input_values) const { const std::string path = GetTestFileFullPath(file_name); ObjDecoder decoder; + decoder.set_deduplicate_input_values(deduplicate_input_values); std::unique_ptr geometry(new Geometry()); - if (!decoder.DecodeFromFile(path, geometry.get())) + if (!decoder.DecodeFromFile(path, geometry.get()).ok()) return nullptr; return geometry; } @@ -39,7 +46,7 @@ class ObjDecoderTest : public ::testing::Test { ObjDecoder decoder; decoder.set_use_metadata(true); std::unique_ptr geometry(new Geometry()); - if (!decoder.DecodeFromFile(path, geometry.get())) + if (!decoder.DecodeFromFile(path, geometry.get()).ok()) return nullptr; return geometry; } @@ -132,6 +139,28 @@ TEST_F(ObjDecoderTest, EmptyNameOBJ) { ASSERT_EQ(mesh->attribute(0)->size(), 3); } +TEST_F(ObjDecoderTest, PointCloudOBJ) { + // Tests that we load an obj file that does not contain any faces. + const std::string file_name = "test_lines.obj"; + const std::unique_ptr mesh(DecodeObj(file_name, false)); + ASSERT_NE(mesh, nullptr); + ASSERT_EQ(mesh->num_faces(), 0); + ASSERT_EQ(mesh->num_attributes(), 1); + ASSERT_EQ(mesh->attribute(0)->size(), 484); +} + +TEST_F(ObjDecoderTest, WrongAttributeMapping) { + // Tests that we load an obj file that contains invalid mapping between + // attribute indices and values. In such case the invalid indices should be + // ignored. + const std::string file_name = "test_wrong_attribute_mapping.obj"; + const std::unique_ptr mesh(DecodeObj(file_name, false)); + ASSERT_NE(mesh, nullptr); + ASSERT_EQ(mesh->num_faces(), 1); + ASSERT_EQ(mesh->num_attributes(), 1); + ASSERT_EQ(mesh->attribute(0)->size(), 3); +} + TEST_F(ObjDecoderTest, TestObjDecodingAll) { // test if we can read all obj that are currently in test folder. test_decoding("bunny_norm.obj"); diff --git a/src/draco/io/obj_encoder_test.cc b/src/draco/io/obj_encoder_test.cc index 3487a5d6..54fa8f31 100644 --- a/src/draco/io/obj_encoder_test.cc +++ b/src/draco/io/obj_encoder_test.cc @@ -23,17 +23,6 @@ namespace draco { class ObjEncoderTest : public ::testing::Test { protected: - template - std::unique_ptr DecodeFromObjFile(const std::string &file_name) const { - const std::string path = GetTestFileFullPath(file_name); - std::unique_ptr mesh(new Mesh()); - ObjDecoder decoder; - decoder.set_use_metadata(true); - if (!decoder.DecodeFromFile(path, mesh.get())) - return nullptr; - return mesh; - } - void CompareMeshes(const Mesh *mesh0, const Mesh *mesh1) { ASSERT_EQ(mesh0->num_faces(), mesh1->num_faces()); ASSERT_EQ(mesh0->num_attributes(), mesh1->num_attributes()); @@ -55,13 +44,13 @@ class ObjEncoderTest : public ::testing::Test { std::unique_ptr decoded_mesh(new Mesh()); ObjDecoder decoder; decoder.set_use_metadata(true); - if (!decoder.DecodeFromBuffer(&decoder_buffer, decoded_mesh.get())) + if (!decoder.DecodeFromBuffer(&decoder_buffer, decoded_mesh.get()).ok()) return nullptr; return decoded_mesh; } void test_encoding(const std::string &file_name) { - const std::unique_ptr mesh(DecodeFromObjFile(file_name)); + const std::unique_ptr mesh(ReadMeshFromTestFile(file_name, true)); ASSERT_NE(mesh, nullptr) << "Failed to load test model " << file_name; ASSERT_GT(mesh->num_faces(), 0); @@ -74,7 +63,7 @@ class ObjEncoderTest : public ::testing::Test { TEST_F(ObjEncoderTest, HasSubObject) { test_encoding("cube_att_sub_o.obj"); } TEST_F(ObjEncoderTest, HasMaterial) { - const std::unique_ptr mesh0(DecodeFromObjFile("mat_test.obj")); + const std::unique_ptr mesh0(ReadMeshFromTestFile("mat_test.obj", true)); ASSERT_NE(mesh0, nullptr); const std::unique_ptr mesh1 = EncodeAndDecodeMesh(mesh0.get()); ASSERT_NE(mesh1, nullptr); diff --git a/src/draco/io/point_cloud_io.cc b/src/draco/io/point_cloud_io.cc index af57d190..068f7a13 100644 --- a/src/draco/io/point_cloud_io.cc +++ b/src/draco/io/point_cloud_io.cc @@ -22,7 +22,7 @@ namespace draco { -std::unique_ptr ReadPointCloudFromFile( +StatusOr> ReadPointCloudFromFile( const std::string &file_name) { std::unique_ptr pc(new PointCloud()); // Analyze file extension. @@ -32,26 +32,28 @@ std::unique_ptr ReadPointCloudFromFile( if (extension == ".obj") { // Wavefront OBJ file format. ObjDecoder obj_decoder; - if (!obj_decoder.DecodeFromFile(file_name, pc.get())) - return nullptr; - return pc; + const Status obj_status = obj_decoder.DecodeFromFile(file_name, pc.get()); + if (!obj_status.ok()) + return obj_status; + return std::move(pc); } if (extension == ".ply") { // Wavefront PLY file format. PlyDecoder ply_decoder; if (!ply_decoder.DecodeFromFile(file_name, pc.get())) - return nullptr; - return pc; + return Status(Status::ERROR, "Unknown error."); + return std::move(pc); } // Otherwise not an obj file. Assume the file was encoded with one of the // draco encoding methods. std::ifstream is(file_name.c_str(), std::ios::binary); if (!is) - return nullptr; + return Status(Status::ERROR, "Invalid input stream."); if (!ReadPointCloudFromStream(&pc, is).good()) - return nullptr; // Error reading the stream. - return pc; + return Status(Status::ERROR, + "Unknown error."); // Error reading the stream. + return std::move(pc); } } // namespace draco diff --git a/src/draco/io/point_cloud_io.h b/src/draco/io/point_cloud_io.h index 9790907a..4e1eb359 100644 --- a/src/draco/io/point_cloud_io.h +++ b/src/draco/io/point_cloud_io.h @@ -80,8 +80,8 @@ InStreamT &ReadPointCloudFromStream(std::unique_ptr *point_cloud, // correct decoder based on the extension of the files. Currently, .obj and .ply // files are supported. Other file extensions are processed by the default // draco::PointCloudDecoder. -// Returns nullptr if the decoding failed. -std::unique_ptr ReadPointCloudFromFile( +// Returns nullptr with an error status if the decoding failed. +StatusOr> ReadPointCloudFromFile( const std::string &file_name); } // namespace draco diff --git a/src/draco/io/point_cloud_io_test.cc b/src/draco/io/point_cloud_io_test.cc index cedfbc07..73674d06 100644 --- a/src/draco/io/point_cloud_io_test.cc +++ b/src/draco/io/point_cloud_io_test.cc @@ -28,7 +28,7 @@ class IoPointCloudIoTest : public ::testing::Test { int expected_num_attributes, const std::string &file_name) { const std::unique_ptr encoded_pc = - ReadPointCloudFromFile(GetTestFileFullPath(file_name)); + ReadPointCloudFromTestFile(file_name); ASSERT_NE(encoded_pc, nullptr) << "Failed to load test model " << file_name; ASSERT_GE(encoded_pc->num_attributes(), expected_num_attributes) << "Failed to load test model: " << file_name @@ -90,7 +90,7 @@ TEST_F(IoPointCloudIoTest, EncodeKdTreePointCloudTestPosPly) { TEST_F(IoPointCloudIoTest, ObjFileInput) { // Tests whether loading obj point clouds from files works as expected. const std::unique_ptr pc = - ReadPointCloudFromFile(GetTestFileFullPath("test_nm.obj")); + ReadPointCloudFromTestFile("test_nm.obj"); ASSERT_NE(pc, nullptr) << "Failed to load the obj point cloud."; EXPECT_EQ(pc->num_points(), 97) << "Obj point cloud not loaded properly."; } @@ -98,17 +98,17 @@ TEST_F(IoPointCloudIoTest, ObjFileInput) { // Test if we handle wrong input for all file extensions. TEST_F(IoPointCloudIoTest, WrongFileObj) { const std::unique_ptr pc = - ReadPointCloudFromFile(GetTestFileFullPath("wrong_file_name.obj")); + ReadPointCloudFromTestFile("wrong_file_name.obj"); ASSERT_EQ(pc, nullptr); } TEST_F(IoPointCloudIoTest, WrongFilePly) { const std::unique_ptr pc = - ReadPointCloudFromFile(GetTestFileFullPath("wrong_file_name.ply")); + ReadPointCloudFromTestFile("wrong_file_name.ply"); ASSERT_EQ(pc, nullptr); } TEST_F(IoPointCloudIoTest, WrongFile) { const std::unique_ptr pc = - ReadPointCloudFromFile(GetTestFileFullPath("wrong_file_name")); + ReadPointCloudFromTestFile("wrong_file_name"); ASSERT_EQ(pc, nullptr); } diff --git a/src/draco/javascript/emscripten/decoder_webidl_wrapper.cc b/src/draco/javascript/emscripten/decoder_webidl_wrapper.cc index 28c6fcec..26b67294 100644 --- a/src/draco/javascript/emscripten/decoder_webidl_wrapper.cc +++ b/src/draco/javascript/emscripten/decoder_webidl_wrapper.cc @@ -202,9 +202,9 @@ bool Decoder::GetAttributeFloatForAllPoints(const PointCloud &pc, return true; } -bool Decoder::GetAttributeIntForAllPoints(const PointCloud &pc, - const PointAttribute &pa, - DracoInt32Array *out_values) { +bool Decoder::GetAttributeInt32ForAllPoints(const PointCloud &pc, + const PointAttribute &pa, + DracoInt32Array *out_values) { const int components = pa.num_components(); const int num_points = pc.num_points(); const int num_entries = num_points * components; @@ -224,6 +224,12 @@ bool Decoder::GetAttributeIntForAllPoints(const PointCloud &pc, return true; } +bool Decoder::GetAttributeIntForAllPoints(const PointCloud &pc, + const PointAttribute &pa, + DracoInt32Array *out_values) { + return GetAttributeInt32ForAllPoints(pc, pa, out_values); +} + void Decoder::SkipAttributeTransform(draco_GeometryAttribute_Type att_type) { decoder_.SetSkipAttributeTransform(att_type); } diff --git a/src/draco/javascript/emscripten/decoder_webidl_wrapper.h b/src/draco/javascript/emscripten/decoder_webidl_wrapper.h index 78e7a740..69dd3aa4 100644 --- a/src/draco/javascript/emscripten/decoder_webidl_wrapper.h +++ b/src/draco/javascript/emscripten/decoder_webidl_wrapper.h @@ -74,15 +74,15 @@ class DracoInt32Array { public: DracoInt32Array(); - int GetValue(int index) const; + int32_t GetValue(int index) const; bool SetValues(const int *values, int count); - void SetValue(int index, int val) { values_[index] = val; } + void SetValue(int index, int32_t val) { values_[index] = val; } int size() const { return values_.size(); } private: - std::vector values_; + std::vector values_; }; // Class used by emscripten WebIDL Binder [1] to wrap calls to decode Draco @@ -152,6 +152,11 @@ class Decoder { // Returns integer attribute values for all point ids of the point cloud. // I.e., the |out_values| is going to contain m.num_points() entries. + static bool GetAttributeInt32ForAllPoints(const draco::PointCloud &pc, + const draco::PointAttribute &pa, + DracoInt32Array *out_values); + + // Deprecated: Use GetAttributeInt32ForAllPoints() instead. static bool GetAttributeIntForAllPoints(const draco::PointCloud &pc, const draco::PointAttribute &pa, DracoInt32Array *out_values); diff --git a/src/draco/javascript/emscripten/draco_web_decoder.idl b/src/draco/javascript/emscripten/draco_web_decoder.idl index 70324d53..b421c1c6 100644 --- a/src/draco/javascript/emscripten/draco_web_decoder.idl +++ b/src/draco/javascript/emscripten/draco_web_decoder.idl @@ -177,9 +177,13 @@ interface Decoder { boolean GetAttributeFloatForAllPoints([Ref, Const] PointCloud pc, [Ref, Const] PointAttribute pa, DracoFloat32Array out_values); + // Deprecated. boolean GetAttributeIntForAllPoints([Ref, Const] PointCloud pc, [Ref, Const] PointAttribute pa, DracoInt32Array out_values); + boolean GetAttributeInt32ForAllPoints([Ref, Const] PointCloud pc, + [Ref, Const] PointAttribute pa, + DracoInt32Array out_values); void SkipAttributeTransform(draco_GeometryAttribute_Type att_type); }; diff --git a/src/draco/javascript/emscripten/draco_web_encoder.idl b/src/draco/javascript/emscripten/draco_web_encoder.idl index d3ca7d9f..857ffb67 100644 --- a/src/draco/javascript/emscripten/draco_web_encoder.idl +++ b/src/draco/javascript/emscripten/draco_web_encoder.idl @@ -64,15 +64,6 @@ interface Metadata { void Metadata(); }; -// TODO(zhafang): Move DracoTypedArray to be shared between encoder and decoder -// Draco version of typed arrays. The memory of these arrays is allocated on the -// emscripten heap. -interface DracoFloat32Array { - void DracoFloat32Array(); - float GetValue(long index); - long size(); -}; - interface DracoInt8Array { void DracoInt8Array(); long GetValue(long index); @@ -100,6 +91,9 @@ interface MeshBuilder { long AddFloatAttributeToMesh(Mesh mesh, draco_GeometryAttribute_Type type, long num_vertices, long num_components, [Const] float[] att_values); + long AddInt32AttributeToMesh(Mesh mesh, draco_GeometryAttribute_Type type, + long num_vertices, long num_components, + [Const] long[] att_values); boolean SetMetadataForAttribute(Mesh mesh, long attribute_id, [Const] Metadata metadata); boolean AddMetadataToMesh(Mesh mesh, [Const] Metadata metadata); diff --git a/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc b/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc index ef27a442..b5c932fe 100644 --- a/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc +++ b/src/draco/javascript/emscripten/encoder_webidl_wrapper.cc @@ -17,22 +17,9 @@ #include "draco/compression/encode.h" #include "draco/mesh/mesh.h" -DracoFloat32Array::DracoFloat32Array() {} - -float DracoFloat32Array::GetValue(int index) const { return values_[index]; } - -bool DracoFloat32Array::SetValues(const float *values, int count) { - if (values) { - values_.assign(values, values + count); - } else { - values_.resize(count); - } - return true; -} - DracoInt8Array::DracoInt8Array() {} -int DracoInt8Array::GetValue(int index) const { return values_[index]; } +int8_t DracoInt8Array::GetValue(int index) const { return values_[index]; } bool DracoInt8Array::SetValues(const char *values, int count) { values_.assign(values, values + count); @@ -93,26 +80,16 @@ int MeshBuilder::AddFloatAttributeToMesh(Mesh *mesh, draco_GeometryAttribute_Type type, long num_vertices, long num_components, const float *att_values) { - if (!mesh) - return -1; - draco::PointAttribute att; - att.Init(type, NULL, num_components, draco::DT_FLOAT32, - /* normalized */ false, - /* stride */ sizeof(float) * num_components, /* byte_offset */ 0); - const int att_id = - mesh->AddAttribute(att, /* identity_mapping */ true, num_vertices); - draco::PointAttribute *const att_ptr = mesh->attribute(att_id); - - for (draco::PointIndex i(0); i < num_vertices; ++i) { - att_ptr->SetAttributeValue(att_ptr->mapped_index(i), - &att_values[i.value() * num_components]); - } - if (mesh->num_points() == 0) { - mesh->set_num_points(num_vertices); - } else if (mesh->num_points() != num_vertices) { - return -1; - } - return att_id; + return AddAttributeToMesh(mesh, type, num_vertices, num_components, + att_values, draco::DT_FLOAT32); +} + +int MeshBuilder::AddInt32AttributeToMesh(draco::Mesh *mesh, + draco_GeometryAttribute_Type type, + long num_vertices, long num_components, + const int32_t *att_values) { + return AddAttributeToMesh(mesh, type, num_vertices, num_components, + att_values, draco::DT_INT32); } bool MeshBuilder::SetMetadataForAttribute(Mesh *mesh, long attribute_id, diff --git a/src/draco/javascript/emscripten/encoder_webidl_wrapper.h b/src/draco/javascript/emscripten/encoder_webidl_wrapper.h index a296227d..4542cdf0 100644 --- a/src/draco/javascript/emscripten/encoder_webidl_wrapper.h +++ b/src/draco/javascript/emscripten/encoder_webidl_wrapper.h @@ -28,34 +28,16 @@ typedef draco::GeometryAttribute::Type draco_GeometryAttribute_Type; typedef draco::EncodedGeometryType draco_EncodedGeometryType; typedef draco::MeshEncoderMethod draco_MeshEncoderMethod; -class DracoFloat32Array { - public: - DracoFloat32Array(); - float GetValue(int index) const; - - // In case |values| is nullptr, the data is allocated but not initialized. - bool SetValues(const float *values, int count); - - // Directly sets a value for a specific index. The array has to be already - // allocated at this point (using SetValues() method). - void SetValue(int index, float val) { values_[index] = val; } - - size_t size() { return values_.size(); } - - private: - std::vector values_; -}; - class DracoInt8Array { public: DracoInt8Array(); - int GetValue(int index) const; + int8_t GetValue(int index) const; bool SetValues(const char *values, int count); size_t size() { return values_.size(); } private: - std::vector values_; + std::vector values_; }; class MetadataBuilder { @@ -80,9 +62,42 @@ class MeshBuilder { draco_GeometryAttribute_Type type, long num_vertices, long num_components, const float *att_values); + int AddInt32AttributeToMesh(draco::Mesh *mesh, + draco_GeometryAttribute_Type type, + long num_vertices, long num_components, + const int32_t *att_values); bool SetMetadataForAttribute(draco::Mesh *mesh, long attribute_id, const draco::Metadata *metadata); bool AddMetadataToMesh(draco::Mesh *mesh, const draco::Metadata *metadata); + + private: + template + int AddAttributeToMesh(draco::Mesh *mesh, draco_GeometryAttribute_Type type, + long num_vertices, long num_components, + const DataTypeT *att_values, + draco::DataType draco_data_type) { + if (!mesh) + return -1; + draco::PointAttribute att; + att.Init(type, NULL, num_components, draco_data_type, + /* normalized */ false, + /* stride */ sizeof(DataTypeT) * num_components, + /* byte_offset */ 0); + const int att_id = + mesh->AddAttribute(att, /* identity_mapping */ true, num_vertices); + draco::PointAttribute *const att_ptr = mesh->attribute(att_id); + + for (draco::PointIndex i(0); i < num_vertices; ++i) { + att_ptr->SetAttributeValue(att_ptr->mapped_index(i), + &att_values[i.value() * num_components]); + } + if (mesh->num_points() == 0) { + mesh->set_num_points(num_vertices); + } else if (mesh->num_points() != num_vertices) { + return -1; + } + return att_id; + } }; class Encoder { diff --git a/src/draco/mesh/corner_table.cc b/src/draco/mesh/corner_table.cc index 2e97a3e9..29ea7a75 100644 --- a/src/draco/mesh/corner_table.cc +++ b/src/draco/mesh/corner_table.cc @@ -50,13 +50,17 @@ bool CornerTable::Initialize( } bool CornerTable::Reset(int num_faces) { - if (num_faces < 0) + return Reset(num_faces, num_faces * 3); +} + +bool CornerTable::Reset(int num_faces, int num_vertices) { + if (num_faces < 0 || num_vertices < 0) return false; if (num_faces > std::numeric_limits::max() / 3) return false; corner_to_vertex_map_.assign(num_faces * 3, kInvalidVertexIndex); opposite_corners_.assign(num_faces * 3, kInvalidCornerIndex); - vertex_corners_.reserve(num_faces * 3); + vertex_corners_.reserve(num_vertices); return true; } diff --git a/src/draco/mesh/corner_table.h b/src/draco/mesh/corner_table.h index 25202583..d9bdf028 100644 --- a/src/draco/mesh/corner_table.h +++ b/src/draco/mesh/corner_table.h @@ -15,10 +15,11 @@ #ifndef DRACO_MESH_CORNER_TABLE_H_ #define DRACO_MESH_CORNER_TABLE_H_ +#include #include +#include "draco/attributes/geometry_indices.h" #include "draco/core/draco_index_type_vector.h" -#include "draco/mesh/corner_table_indices.h" namespace draco { @@ -48,6 +49,10 @@ namespace draco { // non-manifold edges and vertices are automatically split. class CornerTable { public: + // TODO(hemmer): rename to Face. + // Corner table face type. + typedef std::array FaceType; + CornerTable(); static std::unique_ptr Create( const IndexTypeVector &faces); @@ -60,6 +65,9 @@ class CornerTable { // Resets the corner table to the given number of invalid faces. bool Reset(int num_faces); + // Resets the corner table to the given number of invalid faces and vertices. + bool Reset(int num_faces, int num_vertices); + inline int num_vertices() const { return vertex_corners_.size(); } inline int num_corners() const { return corner_to_vertex_map_.size(); } inline int num_faces() const { return corner_to_vertex_map_.size() / 3; } @@ -222,11 +230,6 @@ class CornerTable { // Updates mapping between a corner and a vertex. inline void MapCornerToVertex(CornerIndex corner_id, VertexIndex vert_id) { corner_to_vertex_map_[corner_id] = vert_id; - if (vert_id >= 0) { - if (vertex_corners_.size() <= static_cast(vert_id.value())) - vertex_corners_.resize(vert_id.value() + 1); - vertex_corners_[vert_id] = corner_id; - } } VertexIndex AddNewVertex() { @@ -477,6 +480,10 @@ class FaceAdjacencyIterator CornerIndex corner_; }; +// A special case to denote an invalid corner table triangle. +static constexpr CornerTable::FaceType kInvalidFace( + {{kInvalidVertexIndex, kInvalidVertexIndex, kInvalidVertexIndex}}); + } // namespace draco #endif // DRACO_MESH_CORNER_TABLE_H_ diff --git a/src/draco/mesh/corner_table_indices.h b/src/draco/mesh/corner_table_indices.h deleted file mode 100644 index 97894fef..00000000 --- a/src/draco/mesh/corner_table_indices.h +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2016 The Draco Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -#ifndef DRACO_MESH_CORNER_TABLE_INDICES_H_ -#define DRACO_MESH_CORNER_TABLE_INDICES_H_ - -#include - -#include "draco/mesh/mesh_indices.h" - -namespace draco { - -// Vertex index in a corner table. -DEFINE_NEW_DRACO_INDEX_TYPE(int32_t, VertexIndex); -// Corner index that identifies each corner of every corner table face. -DEFINE_NEW_DRACO_INDEX_TYPE(int32_t, CornerIndex); - -// Constants denoting invalid indices. -static constexpr VertexIndex kInvalidVertexIndex( - std::numeric_limits::min() / 2); -static constexpr CornerIndex kInvalidCornerIndex( - std::numeric_limits::min() / 2); - -// Corner table face type. -typedef std::array FaceType; - -// A special case to denote an invalid corner table triangle. -static constexpr std::array kInvalidFace( - {{kInvalidVertexIndex, kInvalidVertexIndex, kInvalidVertexIndex}}); - -} // namespace draco - -#endif // DRACO_MESH_CORNER_TABLE_INDICES_H_ diff --git a/src/draco/mesh/edgebreaker_traverser.h b/src/draco/mesh/edgebreaker_traverser.h index 33239683..d11a78db 100644 --- a/src/draco/mesh/edgebreaker_traverser.h +++ b/src/draco/mesh/edgebreaker_traverser.h @@ -146,8 +146,8 @@ class EdgeBreakerTraverser { processor_.MarkFaceVisited(face_id); traversal_observer_.OnNewFaceVisited(face_id); const VertexIndex vert_id = corner_table_->Vertex(corner_id); - const bool on_boundary = corner_table_->IsOnBoundary(vert_id); if (!processor_.IsVertexVisited(vert_id)) { + const bool on_boundary = corner_table_->IsOnBoundary(vert_id); processor_.MarkVertexVisited(vert_id); traversal_observer_.OnNewVertexVisited(vert_id, corner_id); if (!on_boundary) { diff --git a/src/draco/mesh/mesh.h b/src/draco/mesh/mesh.h index 8cae15f1..4698f536 100644 --- a/src/draco/mesh/mesh.h +++ b/src/draco/mesh/mesh.h @@ -17,9 +17,9 @@ #include +#include "draco/attributes/geometry_indices.h" #include "draco/core/hash_utils.h" #include "draco/core/macros.h" -#include "draco/mesh/mesh_indices.h" #include "draco/point_cloud/point_cloud.h" namespace draco { @@ -87,6 +87,18 @@ class Mesh : public PointCloud { attribute_data_[att_id].element_type = et; } + // Returns the point id of for a corner |ci|. + inline PointIndex CornerToPointId(int ci) const { + if (ci == kInvalidCornerIndex.value()) + return kInvalidPointIndex; + return this->face(FaceIndex(ci / 3))[ci % 3]; + } + + // Returns the point id of a corner |ci|. + inline PointIndex CornerToPointId(CornerIndex ci) const { + return this->CornerToPointId(ci.value()); + } + struct AttributeData { AttributeData() : element_type(MESH_CORNER_ATTRIBUTE) {} MeshAttributeElementType element_type; diff --git a/src/draco/mesh/mesh_are_equivalent_test.cc b/src/draco/mesh/mesh_are_equivalent_test.cc index dd303d56..ff633bc7 100644 --- a/src/draco/mesh/mesh_are_equivalent_test.cc +++ b/src/draco/mesh/mesh_are_equivalent_test.cc @@ -24,21 +24,11 @@ namespace draco { -class MeshAreEquivalentTest : public ::testing::Test { - protected: - std::unique_ptr DecodeObj(const std::string &file_name) const { - const std::string path = GetTestFileFullPath(file_name); - std::unique_ptr mesh(new Mesh()); - ObjDecoder decoder; - if (!decoder.DecodeFromFile(path, mesh.get())) - return nullptr; - return mesh; - } -}; +class MeshAreEquivalentTest : public ::testing::Test {}; TEST_F(MeshAreEquivalentTest, TestOnIndenticalMesh) { const std::string file_name = "test_nm.obj"; - const std::unique_ptr mesh(DecodeObj(file_name)); + const std::unique_ptr mesh(ReadMeshFromTestFile(file_name)); ASSERT_NE(mesh, nullptr) << "Failed to load test model." << file_name; MeshAreEquivalent equiv; ASSERT_TRUE(equiv(*mesh, *mesh)); @@ -48,9 +38,9 @@ TEST_F(MeshAreEquivalentTest, TestPermutedOneFace) { const std::string file_name_0 = "one_face_123.obj"; const std::string file_name_1 = "one_face_312.obj"; const std::string file_name_2 = "one_face_321.obj"; - const std::unique_ptr mesh_0(DecodeObj(file_name_0)); - const std::unique_ptr mesh_1(DecodeObj(file_name_1)); - const std::unique_ptr mesh_2(DecodeObj(file_name_2)); + const std::unique_ptr mesh_0(ReadMeshFromTestFile(file_name_0)); + const std::unique_ptr mesh_1(ReadMeshFromTestFile(file_name_1)); + const std::unique_ptr mesh_2(ReadMeshFromTestFile(file_name_2)); ASSERT_NE(mesh_0, nullptr) << "Failed to load test model." << file_name_0; ASSERT_NE(mesh_1, nullptr) << "Failed to load test model." << file_name_1; ASSERT_NE(mesh_2, nullptr) << "Failed to load test model." << file_name_2; @@ -63,8 +53,8 @@ TEST_F(MeshAreEquivalentTest, TestPermutedOneFace) { TEST_F(MeshAreEquivalentTest, TestPermutedTwoFaces) { const std::string file_name_0 = "two_faces_123.obj"; const std::string file_name_1 = "two_faces_312.obj"; - const std::unique_ptr mesh_0(DecodeObj(file_name_0)); - const std::unique_ptr mesh_1(DecodeObj(file_name_1)); + const std::unique_ptr mesh_0(ReadMeshFromTestFile(file_name_0)); + const std::unique_ptr mesh_1(ReadMeshFromTestFile(file_name_1)); ASSERT_NE(mesh_0, nullptr) << "Failed to load test model." << file_name_0; ASSERT_NE(mesh_1, nullptr) << "Failed to load test model." << file_name_1; MeshAreEquivalent equiv; @@ -77,8 +67,8 @@ TEST_F(MeshAreEquivalentTest, TestPermutedTwoFaces) { TEST_F(MeshAreEquivalentTest, TestPermutedThreeFaces) { const std::string file_name_0 = "three_faces_123.obj"; const std::string file_name_1 = "three_faces_312.obj"; - const std::unique_ptr mesh_0(DecodeObj(file_name_0)); - const std::unique_ptr mesh_1(DecodeObj(file_name_1)); + const std::unique_ptr mesh_0(ReadMeshFromTestFile(file_name_0)); + const std::unique_ptr mesh_1(ReadMeshFromTestFile(file_name_1)); ASSERT_NE(mesh_0, nullptr) << "Failed to load test model." << file_name_0; ASSERT_NE(mesh_1, nullptr) << "Failed to load test model." << file_name_1; MeshAreEquivalent equiv; @@ -91,7 +81,7 @@ TEST_F(MeshAreEquivalentTest, TestPermutedThreeFaces) { // to the order of faces and vertices. TEST_F(MeshAreEquivalentTest, TestOnBigMesh) { const std::string file_name = "test_nm.obj"; - const std::unique_ptr mesh0(DecodeObj(file_name)); + const std::unique_ptr mesh0(ReadMeshFromTestFile(file_name)); ASSERT_NE(mesh0, nullptr) << "Failed to load test model." << file_name; std::unique_ptr mesh1; diff --git a/src/draco/mesh/mesh_attribute_corner_table.cc b/src/draco/mesh/mesh_attribute_corner_table.cc index 2bd2aa5f..ea774a90 100644 --- a/src/draco/mesh/mesh_attribute_corner_table.cc +++ b/src/draco/mesh/mesh_attribute_corner_table.cc @@ -68,9 +68,9 @@ bool MeshAttributeCornerTable::InitFromAttribute(const Mesh *mesh, // vertex but divided by the seam edge. act_c = corner_table_->Next(act_c); act_sibling_c = corner_table_->Previous(act_sibling_c); - const PointIndex point_id = CornerToPointId(act_c.value(), mesh); + const PointIndex point_id = mesh->CornerToPointId(act_c.value()); const PointIndex sibling_point_id = - CornerToPointId(act_sibling_c.value(), mesh); + mesh->CornerToPointId(act_sibling_c.value()); if (att->mapped_index(point_id) != att->mapped_index(sibling_point_id)) { no_interior_seams_ = false; is_edge_on_seam_[c] = true; @@ -135,7 +135,7 @@ void MeshAttributeCornerTable::RecomputeVerticesInternal( continue; // Isolated vertex? AttributeValueIndex first_vert_id(num_new_vertices++); if (init_vertex_to_attribute_entry_map) { - const PointIndex point_id = CornerToPointId(c.value(), mesh); + const PointIndex point_id = mesh->CornerToPointId(c.value()); vertex_to_attribute_entry_id_map_.push_back(att->mapped_index(point_id)); } else { // Identity mapping @@ -161,7 +161,7 @@ void MeshAttributeCornerTable::RecomputeVerticesInternal( if (IsCornerOppositeToSeamEdge(corner_table_->Next(act_c))) { first_vert_id = AttributeValueIndex(num_new_vertices++); if (init_vertex_to_attribute_entry_map) { - const PointIndex point_id = CornerToPointId(act_c.value(), mesh); + const PointIndex point_id = mesh->CornerToPointId(act_c.value()); vertex_to_attribute_entry_id_map_.push_back( att->mapped_index(point_id)); } else { diff --git a/src/draco/mesh/mesh_indices.h b/src/draco/mesh/mesh_indices.h deleted file mode 100644 index 86290a40..00000000 --- a/src/draco/mesh/mesh_indices.h +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2016 The Draco Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -#ifndef DRACO_MESH_MESH_INDICES_H_ -#define DRACO_MESH_MESH_INDICES_H_ - -#include "draco/attributes/geometry_indices.h" - -namespace draco { - -// Face index used in a corner table. -DEFINE_NEW_DRACO_INDEX_TYPE(int32_t, FaceIndex); - -// Constants denoting invalid indices. -static constexpr FaceIndex kInvalidFaceIndex( - std::numeric_limits::min() / 2); - -} // namespace draco - -#endif // DRACO_MESH_MESH_INDICES_H_ diff --git a/src/draco/mesh/mesh_misc_functions.cc b/src/draco/mesh/mesh_misc_functions.cc index 74f95a3c..b55527aa 100644 --- a/src/draco/mesh/mesh_misc_functions.cc +++ b/src/draco/mesh/mesh_misc_functions.cc @@ -16,8 +16,9 @@ namespace draco { -std::unique_ptr CreateCornerTable(const Mesh *mesh) { - typedef CornerTable CT; +std::unique_ptr CreateCornerTableFromPositionAttribute( + const Mesh *mesh) { + typedef CornerTable::FaceType FaceType; const PointAttribute *const att = mesh->GetNamedAttribute(GeometryAttribute::POSITION); @@ -34,11 +35,12 @@ std::unique_ptr CreateCornerTable(const Mesh *mesh) { faces[FaceIndex(i)] = new_face; } // Build the corner table. - return CT::Create(faces); + return CornerTable::Create(faces); } std::unique_ptr CreateCornerTableFromAllAttributes( const Mesh *mesh) { + typedef CornerTable::FaceType FaceType; IndexTypeVector faces(mesh->num_faces()); FaceType new_face; for (FaceIndex i(0); i < mesh->num_faces(); ++i) { @@ -53,21 +55,4 @@ std::unique_ptr CreateCornerTableFromAllAttributes( // Build the corner table. return CornerTable::Create(faces); } - -PointIndex CornerToPointId(CornerIndex ci, const CornerTable *ct, - const Mesh *mesh) { - if (!ct->IsValid(ci)) - return kInvalidPointIndex; - - // Get Face index and local corner index for corner. - const FaceIndex fi = ct->Face(ci); - const int lci = ct->LocalIndex(ci); - // Get the point id. - return mesh->face(fi)[lci]; -} - -PointIndex CornerToPointId(int c, const CornerTable *ct, const Mesh *mesh) { - return CornerToPointId(CornerIndex(c), ct, mesh); -} - } // namespace draco diff --git a/src/draco/mesh/mesh_misc_functions.h b/src/draco/mesh/mesh_misc_functions.h index 41847675..bea02cde 100644 --- a/src/draco/mesh/mesh_misc_functions.h +++ b/src/draco/mesh/mesh_misc_functions.h @@ -22,36 +22,18 @@ #include "draco/mesh/mesh.h" // The file contains functions that use both Mesh and CornerTable as inputs. -// TODO(hemmer): We should consider moving the functionality to CornerTable. - namespace draco { // Creates a CornerTable from the position attribute of |mesh|. Returns nullptr // on error. -std::unique_ptr CreateCornerTable(const Mesh *mesh); +std::unique_ptr CreateCornerTableFromPositionAttribute( + const Mesh *mesh); // Creates a CornerTable from all attributes of |mesh|. Boundaries are // automatically introduced on all attribute seams. Returns nullptr on error. std::unique_ptr CreateCornerTableFromAllAttributes( const Mesh *mesh); -// Returns the point id stored on corner |ci|. -PointIndex CornerToPointId(CornerIndex ci, const CornerTable *ct, - const Mesh *mesh); - -// Returns the point id stored on corner |c|. -PointIndex CornerToPointId(int c, const CornerTable *ct, const Mesh *mesh); - -// Returns the point id of |c| without using a corner table. -inline PointIndex CornerToPointId(int c, const Mesh *mesh) { - return mesh->face(FaceIndex(c / 3))[c % 3]; -} - -// Returns the point id of |c| without using a corner table. -inline PointIndex CornerToPointId(CornerIndex c, const Mesh *mesh) { - return CornerToPointId(c.value(), mesh); -} - // Returns true when the given corner lies opposite to an attribute seam. inline bool IsCornerOppositeToAttributeSeam(CornerIndex ci, const PointAttribute &att, @@ -63,13 +45,13 @@ inline bool IsCornerOppositeToAttributeSeam(CornerIndex ci, // Compare attribute value indices on both ends of the opposite edge. CornerIndex c0 = ct.Next(ci); CornerIndex c1 = ct.Previous(opp_ci); - if (att.mapped_index(CornerToPointId(c0, &mesh)) != - att.mapped_index(CornerToPointId(c1, &mesh))) + if (att.mapped_index(mesh.CornerToPointId(c0)) != + att.mapped_index(mesh.CornerToPointId(c1))) return true; c0 = ct.Previous(ci); c1 = ct.Next(opp_ci); - if (att.mapped_index(CornerToPointId(c0, &mesh)) != - att.mapped_index(CornerToPointId(c1, &mesh))) + if (att.mapped_index(mesh.CornerToPointId(c0)) != + att.mapped_index(mesh.CornerToPointId(c1))) return true; return false; } diff --git a/src/draco/mesh/mesh_stripifier.h b/src/draco/mesh/mesh_stripifier.h index 8d25408a..7114c2d9 100644 --- a/src/draco/mesh/mesh_stripifier.h +++ b/src/draco/mesh/mesh_stripifier.h @@ -73,7 +73,7 @@ class MeshStripifier { num_encoded_faces_ = 0; // TODO(ostava): We may be able to avoid computing the corner table if we // already have it stored somewhere. - corner_table_ = CreateCornerTable(mesh_); + corner_table_ = CreateCornerTableFromPositionAttribute(mesh_); if (corner_table_ == nullptr) return false; @@ -137,7 +137,7 @@ class MeshStripifier { } PointIndex CornerToPointIndex(CornerIndex ci) const { - return CornerToPointId(ci, corner_table_.get(), mesh_); + return mesh_->CornerToPointId(ci); } // Returns the opposite corner in case the opposite triangle does not lie diff --git a/src/draco/tools/draco_encoder.cc b/src/draco/tools/draco_encoder.cc index 62e2b28e..bf414cd2 100644 --- a/src/draco/tools/draco_encoder.cc +++ b/src/draco/tools/draco_encoder.cc @@ -264,20 +264,23 @@ int main(int argc, char **argv) { std::unique_ptr pc; draco::Mesh *mesh = nullptr; if (!options.is_point_cloud) { - std::unique_ptr in_mesh = + auto maybe_mesh = draco::ReadMeshFromFile(options.input, options.use_metadata); - if (!in_mesh) { - printf("Failed loading the input mesh.\n"); + if (!maybe_mesh.ok()) { + printf("Failed loading the input mesh: %s.\n", + maybe_mesh.status().error_msg()); return -1; } - mesh = in_mesh.get(); - pc = std::move(in_mesh); + mesh = maybe_mesh.value().get(); + pc = std::move(maybe_mesh).value(); } else { - pc = draco::ReadPointCloudFromFile(options.input); - if (!pc) { - printf("Failed loading the input point cloud.\n"); + auto maybe_pc = draco::ReadPointCloudFromFile(options.input); + if (!maybe_pc.ok()) { + printf("Failed loading the input point cloud: %s.\n", + maybe_pc.status().error_msg()); return -1; } + pc = std::move(maybe_pc).value(); } if (options.pos_quantization_bits < 0) { diff --git a/src/draco/unity/draco_unity_plugin.cc b/src/draco/unity/draco_unity_plugin.cc new file mode 100644 index 00000000..00f881dc --- /dev/null +++ b/src/draco/unity/draco_unity_plugin.cc @@ -0,0 +1,74 @@ +// Copyright 2017 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#include "draco/unity/draco_unity_plugin.h" + +#ifdef BUILD_UNITY_PLUGIN + +namespace draco { + +int DecodeMeshForUnity(char *data, unsigned int length, + DracoToUnityMesh **tmp_mesh) { + draco::DecoderBuffer buffer; + buffer.Init(data, length); + auto type_statusor = draco::Decoder::GetEncodedGeometryType(&buffer); + if (!type_statusor.ok()) { + // TODO(zhafang): Use enum instead. + return -1; + } + const draco::EncodedGeometryType geom_type = type_statusor.value(); + if (geom_type != draco::TRIANGULAR_MESH) { + return -2; + } + + draco::Decoder decoder; + auto statusor = decoder.DecodeMeshFromBuffer(&buffer); + if (!statusor.ok()) { + return -3; + } + std::unique_ptr in_mesh = std::move(statusor).value(); + + *tmp_mesh = new DracoToUnityMesh(); + DracoToUnityMesh *unity_mesh = *tmp_mesh; + unity_mesh->num_faces = in_mesh->num_faces(); + unity_mesh->num_vertices = in_mesh->num_points(); + + unity_mesh->indices = new int[in_mesh->num_faces() * 3]; + for (draco::FaceIndex face_id(0); face_id < in_mesh->num_faces(); ++face_id) { + const Mesh::Face &face = in_mesh->face(draco::FaceIndex(face_id)); + memcpy(unity_mesh->indices + face_id.value() * 3, + reinterpret_cast(face.data()), sizeof(int) * 3); + } + + // TODO(zhafang): Add other attributes. + unity_mesh->position = new float[in_mesh->num_points() * 3]; + const auto pos_att = + in_mesh->GetNamedAttribute(draco::GeometryAttribute::POSITION); + for (draco::PointIndex i(0); i < in_mesh->num_points(); ++i) { + const draco::AttributeValueIndex val_index = pos_att->mapped_index(i); + if (!pos_att->ConvertValue( + val_index, unity_mesh->position + i.value() * 3)) { + delete[] unity_mesh->indices; + delete[] unity_mesh->position; + delete unity_mesh; + return -8; + } + } + + return in_mesh->num_faces(); +} + +} // namespace draco + +#endif // BUILD_UNITY_PLUGIN diff --git a/src/draco/unity/draco_unity_plugin.h b/src/draco/unity/draco_unity_plugin.h new file mode 100644 index 00000000..ba50ce03 --- /dev/null +++ b/src/draco/unity/draco_unity_plugin.h @@ -0,0 +1,65 @@ +// Copyright 2017 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#ifndef DRACO_UNITY_DRACO_UNITY_PLUGIN_H_ +#define DRACO_UNITY_DRACO_UNITY_PLUGIN_H_ + +#include "draco/compression/config/compression_shared.h" +#include "draco/compression/decode.h" + +#ifdef BUILD_UNITY_PLUGIN + +// If compiling with Visual Studio. +#if defined(_MSC_VER) +#define EXPORT_API __declspec(dllexport) +#else +// Other platforms don't need this. +#define EXPORT_API +#endif // defined(_MSC_VER) + +namespace draco { + +extern "C" { +struct EXPORT_API DracoToUnityMesh { + DracoToUnityMesh() + : num_faces(0), + indices(nullptr), + num_vertices(0), + position(nullptr), + normal(nullptr), + texcoord(nullptr), + color(nullptr) {} + + int num_faces; + int *indices; + int num_vertices; + + float *position; + float *normal; + float *texcoord; + float *color; +}; + +/* To use this function, you do not allocate memory for |tmp_mesh|, just + * define and pass a null pointer. Otherwise there will be memory leak. + */ +int EXPORT_API DecodeMeshForUnity(char *data, unsigned int length, + DracoToUnityMesh **tmp_mesh); +} // extern "C" + +} // namespace draco + +#endif // BUILD_UNITY_PLUGIN + +#endif // DRACO_UNITY_DRACO_UNITY_PLUGIN_H_ diff --git a/src/draco/unity/draco_unity_plugin_test.cc b/src/draco/unity/draco_unity_plugin_test.cc new file mode 100644 index 00000000..edd1a0a8 --- /dev/null +++ b/src/draco/unity/draco_unity_plugin_test.cc @@ -0,0 +1,82 @@ +// Copyright 2017 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +#include "third_party/draco/src/draco/unity/draco_unity_plugin.h" + +#include +#include +#include +#include + +#include "draco/core/draco_test_base.h" +#include "draco/core/draco_test_utils.h" + +namespace { + +class DracoUnityPluginTest : public ::testing::Test { + protected: + DracoUnityPluginTest() : unity_mesh_(nullptr) {} + + void TestDecodingToDracoUnityMesh(const std::string &file_name, + int expected_num_faces, + int expected_num_vertices) { + // Tests that decoders can successfully skip attribute transform. + std::ifstream input_file(draco::GetTestFileFullPath(file_name), + std::ios::binary); + ASSERT_TRUE(input_file); + + // Read the file stream into a buffer. + std::streampos file_size = 0; + input_file.seekg(0, std::ios::end); + file_size = input_file.tellg() - file_size; + input_file.seekg(0, std::ios::beg); + std::vector data(file_size); + input_file.read(data.data(), file_size); + + ASSERT_FALSE(data.empty()); + + const int num_faces = + draco::DecodeMeshForUnity(data.data(), data.size(), &unity_mesh_); + + ASSERT_EQ(num_faces, expected_num_faces); + ASSERT_EQ(unity_mesh_->num_faces, expected_num_faces); + ASSERT_EQ(unity_mesh_->num_vertices, expected_num_vertices); + + DestroyUnityMesh(); + } + + // TODO(zhafang): Consider move to draco_unity_plugin.h. + void DestroyUnityMesh() { + if (unity_mesh_ != nullptr) { + if (unity_mesh_->indices != nullptr) { + delete[] unity_mesh_->indices; + unity_mesh_->indices = nullptr; + } + if (unity_mesh_->position != nullptr) { + delete[] unity_mesh_->position; + unity_mesh_->position = nullptr; + } + } + delete unity_mesh_; + unity_mesh_ = nullptr; + } + + draco::DracoToUnityMesh *unity_mesh_; +}; + +TEST_F(DracoUnityPluginTest, TestDecodingToDracoUnityMesh) { + TestDecodingToDracoUnityMesh("test_nm.obj.edgebreaker.1.0.0.drc", 170, 99); +} + +} // namespace diff --git a/testdata/test_lines.obj b/testdata/test_lines.obj new file mode 100644 index 00000000..2a34b449 --- /dev/null +++ b/testdata/test_lines.obj @@ -0,0 +1,727 @@ +o cinenv_ground.001_cinenv_ground.005 +v 8.108999252319336 0.08423099666833878 3.8017868995666504 +v 8.063356399536133 0.08423099666833878 3.8017868995666504 +v 8.063356399536133 0.0021569998934865 3.8017868995666504 +v 8.108999252319336 0.08423099666833878 3.8017868995666504 +v 8.063356399536133 0.0021569998934865 3.8017868995666504 +v 8.108999252319336 0.0021569998934865 3.8017868995666504 +v 7.513733863830566 0.00647599995136261 0.7569500207901001 +v 13.33121109008789 0.00647599995136261 0.7569500207901001 +v 13.33121109008789 0.006477000191807747 0.24776600301265717 +v 7.513733863830566 0.00647599995136261 0.7569500207901001 +v 13.33121109008789 0.006477000191807747 0.24776600301265717 +v 7.513733863830566 0.006477000191807747 0.24776600301265717 +v 13.822495460510254 0.0063760001212358475 0.7422450184822083 +v 14.025032043457031 0.0063760001212358475 0.7422450184822083 +v 14.025032043457031 0.0063760001212358475 0.24776600301265717 +v 13.822495460510254 0.0063760001212358475 0.7422450184822083 +v 14.025032043457031 0.0063760001212358475 0.24776600301265717 +v 13.822495460510254 0.0063760001212358475 0.24776600301265717 +v 14.025032043457031 0.0063749998807907104 5.408486843109131 +v 14.025032043457031 0.0063760001212358475 0.7422450184822083 +v 13.822495460510254 0.0063760001212358475 0.7422450184822083 +v 14.025032043457031 0.0063749998807907104 5.408486843109131 +v 13.822495460510254 0.0063760001212358475 0.7422450184822083 +v 13.822495460510254 0.0063749998807907104 5.408487796783447 +v 13.329778671264648 0.0027759999502450228 5.4179301261901855 +v 13.822492599487305 0.0027759999502450228 5.4179301261901855 +v 13.822492599487305 0.0027759999502450228 0.24776600301265717 +v 13.329778671264648 0.0027759999502450228 5.4179301261901855 +v 13.822492599487305 0.0027759999502450228 0.24776600301265717 +v 13.329778671264648 0.0027759999502450228 0.24776600301265717 +v 9.434063911437988 0.0034910000395029783 2.5119950771331787 +v 12.270297050476074 0.0034910000395029783 2.5119950771331787 +v 12.270297050476074 0.0034910000395029783 0.779774010181427 +v 9.434063911437988 0.0034910000395029783 2.5119950771331787 +v 12.270297050476074 0.0034910000395029783 0.779774010181427 +v 9.434063911437988 0.0034910000395029783 0.779774010181427 +v 9.434063911437988 0.0034910000395029783 2.5119950771331787 +v 9.434063911437988 0.0034910000395029783 0.779774010181427 +v 9.434063911437988 0.002392000053077936 0.779774010181427 +v 9.434063911437988 0.0034910000395029783 2.5119950771331787 +v 9.434063911437988 0.002392000053077936 0.779774010181427 +v 9.434063911437988 0.002391000045463443 2.5119950771331787 +v 12.270297050476074 0.0034910000395029783 0.779774010181427 +v 12.270297050476074 0.0034910000395029783 2.5119950771331787 +v 12.270297050476074 0.002391000045463443 2.5119950771331787 +v 12.270297050476074 0.0034910000395029783 0.779774010181427 +v 12.270297050476074 0.002391000045463443 2.5119950771331787 +v 12.270297050476074 0.002392000053077936 0.779774010181427 +v 12.270297050476074 0.0034910000395029783 2.5119950771331787 +v 9.434063911437988 0.0034910000395029783 2.5119950771331787 +v 9.434063911437988 0.002391000045463443 2.5119950771331787 +v 12.270297050476074 0.0034910000395029783 2.5119950771331787 +v 9.434063911437988 0.002391000045463443 2.5119950771331787 +v 12.270297050476074 0.002391000045463443 2.5119950771331787 +v 9.434063911437988 0.0034910000395029783 0.779774010181427 +v 12.270297050476074 0.0034910000395029783 0.779774010181427 +v 12.270297050476074 0.002392000053077936 0.779774010181427 +v 9.434063911437988 0.0034910000395029783 0.779774010181427 +v 12.270297050476074 0.002392000053077936 0.779774010181427 +v 9.434063911437988 0.002392000053077936 0.779774010181427 +v 7.5083818435668945 0.0027759999502450228 5.433700084686279 +v 13.331209182739258 0.0027759999502450228 5.433700084686279 +v 13.331209182739258 0.0027759999502450228 0.7422450184822083 +v 7.5083818435668945 0.0027759999502450228 5.433700084686279 +v 13.331209182739258 0.0027759999502450228 0.7422450184822083 +v 7.5083818435668945 0.0027759999502450228 0.7422450184822083 +v 10.114896774291992 0.0045739999040961266 4.214410781860352 +v 10.114896774291992 0.0028540000785142183 4.214410781860352 +v 10.114896774291992 0.0028540000785142183 4.548134803771973 +v 10.114896774291992 0.0045739999040961266 4.214410781860352 +v 10.114896774291992 0.0028540000785142183 4.548134803771973 +v 10.114896774291992 0.0045739999040961266 4.548134803771973 +v 13.021791458129883 0.0028540000785142183 4.214410781860352 +v 13.021791458129883 0.0045739999040961266 4.214410781860352 +v 13.021791458129883 0.0045739999040961266 4.548134803771973 +v 13.021791458129883 0.0028540000785142183 4.214410781860352 +v 13.021791458129883 0.0045739999040961266 4.548134803771973 +v 13.021791458129883 0.0028540000785142183 4.548134803771973 +v 11.776677131652832 0.0045739999040961266 3.2132439613342285 +v 11.776677131652832 0.0028540000785142183 3.2132439613342285 +v 11.363393783569336 0.0028540000785142183 3.2132439613342285 +v 11.776677131652832 0.0045739999040961266 3.2132439613342285 +v 11.363393783569336 0.0028540000785142183 3.2132439613342285 +v 11.363393783569336 0.0045739999040961266 3.2132439613342285 +v 11.776678085327148 0.0045739999040961266 4.214410781860352 +v 11.776678085327148 0.0045739999040961266 3.8806889057159424 +v 11.363393783569336 0.0045739999040961266 3.8806889057159424 +v 11.776678085327148 0.0045739999040961266 4.214410781860352 +v 11.363393783569336 0.0045739999040961266 3.8806889057159424 +v 11.363393783569336 0.0045739999040961266 4.214410781860352 +v 11.776678085327148 0.0028540000785142183 5.215579032897949 +v 11.776678085327148 0.0045739999040961266 5.215579032897949 +v 11.363393783569336 0.0045739999040961266 5.215579032897949 +v 11.776678085327148 0.0028540000785142183 5.215579032897949 +v 11.363393783569336 0.0045739999040961266 5.215579032897949 +v 11.363393783569336 0.0028540000785142183 5.215579032897949 +v 10.114896774291992 0.0045739999040961266 3.2132439613342285 +v 10.114896774291992 0.0028540000785142183 3.2132439613342285 +v 10.114896774291992 0.0028540000785142183 3.546967029571533 +v 10.114896774291992 0.0045739999040961266 3.2132439613342285 +v 10.114896774291992 0.0028540000785142183 3.546967029571533 +v 10.114896774291992 0.0045739999040961266 3.546967029571533 +v 10.114896774291992 0.0045739999040961266 3.546967029571533 +v 10.114896774291992 0.0028540000785142183 3.546967029571533 +v 10.114896774291992 0.0028540000785142183 3.8806889057159424 +v 10.114896774291992 0.0045739999040961266 3.546967029571533 +v 10.114896774291992 0.0028540000785142183 3.8806889057159424 +v 10.114896774291992 0.0045739999040961266 3.8806889057159424 +v 10.114896774291992 0.0045739999040961266 3.8806889057159424 +v 10.114896774291992 0.0028540000785142183 3.8806889057159424 +v 10.114896774291992 0.0028540000785142183 4.214410781860352 +v 10.114896774291992 0.0045739999040961266 3.8806889057159424 +v 10.114896774291992 0.0028540000785142183 4.214410781860352 +v 10.114896774291992 0.0045739999040961266 4.214410781860352 +v 10.114896774291992 0.0028540000785142183 5.215579032897949 +v 10.114896774291992 0.0045739999040961266 5.215579032897949 +v 10.114896774291992 0.0045739999040961266 4.881856918334961 +v 10.114896774291992 0.0028540000785142183 5.215579032897949 +v 10.114896774291992 0.0045739999040961266 4.881856918334961 +v 10.114896774291992 0.0028540000785142183 4.881856918334961 +v 10.114896774291992 0.0028540000785142183 4.881856918334961 +v 10.114896774291992 0.0045739999040961266 4.881856918334961 +v 10.114896774291992 0.0045739999040961266 4.548134803771973 +v 10.114896774291992 0.0028540000785142183 4.881856918334961 +v 10.114896774291992 0.0045739999040961266 4.548134803771973 +v 10.114896774291992 0.0028540000785142183 4.548134803771973 +v 13.021791458129883 0.0028540000785142183 3.2132439613342285 +v 13.021791458129883 0.0045739999040961266 3.2132439613342285 +v 13.021791458129883 0.0045739999040961266 3.546967029571533 +v 13.021791458129883 0.0028540000785142183 3.2132439613342285 +v 13.021791458129883 0.0045739999040961266 3.546967029571533 +v 13.021791458129883 0.0028540000785142183 3.546967029571533 +v 13.021791458129883 0.0028540000785142183 3.546967029571533 +v 13.021791458129883 0.0045739999040961266 3.546967029571533 +v 13.021791458129883 0.0045739999040961266 3.8806889057159424 +v 13.021791458129883 0.0028540000785142183 3.546967029571533 +v 13.021791458129883 0.0045739999040961266 3.8806889057159424 +v 13.021791458129883 0.0028540000785142183 3.8806889057159424 +v 13.021791458129883 0.0028540000785142183 3.8806889057159424 +v 13.021791458129883 0.0045739999040961266 3.8806889057159424 +v 13.021791458129883 0.0045739999040961266 4.214410781860352 +v 13.021791458129883 0.0028540000785142183 3.8806889057159424 +v 13.021791458129883 0.0045739999040961266 4.214410781860352 +v 13.021791458129883 0.0028540000785142183 4.214410781860352 +v 13.021791458129883 0.0045739999040961266 5.215579032897949 +v 13.021791458129883 0.0028540000785142183 5.215579032897949 +v 13.021791458129883 0.0028540000785142183 4.881856918334961 +v 13.021791458129883 0.0045739999040961266 5.215579032897949 +v 13.021791458129883 0.0028540000785142183 4.881856918334961 +v 13.021791458129883 0.0045739999040961266 4.881856918334961 +v 13.021791458129883 0.0045739999040961266 4.881856918334961 +v 13.021791458129883 0.0028540000785142183 4.881856918334961 +v 13.021791458129883 0.0028540000785142183 4.548134803771973 +v 13.021791458129883 0.0045739999040961266 4.881856918334961 +v 13.021791458129883 0.0028540000785142183 4.548134803771973 +v 13.021791458129883 0.0045739999040961266 4.548134803771973 +v 11.776678085327148 0.0045739999040961266 5.215579032897949 +v 11.776678085327148 0.0045739999040961266 4.881856918334961 +v 11.363393783569336 0.0045739999040961266 4.881856918334961 +v 11.776678085327148 0.0045739999040961266 5.215579032897949 +v 11.363393783569336 0.0045739999040961266 4.881856918334961 +v 11.363393783569336 0.0045739999040961266 5.215579032897949 +v 11.776678085327148 0.0045739999040961266 4.881856918334961 +v 11.776678085327148 0.0045739999040961266 4.548134803771973 +v 11.363393783569336 0.0045739999040961266 4.548134803771973 +v 11.776678085327148 0.0045739999040961266 4.881856918334961 +v 11.363393783569336 0.0045739999040961266 4.548134803771973 +v 11.363393783569336 0.0045739999040961266 4.881856918334961 +v 11.776678085327148 0.0045739999040961266 4.548134803771973 +v 11.776678085327148 0.0045739999040961266 4.214410781860352 +v 11.363393783569336 0.0045739999040961266 4.214410781860352 +v 11.776678085327148 0.0045739999040961266 4.548134803771973 +v 11.363393783569336 0.0045739999040961266 4.214410781860352 +v 11.363393783569336 0.0045739999040961266 4.548134803771973 +v 11.363393783569336 0.0045739999040961266 3.2132439613342285 +v 11.363393783569336 0.0045739999040961266 3.546967029571533 +v 11.776677131652832 0.0045739999040961266 3.546967029571533 +v 11.363393783569336 0.0045739999040961266 3.2132439613342285 +v 11.776677131652832 0.0045739999040961266 3.546967029571533 +v 11.776677131652832 0.0045739999040961266 3.2132439613342285 +v 11.363393783569336 0.0045739999040961266 3.546967029571533 +v 11.363393783569336 0.0045739999040961266 3.8806889057159424 +v 11.776678085327148 0.0045739999040961266 3.8806889057159424 +v 11.363393783569336 0.0045739999040961266 3.546967029571533 +v 11.776678085327148 0.0045739999040961266 3.8806889057159424 +v 11.776677131652832 0.0045739999040961266 3.546967029571533 +v 13.021791458129883 0.0045739999040961266 3.2132439613342285 +v 13.021791458129883 0.0028540000785142183 3.2132439613342285 +v 12.608508110046387 0.0028540000785142183 3.2132439613342285 +v 13.021791458129883 0.0045739999040961266 3.2132439613342285 +v 12.608508110046387 0.0028540000785142183 3.2132439613342285 +v 12.60850715637207 0.0045739999040961266 3.2132439613342285 +v 12.60850715637207 0.0045739999040961266 3.2132439613342285 +v 12.608508110046387 0.0028540000785142183 3.2132439613342285 +v 12.189961433410645 0.0028540000785142183 3.2132439613342285 +v 12.60850715637207 0.0045739999040961266 3.2132439613342285 +v 12.189961433410645 0.0028540000785142183 3.2132439613342285 +v 12.189961433410645 0.0045739999040961266 3.2132439613342285 +v 12.189961433410645 0.0045739999040961266 3.2132439613342285 +v 12.189961433410645 0.0028540000785142183 3.2132439613342285 +v 11.776677131652832 0.0028540000785142183 3.2132439613342285 +v 12.189961433410645 0.0045739999040961266 3.2132439613342285 +v 11.776677131652832 0.0028540000785142183 3.2132439613342285 +v 11.776677131652832 0.0045739999040961266 3.2132439613342285 +v 10.114896774291992 0.0028540000785142183 3.2132439613342285 +v 10.114896774291992 0.0045739999040961266 3.2132439613342285 +v 10.536825180053711 0.0045739999040961266 3.2132439613342285 +v 10.114896774291992 0.0028540000785142183 3.2132439613342285 +v 10.536825180053711 0.0045739999040961266 3.2132439613342285 +v 10.536827087402344 0.0028540000785142183 3.2132439613342285 +v 10.536827087402344 0.0028540000785142183 3.2132439613342285 +v 10.536825180053711 0.0045739999040961266 3.2132439613342285 +v 10.950108528137207 0.0045739999040961266 3.2132439613342285 +v 10.536827087402344 0.0028540000785142183 3.2132439613342285 +v 10.950108528137207 0.0045739999040961266 3.2132439613342285 +v 10.950108528137207 0.0028540000785142183 3.2132439613342285 +v 10.950108528137207 0.0028540000785142183 3.2132439613342285 +v 10.950108528137207 0.0045739999040961266 3.2132439613342285 +v 11.363393783569336 0.0045739999040961266 3.2132439613342285 +v 10.950108528137207 0.0028540000785142183 3.2132439613342285 +v 11.363393783569336 0.0045739999040961266 3.2132439613342285 +v 11.363393783569336 0.0028540000785142183 3.2132439613342285 +v 13.021791458129883 0.0045739999040961266 4.214410781860352 +v 13.021791458129883 0.0045739999040961266 3.8806889057159424 +v 12.608508110046387 0.0045739999040961266 3.8806889057159424 +v 13.021791458129883 0.0045739999040961266 4.214410781860352 +v 12.608508110046387 0.0045739999040961266 3.8806889057159424 +v 12.60850715637207 0.0045739999040961266 4.214410781860352 +v 12.60850715637207 0.0045739999040961266 4.214410781860352 +v 12.608508110046387 0.0045739999040961266 3.8806889057159424 +v 12.189961433410645 0.0045739999040961266 3.8806889057159424 +v 12.60850715637207 0.0045739999040961266 4.214410781860352 +v 12.189961433410645 0.0045739999040961266 3.8806889057159424 +v 12.189961433410645 0.0045739999040961266 4.214410781860352 +v 12.189961433410645 0.0045739999040961266 4.214410781860352 +v 12.189961433410645 0.0045739999040961266 3.8806889057159424 +v 11.776678085327148 0.0045739999040961266 3.8806889057159424 +v 12.189961433410645 0.0045739999040961266 4.214410781860352 +v 11.776678085327148 0.0045739999040961266 3.8806889057159424 +v 11.776678085327148 0.0045739999040961266 4.214410781860352 +v 10.114896774291992 0.0045739999040961266 3.8806889057159424 +v 10.114896774291992 0.0045739999040961266 4.214410781860352 +v 10.536827087402344 0.0045739999040961266 4.214410781860352 +v 10.114896774291992 0.0045739999040961266 3.8806889057159424 +v 10.536827087402344 0.0045739999040961266 4.214410781860352 +v 10.536827087402344 0.0045739999040961266 3.8806889057159424 +v 10.536827087402344 0.0045739999040961266 3.8806889057159424 +v 10.536827087402344 0.0045739999040961266 4.214410781860352 +v 10.950108528137207 0.0045739999040961266 4.214410781860352 +v 10.536827087402344 0.0045739999040961266 3.8806889057159424 +v 10.950108528137207 0.0045739999040961266 4.214410781860352 +v 10.950108528137207 0.0045739999040961266 3.8806889057159424 +v 10.950108528137207 0.0045739999040961266 3.8806889057159424 +v 10.950108528137207 0.0045739999040961266 4.214410781860352 +v 11.363393783569336 0.0045739999040961266 4.214410781860352 +v 10.950108528137207 0.0045739999040961266 3.8806889057159424 +v 11.363393783569336 0.0045739999040961266 4.214410781860352 +v 11.363393783569336 0.0045739999040961266 3.8806889057159424 +v 13.021791458129883 0.0028540000785142183 5.215579032897949 +v 13.021791458129883 0.0045739999040961266 5.215579032897949 +v 12.60850715637207 0.0045739999040961266 5.215579032897949 +v 13.021791458129883 0.0028540000785142183 5.215579032897949 +v 12.60850715637207 0.0045739999040961266 5.215579032897949 +v 12.60850715637207 0.0028540000785142183 5.215579032897949 +v 12.60850715637207 0.0028540000785142183 5.215579032897949 +v 12.60850715637207 0.0045739999040961266 5.215579032897949 +v 12.189961433410645 0.0045739999040961266 5.215579032897949 +v 12.60850715637207 0.0028540000785142183 5.215579032897949 +v 12.189961433410645 0.0045739999040961266 5.215579032897949 +v 12.189961433410645 0.0028540000785142183 5.215579032897949 +v 12.189961433410645 0.0028540000785142183 5.215579032897949 +v 12.189961433410645 0.0045739999040961266 5.215579032897949 +v 11.776678085327148 0.0045739999040961266 5.215579032897949 +v 12.189961433410645 0.0028540000785142183 5.215579032897949 +v 11.776678085327148 0.0045739999040961266 5.215579032897949 +v 11.776678085327148 0.0028540000785142183 5.215579032897949 +v 10.114896774291992 0.0045739999040961266 5.215579032897949 +v 10.114896774291992 0.0028540000785142183 5.215579032897949 +v 10.536827087402344 0.0028540000785142183 5.215579986572266 +v 10.114896774291992 0.0045739999040961266 5.215579032897949 +v 10.536827087402344 0.0028540000785142183 5.215579986572266 +v 10.536827087402344 0.0045739999040961266 5.215579986572266 +v 10.536827087402344 0.0045739999040961266 5.215579986572266 +v 10.536827087402344 0.0028540000785142183 5.215579986572266 +v 10.950108528137207 0.0028540000785142183 5.215579986572266 +v 10.536827087402344 0.0045739999040961266 5.215579986572266 +v 10.950108528137207 0.0028540000785142183 5.215579986572266 +v 10.950108528137207 0.0045739999040961266 5.215579986572266 +v 10.950108528137207 0.0045739999040961266 5.215579986572266 +v 10.950108528137207 0.0028540000785142183 5.215579986572266 +v 11.363393783569336 0.0028540000785142183 5.215579032897949 +v 10.950108528137207 0.0045739999040961266 5.215579986572266 +v 11.363393783569336 0.0028540000785142183 5.215579032897949 +v 11.363393783569336 0.0045739999040961266 5.215579032897949 +v 13.021791458129883 0.0045739999040961266 5.215579032897949 +v 13.021791458129883 0.0045739999040961266 4.881856918334961 +v 12.60850715637207 0.0045739999040961266 4.881856918334961 +v 13.021791458129883 0.0045739999040961266 5.215579032897949 +v 12.60850715637207 0.0045739999040961266 4.881856918334961 +v 12.60850715637207 0.0045739999040961266 5.215579032897949 +v 12.60850715637207 0.0045739999040961266 5.215579032897949 +v 12.60850715637207 0.0045739999040961266 4.881856918334961 +v 12.189961433410645 0.0045739999040961266 4.881856918334961 +v 12.60850715637207 0.0045739999040961266 5.215579032897949 +v 12.189961433410645 0.0045739999040961266 4.881856918334961 +v 12.189961433410645 0.0045739999040961266 5.215579032897949 +v 12.189961433410645 0.0045739999040961266 5.215579032897949 +v 12.189961433410645 0.0045739999040961266 4.881856918334961 +v 11.776678085327148 0.0045739999040961266 4.881856918334961 +v 12.189961433410645 0.0045739999040961266 5.215579032897949 +v 11.776678085327148 0.0045739999040961266 4.881856918334961 +v 11.776678085327148 0.0045739999040961266 5.215579032897949 +v 10.114896774291992 0.0045739999040961266 4.881856918334961 +v 10.114896774291992 0.0045739999040961266 5.215579032897949 +v 10.536827087402344 0.0045739999040961266 5.215579986572266 +v 10.114896774291992 0.0045739999040961266 4.881856918334961 +v 10.536827087402344 0.0045739999040961266 5.215579986572266 +v 10.536827087402344 0.0045739999040961266 4.881856918334961 +v 10.536827087402344 0.0045739999040961266 4.881856918334961 +v 10.536827087402344 0.0045739999040961266 5.215579986572266 +v 10.950108528137207 0.0045739999040961266 5.215579986572266 +v 10.536827087402344 0.0045739999040961266 4.881856918334961 +v 10.950108528137207 0.0045739999040961266 5.215579986572266 +v 10.950108528137207 0.0045739999040961266 4.881856918334961 +v 10.950108528137207 0.0045739999040961266 4.881856918334961 +v 10.950108528137207 0.0045739999040961266 5.215579986572266 +v 11.363393783569336 0.0045739999040961266 5.215579032897949 +v 10.950108528137207 0.0045739999040961266 4.881856918334961 +v 11.363393783569336 0.0045739999040961266 5.215579032897949 +v 11.363393783569336 0.0045739999040961266 4.881856918334961 +v 13.021791458129883 0.0045739999040961266 4.881856918334961 +v 13.021791458129883 0.0045739999040961266 4.548134803771973 +v 12.60850715637207 0.0045739999040961266 4.548134803771973 +v 13.021791458129883 0.0045739999040961266 4.881856918334961 +v 12.60850715637207 0.0045739999040961266 4.548134803771973 +v 12.60850715637207 0.0045739999040961266 4.881856918334961 +v 12.60850715637207 0.0045739999040961266 4.881856918334961 +v 12.60850715637207 0.0045739999040961266 4.548134803771973 +v 12.189961433410645 0.0045739999040961266 4.548134803771973 +v 12.60850715637207 0.0045739999040961266 4.881856918334961 +v 12.189961433410645 0.0045739999040961266 4.548134803771973 +v 12.189961433410645 0.0045739999040961266 4.881856918334961 +v 12.189961433410645 0.0045739999040961266 4.881856918334961 +v 12.189961433410645 0.0045739999040961266 4.548134803771973 +v 11.776678085327148 0.0045739999040961266 4.548134803771973 +v 12.189961433410645 0.0045739999040961266 4.881856918334961 +v 11.776678085327148 0.0045739999040961266 4.548134803771973 +v 11.776678085327148 0.0045739999040961266 4.881856918334961 +v 10.114896774291992 0.0045739999040961266 4.548134803771973 +v 10.114896774291992 0.0045739999040961266 4.881856918334961 +v 10.536827087402344 0.0045739999040961266 4.881856918334961 +v 10.114896774291992 0.0045739999040961266 4.548134803771973 +v 10.536827087402344 0.0045739999040961266 4.881856918334961 +v 10.536827087402344 0.0045739999040961266 4.548134803771973 +v 10.536827087402344 0.0045739999040961266 4.548134803771973 +v 10.536827087402344 0.0045739999040961266 4.881856918334961 +v 10.950108528137207 0.0045739999040961266 4.881856918334961 +v 10.536827087402344 0.0045739999040961266 4.548134803771973 +v 10.950108528137207 0.0045739999040961266 4.881856918334961 +v 10.950108528137207 0.0045739999040961266 4.548134803771973 +v 10.950108528137207 0.0045739999040961266 4.548134803771973 +v 10.950108528137207 0.0045739999040961266 4.881856918334961 +v 11.363393783569336 0.0045739999040961266 4.881856918334961 +v 10.950108528137207 0.0045739999040961266 4.548134803771973 +v 11.363393783569336 0.0045739999040961266 4.881856918334961 +v 11.363393783569336 0.0045739999040961266 4.548134803771973 +v 13.021791458129883 0.0045739999040961266 4.548134803771973 +v 13.021791458129883 0.0045739999040961266 4.214410781860352 +v 12.60850715637207 0.0045739999040961266 4.214410781860352 +v 13.021791458129883 0.0045739999040961266 4.548134803771973 +v 12.60850715637207 0.0045739999040961266 4.214410781860352 +v 12.60850715637207 0.0045739999040961266 4.548134803771973 +v 12.60850715637207 0.0045739999040961266 4.548134803771973 +v 12.60850715637207 0.0045739999040961266 4.214410781860352 +v 12.189961433410645 0.0045739999040961266 4.214410781860352 +v 12.60850715637207 0.0045739999040961266 4.548134803771973 +v 12.189961433410645 0.0045739999040961266 4.214410781860352 +v 12.189961433410645 0.0045739999040961266 4.548134803771973 +v 12.189961433410645 0.0045739999040961266 4.548134803771973 +v 12.189961433410645 0.0045739999040961266 4.214410781860352 +v 11.776678085327148 0.0045739999040961266 4.214410781860352 +v 12.189961433410645 0.0045739999040961266 4.548134803771973 +v 11.776678085327148 0.0045739999040961266 4.214410781860352 +v 11.776678085327148 0.0045739999040961266 4.548134803771973 +v 10.114896774291992 0.0045739999040961266 4.214410781860352 +v 10.114896774291992 0.0045739999040961266 4.548134803771973 +v 10.536827087402344 0.0045739999040961266 4.548134803771973 +v 10.114896774291992 0.0045739999040961266 4.214410781860352 +v 10.536827087402344 0.0045739999040961266 4.548134803771973 +v 10.536827087402344 0.0045739999040961266 4.214410781860352 +v 10.536827087402344 0.0045739999040961266 4.214410781860352 +v 10.536827087402344 0.0045739999040961266 4.548134803771973 +v 10.950108528137207 0.0045739999040961266 4.548134803771973 +v 10.536827087402344 0.0045739999040961266 4.214410781860352 +v 10.950108528137207 0.0045739999040961266 4.548134803771973 +v 10.950108528137207 0.0045739999040961266 4.214410781860352 +v 10.950108528137207 0.0045739999040961266 4.214410781860352 +v 10.950108528137207 0.0045739999040961266 4.548134803771973 +v 11.363393783569336 0.0045739999040961266 4.548134803771973 +v 10.950108528137207 0.0045739999040961266 4.214410781860352 +v 11.363393783569336 0.0045739999040961266 4.548134803771973 +v 11.363393783569336 0.0045739999040961266 4.214410781860352 +v 10.114896774291992 0.0045739999040961266 3.2132439613342285 +v 10.114896774291992 0.0045739999040961266 3.546967029571533 +v 10.536827087402344 0.0045739999040961266 3.546967029571533 +v 10.114896774291992 0.0045739999040961266 3.2132439613342285 +v 10.536827087402344 0.0045739999040961266 3.546967029571533 +v 10.536825180053711 0.0045739999040961266 3.2132439613342285 +v 10.536825180053711 0.0045739999040961266 3.2132439613342285 +v 10.536827087402344 0.0045739999040961266 3.546967029571533 +v 10.950108528137207 0.0045739999040961266 3.546967029571533 +v 10.536825180053711 0.0045739999040961266 3.2132439613342285 +v 10.950108528137207 0.0045739999040961266 3.546967029571533 +v 10.950108528137207 0.0045739999040961266 3.2132439613342285 +v 10.950108528137207 0.0045739999040961266 3.2132439613342285 +v 10.950108528137207 0.0045739999040961266 3.546967029571533 +v 11.363393783569336 0.0045739999040961266 3.546967029571533 +v 10.950108528137207 0.0045739999040961266 3.2132439613342285 +v 11.363393783569336 0.0045739999040961266 3.546967029571533 +v 11.363393783569336 0.0045739999040961266 3.2132439613342285 +v 13.021791458129883 0.0045739999040961266 3.546967029571533 +v 13.021791458129883 0.0045739999040961266 3.2132439613342285 +v 12.60850715637207 0.0045739999040961266 3.2132439613342285 +v 13.021791458129883 0.0045739999040961266 3.546967029571533 +v 12.60850715637207 0.0045739999040961266 3.2132439613342285 +v 12.608508110046387 0.0045739999040961266 3.546967029571533 +v 12.608508110046387 0.0045739999040961266 3.546967029571533 +v 12.60850715637207 0.0045739999040961266 3.2132439613342285 +v 12.189961433410645 0.0045739999040961266 3.2132439613342285 +v 12.608508110046387 0.0045739999040961266 3.546967029571533 +v 12.189961433410645 0.0045739999040961266 3.2132439613342285 +v 12.189961433410645 0.0045739999040961266 3.546967029571533 +v 12.189961433410645 0.0045739999040961266 3.546967029571533 +v 12.189961433410645 0.0045739999040961266 3.2132439613342285 +v 11.776677131652832 0.0045739999040961266 3.2132439613342285 +v 12.189961433410645 0.0045739999040961266 3.546967029571533 +v 11.776677131652832 0.0045739999040961266 3.2132439613342285 +v 11.776677131652832 0.0045739999040961266 3.546967029571533 +v 10.114896774291992 0.0045739999040961266 3.546967029571533 +v 10.114896774291992 0.0045739999040961266 3.8806889057159424 +v 10.536827087402344 0.0045739999040961266 3.8806889057159424 +v 10.114896774291992 0.0045739999040961266 3.546967029571533 +v 10.536827087402344 0.0045739999040961266 3.8806889057159424 +v 10.536827087402344 0.0045739999040961266 3.546967029571533 +v 10.536827087402344 0.0045739999040961266 3.546967029571533 +v 10.536827087402344 0.0045739999040961266 3.8806889057159424 +v 10.950108528137207 0.0045739999040961266 3.8806889057159424 +v 10.536827087402344 0.0045739999040961266 3.546967029571533 +v 10.950108528137207 0.0045739999040961266 3.8806889057159424 +v 10.950108528137207 0.0045739999040961266 3.546967029571533 +v 10.950108528137207 0.0045739999040961266 3.546967029571533 +v 10.950108528137207 0.0045739999040961266 3.8806889057159424 +v 11.363393783569336 0.0045739999040961266 3.8806889057159424 +v 10.950108528137207 0.0045739999040961266 3.546967029571533 +v 11.363393783569336 0.0045739999040961266 3.8806889057159424 +v 11.363393783569336 0.0045739999040961266 3.546967029571533 +v 13.021791458129883 0.0045739999040961266 3.8806889057159424 +v 13.021791458129883 0.0045739999040961266 3.546967029571533 +v 12.608508110046387 0.0045739999040961266 3.546967029571533 +v 13.021791458129883 0.0045739999040961266 3.8806889057159424 +v 12.608508110046387 0.0045739999040961266 3.546967029571533 +v 12.608508110046387 0.0045739999040961266 3.8806889057159424 +v 12.608508110046387 0.0045739999040961266 3.8806889057159424 +v 12.608508110046387 0.0045739999040961266 3.546967029571533 +v 12.189961433410645 0.0045739999040961266 3.546967029571533 +v 12.608508110046387 0.0045739999040961266 3.8806889057159424 +v 12.189961433410645 0.0045739999040961266 3.546967029571533 +v 12.189961433410645 0.0045739999040961266 3.8806889057159424 +v 12.189961433410645 0.0045739999040961266 3.8806889057159424 +v 12.189961433410645 0.0045739999040961266 3.546967029571533 +v 11.776677131652832 0.0045739999040961266 3.546967029571533 +v 12.189961433410645 0.0045739999040961266 3.8806889057159424 +v 11.776677131652832 0.0045739999040961266 3.546967029571533 +v 11.776678085327148 0.0045739999040961266 3.8806889057159424 +v 14.025032043457031 0.0063749998807907104 5.408486843109131 +v 14.025032043457031 0.0063760001212358475 0.7422450184822083 +v 7.51373291015625 0.00647599995136261 0.7569500207901001 +v 13.331209182739258 0.00647599995136261 0.7569500207901001 +v 13.331209182739258 0.00647599995136261 0.7569500207901001 +v 13.331209182739258 0.006477000191807747 0.24776600301265717 +v 13.331209182739258 0.006477000191807747 0.24776600301265717 +v 7.51373291015625 0.006477000191807747 0.24776600301265717 +v 13.822495460510254 0.0063760001212358475 0.7422450184822083 +v 13.822495460510254 0.0063749998807907104 5.408487796783447 +l 1 2 +l 3 4 +l 5 6 +l 7 8 +l 9 10 +l 11 12 +l 13 14 +l 15 16 +l 17 18 +l 19 20 +l 21 22 +l 23 24 +l 25 26 +l 27 28 +l 29 30 +l 31 32 +l 33 34 +l 35 36 +l 37 38 +l 39 40 +l 41 42 +l 43 44 +l 45 46 +l 47 48 +l 49 50 +l 51 52 +l 53 54 +l 55 56 +l 57 58 +l 59 60 +l 61 62 +l 63 64 +l 65 66 +l 67 68 +l 69 70 +l 71 72 +l 73 74 +l 75 76 +l 77 78 +l 79 80 +l 81 82 +l 83 84 +l 85 86 +l 87 88 +l 89 90 +l 91 92 +l 93 94 +l 95 96 +l 97 98 +l 99 100 +l 101 102 +l 103 104 +l 105 106 +l 107 108 +l 109 110 +l 111 112 +l 113 114 +l 115 116 +l 117 118 +l 119 120 +l 121 122 +l 123 124 +l 125 126 +l 127 128 +l 129 130 +l 131 132 +l 133 134 +l 135 136 +l 137 138 +l 139 140 +l 141 142 +l 143 144 +l 145 146 +l 147 148 +l 149 150 +l 151 152 +l 153 154 +l 155 156 +l 157 158 +l 159 160 +l 161 162 +l 163 164 +l 165 166 +l 167 168 +l 169 170 +l 171 172 +l 173 174 +l 175 176 +l 177 178 +l 179 180 +l 181 182 +l 183 184 +l 185 186 +l 187 188 +l 189 190 +l 191 192 +l 193 194 +l 195 196 +l 197 198 +l 199 200 +l 201 202 +l 203 204 +l 205 206 +l 207 208 +l 209 210 +l 211 212 +l 213 214 +l 215 216 +l 217 218 +l 219 220 +l 221 222 +l 223 224 +l 225 226 +l 227 228 +l 229 230 +l 231 232 +l 233 234 +l 235 236 +l 237 238 +l 239 240 +l 241 242 +l 243 244 +l 245 246 +l 247 248 +l 249 250 +l 251 252 +l 253 254 +l 255 256 +l 257 258 +l 259 260 +l 261 262 +l 263 264 +l 265 266 +l 267 268 +l 269 270 +l 271 272 +l 273 274 +l 275 276 +l 277 278 +l 279 280 +l 281 282 +l 283 284 +l 285 286 +l 287 288 +l 289 290 +l 291 292 +l 293 294 +l 295 296 +l 297 298 +l 299 300 +l 301 302 +l 303 304 +l 305 306 +l 307 308 +l 309 310 +l 311 312 +l 313 314 +l 315 316 +l 317 318 +l 319 320 +l 321 322 +l 323 324 +l 325 326 +l 327 328 +l 329 330 +l 331 332 +l 333 334 +l 335 336 +l 337 338 +l 339 340 +l 341 342 +l 343 344 +l 345 346 +l 347 348 +l 349 350 +l 351 352 +l 353 354 +l 355 356 +l 357 358 +l 359 360 +l 361 362 +l 363 364 +l 365 366 +l 367 368 +l 369 370 +l 371 372 +l 373 374 +l 375 376 +l 377 378 +l 379 380 +l 381 382 +l 383 384 +l 385 386 +l 387 388 +l 389 390 +l 391 392 +l 393 394 +l 395 396 +l 397 398 +l 399 400 +l 401 402 +l 403 404 +l 405 406 +l 407 408 +l 409 410 +l 411 412 +l 413 414 +l 415 416 +l 417 418 +l 419 420 +l 421 422 +l 423 424 +l 425 426 +l 427 428 +l 429 430 +l 431 432 +l 433 434 +l 435 436 +l 437 438 +l 439 440 +l 441 442 +l 443 444 +l 445 446 +l 447 448 +l 449 450 +l 451 452 +l 453 454 +l 455 456 +l 457 458 +l 459 460 +l 461 462 +l 463 464 +l 465 466 +l 467 468 +l 469 470 +l 471 472 +l 473 474 +l 475 476 +l 477 478 +l 479 480 +l 481 482 +l 483 484 diff --git a/testdata/test_wrong_attribute_mapping.obj b/testdata/test_wrong_attribute_mapping.obj new file mode 100644 index 00000000..de6b5d6f --- /dev/null +++ b/testdata/test_wrong_attribute_mapping.obj @@ -0,0 +1,4 @@ +v -2123.6666666666665 4247.3333333333285 -2123.6662124922086 +v -2123.6666666666665 4057.111265328756 -578.4722681813771 +v -578.4721995601915 4057.1112017592336 -2123.6661341002864 +f 1//1 2//2 3//3 diff --git a/unity/DracoDecodingObject.cs b/unity/DracoDecodingObject.cs new file mode 100644 index 00000000..45561ea8 --- /dev/null +++ b/unity/DracoDecodingObject.cs @@ -0,0 +1,45 @@ +// Copyright 2017 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +using System; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEngine; + +public class DracoDecodingObject : MonoBehaviour { + + // This function will be used when the GameObject is initialized. + void Start() { + + // If the original mesh exceeds the limit of number of verices, the + // loader will split it to a list of smaller meshes. + List mesh = new List(); + DracoMeshLoader dracoLoader = new DracoMeshLoader(); + /* + * Here we use the compressed Bunny model as example. + * It's in unity/Resources/bunny.drc.bytes. + * Please see README.md for details. + */ + int numFaces = dracoLoader.LoadMeshFromAsset("bunny", ref mesh); + + /* Note: You need to add MeshFilter (and MeshRenderer) to your GameObject. + * Or you can do something like the following in script: + * AddComponent(); + */ + if (numFaces > 0) { + GetComponent().mesh = mesh[0]; + } + } +} diff --git a/unity/DracoMeshLoader.cs b/unity/DracoMeshLoader.cs new file mode 100644 index 00000000..e597565e --- /dev/null +++ b/unity/DracoMeshLoader.cs @@ -0,0 +1,211 @@ +// Copyright 2017 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +using System; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEngine; + +public unsafe class DracoMeshLoader { + // Must stay the order to be consistent with C++ interface. + [StructLayout(LayoutKind.Sequential)] private struct DracoToUnityMesh { + public int numFaces; + public IntPtr indices; + public int numVertices; + public IntPtr position; + // TODO(zhafang): Add other attributes. + // public int numNormal; + public float[] normal; + // public int numColor; + public float[] color; + public float[] texcoord; + } + + private struct DecodedMesh { + public int[] faces; + public Vector3[] vertices; + } + + [DllImport("dracodec_unity")] private static extern int DecodeMeshForUnity( + byte[] buffer, int length, DracoToUnityMesh **tmpMesh); + + static private int maxNumVerticesPerMesh = 60000; + + // Unity only support maximum 65534 vertices per mesh. So large meshes need + // to be splitted. + private void SplitMesh(DecodedMesh mesh, ref List splittedMeshes) { + List facesLeft = new List(); + for (int i = 0; i < mesh.faces.Length; ++i) { + facesLeft.Add(mesh.faces[i]); + } + int numSubMeshes = 0; + + List newCorners = new List(); + Dictionary indexToNewIndex = new Dictionary(); + List tmpLeftFaces = new List(); + List facesExtracted = new List(); + List verticesExtracted = new List(); + + while (facesLeft.Count > 0) { + Debug.Log("Faces left: " + facesLeft.Count.ToString()); + numSubMeshes++; + tmpLeftFaces.Clear(); + facesExtracted.Clear(); + verticesExtracted.Clear(); + + int uniqueCornerId = 0; + indexToNewIndex.Clear(); + for (int face = 0; face < facesLeft.Count / 3; ++face) { + newCorners.Clear(); + // If all indices has appeared or there's still space for more vertices. + for (int corner = 0; corner < 3; ++corner) { + if (!indexToNewIndex.ContainsKey(facesLeft[face * 3 + corner])) { + newCorners.Add(facesLeft[face * 3 + corner]); + } + } + if (newCorners.Count + uniqueCornerId > maxNumVerticesPerMesh) { + // Save face for the next sub-mesh. + for (int corner = 0; corner < 3; ++corner) { + tmpLeftFaces.Add(facesLeft[face * 3 + corner]); + } + } else { + // Add new corners. + for (int i = 0; i < newCorners.Count; ++i) { + indexToNewIndex.Add(newCorners[i], uniqueCornerId); + verticesExtracted.Add(mesh.vertices[newCorners[i]]); + uniqueCornerId++; + } + // Add face to this sub-mesh. + for (int corner = 0; corner < 3; ++corner) { + facesExtracted.Add( + indexToNewIndex[facesLeft[face * 3 + corner]]); + } + } + } + + DecodedMesh subMesh = new DecodedMesh(); + subMesh.faces = facesExtracted.ToArray(); + subMesh.vertices = verticesExtracted.ToArray(); + splittedMeshes.Add(subMesh); + + facesLeft = tmpLeftFaces; + } + } + + private float ReadFloatFromIntPtr(IntPtr data, int offset) { + byte[] byteArray = new byte[4]; + for (int j = 0; j < 4; ++j) { + byteArray[j] = Marshal.ReadByte(data, offset + j); + } + return BitConverter.ToSingle(byteArray, 0); + } + + // TODO(zhafang): Add back LoadFromURL. + public int LoadMeshFromAsset(string assetName, ref List meshes) { + TextAsset asset = Resources.Load(assetName, typeof(TextAsset)) as TextAsset; + if (asset == null) { + Debug.Log("Didn't load file!"); + return -1; + } + byte[] encodedData = asset.bytes; + Debug.Log(encodedData.Length.ToString()); + if (encodedData.Length == 0) { + Debug.Log("Didn't load encoded data!"); + return -1; + } + return DecodeMesh(encodedData, ref meshes); + } + + public unsafe int DecodeMesh(byte[] data, ref List meshes) { + DracoToUnityMesh *tmpMesh; + if (DecodeMeshForUnity(data, data.Length, &tmpMesh) <= 0) { + Debug.Log("Failed: Decoding error."); + return -1; + } + + Debug.Log("Num indices: " + tmpMesh -> numFaces.ToString()); + Debug.Log("Num vertices: " + tmpMesh -> numVertices.ToString()); + + int numFaces = tmpMesh -> numFaces; + int[] newTriangles = new int[tmpMesh -> numFaces * 3]; + for (int i = 0; i < tmpMesh -> numFaces; ++i) { + newTriangles[i * 3] = Marshal.ReadInt32(tmpMesh -> indices, i * 3 * 4); + newTriangles[i * 3 + 1] = + Marshal.ReadInt32(tmpMesh -> indices, i * 3 * 4 + 4); + newTriangles[i * 3 + 2] = + Marshal.ReadInt32(tmpMesh -> indices, i * 3 * 4 + 8); + } + + // For floating point numbers, there's no Marshal functions could directly + // read from the unmanaged data. + // TODO(zhafang): Find better way to read float numbers. + Vector3[] newVertices = new Vector3[tmpMesh -> numVertices]; + int byteStridePerValue = 4; + int numValuePerVertex = 3; + int byteStridePerVertex = byteStridePerValue * numValuePerVertex; + /* + * TODO(zhafang): Change to: + * float[] pos = new float[3]; + * for (int i = 0; i < tmpMesh -> numVertices; ++i) { + * Marshal.Copy(tmpMesh->position, pos, 3 * i, 3); + * for (int j = 0; j < 3; ++j) { + * newVertices[i][j] = pos[j]; + * } + * } + */ + for (int i = 0; i < tmpMesh -> numVertices; ++i) { + for (int j = 0; j < 3; ++j) { + newVertices[i][j] = + ReadFloatFromIntPtr( + tmpMesh -> position, + i * byteStridePerVertex + byteStridePerValue * j); + } + } + Marshal.FreeCoTaskMem(tmpMesh -> indices); + Marshal.FreeCoTaskMem(tmpMesh -> position); + Marshal.FreeCoTaskMem((IntPtr) tmpMesh); + + if (newVertices.Length > maxNumVerticesPerMesh) { + // Unity only support maximum 65534 vertices per mesh. So large meshes + // need to be splitted. + DecodedMesh decodedMesh = new DecodedMesh(); + decodedMesh.vertices = newVertices; + decodedMesh.faces = newTriangles; + List splittedMeshes = new List(); + + SplitMesh(decodedMesh, ref splittedMeshes); + for (int i = 0; i < splittedMeshes.Count; ++i) { + Mesh mesh = new Mesh(); + mesh.vertices = splittedMeshes[i].vertices; + mesh.triangles = splittedMeshes[i].faces; + + mesh.RecalculateBounds(); + mesh.RecalculateNormals(); + meshes.Add(mesh); + } + } else { + Mesh mesh = new Mesh(); + mesh.vertices = newVertices; + mesh.triangles = newTriangles; + + mesh.RecalculateBounds(); + mesh.RecalculateNormals(); + meshes.Add(mesh); + } + // TODO(zhafang): Resize mesh to the a proper scale. + + return numFaces; + } +} diff --git a/unity/Editor/DracoFileImporter.cs b/unity/Editor/DracoFileImporter.cs new file mode 100644 index 00000000..fc49f551 --- /dev/null +++ b/unity/Editor/DracoFileImporter.cs @@ -0,0 +1,70 @@ +// Copyright 2017 The Draco Authors. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEditor; +using UnityEngine; + +public class DracoFileImporter : AssetPostprocessor { + static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, + string[] movedAssets, string[] movedFromAssetPaths) { + foreach(string str in importedAssets) { + // Compressed file must be renamed to ".drc.bytes". + if (str.IndexOf(".drc.bytes") == -1) { + return; + } + + // If the original mesh exceeds the limit of number of verices, the + // loader will split it to a list of smaller meshes. + List meshes = new List(); + DracoMeshLoader dracoLoader = new DracoMeshLoader(); + + // The decoded mesh will be named without ".drc.bytes" + str.LastIndexOf('/'); + int length = str.Length - ".drc.bytes".Length - str.LastIndexOf('/') - 1; + string fileName = str.Substring(str.LastIndexOf('/') + 1, length); + + int numFaces = dracoLoader.LoadMeshFromAsset(fileName + ".drc", ref meshes); + if (numFaces > 0) { + // Create mesh assets. Combine the smaller meshes to a single asset. + // TODO: Figure out how to combine to an unseen object as .obj files. + AssetDatabase.CreateAsset (meshes [0], "Assets/Resources/" + fileName + ".asset"); + AssetDatabase.SaveAssets (); + for (int i = 1; i < meshes.Count; ++i) { + AssetDatabase.AddObjectToAsset(meshes [i], meshes [0]); + AssetDatabase.ImportAsset(AssetDatabase.GetAssetPath (meshes [i])); + } + + // Also create a Prefab for easy usage. + GameObject newAsset = new GameObject(); + newAsset.hideFlags = HideFlags.HideInHierarchy; + for (int i = 0; i < meshes.Count; ++i) { + GameObject subObject = new GameObject(); + subObject.hideFlags = HideFlags.HideInHierarchy; + subObject.AddComponent(); + subObject.AddComponent(); + subObject.GetComponent().mesh = + UnityEngine.Object.Instantiate(meshes[i]); + subObject.transform.parent = newAsset.transform; + } + PrefabUtility.CreatePrefab("Assets/Resources/" + fileName + ".prefab", newAsset); + } else { + // TODO: Throw exception? + Debug.Log("Error: Decodeing Draco file failed."); + } + } + } +} diff --git a/unity/Plugin/Android/arm64-v8a/libdracodec_unity.so b/unity/Plugin/Android/arm64-v8a/libdracodec_unity.so new file mode 100755 index 00000000..49821c74 Binary files /dev/null and b/unity/Plugin/Android/arm64-v8a/libdracodec_unity.so differ diff --git a/unity/Plugin/Android/armeabi-v7a/libdracodec_unity.so b/unity/Plugin/Android/armeabi-v7a/libdracodec_unity.so new file mode 100755 index 00000000..284ec685 Binary files /dev/null and b/unity/Plugin/Android/armeabi-v7a/libdracodec_unity.so differ diff --git a/unity/Plugin/dracodec_unity.bundle/Contents/Info.plist b/unity/Plugin/dracodec_unity.bundle/Contents/Info.plist new file mode 100644 index 00000000..192cfcc8 --- /dev/null +++ b/unity/Plugin/dracodec_unity.bundle/Contents/Info.plist @@ -0,0 +1,44 @@ + + + + + BuildMachineOSBuild + 16G29 + CFBundleDevelopmentRegion + English + CFBundleExecutable + dracodec_unity + CFBundleInfoDictionaryVersion + 6.0 + CFBundleLongVersionString + + CFBundlePackageType + APPL + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + + CSResourcesFileMapped + + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 8E3004b + DTPlatformVersion + GM + DTSDKBuild + 16E185 + DTSDKName + macosx10.12 + DTXcode + 0833 + DTXcodeBuild + 8E3004b + NSHumanReadableCopyright + + + diff --git a/unity/Plugin/dracodec_unity.bundle/Contents/MacOS/dracodec_unity b/unity/Plugin/dracodec_unity.bundle/Contents/MacOS/dracodec_unity new file mode 100755 index 00000000..7095d2c8 Binary files /dev/null and b/unity/Plugin/dracodec_unity.bundle/Contents/MacOS/dracodec_unity differ diff --git a/unity/Plugin/dracodec_unity.dll b/unity/Plugin/dracodec_unity.dll new file mode 100644 index 00000000..3a0458c0 Binary files /dev/null and b/unity/Plugin/dracodec_unity.dll differ diff --git a/unity/README.md b/unity/README.md new file mode 100644 index 00000000..2e21d444 --- /dev/null +++ b/unity/README.md @@ -0,0 +1,142 @@ +Description +=========== + +This folder contains resources for using Draco within Unity development. +Currently we support two types of usages: +* Import Draco compressed mesh as assets during design time. +* Load/decode Draco files in runtime. + +Prerequisite +============ + +To start, you need to have the Draco unity plugin. You can either use the +prebuilt libraries provided in this folder or build from source. +Note that the plugin library for different platforms has different file extension. + +| Platform | Library name | +| -------- | ------------ | +| Mac OS | dracodec_unity.bundle | +| Android | libdracodec_unity.so | +| Windows | dracodec_unity.dll | + +Prebuilt Library +---------------- + +We have built library for several platforms: + +| Platform | Tested Environment | +| -------- | ------------------ | +| .bundle | macOS Sierra + Xcode 8.3.3 | +| armeabi-v7a(.so) | Android 8.1.0 | +| .dll | Win10 + Visual Studio 2017 | + +Build From Source +----------------- +You can build the plugins on your own for OSX/Win/Android. Source code for the wrapper is here: [src/draco/unity/](../src/draco/unity). Following is detailed building instruction. + +Mac OS X +-------- +On Mac OS X, run the following command to generate Xcode projects. It is the same as building Draco but with the addition of `-DBUILD_UNITY_PLUGIN=ON` flag: + +~~~~~ bash +$ cmake path/to/draco -G Xcode -DBUILD_UNITY_PLUGIN=ON +~~~~~ + +Then open the project use Xcode and build. +You should be able to find the library under: + +~~~~ bash +path/to/build/Debug(or Release)/dracodec_unity.bundle +~~~~ + +Windows +------- +Similar to OS X build, you need to build Draco with the additional `-DBUILD_UNITY_PLUGIN=ON` flag, for example: + +~~~~~ bash +C:\Users\nobody> cmake path/to/draco -G "Visual Studio 14 2015" -DBUILD_UNITY_PLUGIN=ON +~~~~~ + +Or to generate 64-bit version: + +~~~~~ bash +C:\Users\nobody> cmake path/to/draco -G "Visual Studio 14 2015 Win64" -DBUILD_UNITY_PLUGIN=ON +~~~~~ + +Android +------- + +You should first follow the [Android Studio Project Integration](../README.md#android-studio-project-integration) to build Draco within an Android project. Then, to build the plugin for Unity, just add the following flag to build.gradle. + +~~~~ bash +cppFlags "-DBUILD_UNITY_PLUGIN" +~~~~ + +You should be able to find the plugin library under: + +~~~~ bash +path/to/your/project/build/intermediates/cmake/debug(or release)/obj/your_platform/libdracodec_unity.so +~~~~ + +Change file extension +--------------------- +Because Unity can not recognize un-native file extension, you need to change your compressed .drc file to .drc.bytes so that Unity will recognize it as binary file. For example, if you have file `bunny.drc` then change the file name to `bunny.drc.bytes`. + +Copy Library to Your Project +---------------------------- +Copy the plugin library to your Unity project in `Assets/Plugins/`. +For Android: + +~~~~ bash +cp path/to/your/libdracodec_unity.so path/to/your/Unity/Project/Assets/Plugins/Android/ +~~~~ + +For Mac: + +~~~~ bash +cp path/to/your/dracodec_unity.bundle path/to/your/Unity/Project/Assets/Plugins/ +~~~~ + +For Win: + +~~~~ bash +cp path/to/your/dracodec_unity.dll path/to/your/Unity/Project/Assets/Plugins/ +~~~~ + + +Copy Unity Script to Your Project +--------------------------------- +Copy the scripts in this folder to your project. +Copy wrapper: + +~~~~ bash +cp DracoMeshLoader.cs path/to/your/Unity/Project/Assets/ +~~~~ + +Copy extened AssetPostProcessor which enables loading (This file is only used for import Draco files): + +~~~~ bash +cp DracoFileImporter.cs path/to/your/Unity/Project/Assets/Editor/ +~~~~ + +--- + +Load Draco Assets in Runtime +============================ +For example, please see [DracoDecodingObject.cs](DracoDecodingObject.cs) for usage. To start, you can create an empty GameObject and attach this script to it. + +Enable Library in Script Debugging +---------------------------------- +If you have library for the platform you are working on, e.g. `dracodec_unity.bundle` for Mac or `dracodec_unity.dll` for Windows. You should be able to use the plugin in debugging mode. + +--- + +Import Compressed Draco Assets +============================== +In this section we will describe how to import Draco files (.drc) to Unity as +other 3D formats in design time, e.g. obj, fbx. +To note that importing Draco files doesn't mean the Unity project will export Draco files as models. It will not save space when exported to package. + +If you have followed the previous steps, you just need to copy your asset, e.g. `bunny.drc.bytes`, to `Your/Unity/Project/Assets/Resources`, the project will automatically load the file and add the models to the project. + +---